diff options
author | 2012-06-20 17:24:57 +0000 | |
---|---|---|
committer | 2012-06-20 17:24:57 +0000 | |
commit | f4362409c0c118161fdaa2bb4d61a5fa146a2025 (patch) | |
tree | 33f7f4ba8c5cea4ed207364c2eac8e95885132b8 /gnu/gcc | |
parent | With MP rthread setups, we cannot remove the X permission from the GOT (diff) | |
download | wireguard-openbsd-f4362409c0c118161fdaa2bb4d61a5fa146a2025.tar.xz wireguard-openbsd-f4362409c0c118161fdaa2bb4d61a5fa146a2025.zip |
Fix GCC's use of _POSIX_PRIORITY_SCHEDULING and
_POSIX_THREAD_PRIORITY_SCHEDULING. POSIX 2001 states that they can be
defined to -1 to indicate that the feature is not supported (which is
how we define them), so it's not okay to just check whether or not
they're defined.
Arguably, SUSv2 allows GCC's usage, but we don't special case these
feature flags for SUSv2, and these files need to be compilable in BSD
and POSIX compat modes anyway.
From Brad.
Diffstat (limited to 'gnu/gcc')
-rw-r--r-- | gnu/gcc/gcc/gthr-posix.c | 6 | ||||
-rw-r--r-- | gnu/gcc/gcc/gthr-posix.h | 14 | ||||
-rw-r--r-- | gnu/gcc/gcc/gthr-posix95.h | 14 |
3 files changed, 17 insertions, 17 deletions
diff --git a/gnu/gcc/gcc/gthr-posix.c b/gnu/gcc/gcc/gthr-posix.c index e2d731ae407..750081b2a4e 100644 --- a/gnu/gcc/gcc/gthr-posix.c +++ b/gnu/gcc/gcc/gthr-posix.c @@ -173,8 +173,8 @@ pthread_self (void) { return (pthread_t) 0; } -#ifdef _POSIX_PRIORITY_SCHEDULING -#ifdef _POSIX_THREAD_PRIORITY_SCHEDULING +#if defined(_POSIX_PRIORITY_SCHEDULING) && (_POSIX_PRIORITY_SCHEDULING > 0) +#if defined(_POSIX_THREAD_PRIORITY_SCHEDULING) && (_POSIX_THREAD_PRIORITY_SCHEDULING > 0) int sched_get_priority_max (int policy ATTRIBUTE_UNUSED) { @@ -214,7 +214,7 @@ pthread_attr_setdetachstate (pthread_attr_t *attr ATTRIBUTE_UNUSED, return 0; } -#ifdef _POSIX_THREAD_PRIORITY_SCHEDULING +#if defined(_POSIX_THREAD_PRIORITY_SCHEDULING) && (_POSIX_THREAD_PRIORITY_SCHEDULING > 0) int pthread_getschedparam (pthread_t thread ATTRIBUTE_UNUSED, int *policy ATTRIBUTE_UNUSED, diff --git a/gnu/gcc/gcc/gthr-posix.h b/gnu/gcc/gcc/gthr-posix.h index 47d38a320ba..2c86573dbe1 100644 --- a/gnu/gcc/gcc/gthr-posix.h +++ b/gnu/gcc/gcc/gthr-posix.h @@ -128,8 +128,8 @@ __gthrw(pthread_exit) __gthrw(pthread_mutex_destroy) __gthrw(pthread_self) #endif /* __osf__ && _PTHREAD_USE_MANGLED_NAMES_ */ -#ifdef _POSIX_PRIORITY_SCHEDULING -#ifdef _POSIX_THREAD_PRIORITY_SCHEDULING +#if defined(_POSIX_PRIORITY_SCHEDULING) && (_POSIX_PRIORITY_SCHEDULING > 0) +#if defined(_POSIX_THREAD_PRIORITY_SCHEDULING) && (_POSIX_THREAD_PRIORITY_SCHEDULING > 0) __gthrw(sched_get_priority_max) __gthrw(sched_get_priority_min) #endif /* _POSIX_THREAD_PRIORITY_SCHEDULING */ @@ -138,7 +138,7 @@ __gthrw(sched_yield) __gthrw(pthread_attr_destroy) __gthrw(pthread_attr_init) __gthrw(pthread_attr_setdetachstate) -#ifdef _POSIX_THREAD_PRIORITY_SCHEDULING +#if defined(_POSIX_THREAD_PRIORITY_SCHEDULING) && (_POSIX_THREAD_PRIORITY_SCHEDULING > 0) __gthrw(pthread_getschedparam) __gthrw(pthread_setschedparam) #endif /* _POSIX_THREAD_PRIORITY_SCHEDULING */ @@ -299,8 +299,8 @@ __gthread_objc_thread_set_priority (int priority) return -1; else { -#ifdef _POSIX_PRIORITY_SCHEDULING -#ifdef _POSIX_THREAD_PRIORITY_SCHEDULING +#if defined(_POSIX_PRIORITY_SCHEDULING) && (_POSIX_PRIORITY_SCHEDULING > 0) +#if defined(_POSIX_THREAD_PRIORITY_SCHEDULING) && (_POSIX_THREAD_PRIORITY_SCHEDULING > 0) pthread_t thread_id = __gthrw_(pthread_self) (); int policy; struct sched_param params; @@ -338,8 +338,8 @@ __gthread_objc_thread_set_priority (int priority) static inline int __gthread_objc_thread_get_priority (void) { -#ifdef _POSIX_PRIORITY_SCHEDULING -#ifdef _POSIX_THREAD_PRIORITY_SCHEDULING +#if defined(_POSIX_PRIORITY_SCHEDULING) && (_POSIX_PRIORITY_SCHEDULING > 0) +#if defined(_POSIX_THREAD_PRIORITY_SCHEDULING) && (_POSIX_THREAD_PRIORITY_SCHEDULING > 0) if (__gthread_active_p ()) { int policy; diff --git a/gnu/gcc/gcc/gthr-posix95.h b/gnu/gcc/gcc/gthr-posix95.h index fde264594f8..edb733f4e6a 100644 --- a/gnu/gcc/gcc/gthr-posix95.h +++ b/gnu/gcc/gcc/gthr-posix95.h @@ -91,8 +91,8 @@ __gthrw(pthread_cond_signal) __gthrw(pthread_cond_wait) __gthrw(pthread_exit) __gthrw(pthread_mutex_destroy) -#ifdef _POSIX_PRIORITY_SCHEDULING -#ifdef _POSIX_THREAD_PRIORITY_SCHEDULING +#if defined(_POSIX_PRIORITY_SCHEDULING) && (_POSIX_PRIORITY_SCHEDULING > 0) +#if defined(_POSIX_THREAD_PRIORITY_SCHEDULING) && (_POSIX_THREAD_PRIORITY_SCHEDULING > 0) __gthrw(sched_get_priority_max) __gthrw(sched_get_priority_min) #endif /* _POSIX_THREAD_PRIORITY_SCHEDULING */ @@ -101,7 +101,7 @@ __gthrw(sched_yield) __gthrw(pthread_attr_destroy) __gthrw(pthread_attr_init) __gthrw(pthread_attr_setdetachstate) -#ifdef _POSIX_THREAD_PRIORITY_SCHEDULING +#if defined(_POSIX_THREAD_PRIORITY_SCHEDULING) && (_POSIX_THREAD_PRIORITY_SCHEDULING > 0) __gthrw(pthread_getschedparam) __gthrw(pthread_setschedparam) #endif /* _POSIX_THREAD_PRIORITY_SCHEDULING */ @@ -262,8 +262,8 @@ __gthread_objc_thread_set_priority (int priority) return -1; else { -#ifdef _POSIX_PRIORITY_SCHEDULING -#ifdef _POSIX_THREAD_PRIORITY_SCHEDULING +#if defined(_POSIX_PRIORITY_SCHEDULING) && (_POSIX_PRIORITY_SCHEDULING > 0) +#if defined(_POSIX_THREAD_PRIORITY_SCHEDULING) && (_POSIX_THREAD_PRIORITY_SCHEDULING > 0) pthread_t thread_id = __gthrw_(pthread_self) (); int policy; struct sched_param params; @@ -301,8 +301,8 @@ __gthread_objc_thread_set_priority (int priority) static inline int __gthread_objc_thread_get_priority (void) { -#ifdef _POSIX_PRIORITY_SCHEDULING -#ifdef _POSIX_THREAD_PRIORITY_SCHEDULING +#if defined(_POSIX_PRIORITY_SCHEDULING) && (_POSIX_PRIORITY_SCHEDULING > 0) +#if defined(_POSIX_THREAD_PRIORITY_SCHEDULING) && (_POSIX_THREAD_PRIORITY_SCHEDULING > 0) if (__gthread_active_p ()) { int policy; |