diff --git a/nptl/Makefile b/nptl/Makefile
index ab24222c1d..f8416b240c 100644
--- a/nptl/Makefile
+++ b/nptl/Makefile
@@ -152,6 +152,7 @@ routines = \
   pthread_yield \
   sem_clockwait \
   sem_close \
+  sem_destroy \
   sem_open \
   sem_routines \
   tpp \
@@ -205,7 +206,6 @@ libpthread-routines = \
   pthread_sigqueue \
   pthread_timedjoin \
   pthread_tryjoin \
-  sem_destroy \
   sem_getvalue \
   sem_init \
   sem_post \
diff --git a/nptl/Versions b/nptl/Versions
index 4a9e5a0305..c59bbd8736 100644
--- a/nptl/Versions
+++ b/nptl/Versions
@@ -62,6 +62,7 @@ libc {
     pthread_setspecific;
     pthread_sigmask;
     pthread_testcancel;
+    sem_destroy;
   }
   GLIBC_2.1 {
     pthread_attr_init;
@@ -80,6 +81,7 @@ libc {
     pthread_rwlockattr_init;
     pthread_rwlockattr_setkind_np;
     pthread_rwlockattr_setpshared;
+    sem_destroy;
   }
   GLIBC_2.1.1 {
     sem_close;
@@ -254,6 +256,7 @@ libc {
     pthread_testcancel;
     sem_clockwait;
     sem_close;
+    sem_destroy;
     sem_open;
     thrd_exit;
     tss_create;
@@ -320,7 +323,6 @@ libpthread {
     pthread_detach;
     pthread_join;
     pthread_sigmask;
-    sem_destroy;
     sem_getvalue;
     sem_init;
     sem_post;
@@ -338,7 +340,6 @@ libpthread {
     pthread_create;
     pthread_getconcurrency;
     pthread_setconcurrency;
-    sem_destroy;
     sem_getvalue;
     sem_init;
     sem_post;
diff --git a/nptl/sem_destroy.c b/nptl/sem_destroy.c
index 3a105e9c65..fd8f2024ce 100644
--- a/nptl/sem_destroy.c
+++ b/nptl/sem_destroy.c
@@ -29,8 +29,11 @@ __new_sem_destroy (sem_t *sem)
   /* Nothing to do.  */
   return 0;
 }
-versioned_symbol (libpthread, __new_sem_destroy, sem_destroy, GLIBC_2_1);
-#if SHLIB_COMPAT(libpthread, GLIBC_2_0, GLIBC_2_1)
+versioned_symbol (libc, __new_sem_destroy, sem_destroy, GLIBC_2_34);
+#if OTHER_SHLIB_COMPAT(libpthread, GLIBC_2_0, GLIBC_2_1)
 strong_alias (__new_sem_destroy, __old_sem_destroy)
 compat_symbol (libpthread, __old_sem_destroy, sem_destroy, GLIBC_2_0);
 #endif
+#if OTHER_SHLIB_COMPAT(libpthread, GLIBC_2_1, GLIBC_2_34)
+compat_symbol (libpthread, __new_sem_destroy, sem_destroy, GLIBC_2_1);
+#endif
diff --git a/sysdeps/unix/sysv/linux/aarch64/libc.abilist b/sysdeps/unix/sysv/linux/aarch64/libc.abilist
index 26d440e487..32b0f88baf 100644
--- a/sysdeps/unix/sysv/linux/aarch64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/aarch64/libc.abilist
@@ -1661,6 +1661,7 @@ GLIBC_2.17 seed48_r F
 GLIBC_2.17 seekdir F
 GLIBC_2.17 select F
 GLIBC_2.17 sem_close F
+GLIBC_2.17 sem_destroy F
 GLIBC_2.17 sem_open F
 GLIBC_2.17 semctl F
 GLIBC_2.17 semget F
@@ -2350,6 +2351,7 @@ GLIBC_2.34 pthread_spin_unlock F
 GLIBC_2.34 pthread_testcancel F
 GLIBC_2.34 sem_clockwait F
 GLIBC_2.34 sem_close F
+GLIBC_2.34 sem_destroy F
 GLIBC_2.34 sem_open F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
diff --git a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
index f8dc604dfa..612c9f2e31 100644
--- a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
@@ -39,7 +39,6 @@ GLIBC_2.17 pthread_setschedprio F
 GLIBC_2.17 pthread_sigqueue F
 GLIBC_2.17 pthread_timedjoin_np F
 GLIBC_2.17 pthread_tryjoin_np F
-GLIBC_2.17 sem_destroy F
 GLIBC_2.17 sem_getvalue F
 GLIBC_2.17 sem_init F
 GLIBC_2.17 sem_post F
diff --git a/sysdeps/unix/sysv/linux/alpha/libc.abilist b/sysdeps/unix/sysv/linux/alpha/libc.abilist
index cef9391d34..49f539aa56 100644
--- a/sysdeps/unix/sysv/linux/alpha/libc.abilist
+++ b/sysdeps/unix/sysv/linux/alpha/libc.abilist
@@ -1011,6 +1011,7 @@ GLIBC_2.0 seed48 F
 GLIBC_2.0 seed48_r F
 GLIBC_2.0 seekdir F
 GLIBC_2.0 select F
+GLIBC_2.0 sem_destroy F
 GLIBC_2.0 semctl F
 GLIBC_2.0 semget F
 GLIBC_2.0 semop F
@@ -1634,6 +1635,7 @@ GLIBC_2.1 readdir64_r F
 GLIBC_2.1 rtime F
 GLIBC_2.1 scandir64 F
 GLIBC_2.1 select F
+GLIBC_2.1 sem_destroy F
 GLIBC_2.1 sendfile F
 GLIBC_2.1 setitimer F
 GLIBC_2.1 setrlimit64 F
@@ -2431,6 +2433,7 @@ GLIBC_2.34 pthread_spin_unlock F
 GLIBC_2.34 pthread_testcancel F
 GLIBC_2.34 sem_clockwait F
 GLIBC_2.34 sem_close F
+GLIBC_2.34 sem_destroy F
 GLIBC_2.34 sem_open F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
diff --git a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
index 8cc7e9bc57..f489e4d96f 100644
--- a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
@@ -9,7 +9,6 @@ GLIBC_2.0 pthread_cancel F
 GLIBC_2.0 pthread_create F
 GLIBC_2.0 pthread_detach F
 GLIBC_2.0 pthread_join F
-GLIBC_2.0 sem_destroy F
 GLIBC_2.0 sem_getvalue F
 GLIBC_2.0 sem_init F
 GLIBC_2.0 sem_post F
@@ -24,7 +23,6 @@ GLIBC_2.1 pthread_attr_setstacksize F
 GLIBC_2.1 pthread_create F
 GLIBC_2.1 pthread_getconcurrency F
 GLIBC_2.1 pthread_setconcurrency F
-GLIBC_2.1 sem_destroy F
 GLIBC_2.1 sem_getvalue F
 GLIBC_2.1 sem_init F
 GLIBC_2.1 sem_post F
diff --git a/sysdeps/unix/sysv/linux/arc/libc.abilist b/sysdeps/unix/sysv/linux/arc/libc.abilist
index a9d30544f3..85189504f6 100644
--- a/sysdeps/unix/sysv/linux/arc/libc.abilist
+++ b/sysdeps/unix/sysv/linux/arc/libc.abilist
@@ -1603,6 +1603,7 @@ GLIBC_2.32 seekdir F
 GLIBC_2.32 select F
 GLIBC_2.32 sem_clockwait F
 GLIBC_2.32 sem_close F
+GLIBC_2.32 sem_destroy F
 GLIBC_2.32 sem_open F
 GLIBC_2.32 semctl F
 GLIBC_2.32 semget F
@@ -2109,6 +2110,7 @@ GLIBC_2.34 pthread_spin_unlock F
 GLIBC_2.34 pthread_testcancel F
 GLIBC_2.34 sem_clockwait F
 GLIBC_2.34 sem_close F
+GLIBC_2.34 sem_destroy F
 GLIBC_2.34 sem_open F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
diff --git a/sysdeps/unix/sysv/linux/arc/libpthread.abilist b/sysdeps/unix/sysv/linux/arc/libpthread.abilist
index 9032472f97..2ca2d1acd8 100644
--- a/sysdeps/unix/sysv/linux/arc/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/arc/libpthread.abilist
@@ -42,7 +42,6 @@ GLIBC_2.32 pthread_setschedprio F
 GLIBC_2.32 pthread_sigqueue F
 GLIBC_2.32 pthread_timedjoin_np F
 GLIBC_2.32 pthread_tryjoin_np F
-GLIBC_2.32 sem_destroy F
 GLIBC_2.32 sem_getvalue F
 GLIBC_2.32 sem_init F
 GLIBC_2.32 sem_post F
diff --git a/sysdeps/unix/sysv/linux/arm/be/libc.abilist b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
index 637c85823b..2e4de030d4 100644
--- a/sysdeps/unix/sysv/linux/arm/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
@@ -254,6 +254,7 @@ GLIBC_2.34 pthread_spin_unlock F
 GLIBC_2.34 pthread_testcancel F
 GLIBC_2.34 sem_clockwait F
 GLIBC_2.34 sem_close F
+GLIBC_2.34 sem_destroy F
 GLIBC_2.34 sem_open F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
@@ -1841,6 +1842,7 @@ GLIBC_2.4 seed48_r F
 GLIBC_2.4 seekdir F
 GLIBC_2.4 select F
 GLIBC_2.4 sem_close F
+GLIBC_2.4 sem_destroy F
 GLIBC_2.4 sem_open F
 GLIBC_2.4 semctl F
 GLIBC_2.4 semget F
diff --git a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
index 4a8b77148b..4e5e61961d 100644
--- a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
@@ -47,7 +47,6 @@ GLIBC_2.4 pthread_setconcurrency F
 GLIBC_2.4 pthread_setschedprio F
 GLIBC_2.4 pthread_timedjoin_np F
 GLIBC_2.4 pthread_tryjoin_np F
-GLIBC_2.4 sem_destroy F
 GLIBC_2.4 sem_getvalue F
 GLIBC_2.4 sem_init F
 GLIBC_2.4 sem_post F
diff --git a/sysdeps/unix/sysv/linux/arm/le/libc.abilist b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
index c2d82d24c3..75e1a70c5e 100644
--- a/sysdeps/unix/sysv/linux/arm/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
@@ -251,6 +251,7 @@ GLIBC_2.34 pthread_spin_unlock F
 GLIBC_2.34 pthread_testcancel F
 GLIBC_2.34 sem_clockwait F
 GLIBC_2.34 sem_close F
+GLIBC_2.34 sem_destroy F
 GLIBC_2.34 sem_open F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
@@ -1838,6 +1839,7 @@ GLIBC_2.4 seed48_r F
 GLIBC_2.4 seekdir F
 GLIBC_2.4 select F
 GLIBC_2.4 sem_close F
+GLIBC_2.4 sem_destroy F
 GLIBC_2.4 sem_open F
 GLIBC_2.4 semctl F
 GLIBC_2.4 semget F
diff --git a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
index 4a8b77148b..4e5e61961d 100644
--- a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
@@ -47,7 +47,6 @@ GLIBC_2.4 pthread_setconcurrency F
 GLIBC_2.4 pthread_setschedprio F
 GLIBC_2.4 pthread_timedjoin_np F
 GLIBC_2.4 pthread_tryjoin_np F
-GLIBC_2.4 sem_destroy F
 GLIBC_2.4 sem_getvalue F
 GLIBC_2.4 sem_init F
 GLIBC_2.4 sem_post F
diff --git a/sysdeps/unix/sysv/linux/csky/libc.abilist b/sysdeps/unix/sysv/linux/csky/libc.abilist
index de4c614097..7e314d1d97 100644
--- a/sysdeps/unix/sysv/linux/csky/libc.abilist
+++ b/sysdeps/unix/sysv/linux/csky/libc.abilist
@@ -1664,6 +1664,7 @@ GLIBC_2.29 seed48_r F
 GLIBC_2.29 seekdir F
 GLIBC_2.29 select F
 GLIBC_2.29 sem_close F
+GLIBC_2.29 sem_destroy F
 GLIBC_2.29 sem_open F
 GLIBC_2.29 semctl F
 GLIBC_2.29 semget F
@@ -2293,6 +2294,7 @@ GLIBC_2.34 pthread_spin_unlock F
 GLIBC_2.34 pthread_testcancel F
 GLIBC_2.34 sem_clockwait F
 GLIBC_2.34 sem_close F
+GLIBC_2.34 sem_destroy F
 GLIBC_2.34 sem_open F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
diff --git a/sysdeps/unix/sysv/linux/csky/libpthread.abilist b/sysdeps/unix/sysv/linux/csky/libpthread.abilist
index b16ffe2dd8..39cabcbc61 100644
--- a/sysdeps/unix/sysv/linux/csky/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/csky/libpthread.abilist
@@ -41,7 +41,6 @@ GLIBC_2.29 pthread_setschedprio F
 GLIBC_2.29 pthread_sigqueue F
 GLIBC_2.29 pthread_timedjoin_np F
 GLIBC_2.29 pthread_tryjoin_np F
-GLIBC_2.29 sem_destroy F
 GLIBC_2.29 sem_getvalue F
 GLIBC_2.29 sem_init F
 GLIBC_2.29 sem_post F
diff --git a/sysdeps/unix/sysv/linux/hppa/libc.abilist b/sysdeps/unix/sysv/linux/hppa/libc.abilist
index 83bb694e02..58b385d150 100644
--- a/sysdeps/unix/sysv/linux/hppa/libc.abilist
+++ b/sysdeps/unix/sysv/linux/hppa/libc.abilist
@@ -1453,6 +1453,7 @@ GLIBC_2.2 seed48_r F
 GLIBC_2.2 seekdir F
 GLIBC_2.2 select F
 GLIBC_2.2 sem_close F
+GLIBC_2.2 sem_destroy F
 GLIBC_2.2 sem_open F
 GLIBC_2.2 semctl F
 GLIBC_2.2 semget F
@@ -2244,6 +2245,7 @@ GLIBC_2.34 pthread_spin_unlock F
 GLIBC_2.34 pthread_testcancel F
 GLIBC_2.34 sem_clockwait F
 GLIBC_2.34 sem_close F
+GLIBC_2.34 sem_destroy F
 GLIBC_2.34 sem_open F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
diff --git a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
index c07e43ba36..c8a67fff04 100644
--- a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
@@ -31,7 +31,6 @@ GLIBC_2.2 pthread_getconcurrency F
 GLIBC_2.2 pthread_getcpuclockid F
 GLIBC_2.2 pthread_join F
 GLIBC_2.2 pthread_setconcurrency F
-GLIBC_2.2 sem_destroy F
 GLIBC_2.2 sem_getvalue F
 GLIBC_2.2 sem_init F
 GLIBC_2.2 sem_post F
diff --git a/sysdeps/unix/sysv/linux/i386/libc.abilist b/sysdeps/unix/sysv/linux/i386/libc.abilist
index 361856e177..af383b5fb2 100644
--- a/sysdeps/unix/sysv/linux/i386/libc.abilist
+++ b/sysdeps/unix/sysv/linux/i386/libc.abilist
@@ -988,6 +988,7 @@ GLIBC_2.0 seed48 F
 GLIBC_2.0 seed48_r F
 GLIBC_2.0 seekdir F
 GLIBC_2.0 select F
+GLIBC_2.0 sem_destroy F
 GLIBC_2.0 semctl F
 GLIBC_2.0 semget F
 GLIBC_2.0 semop F
@@ -1604,6 +1605,7 @@ GLIBC_2.1 scalbln F
 GLIBC_2.1 scalblnf F
 GLIBC_2.1 scalblnl F
 GLIBC_2.1 scandir64 F
+GLIBC_2.1 sem_destroy F
 GLIBC_2.1 sendfile F
 GLIBC_2.1 setrlimit64 F
 GLIBC_2.1 setutxent F
@@ -2421,6 +2423,7 @@ GLIBC_2.34 pthread_spin_unlock F
 GLIBC_2.34 pthread_testcancel F
 GLIBC_2.34 sem_clockwait F
 GLIBC_2.34 sem_close F
+GLIBC_2.34 sem_destroy F
 GLIBC_2.34 sem_open F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
diff --git a/sysdeps/unix/sysv/linux/i386/libpthread.abilist b/sysdeps/unix/sysv/linux/i386/libpthread.abilist
index be013d96e2..c4dcb97ae5 100644
--- a/sysdeps/unix/sysv/linux/i386/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/i386/libpthread.abilist
@@ -9,7 +9,6 @@ GLIBC_2.0 pthread_cancel F
 GLIBC_2.0 pthread_create F
 GLIBC_2.0 pthread_detach F
 GLIBC_2.0 pthread_join F
-GLIBC_2.0 sem_destroy F
 GLIBC_2.0 sem_getvalue F
 GLIBC_2.0 sem_init F
 GLIBC_2.0 sem_post F
@@ -24,7 +23,6 @@ GLIBC_2.1 pthread_attr_setstacksize F
 GLIBC_2.1 pthread_create F
 GLIBC_2.1 pthread_getconcurrency F
 GLIBC_2.1 pthread_setconcurrency F
-GLIBC_2.1 sem_destroy F
 GLIBC_2.1 sem_getvalue F
 GLIBC_2.1 sem_init F
 GLIBC_2.1 sem_post F
diff --git a/sysdeps/unix/sysv/linux/ia64/libc.abilist b/sysdeps/unix/sysv/linux/ia64/libc.abilist
index 9be17c7672..6927c0d8ef 100644
--- a/sysdeps/unix/sysv/linux/ia64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/ia64/libc.abilist
@@ -1474,6 +1474,7 @@ GLIBC_2.2 seed48_r F
 GLIBC_2.2 seekdir F
 GLIBC_2.2 select F
 GLIBC_2.2 sem_close F
+GLIBC_2.2 sem_destroy F
 GLIBC_2.2 sem_open F
 GLIBC_2.2 semctl F
 GLIBC_2.2 semget F
@@ -2278,6 +2279,7 @@ GLIBC_2.34 pthread_spin_unlock F
 GLIBC_2.34 pthread_testcancel F
 GLIBC_2.34 sem_clockwait F
 GLIBC_2.34 sem_close F
+GLIBC_2.34 sem_destroy F
 GLIBC_2.34 sem_open F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
diff --git a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
index 42c7615f64..51ba7cd9d3 100644
--- a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
@@ -31,7 +31,6 @@ GLIBC_2.2 pthread_getconcurrency F
 GLIBC_2.2 pthread_getcpuclockid F
 GLIBC_2.2 pthread_join F
 GLIBC_2.2 pthread_setconcurrency F
-GLIBC_2.2 sem_destroy F
 GLIBC_2.2 sem_getvalue F
 GLIBC_2.2 sem_init F
 GLIBC_2.2 sem_post F
diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
index 8ded141557..223866073d 100644
--- a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
@@ -255,6 +255,7 @@ GLIBC_2.34 pthread_spin_unlock F
 GLIBC_2.34 pthread_testcancel F
 GLIBC_2.34 sem_clockwait F
 GLIBC_2.34 sem_close F
+GLIBC_2.34 sem_destroy F
 GLIBC_2.34 sem_open F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
@@ -1821,6 +1822,7 @@ GLIBC_2.4 seed48_r F
 GLIBC_2.4 seekdir F
 GLIBC_2.4 select F
 GLIBC_2.4 sem_close F
+GLIBC_2.4 sem_destroy F
 GLIBC_2.4 sem_open F
 GLIBC_2.4 semctl F
 GLIBC_2.4 semget F
diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
index 4a8b77148b..4e5e61961d 100644
--- a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
@@ -47,7 +47,6 @@ GLIBC_2.4 pthread_setconcurrency F
 GLIBC_2.4 pthread_setschedprio F
 GLIBC_2.4 pthread_timedjoin_np F
 GLIBC_2.4 pthread_tryjoin_np F
-GLIBC_2.4 sem_destroy F
 GLIBC_2.4 sem_getvalue F
 GLIBC_2.4 sem_init F
 GLIBC_2.4 sem_post F
diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
index e8a006c424..4188d2d420 100644
--- a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
@@ -987,6 +987,7 @@ GLIBC_2.0 seed48 F
 GLIBC_2.0 seed48_r F
 GLIBC_2.0 seekdir F
 GLIBC_2.0 select F
+GLIBC_2.0 sem_destroy F
 GLIBC_2.0 semctl F
 GLIBC_2.0 semget F
 GLIBC_2.0 semop F
@@ -1600,6 +1601,7 @@ GLIBC_2.1 scalbln F
 GLIBC_2.1 scalblnf F
 GLIBC_2.1 scalblnl F
 GLIBC_2.1 scandir64 F
+GLIBC_2.1 sem_destroy F
 GLIBC_2.1 sendfile F
 GLIBC_2.1 setrlimit64 F
 GLIBC_2.1 setutxent F
@@ -2364,6 +2366,7 @@ GLIBC_2.34 pthread_spin_unlock F
 GLIBC_2.34 pthread_testcancel F
 GLIBC_2.34 sem_clockwait F
 GLIBC_2.34 sem_close F
+GLIBC_2.34 sem_destroy F
 GLIBC_2.34 sem_open F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
index be013d96e2..c4dcb97ae5 100644
--- a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
@@ -9,7 +9,6 @@ GLIBC_2.0 pthread_cancel F
 GLIBC_2.0 pthread_create F
 GLIBC_2.0 pthread_detach F
 GLIBC_2.0 pthread_join F
-GLIBC_2.0 sem_destroy F
 GLIBC_2.0 sem_getvalue F
 GLIBC_2.0 sem_init F
 GLIBC_2.0 sem_post F
@@ -24,7 +23,6 @@ GLIBC_2.1 pthread_attr_setstacksize F
 GLIBC_2.1 pthread_create F
 GLIBC_2.1 pthread_getconcurrency F
 GLIBC_2.1 pthread_setconcurrency F
-GLIBC_2.1 sem_destroy F
 GLIBC_2.1 sem_getvalue F
 GLIBC_2.1 sem_init F
 GLIBC_2.1 sem_post F
diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
index a4907fad02..43054192cd 100644
--- a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
@@ -1663,6 +1663,7 @@ GLIBC_2.18 seed48_r F
 GLIBC_2.18 seekdir F
 GLIBC_2.18 select F
 GLIBC_2.18 sem_close F
+GLIBC_2.18 sem_destroy F
 GLIBC_2.18 sem_open F
 GLIBC_2.18 semctl F
 GLIBC_2.18 semget F
@@ -2344,6 +2345,7 @@ GLIBC_2.34 pthread_spin_unlock F
 GLIBC_2.34 pthread_testcancel F
 GLIBC_2.34 sem_clockwait F
 GLIBC_2.34 sem_close F
+GLIBC_2.34 sem_destroy F
 GLIBC_2.34 sem_open F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
index 8b3ddcbda9..4273151307 100644
--- a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
@@ -41,7 +41,6 @@ GLIBC_2.18 pthread_setschedprio F
 GLIBC_2.18 pthread_sigqueue F
 GLIBC_2.18 pthread_timedjoin_np F
 GLIBC_2.18 pthread_tryjoin_np F
-GLIBC_2.18 sem_destroy F
 GLIBC_2.18 sem_getvalue F
 GLIBC_2.18 sem_init F
 GLIBC_2.18 sem_post F
diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
index c5282a3fd1..aa14334dea 100644
--- a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
@@ -1663,6 +1663,7 @@ GLIBC_2.18 seed48_r F
 GLIBC_2.18 seekdir F
 GLIBC_2.18 select F
 GLIBC_2.18 sem_close F
+GLIBC_2.18 sem_destroy F
 GLIBC_2.18 sem_open F
 GLIBC_2.18 semctl F
 GLIBC_2.18 semget F
@@ -2341,6 +2342,7 @@ GLIBC_2.34 pthread_spin_unlock F
 GLIBC_2.34 pthread_testcancel F
 GLIBC_2.34 sem_clockwait F
 GLIBC_2.34 sem_close F
+GLIBC_2.34 sem_destroy F
 GLIBC_2.34 sem_open F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
index 8b3ddcbda9..4273151307 100644
--- a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
@@ -41,7 +41,6 @@ GLIBC_2.18 pthread_setschedprio F
 GLIBC_2.18 pthread_sigqueue F
 GLIBC_2.18 pthread_timedjoin_np F
 GLIBC_2.18 pthread_tryjoin_np F
-GLIBC_2.18 sem_destroy F
 GLIBC_2.18 sem_getvalue F
 GLIBC_2.18 sem_init F
 GLIBC_2.18 sem_post F
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
index a6fb6ac493..799c247103 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
@@ -984,6 +984,7 @@ GLIBC_2.0 seed48 F
 GLIBC_2.0 seed48_r F
 GLIBC_2.0 seekdir F
 GLIBC_2.0 select F
+GLIBC_2.0 sem_destroy F
 GLIBC_2.0 semctl F
 GLIBC_2.0 semget F
 GLIBC_2.0 semop F
@@ -1889,6 +1890,7 @@ GLIBC_2.2 rtime F
 GLIBC_2.2 ruserok_af F
 GLIBC_2.2 scandir64 F
 GLIBC_2.2 sem_close F
+GLIBC_2.2 sem_destroy F
 GLIBC_2.2 sem_open F
 GLIBC_2.2 semctl F
 GLIBC_2.2 sendfile F
@@ -2327,6 +2329,7 @@ GLIBC_2.34 pthread_spin_unlock F
 GLIBC_2.34 pthread_testcancel F
 GLIBC_2.34 sem_clockwait F
 GLIBC_2.34 sem_close F
+GLIBC_2.34 sem_destroy F
 GLIBC_2.34 sem_open F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
index d79cc95dfd..6b6f3eab0a 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
@@ -9,7 +9,6 @@ GLIBC_2.0 pthread_cancel F
 GLIBC_2.0 pthread_create F
 GLIBC_2.0 pthread_detach F
 GLIBC_2.0 pthread_join F
-GLIBC_2.0 sem_destroy F
 GLIBC_2.0 sem_getvalue F
 GLIBC_2.0 sem_init F
 GLIBC_2.0 sem_post F
@@ -38,7 +37,6 @@ GLIBC_2.2 pthread_create F
 GLIBC_2.2 pthread_getconcurrency F
 GLIBC_2.2 pthread_getcpuclockid F
 GLIBC_2.2 pthread_setconcurrency F
-GLIBC_2.2 sem_destroy F
 GLIBC_2.2 sem_getvalue F
 GLIBC_2.2 sem_init F
 GLIBC_2.2 sem_post F
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
index abfe1226b1..1c80548645 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
@@ -984,6 +984,7 @@ GLIBC_2.0 seed48 F
 GLIBC_2.0 seed48_r F
 GLIBC_2.0 seekdir F
 GLIBC_2.0 select F
+GLIBC_2.0 sem_destroy F
 GLIBC_2.0 semctl F
 GLIBC_2.0 semget F
 GLIBC_2.0 semop F
@@ -1887,6 +1888,7 @@ GLIBC_2.2 rtime F
 GLIBC_2.2 ruserok_af F
 GLIBC_2.2 scandir64 F
 GLIBC_2.2 sem_close F
+GLIBC_2.2 sem_destroy F
 GLIBC_2.2 sem_open F
 GLIBC_2.2 semctl F
 GLIBC_2.2 sendfile F
@@ -2325,6 +2327,7 @@ GLIBC_2.34 pthread_spin_unlock F
 GLIBC_2.34 pthread_testcancel F
 GLIBC_2.34 sem_clockwait F
 GLIBC_2.34 sem_close F
+GLIBC_2.34 sem_destroy F
 GLIBC_2.34 sem_open F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
index d79cc95dfd..6b6f3eab0a 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
@@ -9,7 +9,6 @@ GLIBC_2.0 pthread_cancel F
 GLIBC_2.0 pthread_create F
 GLIBC_2.0 pthread_detach F
 GLIBC_2.0 pthread_join F
-GLIBC_2.0 sem_destroy F
 GLIBC_2.0 sem_getvalue F
 GLIBC_2.0 sem_init F
 GLIBC_2.0 sem_post F
@@ -38,7 +37,6 @@ GLIBC_2.2 pthread_create F
 GLIBC_2.2 pthread_getconcurrency F
 GLIBC_2.2 pthread_getcpuclockid F
 GLIBC_2.2 pthread_setconcurrency F
-GLIBC_2.2 sem_destroy F
 GLIBC_2.2 sem_getvalue F
 GLIBC_2.2 sem_init F
 GLIBC_2.2 sem_post F
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
index 30851df44a..dc3615a827 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
@@ -984,6 +984,7 @@ GLIBC_2.0 seed48 F
 GLIBC_2.0 seed48_r F
 GLIBC_2.0 seekdir F
 GLIBC_2.0 select F
+GLIBC_2.0 sem_destroy F
 GLIBC_2.0 semctl F
 GLIBC_2.0 semget F
 GLIBC_2.0 semop F
@@ -1887,6 +1888,7 @@ GLIBC_2.2 rtime F
 GLIBC_2.2 ruserok_af F
 GLIBC_2.2 scandir64 F
 GLIBC_2.2 sem_close F
+GLIBC_2.2 sem_destroy F
 GLIBC_2.2 sem_open F
 GLIBC_2.2 sendfile F
 GLIBC_2.2 setrlimit64 F
@@ -2333,6 +2335,7 @@ GLIBC_2.34 pthread_spin_unlock F
 GLIBC_2.34 pthread_testcancel F
 GLIBC_2.34 sem_clockwait F
 GLIBC_2.34 sem_close F
+GLIBC_2.34 sem_destroy F
 GLIBC_2.34 sem_open F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
index 81d37d6322..d190f0b34c 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
@@ -982,6 +982,7 @@ GLIBC_2.0 seed48 F
 GLIBC_2.0 seed48_r F
 GLIBC_2.0 seekdir F
 GLIBC_2.0 select F
+GLIBC_2.0 sem_destroy F
 GLIBC_2.0 semctl F
 GLIBC_2.0 semget F
 GLIBC_2.0 semop F
@@ -1883,6 +1884,7 @@ GLIBC_2.2 rtime F
 GLIBC_2.2 ruserok_af F
 GLIBC_2.2 scandir64 F
 GLIBC_2.2 sem_close F
+GLIBC_2.2 sem_destroy F
 GLIBC_2.2 sem_open F
 GLIBC_2.2 sendfile F
 GLIBC_2.2 setrlimit64 F
@@ -2327,6 +2329,7 @@ GLIBC_2.34 pthread_spin_unlock F
 GLIBC_2.34 pthread_testcancel F
 GLIBC_2.34 sem_clockwait F
 GLIBC_2.34 sem_close F
+GLIBC_2.34 sem_destroy F
 GLIBC_2.34 sem_open F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
diff --git a/sysdeps/unix/sysv/linux/nios2/libc.abilist b/sysdeps/unix/sysv/linux/nios2/libc.abilist
index a5dbb107db..fef793c58d 100644
--- a/sysdeps/unix/sysv/linux/nios2/libc.abilist
+++ b/sysdeps/unix/sysv/linux/nios2/libc.abilist
@@ -1706,6 +1706,7 @@ GLIBC_2.21 seed48_r F
 GLIBC_2.21 seekdir F
 GLIBC_2.21 select F
 GLIBC_2.21 sem_close F
+GLIBC_2.21 sem_destroy F
 GLIBC_2.21 sem_open F
 GLIBC_2.21 semctl F
 GLIBC_2.21 semget F
@@ -2383,6 +2384,7 @@ GLIBC_2.34 pthread_spin_unlock F
 GLIBC_2.34 pthread_testcancel F
 GLIBC_2.34 sem_clockwait F
 GLIBC_2.34 sem_close F
+GLIBC_2.34 sem_destroy F
 GLIBC_2.34 sem_open F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
diff --git a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
index e8f9bdeef4..bb52cc203e 100644
--- a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
@@ -41,7 +41,6 @@ GLIBC_2.21 pthread_setschedprio F
 GLIBC_2.21 pthread_sigqueue F
 GLIBC_2.21 pthread_timedjoin_np F
 GLIBC_2.21 pthread_tryjoin_np F
-GLIBC_2.21 sem_destroy F
 GLIBC_2.21 sem_getvalue F
 GLIBC_2.21 sem_init F
 GLIBC_2.21 sem_post F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
index 9f512cfe62..030b76ecbe 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
@@ -995,6 +995,7 @@ GLIBC_2.0 seed48 F
 GLIBC_2.0 seed48_r F
 GLIBC_2.0 seekdir F
 GLIBC_2.0 select F
+GLIBC_2.0 sem_destroy F
 GLIBC_2.0 semctl F
 GLIBC_2.0 semget F
 GLIBC_2.0 semop F
@@ -1605,6 +1606,7 @@ GLIBC_2.1 readdir64 F
 GLIBC_2.1 readdir64_r F
 GLIBC_2.1 rtime F
 GLIBC_2.1 scandir64 F
+GLIBC_2.1 sem_destroy F
 GLIBC_2.1 sendfile F
 GLIBC_2.1 setrlimit64 F
 GLIBC_2.1 setutxent F
@@ -2391,6 +2393,7 @@ GLIBC_2.34 pthread_spin_unlock F
 GLIBC_2.34 pthread_testcancel F
 GLIBC_2.34 sem_clockwait F
 GLIBC_2.34 sem_close F
+GLIBC_2.34 sem_destroy F
 GLIBC_2.34 sem_open F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
index 31ef39020a..89ea6ff7dd 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
@@ -9,7 +9,6 @@ GLIBC_2.0 pthread_cancel F
 GLIBC_2.0 pthread_create F
 GLIBC_2.0 pthread_detach F
 GLIBC_2.0 pthread_join F
-GLIBC_2.0 sem_destroy F
 GLIBC_2.0 sem_getvalue F
 GLIBC_2.0 sem_init F
 GLIBC_2.0 sem_post F
@@ -24,7 +23,6 @@ GLIBC_2.1 pthread_attr_setstacksize F
 GLIBC_2.1 pthread_create F
 GLIBC_2.1 pthread_getconcurrency F
 GLIBC_2.1 pthread_setconcurrency F
-GLIBC_2.1 sem_destroy F
 GLIBC_2.1 sem_getvalue F
 GLIBC_2.1 sem_init F
 GLIBC_2.1 sem_post F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
index 99aad58eaa..777bd323b8 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
@@ -995,6 +995,7 @@ GLIBC_2.0 seed48 F
 GLIBC_2.0 seed48_r F
 GLIBC_2.0 seekdir F
 GLIBC_2.0 select F
+GLIBC_2.0 sem_destroy F
 GLIBC_2.0 semctl F
 GLIBC_2.0 semget F
 GLIBC_2.0 semop F
@@ -1605,6 +1606,7 @@ GLIBC_2.1 readdir64 F
 GLIBC_2.1 readdir64_r F
 GLIBC_2.1 rtime F
 GLIBC_2.1 scandir64 F
+GLIBC_2.1 sem_destroy F
 GLIBC_2.1 sendfile F
 GLIBC_2.1 setrlimit64 F
 GLIBC_2.1 setutxent F
@@ -2424,6 +2426,7 @@ GLIBC_2.34 pthread_spin_unlock F
 GLIBC_2.34 pthread_testcancel F
 GLIBC_2.34 sem_clockwait F
 GLIBC_2.34 sem_close F
+GLIBC_2.34 sem_destroy F
 GLIBC_2.34 sem_open F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
index 466f6b5d7b..08721871b7 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
@@ -1578,6 +1578,7 @@ GLIBC_2.3 seed48_r F
 GLIBC_2.3 seekdir F
 GLIBC_2.3 select F
 GLIBC_2.3 sem_close F
+GLIBC_2.3 sem_destroy F
 GLIBC_2.3 sem_open F
 GLIBC_2.3 semctl F
 GLIBC_2.3 semget F
@@ -2245,6 +2246,7 @@ GLIBC_2.34 pthread_spin_unlock F
 GLIBC_2.34 pthread_testcancel F
 GLIBC_2.34 sem_clockwait F
 GLIBC_2.34 sem_close F
+GLIBC_2.34 sem_destroy F
 GLIBC_2.34 sem_open F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
index 02c32b9aa6..4004100893 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
@@ -34,7 +34,6 @@ GLIBC_2.3 pthread_getconcurrency F
 GLIBC_2.3 pthread_getcpuclockid F
 GLIBC_2.3 pthread_join F
 GLIBC_2.3 pthread_setconcurrency F
-GLIBC_2.3 sem_destroy F
 GLIBC_2.3 sem_getvalue F
 GLIBC_2.3 sem_init F
 GLIBC_2.3 sem_post F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
index b1a2922377..cdf6f85bba 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
@@ -1749,6 +1749,7 @@ GLIBC_2.17 seed48_r F
 GLIBC_2.17 seekdir F
 GLIBC_2.17 select F
 GLIBC_2.17 sem_close F
+GLIBC_2.17 sem_destroy F
 GLIBC_2.17 sem_open F
 GLIBC_2.17 semctl F
 GLIBC_2.17 semget F
@@ -2546,6 +2547,7 @@ GLIBC_2.34 pthread_spin_unlock F
 GLIBC_2.34 pthread_testcancel F
 GLIBC_2.34 sem_clockwait F
 GLIBC_2.34 sem_close F
+GLIBC_2.34 sem_destroy F
 GLIBC_2.34 sem_open F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
index f8dc604dfa..612c9f2e31 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
@@ -39,7 +39,6 @@ GLIBC_2.17 pthread_setschedprio F
 GLIBC_2.17 pthread_sigqueue F
 GLIBC_2.17 pthread_timedjoin_np F
 GLIBC_2.17 pthread_tryjoin_np F
-GLIBC_2.17 sem_destroy F
 GLIBC_2.17 sem_getvalue F
 GLIBC_2.17 sem_init F
 GLIBC_2.17 sem_post F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
index 7ed6c10b7c..285603e38c 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
@@ -1605,6 +1605,7 @@ GLIBC_2.33 seekdir F
 GLIBC_2.33 select F
 GLIBC_2.33 sem_clockwait F
 GLIBC_2.33 sem_close F
+GLIBC_2.33 sem_destroy F
 GLIBC_2.33 sem_open F
 GLIBC_2.33 semctl F
 GLIBC_2.33 semget F
@@ -2111,6 +2112,7 @@ GLIBC_2.34 pthread_spin_unlock F
 GLIBC_2.34 pthread_testcancel F
 GLIBC_2.34 sem_clockwait F
 GLIBC_2.34 sem_close F
+GLIBC_2.34 sem_destroy F
 GLIBC_2.34 sem_open F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
index 1a87403132..5eaf5ecee2 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
@@ -42,7 +42,6 @@ GLIBC_2.33 pthread_setschedprio F
 GLIBC_2.33 pthread_sigqueue F
 GLIBC_2.33 pthread_timedjoin_np F
 GLIBC_2.33 pthread_tryjoin_np F
-GLIBC_2.33 sem_destroy F
 GLIBC_2.33 sem_getvalue F
 GLIBC_2.33 sem_init F
 GLIBC_2.33 sem_post F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
index a0f5d0f988..2b50fbcce3 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
@@ -1653,6 +1653,7 @@ GLIBC_2.27 seed48_r F
 GLIBC_2.27 seekdir F
 GLIBC_2.27 select F
 GLIBC_2.27 sem_close F
+GLIBC_2.27 sem_destroy F
 GLIBC_2.27 sem_open F
 GLIBC_2.27 semctl F
 GLIBC_2.27 semget F
@@ -2311,6 +2312,7 @@ GLIBC_2.34 pthread_spin_unlock F
 GLIBC_2.34 pthread_testcancel F
 GLIBC_2.34 sem_clockwait F
 GLIBC_2.34 sem_close F
+GLIBC_2.34 sem_destroy F
 GLIBC_2.34 sem_open F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
index 122cb26879..49a79bfbee 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
@@ -41,7 +41,6 @@ GLIBC_2.27 pthread_setschedprio F
 GLIBC_2.27 pthread_sigqueue F
 GLIBC_2.27 pthread_timedjoin_np F
 GLIBC_2.27 pthread_tryjoin_np F
-GLIBC_2.27 sem_destroy F
 GLIBC_2.27 sem_getvalue F
 GLIBC_2.27 sem_init F
 GLIBC_2.27 sem_post F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
index f2a59ab190..4f66ca3b0c 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
@@ -986,6 +986,7 @@ GLIBC_2.0 seed48 F
 GLIBC_2.0 seed48_r F
 GLIBC_2.0 seekdir F
 GLIBC_2.0 select F
+GLIBC_2.0 sem_destroy F
 GLIBC_2.0 semctl F
 GLIBC_2.0 semget F
 GLIBC_2.0 semop F
@@ -1597,6 +1598,7 @@ GLIBC_2.1 readdir64 F
 GLIBC_2.1 readdir64_r F
 GLIBC_2.1 rtime F
 GLIBC_2.1 scandir64 F
+GLIBC_2.1 sem_destroy F
 GLIBC_2.1 sendfile F
 GLIBC_2.1 setrlimit64 F
 GLIBC_2.1 setutxent F
@@ -2389,6 +2391,7 @@ GLIBC_2.34 pthread_spin_unlock F
 GLIBC_2.34 pthread_testcancel F
 GLIBC_2.34 sem_clockwait F
 GLIBC_2.34 sem_close F
+GLIBC_2.34 sem_destroy F
 GLIBC_2.34 sem_open F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
index a6adbf2c0c..52e5bf43df 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
@@ -9,7 +9,6 @@ GLIBC_2.0 pthread_cancel F
 GLIBC_2.0 pthread_create F
 GLIBC_2.0 pthread_detach F
 GLIBC_2.0 pthread_join F
-GLIBC_2.0 sem_destroy F
 GLIBC_2.0 sem_getvalue F
 GLIBC_2.0 sem_init F
 GLIBC_2.0 sem_post F
@@ -24,7 +23,6 @@ GLIBC_2.1 pthread_attr_setstacksize F
 GLIBC_2.1 pthread_create F
 GLIBC_2.1 pthread_getconcurrency F
 GLIBC_2.1 pthread_setconcurrency F
-GLIBC_2.1 sem_destroy F
 GLIBC_2.1 sem_getvalue F
 GLIBC_2.1 sem_init F
 GLIBC_2.1 sem_post F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
index 232d00b8af..0904bb5b60 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
@@ -1471,6 +1471,7 @@ GLIBC_2.2 seed48_r F
 GLIBC_2.2 seekdir F
 GLIBC_2.2 select F
 GLIBC_2.2 sem_close F
+GLIBC_2.2 sem_destroy F
 GLIBC_2.2 sem_open F
 GLIBC_2.2 semctl F
 GLIBC_2.2 semget F
@@ -2282,6 +2283,7 @@ GLIBC_2.34 pthread_spin_unlock F
 GLIBC_2.34 pthread_testcancel F
 GLIBC_2.34 sem_clockwait F
 GLIBC_2.34 sem_close F
+GLIBC_2.34 sem_destroy F
 GLIBC_2.34 sem_open F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
index 6b6f17b0dd..484a009c6b 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
@@ -32,7 +32,6 @@ GLIBC_2.2 pthread_getconcurrency F
 GLIBC_2.2 pthread_getcpuclockid F
 GLIBC_2.2 pthread_join F
 GLIBC_2.2 pthread_setconcurrency F
-GLIBC_2.2 sem_destroy F
 GLIBC_2.2 sem_getvalue F
 GLIBC_2.2 sem_init F
 GLIBC_2.2 sem_post F
diff --git a/sysdeps/unix/sysv/linux/sh/be/libc.abilist b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
index e4eb7c0042..6b01abbad2 100644
--- a/sysdeps/unix/sysv/linux/sh/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
@@ -1457,6 +1457,7 @@ GLIBC_2.2 seed48_r F
 GLIBC_2.2 seekdir F
 GLIBC_2.2 select F
 GLIBC_2.2 sem_close F
+GLIBC_2.2 sem_destroy F
 GLIBC_2.2 sem_open F
 GLIBC_2.2 semctl F
 GLIBC_2.2 semget F
@@ -2251,6 +2252,7 @@ GLIBC_2.34 pthread_spin_unlock F
 GLIBC_2.34 pthread_testcancel F
 GLIBC_2.34 sem_clockwait F
 GLIBC_2.34 sem_close F
+GLIBC_2.34 sem_destroy F
 GLIBC_2.34 sem_open F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
diff --git a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
index c07e43ba36..c8a67fff04 100644
--- a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
@@ -31,7 +31,6 @@ GLIBC_2.2 pthread_getconcurrency F
 GLIBC_2.2 pthread_getcpuclockid F
 GLIBC_2.2 pthread_join F
 GLIBC_2.2 pthread_setconcurrency F
-GLIBC_2.2 sem_destroy F
 GLIBC_2.2 sem_getvalue F
 GLIBC_2.2 sem_init F
 GLIBC_2.2 sem_post F
diff --git a/sysdeps/unix/sysv/linux/sh/le/libc.abilist b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
index 2a019d5f89..5a1bd3aee6 100644
--- a/sysdeps/unix/sysv/linux/sh/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
@@ -1457,6 +1457,7 @@ GLIBC_2.2 seed48_r F
 GLIBC_2.2 seekdir F
 GLIBC_2.2 select F
 GLIBC_2.2 sem_close F
+GLIBC_2.2 sem_destroy F
 GLIBC_2.2 sem_open F
 GLIBC_2.2 semctl F
 GLIBC_2.2 semget F
@@ -2248,6 +2249,7 @@ GLIBC_2.34 pthread_spin_unlock F
 GLIBC_2.34 pthread_testcancel F
 GLIBC_2.34 sem_clockwait F
 GLIBC_2.34 sem_close F
+GLIBC_2.34 sem_destroy F
 GLIBC_2.34 sem_open F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
diff --git a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
index c07e43ba36..c8a67fff04 100644
--- a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
@@ -31,7 +31,6 @@ GLIBC_2.2 pthread_getconcurrency F
 GLIBC_2.2 pthread_getcpuclockid F
 GLIBC_2.2 pthread_join F
 GLIBC_2.2 pthread_setconcurrency F
-GLIBC_2.2 sem_destroy F
 GLIBC_2.2 sem_getvalue F
 GLIBC_2.2 sem_init F
 GLIBC_2.2 sem_post F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
index a0e6b25aeb..15664192ec 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
@@ -989,6 +989,7 @@ GLIBC_2.0 seed48 F
 GLIBC_2.0 seed48_r F
 GLIBC_2.0 seekdir F
 GLIBC_2.0 select F
+GLIBC_2.0 sem_destroy F
 GLIBC_2.0 semctl F
 GLIBC_2.0 semget F
 GLIBC_2.0 semop F
@@ -1598,6 +1599,7 @@ GLIBC_2.1 readdir64 F
 GLIBC_2.1 readdir64_r F
 GLIBC_2.1 rtime F
 GLIBC_2.1 scandir64 F
+GLIBC_2.1 sem_destroy F
 GLIBC_2.1 sendfile F
 GLIBC_2.1 setrlimit64 F
 GLIBC_2.1 setutxent F
@@ -2380,6 +2382,7 @@ GLIBC_2.34 pthread_spin_unlock F
 GLIBC_2.34 pthread_testcancel F
 GLIBC_2.34 sem_clockwait F
 GLIBC_2.34 sem_close F
+GLIBC_2.34 sem_destroy F
 GLIBC_2.34 sem_open F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
index 8cc7e9bc57..f489e4d96f 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
@@ -9,7 +9,6 @@ GLIBC_2.0 pthread_cancel F
 GLIBC_2.0 pthread_create F
 GLIBC_2.0 pthread_detach F
 GLIBC_2.0 pthread_join F
-GLIBC_2.0 sem_destroy F
 GLIBC_2.0 sem_getvalue F
 GLIBC_2.0 sem_init F
 GLIBC_2.0 sem_post F
@@ -24,7 +23,6 @@ GLIBC_2.1 pthread_attr_setstacksize F
 GLIBC_2.1 pthread_create F
 GLIBC_2.1 pthread_getconcurrency F
 GLIBC_2.1 pthread_setconcurrency F
-GLIBC_2.1 sem_destroy F
 GLIBC_2.1 sem_getvalue F
 GLIBC_2.1 sem_init F
 GLIBC_2.1 sem_post F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
index f836c0c88b..7435c3ec03 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
@@ -1500,6 +1500,7 @@ GLIBC_2.2 seed48_r F
 GLIBC_2.2 seekdir F
 GLIBC_2.2 select F
 GLIBC_2.2 sem_close F
+GLIBC_2.2 sem_destroy F
 GLIBC_2.2 sem_open F
 GLIBC_2.2 semctl F
 GLIBC_2.2 semget F
@@ -2299,6 +2300,7 @@ GLIBC_2.34 pthread_spin_unlock F
 GLIBC_2.34 pthread_testcancel F
 GLIBC_2.34 sem_clockwait F
 GLIBC_2.34 sem_close F
+GLIBC_2.34 sem_destroy F
 GLIBC_2.34 sem_open F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
index 42c7615f64..51ba7cd9d3 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
@@ -31,7 +31,6 @@ GLIBC_2.2 pthread_getconcurrency F
 GLIBC_2.2 pthread_getcpuclockid F
 GLIBC_2.2 pthread_join F
 GLIBC_2.2 pthread_setconcurrency F
-GLIBC_2.2 sem_destroy F
 GLIBC_2.2 sem_getvalue F
 GLIBC_2.2 sem_init F
 GLIBC_2.2 sem_post F
diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
index 8c48f6fbd0..bb1b29fae1 100644
--- a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
@@ -1468,6 +1468,7 @@ GLIBC_2.2.5 seed48_r F
 GLIBC_2.2.5 seekdir F
 GLIBC_2.2.5 select F
 GLIBC_2.2.5 sem_close F
+GLIBC_2.2.5 sem_destroy F
 GLIBC_2.2.5 sem_open F
 GLIBC_2.2.5 semctl F
 GLIBC_2.2.5 semget F
@@ -2260,6 +2261,7 @@ GLIBC_2.34 pthread_spin_unlock F
 GLIBC_2.34 pthread_testcancel F
 GLIBC_2.34 sem_clockwait F
 GLIBC_2.34 sem_close F
+GLIBC_2.34 sem_destroy F
 GLIBC_2.34 sem_open F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
index 9a98ac62d7..4afc067ed7 100644
--- a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
@@ -31,7 +31,6 @@ GLIBC_2.2.5 pthread_getconcurrency F
 GLIBC_2.2.5 pthread_getcpuclockid F
 GLIBC_2.2.5 pthread_join F
 GLIBC_2.2.5 pthread_setconcurrency F
-GLIBC_2.2.5 sem_destroy F
 GLIBC_2.2.5 sem_getvalue F
 GLIBC_2.2.5 sem_init F
 GLIBC_2.2.5 sem_post F
diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
index f96ad30cef..0ab342e22f 100644
--- a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
@@ -1667,6 +1667,7 @@ GLIBC_2.16 seed48_r F
 GLIBC_2.16 seekdir F
 GLIBC_2.16 select F
 GLIBC_2.16 sem_close F
+GLIBC_2.16 sem_destroy F
 GLIBC_2.16 sem_open F
 GLIBC_2.16 semctl F
 GLIBC_2.16 semget F
@@ -2365,6 +2366,7 @@ GLIBC_2.34 pthread_spin_unlock F
 GLIBC_2.34 pthread_testcancel F
 GLIBC_2.34 sem_clockwait F
 GLIBC_2.34 sem_close F
+GLIBC_2.34 sem_destroy F
 GLIBC_2.34 sem_open F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
index 025b02f3de..be4a4b86fe 100644
--- a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
@@ -39,7 +39,6 @@ GLIBC_2.16 pthread_setschedprio F
 GLIBC_2.16 pthread_sigqueue F
 GLIBC_2.16 pthread_timedjoin_np F
 GLIBC_2.16 pthread_tryjoin_np F
-GLIBC_2.16 sem_destroy F
 GLIBC_2.16 sem_getvalue F
 GLIBC_2.16 sem_init F
 GLIBC_2.16 sem_post F
