[PATCH v2 1/3] Avoid cyclic header dependencies
Sebastian Huber <[email protected]>
| Newsgroups | gmane.comp.lib.newlib |
|---|---|
| Message-ID | <[email protected]> |
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 <[email protected]> --- newlib/libc/include/sys/_types.h | 5 ----- 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 fc10531d5..90383b083 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 6e55e1c1f..7f8124deb 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; -- 2.16.4