diff options
author | Thomas Preud'homme <thomas.preudhomme@arm.com> | 2017-06-15 14:09:39 +0100 |
---|---|---|
committer | Corinna Vinschen <corinna@vinschen.de> | 2017-06-19 13:00:05 +0200 |
commit | 0c081aa62c08c6a00bbacf629e2232dfdd8ba24d (patch) | |
tree | ad22be5d91e4ba813d8831ee5e7d3fc1577c46ad | |
parent | 14ea06212bc7e585024c80b6084455559da3d22f (diff) | |
download | cygnal-0c081aa62c08c6a00bbacf629e2232dfdd8ba24d.tar.gz cygnal-0c081aa62c08c6a00bbacf629e2232dfdd8ba24d.tar.bz2 cygnal-0c081aa62c08c6a00bbacf629e2232dfdd8ba24d.zip |
Fix guard for siginfo_t and pthread_t definition
Commit 8a3b3bb4d7224d419cc1a4af60ccf7e70edc876b changed the guard on
some functions from _POSIX_THREADS to __POSIX_VISIBLE. As a consequence,
some use of siginfo_t and pthread_t became visible under configurations
where _POSIX_THREADS is unset but __POSIX_VISIBLE is. Build then fails
because the definition of those types are still unavailable.
This commit make those type definition visible for __POSIX_VISIBLE
configurations. This requires moving the siginfo_t definition out of the
RTEMS specific definitions in sys/signal.h while still guarding it
against cygwin case.
-rw-r--r-- | newlib/libc/include/sys/_pthreadtypes.h | 4 | ||||
-rw-r--r-- | newlib/libc/include/sys/signal.h | 16 |
2 files changed, 12 insertions, 8 deletions
diff --git a/newlib/libc/include/sys/_pthreadtypes.h b/newlib/libc/include/sys/_pthreadtypes.h index b29f50c27..75e9e1cbf 100644 --- a/newlib/libc/include/sys/_pthreadtypes.h +++ b/newlib/libc/include/sys/_pthreadtypes.h @@ -18,7 +18,7 @@ #ifndef _SYS__PTHREADTYPES_H_ #define _SYS__PTHREADTYPES_H_ -#if defined(_POSIX_THREADS) +#if defined(_POSIX_THREADS) || __POSIX_VISIBLE >= 199506 #include <sys/sched.h> @@ -195,7 +195,7 @@ typedef struct { } pthread_once_t; /* dynamic package initialization */ #define _PTHREAD_ONCE_INIT { 1, 0 } /* is initialized and not run */ -#endif /* defined(_POSIX_THREADS) */ +#endif /* defined(_POSIX_THREADS) || __POSIX_VISIBLE >= 199506 */ /* POSIX Barrier Types */ diff --git a/newlib/libc/include/sys/signal.h b/newlib/libc/include/sys/signal.h index da064cd5f..ab35718ae 100644 --- a/newlib/libc/include/sys/signal.h +++ b/newlib/libc/include/sys/signal.h @@ -18,9 +18,11 @@ extern "C" { typedef __sigset_t sigset_t; #endif -#if defined(__rtems__) +#if defined(__CYGWIN__) +#include <cygwin/signal.h> +#else -#if defined(_POSIX_REALTIME_SIGNALS) +#if defined(_POSIX_REALTIME_SIGNALS) || __POSIX_VISIBLE >= 199309 /* sigev_notify values NOTE: P1003.1c/D10, p. 34 adds SIGEV_THREAD. */ @@ -68,7 +70,9 @@ typedef struct { int si_code; /* Cause of the signal */ union sigval si_value; /* Signal value */ } siginfo_t; -#endif +#endif /* defined(_POSIX_REALTIME_SIGNALS) || __POSIX_VISIBLE >= 199309 */ + +#if defined(__rtems__) /* 3.3.8 Synchronously Accept a Signal, P1003.1b-1993, p. 76 */ @@ -108,9 +112,8 @@ struct sigaction { #define sa_sigaction _signal_handlers._sigaction #endif -#elif defined(__CYGWIN__) -#include <cygwin/signal.h> -#else +#else /* defined(__rtems__) */ + #define SA_NOCLDSTOP 1 /* only value supported now for sa_flags */ typedef void (*_sig_func_ptr)(int); @@ -122,6 +125,7 @@ struct sigaction int sa_flags; }; #endif /* defined(__rtems__) */ +#endif /* defined(__CYGWIN__) */ #if __BSD_VISIBLE || __XSI_VISIBLE >= 4 || __POSIX_VISIBLE >= 200809 /* |