about summary refs log tree commit diff
path: root/nptl
diff options
context:
space:
mode:
Diffstat (limited to 'nptl')
-rw-r--r--nptl/Makefile2
-rw-r--r--nptl/Versions5
-rw-r--r--nptl/pthread_barrier_wait.c14
3 files changed, 16 insertions, 5 deletions
diff --git a/nptl/Makefile b/nptl/Makefile
index 54cf04b03a..90c8f2ec72 100644
--- a/nptl/Makefile
+++ b/nptl/Makefile
@@ -75,6 +75,7 @@ routines = \
   pthread_attr_setsigmask_internal \
   pthread_barrier_destroy \
   pthread_barrier_init \
+  pthread_barrier_wait \
   pthread_cleanup_upto \
   pthread_cond_broadcast \
   pthread_cond_destroy \
@@ -189,7 +190,6 @@ libpthread-routines = \
   pthread_attr_setstack \
   pthread_attr_setstackaddr \
   pthread_attr_setstacksize \
-  pthread_barrier_wait \
   pthread_barrierattr_destroy \
   pthread_barrierattr_getpshared \
   pthread_barrierattr_init \
diff --git a/nptl/Versions b/nptl/Versions
index 4716c3f693..944c2e1ddc 100644
--- a/nptl/Versions
+++ b/nptl/Versions
@@ -108,6 +108,7 @@ libc {
     __pthread_rwlock_wrlock;
     pthread_barrier_destroy;
     pthread_barrier_init;
+    pthread_barrier_wait;
     pthread_condattr_getpshared;
     pthread_condattr_setpshared;
     pthread_mutex_timedlock;
@@ -222,6 +223,7 @@ libc {
     mtx_unlock;
     pthread_barrier_destroy;
     pthread_barrier_init;
+    pthread_barrier_wait;
     pthread_cond_clockwait;
     pthread_condattr_getclock;
     pthread_condattr_getpshared;
@@ -312,6 +314,7 @@ libc {
     __pthread_attr_setaffinity_np;
     __pthread_attr_setsigmask_internal;
     __pthread_barrier_init;
+    __pthread_barrier_wait;
     __pthread_cleanup_pop;
     __pthread_cleanup_push;
     __pthread_cleanup_upto;
@@ -372,7 +375,6 @@ libpthread {
   GLIBC_2.2 {
     pthread_attr_getstack;
     pthread_attr_setstack;
-    pthread_barrier_wait;
     pthread_barrierattr_destroy;
     pthread_barrierattr_init;
     pthread_barrierattr_setpshared;
@@ -448,7 +450,6 @@ libpthread {
 
   GLIBC_PRIVATE {
     __libpthread_freeres;
-    __pthread_barrier_wait;
     __pthread_clock_gettime;
     __pthread_clock_settime;
     __pthread_get_minstack;
diff --git a/nptl/pthread_barrier_wait.c b/nptl/pthread_barrier_wait.c
index 90ffd67349..4f8abe16bb 100644
--- a/nptl/pthread_barrier_wait.c
+++ b/nptl/pthread_barrier_wait.c
@@ -20,6 +20,7 @@
 #include <sysdep.h>
 #include <futex-internal.h>
 #include <pthreadP.h>
+#include <shlib-compat.h>
 
 
 /* Wait on the barrier.
@@ -92,7 +93,7 @@
    If we do not spin, it is quite likely that at least some other threads will
    have called futex_wait already.  */
 int
-__pthread_barrier_wait (pthread_barrier_t *barrier)
+___pthread_barrier_wait (pthread_barrier_t *barrier)
 {
   struct pthread_barrier *bar = (struct pthread_barrier *) barrier;
 
@@ -220,4 +221,13 @@ __pthread_barrier_wait (pthread_barrier_t *barrier)
   /* Return a special value for exactly one thread per round.  */
   return i % count == 0 ?  PTHREAD_BARRIER_SERIAL_THREAD : 0;
 }
-weak_alias (__pthread_barrier_wait, pthread_barrier_wait)
+versioned_symbol (libc, ___pthread_barrier_wait, pthread_barrier_wait,
+                  GLIBC_2_34);
+versioned_symbol (libc, ___pthread_barrier_wait, __pthread_barrier_wait,
+                  GLIBC_PRIVATE);
+libc_hidden_ver (___pthread_barrier_wait, __pthread_barrier_wait)
+
+#if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_2, GLIBC_2_34)
+compat_symbol (libpthread, ___pthread_barrier_wait, pthread_barrier_wait,
+               GLIBC_2_2);
+#endif