[09/19] nptl: Move mtx_destroy into libc

Message ID 88681510a6bc70b41cb65bb51c044aaa18754ab3.1619456219.git.fweimer@redhat.com
State Committed
Commit 17b67416c5ea65507c9b32aec1928afc88569eb2
Headers
Series nptl: Move most C11 symbols into libc |

Commit Message

Florian Weimer April 26, 2021, 5:01 p.m. UTC
  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.
---
 nptl/Versions                                         |  4 ++--
 nptl/pthread_mutex_destroy.c                          |  7 ++++---
 sysdeps/pthread/Makefile                              |  3 ++-
 sysdeps/pthread/mtx_destroy.c                         | 11 ++++++++++-
 sysdeps/unix/sysv/linux/aarch64/libc.abilist          |  3 ++-
 sysdeps/unix/sysv/linux/aarch64/libpthread.abilist    |  1 -
 sysdeps/unix/sysv/linux/alpha/libc.abilist            |  3 ++-
 sysdeps/unix/sysv/linux/alpha/libpthread.abilist      |  1 -
 sysdeps/unix/sysv/linux/arc/libc.abilist              |  3 ++-
 sysdeps/unix/sysv/linux/arc/libpthread.abilist        |  1 -
 sysdeps/unix/sysv/linux/arm/be/libc.abilist           |  3 ++-
 sysdeps/unix/sysv/linux/arm/be/libpthread.abilist     |  1 -
 sysdeps/unix/sysv/linux/arm/le/libc.abilist           |  3 ++-
 sysdeps/unix/sysv/linux/arm/le/libpthread.abilist     |  1 -
 sysdeps/unix/sysv/linux/csky/libc.abilist             |  3 ++-
 sysdeps/unix/sysv/linux/csky/libpthread.abilist       |  1 -
 sysdeps/unix/sysv/linux/hppa/libc.abilist             |  3 ++-
 sysdeps/unix/sysv/linux/hppa/libpthread.abilist       |  1 -
 sysdeps/unix/sysv/linux/i386/libc.abilist             |  3 ++-
 sysdeps/unix/sysv/linux/i386/libpthread.abilist       |  1 -
 sysdeps/unix/sysv/linux/ia64/libc.abilist             |  3 ++-
 sysdeps/unix/sysv/linux/ia64/libpthread.abilist       |  1 -
 sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist    |  3 ++-
 .../unix/sysv/linux/m68k/coldfire/libpthread.abilist  |  1 -
 sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist      |  3 ++-
 .../unix/sysv/linux/m68k/m680x0/libpthread.abilist    |  1 -
 sysdeps/unix/sysv/linux/microblaze/be/libc.abilist    |  3 ++-
 .../unix/sysv/linux/microblaze/be/libpthread.abilist  |  1 -
 sysdeps/unix/sysv/linux/microblaze/le/libc.abilist    |  3 ++-
 .../unix/sysv/linux/microblaze/le/libpthread.abilist  |  1 -
 sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist  |  3 ++-
 .../unix/sysv/linux/mips/mips32/libpthread.abilist    |  1 -
 .../unix/sysv/linux/mips/mips32/nofpu/libc.abilist    |  3 ++-
 .../unix/sysv/linux/mips/mips64/libpthread.abilist    |  1 -
 sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist  |  3 ++-
 sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist  |  3 ++-
 sysdeps/unix/sysv/linux/nios2/libc.abilist            |  3 ++-
 sysdeps/unix/sysv/linux/nios2/libpthread.abilist      |  1 -
 .../sysv/linux/powerpc/powerpc32/fpu/libc.abilist     |  3 ++-
 .../sysv/linux/powerpc/powerpc32/libpthread.abilist   |  1 -
 .../sysv/linux/powerpc/powerpc32/nofpu/libc.abilist   |  3 ++-
 .../unix/sysv/linux/powerpc/powerpc64/be/libc.abilist |  3 ++-
 .../linux/powerpc/powerpc64/be/libpthread.abilist     |  1 -
 .../unix/sysv/linux/powerpc/powerpc64/le/libc.abilist |  3 ++-
 .../linux/powerpc/powerpc64/le/libpthread.abilist     |  1 -
 sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist       |  3 ++-
 sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist |  1 -
 sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist       |  3 ++-
 sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist |  1 -
 sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist     |  3 ++-
 .../unix/sysv/linux/s390/s390-32/libpthread.abilist   |  1 -
 sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist     |  3 ++-
 .../unix/sysv/linux/s390/s390-64/libpthread.abilist   |  1 -
 sysdeps/unix/sysv/linux/sh/be/libc.abilist            |  3 ++-
 sysdeps/unix/sysv/linux/sh/be/libpthread.abilist      |  1 -
 sysdeps/unix/sysv/linux/sh/le/libc.abilist            |  3 ++-
 sysdeps/unix/sysv/linux/sh/le/libpthread.abilist      |  1 -
 sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist    |  3 ++-
 .../unix/sysv/linux/sparc/sparc32/libpthread.abilist  |  1 -
 sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist    |  3 ++-
 .../unix/sysv/linux/sparc/sparc64/libpthread.abilist  |  1 -
 sysdeps/unix/sysv/linux/x86_64/64/libc.abilist        |  3 ++-
 sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist  |  1 -
 sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist       |  3 ++-
 sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist |  1 -
 65 files changed, 82 insertions(+), 68 deletions(-)
  

Comments

