[05/11] nptl: Move sem_destroy into libc

Message ID 73f0a301a8a2ec94d9eea5180cd2ee06748131df.1620049437.git.fweimer@redhat.com
State Committed
Commit 4b729cca87ea2f14bcb526588f992cdd931ef362
Delegated to: Adhemerval Zanella Netto
Headers
Series nptl: Move semaphore functions into libc |

Commit Message

Florian Weimer May 3, 2021, 1:51 p.m. UTC
  The symbol was moved using scripts/move-symbol-to-libc.py.
---
 nptl/Makefile                                              | 2 +-
 nptl/Versions                                              | 5 +++--
 nptl/sem_destroy.c                                         | 7 +++++--
 sysdeps/unix/sysv/linux/aarch64/libc.abilist               | 2 ++
 sysdeps/unix/sysv/linux/aarch64/libpthread.abilist         | 1 -
 sysdeps/unix/sysv/linux/alpha/libc.abilist                 | 3 +++
 sysdeps/unix/sysv/linux/alpha/libpthread.abilist           | 2 --
 sysdeps/unix/sysv/linux/arc/libc.abilist                   | 2 ++
 sysdeps/unix/sysv/linux/arc/libpthread.abilist             | 1 -
 sysdeps/unix/sysv/linux/arm/be/libc.abilist                | 2 ++
 sysdeps/unix/sysv/linux/arm/be/libpthread.abilist          | 1 -
 sysdeps/unix/sysv/linux/arm/le/libc.abilist                | 2 ++
 sysdeps/unix/sysv/linux/arm/le/libpthread.abilist          | 1 -
 sysdeps/unix/sysv/linux/csky/libc.abilist                  | 2 ++
 sysdeps/unix/sysv/linux/csky/libpthread.abilist            | 1 -
 sysdeps/unix/sysv/linux/hppa/libc.abilist                  | 2 ++
 sysdeps/unix/sysv/linux/hppa/libpthread.abilist            | 1 -
 sysdeps/unix/sysv/linux/i386/libc.abilist                  | 3 +++
 sysdeps/unix/sysv/linux/i386/libpthread.abilist            | 2 --
 sysdeps/unix/sysv/linux/ia64/libc.abilist                  | 2 ++
 sysdeps/unix/sysv/linux/ia64/libpthread.abilist            | 1 -
 sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist         | 2 ++
 sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist   | 1 -
 sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist           | 3 +++
 sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist     | 2 --
 sysdeps/unix/sysv/linux/microblaze/be/libc.abilist         | 2 ++
 sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist   | 1 -
 sysdeps/unix/sysv/linux/microblaze/le/libc.abilist         | 2 ++
 sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist   | 1 -
 sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist       | 3 +++
 sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist     | 2 --
 sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist     | 3 +++
 sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist     | 2 --
 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                 | 2 ++
 sysdeps/unix/sysv/linux/nios2/libpthread.abilist           | 1 -
 sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist | 3 +++
 .../unix/sysv/linux/powerpc/powerpc32/libpthread.abilist   | 2 --
 .../unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist   | 3 +++
 sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist  | 2 ++
 .../sysv/linux/powerpc/powerpc64/be/libpthread.abilist     | 1 -
 sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist  | 2 ++
 .../sysv/linux/powerpc/powerpc64/le/libpthread.abilist     | 1 -
 sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist            | 2 ++
 sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist      | 1 -
 sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist            | 2 ++
 sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist      | 1 -
 sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist          | 3 +++
 sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist    | 2 --
 sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist          | 2 ++
 sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist    | 1 -
 sysdeps/unix/sysv/linux/sh/be/libc.abilist                 | 2 ++
 sysdeps/unix/sysv/linux/sh/be/libpthread.abilist           | 1 -
 sysdeps/unix/sysv/linux/sh/le/libc.abilist                 | 2 ++
 sysdeps/unix/sysv/linux/sh/le/libpthread.abilist           | 1 -
 sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist         | 3 +++
 sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist   | 2 --
 sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist         | 2 ++
 sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist   | 1 -
 sysdeps/unix/sysv/linux/x86_64/64/libc.abilist             | 2 ++
 sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist       | 1 -
 sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist            | 2 ++
 sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist      | 1 -
 64 files changed, 84 insertions(+), 42 deletions(-)
  

Comments

Adhemerval Zanella Netto May 5, 2021, 2:35 p.m. UTC | #1
On 03/05/2021 10:51, Florian Weimer via Libc-alpha wrote:
> The symbol was moved using scripts/move-symbol-to-libc.py.

LGTM, thanks.

Reviewed-by: Adhemerval Zanella  <adhemerval.zanella@linaro.org>

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

Patch

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