about summary refs log tree commit diff
diff options
context:
space:
mode:
authorFlorian Weimer <fweimer@redhat.com>2021-05-03 08:12:11 +0200
committerFlorian Weimer <fweimer@redhat.com>2021-05-03 08:15:15 +0200
commit17b67416c5ea65507c9b32aec1928afc88569eb2 (patch)
tree7ba718bbe51468a3d80e1250710b6b428288acf3
parentcf3fff1c195f859ba949a7ad86d4fca70bd99740 (diff)
downloadglibc-17b67416c5ea65507c9b32aec1928afc88569eb2.tar.gz
glibc-17b67416c5ea65507c9b32aec1928afc88569eb2.tar.xz
glibc-17b67416c5ea65507c9b32aec1928afc88569eb2.zip
nptl: Move mtx_destroy into libc
The symbol was moved using scripts/move-symbol-to-libc.py.

The __pthread_mutex_destroy@@GLIBC_2.34 symbol is no longer
neded because this commit makes __pthread_mutex_destroy@GLIBC_2.0
a compatibility symbol, so remove the new symbol version.

Reviewed-by: Carlos O'Donell <carlos@redhat.com>
Tested-by: Carlos O'Donell <carlos@redhat.com>
-rw-r--r--nptl/Versions4
-rw-r--r--nptl/pthread_mutex_destroy.c7
-rw-r--r--sysdeps/pthread/Makefile3
-rw-r--r--sysdeps/pthread/mtx_destroy.c11
-rw-r--r--sysdeps/unix/sysv/linux/aarch64/libc.abilist3
-rw-r--r--sysdeps/unix/sysv/linux/aarch64/libpthread.abilist1
-rw-r--r--sysdeps/unix/sysv/linux/alpha/libc.abilist3
-rw-r--r--sysdeps/unix/sysv/linux/alpha/libpthread.abilist1
-rw-r--r--sysdeps/unix/sysv/linux/arc/libc.abilist3
-rw-r--r--sysdeps/unix/sysv/linux/arc/libpthread.abilist1
-rw-r--r--sysdeps/unix/sysv/linux/arm/be/libc.abilist3
-rw-r--r--sysdeps/unix/sysv/linux/arm/be/libpthread.abilist1
-rw-r--r--sysdeps/unix/sysv/linux/arm/le/libc.abilist3
-rw-r--r--sysdeps/unix/sysv/linux/arm/le/libpthread.abilist1
-rw-r--r--sysdeps/unix/sysv/linux/csky/libc.abilist3
-rw-r--r--sysdeps/unix/sysv/linux/csky/libpthread.abilist1
-rw-r--r--sysdeps/unix/sysv/linux/hppa/libc.abilist3
-rw-r--r--sysdeps/unix/sysv/linux/hppa/libpthread.abilist1
-rw-r--r--sysdeps/unix/sysv/linux/i386/libc.abilist3
-rw-r--r--sysdeps/unix/sysv/linux/i386/libpthread.abilist1
-rw-r--r--sysdeps/unix/sysv/linux/ia64/libc.abilist3
-rw-r--r--sysdeps/unix/sysv/linux/ia64/libpthread.abilist1
-rw-r--r--sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist3
-rw-r--r--sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist1
-rw-r--r--sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist3
-rw-r--r--sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist1
-rw-r--r--sysdeps/unix/sysv/linux/microblaze/be/libc.abilist3
-rw-r--r--sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist1
-rw-r--r--sysdeps/unix/sysv/linux/microblaze/le/libc.abilist3
-rw-r--r--sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist1
-rw-r--r--sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist3
-rw-r--r--sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist1
-rw-r--r--sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist3
-rw-r--r--sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist1
-rw-r--r--sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist3
-rw-r--r--sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist3
-rw-r--r--sysdeps/unix/sysv/linux/nios2/libc.abilist3
-rw-r--r--sysdeps/unix/sysv/linux/nios2/libpthread.abilist1
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist3
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist1
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist3
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist3
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist1
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist3
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist1
-rw-r--r--sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist3
-rw-r--r--sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist1
-rw-r--r--sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist3
-rw-r--r--sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist1
-rw-r--r--sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist3
-rw-r--r--sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist1
-rw-r--r--sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist3
-rw-r--r--sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist1
-rw-r--r--sysdeps/unix/sysv/linux/sh/be/libc.abilist3
-rw-r--r--sysdeps/unix/sysv/linux/sh/be/libpthread.abilist1
-rw-r--r--sysdeps/unix/sysv/linux/sh/le/libc.abilist3
-rw-r--r--sysdeps/unix/sysv/linux/sh/le/libpthread.abilist1
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist3
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist1
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist3
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist1
-rw-r--r--sysdeps/unix/sysv/linux/x86_64/64/libc.abilist3
-rw-r--r--sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist1
-rw-r--r--sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist3
-rw-r--r--sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist1
65 files changed, 82 insertions, 68 deletions
diff --git a/nptl/Versions b/nptl/Versions
index 414349eadc..939bed94e9 100644
--- a/nptl/Versions
+++ b/nptl/Versions
@@ -133,6 +133,7 @@ libc {
     cnd_signal;
     cnd_timedwait;
     cnd_wait;
+    mtx_destroy;
     thrd_current;
     thrd_equal;
     thrd_sleep;
@@ -154,7 +155,6 @@ libc {
     __pthread_cleanup_routine;
     __pthread_getspecific;
     __pthread_key_create;
-    __pthread_mutex_destroy;
     __pthread_mutex_init;
     __pthread_mutex_lock;
     __pthread_mutex_unlock;
@@ -168,6 +168,7 @@ libc {
     cnd_signal;
     cnd_timedwait;
     cnd_wait;
+    mtx_destroy;
     pthread_cond_clockwait;
     pthread_condattr_getclock;
     pthread_condattr_getpshared;
@@ -380,7 +381,6 @@ libpthread {
 
   # C11 thread symbols.
   GLIBC_2.28 {
-    mtx_destroy;
     mtx_init;
     mtx_lock;
     mtx_timedlock;
diff --git a/nptl/pthread_mutex_destroy.c b/nptl/pthread_mutex_destroy.c
index 89825d44f0..54a98d4539 100644
--- a/nptl/pthread_mutex_destroy.c
+++ b/nptl/pthread_mutex_destroy.c
@@ -41,11 +41,12 @@ ___pthread_mutex_destroy (pthread_mutex_t *mutex)
 
   return 0;
 }
-versioned_symbol (libc, ___pthread_mutex_destroy, __pthread_mutex_destroy,
-                  GLIBC_2_34);
-libc_hidden_ver (___pthread_mutex_destroy, __pthread_mutex_destroy)
 versioned_symbol (libc, ___pthread_mutex_destroy, pthread_mutex_destroy,
                   GLIBC_2_0);
+libc_hidden_ver (___pthread_mutex_destroy, __pthread_mutex_destroy)
+#ifndef SHARED
+strong_alias (___pthread_mutex_destroy, __pthread_mutex_destroy)
+#endif
 
 #if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_0, GLIBC_2_34)
 compat_symbol (libpthread, ___pthread_mutex_destroy, __pthread_mutex_destroy,
diff --git a/sysdeps/pthread/Makefile b/sysdeps/pthread/Makefile
index 9a20996e36..591722460a 100644
--- a/sysdeps/pthread/Makefile
+++ b/sysdeps/pthread/Makefile
@@ -32,7 +32,7 @@ headers += threads.h
 routines += thrd_current thrd_equal thrd_sleep thrd_yield
 
 libpthread-routines += thrd_create thrd_detach thrd_exit thrd_join \
-		       mtx_destroy mtx_init mtx_lock mtx_timedlock \
+		       mtx_init mtx_lock mtx_timedlock \
 		       mtx_trylock mtx_unlock \
 		       tss_create tss_delete tss_get tss_set
 
@@ -44,6 +44,7 @@ $(libpthread-routines-var) += \
   cnd_signal \
   cnd_timedwait \
   cnd_wait \
+  mtx_destroy \
 
 tests += tst-cnd-basic tst-mtx-trylock tst-cnd-broadcast \
 	 tst-cnd-timedwait tst-thrd-detach tst-mtx-basic tst-thrd-sleep \
diff --git a/sysdeps/pthread/mtx_destroy.c b/sysdeps/pthread/mtx_destroy.c
index 2ccdc17bb6..cb7efd21a1 100644
--- a/sysdeps/pthread/mtx_destroy.c
+++ b/sysdeps/pthread/mtx_destroy.c
@@ -18,9 +18,18 @@
 
 #include "thrd_priv.h"
 #include "pthreadP.h"
+#include <shlib-compat.h>
 
 void
-mtx_destroy (mtx_t *mutex)
+__mtx_destroy (mtx_t *mutex)
 {
   __pthread_mutex_destroy ((pthread_mutex_t *) mutex);
 }
+#if PTHREAD_IN_LIBC
+versioned_symbol (libc, __mtx_destroy, mtx_destroy, GLIBC_2_34);
+# if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_28, GLIBC_2_34)
+compat_symbol (libpthread, __mtx_destroy, mtx_destroy, GLIBC_2_28);
+# endif
+#else /* !PTHREAD_IN_LIBC */
+strong_alias (__mtx_destroy, mtx_destroy)
+#endif
diff --git a/sysdeps/unix/sysv/linux/aarch64/libc.abilist b/sysdeps/unix/sysv/linux/aarch64/libc.abilist
index 727d187fe6..0342b37e0b 100644
--- a/sysdeps/unix/sysv/linux/aarch64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/aarch64/libc.abilist
@@ -2206,6 +2206,7 @@ GLIBC_2.28 cnd_signal F
 GLIBC_2.28 cnd_timedwait F
 GLIBC_2.28 cnd_wait F
 GLIBC_2.28 fcntl64 F
+GLIBC_2.28 mtx_destroy F
 GLIBC_2.28 renameat2 F
 GLIBC_2.28 statx F
 GLIBC_2.28 thrd_current F
@@ -2247,7 +2248,6 @@ GLIBC_2.34 __libc_start_main F
 GLIBC_2.34 __pthread_cleanup_routine F
 GLIBC_2.34 __pthread_getspecific F
 GLIBC_2.34 __pthread_key_create F
-GLIBC_2.34 __pthread_mutex_destroy F
 GLIBC_2.34 __pthread_mutex_init F
 GLIBC_2.34 __pthread_mutex_lock F
 GLIBC_2.34 __pthread_mutex_trylock F
@@ -2263,6 +2263,7 @@ GLIBC_2.34 cnd_init F
 GLIBC_2.34 cnd_signal F
 GLIBC_2.34 cnd_timedwait F
 GLIBC_2.34 cnd_wait F
+GLIBC_2.34 mtx_destroy F
 GLIBC_2.34 pthread_cond_clockwait F
 GLIBC_2.34 pthread_condattr_getclock F
 GLIBC_2.34 pthread_condattr_getpshared F
diff --git a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
index 8416e6b074..040566dd8d 100644
--- a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
@@ -69,7 +69,6 @@ GLIBC_2.17 sem_unlink F
 GLIBC_2.17 sem_wait F
 GLIBC_2.18 pthread_getattr_default_np F
 GLIBC_2.18 pthread_setattr_default_np F
-GLIBC_2.28 mtx_destroy F
 GLIBC_2.28 mtx_init F
 GLIBC_2.28 mtx_lock F
 GLIBC_2.28 mtx_timedlock F
diff --git a/sysdeps/unix/sysv/linux/alpha/libc.abilist b/sysdeps/unix/sysv/linux/alpha/libc.abilist
index dcf1660036..ef9839121c 100644
--- a/sysdeps/unix/sysv/linux/alpha/libc.abilist
+++ b/sysdeps/unix/sysv/linux/alpha/libc.abilist
@@ -2099,6 +2099,7 @@ GLIBC_2.28 cnd_signal F
 GLIBC_2.28 cnd_timedwait F
 GLIBC_2.28 cnd_wait F
 GLIBC_2.28 fcntl64 F
+GLIBC_2.28 mtx_destroy F
 GLIBC_2.28 renameat2 F
 GLIBC_2.28 statx F
 GLIBC_2.28 thrd_current F
@@ -2328,7 +2329,6 @@ GLIBC_2.34 __libc_start_main F
 GLIBC_2.34 __pthread_cleanup_routine F
 GLIBC_2.34 __pthread_getspecific F
 GLIBC_2.34 __pthread_key_create F
-GLIBC_2.34 __pthread_mutex_destroy F
 GLIBC_2.34 __pthread_mutex_init F
 GLIBC_2.34 __pthread_mutex_lock F
 GLIBC_2.34 __pthread_mutex_trylock F
@@ -2344,6 +2344,7 @@ GLIBC_2.34 cnd_init F
 GLIBC_2.34 cnd_signal F
 GLIBC_2.34 cnd_timedwait F
 GLIBC_2.34 cnd_wait F
+GLIBC_2.34 mtx_destroy F
 GLIBC_2.34 pthread_cond_clockwait F
 GLIBC_2.34 pthread_condattr_getclock F
 GLIBC_2.34 pthread_condattr_getpshared F
diff --git a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
index 78f6acbe3b..a559c85f49 100644
--- a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
@@ -69,7 +69,6 @@ GLIBC_2.2 pthread_yield F
 GLIBC_2.2 sem_timedwait F
 GLIBC_2.2.3 __libpthread_version_placeholder F
 GLIBC_2.2.6 __libpthread_version_placeholder F
-GLIBC_2.28 mtx_destroy F
 GLIBC_2.28 mtx_init F
 GLIBC_2.28 mtx_lock F
 GLIBC_2.28 mtx_timedlock F
diff --git a/sysdeps/unix/sysv/linux/arc/libc.abilist b/sysdeps/unix/sysv/linux/arc/libc.abilist
index 92a85009c1..f27db10a34 100644
--- a/sysdeps/unix/sysv/linux/arc/libc.abilist
+++ b/sysdeps/unix/sysv/linux/arc/libc.abilist
@@ -1263,6 +1263,7 @@ GLIBC_2.32 msgrcv F
 GLIBC_2.32 msgsnd F
 GLIBC_2.32 msync F
 GLIBC_2.32 mtrace F
+GLIBC_2.32 mtx_destroy F
 GLIBC_2.32 munlock F
 GLIBC_2.32 munlockall F
 GLIBC_2.32 munmap F
@@ -2006,7 +2007,6 @@ GLIBC_2.34 __libc_start_main F
 GLIBC_2.34 __pthread_cleanup_routine F
 GLIBC_2.34 __pthread_getspecific F
 GLIBC_2.34 __pthread_key_create F
-GLIBC_2.34 __pthread_mutex_destroy F
 GLIBC_2.34 __pthread_mutex_init F
 GLIBC_2.34 __pthread_mutex_lock F
 GLIBC_2.34 __pthread_mutex_trylock F
@@ -2022,6 +2022,7 @@ GLIBC_2.34 cnd_init F
 GLIBC_2.34 cnd_signal F
 GLIBC_2.34 cnd_timedwait F
 GLIBC_2.34 cnd_wait F
+GLIBC_2.34 mtx_destroy F
 GLIBC_2.34 pthread_cond_clockwait F
 GLIBC_2.34 pthread_condattr_getclock F
 GLIBC_2.34 pthread_condattr_getpshared F
diff --git a/sysdeps/unix/sysv/linux/arc/libpthread.abilist b/sysdeps/unix/sysv/linux/arc/libpthread.abilist
index 3517fcc106..10529e4718 100644
--- a/sysdeps/unix/sysv/linux/arc/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/arc/libpthread.abilist
@@ -13,7 +13,6 @@ GLIBC_2.32 __pthread_unregister_cancel_restore F
 GLIBC_2.32 flockfile F
 GLIBC_2.32 ftrylockfile F
 GLIBC_2.32 funlockfile F
-GLIBC_2.32 mtx_destroy F
 GLIBC_2.32 mtx_init F
 GLIBC_2.32 mtx_lock F
 GLIBC_2.32 mtx_timedlock F
diff --git a/sysdeps/unix/sysv/linux/arm/be/libc.abilist b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
index f4b678c20c..4e9841bdcb 100644
--- a/sysdeps/unix/sysv/linux/arm/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
@@ -127,6 +127,7 @@ GLIBC_2.28 cnd_timedwait F
 GLIBC_2.28 cnd_wait F
 GLIBC_2.28 fcntl F
 GLIBC_2.28 fcntl64 F
+GLIBC_2.28 mtx_destroy F
 GLIBC_2.28 renameat2 F
 GLIBC_2.28 statx F
 GLIBC_2.28 thrd_current F
@@ -171,7 +172,6 @@ GLIBC_2.34 __libc_start_main F
 GLIBC_2.34 __pthread_cleanup_routine F
 GLIBC_2.34 __pthread_getspecific F
 GLIBC_2.34 __pthread_key_create F
-GLIBC_2.34 __pthread_mutex_destroy F
 GLIBC_2.34 __pthread_mutex_init F
 GLIBC_2.34 __pthread_mutex_lock F
 GLIBC_2.34 __pthread_mutex_trylock F
@@ -187,6 +187,7 @@ GLIBC_2.34 cnd_init F
 GLIBC_2.34 cnd_signal F
 GLIBC_2.34 cnd_timedwait F
 GLIBC_2.34 cnd_wait F
+GLIBC_2.34 mtx_destroy F
 GLIBC_2.34 pthread_cond_clockwait F
 GLIBC_2.34 pthread_condattr_getclock F
 GLIBC_2.34 pthread_condattr_getpshared F
diff --git a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
index f87a20049c..ce54e903a4 100644
--- a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
@@ -3,7 +3,6 @@ GLIBC_2.12 pthread_getname_np F
 GLIBC_2.12 pthread_setname_np F
 GLIBC_2.18 pthread_getattr_default_np F
 GLIBC_2.18 pthread_setattr_default_np F
-GLIBC_2.28 mtx_destroy F
 GLIBC_2.28 mtx_init F
 GLIBC_2.28 mtx_lock F
 GLIBC_2.28 mtx_timedlock F
diff --git a/sysdeps/unix/sysv/linux/arm/le/libc.abilist b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
index 4ded932fb2..eb566e2cc9 100644
--- a/sysdeps/unix/sysv/linux/arm/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
@@ -127,6 +127,7 @@ GLIBC_2.28 cnd_timedwait F
 GLIBC_2.28 cnd_wait F
 GLIBC_2.28 fcntl F
 GLIBC_2.28 fcntl64 F
+GLIBC_2.28 mtx_destroy F
 GLIBC_2.28 renameat2 F
 GLIBC_2.28 statx F
 GLIBC_2.28 thrd_current F
@@ -168,7 +169,6 @@ GLIBC_2.34 __libc_start_main F
 GLIBC_2.34 __pthread_cleanup_routine F
 GLIBC_2.34 __pthread_getspecific F
 GLIBC_2.34 __pthread_key_create F
-GLIBC_2.34 __pthread_mutex_destroy F
 GLIBC_2.34 __pthread_mutex_init F
 GLIBC_2.34 __pthread_mutex_lock F
 GLIBC_2.34 __pthread_mutex_trylock F
@@ -184,6 +184,7 @@ GLIBC_2.34 cnd_init F
 GLIBC_2.34 cnd_signal F
 GLIBC_2.34 cnd_timedwait F
 GLIBC_2.34 cnd_wait F
+GLIBC_2.34 mtx_destroy F
 GLIBC_2.34 pthread_cond_clockwait F
 GLIBC_2.34 pthread_condattr_getclock F
 GLIBC_2.34 pthread_condattr_getpshared F
diff --git a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
index f87a20049c..ce54e903a4 100644
--- a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
@@ -3,7 +3,6 @@ GLIBC_2.12 pthread_getname_np F
 GLIBC_2.12 pthread_setname_np F
 GLIBC_2.18 pthread_getattr_default_np F
 GLIBC_2.18 pthread_setattr_default_np F
-GLIBC_2.28 mtx_destroy F
 GLIBC_2.28 mtx_init F
 GLIBC_2.28 mtx_lock F
 GLIBC_2.28 mtx_timedlock F
diff --git a/sysdeps/unix/sysv/linux/csky/libc.abilist b/sysdeps/unix/sysv/linux/csky/libc.abilist
index 46ecbc1fcc..6c47ea41f8 100644
--- a/sysdeps/unix/sysv/linux/csky/libc.abilist
+++ b/sysdeps/unix/sysv/linux/csky/libc.abilist
@@ -1318,6 +1318,7 @@ GLIBC_2.29 msgrcv F
 GLIBC_2.29 msgsnd F
 GLIBC_2.29 msync F
 GLIBC_2.29 mtrace F
+GLIBC_2.29 mtx_destroy F
 GLIBC_2.29 munlock F
 GLIBC_2.29 munlockall F
 GLIBC_2.29 munmap F
@@ -2190,7 +2191,6 @@ GLIBC_2.34 __libc_start_main F
 GLIBC_2.34 __pthread_cleanup_routine F
 GLIBC_2.34 __pthread_getspecific F
 GLIBC_2.34 __pthread_key_create F
-GLIBC_2.34 __pthread_mutex_destroy F
 GLIBC_2.34 __pthread_mutex_init F
 GLIBC_2.34 __pthread_mutex_lock F
 GLIBC_2.34 __pthread_mutex_trylock F
@@ -2206,6 +2206,7 @@ GLIBC_2.34 cnd_init F
 GLIBC_2.34 cnd_signal F
 GLIBC_2.34 cnd_timedwait F
 GLIBC_2.34 cnd_wait F
+GLIBC_2.34 mtx_destroy F
 GLIBC_2.34 pthread_cond_clockwait F
 GLIBC_2.34 pthread_condattr_getclock F
 GLIBC_2.34 pthread_condattr_getpshared F
diff --git a/sysdeps/unix/sysv/linux/csky/libpthread.abilist b/sysdeps/unix/sysv/linux/csky/libpthread.abilist
index 3d7abbbeff..4e57ff71c3 100644
--- a/sysdeps/unix/sysv/linux/csky/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/csky/libpthread.abilist
@@ -13,7 +13,6 @@ GLIBC_2.29 __pthread_unregister_cancel_restore F
 GLIBC_2.29 flockfile F
 GLIBC_2.29 ftrylockfile F
 GLIBC_2.29 funlockfile F
-GLIBC_2.29 mtx_destroy F
 GLIBC_2.29 mtx_init F
 GLIBC_2.29 mtx_lock F
 GLIBC_2.29 mtx_timedlock F
diff --git a/sysdeps/unix/sysv/linux/hppa/libc.abilist b/sysdeps/unix/sysv/linux/hppa/libc.abilist
index 82258f2a3e..c36fdc53af 100644
--- a/sysdeps/unix/sysv/linux/hppa/libc.abilist
+++ b/sysdeps/unix/sysv/linux/hppa/libc.abilist
@@ -1938,6 +1938,7 @@ GLIBC_2.28 cnd_timedwait F
 GLIBC_2.28 cnd_wait F
 GLIBC_2.28 fcntl F
 GLIBC_2.28 fcntl64 F
+GLIBC_2.28 mtx_destroy F
 GLIBC_2.28 renameat2 F
 GLIBC_2.28 statx F
 GLIBC_2.28 thrd_current F
@@ -2141,7 +2142,6 @@ GLIBC_2.34 __libc_start_main F
 GLIBC_2.34 __pthread_cleanup_routine F
 GLIBC_2.34 __pthread_getspecific F
 GLIBC_2.34 __pthread_key_create F
-GLIBC_2.34 __pthread_mutex_destroy F
 GLIBC_2.34 __pthread_mutex_init F
 GLIBC_2.34 __pthread_mutex_lock F
 GLIBC_2.34 __pthread_mutex_trylock F
@@ -2157,6 +2157,7 @@ GLIBC_2.34 cnd_init F
 GLIBC_2.34 cnd_signal F
 GLIBC_2.34 cnd_timedwait F
 GLIBC_2.34 cnd_wait F
+GLIBC_2.34 mtx_destroy F
 GLIBC_2.34 pthread_cond_clockwait F
 GLIBC_2.34 pthread_condattr_getclock F
 GLIBC_2.34 pthread_condattr_getpshared F
diff --git a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
index 238a9083ba..f0950eec65 100644
--- a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
@@ -61,7 +61,6 @@ GLIBC_2.2 sem_unlink F
 GLIBC_2.2 sem_wait F
 GLIBC_2.2.3 __libpthread_version_placeholder F
 GLIBC_2.2.6 __libpthread_version_placeholder F
-GLIBC_2.28 mtx_destroy F
 GLIBC_2.28 mtx_init F
 GLIBC_2.28 mtx_lock F
 GLIBC_2.28 mtx_timedlock F
diff --git a/sysdeps/unix/sysv/linux/i386/libc.abilist b/sysdeps/unix/sysv/linux/i386/libc.abilist
index 0e4aa2e7bb..94a86ebc85 100644
--- a/sysdeps/unix/sysv/linux/i386/libc.abilist
+++ b/sysdeps/unix/sysv/linux/i386/libc.abilist
@@ -2112,6 +2112,7 @@ GLIBC_2.28 cnd_timedwait F
 GLIBC_2.28 cnd_wait F
 GLIBC_2.28 fcntl F
 GLIBC_2.28 fcntl64 F
+GLIBC_2.28 mtx_destroy F
 GLIBC_2.28 renameat2 F
 GLIBC_2.28 statx F
 GLIBC_2.28 thrd_current F
@@ -2318,7 +2319,6 @@ GLIBC_2.34 __libc_start_main F
 GLIBC_2.34 __pthread_cleanup_routine F
 GLIBC_2.34 __pthread_getspecific F
 GLIBC_2.34 __pthread_key_create F
-GLIBC_2.34 __pthread_mutex_destroy F
 GLIBC_2.34 __pthread_mutex_init F
 GLIBC_2.34 __pthread_mutex_lock F
 GLIBC_2.34 __pthread_mutex_trylock F
@@ -2334,6 +2334,7 @@ GLIBC_2.34 cnd_init F
 GLIBC_2.34 cnd_signal F
 GLIBC_2.34 cnd_timedwait F
 GLIBC_2.34 cnd_wait F
+GLIBC_2.34 mtx_destroy F
 GLIBC_2.34 pthread_cond_clockwait F
 GLIBC_2.34 pthread_condattr_getclock F
 GLIBC_2.34 pthread_condattr_getpshared F
diff --git a/sysdeps/unix/sysv/linux/i386/libpthread.abilist b/sysdeps/unix/sysv/linux/i386/libpthread.abilist
index 7ef2c9452d..54e0db13d2 100644
--- a/sysdeps/unix/sysv/linux/i386/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/i386/libpthread.abilist
@@ -69,7 +69,6 @@ GLIBC_2.2 pthread_yield F
 GLIBC_2.2 sem_timedwait F
 GLIBC_2.2.3 __libpthread_version_placeholder F
 GLIBC_2.2.6 __libpthread_version_placeholder F
-GLIBC_2.28 mtx_destroy F
 GLIBC_2.28 mtx_init F
 GLIBC_2.28 mtx_lock F
 GLIBC_2.28 mtx_timedlock F
diff --git a/sysdeps/unix/sysv/linux/ia64/libc.abilist b/sysdeps/unix/sysv/linux/ia64/libc.abilist
index 2ba9c1aa24..6fda5d312c 100644
--- a/sysdeps/unix/sysv/linux/ia64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/ia64/libc.abilist
@@ -1973,6 +1973,7 @@ GLIBC_2.28 cnd_signal F
 GLIBC_2.28 cnd_timedwait F
 GLIBC_2.28 cnd_wait F
 GLIBC_2.28 fcntl64 F
+GLIBC_2.28 mtx_destroy F
 GLIBC_2.28 renameat2 F
 GLIBC_2.28 statx F
 GLIBC_2.28 thrd_current F
@@ -2175,7 +2176,6 @@ GLIBC_2.34 __libc_start_main F
 GLIBC_2.34 __pthread_cleanup_routine F
 GLIBC_2.34 __pthread_getspecific F
 GLIBC_2.34 __pthread_key_create F
-GLIBC_2.34 __pthread_mutex_destroy F
 GLIBC_2.34 __pthread_mutex_init F
 GLIBC_2.34 __pthread_mutex_lock F
 GLIBC_2.34 __pthread_mutex_trylock F
@@ -2191,6 +2191,7 @@ GLIBC_2.34 cnd_init F
 GLIBC_2.34 cnd_signal F
 GLIBC_2.34 cnd_timedwait F
 GLIBC_2.34 cnd_wait F
+GLIBC_2.34 mtx_destroy F
 GLIBC_2.34 pthread_cond_clockwait F
 GLIBC_2.34 pthread_condattr_getclock F
 GLIBC_2.34 pthread_condattr_getpshared F
diff --git a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
index 00c79210a6..850b74f26a 100644
--- a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
@@ -61,7 +61,6 @@ GLIBC_2.2 sem_unlink F
 GLIBC_2.2 sem_wait F
 GLIBC_2.2.3 __libpthread_version_placeholder F
 GLIBC_2.2.6 __libpthread_version_placeholder F
-GLIBC_2.28 mtx_destroy F
 GLIBC_2.28 mtx_init F
 GLIBC_2.28 mtx_lock F
 GLIBC_2.28 mtx_timedlock F
diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
index 00c6710a33..00f92af83c 100644
--- a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
@@ -128,6 +128,7 @@ GLIBC_2.28 cnd_timedwait F
 GLIBC_2.28 cnd_wait F
 GLIBC_2.28 fcntl F
 GLIBC_2.28 fcntl64 F
+GLIBC_2.28 mtx_destroy F
 GLIBC_2.28 renameat2 F
 GLIBC_2.28 statx F
 GLIBC_2.28 thrd_current F
@@ -172,7 +173,6 @@ GLIBC_2.34 __libc_start_main F
 GLIBC_2.34 __pthread_cleanup_routine F
 GLIBC_2.34 __pthread_getspecific F
 GLIBC_2.34 __pthread_key_create F
-GLIBC_2.34 __pthread_mutex_destroy F
 GLIBC_2.34 __pthread_mutex_init F
 GLIBC_2.34 __pthread_mutex_lock F
 GLIBC_2.34 __pthread_mutex_trylock F
@@ -188,6 +188,7 @@ GLIBC_2.34 cnd_init F
 GLIBC_2.34 cnd_signal F
 GLIBC_2.34 cnd_timedwait F
 GLIBC_2.34 cnd_wait F
+GLIBC_2.34 mtx_destroy F
 GLIBC_2.34 pthread_cond_clockwait F
 GLIBC_2.34 pthread_condattr_getclock F
 GLIBC_2.34 pthread_condattr_getpshared F
diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
index f87a20049c..ce54e903a4 100644
--- a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
@@ -3,7 +3,6 @@ GLIBC_2.12 pthread_getname_np F
 GLIBC_2.12 pthread_setname_np F
 GLIBC_2.18 pthread_getattr_default_np F
 GLIBC_2.18 pthread_setattr_default_np F
-GLIBC_2.28 mtx_destroy F
 GLIBC_2.28 mtx_init F
 GLIBC_2.28 mtx_lock F
 GLIBC_2.28 mtx_timedlock F
diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
index befe384dad..6c0537be6e 100644
--- a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
@@ -2055,6 +2055,7 @@ GLIBC_2.28 cnd_timedwait F
 GLIBC_2.28 cnd_wait F
 GLIBC_2.28 fcntl F
 GLIBC_2.28 fcntl64 F
+GLIBC_2.28 mtx_destroy F
 GLIBC_2.28 renameat2 F
 GLIBC_2.28 statx F
 GLIBC_2.28 thrd_current F
@@ -2261,7 +2262,6 @@ GLIBC_2.34 __libc_start_main F
 GLIBC_2.34 __pthread_cleanup_routine F
 GLIBC_2.34 __pthread_getspecific F
 GLIBC_2.34 __pthread_key_create F
-GLIBC_2.34 __pthread_mutex_destroy F
 GLIBC_2.34 __pthread_mutex_init F
 GLIBC_2.34 __pthread_mutex_lock F
 GLIBC_2.34 __pthread_mutex_trylock F
@@ -2277,6 +2277,7 @@ GLIBC_2.34 cnd_init F
 GLIBC_2.34 cnd_signal F
 GLIBC_2.34 cnd_timedwait F
 GLIBC_2.34 cnd_wait F
+GLIBC_2.34 mtx_destroy F
 GLIBC_2.34 pthread_cond_clockwait F
 GLIBC_2.34 pthread_condattr_getclock F
 GLIBC_2.34 pthread_condattr_getpshared F
diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
index 7ef2c9452d..54e0db13d2 100644
--- a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
@@ -69,7 +69,6 @@ GLIBC_2.2 pthread_yield F
 GLIBC_2.2 sem_timedwait F
 GLIBC_2.2.3 __libpthread_version_placeholder F
 GLIBC_2.2.6 __libpthread_version_placeholder F
-GLIBC_2.28 mtx_destroy F
 GLIBC_2.28 mtx_init F
 GLIBC_2.28 mtx_lock F
 GLIBC_2.28 mtx_timedlock F
diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
index 12ced51c3a..53130e8b64 100644
--- a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
@@ -2197,6 +2197,7 @@ GLIBC_2.28 cnd_timedwait F
 GLIBC_2.28 cnd_wait F
 GLIBC_2.28 fcntl F
 GLIBC_2.28 fcntl64 F
+GLIBC_2.28 mtx_destroy F
 GLIBC_2.28 renameat2 F
 GLIBC_2.28 statx F
 GLIBC_2.28 thrd_current F
@@ -2241,7 +2242,6 @@ GLIBC_2.34 __libc_start_main F
 GLIBC_2.34 __pthread_cleanup_routine F
 GLIBC_2.34 __pthread_getspecific F
 GLIBC_2.34 __pthread_key_create F
-GLIBC_2.34 __pthread_mutex_destroy F
 GLIBC_2.34 __pthread_mutex_init F
 GLIBC_2.34 __pthread_mutex_lock F
 GLIBC_2.34 __pthread_mutex_trylock F
@@ -2257,6 +2257,7 @@ GLIBC_2.34 cnd_init F
 GLIBC_2.34 cnd_signal F
 GLIBC_2.34 cnd_timedwait F
 GLIBC_2.34 cnd_wait F
+GLIBC_2.34 mtx_destroy F
 GLIBC_2.34 pthread_cond_clockwait F
 GLIBC_2.34 pthread_condattr_getclock F
 GLIBC_2.34 pthread_condattr_getpshared F
diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
index fca505b4ca..bf2b06603d 100644
--- a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
@@ -69,7 +69,6 @@ GLIBC_2.18 sem_timedwait F
 GLIBC_2.18 sem_trywait F
 GLIBC_2.18 sem_unlink F
 GLIBC_2.18 sem_wait F
-GLIBC_2.28 mtx_destroy F
 GLIBC_2.28 mtx_init F
 GLIBC_2.28 mtx_lock F
 GLIBC_2.28 mtx_timedlock F
diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
index 7f0f679ad3..cbb3c523b8 100644
--- a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
@@ -2197,6 +2197,7 @@ GLIBC_2.28 cnd_timedwait F
 GLIBC_2.28 cnd_wait F
 GLIBC_2.28 fcntl F
 GLIBC_2.28 fcntl64 F
+GLIBC_2.28 mtx_destroy F
 GLIBC_2.28 renameat2 F
 GLIBC_2.28 statx F
 GLIBC_2.28 thrd_current F
@@ -2238,7 +2239,6 @@ GLIBC_2.34 __libc_start_main F
 GLIBC_2.34 __pthread_cleanup_routine F
 GLIBC_2.34 __pthread_getspecific F
 GLIBC_2.34 __pthread_key_create F
-GLIBC_2.34 __pthread_mutex_destroy F
 GLIBC_2.34 __pthread_mutex_init F
 GLIBC_2.34 __pthread_mutex_lock F
 GLIBC_2.34 __pthread_mutex_trylock F
@@ -2254,6 +2254,7 @@ GLIBC_2.34 cnd_init F
 GLIBC_2.34 cnd_signal F
 GLIBC_2.34 cnd_timedwait F
 GLIBC_2.34 cnd_wait F
+GLIBC_2.34 mtx_destroy F
 GLIBC_2.34 pthread_cond_clockwait F
 GLIBC_2.34 pthread_condattr_getclock F
 GLIBC_2.34 pthread_condattr_getpshared F
diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
index fca505b4ca..bf2b06603d 100644
--- a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
@@ -69,7 +69,6 @@ GLIBC_2.18 sem_timedwait F
 GLIBC_2.18 sem_trywait F
 GLIBC_2.18 sem_unlink F
 GLIBC_2.18 sem_wait F
-GLIBC_2.28 mtx_destroy F
 GLIBC_2.28 mtx_init F
 GLIBC_2.28 mtx_lock F
 GLIBC_2.28 mtx_timedlock F
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
index a6a8a08397..93b13a4032 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
@@ -2025,6 +2025,7 @@ GLIBC_2.28 cnd_timedwait F
 GLIBC_2.28 cnd_wait F
 GLIBC_2.28 fcntl F
 GLIBC_2.28 fcntl64 F
+GLIBC_2.28 mtx_destroy F
 GLIBC_2.28 renameat2 F
 GLIBC_2.28 statx F
 GLIBC_2.28 thrd_current F
@@ -2224,7 +2225,6 @@ GLIBC_2.34 __libc_start_main F
 GLIBC_2.34 __pthread_cleanup_routine F
 GLIBC_2.34 __pthread_getspecific F
 GLIBC_2.34 __pthread_key_create F
-GLIBC_2.34 __pthread_mutex_destroy F
 GLIBC_2.34 __pthread_mutex_init F
 GLIBC_2.34 __pthread_mutex_lock F
 GLIBC_2.34 __pthread_mutex_trylock F
@@ -2240,6 +2240,7 @@ GLIBC_2.34 cnd_init F
 GLIBC_2.34 cnd_signal F
 GLIBC_2.34 cnd_timedwait F
 GLIBC_2.34 cnd_wait F
+GLIBC_2.34 mtx_destroy F
 GLIBC_2.34 pthread_cond_clockwait F
 GLIBC_2.34 pthread_condattr_getclock F
 GLIBC_2.34 pthread_condattr_getpshared F
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
index 21144759a7..e159d47826 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
@@ -68,7 +68,6 @@ GLIBC_2.2 sem_unlink F
 GLIBC_2.2 sem_wait F
 GLIBC_2.2.3 __libpthread_version_placeholder F
 GLIBC_2.2.6 __libpthread_version_placeholder F
-GLIBC_2.28 mtx_destroy F
 GLIBC_2.28 mtx_init F
 GLIBC_2.28 mtx_lock F
 GLIBC_2.28 mtx_timedlock F
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
index e3bff4a9e9..e923ba0743 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
@@ -2023,6 +2023,7 @@ GLIBC_2.28 cnd_timedwait F
 GLIBC_2.28 cnd_wait F
 GLIBC_2.28 fcntl F
 GLIBC_2.28 fcntl64 F
+GLIBC_2.28 mtx_destroy F
 GLIBC_2.28 renameat2 F
 GLIBC_2.28 statx F
 GLIBC_2.28 thrd_current F
@@ -2222,7 +2223,6 @@ GLIBC_2.34 __libc_start_main F
 GLIBC_2.34 __pthread_cleanup_routine F
 GLIBC_2.34 __pthread_getspecific F
 GLIBC_2.34 __pthread_key_create F
-GLIBC_2.34 __pthread_mutex_destroy F
 GLIBC_2.34 __pthread_mutex_init F
 GLIBC_2.34 __pthread_mutex_lock F
 GLIBC_2.34 __pthread_mutex_trylock F
@@ -2238,6 +2238,7 @@ GLIBC_2.34 cnd_init F
 GLIBC_2.34 cnd_signal F
 GLIBC_2.34 cnd_timedwait F
 GLIBC_2.34 cnd_wait F
+GLIBC_2.34 mtx_destroy F
 GLIBC_2.34 pthread_cond_clockwait F
 GLIBC_2.34 pthread_condattr_getclock F
 GLIBC_2.34 pthread_condattr_getpshared F
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
index 21144759a7..e159d47826 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
@@ -68,7 +68,6 @@ GLIBC_2.2 sem_unlink F
 GLIBC_2.2 sem_wait F
 GLIBC_2.2.3 __libpthread_version_placeholder F
 GLIBC_2.2.6 __libpthread_version_placeholder F
-GLIBC_2.28 mtx_destroy F
 GLIBC_2.28 mtx_init F
 GLIBC_2.28 mtx_lock F
 GLIBC_2.28 mtx_timedlock F
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
index 3026b12f9d..331772354f 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
@@ -2031,6 +2031,7 @@ GLIBC_2.28 cnd_timedwait F
 GLIBC_2.28 cnd_wait F
 GLIBC_2.28 fcntl F
 GLIBC_2.28 fcntl64 F
+GLIBC_2.28 mtx_destroy F
 GLIBC_2.28 renameat2 F
 GLIBC_2.28 statx F
 GLIBC_2.28 thrd_current F
@@ -2230,7 +2231,6 @@ GLIBC_2.34 __libc_start_main F
 GLIBC_2.34 __pthread_cleanup_routine F
 GLIBC_2.34 __pthread_getspecific F
 GLIBC_2.34 __pthread_key_create F
-GLIBC_2.34 __pthread_mutex_destroy F
 GLIBC_2.34 __pthread_mutex_init F
 GLIBC_2.34 __pthread_mutex_lock F
 GLIBC_2.34 __pthread_mutex_trylock F
@@ -2246,6 +2246,7 @@ GLIBC_2.34 cnd_init F
 GLIBC_2.34 cnd_signal F
 GLIBC_2.34 cnd_timedwait F
 GLIBC_2.34 cnd_wait F
+GLIBC_2.34 mtx_destroy F
 GLIBC_2.34 pthread_cond_clockwait F
 GLIBC_2.34 pthread_condattr_getclock F
 GLIBC_2.34 pthread_condattr_getpshared F
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
index e1cb8c62d2..813a3e7347 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
@@ -2026,6 +2026,7 @@ GLIBC_2.28 cnd_signal F
 GLIBC_2.28 cnd_timedwait F
 GLIBC_2.28 cnd_wait F
 GLIBC_2.28 fcntl64 F
+GLIBC_2.28 mtx_destroy F
 GLIBC_2.28 renameat2 F
 GLIBC_2.28 statx F
 GLIBC_2.28 thrd_current F
@@ -2224,7 +2225,6 @@ GLIBC_2.34 __libc_start_main F
 GLIBC_2.34 __pthread_cleanup_routine F
 GLIBC_2.34 __pthread_getspecific F
 GLIBC_2.34 __pthread_key_create F
-GLIBC_2.34 __pthread_mutex_destroy F
 GLIBC_2.34 __pthread_mutex_init F
 GLIBC_2.34 __pthread_mutex_lock F
 GLIBC_2.34 __pthread_mutex_trylock F
@@ -2240,6 +2240,7 @@ GLIBC_2.34 cnd_init F
 GLIBC_2.34 cnd_signal F
 GLIBC_2.34 cnd_timedwait F
 GLIBC_2.34 cnd_wait F
+GLIBC_2.34 mtx_destroy F
 GLIBC_2.34 pthread_cond_clockwait F
 GLIBC_2.34 pthread_condattr_getclock F
 GLIBC_2.34 pthread_condattr_getpshared F
diff --git a/sysdeps/unix/sysv/linux/nios2/libc.abilist b/sysdeps/unix/sysv/linux/nios2/libc.abilist
index ff59a4cfb5..2dad49c10c 100644
--- a/sysdeps/unix/sysv/linux/nios2/libc.abilist
+++ b/sysdeps/unix/sysv/linux/nios2/libc.abilist
@@ -2239,6 +2239,7 @@ GLIBC_2.28 cnd_timedwait F
 GLIBC_2.28 cnd_wait F
 GLIBC_2.28 fcntl F
 GLIBC_2.28 fcntl64 F
+GLIBC_2.28 mtx_destroy F
 GLIBC_2.28 renameat2 F
 GLIBC_2.28 statx F
 GLIBC_2.28 thrd_current F
@@ -2280,7 +2281,6 @@ GLIBC_2.34 __libc_start_main F
 GLIBC_2.34 __pthread_cleanup_routine F
 GLIBC_2.34 __pthread_getspecific F
 GLIBC_2.34 __pthread_key_create F
-GLIBC_2.34 __pthread_mutex_destroy F
 GLIBC_2.34 __pthread_mutex_init F
 GLIBC_2.34 __pthread_mutex_lock F
 GLIBC_2.34 __pthread_mutex_trylock F
@@ -2296,6 +2296,7 @@ GLIBC_2.34 cnd_init F
 GLIBC_2.34 cnd_signal F
 GLIBC_2.34 cnd_timedwait F
 GLIBC_2.34 cnd_wait F
+GLIBC_2.34 mtx_destroy F
 GLIBC_2.34 pthread_cond_clockwait F
 GLIBC_2.34 pthread_condattr_getclock F
 GLIBC_2.34 pthread_condattr_getpshared F
diff --git a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
index d76f8a3ab5..747161ee6b 100644
--- a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
@@ -69,7 +69,6 @@ GLIBC_2.21 sem_timedwait F
 GLIBC_2.21 sem_trywait F
 GLIBC_2.21 sem_unlink F
 GLIBC_2.21 sem_wait F
-GLIBC_2.28 mtx_destroy F
 GLIBC_2.28 mtx_init F
 GLIBC_2.28 mtx_lock F
 GLIBC_2.28 mtx_timedlock F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
index 23cdf622f2..4081092566 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
@@ -2059,6 +2059,7 @@ GLIBC_2.28 cnd_timedwait F
 GLIBC_2.28 cnd_wait F
 GLIBC_2.28 fcntl F
 GLIBC_2.28 fcntl64 F
+GLIBC_2.28 mtx_destroy F
 GLIBC_2.28 renameat2 F
 GLIBC_2.28 statx F
 GLIBC_2.28 thrd_current F
@@ -2288,7 +2289,6 @@ GLIBC_2.34 __libc_start_main F
 GLIBC_2.34 __pthread_cleanup_routine F
 GLIBC_2.34 __pthread_getspecific F
 GLIBC_2.34 __pthread_key_create F
-GLIBC_2.34 __pthread_mutex_destroy F
 GLIBC_2.34 __pthread_mutex_init F
 GLIBC_2.34 __pthread_mutex_lock F
 GLIBC_2.34 __pthread_mutex_trylock F
@@ -2304,6 +2304,7 @@ GLIBC_2.34 cnd_init F
 GLIBC_2.34 cnd_signal F
 GLIBC_2.34 cnd_timedwait F
 GLIBC_2.34 cnd_wait F
+GLIBC_2.34 mtx_destroy F
 GLIBC_2.34 pthread_cond_clockwait F
 GLIBC_2.34 pthread_condattr_getclock F
 GLIBC_2.34 pthread_condattr_getpshared F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
index 13c9f368c9..864364b0bb 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
@@ -69,7 +69,6 @@ GLIBC_2.2 pthread_yield F
 GLIBC_2.2 sem_timedwait F
 GLIBC_2.2.3 __libpthread_version_placeholder F
 GLIBC_2.2.6 __libpthread_version_placeholder F
-GLIBC_2.28 mtx_destroy F
 GLIBC_2.28 mtx_init F
 GLIBC_2.28 mtx_lock F
 GLIBC_2.28 mtx_timedlock F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
index 2477837491..72aa073e62 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
@@ -2063,6 +2063,7 @@ GLIBC_2.28 cnd_timedwait F
 GLIBC_2.28 cnd_wait F
 GLIBC_2.28 fcntl F
 GLIBC_2.28 fcntl64 F
+GLIBC_2.28 mtx_destroy F
 GLIBC_2.28 renameat2 F
 GLIBC_2.28 statx F
 GLIBC_2.28 thrd_current F
@@ -2321,7 +2322,6 @@ GLIBC_2.34 __libc_start_main F
 GLIBC_2.34 __pthread_cleanup_routine F
 GLIBC_2.34 __pthread_getspecific F
 GLIBC_2.34 __pthread_key_create F
-GLIBC_2.34 __pthread_mutex_destroy F
 GLIBC_2.34 __pthread_mutex_init F
 GLIBC_2.34 __pthread_mutex_lock F
 GLIBC_2.34 __pthread_mutex_trylock F
@@ -2337,6 +2337,7 @@ GLIBC_2.34 cnd_init F
 GLIBC_2.34 cnd_signal F
 GLIBC_2.34 cnd_timedwait F
 GLIBC_2.34 cnd_wait F
+GLIBC_2.34 mtx_destroy F
 GLIBC_2.34 pthread_cond_clockwait F
 GLIBC_2.34 pthread_condattr_getclock F
 GLIBC_2.34 pthread_condattr_getpshared F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
index 091348a827..2faa943f05 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
@@ -127,6 +127,7 @@ GLIBC_2.28 cnd_signal F
 GLIBC_2.28 cnd_timedwait F
 GLIBC_2.28 cnd_wait F
 GLIBC_2.28 fcntl64 F
+GLIBC_2.28 mtx_destroy F
 GLIBC_2.28 renameat2 F
 GLIBC_2.28 statx F
 GLIBC_2.28 thrd_current F
@@ -2142,7 +2143,6 @@ GLIBC_2.34 __libc_start_main F
 GLIBC_2.34 __pthread_cleanup_routine F
 GLIBC_2.34 __pthread_getspecific F
 GLIBC_2.34 __pthread_key_create F
-GLIBC_2.34 __pthread_mutex_destroy F
 GLIBC_2.34 __pthread_mutex_init F
 GLIBC_2.34 __pthread_mutex_lock F
 GLIBC_2.34 __pthread_mutex_trylock F
@@ -2158,6 +2158,7 @@ GLIBC_2.34 cnd_init F
 GLIBC_2.34 cnd_signal F
 GLIBC_2.34 cnd_timedwait F
 GLIBC_2.34 cnd_wait F
+GLIBC_2.34 mtx_destroy F
 GLIBC_2.34 pthread_cond_clockwait F
 GLIBC_2.34 pthread_condattr_getclock F
 GLIBC_2.34 pthread_condattr_getpshared F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
index 2c2b1bb025..6691151b2e 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
@@ -3,7 +3,6 @@ GLIBC_2.12 pthread_getname_np F
 GLIBC_2.12 pthread_setname_np F
 GLIBC_2.18 pthread_getattr_default_np F
 GLIBC_2.18 pthread_setattr_default_np F
-GLIBC_2.28 mtx_destroy F
 GLIBC_2.28 mtx_init F
 GLIBC_2.28 mtx_lock F
 GLIBC_2.28 mtx_timedlock F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
index b1db90dbd1..7d2d64b9b7 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
@@ -2296,6 +2296,7 @@ GLIBC_2.28 cnd_signal F
 GLIBC_2.28 cnd_timedwait F
 GLIBC_2.28 cnd_wait F
 GLIBC_2.28 fcntl64 F
+GLIBC_2.28 mtx_destroy F
 GLIBC_2.28 renameat2 F
 GLIBC_2.28 statx F
 GLIBC_2.28 thrd_current F
@@ -2443,7 +2444,6 @@ GLIBC_2.34 __libc_start_main F
 GLIBC_2.34 __pthread_cleanup_routine F
 GLIBC_2.34 __pthread_getspecific F
 GLIBC_2.34 __pthread_key_create F
-GLIBC_2.34 __pthread_mutex_destroy F
 GLIBC_2.34 __pthread_mutex_init F
 GLIBC_2.34 __pthread_mutex_lock F
 GLIBC_2.34 __pthread_mutex_trylock F
@@ -2459,6 +2459,7 @@ GLIBC_2.34 cnd_init F
 GLIBC_2.34 cnd_signal F
 GLIBC_2.34 cnd_timedwait F
 GLIBC_2.34 cnd_wait F
+GLIBC_2.34 mtx_destroy F
 GLIBC_2.34 pthread_cond_clockwait F
 GLIBC_2.34 pthread_condattr_getclock F
 GLIBC_2.34 pthread_condattr_getpshared F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
index 8416e6b074..040566dd8d 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
@@ -69,7 +69,6 @@ GLIBC_2.17 sem_unlink F
 GLIBC_2.17 sem_wait F
 GLIBC_2.18 pthread_getattr_default_np F
 GLIBC_2.18 pthread_setattr_default_np F
-GLIBC_2.28 mtx_destroy F
 GLIBC_2.28 mtx_init F
 GLIBC_2.28 mtx_lock F
 GLIBC_2.28 mtx_timedlock F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
index d9bd457305..0bcd294c6d 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
@@ -1265,6 +1265,7 @@ GLIBC_2.33 msgrcv F
 GLIBC_2.33 msgsnd F
 GLIBC_2.33 msync F
 GLIBC_2.33 mtrace F
+GLIBC_2.33 mtx_destroy F
 GLIBC_2.33 munlock F
 GLIBC_2.33 munlockall F
 GLIBC_2.33 munmap F
@@ -2008,7 +2009,6 @@ GLIBC_2.34 __libc_start_main F
 GLIBC_2.34 __pthread_cleanup_routine F
 GLIBC_2.34 __pthread_getspecific F
 GLIBC_2.34 __pthread_key_create F
-GLIBC_2.34 __pthread_mutex_destroy F
 GLIBC_2.34 __pthread_mutex_init F
 GLIBC_2.34 __pthread_mutex_lock F
 GLIBC_2.34 __pthread_mutex_trylock F
@@ -2024,6 +2024,7 @@ GLIBC_2.34 cnd_init F
 GLIBC_2.34 cnd_signal F
 GLIBC_2.34 cnd_timedwait F
 GLIBC_2.34 cnd_wait F
+GLIBC_2.34 mtx_destroy F
 GLIBC_2.34 pthread_cond_clockwait F
 GLIBC_2.34 pthread_condattr_getclock F
 GLIBC_2.34 pthread_condattr_getpshared F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
index b5f19911cd..899cdd8dac 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
@@ -13,7 +13,6 @@ GLIBC_2.33 __pthread_unregister_cancel_restore F
 GLIBC_2.33 flockfile F
 GLIBC_2.33 ftrylockfile F
 GLIBC_2.33 funlockfile F
-GLIBC_2.33 mtx_destroy F
 GLIBC_2.33 mtx_init F
 GLIBC_2.33 mtx_lock F
 GLIBC_2.33 mtx_timedlock F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
index 5e6f87a1ff..c03a324ab9 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
@@ -2167,6 +2167,7 @@ GLIBC_2.28 cnd_signal F
 GLIBC_2.28 cnd_timedwait F
 GLIBC_2.28 cnd_wait F
 GLIBC_2.28 fcntl64 F
+GLIBC_2.28 mtx_destroy F
 GLIBC_2.28 renameat2 F
 GLIBC_2.28 statx F
 GLIBC_2.28 thrd_current F
@@ -2208,7 +2209,6 @@ GLIBC_2.34 __libc_start_main F
 GLIBC_2.34 __pthread_cleanup_routine F
 GLIBC_2.34 __pthread_getspecific F
 GLIBC_2.34 __pthread_key_create F
-GLIBC_2.34 __pthread_mutex_destroy F
 GLIBC_2.34 __pthread_mutex_init F
 GLIBC_2.34 __pthread_mutex_lock F
 GLIBC_2.34 __pthread_mutex_trylock F
@@ -2224,6 +2224,7 @@ GLIBC_2.34 cnd_init F
 GLIBC_2.34 cnd_signal F
 GLIBC_2.34 cnd_timedwait F
 GLIBC_2.34 cnd_wait F
+GLIBC_2.34 mtx_destroy F
 GLIBC_2.34 pthread_cond_clockwait F
 GLIBC_2.34 pthread_condattr_getclock F
 GLIBC_2.34 pthread_condattr_getpshared F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
index 04bc6e6db0..0f611f2217 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
@@ -69,7 +69,6 @@ GLIBC_2.27 sem_timedwait F
 GLIBC_2.27 sem_trywait F
 GLIBC_2.27 sem_unlink F
 GLIBC_2.27 sem_wait F
-GLIBC_2.28 mtx_destroy F
 GLIBC_2.28 mtx_init F
 GLIBC_2.28 mtx_lock F
 GLIBC_2.28 mtx_timedlock F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
index 459c12ad6d..ec70b32df0 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
@@ -2068,6 +2068,7 @@ GLIBC_2.28 cnd_timedwait F
 GLIBC_2.28 cnd_wait F
 GLIBC_2.28 fcntl F
 GLIBC_2.28 fcntl64 F
+GLIBC_2.28 mtx_destroy F
 GLIBC_2.28 renameat2 F
 GLIBC_2.28 statx F
 GLIBC_2.28 thrd_current F
@@ -2286,7 +2287,6 @@ GLIBC_2.34 __libc_start_main F
 GLIBC_2.34 __pthread_cleanup_routine F
 GLIBC_2.34 __pthread_getspecific F
 GLIBC_2.34 __pthread_key_create F
-GLIBC_2.34 __pthread_mutex_destroy F
 GLIBC_2.34 __pthread_mutex_init F
 GLIBC_2.34 __pthread_mutex_lock F
 GLIBC_2.34 __pthread_mutex_trylock F
@@ -2302,6 +2302,7 @@ GLIBC_2.34 cnd_init F
 GLIBC_2.34 cnd_signal F
 GLIBC_2.34 cnd_timedwait F
 GLIBC_2.34 cnd_wait F
+GLIBC_2.34 mtx_destroy F
 GLIBC_2.34 pthread_cond_clockwait F
 GLIBC_2.34 pthread_condattr_getclock F
 GLIBC_2.34 pthread_condattr_getpshared F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
index 5644fb9536..06bc637dc4 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
@@ -70,7 +70,6 @@ GLIBC_2.2 pthread_yield F
 GLIBC_2.2 sem_timedwait F
 GLIBC_2.2.3 __libpthread_version_placeholder F
 GLIBC_2.2.6 __libpthread_version_placeholder F
-GLIBC_2.28 mtx_destroy F
 GLIBC_2.28 mtx_init F
 GLIBC_2.28 mtx_lock F
 GLIBC_2.28 mtx_timedlock F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
index e2f2793ad0..aa1b2b3fab 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
@@ -1965,6 +1965,7 @@ GLIBC_2.28 cnd_signal F
 GLIBC_2.28 cnd_timedwait F
 GLIBC_2.28 cnd_wait F
 GLIBC_2.28 fcntl64 F
+GLIBC_2.28 mtx_destroy F
 GLIBC_2.28 renameat2 F
 GLIBC_2.28 statx F
 GLIBC_2.28 thrd_current F
@@ -2179,7 +2180,6 @@ GLIBC_2.34 __libc_start_main F
 GLIBC_2.34 __pthread_cleanup_routine F
 GLIBC_2.34 __pthread_getspecific F
 GLIBC_2.34 __pthread_key_create F
-GLIBC_2.34 __pthread_mutex_destroy F
 GLIBC_2.34 __pthread_mutex_init F
 GLIBC_2.34 __pthread_mutex_lock F
 GLIBC_2.34 __pthread_mutex_trylock F
@@ -2195,6 +2195,7 @@ GLIBC_2.34 cnd_init F
 GLIBC_2.34 cnd_signal F
 GLIBC_2.34 cnd_timedwait F
 GLIBC_2.34 cnd_wait F
+GLIBC_2.34 mtx_destroy F
 GLIBC_2.34 pthread_cond_clockwait F
 GLIBC_2.34 pthread_condattr_getclock F
 GLIBC_2.34 pthread_condattr_getpshared F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
index cef11e59a5..2a776f1a4f 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
@@ -62,7 +62,6 @@ GLIBC_2.2 sem_unlink F
 GLIBC_2.2 sem_wait F
 GLIBC_2.2.3 __libpthread_version_placeholder F
 GLIBC_2.2.6 __libpthread_version_placeholder F
-GLIBC_2.28 mtx_destroy F
 GLIBC_2.28 mtx_init F
 GLIBC_2.28 mtx_lock F
 GLIBC_2.28 mtx_timedlock F
diff --git a/sysdeps/unix/sysv/linux/sh/be/libc.abilist b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
index 9efaba3e2c..7ee127eee5 100644
--- a/sysdeps/unix/sysv/linux/sh/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
@@ -1942,6 +1942,7 @@ GLIBC_2.28 cnd_timedwait F
 GLIBC_2.28 cnd_wait F
 GLIBC_2.28 fcntl F
 GLIBC_2.28 fcntl64 F
+GLIBC_2.28 mtx_destroy F
 GLIBC_2.28 renameat2 F
 GLIBC_2.28 statx F
 GLIBC_2.28 thrd_current F
@@ -2148,7 +2149,6 @@ GLIBC_2.34 __libc_start_main F
 GLIBC_2.34 __pthread_cleanup_routine F
 GLIBC_2.34 __pthread_getspecific F
 GLIBC_2.34 __pthread_key_create F
-GLIBC_2.34 __pthread_mutex_destroy F
 GLIBC_2.34 __pthread_mutex_init F
 GLIBC_2.34 __pthread_mutex_lock F
 GLIBC_2.34 __pthread_mutex_trylock F
@@ -2164,6 +2164,7 @@ GLIBC_2.34 cnd_init F
 GLIBC_2.34 cnd_signal F
 GLIBC_2.34 cnd_timedwait F
 GLIBC_2.34 cnd_wait F
+GLIBC_2.34 mtx_destroy F
 GLIBC_2.34 pthread_cond_clockwait F
 GLIBC_2.34 pthread_condattr_getclock F
 GLIBC_2.34 pthread_condattr_getpshared F
diff --git a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
index 238a9083ba..f0950eec65 100644
--- a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
@@ -61,7 +61,6 @@ GLIBC_2.2 sem_unlink F
 GLIBC_2.2 sem_wait F
 GLIBC_2.2.3 __libpthread_version_placeholder F
 GLIBC_2.2.6 __libpthread_version_placeholder F
-GLIBC_2.28 mtx_destroy F
 GLIBC_2.28 mtx_init F
 GLIBC_2.28 mtx_lock F
 GLIBC_2.28 mtx_timedlock F
diff --git a/sysdeps/unix/sysv/linux/sh/le/libc.abilist b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
index 911352dec7..bf24941a78 100644
--- a/sysdeps/unix/sysv/linux/sh/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
@@ -1942,6 +1942,7 @@ GLIBC_2.28 cnd_timedwait F
 GLIBC_2.28 cnd_wait F
 GLIBC_2.28 fcntl F
 GLIBC_2.28 fcntl64 F
+GLIBC_2.28 mtx_destroy F
 GLIBC_2.28 renameat2 F
 GLIBC_2.28 statx F
 GLIBC_2.28 thrd_current F
@@ -2145,7 +2146,6 @@ GLIBC_2.34 __libc_start_main F
 GLIBC_2.34 __pthread_cleanup_routine F
 GLIBC_2.34 __pthread_getspecific F
 GLIBC_2.34 __pthread_key_create F
-GLIBC_2.34 __pthread_mutex_destroy F
 GLIBC_2.34 __pthread_mutex_init F
 GLIBC_2.34 __pthread_mutex_lock F
 GLIBC_2.34 __pthread_mutex_trylock F
@@ -2161,6 +2161,7 @@ GLIBC_2.34 cnd_init F
 GLIBC_2.34 cnd_signal F
 GLIBC_2.34 cnd_timedwait F
 GLIBC_2.34 cnd_wait F
+GLIBC_2.34 mtx_destroy F
 GLIBC_2.34 pthread_cond_clockwait F
 GLIBC_2.34 pthread_condattr_getclock F
 GLIBC_2.34 pthread_condattr_getpshared F
diff --git a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
index 238a9083ba..f0950eec65 100644
--- a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
@@ -61,7 +61,6 @@ GLIBC_2.2 sem_unlink F
 GLIBC_2.2 sem_wait F
 GLIBC_2.2.3 __libpthread_version_placeholder F
 GLIBC_2.2.6 __libpthread_version_placeholder F
-GLIBC_2.28 mtx_destroy F
 GLIBC_2.28 mtx_init F
 GLIBC_2.28 mtx_lock F
 GLIBC_2.28 mtx_timedlock F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
index b7deaf1176..77e3b83ffb 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
@@ -2062,6 +2062,7 @@ GLIBC_2.28 cnd_timedwait F
 GLIBC_2.28 cnd_wait F
 GLIBC_2.28 fcntl F
 GLIBC_2.28 fcntl64 F
+GLIBC_2.28 mtx_destroy F
 GLIBC_2.28 renameat2 F
 GLIBC_2.28 statx F
 GLIBC_2.28 thrd_current F
@@ -2277,7 +2278,6 @@ GLIBC_2.34 __libc_start_main F
 GLIBC_2.34 __pthread_cleanup_routine F
 GLIBC_2.34 __pthread_getspecific F
 GLIBC_2.34 __pthread_key_create F
-GLIBC_2.34 __pthread_mutex_destroy F
 GLIBC_2.34 __pthread_mutex_init F
 GLIBC_2.34 __pthread_mutex_lock F
 GLIBC_2.34 __pthread_mutex_trylock F
@@ -2293,6 +2293,7 @@ GLIBC_2.34 cnd_init F
 GLIBC_2.34 cnd_signal F
 GLIBC_2.34 cnd_timedwait F
 GLIBC_2.34 cnd_wait F
+GLIBC_2.34 mtx_destroy F
 GLIBC_2.34 pthread_cond_clockwait F
 GLIBC_2.34 pthread_condattr_getclock F
 GLIBC_2.34 pthread_condattr_getpshared F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
index 78f6acbe3b..a559c85f49 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
@@ -69,7 +69,6 @@ GLIBC_2.2 pthread_yield F
 GLIBC_2.2 sem_timedwait F
 GLIBC_2.2.3 __libpthread_version_placeholder F
 GLIBC_2.2.6 __libpthread_version_placeholder F
-GLIBC_2.28 mtx_destroy F
 GLIBC_2.28 mtx_init F
 GLIBC_2.28 mtx_lock F
 GLIBC_2.28 mtx_timedlock F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
index 84d87434b1..bc5217167f 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
@@ -1995,6 +1995,7 @@ GLIBC_2.28 cnd_signal F
 GLIBC_2.28 cnd_timedwait F
 GLIBC_2.28 cnd_wait F
 GLIBC_2.28 fcntl64 F
+GLIBC_2.28 mtx_destroy F
 GLIBC_2.28 renameat2 F
 GLIBC_2.28 statx F
 GLIBC_2.28 thrd_current F
@@ -2196,7 +2197,6 @@ GLIBC_2.34 __libc_start_main F
 GLIBC_2.34 __pthread_cleanup_routine F
 GLIBC_2.34 __pthread_getspecific F
 GLIBC_2.34 __pthread_key_create F
-GLIBC_2.34 __pthread_mutex_destroy F
 GLIBC_2.34 __pthread_mutex_init F
 GLIBC_2.34 __pthread_mutex_lock F
 GLIBC_2.34 __pthread_mutex_trylock F
@@ -2212,6 +2212,7 @@ GLIBC_2.34 cnd_init F
 GLIBC_2.34 cnd_signal F
 GLIBC_2.34 cnd_timedwait F
 GLIBC_2.34 cnd_wait F
+GLIBC_2.34 mtx_destroy F
 GLIBC_2.34 pthread_cond_clockwait F
 GLIBC_2.34 pthread_condattr_getclock F
 GLIBC_2.34 pthread_condattr_getpshared F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
index 00c79210a6..850b74f26a 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
@@ -61,7 +61,6 @@ GLIBC_2.2 sem_unlink F
 GLIBC_2.2 sem_wait F
 GLIBC_2.2.3 __libpthread_version_placeholder F
 GLIBC_2.2.6 __libpthread_version_placeholder F
-GLIBC_2.28 mtx_destroy F
 GLIBC_2.28 mtx_init F
 GLIBC_2.28 mtx_lock F
 GLIBC_2.28 mtx_timedlock F
diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
index 432a316527..1c3ac87113 100644
--- a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
@@ -1954,6 +1954,7 @@ GLIBC_2.28 cnd_signal F
 GLIBC_2.28 cnd_timedwait F
 GLIBC_2.28 cnd_wait F
 GLIBC_2.28 fcntl64 F
+GLIBC_2.28 mtx_destroy F
 GLIBC_2.28 renameat2 F
 GLIBC_2.28 statx F
 GLIBC_2.28 thrd_current F
@@ -2157,7 +2158,6 @@ GLIBC_2.34 __libc_start_main F
 GLIBC_2.34 __pthread_cleanup_routine F
 GLIBC_2.34 __pthread_getspecific F
 GLIBC_2.34 __pthread_key_create F
-GLIBC_2.34 __pthread_mutex_destroy F
 GLIBC_2.34 __pthread_mutex_init F
 GLIBC_2.34 __pthread_mutex_lock F
 GLIBC_2.34 __pthread_mutex_trylock F
@@ -2173,6 +2173,7 @@ GLIBC_2.34 cnd_init F
 GLIBC_2.34 cnd_signal F
 GLIBC_2.34 cnd_timedwait F
 GLIBC_2.34 cnd_wait F
+GLIBC_2.34 mtx_destroy F
 GLIBC_2.34 pthread_cond_clockwait F
 GLIBC_2.34 pthread_condattr_getclock F
 GLIBC_2.34 pthread_condattr_getpshared F
diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
index 4784e9cbcb..92ca4a4d3f 100644
--- a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
@@ -60,7 +60,6 @@ GLIBC_2.2.5 sem_trywait F
 GLIBC_2.2.5 sem_unlink F
 GLIBC_2.2.5 sem_wait F
 GLIBC_2.2.6 __libpthread_version_placeholder F
-GLIBC_2.28 mtx_destroy F
 GLIBC_2.28 mtx_init F
 GLIBC_2.28 mtx_lock F
 GLIBC_2.28 mtx_timedlock F
diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
index 1fba4b104e..210cd24093 100644
--- a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
@@ -2219,6 +2219,7 @@ GLIBC_2.28 cnd_signal F
 GLIBC_2.28 cnd_timedwait F
 GLIBC_2.28 cnd_wait F
 GLIBC_2.28 fcntl64 F
+GLIBC_2.28 mtx_destroy F
 GLIBC_2.28 renameat2 F
 GLIBC_2.28 statx F
 GLIBC_2.28 thrd_current F
@@ -2262,7 +2263,6 @@ GLIBC_2.34 __libc_start_main F
 GLIBC_2.34 __pthread_cleanup_routine F
 GLIBC_2.34 __pthread_getspecific F
 GLIBC_2.34 __pthread_key_create F
-GLIBC_2.34 __pthread_mutex_destroy F
 GLIBC_2.34 __pthread_mutex_init F
 GLIBC_2.34 __pthread_mutex_lock F
 GLIBC_2.34 __pthread_mutex_trylock F
@@ -2278,6 +2278,7 @@ GLIBC_2.34 cnd_init F
 GLIBC_2.34 cnd_signal F
 GLIBC_2.34 cnd_timedwait F
 GLIBC_2.34 cnd_wait F
+GLIBC_2.34 mtx_destroy F
 GLIBC_2.34 pthread_cond_clockwait F
 GLIBC_2.34 pthread_condattr_getclock F
 GLIBC_2.34 pthread_condattr_getpshared F
diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
index c7b8345fa8..5e221da268 100644
--- a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
@@ -69,7 +69,6 @@ GLIBC_2.16 sem_unlink F
 GLIBC_2.16 sem_wait F
 GLIBC_2.18 pthread_getattr_default_np F
 GLIBC_2.18 pthread_setattr_default_np F
-GLIBC_2.28 mtx_destroy F
 GLIBC_2.28 mtx_init F
 GLIBC_2.28 mtx_lock F
 GLIBC_2.28 mtx_timedlock F