Carlos O'Donell May 2, 2021, 8:47 p.m. UTC | #1
On 4/26/21 1:01 PM, Florian Weimer via Libc-alpha wrote:
> The symbol was moved using scripts/move-symbol-to-libc.py.

Tested and reviewed on x86_64 and i686.

LGTM.

Reviewed-by: Carlos O'Donell <carlos@redhat.com>
Tested-by: Carlos O'Donell <carlos@redhat.com>
 
> 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.
> ---
>  nptl/Versions                                         |  4 ++--
>  nptl/pthread_mutex_destroy.c                          |  7 ++++---
>  sysdeps/pthread/Makefile                              |  3 ++-
>  sysdeps/pthread/mtx_destroy.c                         | 11 ++++++++++-
>  sysdeps/unix/sysv/linux/aarch64/libc.abilist          |  3 ++-
>  sysdeps/unix/sysv/linux/aarch64/libpthread.abilist    |  1 -
>  sysdeps/unix/sysv/linux/alpha/libc.abilist            |  3 ++-
>  sysdeps/unix/sysv/linux/alpha/libpthread.abilist      |  1 -
>  sysdeps/unix/sysv/linux/arc/libc.abilist              |  3 ++-
>  sysdeps/unix/sysv/linux/arc/libpthread.abilist        |  1 -
>  sysdeps/unix/sysv/linux/arm/be/libc.abilist           |  3 ++-
>  sysdeps/unix/sysv/linux/arm/be/libpthread.abilist     |  1 -
>  sysdeps/unix/sysv/linux/arm/le/libc.abilist           |  3 ++-
>  sysdeps/unix/sysv/linux/arm/le/libpthread.abilist     |  1 -
>  sysdeps/unix/sysv/linux/csky/libc.abilist             |  3 ++-
>  sysdeps/unix/sysv/linux/csky/libpthread.abilist       |  1 -
>  sysdeps/unix/sysv/linux/hppa/libc.abilist             |  3 ++-
>  sysdeps/unix/sysv/linux/hppa/libpthread.abilist       |  1 -
>  sysdeps/unix/sysv/linux/i386/libc.abilist             |  3 ++-
>  sysdeps/unix/sysv/linux/i386/libpthread.abilist       |  1 -
>  sysdeps/unix/sysv/linux/ia64/libc.abilist             |  3 ++-
>  sysdeps/unix/sysv/linux/ia64/libpthread.abilist       |  1 -
>  sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist    |  3 ++-
>  .../unix/sysv/linux/m68k/coldfire/libpthread.abilist  |  1 -
>  sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist      |  3 ++-
>  .../unix/sysv/linux/m68k/m680x0/libpthread.abilist    |  1 -
>  sysdeps/unix/sysv/linux/microblaze/be/libc.abilist    |  3 ++-
>  .../unix/sysv/linux/microblaze/be/libpthread.abilist  |  1 -
>  sysdeps/unix/sysv/linux/microblaze/le/libc.abilist    |  3 ++-
>  .../unix/sysv/linux/microblaze/le/libpthread.abilist  |  1 -
>  sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist  |  3 ++-
>  .../unix/sysv/linux/mips/mips32/libpthread.abilist    |  1 -
>  .../unix/sysv/linux/mips/mips32/nofpu/libc.abilist    |  3 ++-
>  .../unix/sysv/linux/mips/mips64/libpthread.abilist    |  1 -
>  sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist  |  3 ++-
>  sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist  |  3 ++-
>  sysdeps/unix/sysv/linux/nios2/libc.abilist            |  3 ++-
>  sysdeps/unix/sysv/linux/nios2/libpthread.abilist      |  1 -
>  .../sysv/linux/powerpc/powerpc32/fpu/libc.abilist     |  3 ++-
>  .../sysv/linux/powerpc/powerpc32/libpthread.abilist   |  1 -
>  .../sysv/linux/powerpc/powerpc32/nofpu/libc.abilist   |  3 ++-
>  .../unix/sysv/linux/powerpc/powerpc64/be/libc.abilist |  3 ++-
>  .../linux/powerpc/powerpc64/be/libpthread.abilist     |  1 -
>  .../unix/sysv/linux/powerpc/powerpc64/le/libc.abilist |  3 ++-
>  .../linux/powerpc/powerpc64/le/libpthread.abilist     |  1 -
>  sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist       |  3 ++-
>  sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist |  1 -
>  sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist       |  3 ++-
>  sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist |  1 -
>  sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist     |  3 ++-
>  .../unix/sysv/linux/s390/s390-32/libpthread.abilist   |  1 -
>  sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist     |  3 ++-
>  .../unix/sysv/linux/s390/s390-64/libpthread.abilist   |  1 -
>  sysdeps/unix/sysv/linux/sh/be/libc.abilist            |  3 ++-
>  sysdeps/unix/sysv/linux/sh/be/libpthread.abilist      |  1 -
>  sysdeps/unix/sysv/linux/sh/le/libc.abilist            |  3 ++-
>  sysdeps/unix/sysv/linux/sh/le/libpthread.abilist      |  1 -
>  sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist    |  3 ++-
>  .../unix/sysv/linux/sparc/sparc32/libpthread.abilist  |  1 -
>  sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist    |  3 ++-
>  .../unix/sysv/linux/sparc/sparc64/libpthread.abilist  |  1 -
>  sysdeps/unix/sysv/linux/x86_64/64/libc.abilist        |  3 ++-
>  sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist  |  1 -
>  sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist       |  3 ++-
>  sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist |  1 -
>  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
>
  

Patch

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