diff --git a/htl/Makefile b/htl/Makefile
index 6404cba9b5..fc3c223943 100644
--- a/htl/Makefile
+++ b/htl/Makefile
@@ -28,7 +28,6 @@ libpthread-routines := \
pt-barrier-destroy \
pt-barrier-init \
pt-barrier-wait \
- pt-barrierattr-destroy \
pt-barrierattr-init \
pt-barrierattr-getpshared \
pt-barrierattr-setpshared \
@@ -161,6 +160,7 @@ routines := \
pt-attr-setstackaddr \
pt-attr-setstacksize \
pt-barrier \
+ pt-barrierattr-destroy \
pt-block \
pt-block-intr \
pt-cond \
diff --git a/htl/Versions b/htl/Versions
index 5aff085806..886ccb14c8 100644
--- a/htl/Versions
+++ b/htl/Versions
@@ -26,6 +26,7 @@ libc {
pthread_attr_setscope;
pthread_attr_setschedparam;
pthread_attr_init;
+ pthread_barrierattr_destroy;
pthread_cond_broadcast;
pthread_cond_destroy;
pthread_cond_init;
@@ -124,6 +125,7 @@ libc {
}
GLIBC_2.42 {
+ pthread_barrierattr_destroy;
pthread_mutex_consistent; pthread_mutex_consistent_np;
pthread_mutex_getprioceiling;
pthread_mutex_setprioceiling;
@@ -203,7 +205,7 @@ libpthread {
pthread_atfork;
pthread_barrier_destroy; pthread_barrier_init; pthread_barrier_wait;
- pthread_barrierattr_destroy; pthread_barrierattr_getpshared;
+ pthread_barrierattr_getpshared;
pthread_barrierattr_init; pthread_barrierattr_setpshared;
pthread_cancel;
diff --git a/sysdeps/htl/pt-barrierattr-destroy.c b/sysdeps/htl/pt-barrierattr-destroy.c
index 8e65db7cce..fcb98f6245 100644
--- a/sysdeps/htl/pt-barrierattr-destroy.c
+++ b/sysdeps/htl/pt-barrierattr-destroy.c
@@ -16,11 +16,18 @@
License along with the GNU C Library; if not, see
. */
-#include
+#include
#include
+#include
int
-pthread_barrierattr_destroy (pthread_barrierattr_t *attr)
+__pthread_barrierattr_destroy (pthread_barrierattr_t *attr)
{
return 0;
}
+libc_hidden_def (__pthread_barrierattr_destroy)
+versioned_symbol (libc, __pthread_barrierattr_destroy, pthread_barrierattr_destroy, GLIBC_2_42);
+
+#if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_12, GLIBC_2_42)
+compat_symbol (libpthread, __pthread_barrierattr_destroy, pthread_barrierattr_destroy, GLIBC_2_12);
+#endif
diff --git a/sysdeps/htl/pthreadP.h b/sysdeps/htl/pthreadP.h
index 1a1b9ff39a..68972b86c1 100644
--- a/sysdeps/htl/pthreadP.h
+++ b/sysdeps/htl/pthreadP.h
@@ -31,6 +31,8 @@ extern void __pthread_init_static_tls (struct link_map *) attribute_hidden;
/* These represent the interface used by glibc itself. */
+extern int __pthread_barrierattr_destroy (pthread_barrierattr_t *__attr);
+libc_hidden_proto (__pthread_barrierattr_destroy)
extern int __pthread_mutex_init (pthread_mutex_t *__mutex, const pthread_mutexattr_t *__attr);
libc_hidden_proto (__pthread_mutex_init)
extern int __pthread_mutex_clocklock (pthread_mutex_t *__mutex, clockid_t __clockid,
diff --git a/sysdeps/mach/hurd/i386/libc.abilist b/sysdeps/mach/hurd/i386/libc.abilist
index 30c01aaf23..72dfd665f6 100644
--- a/sysdeps/mach/hurd/i386/libc.abilist
+++ b/sysdeps/mach/hurd/i386/libc.abilist
@@ -49,6 +49,7 @@ GLIBC_2.12 pthread_attr_setscope F
GLIBC_2.12 pthread_attr_setstack F
GLIBC_2.12 pthread_attr_setstackaddr F
GLIBC_2.12 pthread_attr_setstacksize F
+GLIBC_2.12 pthread_barrierattr_destroy F
GLIBC_2.12 pthread_cond_broadcast F
GLIBC_2.12 pthread_cond_destroy F
GLIBC_2.12 pthread_cond_init F
@@ -2561,6 +2562,7 @@ GLIBC_2.41 pthread_mutexattr_setrobust F
GLIBC_2.41 pthread_mutexattr_setrobust_np F
GLIBC_2.41 pthread_mutexattr_settype F
GLIBC_2.41 pthread_sigmask F
+GLIBC_2.42 pthread_barrierattr_destroy F
GLIBC_2.42 pthread_mutex_consistent F
GLIBC_2.42 pthread_mutex_consistent_np F
GLIBC_2.42 pthread_mutex_getprioceiling F
diff --git a/sysdeps/mach/hurd/i386/libpthread.abilist b/sysdeps/mach/hurd/i386/libpthread.abilist
index 0cefd91495..6d9ffec92c 100644
--- a/sysdeps/mach/hurd/i386/libpthread.abilist
+++ b/sysdeps/mach/hurd/i386/libpthread.abilist
@@ -25,7 +25,6 @@ GLIBC_2.12 pthread_atfork F
GLIBC_2.12 pthread_barrier_destroy F
GLIBC_2.12 pthread_barrier_init F
GLIBC_2.12 pthread_barrier_wait F
-GLIBC_2.12 pthread_barrierattr_destroy F
GLIBC_2.12 pthread_barrierattr_getpshared F
GLIBC_2.12 pthread_barrierattr_init F
GLIBC_2.12 pthread_barrierattr_setpshared F
diff --git a/sysdeps/mach/hurd/x86_64/libc.abilist b/sysdeps/mach/hurd/x86_64/libc.abilist
index 4f7ba3a700..b60abc1958 100644
--- a/sysdeps/mach/hurd/x86_64/libc.abilist
+++ b/sysdeps/mach/hurd/x86_64/libc.abilist
@@ -1531,6 +1531,7 @@ GLIBC_2.38 pthread_attr_setscope F
GLIBC_2.38 pthread_attr_setstack F
GLIBC_2.38 pthread_attr_setstackaddr F
GLIBC_2.38 pthread_attr_setstacksize F
+GLIBC_2.38 pthread_barrierattr_destroy F
GLIBC_2.38 pthread_cond_broadcast F
GLIBC_2.38 pthread_cond_clockwait F
GLIBC_2.38 pthread_cond_destroy F
@@ -2244,6 +2245,7 @@ GLIBC_2.41 pthread_mutexattr_setrobust F
GLIBC_2.41 pthread_mutexattr_setrobust_np F
GLIBC_2.41 pthread_mutexattr_settype F
GLIBC_2.41 pthread_sigmask F
+GLIBC_2.42 pthread_barrierattr_destroy F
GLIBC_2.42 pthread_mutex_consistent F
GLIBC_2.42 pthread_mutex_consistent_np F
GLIBC_2.42 pthread_mutex_getprioceiling F
diff --git a/sysdeps/mach/hurd/x86_64/libpthread.abilist b/sysdeps/mach/hurd/x86_64/libpthread.abilist
index 0812c7c735..860d406251 100644
--- a/sysdeps/mach/hurd/x86_64/libpthread.abilist
+++ b/sysdeps/mach/hurd/x86_64/libpthread.abilist
@@ -42,7 +42,6 @@ GLIBC_2.38 mtx_unlock F
GLIBC_2.38 pthread_barrier_destroy F
GLIBC_2.38 pthread_barrier_init F
GLIBC_2.38 pthread_barrier_wait F
-GLIBC_2.38 pthread_barrierattr_destroy F
GLIBC_2.38 pthread_barrierattr_getpshared F
GLIBC_2.38 pthread_barrierattr_init F
GLIBC_2.38 pthread_barrierattr_setpshared F