diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2019-05-16 14:40:32 +0200 |
---|---|---|
committer | Corinna Vinschen <corinna@vinschen.de> | 2019-06-03 10:20:15 +0200 |
commit | 66e75b696133e889f514415a259d8d8d56f35d16 (patch) | |
tree | 3ff9f4edcc091c1d328d08c260abf8b5e75c6583 | |
parent | d79aa0f5939be2640b90971d022b98054b86d249 (diff) | |
download | newlib-66e75b696133e889f514415a259d8d8d56f35d16.zip newlib-66e75b696133e889f514415a259d8d8d56f35d16.tar.gz newlib-66e75b696133e889f514415a259d8d8d56f35d16.tar.bz2 |
Avoid cyclic header dependencies
RTEMS uses a considerable part of FreeBSD kernel and user space sources.
These sources are compiled with a __FreeBSD__ define. On 2018-06-26
Gerald Pfeifer changed the GCC provided <stddef.h> so that it includes
<sys/_types.h> if __FreeBSD__ is defined. The Newlib <sys/_types.h>
included <sys/lock.h> which includes <sys/cdefs.h> on RTEMS which
includes <stddef.h>. To get rid of this cyclic dependency move the
optional _flock_t definition to <sys/reent.h>.
Signed-off-by: Sebastian Huber <sebastian.huber@embedded-brains.de>
-rw-r--r-- | newlib/libc/include/sys/_types.h | 5 | ||||
-rw-r--r-- | newlib/libc/include/sys/reent.h | 5 |
2 files changed, 5 insertions, 5 deletions
diff --git a/newlib/libc/include/sys/_types.h b/newlib/libc/include/sys/_types.h index fc10531..90383b0 100644 --- a/newlib/libc/include/sys/_types.h +++ b/newlib/libc/include/sys/_types.h @@ -22,7 +22,6 @@ #include <newlib.h> #include <sys/config.h> #include <machine/_types.h> -#include <sys/lock.h> #ifndef __machine_blkcnt_t_defined typedef long __blkcnt_t; @@ -171,10 +170,6 @@ typedef struct } _mbstate_t; #endif -#ifndef __machine_flock_t_defined -typedef _LOCK_RECURSIVE_T _flock_t; -#endif - #ifndef __machine_iconv_t_defined /* Iconv descriptor type */ typedef void *_iconv_t; diff --git a/newlib/libc/include/sys/reent.h b/newlib/libc/include/sys/reent.h index 6e55e1c..7f8124d 100644 --- a/newlib/libc/include/sys/reent.h +++ b/newlib/libc/include/sys/reent.h @@ -30,6 +30,11 @@ typedef unsigned __Long __ULong; #include <sys/types.h> #endif +#ifndef __machine_flock_t_defined +#include <sys/lock.h> +typedef _LOCK_RECURSIVE_T _flock_t; +#endif + #ifndef __Long #define __Long __int32_t typedef __uint32_t __ULong; |