[06/11] nptl: Move sem_getvalue into libc

Message ID bad835deba060795095ab31e18e9b09118246676.1620049437.git.fweimer@redhat.com
State Committed
Commit 61878689c228cdf324d609b98db3314d8a81f24d
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_getvalue.c                                      | 9 +++++++--
 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 -
 .../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 +++
 .../unix/sysv/linux/powerpc/powerpc64/be/libc.abilist    | 2 ++
 .../sysv/linux/powerpc/powerpc64/be/libpthread.abilist   | 1 -
 .../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, 86 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_getvalue.c                                      | 9 +++++++--
>  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 -
>  .../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 +++
>  .../unix/sysv/linux/powerpc/powerpc64/be/libc.abilist    | 2 ++
>  .../sysv/linux/powerpc/powerpc64/be/libpthread.abilist   | 1 -
>  .../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, 86 insertions(+), 42 deletions(-)
> 
> diff --git a/nptl/Makefile b/nptl/Makefile
> index f8416b240c..8c32937d82 100644
> --- a/nptl/Makefile
> +++ b/nptl/Makefile
> @@ -153,6 +153,7 @@ routines = \
>    sem_clockwait \
>    sem_close \
>    sem_destroy \
> +  sem_getvalue \
>    sem_open \
>    sem_routines \
>    tpp \
> @@ -206,7 +207,6 @@ libpthread-routines = \
>    pthread_sigqueue \
>    pthread_timedjoin \
>    pthread_tryjoin \
> -  sem_getvalue \
>    sem_init \
>    sem_post \
>    sem_timedwait \
> diff --git a/nptl/Versions b/nptl/Versions
> index c59bbd8736..dd1c1c7e9e 100644
> --- a/nptl/Versions
> +++ b/nptl/Versions
> @@ -63,6 +63,7 @@ libc {
>      pthread_sigmask;
>      pthread_testcancel;
>      sem_destroy;
> +    sem_getvalue;
>    }
>    GLIBC_2.1 {
>      pthread_attr_init;
> @@ -82,6 +83,7 @@ libc {
>      pthread_rwlockattr_setkind_np;
>      pthread_rwlockattr_setpshared;
>      sem_destroy;
> +    sem_getvalue;
>    }
>    GLIBC_2.1.1 {
>      sem_close;
> @@ -257,6 +259,7 @@ libc {
>      sem_clockwait;
>      sem_close;
>      sem_destroy;
> +    sem_getvalue;
>      sem_open;
>      thrd_exit;
>      tss_create;
> @@ -323,7 +326,6 @@ libpthread {
>      pthread_detach;
>      pthread_join;
>      pthread_sigmask;
> -    sem_getvalue;
>      sem_init;
>      sem_post;
>      sem_trywait;
> @@ -340,7 +342,6 @@ libpthread {
>      pthread_create;
>      pthread_getconcurrency;
>      pthread_setconcurrency;
> -    sem_getvalue;
>      sem_init;
>      sem_post;
>      sem_trywait;
> diff --git a/nptl/sem_getvalue.c b/nptl/sem_getvalue.c
> index 967a0a016b..7d3a596e8c 100644
> --- a/nptl/sem_getvalue.c
> +++ b/nptl/sem_getvalue.c
> @@ -42,8 +42,13 @@ __new_sem_getvalue (sem_t *sem, int *sval)
>  
>    return 0;
>  }
> -versioned_symbol (libpthread, __new_sem_getvalue, sem_getvalue, GLIBC_2_1);
> -#if SHLIB_COMPAT(libpthread, GLIBC_2_0, GLIBC_2_1)
> +versioned_symbol (libc, __new_sem_getvalue, sem_getvalue, GLIBC_2_34);
> +
> +#if OTHER_SHLIB_COMPAT(libpthread, GLIBC_2_1, GLIBC_2_34)
> +compat_symbol (libpthread, __new_sem_getvalue, sem_getvalue, GLIBC_2_1);
> +#endif
> +
> +#if OTHER_SHLIB_COMPAT(libpthread, GLIBC_2_0, GLIBC_2_1)
>  int
>  __old_sem_getvalue (sem_t *sem, int *sval)
>  {
> diff --git a/sysdeps/unix/sysv/linux/aarch64/libc.abilist b/sysdeps/unix/sysv/linux/aarch64/libc.abilist
> index 32b0f88baf..0e002b50c5 100644
> --- a/sysdeps/unix/sysv/linux/aarch64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/aarch64/libc.abilist
> @@ -1662,6 +1662,7 @@ 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_getvalue F
>  GLIBC_2.17 sem_open F
>  GLIBC_2.17 semctl F
>  GLIBC_2.17 semget F
> @@ -2352,6 +2353,7 @@ 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_getvalue 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 612c9f2e31..87bcb6bd08 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_getvalue F
>  GLIBC_2.17 sem_init F
>  GLIBC_2.17 sem_post F
>  GLIBC_2.17 sem_timedwait F
> diff --git a/sysdeps/unix/sysv/linux/alpha/libc.abilist b/sysdeps/unix/sysv/linux/alpha/libc.abilist
> index 49f539aa56..d39e28a1d1 100644
> --- a/sysdeps/unix/sysv/linux/alpha/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/alpha/libc.abilist
> @@ -1012,6 +1012,7 @@ 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 sem_getvalue F
>  GLIBC_2.0 semctl F
>  GLIBC_2.0 semget F
>  GLIBC_2.0 semop F
> @@ -1636,6 +1637,7 @@ GLIBC_2.1 rtime F
>  GLIBC_2.1 scandir64 F
>  GLIBC_2.1 select F
>  GLIBC_2.1 sem_destroy F
> +GLIBC_2.1 sem_getvalue F
>  GLIBC_2.1 sendfile F
>  GLIBC_2.1 setitimer F
>  GLIBC_2.1 setrlimit64 F
> @@ -2434,6 +2436,7 @@ 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_getvalue 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 f489e4d96f..37eba5d526 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_getvalue F
>  GLIBC_2.0 sem_init F
>  GLIBC_2.0 sem_post F
>  GLIBC_2.0 sem_trywait F
> @@ -23,7 +22,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_getvalue F
>  GLIBC_2.1 sem_init F
>  GLIBC_2.1 sem_post F
>  GLIBC_2.1 sem_trywait F
> diff --git a/sysdeps/unix/sysv/linux/arc/libc.abilist b/sysdeps/unix/sysv/linux/arc/libc.abilist
> index 85189504f6..d24e926437 100644
> --- a/sysdeps/unix/sysv/linux/arc/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/arc/libc.abilist
> @@ -1604,6 +1604,7 @@ 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_getvalue F
>  GLIBC_2.32 sem_open F
>  GLIBC_2.32 semctl F
>  GLIBC_2.32 semget F
> @@ -2111,6 +2112,7 @@ 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_getvalue 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 2ca2d1acd8..0d2b6878f0 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_getvalue F
>  GLIBC_2.32 sem_init F
>  GLIBC_2.32 sem_post F
>  GLIBC_2.32 sem_timedwait F
> diff --git a/sysdeps/unix/sysv/linux/arm/be/libc.abilist b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
> index 2e4de030d4..6948069e7a 100644
> --- a/sysdeps/unix/sysv/linux/arm/be/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
> @@ -255,6 +255,7 @@ 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_getvalue F
>  GLIBC_2.34 sem_open F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
> @@ -1843,6 +1844,7 @@ 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_getvalue 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 4e5e61961d..10ae7a1302 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_getvalue F
>  GLIBC_2.4 sem_init F
>  GLIBC_2.4 sem_post F
>  GLIBC_2.4 sem_timedwait F
> diff --git a/sysdeps/unix/sysv/linux/arm/le/libc.abilist b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
> index 75e1a70c5e..24f11ea83f 100644
> --- a/sysdeps/unix/sysv/linux/arm/le/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
> @@ -252,6 +252,7 @@ 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_getvalue F
>  GLIBC_2.34 sem_open F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
> @@ -1840,6 +1841,7 @@ 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_getvalue 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 4e5e61961d..10ae7a1302 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_getvalue F
>  GLIBC_2.4 sem_init F
>  GLIBC_2.4 sem_post F
>  GLIBC_2.4 sem_timedwait F
> diff --git a/sysdeps/unix/sysv/linux/csky/libc.abilist b/sysdeps/unix/sysv/linux/csky/libc.abilist
> index 7e314d1d97..2ef861b277 100644
> --- a/sysdeps/unix/sysv/linux/csky/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/csky/libc.abilist
> @@ -1665,6 +1665,7 @@ 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_getvalue F
>  GLIBC_2.29 sem_open F
>  GLIBC_2.29 semctl F
>  GLIBC_2.29 semget F
> @@ -2295,6 +2296,7 @@ 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_getvalue 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 39cabcbc61..2c736e3810 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_getvalue F
>  GLIBC_2.29 sem_init F
>  GLIBC_2.29 sem_post F
>  GLIBC_2.29 sem_timedwait F
> diff --git a/sysdeps/unix/sysv/linux/hppa/libc.abilist b/sysdeps/unix/sysv/linux/hppa/libc.abilist
> index 58b385d150..bb36e5c862 100644
> --- a/sysdeps/unix/sysv/linux/hppa/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/hppa/libc.abilist
> @@ -1454,6 +1454,7 @@ 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_getvalue F
>  GLIBC_2.2 sem_open F
>  GLIBC_2.2 semctl F
>  GLIBC_2.2 semget F
> @@ -2246,6 +2247,7 @@ 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_getvalue 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 c8a67fff04..9a3c7ba538 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_getvalue F
>  GLIBC_2.2 sem_init F
>  GLIBC_2.2 sem_post F
>  GLIBC_2.2 sem_timedwait F
> diff --git a/sysdeps/unix/sysv/linux/i386/libc.abilist b/sysdeps/unix/sysv/linux/i386/libc.abilist
> index af383b5fb2..c01f45d684 100644
> --- a/sysdeps/unix/sysv/linux/i386/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/i386/libc.abilist
> @@ -989,6 +989,7 @@ 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 sem_getvalue F
>  GLIBC_2.0 semctl F
>  GLIBC_2.0 semget F
>  GLIBC_2.0 semop F
> @@ -1606,6 +1607,7 @@ GLIBC_2.1 scalblnf F
>  GLIBC_2.1 scalblnl F
>  GLIBC_2.1 scandir64 F
>  GLIBC_2.1 sem_destroy F
> +GLIBC_2.1 sem_getvalue F
>  GLIBC_2.1 sendfile F
>  GLIBC_2.1 setrlimit64 F
>  GLIBC_2.1 setutxent F
> @@ -2424,6 +2426,7 @@ 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_getvalue 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 c4dcb97ae5..b1833a99e1 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_getvalue F
>  GLIBC_2.0 sem_init F
>  GLIBC_2.0 sem_post F
>  GLIBC_2.0 sem_trywait F
> @@ -23,7 +22,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_getvalue F
>  GLIBC_2.1 sem_init F
>  GLIBC_2.1 sem_post F
>  GLIBC_2.1 sem_trywait F
> diff --git a/sysdeps/unix/sysv/linux/ia64/libc.abilist b/sysdeps/unix/sysv/linux/ia64/libc.abilist
> index 6927c0d8ef..6f447d6acb 100644
> --- a/sysdeps/unix/sysv/linux/ia64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/ia64/libc.abilist
> @@ -1475,6 +1475,7 @@ 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_getvalue F
>  GLIBC_2.2 sem_open F
>  GLIBC_2.2 semctl F
>  GLIBC_2.2 semget F
> @@ -2280,6 +2281,7 @@ 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_getvalue 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 51ba7cd9d3..212b6841cc 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_getvalue F
>  GLIBC_2.2 sem_init F
>  GLIBC_2.2 sem_post F
>  GLIBC_2.2 sem_timedwait F
> diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
> index 223866073d..7d16feab1c 100644
> --- a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
> @@ -256,6 +256,7 @@ 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_getvalue F
>  GLIBC_2.34 sem_open F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
> @@ -1823,6 +1824,7 @@ 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_getvalue 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 4e5e61961d..10ae7a1302 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_getvalue F
>  GLIBC_2.4 sem_init F
>  GLIBC_2.4 sem_post F
>  GLIBC_2.4 sem_timedwait F
> diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
> index 4188d2d420..6a613724bc 100644
> --- a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
> @@ -988,6 +988,7 @@ 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 sem_getvalue F
>  GLIBC_2.0 semctl F
>  GLIBC_2.0 semget F
>  GLIBC_2.0 semop F
> @@ -1602,6 +1603,7 @@ GLIBC_2.1 scalblnf F
>  GLIBC_2.1 scalblnl F
>  GLIBC_2.1 scandir64 F
>  GLIBC_2.1 sem_destroy F
> +GLIBC_2.1 sem_getvalue F
>  GLIBC_2.1 sendfile F
>  GLIBC_2.1 setrlimit64 F
>  GLIBC_2.1 setutxent F
> @@ -2367,6 +2369,7 @@ 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_getvalue 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 c4dcb97ae5..b1833a99e1 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_getvalue F
>  GLIBC_2.0 sem_init F
>  GLIBC_2.0 sem_post F
>  GLIBC_2.0 sem_trywait F
> @@ -23,7 +22,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_getvalue F
>  GLIBC_2.1 sem_init F
>  GLIBC_2.1 sem_post F
>  GLIBC_2.1 sem_trywait F
> diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
> index 43054192cd..08727dea01 100644
> --- a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
> @@ -1664,6 +1664,7 @@ 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_getvalue F
>  GLIBC_2.18 sem_open F
>  GLIBC_2.18 semctl F
>  GLIBC_2.18 semget F
> @@ -2346,6 +2347,7 @@ 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_getvalue 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 4273151307..4656602675 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_getvalue F
>  GLIBC_2.18 sem_init F
>  GLIBC_2.18 sem_post F
>  GLIBC_2.18 sem_timedwait F
> diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
> index aa14334dea..4145398631 100644
> --- a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
> @@ -1664,6 +1664,7 @@ 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_getvalue F
>  GLIBC_2.18 sem_open F
>  GLIBC_2.18 semctl F
>  GLIBC_2.18 semget F
> @@ -2343,6 +2344,7 @@ 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_getvalue 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 4273151307..4656602675 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_getvalue F
>  GLIBC_2.18 sem_init F
>  GLIBC_2.18 sem_post F
>  GLIBC_2.18 sem_timedwait F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
> index 799c247103..1ff4fda725 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
> @@ -985,6 +985,7 @@ 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 sem_getvalue F
>  GLIBC_2.0 semctl F
>  GLIBC_2.0 semget F
>  GLIBC_2.0 semop F
> @@ -1891,6 +1892,7 @@ 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_getvalue F
>  GLIBC_2.2 sem_open F
>  GLIBC_2.2 semctl F
>  GLIBC_2.2 sendfile F
> @@ -2330,6 +2332,7 @@ 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_getvalue 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 6b6f3eab0a..f250d3b50b 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_getvalue F
>  GLIBC_2.0 sem_init F
>  GLIBC_2.0 sem_post F
>  GLIBC_2.0 sem_trywait F
> @@ -37,7 +36,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_getvalue F
>  GLIBC_2.2 sem_init F
>  GLIBC_2.2 sem_post F
>  GLIBC_2.2 sem_timedwait F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
> index 1c80548645..76acce16f5 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
> @@ -985,6 +985,7 @@ 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 sem_getvalue F
>  GLIBC_2.0 semctl F
>  GLIBC_2.0 semget F
>  GLIBC_2.0 semop F
> @@ -1889,6 +1890,7 @@ 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_getvalue F
>  GLIBC_2.2 sem_open F
>  GLIBC_2.2 semctl F
>  GLIBC_2.2 sendfile F
> @@ -2328,6 +2330,7 @@ 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_getvalue 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 6b6f3eab0a..f250d3b50b 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_getvalue F
>  GLIBC_2.0 sem_init F
>  GLIBC_2.0 sem_post F
>  GLIBC_2.0 sem_trywait F
> @@ -37,7 +36,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_getvalue F
>  GLIBC_2.2 sem_init F
>  GLIBC_2.2 sem_post F
>  GLIBC_2.2 sem_timedwait F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
> index dc3615a827..2d626894fd 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
> @@ -985,6 +985,7 @@ 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 sem_getvalue F
>  GLIBC_2.0 semctl F
>  GLIBC_2.0 semget F
>  GLIBC_2.0 semop F
> @@ -1889,6 +1890,7 @@ 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_getvalue F
>  GLIBC_2.2 sem_open F
>  GLIBC_2.2 sendfile F
>  GLIBC_2.2 setrlimit64 F
> @@ -2336,6 +2338,7 @@ 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_getvalue 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 d190f0b34c..0aaf7611bd 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
> @@ -983,6 +983,7 @@ 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 sem_getvalue F
>  GLIBC_2.0 semctl F
>  GLIBC_2.0 semget F
>  GLIBC_2.0 semop F
> @@ -1885,6 +1886,7 @@ 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_getvalue F
>  GLIBC_2.2 sem_open F
>  GLIBC_2.2 sendfile F
>  GLIBC_2.2 setrlimit64 F
> @@ -2330,6 +2332,7 @@ 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_getvalue 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 fef793c58d..ea8b37e340 100644
> --- a/sysdeps/unix/sysv/linux/nios2/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/nios2/libc.abilist
> @@ -1707,6 +1707,7 @@ 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_getvalue F
>  GLIBC_2.21 sem_open F
>  GLIBC_2.21 semctl F
>  GLIBC_2.21 semget F
> @@ -2385,6 +2386,7 @@ 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_getvalue 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 bb52cc203e..5d47b5af57 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_getvalue F
>  GLIBC_2.21 sem_init F
>  GLIBC_2.21 sem_post F
>  GLIBC_2.21 sem_timedwait F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
> index 030b76ecbe..9e8200f88f 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
> @@ -996,6 +996,7 @@ 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 sem_getvalue F
>  GLIBC_2.0 semctl F
>  GLIBC_2.0 semget F
>  GLIBC_2.0 semop F
> @@ -1607,6 +1608,7 @@ 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 sem_getvalue F
>  GLIBC_2.1 sendfile F
>  GLIBC_2.1 setrlimit64 F
>  GLIBC_2.1 setutxent F
> @@ -2394,6 +2396,7 @@ 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_getvalue 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 89ea6ff7dd..4ba599efcf 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_getvalue F
>  GLIBC_2.0 sem_init F
>  GLIBC_2.0 sem_post F
>  GLIBC_2.0 sem_trywait F
> @@ -23,7 +22,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_getvalue F
>  GLIBC_2.1 sem_init F
>  GLIBC_2.1 sem_post F
>  GLIBC_2.1 sem_trywait F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
> index 777bd323b8..8ed232c46e 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
> @@ -996,6 +996,7 @@ 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 sem_getvalue F
>  GLIBC_2.0 semctl F
>  GLIBC_2.0 semget F
>  GLIBC_2.0 semop F
> @@ -1607,6 +1608,7 @@ 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 sem_getvalue F
>  GLIBC_2.1 sendfile F
>  GLIBC_2.1 setrlimit64 F
>  GLIBC_2.1 setutxent F
> @@ -2427,6 +2429,7 @@ 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_getvalue 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 08721871b7..887f480421 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
> @@ -1579,6 +1579,7 @@ 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_getvalue F
>  GLIBC_2.3 sem_open F
>  GLIBC_2.3 semctl F
>  GLIBC_2.3 semget F
> @@ -2247,6 +2248,7 @@ 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_getvalue 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 4004100893..8e89df212e 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_getvalue F
>  GLIBC_2.3 sem_init F
>  GLIBC_2.3 sem_post F
>  GLIBC_2.3 sem_timedwait F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
> index cdf6f85bba..0e34639e23 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
> @@ -1750,6 +1750,7 @@ 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_getvalue F
>  GLIBC_2.17 sem_open F
>  GLIBC_2.17 semctl F
>  GLIBC_2.17 semget F
> @@ -2548,6 +2549,7 @@ 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_getvalue 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 612c9f2e31..87bcb6bd08 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_getvalue F
>  GLIBC_2.17 sem_init F
>  GLIBC_2.17 sem_post F
>  GLIBC_2.17 sem_timedwait F
> diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
> index 285603e38c..ee60bf8925 100644
> --- a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
> @@ -1606,6 +1606,7 @@ 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_getvalue F
>  GLIBC_2.33 sem_open F
>  GLIBC_2.33 semctl F
>  GLIBC_2.33 semget F
> @@ -2113,6 +2114,7 @@ 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_getvalue 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 5eaf5ecee2..b342a05a1b 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_getvalue F
>  GLIBC_2.33 sem_init F
>  GLIBC_2.33 sem_post F
>  GLIBC_2.33 sem_timedwait F
> diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
> index 2b50fbcce3..3d76a78b07 100644
> --- a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
> @@ -1654,6 +1654,7 @@ 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_getvalue F
>  GLIBC_2.27 sem_open F
>  GLIBC_2.27 semctl F
>  GLIBC_2.27 semget F
> @@ -2313,6 +2314,7 @@ 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_getvalue 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 49a79bfbee..fe091c6884 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_getvalue F
>  GLIBC_2.27 sem_init F
>  GLIBC_2.27 sem_post F
>  GLIBC_2.27 sem_timedwait F
> diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
> index 4f66ca3b0c..bb44dc053f 100644
> --- a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
> @@ -987,6 +987,7 @@ 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 sem_getvalue F
>  GLIBC_2.0 semctl F
>  GLIBC_2.0 semget F
>  GLIBC_2.0 semop F
> @@ -1599,6 +1600,7 @@ 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 sem_getvalue F
>  GLIBC_2.1 sendfile F
>  GLIBC_2.1 setrlimit64 F
>  GLIBC_2.1 setutxent F
> @@ -2392,6 +2394,7 @@ 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_getvalue 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 52e5bf43df..899cf97c70 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_getvalue F
>  GLIBC_2.0 sem_init F
>  GLIBC_2.0 sem_post F
>  GLIBC_2.0 sem_trywait F
> @@ -23,7 +22,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_getvalue F
>  GLIBC_2.1 sem_init F
>  GLIBC_2.1 sem_post F
>  GLIBC_2.1 sem_trywait F
> diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
> index 0904bb5b60..6a55bdb602 100644
> --- a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
> @@ -1472,6 +1472,7 @@ 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_getvalue F
>  GLIBC_2.2 sem_open F
>  GLIBC_2.2 semctl F
>  GLIBC_2.2 semget F
> @@ -2284,6 +2285,7 @@ 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_getvalue 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 484a009c6b..ea58dbd01d 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_getvalue F
>  GLIBC_2.2 sem_init F
>  GLIBC_2.2 sem_post F
>  GLIBC_2.2 sem_timedwait F
> diff --git a/sysdeps/unix/sysv/linux/sh/be/libc.abilist b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
> index 6b01abbad2..fb4c0e3fa7 100644
> --- a/sysdeps/unix/sysv/linux/sh/be/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
> @@ -1458,6 +1458,7 @@ 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_getvalue F
>  GLIBC_2.2 sem_open F
>  GLIBC_2.2 semctl F
>  GLIBC_2.2 semget F
> @@ -2253,6 +2254,7 @@ 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_getvalue 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 c8a67fff04..9a3c7ba538 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_getvalue F
>  GLIBC_2.2 sem_init F
>  GLIBC_2.2 sem_post F
>  GLIBC_2.2 sem_timedwait F
> diff --git a/sysdeps/unix/sysv/linux/sh/le/libc.abilist b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
> index 5a1bd3aee6..7c686b7ec9 100644
> --- a/sysdeps/unix/sysv/linux/sh/le/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
> @@ -1458,6 +1458,7 @@ 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_getvalue F
>  GLIBC_2.2 sem_open F
>  GLIBC_2.2 semctl F
>  GLIBC_2.2 semget F
> @@ -2250,6 +2251,7 @@ 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_getvalue 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 c8a67fff04..9a3c7ba538 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_getvalue F
>  GLIBC_2.2 sem_init F
>  GLIBC_2.2 sem_post F
>  GLIBC_2.2 sem_timedwait F
> diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
> index 15664192ec..ab0cb2d1d2 100644
> --- a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
> @@ -990,6 +990,7 @@ 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 sem_getvalue F
>  GLIBC_2.0 semctl F
>  GLIBC_2.0 semget F
>  GLIBC_2.0 semop F
> @@ -1600,6 +1601,7 @@ 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 sem_getvalue F
>  GLIBC_2.1 sendfile F
>  GLIBC_2.1 setrlimit64 F
>  GLIBC_2.1 setutxent F
> @@ -2383,6 +2385,7 @@ 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_getvalue 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 f489e4d96f..37eba5d526 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_getvalue F
>  GLIBC_2.0 sem_init F
>  GLIBC_2.0 sem_post F
>  GLIBC_2.0 sem_trywait F
> @@ -23,7 +22,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_getvalue F
>  GLIBC_2.1 sem_init F
>  GLIBC_2.1 sem_post F
>  GLIBC_2.1 sem_trywait F
> diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
> index 7435c3ec03..53dacbb77e 100644
> --- a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
> @@ -1501,6 +1501,7 @@ 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_getvalue F
>  GLIBC_2.2 sem_open F
>  GLIBC_2.2 semctl F
>  GLIBC_2.2 semget F
> @@ -2301,6 +2302,7 @@ 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_getvalue 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 51ba7cd9d3..212b6841cc 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_getvalue F
>  GLIBC_2.2 sem_init F
>  GLIBC_2.2 sem_post F
>  GLIBC_2.2 sem_timedwait F
> diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
> index bb1b29fae1..96245373c8 100644
> --- a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
> @@ -1469,6 +1469,7 @@ 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_getvalue F
>  GLIBC_2.2.5 sem_open F
>  GLIBC_2.2.5 semctl F
>  GLIBC_2.2.5 semget F
> @@ -2262,6 +2263,7 @@ 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_getvalue 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 4afc067ed7..2c17991871 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_getvalue F
>  GLIBC_2.2.5 sem_init F
>  GLIBC_2.2.5 sem_post F
>  GLIBC_2.2.5 sem_timedwait F
> diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
> index 0ab342e22f..7cd32696c5 100644
> --- a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
> @@ -1668,6 +1668,7 @@ 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_getvalue F
>  GLIBC_2.16 sem_open F
>  GLIBC_2.16 semctl F
>  GLIBC_2.16 semget F
> @@ -2367,6 +2368,7 @@ 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_getvalue 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 be4a4b86fe..44826acfbd 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_getvalue F
>  GLIBC_2.16 sem_init F
>  GLIBC_2.16 sem_post F
>  GLIBC_2.16 sem_timedwait F
>
  

Patch

diff --git a/nptl/Makefile b/nptl/Makefile
index f8416b240c..8c32937d82 100644
--- a/nptl/Makefile
+++ b/nptl/Makefile
@@ -153,6 +153,7 @@  routines = \
   sem_clockwait \
   sem_close \
   sem_destroy \
+  sem_getvalue \
   sem_open \
   sem_routines \
   tpp \
@@ -206,7 +207,6 @@  libpthread-routines = \
   pthread_sigqueue \
   pthread_timedjoin \
   pthread_tryjoin \
-  sem_getvalue \
   sem_init \
   sem_post \
   sem_timedwait \
diff --git a/nptl/Versions b/nptl/Versions
index c59bbd8736..dd1c1c7e9e 100644
--- a/nptl/Versions
+++ b/nptl/Versions
@@ -63,6 +63,7 @@  libc {
     pthread_sigmask;
     pthread_testcancel;
     sem_destroy;
+    sem_getvalue;
   }
   GLIBC_2.1 {
     pthread_attr_init;
@@ -82,6 +83,7 @@  libc {
     pthread_rwlockattr_setkind_np;
     pthread_rwlockattr_setpshared;
     sem_destroy;
+    sem_getvalue;
   }
   GLIBC_2.1.1 {
     sem_close;
@@ -257,6 +259,7 @@  libc {
     sem_clockwait;
     sem_close;
     sem_destroy;
+    sem_getvalue;
     sem_open;
     thrd_exit;
     tss_create;
@@ -323,7 +326,6 @@  libpthread {
     pthread_detach;
     pthread_join;
     pthread_sigmask;
-    sem_getvalue;
     sem_init;
     sem_post;
     sem_trywait;
@@ -340,7 +342,6 @@  libpthread {
     pthread_create;
     pthread_getconcurrency;
     pthread_setconcurrency;
-    sem_getvalue;
     sem_init;
     sem_post;
     sem_trywait;
diff --git a/nptl/sem_getvalue.c b/nptl/sem_getvalue.c
index 967a0a016b..7d3a596e8c 100644
--- a/nptl/sem_getvalue.c
+++ b/nptl/sem_getvalue.c
@@ -42,8 +42,13 @@  __new_sem_getvalue (sem_t *sem, int *sval)
 
   return 0;
 }
-versioned_symbol (libpthread, __new_sem_getvalue, sem_getvalue, GLIBC_2_1);
-#if SHLIB_COMPAT(libpthread, GLIBC_2_0, GLIBC_2_1)
+versioned_symbol (libc, __new_sem_getvalue, sem_getvalue, GLIBC_2_34);
+
+#if OTHER_SHLIB_COMPAT(libpthread, GLIBC_2_1, GLIBC_2_34)
+compat_symbol (libpthread, __new_sem_getvalue, sem_getvalue, GLIBC_2_1);
+#endif
+
+#if OTHER_SHLIB_COMPAT(libpthread, GLIBC_2_0, GLIBC_2_1)
 int
 __old_sem_getvalue (sem_t *sem, int *sval)
 {
diff --git a/sysdeps/unix/sysv/linux/aarch64/libc.abilist b/sysdeps/unix/sysv/linux/aarch64/libc.abilist
index 32b0f88baf..0e002b50c5 100644
--- a/sysdeps/unix/sysv/linux/aarch64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/aarch64/libc.abilist
@@ -1662,6 +1662,7 @@  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_getvalue F
 GLIBC_2.17 sem_open F
 GLIBC_2.17 semctl F
 GLIBC_2.17 semget F
@@ -2352,6 +2353,7 @@  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_getvalue 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 612c9f2e31..87bcb6bd08 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_getvalue F
 GLIBC_2.17 sem_init F
 GLIBC_2.17 sem_post F
 GLIBC_2.17 sem_timedwait F
diff --git a/sysdeps/unix/sysv/linux/alpha/libc.abilist b/sysdeps/unix/sysv/linux/alpha/libc.abilist
index 49f539aa56..d39e28a1d1 100644
--- a/sysdeps/unix/sysv/linux/alpha/libc.abilist
+++ b/sysdeps/unix/sysv/linux/alpha/libc.abilist
@@ -1012,6 +1012,7 @@  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 sem_getvalue F
 GLIBC_2.0 semctl F
 GLIBC_2.0 semget F
 GLIBC_2.0 semop F
@@ -1636,6 +1637,7 @@  GLIBC_2.1 rtime F
 GLIBC_2.1 scandir64 F
 GLIBC_2.1 select F
 GLIBC_2.1 sem_destroy F
+GLIBC_2.1 sem_getvalue F
 GLIBC_2.1 sendfile F
 GLIBC_2.1 setitimer F
 GLIBC_2.1 setrlimit64 F
@@ -2434,6 +2436,7 @@  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_getvalue 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 f489e4d96f..37eba5d526 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_getvalue F
 GLIBC_2.0 sem_init F
 GLIBC_2.0 sem_post F
 GLIBC_2.0 sem_trywait F
@@ -23,7 +22,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_getvalue F
 GLIBC_2.1 sem_init F
 GLIBC_2.1 sem_post F
 GLIBC_2.1 sem_trywait F
diff --git a/sysdeps/unix/sysv/linux/arc/libc.abilist b/sysdeps/unix/sysv/linux/arc/libc.abilist
index 85189504f6..d24e926437 100644
--- a/sysdeps/unix/sysv/linux/arc/libc.abilist
+++ b/sysdeps/unix/sysv/linux/arc/libc.abilist
@@ -1604,6 +1604,7 @@  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_getvalue F
 GLIBC_2.32 sem_open F
 GLIBC_2.32 semctl F
 GLIBC_2.32 semget F
@@ -2111,6 +2112,7 @@  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_getvalue 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 2ca2d1acd8..0d2b6878f0 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_getvalue F
 GLIBC_2.32 sem_init F
 GLIBC_2.32 sem_post F
 GLIBC_2.32 sem_timedwait F
diff --git a/sysdeps/unix/sysv/linux/arm/be/libc.abilist b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
index 2e4de030d4..6948069e7a 100644
--- a/sysdeps/unix/sysv/linux/arm/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
@@ -255,6 +255,7 @@  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_getvalue F
 GLIBC_2.34 sem_open F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
@@ -1843,6 +1844,7 @@  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_getvalue 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 4e5e61961d..10ae7a1302 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_getvalue F
 GLIBC_2.4 sem_init F
 GLIBC_2.4 sem_post F
 GLIBC_2.4 sem_timedwait F
diff --git a/sysdeps/unix/sysv/linux/arm/le/libc.abilist b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
index 75e1a70c5e..24f11ea83f 100644
--- a/sysdeps/unix/sysv/linux/arm/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
@@ -252,6 +252,7 @@  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_getvalue F
 GLIBC_2.34 sem_open F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
@@ -1840,6 +1841,7 @@  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_getvalue 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 4e5e61961d..10ae7a1302 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_getvalue F
 GLIBC_2.4 sem_init F
 GLIBC_2.4 sem_post F
 GLIBC_2.4 sem_timedwait F
diff --git a/sysdeps/unix/sysv/linux/csky/libc.abilist b/sysdeps/unix/sysv/linux/csky/libc.abilist
index 7e314d1d97..2ef861b277 100644
--- a/sysdeps/unix/sysv/linux/csky/libc.abilist
+++ b/sysdeps/unix/sysv/linux/csky/libc.abilist
@@ -1665,6 +1665,7 @@  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_getvalue F
 GLIBC_2.29 sem_open F
 GLIBC_2.29 semctl F
 GLIBC_2.29 semget F
@@ -2295,6 +2296,7 @@  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_getvalue 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 39cabcbc61..2c736e3810 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_getvalue F
 GLIBC_2.29 sem_init F
 GLIBC_2.29 sem_post F
 GLIBC_2.29 sem_timedwait F
diff --git a/sysdeps/unix/sysv/linux/hppa/libc.abilist b/sysdeps/unix/sysv/linux/hppa/libc.abilist
index 58b385d150..bb36e5c862 100644
--- a/sysdeps/unix/sysv/linux/hppa/libc.abilist
+++ b/sysdeps/unix/sysv/linux/hppa/libc.abilist
@@ -1454,6 +1454,7 @@  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_getvalue F
 GLIBC_2.2 sem_open F
 GLIBC_2.2 semctl F
 GLIBC_2.2 semget F
@@ -2246,6 +2247,7 @@  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_getvalue 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 c8a67fff04..9a3c7ba538 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_getvalue F
 GLIBC_2.2 sem_init F
 GLIBC_2.2 sem_post F
 GLIBC_2.2 sem_timedwait F
diff --git a/sysdeps/unix/sysv/linux/i386/libc.abilist b/sysdeps/unix/sysv/linux/i386/libc.abilist
index af383b5fb2..c01f45d684 100644
--- a/sysdeps/unix/sysv/linux/i386/libc.abilist
+++ b/sysdeps/unix/sysv/linux/i386/libc.abilist
@@ -989,6 +989,7 @@  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 sem_getvalue F
 GLIBC_2.0 semctl F
 GLIBC_2.0 semget F
 GLIBC_2.0 semop F
@@ -1606,6 +1607,7 @@  GLIBC_2.1 scalblnf F
 GLIBC_2.1 scalblnl F
 GLIBC_2.1 scandir64 F
 GLIBC_2.1 sem_destroy F
+GLIBC_2.1 sem_getvalue F
 GLIBC_2.1 sendfile F
 GLIBC_2.1 setrlimit64 F
 GLIBC_2.1 setutxent F
@@ -2424,6 +2426,7 @@  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_getvalue 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 c4dcb97ae5..b1833a99e1 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_getvalue F
 GLIBC_2.0 sem_init F
 GLIBC_2.0 sem_post F
 GLIBC_2.0 sem_trywait F
@@ -23,7 +22,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_getvalue F
 GLIBC_2.1 sem_init F
 GLIBC_2.1 sem_post F
 GLIBC_2.1 sem_trywait F
diff --git a/sysdeps/unix/sysv/linux/ia64/libc.abilist b/sysdeps/unix/sysv/linux/ia64/libc.abilist
index 6927c0d8ef..6f447d6acb 100644
--- a/sysdeps/unix/sysv/linux/ia64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/ia64/libc.abilist
@@ -1475,6 +1475,7 @@  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_getvalue F
 GLIBC_2.2 sem_open F
 GLIBC_2.2 semctl F
 GLIBC_2.2 semget F
@@ -2280,6 +2281,7 @@  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_getvalue 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 51ba7cd9d3..212b6841cc 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_getvalue F
 GLIBC_2.2 sem_init F
 GLIBC_2.2 sem_post F
 GLIBC_2.2 sem_timedwait F
diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
index 223866073d..7d16feab1c 100644
--- a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
@@ -256,6 +256,7 @@  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_getvalue F
 GLIBC_2.34 sem_open F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
@@ -1823,6 +1824,7 @@  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_getvalue 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 4e5e61961d..10ae7a1302 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_getvalue F
 GLIBC_2.4 sem_init F
 GLIBC_2.4 sem_post F
 GLIBC_2.4 sem_timedwait F
diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
index 4188d2d420..6a613724bc 100644
--- a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
@@ -988,6 +988,7 @@  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 sem_getvalue F
 GLIBC_2.0 semctl F
 GLIBC_2.0 semget F
 GLIBC_2.0 semop F
@@ -1602,6 +1603,7 @@  GLIBC_2.1 scalblnf F
 GLIBC_2.1 scalblnl F
 GLIBC_2.1 scandir64 F
 GLIBC_2.1 sem_destroy F
+GLIBC_2.1 sem_getvalue F
 GLIBC_2.1 sendfile F
 GLIBC_2.1 setrlimit64 F
 GLIBC_2.1 setutxent F
@@ -2367,6 +2369,7 @@  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_getvalue 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 c4dcb97ae5..b1833a99e1 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_getvalue F
 GLIBC_2.0 sem_init F
 GLIBC_2.0 sem_post F
 GLIBC_2.0 sem_trywait F
@@ -23,7 +22,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_getvalue F
 GLIBC_2.1 sem_init F
 GLIBC_2.1 sem_post F
 GLIBC_2.1 sem_trywait F
diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
index 43054192cd..08727dea01 100644
--- a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
@@ -1664,6 +1664,7 @@  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_getvalue F
 GLIBC_2.18 sem_open F
 GLIBC_2.18 semctl F
 GLIBC_2.18 semget F
@@ -2346,6 +2347,7 @@  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_getvalue 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 4273151307..4656602675 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_getvalue F
 GLIBC_2.18 sem_init F
 GLIBC_2.18 sem_post F
 GLIBC_2.18 sem_timedwait F
diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
index aa14334dea..4145398631 100644
--- a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
@@ -1664,6 +1664,7 @@  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_getvalue F
 GLIBC_2.18 sem_open F
 GLIBC_2.18 semctl F
 GLIBC_2.18 semget F
@@ -2343,6 +2344,7 @@  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_getvalue 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 4273151307..4656602675 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_getvalue F
 GLIBC_2.18 sem_init F
 GLIBC_2.18 sem_post F
 GLIBC_2.18 sem_timedwait F
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
index 799c247103..1ff4fda725 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
@@ -985,6 +985,7 @@  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 sem_getvalue F
 GLIBC_2.0 semctl F
 GLIBC_2.0 semget F
 GLIBC_2.0 semop F
@@ -1891,6 +1892,7 @@  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_getvalue F
 GLIBC_2.2 sem_open F
 GLIBC_2.2 semctl F
 GLIBC_2.2 sendfile F
@@ -2330,6 +2332,7 @@  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_getvalue 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 6b6f3eab0a..f250d3b50b 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_getvalue F
 GLIBC_2.0 sem_init F
 GLIBC_2.0 sem_post F
 GLIBC_2.0 sem_trywait F
@@ -37,7 +36,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_getvalue F
 GLIBC_2.2 sem_init F
 GLIBC_2.2 sem_post F
 GLIBC_2.2 sem_timedwait F
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
index 1c80548645..76acce16f5 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
@@ -985,6 +985,7 @@  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 sem_getvalue F
 GLIBC_2.0 semctl F
 GLIBC_2.0 semget F
 GLIBC_2.0 semop F
@@ -1889,6 +1890,7 @@  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_getvalue F
 GLIBC_2.2 sem_open F
 GLIBC_2.2 semctl F
 GLIBC_2.2 sendfile F
@@ -2328,6 +2330,7 @@  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_getvalue 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 6b6f3eab0a..f250d3b50b 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_getvalue F
 GLIBC_2.0 sem_init F
 GLIBC_2.0 sem_post F
 GLIBC_2.0 sem_trywait F
@@ -37,7 +36,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_getvalue F
 GLIBC_2.2 sem_init F
 GLIBC_2.2 sem_post F
 GLIBC_2.2 sem_timedwait F
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
index dc3615a827..2d626894fd 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
@@ -985,6 +985,7 @@  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 sem_getvalue F
 GLIBC_2.0 semctl F
 GLIBC_2.0 semget F
 GLIBC_2.0 semop F
@@ -1889,6 +1890,7 @@  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_getvalue F
 GLIBC_2.2 sem_open F
 GLIBC_2.2 sendfile F
 GLIBC_2.2 setrlimit64 F
@@ -2336,6 +2338,7 @@  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_getvalue 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 d190f0b34c..0aaf7611bd 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
@@ -983,6 +983,7 @@  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 sem_getvalue F
 GLIBC_2.0 semctl F
 GLIBC_2.0 semget F
 GLIBC_2.0 semop F
@@ -1885,6 +1886,7 @@  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_getvalue F
 GLIBC_2.2 sem_open F
 GLIBC_2.2 sendfile F
 GLIBC_2.2 setrlimit64 F
@@ -2330,6 +2332,7 @@  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_getvalue 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 fef793c58d..ea8b37e340 100644
--- a/sysdeps/unix/sysv/linux/nios2/libc.abilist
+++ b/sysdeps/unix/sysv/linux/nios2/libc.abilist
@@ -1707,6 +1707,7 @@  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_getvalue F
 GLIBC_2.21 sem_open F
 GLIBC_2.21 semctl F
 GLIBC_2.21 semget F
@@ -2385,6 +2386,7 @@  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_getvalue 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 bb52cc203e..5d47b5af57 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_getvalue F
 GLIBC_2.21 sem_init F
 GLIBC_2.21 sem_post F
 GLIBC_2.21 sem_timedwait F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
index 030b76ecbe..9e8200f88f 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
@@ -996,6 +996,7 @@  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 sem_getvalue F
 GLIBC_2.0 semctl F
 GLIBC_2.0 semget F
 GLIBC_2.0 semop F
@@ -1607,6 +1608,7 @@  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 sem_getvalue F
 GLIBC_2.1 sendfile F
 GLIBC_2.1 setrlimit64 F
 GLIBC_2.1 setutxent F
@@ -2394,6 +2396,7 @@  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_getvalue 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 89ea6ff7dd..4ba599efcf 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_getvalue F
 GLIBC_2.0 sem_init F
 GLIBC_2.0 sem_post F
 GLIBC_2.0 sem_trywait F
@@ -23,7 +22,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_getvalue F
 GLIBC_2.1 sem_init F
 GLIBC_2.1 sem_post F
 GLIBC_2.1 sem_trywait F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
index 777bd323b8..8ed232c46e 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
@@ -996,6 +996,7 @@  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 sem_getvalue F
 GLIBC_2.0 semctl F
 GLIBC_2.0 semget F
 GLIBC_2.0 semop F
@@ -1607,6 +1608,7 @@  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 sem_getvalue F
 GLIBC_2.1 sendfile F
 GLIBC_2.1 setrlimit64 F
 GLIBC_2.1 setutxent F
@@ -2427,6 +2429,7 @@  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_getvalue 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 08721871b7..887f480421 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
@@ -1579,6 +1579,7 @@  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_getvalue F
 GLIBC_2.3 sem_open F
 GLIBC_2.3 semctl F
 GLIBC_2.3 semget F
@@ -2247,6 +2248,7 @@  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_getvalue 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 4004100893..8e89df212e 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_getvalue F
 GLIBC_2.3 sem_init F
 GLIBC_2.3 sem_post F
 GLIBC_2.3 sem_timedwait F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
index cdf6f85bba..0e34639e23 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
@@ -1750,6 +1750,7 @@  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_getvalue F
 GLIBC_2.17 sem_open F
 GLIBC_2.17 semctl F
 GLIBC_2.17 semget F
@@ -2548,6 +2549,7 @@  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_getvalue 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 612c9f2e31..87bcb6bd08 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_getvalue F
 GLIBC_2.17 sem_init F
 GLIBC_2.17 sem_post F
 GLIBC_2.17 sem_timedwait F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
index 285603e38c..ee60bf8925 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
@@ -1606,6 +1606,7 @@  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_getvalue F
 GLIBC_2.33 sem_open F
 GLIBC_2.33 semctl F
 GLIBC_2.33 semget F
@@ -2113,6 +2114,7 @@  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_getvalue 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 5eaf5ecee2..b342a05a1b 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_getvalue F
 GLIBC_2.33 sem_init F
 GLIBC_2.33 sem_post F
 GLIBC_2.33 sem_timedwait F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
index 2b50fbcce3..3d76a78b07 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
@@ -1654,6 +1654,7 @@  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_getvalue F
 GLIBC_2.27 sem_open F
 GLIBC_2.27 semctl F
 GLIBC_2.27 semget F
@@ -2313,6 +2314,7 @@  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_getvalue 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 49a79bfbee..fe091c6884 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_getvalue F
 GLIBC_2.27 sem_init F
 GLIBC_2.27 sem_post F
 GLIBC_2.27 sem_timedwait F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
index 4f66ca3b0c..bb44dc053f 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
@@ -987,6 +987,7 @@  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 sem_getvalue F
 GLIBC_2.0 semctl F
 GLIBC_2.0 semget F
 GLIBC_2.0 semop F
@@ -1599,6 +1600,7 @@  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 sem_getvalue F
 GLIBC_2.1 sendfile F
 GLIBC_2.1 setrlimit64 F
 GLIBC_2.1 setutxent F
@@ -2392,6 +2394,7 @@  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_getvalue 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 52e5bf43df..899cf97c70 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_getvalue F
 GLIBC_2.0 sem_init F
 GLIBC_2.0 sem_post F
 GLIBC_2.0 sem_trywait F
@@ -23,7 +22,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_getvalue F
 GLIBC_2.1 sem_init F
 GLIBC_2.1 sem_post F
 GLIBC_2.1 sem_trywait F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
index 0904bb5b60..6a55bdb602 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
@@ -1472,6 +1472,7 @@  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_getvalue F
 GLIBC_2.2 sem_open F
 GLIBC_2.2 semctl F
 GLIBC_2.2 semget F
@@ -2284,6 +2285,7 @@  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_getvalue 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 484a009c6b..ea58dbd01d 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_getvalue F
 GLIBC_2.2 sem_init F
 GLIBC_2.2 sem_post F
 GLIBC_2.2 sem_timedwait F
diff --git a/sysdeps/unix/sysv/linux/sh/be/libc.abilist b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
index 6b01abbad2..fb4c0e3fa7 100644
--- a/sysdeps/unix/sysv/linux/sh/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
@@ -1458,6 +1458,7 @@  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_getvalue F
 GLIBC_2.2 sem_open F
 GLIBC_2.2 semctl F
 GLIBC_2.2 semget F
@@ -2253,6 +2254,7 @@  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_getvalue 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 c8a67fff04..9a3c7ba538 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_getvalue F
 GLIBC_2.2 sem_init F
 GLIBC_2.2 sem_post F
 GLIBC_2.2 sem_timedwait F
diff --git a/sysdeps/unix/sysv/linux/sh/le/libc.abilist b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
index 5a1bd3aee6..7c686b7ec9 100644
--- a/sysdeps/unix/sysv/linux/sh/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
@@ -1458,6 +1458,7 @@  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_getvalue F
 GLIBC_2.2 sem_open F
 GLIBC_2.2 semctl F
 GLIBC_2.2 semget F
@@ -2250,6 +2251,7 @@  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_getvalue 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 c8a67fff04..9a3c7ba538 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_getvalue F
 GLIBC_2.2 sem_init F
 GLIBC_2.2 sem_post F
 GLIBC_2.2 sem_timedwait F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
index 15664192ec..ab0cb2d1d2 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
@@ -990,6 +990,7 @@  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 sem_getvalue F
 GLIBC_2.0 semctl F
 GLIBC_2.0 semget F
 GLIBC_2.0 semop F
@@ -1600,6 +1601,7 @@  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 sem_getvalue F
 GLIBC_2.1 sendfile F
 GLIBC_2.1 setrlimit64 F
 GLIBC_2.1 setutxent F
@@ -2383,6 +2385,7 @@  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_getvalue 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 f489e4d96f..37eba5d526 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_getvalue F
 GLIBC_2.0 sem_init F
 GLIBC_2.0 sem_post F
 GLIBC_2.0 sem_trywait F
@@ -23,7 +22,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_getvalue F
 GLIBC_2.1 sem_init F
 GLIBC_2.1 sem_post F
 GLIBC_2.1 sem_trywait F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
index 7435c3ec03..53dacbb77e 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
@@ -1501,6 +1501,7 @@  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_getvalue F
 GLIBC_2.2 sem_open F
 GLIBC_2.2 semctl F
 GLIBC_2.2 semget F
@@ -2301,6 +2302,7 @@  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_getvalue 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 51ba7cd9d3..212b6841cc 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_getvalue F
 GLIBC_2.2 sem_init F
 GLIBC_2.2 sem_post F
 GLIBC_2.2 sem_timedwait F
diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
index bb1b29fae1..96245373c8 100644
--- a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
@@ -1469,6 +1469,7 @@  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_getvalue F
 GLIBC_2.2.5 sem_open F
 GLIBC_2.2.5 semctl F
 GLIBC_2.2.5 semget F
@@ -2262,6 +2263,7 @@  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_getvalue 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 4afc067ed7..2c17991871 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_getvalue F
 GLIBC_2.2.5 sem_init F
 GLIBC_2.2.5 sem_post F
 GLIBC_2.2.5 sem_timedwait F
diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
index 0ab342e22f..7cd32696c5 100644
--- a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
@@ -1668,6 +1668,7 @@  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_getvalue F
 GLIBC_2.16 sem_open F
 GLIBC_2.16 semctl F
 GLIBC_2.16 semget F
@@ -2367,6 +2368,7 @@  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_getvalue 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 be4a4b86fe..44826acfbd 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_getvalue F
 GLIBC_2.16 sem_init F
 GLIBC_2.16 sem_post F
 GLIBC_2.16 sem_timedwait F