summaryrefslogtreecommitdiffstats
path: root/gnu/gcc
diff options
context:
space:
mode:
authormatthew <matthew@openbsd.org>2012-06-20 17:24:57 +0000
committermatthew <matthew@openbsd.org>2012-06-20 17:24:57 +0000
commitf4362409c0c118161fdaa2bb4d61a5fa146a2025 (patch)
tree33f7f4ba8c5cea4ed207364c2eac8e95885132b8 /gnu/gcc
parentWith MP rthread setups, we cannot remove the X permission from the GOT (diff)
downloadwireguard-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.c6
-rw-r--r--gnu/gcc/gcc/gthr-posix.h14
-rw-r--r--gnu/gcc/gcc/gthr-posix95.h14
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;