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/Versions3
-rw-r--r--nptl/pthread_barrier_destroy.c11
3 files changed, 12 insertions, 4 deletions
diff --git a/nptl/Makefile b/nptl/Makefile
index 7fb387a17a..f9cb1e2b99 100644
--- a/nptl/Makefile
+++ b/nptl/Makefile
@@ -73,6 +73,7 @@ routines = \
   pthread_attr_setscope \
   pthread_attr_setsigmask \
   pthread_attr_setsigmask_internal \
+  pthread_barrier_destroy \
   pthread_cleanup_upto \
   pthread_cond_broadcast \
   pthread_cond_destroy \
@@ -187,7 +188,6 @@ libpthread-routines = \
   pthread_attr_setstack \
   pthread_attr_setstackaddr \
   pthread_attr_setstacksize \
-  pthread_barrier_destroy \
   pthread_barrier_init \
   pthread_barrier_wait \
   pthread_barrierattr_destroy \
diff --git a/nptl/Versions b/nptl/Versions
index b243e380e3..b7a08a56a7 100644
--- a/nptl/Versions
+++ b/nptl/Versions
@@ -106,6 +106,7 @@ libc {
     __pthread_rwlock_trywrlock;
     __pthread_rwlock_unlock;
     __pthread_rwlock_wrlock;
+    pthread_barrier_destroy;
     pthread_condattr_getpshared;
     pthread_condattr_setpshared;
     pthread_mutex_timedlock;
@@ -218,6 +219,7 @@ libc {
     mtx_timedlock;
     mtx_trylock;
     mtx_unlock;
+    pthread_barrier_destroy;
     pthread_cond_clockwait;
     pthread_condattr_getclock;
     pthread_condattr_getpshared;
@@ -367,7 +369,6 @@ libpthread {
   GLIBC_2.2 {
     pthread_attr_getstack;
     pthread_attr_setstack;
-    pthread_barrier_destroy;
     pthread_barrier_init;
     pthread_barrier_wait;
     pthread_barrierattr_destroy;
diff --git a/nptl/pthread_barrier_destroy.c b/nptl/pthread_barrier_destroy.c
index e815738e82..be5cde2ae9 100644
--- a/nptl/pthread_barrier_destroy.c
+++ b/nptl/pthread_barrier_destroy.c
@@ -20,10 +20,10 @@
 #include "pthreadP.h"
 #include <atomic.h>
 #include <futex-internal.h>
-
+#include <shlib-compat.h>
 
 int
-pthread_barrier_destroy (pthread_barrier_t *barrier)
+__pthread_barrier_destroy (pthread_barrier_t *barrier)
 {
   struct pthread_barrier *bar = (struct pthread_barrier *) barrier;
 
@@ -59,3 +59,10 @@ pthread_barrier_destroy (pthread_barrier_t *barrier)
 
   return 0;
 }
+versioned_symbol (libc, __pthread_barrier_destroy, pthread_barrier_destroy,
+                  GLIBC_2_34);
+
+#if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_2, GLIBC_2_34)
+compat_symbol (libpthread, __pthread_barrier_destroy, pthread_barrier_destroy,
+               GLIBC_2_2);
+#endif