public inbox for libc-alpha@sourceware.org
 help / color / mirror / Atom feed
* [PATCH 00/11] nptl: Move semaphore functions into libc
@ 2021-05-03 13:51 Florian Weimer
  2021-05-03 13:51 ` [PATCH 01/11] nptl: Move pthread_testcancel " Florian Weimer
                   ` (10 more replies)
  0 siblings, 11 replies; 24+ messages in thread
From: Florian Weimer @ 2021-05-03 13:51 UTC (permalink / raw)
  To: libc-alpha

Moving sem_open/sem_close/sem_unlink is a bit tricky because Hurd is
different.  I had to consolidate some NTPL async cancel helpers to
simplify the move of the implementations.  Otherwise it is pretty
standard stuff.

Thanks,
Florian

Florian Weimer (11):
  nptl: Move pthread_testcancel into libc
  nptl: Consolidate aysnc cancel enable/disable implementation in libc
  nptl: Move sem_clockwait into libc
  nptl: Move sem_close, sem_open into libc
  nptl: Move sem_destroy into libc
  nptl: Move sem_getvalue into libc
  nptl: Move sem_init into libc
  nptl: Move sem_post into libc
  nptl: Move sem_timedwait into libc
  nptl: Move sem_unlink into libc
  nptl: Move sem_trywait, sem_wait into libc

 elf/Makefile                                  |  6 +-
 include/shm-directory.h                       |  1 +
 include/stdlib.h                              |  1 +
 manual/llio.texi                              |  4 +-
 misc/mktemp.c                                 |  1 +
 nptl/Makefile                                 | 28 +++++-----
 nptl/Versions                                 | 55 +++++++++++++------
 nptl/cancellation.c                           |  4 +-
 nptl/libc-cancellation.c                      | 24 --------
 nptl/libpthread-compat.c                      |  9 +++
 nptl/pthreadP.h                               |  4 +-
 nptl/pthread_create.c                         |  4 +-
 nptl/pthread_testcancel.c                     | 14 +++--
 nptl/sem_clockwait.c                          | 15 +++--
 nptl/sem_destroy.c                            |  7 ++-
 nptl/sem_getvalue.c                           |  9 ++-
 nptl/sem_init.c                               |  8 ++-
 nptl/sem_post.c                               |  7 ++-
 nptl/sem_timedwait.c                          | 18 ++++--
 nptl/sem_wait.c                               | 17 ++++--
 nptl/semaphoreP.h                             |  4 +-
 posix/shm-directory.c                         |  1 +
 rt/Makefile                                   |  1 -
 sysdeps/nptl/Makefile                         |  3 +-
 sysdeps/nptl/librt-cancellation.c             | 24 --------
 sysdeps/nptl/lowlevellock-futex.h             |  8 +--
 sysdeps/pthread/sem_close.c                   | 10 +++-
 sysdeps/pthread/sem_open.c                    | 40 +++++++++-----
 sysdeps/pthread/sem_routines.c                | 10 ++--
 sysdeps/pthread/sem_unlink.c                  | 17 +++++-
 sysdeps/unix/sysv/linux/aarch64/libc.abilist  | 24 ++++++++
 .../sysv/linux/aarch64/libpthread.abilist     | 13 +----
 sysdeps/unix/sysv/linux/alpha/libc.abilist    | 30 ++++++++++
 .../unix/sysv/linux/alpha/libpthread.abilist  | 20 +------
 sysdeps/unix/sysv/linux/arc/libc.abilist      | 24 ++++++++
 .../unix/sysv/linux/arc/libpthread.abilist    | 12 ----
 sysdeps/unix/sysv/linux/arm/be/libc.abilist   | 24 ++++++++
 .../unix/sysv/linux/arm/be/libpthread.abilist | 13 +----
 sysdeps/unix/sysv/linux/arm/le/libc.abilist   | 24 ++++++++
 .../unix/sysv/linux/arm/le/libpthread.abilist | 13 +----
 sysdeps/unix/sysv/linux/csky/libc.abilist     | 24 ++++++++
 .../unix/sysv/linux/csky/libpthread.abilist   | 13 +----
 sysdeps/unix/sysv/linux/hppa/libc.abilist     | 24 ++++++++
 .../unix/sysv/linux/hppa/libpthread.abilist   | 13 +----
 sysdeps/unix/sysv/linux/i386/libc.abilist     | 30 ++++++++++
 .../unix/sysv/linux/i386/libpthread.abilist   | 20 +------
 sysdeps/unix/sysv/linux/ia64/libc.abilist     | 24 ++++++++
 .../unix/sysv/linux/ia64/libpthread.abilist   | 13 +----
 .../sysv/linux/m68k/coldfire/libc.abilist     | 24 ++++++++
 .../linux/m68k/coldfire/libpthread.abilist    | 13 +----
 .../unix/sysv/linux/m68k/m680x0/libc.abilist  | 30 ++++++++++
 .../sysv/linux/m68k/m680x0/libpthread.abilist | 20 +------
 .../sysv/linux/microblaze/be/libc.abilist     | 24 ++++++++
 .../linux/microblaze/be/libpthread.abilist    | 13 +----
 .../sysv/linux/microblaze/le/libc.abilist     | 24 ++++++++
 .../linux/microblaze/le/libpthread.abilist    | 13 +----
 .../sysv/linux/mips/mips32/fpu/libc.abilist   | 30 ++++++++++
 .../sysv/linux/mips/mips32/libpthread.abilist | 19 +------
 .../sysv/linux/mips/mips32/nofpu/libc.abilist | 30 ++++++++++
 .../sysv/linux/mips/mips64/libpthread.abilist | 19 +------
 .../sysv/linux/mips/mips64/n32/libc.abilist   | 30 ++++++++++
 .../sysv/linux/mips/mips64/n64/libc.abilist   | 30 ++++++++++
 sysdeps/unix/sysv/linux/nios2/libc.abilist    | 24 ++++++++
 .../unix/sysv/linux/nios2/libpthread.abilist  | 13 +----
 .../linux/powerpc/powerpc32/fpu/libc.abilist  | 30 ++++++++++
 .../powerpc/powerpc32/libpthread.abilist      | 20 +------
 .../powerpc/powerpc32/nofpu/libc.abilist      | 30 ++++++++++
 .../linux/powerpc/powerpc64/be/libc.abilist   | 24 ++++++++
 .../powerpc/powerpc64/be/libpthread.abilist   | 13 +----
 .../linux/powerpc/powerpc64/le/libc.abilist   | 24 ++++++++
 .../powerpc/powerpc64/le/libpthread.abilist   | 13 +----
 .../unix/sysv/linux/riscv/rv32/libc.abilist   | 24 ++++++++
 .../sysv/linux/riscv/rv32/libpthread.abilist  | 12 ----
 .../unix/sysv/linux/riscv/rv64/libc.abilist   | 24 ++++++++
 .../sysv/linux/riscv/rv64/libpthread.abilist  | 13 +----
 .../unix/sysv/linux/s390/s390-32/libc.abilist | 30 ++++++++++
 .../linux/s390/s390-32/libpthread.abilist     | 20 +------
 .../unix/sysv/linux/s390/s390-64/libc.abilist | 24 ++++++++
 .../linux/s390/s390-64/libpthread.abilist     | 13 +----
 sysdeps/unix/sysv/linux/sh/be/libc.abilist    | 24 ++++++++
 .../unix/sysv/linux/sh/be/libpthread.abilist  | 13 +----
 sysdeps/unix/sysv/linux/sh/le/libc.abilist    | 24 ++++++++
 .../unix/sysv/linux/sh/le/libpthread.abilist  | 13 +----
 sysdeps/unix/sysv/linux/socketcall.h          |  5 --
 .../sysv/linux/sparc/sparc32/libc.abilist     | 30 ++++++++++
 .../linux/sparc/sparc32/libpthread.abilist    | 20 +------
 .../sysv/linux/sparc/sparc64/libc.abilist     | 24 ++++++++
 .../linux/sparc/sparc64/libpthread.abilist    | 13 +----
 sysdeps/unix/sysv/linux/sysdep-cancel.h       | 44 +++------------
 .../unix/sysv/linux/x86_64/64/libc.abilist    | 24 ++++++++
 .../sysv/linux/x86_64/64/libpthread.abilist   | 13 +----
 .../unix/sysv/linux/x86_64/x32/libc.abilist   | 24 ++++++++
 .../sysv/linux/x86_64/x32/libpthread.abilist  | 13 +----
 93 files changed, 1079 insertions(+), 587 deletions(-)
 delete mode 100644 nptl/libc-cancellation.c
 delete mode 100644 sysdeps/nptl/librt-cancellation.c

-- 
2.30.2


^ permalink raw reply	[flat|nested] 24+ messages in thread

* [PATCH 01/11] nptl: Move pthread_testcancel into libc
  2021-05-03 13:51 [PATCH 00/11] nptl: Move semaphore functions into libc Florian Weimer
@ 2021-05-03 13:51 ` Florian Weimer
  2021-05-05 14:16   ` Adhemerval Zanella
  2021-05-03 13:51 ` [PATCH 02/11] nptl: Consolidate aysnc cancel enable/disable implementation in libc Florian Weimer
                   ` (9 subsequent siblings)
  10 siblings, 1 reply; 24+ messages in thread
From: Florian Weimer @ 2021-05-03 13:51 UTC (permalink / raw)
  To: libc-alpha

The symbol was moved using scripts/move-symbol-to-libc.py.

A temporary __pthread_testcancel@@GLIBC_PRIVATE export is created
because it is needed by the semaphore implementation.
---
 nptl/Makefile                                      |  2 +-
 nptl/Versions                                      |  4 +++-
 nptl/pthreadP.h                                    |  2 +-
 nptl/pthread_testcancel.c                          | 14 ++++++++++----
 sysdeps/unix/sysv/linux/aarch64/libc.abilist       |  2 ++
 sysdeps/unix/sysv/linux/aarch64/libpthread.abilist |  1 -
 sysdeps/unix/sysv/linux/alpha/libc.abilist         |  2 ++
 sysdeps/unix/sysv/linux/alpha/libpthread.abilist   |  1 -
 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          |  2 ++
 sysdeps/unix/sysv/linux/i386/libpthread.abilist    |  1 -
 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 ++
 .../sysv/linux/m68k/coldfire/libpthread.abilist    |  1 -
 sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist   |  2 ++
 .../unix/sysv/linux/m68k/m680x0/libpthread.abilist |  1 -
 sysdeps/unix/sysv/linux/microblaze/be/libc.abilist |  2 ++
 .../sysv/linux/microblaze/be/libpthread.abilist    |  1 -
 sysdeps/unix/sysv/linux/microblaze/le/libc.abilist |  2 ++
 .../sysv/linux/microblaze/le/libpthread.abilist    |  1 -
 .../unix/sysv/linux/mips/mips32/fpu/libc.abilist   |  2 ++
 .../unix/sysv/linux/mips/mips32/libpthread.abilist |  1 -
 .../unix/sysv/linux/mips/mips32/nofpu/libc.abilist |  2 ++
 .../unix/sysv/linux/mips/mips64/libpthread.abilist |  1 -
 .../unix/sysv/linux/mips/mips64/n32/libc.abilist   |  2 ++
 .../unix/sysv/linux/mips/mips64/n64/libc.abilist   |  2 ++
 sysdeps/unix/sysv/linux/nios2/libc.abilist         |  2 ++
 sysdeps/unix/sysv/linux/nios2/libpthread.abilist   |  1 -
 .../sysv/linux/powerpc/powerpc32/fpu/libc.abilist  |  2 ++
 .../linux/powerpc/powerpc32/libpthread.abilist     |  1 -
 .../linux/powerpc/powerpc32/nofpu/libc.abilist     |  2 ++
 .../sysv/linux/powerpc/powerpc64/be/libc.abilist   |  2 ++
 .../linux/powerpc/powerpc64/be/libpthread.abilist  |  1 -
 .../sysv/linux/powerpc/powerpc64/le/libc.abilist   |  2 ++
 .../linux/powerpc/powerpc64/le/libpthread.abilist  |  1 -
 sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist    |  2 ++
 .../unix/sysv/linux/riscv/rv32/libpthread.abilist  |  1 -
 sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist    |  2 ++
 .../unix/sysv/linux/riscv/rv64/libpthread.abilist  |  1 -
 sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist  |  2 ++
 .../sysv/linux/s390/s390-32/libpthread.abilist     |  1 -
 sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist  |  2 ++
 .../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 |  2 ++
 .../sysv/linux/sparc/sparc32/libpthread.abilist    |  1 -
 sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist |  2 ++
 .../sysv/linux/sparc/sparc64/libpthread.abilist    |  1 -
 sysdeps/unix/sysv/linux/x86_64/64/libc.abilist     |  2 ++
 .../unix/sysv/linux/x86_64/64/libpthread.abilist   |  1 -
 sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist    |  2 ++
 .../unix/sysv/linux/x86_64/x32/libpthread.abilist  |  1 -
 65 files changed, 79 insertions(+), 36 deletions(-)

diff --git a/nptl/Makefile b/nptl/Makefile
index 38f2715c2c..884cb69bb4 100644
--- a/nptl/Makefile
+++ b/nptl/Makefile
@@ -148,6 +148,7 @@ routines = \
   pthread_spin_lock \
   pthread_spin_trylock \
   pthread_spin_unlock \
+  pthread_testcancel \
   pthread_yield \
   tpp \
   unwind \
@@ -199,7 +200,6 @@ libpthread-routines = \
   pthread_setname \
   pthread_setschedprio \
   pthread_sigqueue \
-  pthread_testcancel \
   pthread_timedjoin \
   pthread_tryjoin \
   sem_clockwait \
diff --git a/nptl/Versions b/nptl/Versions
index 0914630be3..ce09c73727 100644
--- a/nptl/Versions
+++ b/nptl/Versions
@@ -61,6 +61,7 @@ libc {
     pthread_setschedparam;
     pthread_setspecific;
     pthread_sigmask;
+    pthread_testcancel;
   }
   GLIBC_2.1 {
     pthread_attr_init;
@@ -245,6 +246,7 @@ libc {
     pthread_spin_lock;
     pthread_spin_trylock;
     pthread_spin_unlock;
+    pthread_testcancel;
     thrd_exit;
     tss_create;
     tss_delete;
@@ -284,6 +286,7 @@ libc {
     __pthread_keys;
     __pthread_mutex_unlock_usercnt;
     __pthread_setcancelstate;
+    __pthread_testcancel;
     __pthread_tpp_change_priority;
     __pthread_unwind;
     __sched_fifo_max_prio;
@@ -307,7 +310,6 @@ libpthread {
     pthread_detach;
     pthread_join;
     pthread_sigmask;
-    pthread_testcancel;
     sem_destroy;
     sem_getvalue;
     sem_init;
diff --git a/nptl/pthreadP.h b/nptl/pthreadP.h
index 00d2cfe764..ee77928fc7 100644
--- a/nptl/pthreadP.h
+++ b/nptl/pthreadP.h
@@ -572,6 +572,7 @@ libc_hidden_proto (__pthread_setcanceltype)
 extern int __pthread_enable_asynccancel (void) attribute_hidden;
 extern void __pthread_disable_asynccancel (int oldtype) attribute_hidden;
 extern void __pthread_testcancel (void);
+libc_hidden_proto (__pthread_testcancel)
 extern int __pthread_clockjoin_ex (pthread_t, void **, clockid_t,
 				   const struct __timespec64 *, bool)
   attribute_hidden;
@@ -581,7 +582,6 @@ libc_hidden_proto (__pthread_sigmask);
 
 #if IS_IN (libpthread)
 hidden_proto (__pthread_rwlock_unlock)
-hidden_proto (__pthread_testcancel)
 #endif
 
 extern int __pthread_cond_broadcast_2_0 (pthread_cond_2_0_t *cond);
diff --git a/nptl/pthread_testcancel.c b/nptl/pthread_testcancel.c
index 8ed2370afa..a9e941ddb7 100644
--- a/nptl/pthread_testcancel.c
+++ b/nptl/pthread_testcancel.c
@@ -18,12 +18,18 @@
 
 #include <stdlib.h>
 #include "pthreadP.h"
-
+#include <shlib-compat.h>
 
 void
-__pthread_testcancel (void)
+___pthread_testcancel (void)
 {
   CANCELLATION_P (THREAD_SELF);
 }
-strong_alias (__pthread_testcancel, pthread_testcancel)
-hidden_def (__pthread_testcancel)
+versioned_symbol (libc, ___pthread_testcancel, pthread_testcancel, GLIBC_2_34);
+versioned_symbol (libc, ___pthread_testcancel, __pthread_testcancel,
+                  GLIBC_PRIVATE);
+libc_hidden_ver (___pthread_testcancel, __pthread_testcancel)
+
+#if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_0, GLIBC_2_34)
+compat_symbol (libc, ___pthread_testcancel, pthread_testcancel, GLIBC_2_0);
+#endif
diff --git a/sysdeps/unix/sysv/linux/aarch64/libc.abilist b/sysdeps/unix/sysv/linux/aarch64/libc.abilist
index aad440cc6a..5dfea47ebf 100644
--- a/sysdeps/unix/sysv/linux/aarch64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/aarch64/libc.abilist
@@ -1530,6 +1530,7 @@ GLIBC_2.17 pthread_spin_init F
 GLIBC_2.17 pthread_spin_lock F
 GLIBC_2.17 pthread_spin_trylock F
 GLIBC_2.17 pthread_spin_unlock F
+GLIBC_2.17 pthread_testcancel F
 GLIBC_2.17 pthread_yield F
 GLIBC_2.17 ptrace F
 GLIBC_2.17 ptsname F
@@ -2343,6 +2344,7 @@ GLIBC_2.34 pthread_spin_init F
 GLIBC_2.34 pthread_spin_lock F
 GLIBC_2.34 pthread_spin_trylock F
 GLIBC_2.34 pthread_spin_unlock F
+GLIBC_2.34 pthread_testcancel F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
index c1f11e12df..839f2ff64a 100644
--- a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
@@ -37,7 +37,6 @@ GLIBC_2.17 pthread_setconcurrency F
 GLIBC_2.17 pthread_setname_np F
 GLIBC_2.17 pthread_setschedprio F
 GLIBC_2.17 pthread_sigqueue F
-GLIBC_2.17 pthread_testcancel F
 GLIBC_2.17 pthread_timedjoin_np F
 GLIBC_2.17 pthread_tryjoin_np F
 GLIBC_2.17 sem_close F
diff --git a/sysdeps/unix/sysv/linux/alpha/libc.abilist b/sysdeps/unix/sysv/linux/alpha/libc.abilist
index e0deca069c..318eea546a 100644
--- a/sysdeps/unix/sysv/linux/alpha/libc.abilist
+++ b/sysdeps/unix/sysv/linux/alpha/libc.abilist
@@ -921,6 +921,7 @@ GLIBC_2.0 pthread_setcanceltype F
 GLIBC_2.0 pthread_setschedparam F
 GLIBC_2.0 pthread_setspecific F
 GLIBC_2.0 pthread_sigmask F
+GLIBC_2.0 pthread_testcancel F
 GLIBC_2.0 ptrace F
 GLIBC_2.0 putc F
 GLIBC_2.0 putc_unlocked F
@@ -2424,6 +2425,7 @@ GLIBC_2.34 pthread_spin_init F
 GLIBC_2.34 pthread_spin_lock F
 GLIBC_2.34 pthread_spin_trylock F
 GLIBC_2.34 pthread_spin_unlock F
+GLIBC_2.34 pthread_testcancel F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
index 5eae00fd6b..2633a1c816 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 pthread_testcancel F
 GLIBC_2.0 sem_destroy F
 GLIBC_2.0 sem_getvalue F
 GLIBC_2.0 sem_init F
diff --git a/sysdeps/unix/sysv/linux/arc/libc.abilist b/sysdeps/unix/sysv/linux/arc/libc.abilist
index ac0f574207..18b5c97cc8 100644
--- a/sysdeps/unix/sysv/linux/arc/libc.abilist
+++ b/sysdeps/unix/sysv/linux/arc/libc.abilist
@@ -1473,6 +1473,7 @@ GLIBC_2.32 pthread_spin_init F
 GLIBC_2.32 pthread_spin_lock F
 GLIBC_2.32 pthread_spin_trylock F
 GLIBC_2.32 pthread_spin_unlock F
+GLIBC_2.32 pthread_testcancel F
 GLIBC_2.32 pthread_yield F
 GLIBC_2.32 ptrace F
 GLIBC_2.32 ptsname F
@@ -2102,6 +2103,7 @@ GLIBC_2.34 pthread_spin_init F
 GLIBC_2.34 pthread_spin_lock F
 GLIBC_2.34 pthread_spin_trylock F
 GLIBC_2.34 pthread_spin_unlock F
+GLIBC_2.34 pthread_testcancel F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/arc/libpthread.abilist b/sysdeps/unix/sysv/linux/arc/libpthread.abilist
index 8d12b93ff1..fbe2217064 100644
--- a/sysdeps/unix/sysv/linux/arc/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/arc/libpthread.abilist
@@ -40,7 +40,6 @@ GLIBC_2.32 pthread_setconcurrency F
 GLIBC_2.32 pthread_setname_np F
 GLIBC_2.32 pthread_setschedprio F
 GLIBC_2.32 pthread_sigqueue F
-GLIBC_2.32 pthread_testcancel F
 GLIBC_2.32 pthread_timedjoin_np F
 GLIBC_2.32 pthread_tryjoin_np F
 GLIBC_2.32 sem_clockwait F
diff --git a/sysdeps/unix/sysv/linux/arm/be/libc.abilist b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
index c77241c227..7de0e34b14 100644
--- a/sysdeps/unix/sysv/linux/arm/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
@@ -250,6 +250,7 @@ GLIBC_2.34 pthread_spin_init F
 GLIBC_2.34 pthread_spin_lock F
 GLIBC_2.34 pthread_spin_trylock F
 GLIBC_2.34 pthread_spin_unlock F
+GLIBC_2.34 pthread_testcancel F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
@@ -1718,6 +1719,7 @@ GLIBC_2.4 pthread_spin_init F
 GLIBC_2.4 pthread_spin_lock F
 GLIBC_2.4 pthread_spin_trylock F
 GLIBC_2.4 pthread_spin_unlock F
+GLIBC_2.4 pthread_testcancel F
 GLIBC_2.4 pthread_yield F
 GLIBC_2.4 ptrace F
 GLIBC_2.4 ptsname F
diff --git a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
index e7907d89b8..bd82a85136 100644
--- a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
@@ -45,7 +45,6 @@ GLIBC_2.4 pthread_join F
 GLIBC_2.4 pthread_setaffinity_np F
 GLIBC_2.4 pthread_setconcurrency F
 GLIBC_2.4 pthread_setschedprio F
-GLIBC_2.4 pthread_testcancel F
 GLIBC_2.4 pthread_timedjoin_np F
 GLIBC_2.4 pthread_tryjoin_np F
 GLIBC_2.4 sem_close F
diff --git a/sysdeps/unix/sysv/linux/arm/le/libc.abilist b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
index 9e02ac94d8..3e79ca85f0 100644
--- a/sysdeps/unix/sysv/linux/arm/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
@@ -247,6 +247,7 @@ GLIBC_2.34 pthread_spin_init F
 GLIBC_2.34 pthread_spin_lock F
 GLIBC_2.34 pthread_spin_trylock F
 GLIBC_2.34 pthread_spin_unlock F
+GLIBC_2.34 pthread_testcancel F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
@@ -1715,6 +1716,7 @@ GLIBC_2.4 pthread_spin_init F
 GLIBC_2.4 pthread_spin_lock F
 GLIBC_2.4 pthread_spin_trylock F
 GLIBC_2.4 pthread_spin_unlock F
+GLIBC_2.4 pthread_testcancel F
 GLIBC_2.4 pthread_yield F
 GLIBC_2.4 ptrace F
 GLIBC_2.4 ptsname F
diff --git a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
index e7907d89b8..bd82a85136 100644
--- a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
@@ -45,7 +45,6 @@ GLIBC_2.4 pthread_join F
 GLIBC_2.4 pthread_setaffinity_np F
 GLIBC_2.4 pthread_setconcurrency F
 GLIBC_2.4 pthread_setschedprio F
-GLIBC_2.4 pthread_testcancel F
 GLIBC_2.4 pthread_timedjoin_np F
 GLIBC_2.4 pthread_tryjoin_np F
 GLIBC_2.4 sem_close F
diff --git a/sysdeps/unix/sysv/linux/csky/libc.abilist b/sysdeps/unix/sysv/linux/csky/libc.abilist
index a209787385..9eaeda5d49 100644
--- a/sysdeps/unix/sysv/linux/csky/libc.abilist
+++ b/sysdeps/unix/sysv/linux/csky/libc.abilist
@@ -1530,6 +1530,7 @@ GLIBC_2.29 pthread_spin_init F
 GLIBC_2.29 pthread_spin_lock F
 GLIBC_2.29 pthread_spin_trylock F
 GLIBC_2.29 pthread_spin_unlock F
+GLIBC_2.29 pthread_testcancel F
 GLIBC_2.29 pthread_yield F
 GLIBC_2.29 ptrace F
 GLIBC_2.29 ptsname F
@@ -2286,6 +2287,7 @@ GLIBC_2.34 pthread_spin_init F
 GLIBC_2.34 pthread_spin_lock F
 GLIBC_2.34 pthread_spin_trylock F
 GLIBC_2.34 pthread_spin_unlock F
+GLIBC_2.34 pthread_testcancel F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/csky/libpthread.abilist b/sysdeps/unix/sysv/linux/csky/libpthread.abilist
index 4030a58e1a..c1e500ab59 100644
--- a/sysdeps/unix/sysv/linux/csky/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/csky/libpthread.abilist
@@ -39,7 +39,6 @@ GLIBC_2.29 pthread_setconcurrency F
 GLIBC_2.29 pthread_setname_np F
 GLIBC_2.29 pthread_setschedprio F
 GLIBC_2.29 pthread_sigqueue F
-GLIBC_2.29 pthread_testcancel F
 GLIBC_2.29 pthread_timedjoin_np F
 GLIBC_2.29 pthread_tryjoin_np F
 GLIBC_2.29 sem_close F
diff --git a/sysdeps/unix/sysv/linux/hppa/libc.abilist b/sysdeps/unix/sysv/linux/hppa/libc.abilist
index cbbf211ee5..59165723ed 100644
--- a/sysdeps/unix/sysv/linux/hppa/libc.abilist
+++ b/sysdeps/unix/sysv/linux/hppa/libc.abilist
@@ -1341,6 +1341,7 @@ GLIBC_2.2 pthread_spin_init F
 GLIBC_2.2 pthread_spin_lock F
 GLIBC_2.2 pthread_spin_trylock F
 GLIBC_2.2 pthread_spin_unlock F
+GLIBC_2.2 pthread_testcancel F
 GLIBC_2.2 pthread_yield F
 GLIBC_2.2 ptrace F
 GLIBC_2.2 ptsname F
@@ -2237,6 +2238,7 @@ GLIBC_2.34 pthread_spin_init F
 GLIBC_2.34 pthread_spin_lock F
 GLIBC_2.34 pthread_spin_trylock F
 GLIBC_2.34 pthread_spin_unlock F
+GLIBC_2.34 pthread_testcancel F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
index af0359bd14..0d4dfb6328 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 pthread_testcancel F
 GLIBC_2.2 sem_close F
 GLIBC_2.2 sem_destroy F
 GLIBC_2.2 sem_getvalue F
diff --git a/sysdeps/unix/sysv/linux/i386/libc.abilist b/sysdeps/unix/sysv/linux/i386/libc.abilist
index 24cb2d684d..05c26afb65 100644
--- a/sysdeps/unix/sysv/linux/i386/libc.abilist
+++ b/sysdeps/unix/sysv/linux/i386/libc.abilist
@@ -898,6 +898,7 @@ GLIBC_2.0 pthread_setcanceltype F
 GLIBC_2.0 pthread_setschedparam F
 GLIBC_2.0 pthread_setspecific F
 GLIBC_2.0 pthread_sigmask F
+GLIBC_2.0 pthread_testcancel F
 GLIBC_2.0 ptrace F
 GLIBC_2.0 putc F
 GLIBC_2.0 putc_unlocked F
@@ -2414,6 +2415,7 @@ GLIBC_2.34 pthread_spin_init F
 GLIBC_2.34 pthread_spin_lock F
 GLIBC_2.34 pthread_spin_trylock F
 GLIBC_2.34 pthread_spin_unlock F
+GLIBC_2.34 pthread_testcancel F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/i386/libpthread.abilist b/sysdeps/unix/sysv/linux/i386/libpthread.abilist
index 1fdd0c7758..7b43b9309b 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 pthread_testcancel F
 GLIBC_2.0 sem_destroy F
 GLIBC_2.0 sem_getvalue F
 GLIBC_2.0 sem_init F
diff --git a/sysdeps/unix/sysv/linux/ia64/libc.abilist b/sysdeps/unix/sysv/linux/ia64/libc.abilist
index 7513d48cae..2aeb8e0be5 100644
--- a/sysdeps/unix/sysv/linux/ia64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/ia64/libc.abilist
@@ -1362,6 +1362,7 @@ GLIBC_2.2 pthread_spin_init F
 GLIBC_2.2 pthread_spin_lock F
 GLIBC_2.2 pthread_spin_trylock F
 GLIBC_2.2 pthread_spin_unlock F
+GLIBC_2.2 pthread_testcancel F
 GLIBC_2.2 pthread_yield F
 GLIBC_2.2 ptrace F
 GLIBC_2.2 ptsname F
@@ -2271,6 +2272,7 @@ GLIBC_2.34 pthread_spin_init F
 GLIBC_2.34 pthread_spin_lock F
 GLIBC_2.34 pthread_spin_trylock F
 GLIBC_2.34 pthread_spin_unlock F
+GLIBC_2.34 pthread_testcancel F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
index c6c1f7ac7b..cef26d71d6 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 pthread_testcancel F
 GLIBC_2.2 sem_close F
 GLIBC_2.2 sem_destroy F
 GLIBC_2.2 sem_getvalue F
diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
index 013dcbb16d..571c501b95 100644
--- a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
@@ -251,6 +251,7 @@ GLIBC_2.34 pthread_spin_init F
 GLIBC_2.34 pthread_spin_lock F
 GLIBC_2.34 pthread_spin_trylock F
 GLIBC_2.34 pthread_spin_unlock F
+GLIBC_2.34 pthread_testcancel F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
@@ -1698,6 +1699,7 @@ GLIBC_2.4 pthread_spin_init F
 GLIBC_2.4 pthread_spin_lock F
 GLIBC_2.4 pthread_spin_trylock F
 GLIBC_2.4 pthread_spin_unlock F
+GLIBC_2.4 pthread_testcancel F
 GLIBC_2.4 pthread_yield F
 GLIBC_2.4 ptrace F
 GLIBC_2.4 ptsname F
diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
index e7907d89b8..bd82a85136 100644
--- a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
@@ -45,7 +45,6 @@ GLIBC_2.4 pthread_join F
 GLIBC_2.4 pthread_setaffinity_np F
 GLIBC_2.4 pthread_setconcurrency F
 GLIBC_2.4 pthread_setschedprio F
-GLIBC_2.4 pthread_testcancel F
 GLIBC_2.4 pthread_timedjoin_np F
 GLIBC_2.4 pthread_tryjoin_np F
 GLIBC_2.4 sem_close F
diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
index 0748c21b38..0404cf1749 100644
--- a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
@@ -897,6 +897,7 @@ GLIBC_2.0 pthread_setcanceltype F
 GLIBC_2.0 pthread_setschedparam F
 GLIBC_2.0 pthread_setspecific F
 GLIBC_2.0 pthread_sigmask F
+GLIBC_2.0 pthread_testcancel F
 GLIBC_2.0 ptrace F
 GLIBC_2.0 putc F
 GLIBC_2.0 putc_unlocked F
@@ -2357,6 +2358,7 @@ GLIBC_2.34 pthread_spin_init F
 GLIBC_2.34 pthread_spin_lock F
 GLIBC_2.34 pthread_spin_trylock F
 GLIBC_2.34 pthread_spin_unlock F
+GLIBC_2.34 pthread_testcancel F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
index 1fdd0c7758..7b43b9309b 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 pthread_testcancel F
 GLIBC_2.0 sem_destroy F
 GLIBC_2.0 sem_getvalue F
 GLIBC_2.0 sem_init F
diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
index 4f0cf3bd56..7be131d0fc 100644
--- a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
@@ -1532,6 +1532,7 @@ GLIBC_2.18 pthread_spin_init F
 GLIBC_2.18 pthread_spin_lock F
 GLIBC_2.18 pthread_spin_trylock F
 GLIBC_2.18 pthread_spin_unlock F
+GLIBC_2.18 pthread_testcancel F
 GLIBC_2.18 pthread_yield F
 GLIBC_2.18 ptrace F
 GLIBC_2.18 ptsname F
@@ -2337,6 +2338,7 @@ GLIBC_2.34 pthread_spin_init F
 GLIBC_2.34 pthread_spin_lock F
 GLIBC_2.34 pthread_spin_trylock F
 GLIBC_2.34 pthread_spin_unlock F
+GLIBC_2.34 pthread_testcancel F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
index 785630fec3..6bfa410c44 100644
--- a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
@@ -39,7 +39,6 @@ GLIBC_2.18 pthread_setconcurrency F
 GLIBC_2.18 pthread_setname_np F
 GLIBC_2.18 pthread_setschedprio F
 GLIBC_2.18 pthread_sigqueue F
-GLIBC_2.18 pthread_testcancel F
 GLIBC_2.18 pthread_timedjoin_np F
 GLIBC_2.18 pthread_tryjoin_np F
 GLIBC_2.18 sem_close F
diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
index 726bae9a75..31c157bb4a 100644
--- a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
@@ -1532,6 +1532,7 @@ GLIBC_2.18 pthread_spin_init F
 GLIBC_2.18 pthread_spin_lock F
 GLIBC_2.18 pthread_spin_trylock F
 GLIBC_2.18 pthread_spin_unlock F
+GLIBC_2.18 pthread_testcancel F
 GLIBC_2.18 pthread_yield F
 GLIBC_2.18 ptrace F
 GLIBC_2.18 ptsname F
@@ -2334,6 +2335,7 @@ GLIBC_2.34 pthread_spin_init F
 GLIBC_2.34 pthread_spin_lock F
 GLIBC_2.34 pthread_spin_trylock F
 GLIBC_2.34 pthread_spin_unlock F
+GLIBC_2.34 pthread_testcancel F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
index 785630fec3..6bfa410c44 100644
--- a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
@@ -39,7 +39,6 @@ GLIBC_2.18 pthread_setconcurrency F
 GLIBC_2.18 pthread_setname_np F
 GLIBC_2.18 pthread_setschedprio F
 GLIBC_2.18 pthread_sigqueue F
-GLIBC_2.18 pthread_testcancel F
 GLIBC_2.18 pthread_timedjoin_np F
 GLIBC_2.18 pthread_tryjoin_np F
 GLIBC_2.18 sem_close F
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
index 12f4c46f75..0f6e9cbf01 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
@@ -894,6 +894,7 @@ GLIBC_2.0 pthread_setcanceltype F
 GLIBC_2.0 pthread_setschedparam F
 GLIBC_2.0 pthread_setspecific F
 GLIBC_2.0 pthread_sigmask F
+GLIBC_2.0 pthread_testcancel F
 GLIBC_2.0 ptrace F
 GLIBC_2.0 putc F
 GLIBC_2.0 putc_unlocked F
@@ -2320,6 +2321,7 @@ GLIBC_2.34 pthread_spin_init F
 GLIBC_2.34 pthread_spin_lock F
 GLIBC_2.34 pthread_spin_trylock F
 GLIBC_2.34 pthread_spin_unlock F
+GLIBC_2.34 pthread_testcancel F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
index 8df7179bd2..83434ae1b6 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 pthread_testcancel F
 GLIBC_2.0 sem_destroy F
 GLIBC_2.0 sem_getvalue F
 GLIBC_2.0 sem_init F
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
index 640f5e8c7b..9fc089707f 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
@@ -894,6 +894,7 @@ GLIBC_2.0 pthread_setcanceltype F
 GLIBC_2.0 pthread_setschedparam F
 GLIBC_2.0 pthread_setspecific F
 GLIBC_2.0 pthread_sigmask F
+GLIBC_2.0 pthread_testcancel F
 GLIBC_2.0 ptrace F
 GLIBC_2.0 putc F
 GLIBC_2.0 putc_unlocked F
@@ -2318,6 +2319,7 @@ GLIBC_2.34 pthread_spin_init F
 GLIBC_2.34 pthread_spin_lock F
 GLIBC_2.34 pthread_spin_trylock F
 GLIBC_2.34 pthread_spin_unlock F
+GLIBC_2.34 pthread_testcancel F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
index 8df7179bd2..83434ae1b6 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 pthread_testcancel F
 GLIBC_2.0 sem_destroy F
 GLIBC_2.0 sem_getvalue F
 GLIBC_2.0 sem_init F
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
index 92c0be4e90..edb5b754bf 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
@@ -894,6 +894,7 @@ GLIBC_2.0 pthread_setcanceltype F
 GLIBC_2.0 pthread_setschedparam F
 GLIBC_2.0 pthread_setspecific F
 GLIBC_2.0 pthread_sigmask F
+GLIBC_2.0 pthread_testcancel F
 GLIBC_2.0 ptrace F
 GLIBC_2.0 putc F
 GLIBC_2.0 putc_unlocked F
@@ -2326,6 +2327,7 @@ GLIBC_2.34 pthread_spin_init F
 GLIBC_2.34 pthread_spin_lock F
 GLIBC_2.34 pthread_spin_trylock F
 GLIBC_2.34 pthread_spin_unlock F
+GLIBC_2.34 pthread_testcancel F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
index 90a0e497f6..a80f4d6138 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
@@ -892,6 +892,7 @@ GLIBC_2.0 pthread_setcanceltype F
 GLIBC_2.0 pthread_setschedparam F
 GLIBC_2.0 pthread_setspecific F
 GLIBC_2.0 pthread_sigmask F
+GLIBC_2.0 pthread_testcancel F
 GLIBC_2.0 ptrace F
 GLIBC_2.0 putc F
 GLIBC_2.0 putc_unlocked F
@@ -2320,6 +2321,7 @@ GLIBC_2.34 pthread_spin_init F
 GLIBC_2.34 pthread_spin_lock F
 GLIBC_2.34 pthread_spin_trylock F
 GLIBC_2.34 pthread_spin_unlock F
+GLIBC_2.34 pthread_testcancel F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/nios2/libc.abilist b/sysdeps/unix/sysv/linux/nios2/libc.abilist
index caeb686742..ce16d91d60 100644
--- a/sysdeps/unix/sysv/linux/nios2/libc.abilist
+++ b/sysdeps/unix/sysv/linux/nios2/libc.abilist
@@ -1575,6 +1575,7 @@ GLIBC_2.21 pthread_spin_init F
 GLIBC_2.21 pthread_spin_lock F
 GLIBC_2.21 pthread_spin_trylock F
 GLIBC_2.21 pthread_spin_unlock F
+GLIBC_2.21 pthread_testcancel F
 GLIBC_2.21 pthread_yield F
 GLIBC_2.21 ptrace F
 GLIBC_2.21 ptsname F
@@ -2376,6 +2377,7 @@ GLIBC_2.34 pthread_spin_init F
 GLIBC_2.34 pthread_spin_lock F
 GLIBC_2.34 pthread_spin_trylock F
 GLIBC_2.34 pthread_spin_unlock F
+GLIBC_2.34 pthread_testcancel F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
index fb9c53ec2b..197827a386 100644
--- a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
@@ -39,7 +39,6 @@ GLIBC_2.21 pthread_setconcurrency F
 GLIBC_2.21 pthread_setname_np F
 GLIBC_2.21 pthread_setschedprio F
 GLIBC_2.21 pthread_sigqueue F
-GLIBC_2.21 pthread_testcancel F
 GLIBC_2.21 pthread_timedjoin_np F
 GLIBC_2.21 pthread_tryjoin_np F
 GLIBC_2.21 sem_close F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
index 6bb6f8f092..c8478bd5d4 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
@@ -905,6 +905,7 @@ GLIBC_2.0 pthread_setcanceltype F
 GLIBC_2.0 pthread_setschedparam F
 GLIBC_2.0 pthread_setspecific F
 GLIBC_2.0 pthread_sigmask F
+GLIBC_2.0 pthread_testcancel F
 GLIBC_2.0 ptrace F
 GLIBC_2.0 putc F
 GLIBC_2.0 putc_unlocked F
@@ -2384,6 +2385,7 @@ GLIBC_2.34 pthread_spin_init F
 GLIBC_2.34 pthread_spin_lock F
 GLIBC_2.34 pthread_spin_trylock F
 GLIBC_2.34 pthread_spin_unlock F
+GLIBC_2.34 pthread_testcancel F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
index c761c15e3a..79bc809cfa 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 pthread_testcancel F
 GLIBC_2.0 sem_destroy F
 GLIBC_2.0 sem_getvalue F
 GLIBC_2.0 sem_init F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
index 29dad1780c..05e79162d1 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
@@ -905,6 +905,7 @@ GLIBC_2.0 pthread_setcanceltype F
 GLIBC_2.0 pthread_setschedparam F
 GLIBC_2.0 pthread_setspecific F
 GLIBC_2.0 pthread_sigmask F
+GLIBC_2.0 pthread_testcancel F
 GLIBC_2.0 ptrace F
 GLIBC_2.0 putc F
 GLIBC_2.0 putc_unlocked F
@@ -2417,6 +2418,7 @@ GLIBC_2.34 pthread_spin_init F
 GLIBC_2.34 pthread_spin_lock F
 GLIBC_2.34 pthread_spin_trylock F
 GLIBC_2.34 pthread_spin_unlock F
+GLIBC_2.34 pthread_testcancel F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
index c410a6cc6a..8ca7a93538 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
@@ -1465,6 +1465,7 @@ GLIBC_2.3 pthread_spin_init F
 GLIBC_2.3 pthread_spin_lock F
 GLIBC_2.3 pthread_spin_trylock F
 GLIBC_2.3 pthread_spin_unlock F
+GLIBC_2.3 pthread_testcancel F
 GLIBC_2.3 pthread_yield F
 GLIBC_2.3 ptrace F
 GLIBC_2.3 ptsname F
@@ -2238,6 +2239,7 @@ GLIBC_2.34 pthread_spin_init F
 GLIBC_2.34 pthread_spin_lock F
 GLIBC_2.34 pthread_spin_trylock F
 GLIBC_2.34 pthread_spin_unlock F
+GLIBC_2.34 pthread_testcancel F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
index 037f0f2839..0c5ee381d2 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 pthread_testcancel F
 GLIBC_2.3 sem_close F
 GLIBC_2.3 sem_destroy F
 GLIBC_2.3 sem_getvalue F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
index 7a2bf05cb0..7c69ef778e 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
@@ -1618,6 +1618,7 @@ GLIBC_2.17 pthread_spin_init F
 GLIBC_2.17 pthread_spin_lock F
 GLIBC_2.17 pthread_spin_trylock F
 GLIBC_2.17 pthread_spin_unlock F
+GLIBC_2.17 pthread_testcancel F
 GLIBC_2.17 pthread_yield F
 GLIBC_2.17 ptrace F
 GLIBC_2.17 ptsname F
@@ -2539,6 +2540,7 @@ GLIBC_2.34 pthread_spin_init F
 GLIBC_2.34 pthread_spin_lock F
 GLIBC_2.34 pthread_spin_trylock F
 GLIBC_2.34 pthread_spin_unlock F
+GLIBC_2.34 pthread_testcancel F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
index c1f11e12df..839f2ff64a 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
@@ -37,7 +37,6 @@ GLIBC_2.17 pthread_setconcurrency F
 GLIBC_2.17 pthread_setname_np F
 GLIBC_2.17 pthread_setschedprio F
 GLIBC_2.17 pthread_sigqueue F
-GLIBC_2.17 pthread_testcancel F
 GLIBC_2.17 pthread_timedjoin_np F
 GLIBC_2.17 pthread_tryjoin_np F
 GLIBC_2.17 sem_close F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
index fa4803dae3..a1158f7747 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
@@ -1475,6 +1475,7 @@ GLIBC_2.33 pthread_spin_init F
 GLIBC_2.33 pthread_spin_lock F
 GLIBC_2.33 pthread_spin_trylock F
 GLIBC_2.33 pthread_spin_unlock F
+GLIBC_2.33 pthread_testcancel F
 GLIBC_2.33 pthread_yield F
 GLIBC_2.33 ptrace F
 GLIBC_2.33 ptsname F
@@ -2104,6 +2105,7 @@ GLIBC_2.34 pthread_spin_init F
 GLIBC_2.34 pthread_spin_lock F
 GLIBC_2.34 pthread_spin_trylock F
 GLIBC_2.34 pthread_spin_unlock F
+GLIBC_2.34 pthread_testcancel F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
index b06dfc1038..94fcac028c 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
@@ -40,7 +40,6 @@ GLIBC_2.33 pthread_setconcurrency F
 GLIBC_2.33 pthread_setname_np F
 GLIBC_2.33 pthread_setschedprio F
 GLIBC_2.33 pthread_sigqueue F
-GLIBC_2.33 pthread_testcancel F
 GLIBC_2.33 pthread_timedjoin_np F
 GLIBC_2.33 pthread_tryjoin_np F
 GLIBC_2.33 sem_clockwait F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
index 91cbd00879..0914e4b443 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
@@ -1520,6 +1520,7 @@ GLIBC_2.27 pthread_spin_init F
 GLIBC_2.27 pthread_spin_lock F
 GLIBC_2.27 pthread_spin_trylock F
 GLIBC_2.27 pthread_spin_unlock F
+GLIBC_2.27 pthread_testcancel F
 GLIBC_2.27 pthread_yield F
 GLIBC_2.27 ptrace F
 GLIBC_2.27 ptsname F
@@ -2304,6 +2305,7 @@ GLIBC_2.34 pthread_spin_init F
 GLIBC_2.34 pthread_spin_lock F
 GLIBC_2.34 pthread_spin_trylock F
 GLIBC_2.34 pthread_spin_unlock F
+GLIBC_2.34 pthread_testcancel F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
index 5a7d9561fd..fdab0f5ab4 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
@@ -39,7 +39,6 @@ GLIBC_2.27 pthread_setconcurrency F
 GLIBC_2.27 pthread_setname_np F
 GLIBC_2.27 pthread_setschedprio F
 GLIBC_2.27 pthread_sigqueue F
-GLIBC_2.27 pthread_testcancel F
 GLIBC_2.27 pthread_timedjoin_np F
 GLIBC_2.27 pthread_tryjoin_np F
 GLIBC_2.27 sem_close F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
index 78bc38dc23..9333d220ed 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
@@ -896,6 +896,7 @@ GLIBC_2.0 pthread_setcanceltype F
 GLIBC_2.0 pthread_setschedparam F
 GLIBC_2.0 pthread_setspecific F
 GLIBC_2.0 pthread_sigmask F
+GLIBC_2.0 pthread_testcancel F
 GLIBC_2.0 ptrace F
 GLIBC_2.0 putc F
 GLIBC_2.0 putc_unlocked F
@@ -2382,6 +2383,7 @@ GLIBC_2.34 pthread_spin_init F
 GLIBC_2.34 pthread_spin_lock F
 GLIBC_2.34 pthread_spin_trylock F
 GLIBC_2.34 pthread_spin_unlock F
+GLIBC_2.34 pthread_testcancel F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
index ddcff610d2..911048092d 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 pthread_testcancel F
 GLIBC_2.0 sem_destroy F
 GLIBC_2.0 sem_getvalue F
 GLIBC_2.0 sem_init F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
index 8fbd2129b4..1c3b757684 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
@@ -1359,6 +1359,7 @@ GLIBC_2.2 pthread_spin_init F
 GLIBC_2.2 pthread_spin_lock F
 GLIBC_2.2 pthread_spin_trylock F
 GLIBC_2.2 pthread_spin_unlock F
+GLIBC_2.2 pthread_testcancel F
 GLIBC_2.2 pthread_yield F
 GLIBC_2.2 ptrace F
 GLIBC_2.2 ptsname F
@@ -2275,6 +2276,7 @@ GLIBC_2.34 pthread_spin_init F
 GLIBC_2.34 pthread_spin_lock F
 GLIBC_2.34 pthread_spin_trylock F
 GLIBC_2.34 pthread_spin_unlock F
+GLIBC_2.34 pthread_testcancel F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
index ffe9d5fed1..c5c78cb049 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 pthread_testcancel F
 GLIBC_2.2 sem_close F
 GLIBC_2.2 sem_destroy F
 GLIBC_2.2 sem_getvalue F
diff --git a/sysdeps/unix/sysv/linux/sh/be/libc.abilist b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
index 2199062106..66be9c89c9 100644
--- a/sysdeps/unix/sysv/linux/sh/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
@@ -1345,6 +1345,7 @@ GLIBC_2.2 pthread_spin_init F
 GLIBC_2.2 pthread_spin_lock F
 GLIBC_2.2 pthread_spin_trylock F
 GLIBC_2.2 pthread_spin_unlock F
+GLIBC_2.2 pthread_testcancel F
 GLIBC_2.2 pthread_yield F
 GLIBC_2.2 ptrace F
 GLIBC_2.2 ptsname F
@@ -2244,6 +2245,7 @@ GLIBC_2.34 pthread_spin_init F
 GLIBC_2.34 pthread_spin_lock F
 GLIBC_2.34 pthread_spin_trylock F
 GLIBC_2.34 pthread_spin_unlock F
+GLIBC_2.34 pthread_testcancel F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
index af0359bd14..0d4dfb6328 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 pthread_testcancel F
 GLIBC_2.2 sem_close F
 GLIBC_2.2 sem_destroy F
 GLIBC_2.2 sem_getvalue F
diff --git a/sysdeps/unix/sysv/linux/sh/le/libc.abilist b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
index 10d5e2d2c9..fb0fed082f 100644
--- a/sysdeps/unix/sysv/linux/sh/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
@@ -1345,6 +1345,7 @@ GLIBC_2.2 pthread_spin_init F
 GLIBC_2.2 pthread_spin_lock F
 GLIBC_2.2 pthread_spin_trylock F
 GLIBC_2.2 pthread_spin_unlock F
+GLIBC_2.2 pthread_testcancel F
 GLIBC_2.2 pthread_yield F
 GLIBC_2.2 ptrace F
 GLIBC_2.2 ptsname F
@@ -2241,6 +2242,7 @@ GLIBC_2.34 pthread_spin_init F
 GLIBC_2.34 pthread_spin_lock F
 GLIBC_2.34 pthread_spin_trylock F
 GLIBC_2.34 pthread_spin_unlock F
+GLIBC_2.34 pthread_testcancel F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
index af0359bd14..0d4dfb6328 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 pthread_testcancel F
 GLIBC_2.2 sem_close F
 GLIBC_2.2 sem_destroy F
 GLIBC_2.2 sem_getvalue F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
index 55df20cf28..37c3cf105f 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
@@ -899,6 +899,7 @@ GLIBC_2.0 pthread_setcanceltype F
 GLIBC_2.0 pthread_setschedparam F
 GLIBC_2.0 pthread_setspecific F
 GLIBC_2.0 pthread_sigmask F
+GLIBC_2.0 pthread_testcancel F
 GLIBC_2.0 ptrace F
 GLIBC_2.0 putc F
 GLIBC_2.0 putc_unlocked F
@@ -2373,6 +2374,7 @@ GLIBC_2.34 pthread_spin_init F
 GLIBC_2.34 pthread_spin_lock F
 GLIBC_2.34 pthread_spin_trylock F
 GLIBC_2.34 pthread_spin_unlock F
+GLIBC_2.34 pthread_testcancel F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
index 5eae00fd6b..2633a1c816 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 pthread_testcancel F
 GLIBC_2.0 sem_destroy F
 GLIBC_2.0 sem_getvalue F
 GLIBC_2.0 sem_init F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
index f9520b474d..80f79eb731 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
@@ -1388,6 +1388,7 @@ GLIBC_2.2 pthread_spin_init F
 GLIBC_2.2 pthread_spin_lock F
 GLIBC_2.2 pthread_spin_trylock F
 GLIBC_2.2 pthread_spin_unlock F
+GLIBC_2.2 pthread_testcancel F
 GLIBC_2.2 pthread_yield F
 GLIBC_2.2 ptrace F
 GLIBC_2.2 ptsname F
@@ -2292,6 +2293,7 @@ GLIBC_2.34 pthread_spin_init F
 GLIBC_2.34 pthread_spin_lock F
 GLIBC_2.34 pthread_spin_trylock F
 GLIBC_2.34 pthread_spin_unlock F
+GLIBC_2.34 pthread_testcancel F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
index c6c1f7ac7b..cef26d71d6 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 pthread_testcancel F
 GLIBC_2.2 sem_close F
 GLIBC_2.2 sem_destroy F
 GLIBC_2.2 sem_getvalue F
diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
index 9a4a3c16fa..a743156f26 100644
--- a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
@@ -1356,6 +1356,7 @@ GLIBC_2.2.5 pthread_spin_init F
 GLIBC_2.2.5 pthread_spin_lock F
 GLIBC_2.2.5 pthread_spin_trylock F
 GLIBC_2.2.5 pthread_spin_unlock F
+GLIBC_2.2.5 pthread_testcancel F
 GLIBC_2.2.5 pthread_yield F
 GLIBC_2.2.5 ptrace F
 GLIBC_2.2.5 ptsname F
@@ -2253,6 +2254,7 @@ GLIBC_2.34 pthread_spin_init F
 GLIBC_2.34 pthread_spin_lock F
 GLIBC_2.34 pthread_spin_trylock F
 GLIBC_2.34 pthread_spin_unlock F
+GLIBC_2.34 pthread_testcancel F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
index 540c8760ed..000cf018c7 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 pthread_testcancel F
 GLIBC_2.2.5 sem_close F
 GLIBC_2.2.5 sem_destroy F
 GLIBC_2.2.5 sem_getvalue F
diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
index 21385c23d1..828c2f922b 100644
--- a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
@@ -1537,6 +1537,7 @@ GLIBC_2.16 pthread_spin_init F
 GLIBC_2.16 pthread_spin_lock F
 GLIBC_2.16 pthread_spin_trylock F
 GLIBC_2.16 pthread_spin_unlock F
+GLIBC_2.16 pthread_testcancel F
 GLIBC_2.16 pthread_yield F
 GLIBC_2.16 ptrace F
 GLIBC_2.16 ptsname F
@@ -2358,6 +2359,7 @@ GLIBC_2.34 pthread_spin_init F
 GLIBC_2.34 pthread_spin_lock F
 GLIBC_2.34 pthread_spin_trylock F
 GLIBC_2.34 pthread_spin_unlock F
+GLIBC_2.34 pthread_testcancel F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
index 01f6915331..068065e40c 100644
--- a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
@@ -37,7 +37,6 @@ GLIBC_2.16 pthread_setconcurrency F
 GLIBC_2.16 pthread_setname_np F
 GLIBC_2.16 pthread_setschedprio F
 GLIBC_2.16 pthread_sigqueue F
-GLIBC_2.16 pthread_testcancel F
 GLIBC_2.16 pthread_timedjoin_np F
 GLIBC_2.16 pthread_tryjoin_np F
 GLIBC_2.16 sem_close F
-- 
2.30.2



^ permalink raw reply	[flat|nested] 24+ messages in thread

* [PATCH 02/11] nptl: Consolidate aysnc cancel enable/disable implementation in libc
  2021-05-03 13:51 [PATCH 00/11] nptl: Move semaphore functions into libc Florian Weimer
  2021-05-03 13:51 ` [PATCH 01/11] nptl: Move pthread_testcancel " Florian Weimer
@ 2021-05-03 13:51 ` Florian Weimer
  2021-05-05 14:21   ` Adhemerval Zanella
  2021-05-03 13:51 ` [PATCH 03/11] nptl: Move sem_clockwait into libc Florian Weimer
                   ` (8 subsequent siblings)
  10 siblings, 1 reply; 24+ messages in thread
From: Florian Weimer @ 2021-05-03 13:51 UTC (permalink / raw)
  To: libc-alpha

Previously, the source file nptl/cancellation.c was compiled multiple
times, for libc, libpthread, librt.  This commit switches to a single
implementation, with new __pthread_enable_asynccancel@@GLIBC_PRIVATE,
__pthread_disable_asynccancel@@GLIBC_PRIVATE exports.

The almost-unused CANCEL_ASYNC and CANCEL_RESET macros are replaced
by LIBC_CANCEL_ASYNC and LIBC_CANCEL_ASYNC macros.  They call the
__pthread_* functions unconditionally now.  The macros are still
needed because shared code uses them; Hurd has different definitions.
---
 elf/Makefile                            |  6 ++--
 manual/llio.texi                        |  4 +--
 nptl/Makefile                           |  4 +--
 nptl/Versions                           |  2 ++
 nptl/cancellation.c                     |  4 +--
 nptl/libc-cancellation.c                | 24 --------------
 nptl/pthreadP.h                         |  2 --
 nptl/pthread_create.c                   |  4 +--
 rt/Makefile                             |  1 -
 sysdeps/nptl/Makefile                   |  3 +-
 sysdeps/nptl/librt-cancellation.c       | 24 --------------
 sysdeps/nptl/lowlevellock-futex.h       |  8 ++---
 sysdeps/unix/sysv/linux/socketcall.h    |  5 ---
 sysdeps/unix/sysv/linux/sysdep-cancel.h | 44 ++++---------------------
 14 files changed, 25 insertions(+), 110 deletions(-)
 delete mode 100644 nptl/libc-cancellation.c
 delete mode 100644 sysdeps/nptl/librt-cancellation.c

diff --git a/elf/Makefile b/elf/Makefile
index f09988f7d2..4f99af626f 100644
--- a/elf/Makefile
+++ b/elf/Makefile
@@ -528,8 +528,10 @@ $(objpfx)dl-allobjs.os: $(all-rtld-routines:%=$(objpfx)%.os)
 # discovery mechanism is not compatible with the libc implementation
 # when compiled for libc.
 rtld-stubbed-symbols = \
-  __libc_disable_asynccancel \
-  __libc_enable_asynccancel \
+  __GI___pthread_disable_asynccancel \
+  __GI___pthread_enable_asynccancel \
+  __pthread_disable_asynccancel \
+  __pthread_enable_asynccancel \
   calloc \
   free \
   malloc \
diff --git a/manual/llio.texi b/manual/llio.texi
index c0a53e1a6e..cbc4909fd5 100644
--- a/manual/llio.texi
+++ b/manual/llio.texi
@@ -2534,13 +2534,13 @@ aiocb64}, since the LFS transparently replaces the old interface.
 @c     sigemptyset ok
 @c     sigaddset ok
 @c     setjmp ok
-@c     CANCEL_ASYNC -> pthread_enable_asynccancel ok
+@c     LIBC_CANCEL_ASYNC -> __pthread_enable_asynccancel ok
 @c      do_cancel ok
 @c       pthread_unwind ok
 @c        Unwind_ForcedUnwind or longjmp ok [@ascuheap @acsmem?]
 @c     lll_lock @asulock @aculock
 @c     lll_unlock @asulock @aculock
-@c     CANCEL_RESET -> pthread_disable_asynccancel ok
+@c     LIBC_CANCEL_RESET -> __pthread_disable_asynccancel ok
 @c      lll_futex_wait ok
 @c     ->start_routine ok -----
 @c     call_tls_dtors @asulock @ascuheap @aculock @acsmem
diff --git a/nptl/Makefile b/nptl/Makefile
index 884cb69bb4..1337b9e648 100644
--- a/nptl/Makefile
+++ b/nptl/Makefile
@@ -30,6 +30,7 @@ extra-libs-others := $(extra-libs)
 
 routines = \
   alloca_cutoff \
+  cancellation \
   cleanup_compat \
   cleanup_defer_compat \
   cleanup_routine \
@@ -39,7 +40,6 @@ routines = \
   elision-trylock \
   elision-unlock \
   futex-internal \
-  libc-cancellation \
   libc-cleanup \
   libc_multiple_threads \
   libc_pthread_init \
@@ -157,7 +157,6 @@ shared-only-routines = forward
 static-only-routines = pthread_atfork
 
 libpthread-routines = \
-  cancellation \
   cleanup \
   cleanup_defer \
   events \
@@ -239,7 +238,6 @@ CFLAGS-pthread_setcanceltype.c += -fexceptions -fasynchronous-unwind-tables
 # These are internal functions which similar functionality as setcancelstate
 # and setcanceltype.
 CFLAGS-cancellation.c += -fasynchronous-unwind-tables
-CFLAGS-libc-cancellation.c += -fasynchronous-unwind-tables
 
 # Calling pthread_exit() must cause the registered cancel handlers to
 # be executed.  Therefore exceptions have to be thrown through this
diff --git a/nptl/Versions b/nptl/Versions
index ce09c73727..e845cbf804 100644
--- a/nptl/Versions
+++ b/nptl/Versions
@@ -281,6 +281,8 @@ libc {
     __pthread_cleanup_push;
     __pthread_cleanup_upto;
     __pthread_current_priority;
+    __pthread_disable_asynccancel;
+    __pthread_enable_asynccancel;
     __pthread_force_elision;
     __pthread_getattr_default_np;
     __pthread_keys;
diff --git a/nptl/cancellation.c b/nptl/cancellation.c
index 2ee633eabc..c20845adc0 100644
--- a/nptl/cancellation.c
+++ b/nptl/cancellation.c
@@ -28,7 +28,6 @@
    AS-safe, with the exception of the actual cancellation, because they
    are called by wrappers around AS-safe functions like write().*/
 int
-attribute_hidden
 __pthread_enable_asynccancel (void)
 {
   struct pthread *self = THREAD_SELF;
@@ -60,11 +59,11 @@ __pthread_enable_asynccancel (void)
 
   return oldval;
 }
+libc_hidden_def (__pthread_enable_asynccancel)
 
 /* See the comment for __pthread_enable_asynccancel regarding
    the AS-safety of this function.  */
 void
-attribute_hidden
 __pthread_disable_asynccancel (int oldtype)
 {
   /* If asynchronous cancellation was enabled before we do not have
@@ -102,3 +101,4 @@ __pthread_disable_asynccancel (int oldtype)
       newval = THREAD_GETMEM (self, cancelhandling);
     }
 }
+libc_hidden_def (__pthread_disable_asynccancel)
diff --git a/nptl/libc-cancellation.c b/nptl/libc-cancellation.c
deleted file mode 100644
index 29f5a5864b..0000000000
--- a/nptl/libc-cancellation.c
+++ /dev/null
@@ -1,24 +0,0 @@
-/* Copyright (C) 2002-2021 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-   Contributed by Ulrich Drepper <drepper@redhat.com>, 2002.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, see
-   <https://www.gnu.org/licenses/>.  */
-
-#include "pthreadP.h"
-
-
-#define __pthread_enable_asynccancel __libc_enable_asynccancel
-#define __pthread_disable_asynccancel __libc_disable_asynccancel
-#include <nptl/cancellation.c>
diff --git a/nptl/pthreadP.h b/nptl/pthreadP.h
index ee77928fc7..2d9e42173e 100644
--- a/nptl/pthreadP.h
+++ b/nptl/pthreadP.h
@@ -569,8 +569,6 @@ libc_hidden_proto (__pthread_exit)
 extern int __pthread_join (pthread_t threadid, void **thread_return);
 extern int __pthread_setcanceltype (int type, int *oldtype);
 libc_hidden_proto (__pthread_setcanceltype)
-extern int __pthread_enable_asynccancel (void) attribute_hidden;
-extern void __pthread_disable_asynccancel (int oldtype) attribute_hidden;
 extern void __pthread_testcancel (void);
 libc_hidden_proto (__pthread_testcancel)
 extern int __pthread_clockjoin_ex (pthread_t, void **, clockid_t,
diff --git a/nptl/pthread_create.c b/nptl/pthread_create.c
index d89a83b38a..775287d0e4 100644
--- a/nptl/pthread_create.c
+++ b/nptl/pthread_create.c
@@ -353,7 +353,7 @@ START_THREAD_DEFN
 	 have ownership (see CONCURRENCY NOTES above).  */
       if (__glibc_unlikely (pd->stopped_start))
 	{
-	  int oldtype = CANCEL_ASYNC ();
+	  int oldtype = LIBC_CANCEL_ASYNC ();
 
 	  /* Get the lock the parent locked to force synchronization.  */
 	  lll_lock (pd->lock, LLL_PRIVATE);
@@ -363,7 +363,7 @@ START_THREAD_DEFN
 	  /* And give it up right away.  */
 	  lll_unlock (pd->lock, LLL_PRIVATE);
 
-	  CANCEL_RESET (oldtype);
+	  LIBC_CANCEL_RESET (oldtype);
 	}
 
       LIBC_PROBE (pthread_start, 3, (pthread_t) pd, pd->start_routine, pd->arg);
diff --git a/rt/Makefile b/rt/Makefile
index c1a0fdeb46..97c9bbd9de 100644
--- a/rt/Makefile
+++ b/rt/Makefile
@@ -59,7 +59,6 @@ include ../Rules
 CFLAGS-aio_suspend.c += -fexceptions
 CFLAGS-mq_timedreceive.c += -fexceptions -fasynchronous-unwind-tables
 CFLAGS-mq_timedsend.c += -fexceptions -fasynchronous-unwind-tables
-CFLAGS-librt-cancellation.c += -fasynchronous-unwind-tables
 
 LDFLAGS-rt.so = -Wl,--enable-new-dtags,-z,nodelete
 
diff --git a/sysdeps/nptl/Makefile b/sysdeps/nptl/Makefile
index adcced422b..632cd3686b 100644
--- a/sysdeps/nptl/Makefile
+++ b/sysdeps/nptl/Makefile
@@ -21,8 +21,7 @@ libpthread-sysdep_routines += errno-loc
 endif
 
 ifeq ($(subdir),rt)
-librt-sysdep_routines += timer_routines librt-cancellation
-CFLAGS-librt-cancellation.c += -fexceptions -fasynchronous-unwind-tables
+librt-sysdep_routines += timer_routines
 
 tests += tst-mqueue8x
 CFLAGS-tst-mqueue8x.c += -fexceptions
diff --git a/sysdeps/nptl/librt-cancellation.c b/sysdeps/nptl/librt-cancellation.c
deleted file mode 100644
index 1ad0eb11ff..0000000000
--- a/sysdeps/nptl/librt-cancellation.c
+++ /dev/null
@@ -1,24 +0,0 @@
-/* Copyright (C) 2002-2021 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-   Contributed by Ulrich Drepper <drepper@redhat.com>, 2002.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, see
-   <https://www.gnu.org/licenses/>.  */
-
-#include <nptl/pthreadP.h>
-
-
-#define __pthread_enable_asynccancel __librt_enable_asynccancel
-#define __pthread_disable_asynccancel __librt_disable_asynccancel
-#include <nptl/cancellation.c>
diff --git a/sysdeps/nptl/lowlevellock-futex.h b/sysdeps/nptl/lowlevellock-futex.h
index ca96397a4a..66ebfe50f4 100644
--- a/sysdeps/nptl/lowlevellock-futex.h
+++ b/sysdeps/nptl/lowlevellock-futex.h
@@ -121,18 +121,18 @@
 /* Like lll_futex_wait, but acting as a cancellable entrypoint.  */
 # define lll_futex_wait_cancel(futexp, val, private) \
   ({                                                                   \
-    int __oldtype = CANCEL_ASYNC ();				       \
+    int __oldtype = LIBC_CANCEL_ASYNC ();			       \
     long int __err = lll_futex_wait (futexp, val, LLL_SHARED);	       \
-    CANCEL_RESET (__oldtype);					       \
+    LIBC_CANCEL_RESET (__oldtype);				       \
     __err;							       \
   })
 
 /* Like lll_futex_timed_wait, but acting as a cancellable entrypoint.  */
 # define lll_futex_timed_wait_cancel(futexp, val, timeout, private) \
   ({									   \
-    int __oldtype = CANCEL_ASYNC ();				       	   \
+    int __oldtype = LIBC_CANCEL_ASYNC ();			       	   \
     long int __err = lll_futex_timed_wait (futexp, val, timeout, private); \
-    CANCEL_RESET (__oldtype);						   \
+    LIBC_CANCEL_RESET (__oldtype);					   \
     __err;								   \
   })
 
diff --git a/sysdeps/unix/sysv/linux/socketcall.h b/sysdeps/unix/sysv/linux/socketcall.h
index 07702fc4f1..3084623216 100644
--- a/sysdeps/unix/sysv/linux/socketcall.h
+++ b/sysdeps/unix/sysv/linux/socketcall.h
@@ -89,11 +89,6 @@
   })
 
 
-#if IS_IN (libc)
-# define __pthread_enable_asynccancel  __libc_enable_asynccancel
-# define __pthread_disable_asynccancel __libc_disable_asynccancel
-#endif
-
 #define SOCKETCALL_CANCEL(name, args...)				\
   ({									\
     int oldtype = LIBC_CANCEL_ASYNC ();					\
diff --git a/sysdeps/unix/sysv/linux/sysdep-cancel.h b/sysdeps/unix/sysv/linux/sysdep-cancel.h
index da2f08fde9..c64cfff37c 100644
--- a/sysdeps/unix/sysv/linux/sysdep-cancel.h
+++ b/sysdeps/unix/sysv/linux/sysdep-cancel.h
@@ -24,44 +24,14 @@
 #include <tls.h>
 #include <errno.h>
 
-/* The two functions are in libc.so and not exported.  */
-extern int __libc_enable_asynccancel (void) attribute_hidden;
-extern void __libc_disable_asynccancel (int oldtype) attribute_hidden;
-
-/* The two functions are in librt.so and not exported.  */
-extern int __librt_enable_asynccancel (void) attribute_hidden;
-extern void __librt_disable_asynccancel (int oldtype) attribute_hidden;
-
-/* The two functions are in libpthread.so and not exported.  */
-extern int __pthread_enable_asynccancel (void) attribute_hidden;
-extern void __pthread_disable_asynccancel (int oldtype) attribute_hidden;
-
 /* Set cancellation mode to asynchronous.  */
-#define CANCEL_ASYNC() \
-  __pthread_enable_asynccancel ()
-/* Reset to previous cancellation mode.  */
-#define CANCEL_RESET(oldtype) \
-  __pthread_disable_asynccancel (oldtype)
-
-#if IS_IN (libc)
-/* Same as CANCEL_ASYNC, but for use in libc.so.  */
-# define LIBC_CANCEL_ASYNC() \
-  __libc_enable_asynccancel ()
-/* Same as CANCEL_RESET, but for use in libc.so.  */
-# define LIBC_CANCEL_RESET(oldtype) \
-  __libc_disable_asynccancel (oldtype)
-#elif IS_IN (libpthread)
-# define LIBC_CANCEL_ASYNC() CANCEL_ASYNC ()
-# define LIBC_CANCEL_RESET(val) CANCEL_RESET (val)
-#elif IS_IN (librt)
-# define LIBC_CANCEL_ASYNC() \
-  __librt_enable_asynccancel ()
-# define LIBC_CANCEL_RESET(val) \
-  __librt_disable_asynccancel (val)
-#else
-# define LIBC_CANCEL_ASYNC()	0 /* Just a dummy value.  */
-# define LIBC_CANCEL_RESET(val)	((void)(val)) /* Nothing, but evaluate it.  */
-#endif
+extern int __pthread_enable_asynccancel (void);
+libc_hidden_proto (__pthread_enable_asynccancel)
+#define LIBC_CANCEL_ASYNC() __pthread_enable_asynccancel ()
 
+/* Reset to previous cancellation mode.  */
+extern void __pthread_disable_asynccancel (int oldtype);
+libc_hidden_proto (__pthread_disable_asynccancel)
+#define LIBC_CANCEL_RESET(oldtype) __pthread_disable_asynccancel (oldtype)
 
 #endif
-- 
2.30.2



^ permalink raw reply	[flat|nested] 24+ messages in thread

* [PATCH 03/11] nptl: Move sem_clockwait into libc
  2021-05-03 13:51 [PATCH 00/11] nptl: Move semaphore functions into libc Florian Weimer
  2021-05-03 13:51 ` [PATCH 01/11] nptl: Move pthread_testcancel " Florian Weimer
  2021-05-03 13:51 ` [PATCH 02/11] nptl: Consolidate aysnc cancel enable/disable implementation in libc Florian Weimer
@ 2021-05-03 13:51 ` Florian Weimer
  2021-05-05 14:30   ` Adhemerval Zanella
  2021-05-03 13:51 ` [PATCH 04/11] nptl: Move sem_close, sem_open " Florian Weimer
                   ` (7 subsequent siblings)
  10 siblings, 1 reply; 24+ messages in thread
From: Florian Weimer @ 2021-05-03 13:51 UTC (permalink / raw)
  To: libc-alpha

The symbol was moved using scripts/move-symbol-to-libc.py.

A new placeholder version is added at version GLIBC_2.30, to
preserve that version in libpthread.so.0.
---
 nptl/Makefile                                     |  2 +-
 nptl/Versions                                     |  4 +++-
 nptl/libpthread-compat.c                          |  5 +++++
 nptl/sem_clockwait.c                              | 15 ++++++++++-----
 nptl/semaphoreP.h                                 |  2 +-
 sysdeps/unix/sysv/linux/aarch64/libc.abilist      |  2 ++
 .../unix/sysv/linux/aarch64/libpthread.abilist    |  2 +-
 sysdeps/unix/sysv/linux/alpha/libc.abilist        |  2 ++
 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 |  2 +-
 sysdeps/unix/sysv/linux/arm/le/libc.abilist       |  2 ++
 sysdeps/unix/sysv/linux/arm/le/libpthread.abilist |  2 +-
 sysdeps/unix/sysv/linux/csky/libc.abilist         |  2 ++
 sysdeps/unix/sysv/linux/csky/libpthread.abilist   |  2 +-
 sysdeps/unix/sysv/linux/hppa/libc.abilist         |  2 ++
 sysdeps/unix/sysv/linux/hppa/libpthread.abilist   |  2 +-
 sysdeps/unix/sysv/linux/i386/libc.abilist         |  2 ++
 sysdeps/unix/sysv/linux/i386/libpthread.abilist   |  2 +-
 sysdeps/unix/sysv/linux/ia64/libc.abilist         |  2 ++
 sysdeps/unix/sysv/linux/ia64/libpthread.abilist   |  2 +-
 .../unix/sysv/linux/m68k/coldfire/libc.abilist    |  2 ++
 .../sysv/linux/m68k/coldfire/libpthread.abilist   |  2 +-
 sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist  |  2 ++
 .../sysv/linux/m68k/m680x0/libpthread.abilist     |  2 +-
 .../unix/sysv/linux/microblaze/be/libc.abilist    |  2 ++
 .../sysv/linux/microblaze/be/libpthread.abilist   |  2 +-
 .../unix/sysv/linux/microblaze/le/libc.abilist    |  2 ++
 .../sysv/linux/microblaze/le/libpthread.abilist   |  2 +-
 .../unix/sysv/linux/mips/mips32/fpu/libc.abilist  |  2 ++
 .../sysv/linux/mips/mips32/libpthread.abilist     |  2 +-
 .../sysv/linux/mips/mips32/nofpu/libc.abilist     |  2 ++
 .../sysv/linux/mips/mips64/libpthread.abilist     |  2 +-
 .../unix/sysv/linux/mips/mips64/n32/libc.abilist  |  2 ++
 .../unix/sysv/linux/mips/mips64/n64/libc.abilist  |  2 ++
 sysdeps/unix/sysv/linux/nios2/libc.abilist        |  2 ++
 sysdeps/unix/sysv/linux/nios2/libpthread.abilist  |  2 +-
 .../sysv/linux/powerpc/powerpc32/fpu/libc.abilist |  2 ++
 .../linux/powerpc/powerpc32/libpthread.abilist    |  2 +-
 .../linux/powerpc/powerpc32/nofpu/libc.abilist    |  2 ++
 .../sysv/linux/powerpc/powerpc64/be/libc.abilist  |  2 ++
 .../linux/powerpc/powerpc64/be/libpthread.abilist |  2 +-
 .../sysv/linux/powerpc/powerpc64/le/libc.abilist  |  2 ++
 .../linux/powerpc/powerpc64/le/libpthread.abilist |  2 +-
 sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist   |  2 ++
 .../unix/sysv/linux/riscv/rv32/libpthread.abilist |  1 -
 sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist   |  2 ++
 .../unix/sysv/linux/riscv/rv64/libpthread.abilist |  2 +-
 sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist |  2 ++
 .../sysv/linux/s390/s390-32/libpthread.abilist    |  2 +-
 sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist |  2 ++
 .../sysv/linux/s390/s390-64/libpthread.abilist    |  2 +-
 sysdeps/unix/sysv/linux/sh/be/libc.abilist        |  2 ++
 sysdeps/unix/sysv/linux/sh/be/libpthread.abilist  |  2 +-
 sysdeps/unix/sysv/linux/sh/le/libc.abilist        |  2 ++
 sysdeps/unix/sysv/linux/sh/le/libpthread.abilist  |  2 +-
 .../unix/sysv/linux/sparc/sparc32/libc.abilist    |  2 ++
 .../sysv/linux/sparc/sparc32/libpthread.abilist   |  2 +-
 .../unix/sysv/linux/sparc/sparc64/libc.abilist    |  2 ++
 .../sysv/linux/sparc/sparc64/libpthread.abilist   |  2 +-
 sysdeps/unix/sysv/linux/x86_64/64/libc.abilist    |  2 ++
 .../unix/sysv/linux/x86_64/64/libpthread.abilist  |  2 +-
 sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist   |  2 ++
 .../unix/sysv/linux/x86_64/x32/libpthread.abilist |  2 +-
 66 files changed, 111 insertions(+), 37 deletions(-)

diff --git a/nptl/Makefile b/nptl/Makefile
index 1337b9e648..66fd90049e 100644
--- a/nptl/Makefile
+++ b/nptl/Makefile
@@ -150,6 +150,7 @@ routines = \
   pthread_spin_unlock \
   pthread_testcancel \
   pthread_yield \
+  sem_clockwait \
   tpp \
   unwind \
 
@@ -201,7 +202,6 @@ libpthread-routines = \
   pthread_sigqueue \
   pthread_timedjoin \
   pthread_tryjoin \
-  sem_clockwait \
   sem_close \
   sem_destroy \
   sem_getvalue \
diff --git a/nptl/Versions b/nptl/Versions
index e845cbf804..97567b6354 100644
--- a/nptl/Versions
+++ b/nptl/Versions
@@ -172,6 +172,7 @@ libc {
     pthread_mutex_clocklock;
     pthread_rwlock_clockrdlock;
     pthread_rwlock_clockwrlock;
+    sem_clockwait;
   }
   GLIBC_2.32 {
     pthread_attr_getsigmask_np;
@@ -247,6 +248,7 @@ libc {
     pthread_spin_trylock;
     pthread_spin_unlock;
     pthread_testcancel;
+    sem_clockwait;
     thrd_exit;
     tss_create;
     tss_delete;
@@ -421,7 +423,7 @@ libpthread {
   }
 
   GLIBC_2.30 {
-    sem_clockwait;
+    __libpthread_version_placeholder;
   }
 
   GLIBC_2.31 {
diff --git a/nptl/libpthread-compat.c b/nptl/libpthread-compat.c
index 761ca8d41c..7b0427aaed 100644
--- a/nptl/libpthread-compat.c
+++ b/nptl/libpthread-compat.c
@@ -60,3 +60,8 @@ compat_symbol (libpthread, __libpthread_version_placeholder_1,
 compat_symbol (libpthread, __libpthread_version_placeholder_1,
 	       __libpthread_version_placeholder, GLIBC_2_4);
 #endif
+
+#if (SHLIB_COMPAT (libpthread, GLIBC_2_30, GLIBC_2_31))
+compat_symbol (libpthread, __libpthread_version_placeholder_1,
+	       __libpthread_version_placeholder, GLIBC_2_30);
+#endif
diff --git a/nptl/sem_clockwait.c b/nptl/sem_clockwait.c
index 3202b60564..2739799e26 100644
--- a/nptl/sem_clockwait.c
+++ b/nptl/sem_clockwait.c
@@ -23,7 +23,7 @@
 #include "sem_waitcommon.c"
 
 int
-__sem_clockwait64 (sem_t *sem, clockid_t clockid,
+___sem_clockwait64 (sem_t *sem, clockid_t clockid,
                    const struct __timespec64 *abstime)
 {
   /* Check that supplied clockid is one we support, even if we don't end up
@@ -46,15 +46,20 @@ __sem_clockwait64 (sem_t *sem, clockid_t clockid,
     return __new_sem_wait_slow64 ((struct new_sem *) sem, clockid, abstime);
 }
 
-#if __TIMESIZE != 64
-libpthread_hidden_def (__sem_clockwait64)
+#if __TIMESIZE == 64
+strong_alias (___sem_clockwait64, ___sem_clockwait)
+#else /* __TIMESPEC64 != 64 */
+libc_hidden_ver (___sem_clockwait64, __sem_clockwait64)
 
 int
-__sem_clockwait (sem_t *sem, clockid_t clockid, const struct timespec *abstime)
+___sem_clockwait (sem_t *sem, clockid_t clockid, const struct timespec *abstime)
 {
   struct __timespec64 ts64 = valid_timespec_to_timespec64 (*abstime);
 
   return __sem_clockwait64 (sem, clockid, &ts64);
 }
+#endif /* __TIMESPEC64 != 64 */
+versioned_symbol (libc, ___sem_clockwait, sem_clockwait, GLIBC_2_34);
+#if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_30, GLIBC_2_34)
+compat_symbol (libpthread, ___sem_clockwait, sem_clockwait, GLIBC_2_30);
 #endif
-weak_alias (__sem_clockwait, sem_clockwait)
diff --git a/nptl/semaphoreP.h b/nptl/semaphoreP.h
index 1b786149f4..f030f0e4de 100644
--- a/nptl/semaphoreP.h
+++ b/nptl/semaphoreP.h
@@ -54,7 +54,7 @@ extern int __new_sem_getvalue (sem_t *sem, int *sval);
 extern int
 __sem_clockwait64 (sem_t *sem, clockid_t clockid,
                    const struct __timespec64 *abstime);
-libpthread_hidden_proto (__sem_clockwait64)
+libc_hidden_proto (__sem_clockwait64)
 extern int
 __sem_timedwait64 (sem_t *sem, const struct __timespec64 *abstime);
 libpthread_hidden_proto (__sem_timedwait64)
diff --git a/sysdeps/unix/sysv/linux/aarch64/libc.abilist b/sysdeps/unix/sysv/linux/aarch64/libc.abilist
index 5dfea47ebf..0f54f3fa7a 100644
--- a/sysdeps/unix/sysv/linux/aarch64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/aarch64/libc.abilist
@@ -2250,6 +2250,7 @@ GLIBC_2.30 pthread_cond_clockwait F
 GLIBC_2.30 pthread_mutex_clocklock F
 GLIBC_2.30 pthread_rwlock_clockrdlock F
 GLIBC_2.30 pthread_rwlock_clockwrlock F
+GLIBC_2.30 sem_clockwait F
 GLIBC_2.30 tgkill F
 GLIBC_2.30 twalk_r F
 GLIBC_2.32 __libc_single_threaded D 0x1
@@ -2345,6 +2346,7 @@ GLIBC_2.34 pthread_spin_lock F
 GLIBC_2.34 pthread_spin_trylock F
 GLIBC_2.34 pthread_spin_unlock F
 GLIBC_2.34 pthread_testcancel F
+GLIBC_2.34 sem_clockwait F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
index 839f2ff64a..0481baac9c 100644
--- a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
@@ -54,5 +54,5 @@ GLIBC_2.18 pthread_setattr_default_np F
 GLIBC_2.28 thrd_create F
 GLIBC_2.28 thrd_detach F
 GLIBC_2.28 thrd_join F
-GLIBC_2.30 sem_clockwait F
+GLIBC_2.30 __libpthread_version_placeholder F
 GLIBC_2.31 pthread_clockjoin_np F
diff --git a/sysdeps/unix/sysv/linux/alpha/libc.abilist b/sysdeps/unix/sysv/linux/alpha/libc.abilist
index 318eea546a..c0d38ccd38 100644
--- a/sysdeps/unix/sysv/linux/alpha/libc.abilist
+++ b/sysdeps/unix/sysv/linux/alpha/libc.abilist
@@ -2331,6 +2331,7 @@ GLIBC_2.30 pthread_cond_clockwait F
 GLIBC_2.30 pthread_mutex_clocklock F
 GLIBC_2.30 pthread_rwlock_clockrdlock F
 GLIBC_2.30 pthread_rwlock_clockwrlock F
+GLIBC_2.30 sem_clockwait F
 GLIBC_2.30 tgkill F
 GLIBC_2.30 twalk_r F
 GLIBC_2.32 __libc_single_threaded D 0x1
@@ -2426,6 +2427,7 @@ GLIBC_2.34 pthread_spin_lock F
 GLIBC_2.34 pthread_spin_trylock F
 GLIBC_2.34 pthread_spin_unlock F
 GLIBC_2.34 pthread_testcancel F
+GLIBC_2.34 sem_clockwait F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
index 2633a1c816..86b15ad0d7 100644
--- a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
@@ -69,6 +69,6 @@ GLIBC_2.3.3 pthread_tryjoin_np F
 GLIBC_2.3.4 pthread_attr_getaffinity_np F
 GLIBC_2.3.4 pthread_setaffinity_np F
 GLIBC_2.3.4 pthread_setschedprio F
-GLIBC_2.30 sem_clockwait F
+GLIBC_2.30 __libpthread_version_placeholder F
 GLIBC_2.31 pthread_clockjoin_np F
 GLIBC_2.4 __libpthread_version_placeholder F
diff --git a/sysdeps/unix/sysv/linux/arc/libc.abilist b/sysdeps/unix/sysv/linux/arc/libc.abilist
index 18b5c97cc8..79fad165e1 100644
--- a/sysdeps/unix/sysv/linux/arc/libc.abilist
+++ b/sysdeps/unix/sysv/linux/arc/libc.abilist
@@ -1601,6 +1601,7 @@ GLIBC_2.32 seed48 F
 GLIBC_2.32 seed48_r F
 GLIBC_2.32 seekdir F
 GLIBC_2.32 select F
+GLIBC_2.32 sem_clockwait F
 GLIBC_2.32 semctl F
 GLIBC_2.32 semget F
 GLIBC_2.32 semop F
@@ -2104,6 +2105,7 @@ GLIBC_2.34 pthread_spin_lock F
 GLIBC_2.34 pthread_spin_trylock F
 GLIBC_2.34 pthread_spin_unlock F
 GLIBC_2.34 pthread_testcancel F
+GLIBC_2.34 sem_clockwait F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/arc/libpthread.abilist b/sysdeps/unix/sysv/linux/arc/libpthread.abilist
index fbe2217064..f9bb47a3c5 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_clockwait F
 GLIBC_2.32 sem_close F
 GLIBC_2.32 sem_destroy F
 GLIBC_2.32 sem_getvalue F
diff --git a/sysdeps/unix/sysv/linux/arm/be/libc.abilist b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
index 7de0e34b14..38cddc482a 100644
--- a/sysdeps/unix/sysv/linux/arm/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
@@ -153,6 +153,7 @@ GLIBC_2.30 pthread_cond_clockwait F
 GLIBC_2.30 pthread_mutex_clocklock F
 GLIBC_2.30 pthread_rwlock_clockrdlock F
 GLIBC_2.30 pthread_rwlock_clockwrlock F
+GLIBC_2.30 sem_clockwait F
 GLIBC_2.30 tgkill F
 GLIBC_2.30 twalk_r F
 GLIBC_2.31 msgctl F
@@ -251,6 +252,7 @@ GLIBC_2.34 pthread_spin_lock F
 GLIBC_2.34 pthread_spin_trylock F
 GLIBC_2.34 pthread_spin_unlock F
 GLIBC_2.34 pthread_testcancel F
+GLIBC_2.34 sem_clockwait F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
index bd82a85136..e56c397379 100644
--- a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
@@ -6,7 +6,7 @@ GLIBC_2.18 pthread_setattr_default_np F
 GLIBC_2.28 thrd_create F
 GLIBC_2.28 thrd_detach F
 GLIBC_2.28 thrd_join F
-GLIBC_2.30 sem_clockwait F
+GLIBC_2.30 __libpthread_version_placeholder F
 GLIBC_2.31 pthread_clockjoin_np F
 GLIBC_2.4 _IO_flockfile F
 GLIBC_2.4 _IO_ftrylockfile F
diff --git a/sysdeps/unix/sysv/linux/arm/le/libc.abilist b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
index 3e79ca85f0..78ae8c3907 100644
--- a/sysdeps/unix/sysv/linux/arm/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
@@ -153,6 +153,7 @@ GLIBC_2.30 pthread_cond_clockwait F
 GLIBC_2.30 pthread_mutex_clocklock F
 GLIBC_2.30 pthread_rwlock_clockrdlock F
 GLIBC_2.30 pthread_rwlock_clockwrlock F
+GLIBC_2.30 sem_clockwait F
 GLIBC_2.30 tgkill F
 GLIBC_2.30 twalk_r F
 GLIBC_2.32 __libc_single_threaded D 0x1
@@ -248,6 +249,7 @@ GLIBC_2.34 pthread_spin_lock F
 GLIBC_2.34 pthread_spin_trylock F
 GLIBC_2.34 pthread_spin_unlock F
 GLIBC_2.34 pthread_testcancel F
+GLIBC_2.34 sem_clockwait F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
index bd82a85136..e56c397379 100644
--- a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
@@ -6,7 +6,7 @@ GLIBC_2.18 pthread_setattr_default_np F
 GLIBC_2.28 thrd_create F
 GLIBC_2.28 thrd_detach F
 GLIBC_2.28 thrd_join F
-GLIBC_2.30 sem_clockwait F
+GLIBC_2.30 __libpthread_version_placeholder F
 GLIBC_2.31 pthread_clockjoin_np F
 GLIBC_2.4 _IO_flockfile F
 GLIBC_2.4 _IO_ftrylockfile F
diff --git a/sysdeps/unix/sysv/linux/csky/libc.abilist b/sysdeps/unix/sysv/linux/csky/libc.abilist
index 9eaeda5d49..66dae5ded1 100644
--- a/sysdeps/unix/sysv/linux/csky/libc.abilist
+++ b/sysdeps/unix/sysv/linux/csky/libc.abilist
@@ -2193,6 +2193,7 @@ GLIBC_2.30 pthread_cond_clockwait F
 GLIBC_2.30 pthread_mutex_clocklock F
 GLIBC_2.30 pthread_rwlock_clockrdlock F
 GLIBC_2.30 pthread_rwlock_clockwrlock F
+GLIBC_2.30 sem_clockwait F
 GLIBC_2.30 tgkill F
 GLIBC_2.30 twalk_r F
 GLIBC_2.32 __libc_single_threaded D 0x1
@@ -2288,6 +2289,7 @@ GLIBC_2.34 pthread_spin_lock F
 GLIBC_2.34 pthread_spin_trylock F
 GLIBC_2.34 pthread_spin_unlock F
 GLIBC_2.34 pthread_testcancel F
+GLIBC_2.34 sem_clockwait F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/csky/libpthread.abilist b/sysdeps/unix/sysv/linux/csky/libpthread.abilist
index c1e500ab59..6fd5e8061a 100644
--- a/sysdeps/unix/sysv/linux/csky/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/csky/libpthread.abilist
@@ -54,5 +54,5 @@ GLIBC_2.29 sem_wait F
 GLIBC_2.29 thrd_create F
 GLIBC_2.29 thrd_detach F
 GLIBC_2.29 thrd_join F
-GLIBC_2.30 sem_clockwait F
+GLIBC_2.30 __libpthread_version_placeholder F
 GLIBC_2.31 pthread_clockjoin_np F
diff --git a/sysdeps/unix/sysv/linux/hppa/libc.abilist b/sysdeps/unix/sysv/linux/hppa/libc.abilist
index 59165723ed..46875d7402 100644
--- a/sysdeps/unix/sysv/linux/hppa/libc.abilist
+++ b/sysdeps/unix/sysv/linux/hppa/libc.abilist
@@ -2144,6 +2144,7 @@ GLIBC_2.30 pthread_cond_clockwait F
 GLIBC_2.30 pthread_mutex_clocklock F
 GLIBC_2.30 pthread_rwlock_clockrdlock F
 GLIBC_2.30 pthread_rwlock_clockwrlock F
+GLIBC_2.30 sem_clockwait F
 GLIBC_2.30 tgkill F
 GLIBC_2.30 twalk_r F
 GLIBC_2.32 __libc_single_threaded D 0x1
@@ -2239,6 +2240,7 @@ GLIBC_2.34 pthread_spin_lock F
 GLIBC_2.34 pthread_spin_trylock F
 GLIBC_2.34 pthread_spin_unlock F
 GLIBC_2.34 pthread_testcancel F
+GLIBC_2.34 sem_clockwait F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
index 0d4dfb6328..c6e9eee45b 100644
--- a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
@@ -59,6 +59,6 @@ GLIBC_2.3.3 pthread_tryjoin_np F
 GLIBC_2.3.4 pthread_attr_getaffinity_np F
 GLIBC_2.3.4 pthread_setaffinity_np F
 GLIBC_2.3.4 pthread_setschedprio F
-GLIBC_2.30 sem_clockwait F
+GLIBC_2.30 __libpthread_version_placeholder F
 GLIBC_2.31 pthread_clockjoin_np F
 GLIBC_2.4 __libpthread_version_placeholder F
diff --git a/sysdeps/unix/sysv/linux/i386/libc.abilist b/sysdeps/unix/sysv/linux/i386/libc.abilist
index 05c26afb65..5d8ca2e122 100644
--- a/sysdeps/unix/sysv/linux/i386/libc.abilist
+++ b/sysdeps/unix/sysv/linux/i386/libc.abilist
@@ -2319,6 +2319,7 @@ GLIBC_2.30 pthread_cond_clockwait F
 GLIBC_2.30 pthread_mutex_clocklock F
 GLIBC_2.30 pthread_rwlock_clockrdlock F
 GLIBC_2.30 pthread_rwlock_clockwrlock F
+GLIBC_2.30 sem_clockwait F
 GLIBC_2.30 tgkill F
 GLIBC_2.30 twalk_r F
 GLIBC_2.32 __libc_single_threaded D 0x1
@@ -2416,6 +2417,7 @@ GLIBC_2.34 pthread_spin_lock F
 GLIBC_2.34 pthread_spin_trylock F
 GLIBC_2.34 pthread_spin_unlock F
 GLIBC_2.34 pthread_testcancel F
+GLIBC_2.34 sem_clockwait F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/i386/libpthread.abilist b/sysdeps/unix/sysv/linux/i386/libpthread.abilist
index 7b43b9309b..30bc064058 100644
--- a/sysdeps/unix/sysv/linux/i386/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/i386/libpthread.abilist
@@ -67,6 +67,6 @@ GLIBC_2.3.3 pthread_tryjoin_np F
 GLIBC_2.3.4 pthread_attr_getaffinity_np F
 GLIBC_2.3.4 pthread_setaffinity_np F
 GLIBC_2.3.4 pthread_setschedprio F
-GLIBC_2.30 sem_clockwait F
+GLIBC_2.30 __libpthread_version_placeholder F
 GLIBC_2.31 pthread_clockjoin_np F
 GLIBC_2.4 __libpthread_version_placeholder F
diff --git a/sysdeps/unix/sysv/linux/ia64/libc.abilist b/sysdeps/unix/sysv/linux/ia64/libc.abilist
index 2aeb8e0be5..c14a38e14c 100644
--- a/sysdeps/unix/sysv/linux/ia64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/ia64/libc.abilist
@@ -2177,6 +2177,7 @@ GLIBC_2.30 pthread_cond_clockwait F
 GLIBC_2.30 pthread_mutex_clocklock F
 GLIBC_2.30 pthread_rwlock_clockrdlock F
 GLIBC_2.30 pthread_rwlock_clockwrlock F
+GLIBC_2.30 sem_clockwait F
 GLIBC_2.30 tgkill F
 GLIBC_2.30 twalk_r F
 GLIBC_2.32 __libc_single_threaded D 0x1
@@ -2273,6 +2274,7 @@ GLIBC_2.34 pthread_spin_lock F
 GLIBC_2.34 pthread_spin_trylock F
 GLIBC_2.34 pthread_spin_unlock F
 GLIBC_2.34 pthread_testcancel F
+GLIBC_2.34 sem_clockwait F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
index cef26d71d6..6f15ac3cb1 100644
--- a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
@@ -61,6 +61,6 @@ GLIBC_2.3.3 pthread_tryjoin_np F
 GLIBC_2.3.4 pthread_attr_getaffinity_np F
 GLIBC_2.3.4 pthread_setaffinity_np F
 GLIBC_2.3.4 pthread_setschedprio F
-GLIBC_2.30 sem_clockwait F
+GLIBC_2.30 __libpthread_version_placeholder F
 GLIBC_2.31 pthread_clockjoin_np F
 GLIBC_2.4 __libpthread_version_placeholder F
diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
index 571c501b95..aabed7c366 100644
--- a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
@@ -154,6 +154,7 @@ GLIBC_2.30 pthread_cond_clockwait F
 GLIBC_2.30 pthread_mutex_clocklock F
 GLIBC_2.30 pthread_rwlock_clockrdlock F
 GLIBC_2.30 pthread_rwlock_clockwrlock F
+GLIBC_2.30 sem_clockwait F
 GLIBC_2.30 tgkill F
 GLIBC_2.30 twalk_r F
 GLIBC_2.31 msgctl F
@@ -252,6 +253,7 @@ GLIBC_2.34 pthread_spin_lock F
 GLIBC_2.34 pthread_spin_trylock F
 GLIBC_2.34 pthread_spin_unlock F
 GLIBC_2.34 pthread_testcancel F
+GLIBC_2.34 sem_clockwait F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
index bd82a85136..e56c397379 100644
--- a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
@@ -6,7 +6,7 @@ GLIBC_2.18 pthread_setattr_default_np F
 GLIBC_2.28 thrd_create F
 GLIBC_2.28 thrd_detach F
 GLIBC_2.28 thrd_join F
-GLIBC_2.30 sem_clockwait F
+GLIBC_2.30 __libpthread_version_placeholder F
 GLIBC_2.31 pthread_clockjoin_np F
 GLIBC_2.4 _IO_flockfile F
 GLIBC_2.4 _IO_ftrylockfile F
diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
index 0404cf1749..4a3b9f25fa 100644
--- a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
@@ -2261,6 +2261,7 @@ GLIBC_2.30 pthread_cond_clockwait F
 GLIBC_2.30 pthread_mutex_clocklock F
 GLIBC_2.30 pthread_rwlock_clockrdlock F
 GLIBC_2.30 pthread_rwlock_clockwrlock F
+GLIBC_2.30 sem_clockwait F
 GLIBC_2.30 tgkill F
 GLIBC_2.30 twalk_r F
 GLIBC_2.31 msgctl F
@@ -2359,6 +2360,7 @@ GLIBC_2.34 pthread_spin_lock F
 GLIBC_2.34 pthread_spin_trylock F
 GLIBC_2.34 pthread_spin_unlock F
 GLIBC_2.34 pthread_testcancel F
+GLIBC_2.34 sem_clockwait F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
index 7b43b9309b..30bc064058 100644
--- a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
@@ -67,6 +67,6 @@ GLIBC_2.3.3 pthread_tryjoin_np F
 GLIBC_2.3.4 pthread_attr_getaffinity_np F
 GLIBC_2.3.4 pthread_setaffinity_np F
 GLIBC_2.3.4 pthread_setschedprio F
-GLIBC_2.30 sem_clockwait F
+GLIBC_2.30 __libpthread_version_placeholder F
 GLIBC_2.31 pthread_clockjoin_np F
 GLIBC_2.4 __libpthread_version_placeholder F
diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
index 7be131d0fc..82ac489f32 100644
--- a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
@@ -2241,6 +2241,7 @@ GLIBC_2.30 pthread_cond_clockwait F
 GLIBC_2.30 pthread_mutex_clocklock F
 GLIBC_2.30 pthread_rwlock_clockrdlock F
 GLIBC_2.30 pthread_rwlock_clockwrlock F
+GLIBC_2.30 sem_clockwait F
 GLIBC_2.30 tgkill F
 GLIBC_2.30 twalk_r F
 GLIBC_2.31 msgctl F
@@ -2339,6 +2340,7 @@ GLIBC_2.34 pthread_spin_lock F
 GLIBC_2.34 pthread_spin_trylock F
 GLIBC_2.34 pthread_spin_unlock F
 GLIBC_2.34 pthread_testcancel F
+GLIBC_2.34 sem_clockwait F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
index 6bfa410c44..703310b8dd 100644
--- a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
@@ -54,5 +54,5 @@ GLIBC_2.18 sem_wait F
 GLIBC_2.28 thrd_create F
 GLIBC_2.28 thrd_detach F
 GLIBC_2.28 thrd_join F
-GLIBC_2.30 sem_clockwait F
+GLIBC_2.30 __libpthread_version_placeholder F
 GLIBC_2.31 pthread_clockjoin_np F
diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
index 31c157bb4a..3ec2794b5b 100644
--- a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
@@ -2241,6 +2241,7 @@ GLIBC_2.30 pthread_cond_clockwait F
 GLIBC_2.30 pthread_mutex_clocklock F
 GLIBC_2.30 pthread_rwlock_clockrdlock F
 GLIBC_2.30 pthread_rwlock_clockwrlock F
+GLIBC_2.30 sem_clockwait F
 GLIBC_2.30 tgkill F
 GLIBC_2.30 twalk_r F
 GLIBC_2.32 __libc_single_threaded D 0x1
@@ -2336,6 +2337,7 @@ GLIBC_2.34 pthread_spin_lock F
 GLIBC_2.34 pthread_spin_trylock F
 GLIBC_2.34 pthread_spin_unlock F
 GLIBC_2.34 pthread_testcancel F
+GLIBC_2.34 sem_clockwait F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
index 6bfa410c44..703310b8dd 100644
--- a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
@@ -54,5 +54,5 @@ GLIBC_2.18 sem_wait F
 GLIBC_2.28 thrd_create F
 GLIBC_2.28 thrd_detach F
 GLIBC_2.28 thrd_join F
-GLIBC_2.30 sem_clockwait F
+GLIBC_2.30 __libpthread_version_placeholder F
 GLIBC_2.31 pthread_clockjoin_np F
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
index 0f6e9cbf01..ff623c22f3 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
@@ -2227,6 +2227,7 @@ GLIBC_2.30 pthread_cond_clockwait F
 GLIBC_2.30 pthread_mutex_clocklock F
 GLIBC_2.30 pthread_rwlock_clockrdlock F
 GLIBC_2.30 pthread_rwlock_clockwrlock F
+GLIBC_2.30 sem_clockwait F
 GLIBC_2.30 tgkill F
 GLIBC_2.30 twalk_r F
 GLIBC_2.32 __libc_single_threaded D 0x1
@@ -2322,6 +2323,7 @@ GLIBC_2.34 pthread_spin_lock F
 GLIBC_2.34 pthread_spin_trylock F
 GLIBC_2.34 pthread_spin_unlock F
 GLIBC_2.34 pthread_testcancel F
+GLIBC_2.34 sem_clockwait F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
index 83434ae1b6..8444fb5280 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
@@ -68,6 +68,6 @@ GLIBC_2.3.3 pthread_tryjoin_np F
 GLIBC_2.3.4 pthread_attr_getaffinity_np F
 GLIBC_2.3.4 pthread_setaffinity_np F
 GLIBC_2.3.4 pthread_setschedprio F
-GLIBC_2.30 sem_clockwait F
+GLIBC_2.30 __libpthread_version_placeholder F
 GLIBC_2.31 pthread_clockjoin_np F
 GLIBC_2.4 __libpthread_version_placeholder F
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
index 9fc089707f..6cecd92386 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
@@ -2225,6 +2225,7 @@ GLIBC_2.30 pthread_cond_clockwait F
 GLIBC_2.30 pthread_mutex_clocklock F
 GLIBC_2.30 pthread_rwlock_clockrdlock F
 GLIBC_2.30 pthread_rwlock_clockwrlock F
+GLIBC_2.30 sem_clockwait F
 GLIBC_2.30 tgkill F
 GLIBC_2.30 twalk_r F
 GLIBC_2.32 __libc_single_threaded D 0x1
@@ -2320,6 +2321,7 @@ GLIBC_2.34 pthread_spin_lock F
 GLIBC_2.34 pthread_spin_trylock F
 GLIBC_2.34 pthread_spin_unlock F
 GLIBC_2.34 pthread_testcancel F
+GLIBC_2.34 sem_clockwait F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
index 83434ae1b6..8444fb5280 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
@@ -68,6 +68,6 @@ GLIBC_2.3.3 pthread_tryjoin_np F
 GLIBC_2.3.4 pthread_attr_getaffinity_np F
 GLIBC_2.3.4 pthread_setaffinity_np F
 GLIBC_2.3.4 pthread_setschedprio F
-GLIBC_2.30 sem_clockwait F
+GLIBC_2.30 __libpthread_version_placeholder F
 GLIBC_2.31 pthread_clockjoin_np F
 GLIBC_2.4 __libpthread_version_placeholder F
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
index edb5b754bf..858fa17010 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
@@ -2233,6 +2233,7 @@ GLIBC_2.30 pthread_cond_clockwait F
 GLIBC_2.30 pthread_mutex_clocklock F
 GLIBC_2.30 pthread_rwlock_clockrdlock F
 GLIBC_2.30 pthread_rwlock_clockwrlock F
+GLIBC_2.30 sem_clockwait F
 GLIBC_2.30 tgkill F
 GLIBC_2.30 twalk_r F
 GLIBC_2.32 __libc_single_threaded D 0x1
@@ -2328,6 +2329,7 @@ GLIBC_2.34 pthread_spin_lock F
 GLIBC_2.34 pthread_spin_trylock F
 GLIBC_2.34 pthread_spin_unlock F
 GLIBC_2.34 pthread_testcancel F
+GLIBC_2.34 sem_clockwait F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
index a80f4d6138..5c72417ee3 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
@@ -2227,6 +2227,7 @@ GLIBC_2.30 pthread_cond_clockwait F
 GLIBC_2.30 pthread_mutex_clocklock F
 GLIBC_2.30 pthread_rwlock_clockrdlock F
 GLIBC_2.30 pthread_rwlock_clockwrlock F
+GLIBC_2.30 sem_clockwait F
 GLIBC_2.30 tgkill F
 GLIBC_2.30 twalk_r F
 GLIBC_2.32 __libc_single_threaded D 0x1
@@ -2322,6 +2323,7 @@ GLIBC_2.34 pthread_spin_lock F
 GLIBC_2.34 pthread_spin_trylock F
 GLIBC_2.34 pthread_spin_unlock F
 GLIBC_2.34 pthread_testcancel F
+GLIBC_2.34 sem_clockwait F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/nios2/libc.abilist b/sysdeps/unix/sysv/linux/nios2/libc.abilist
index ce16d91d60..b9cd5703da 100644
--- a/sysdeps/unix/sysv/linux/nios2/libc.abilist
+++ b/sysdeps/unix/sysv/linux/nios2/libc.abilist
@@ -2283,6 +2283,7 @@ GLIBC_2.30 pthread_cond_clockwait F
 GLIBC_2.30 pthread_mutex_clocklock F
 GLIBC_2.30 pthread_rwlock_clockrdlock F
 GLIBC_2.30 pthread_rwlock_clockwrlock F
+GLIBC_2.30 sem_clockwait F
 GLIBC_2.30 tgkill F
 GLIBC_2.30 twalk_r F
 GLIBC_2.32 __libc_single_threaded D 0x1
@@ -2378,6 +2379,7 @@ GLIBC_2.34 pthread_spin_lock F
 GLIBC_2.34 pthread_spin_trylock F
 GLIBC_2.34 pthread_spin_unlock F
 GLIBC_2.34 pthread_testcancel F
+GLIBC_2.34 sem_clockwait F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
index 197827a386..6e4845723f 100644
--- a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
@@ -54,5 +54,5 @@ GLIBC_2.21 sem_wait F
 GLIBC_2.28 thrd_create F
 GLIBC_2.28 thrd_detach F
 GLIBC_2.28 thrd_join F
-GLIBC_2.30 sem_clockwait F
+GLIBC_2.30 __libpthread_version_placeholder F
 GLIBC_2.31 pthread_clockjoin_np F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
index c8478bd5d4..2384127281 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
@@ -2291,6 +2291,7 @@ GLIBC_2.30 pthread_cond_clockwait F
 GLIBC_2.30 pthread_mutex_clocklock F
 GLIBC_2.30 pthread_rwlock_clockrdlock F
 GLIBC_2.30 pthread_rwlock_clockwrlock F
+GLIBC_2.30 sem_clockwait F
 GLIBC_2.30 tgkill F
 GLIBC_2.30 twalk_r F
 GLIBC_2.32 __libc_single_threaded D 0x1
@@ -2386,6 +2387,7 @@ GLIBC_2.34 pthread_spin_lock F
 GLIBC_2.34 pthread_spin_trylock F
 GLIBC_2.34 pthread_spin_unlock F
 GLIBC_2.34 pthread_testcancel F
+GLIBC_2.34 sem_clockwait F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
index 79bc809cfa..2614e1e6b9 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
@@ -67,7 +67,7 @@ GLIBC_2.3.3 pthread_tryjoin_np F
 GLIBC_2.3.4 pthread_attr_getaffinity_np F
 GLIBC_2.3.4 pthread_setaffinity_np F
 GLIBC_2.3.4 pthread_setschedprio F
-GLIBC_2.30 sem_clockwait F
+GLIBC_2.30 __libpthread_version_placeholder F
 GLIBC_2.31 pthread_clockjoin_np F
 GLIBC_2.4 __libpthread_version_placeholder F
 GLIBC_2.6 pthread_attr_setstack F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
index 05e79162d1..ce47bd3777 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
@@ -2324,6 +2324,7 @@ GLIBC_2.30 pthread_cond_clockwait F
 GLIBC_2.30 pthread_mutex_clocklock F
 GLIBC_2.30 pthread_rwlock_clockrdlock F
 GLIBC_2.30 pthread_rwlock_clockwrlock F
+GLIBC_2.30 sem_clockwait F
 GLIBC_2.30 tgkill F
 GLIBC_2.30 twalk_r F
 GLIBC_2.32 __libc_single_threaded D 0x1
@@ -2419,6 +2420,7 @@ GLIBC_2.34 pthread_spin_lock F
 GLIBC_2.34 pthread_spin_trylock F
 GLIBC_2.34 pthread_spin_unlock F
 GLIBC_2.34 pthread_testcancel F
+GLIBC_2.34 sem_clockwait F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
index 8ca7a93538..1be222ec73 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
@@ -2145,6 +2145,7 @@ GLIBC_2.30 pthread_cond_clockwait F
 GLIBC_2.30 pthread_mutex_clocklock F
 GLIBC_2.30 pthread_rwlock_clockrdlock F
 GLIBC_2.30 pthread_rwlock_clockwrlock F
+GLIBC_2.30 sem_clockwait F
 GLIBC_2.30 tgkill F
 GLIBC_2.30 twalk_r F
 GLIBC_2.32 __libc_single_threaded D 0x1
@@ -2240,6 +2241,7 @@ GLIBC_2.34 pthread_spin_lock F
 GLIBC_2.34 pthread_spin_trylock F
 GLIBC_2.34 pthread_spin_unlock F
 GLIBC_2.34 pthread_testcancel F
+GLIBC_2.34 sem_clockwait F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
index 0c5ee381d2..af39b79df0 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
@@ -57,7 +57,7 @@ GLIBC_2.3.3 pthread_tryjoin_np F
 GLIBC_2.3.4 pthread_attr_getaffinity_np F
 GLIBC_2.3.4 pthread_setaffinity_np F
 GLIBC_2.3.4 pthread_setschedprio F
-GLIBC_2.30 sem_clockwait F
+GLIBC_2.30 __libpthread_version_placeholder F
 GLIBC_2.31 pthread_clockjoin_np F
 GLIBC_2.4 __libpthread_version_placeholder F
 GLIBC_2.6 pthread_attr_setstack F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
index 7c69ef778e..26de7bc08f 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
@@ -2352,6 +2352,7 @@ GLIBC_2.30 pthread_cond_clockwait F
 GLIBC_2.30 pthread_mutex_clocklock F
 GLIBC_2.30 pthread_rwlock_clockrdlock F
 GLIBC_2.30 pthread_rwlock_clockwrlock F
+GLIBC_2.30 sem_clockwait F
 GLIBC_2.30 tgkill F
 GLIBC_2.30 twalk_r F
 GLIBC_2.32 __argp_errorieee128 F
@@ -2541,6 +2542,7 @@ GLIBC_2.34 pthread_spin_lock F
 GLIBC_2.34 pthread_spin_trylock F
 GLIBC_2.34 pthread_spin_unlock F
 GLIBC_2.34 pthread_testcancel F
+GLIBC_2.34 sem_clockwait F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
index 839f2ff64a..0481baac9c 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
@@ -54,5 +54,5 @@ GLIBC_2.18 pthread_setattr_default_np F
 GLIBC_2.28 thrd_create F
 GLIBC_2.28 thrd_detach F
 GLIBC_2.28 thrd_join F
-GLIBC_2.30 sem_clockwait F
+GLIBC_2.30 __libpthread_version_placeholder F
 GLIBC_2.31 pthread_clockjoin_np F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
index a1158f7747..423a563d6a 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
@@ -1603,6 +1603,7 @@ GLIBC_2.33 seed48 F
 GLIBC_2.33 seed48_r F
 GLIBC_2.33 seekdir F
 GLIBC_2.33 select F
+GLIBC_2.33 sem_clockwait F
 GLIBC_2.33 semctl F
 GLIBC_2.33 semget F
 GLIBC_2.33 semop F
@@ -2106,6 +2107,7 @@ GLIBC_2.34 pthread_spin_lock F
 GLIBC_2.34 pthread_spin_trylock F
 GLIBC_2.34 pthread_spin_unlock F
 GLIBC_2.34 pthread_testcancel F
+GLIBC_2.34 sem_clockwait F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
index 94fcac028c..2c05fed5de 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_clockwait F
 GLIBC_2.33 sem_close F
 GLIBC_2.33 sem_destroy F
 GLIBC_2.33 sem_getvalue F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
index 0914e4b443..04e587b23c 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
@@ -2211,6 +2211,7 @@ GLIBC_2.30 pthread_cond_clockwait F
 GLIBC_2.30 pthread_mutex_clocklock F
 GLIBC_2.30 pthread_rwlock_clockrdlock F
 GLIBC_2.30 pthread_rwlock_clockwrlock F
+GLIBC_2.30 sem_clockwait F
 GLIBC_2.30 tgkill F
 GLIBC_2.30 twalk_r F
 GLIBC_2.32 __libc_single_threaded D 0x1
@@ -2306,6 +2307,7 @@ GLIBC_2.34 pthread_spin_lock F
 GLIBC_2.34 pthread_spin_trylock F
 GLIBC_2.34 pthread_spin_unlock F
 GLIBC_2.34 pthread_testcancel F
+GLIBC_2.34 sem_clockwait F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
index fdab0f5ab4..24c1fc45ce 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
@@ -54,5 +54,5 @@ GLIBC_2.27 sem_wait F
 GLIBC_2.28 thrd_create F
 GLIBC_2.28 thrd_detach F
 GLIBC_2.28 thrd_join F
-GLIBC_2.30 sem_clockwait F
+GLIBC_2.30 __libpthread_version_placeholder F
 GLIBC_2.31 pthread_clockjoin_np F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
index 9333d220ed..7b269ae840 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
@@ -2286,6 +2286,7 @@ GLIBC_2.30 pthread_cond_clockwait F
 GLIBC_2.30 pthread_mutex_clocklock F
 GLIBC_2.30 pthread_rwlock_clockrdlock F
 GLIBC_2.30 pthread_rwlock_clockwrlock F
+GLIBC_2.30 sem_clockwait F
 GLIBC_2.30 tgkill F
 GLIBC_2.30 twalk_r F
 GLIBC_2.31 msgctl F
@@ -2384,6 +2385,7 @@ GLIBC_2.34 pthread_spin_lock F
 GLIBC_2.34 pthread_spin_trylock F
 GLIBC_2.34 pthread_spin_unlock F
 GLIBC_2.34 pthread_testcancel F
+GLIBC_2.34 sem_clockwait F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
index 911048092d..17893bf306 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
@@ -68,6 +68,6 @@ GLIBC_2.3.3 pthread_tryjoin_np F
 GLIBC_2.3.4 pthread_attr_getaffinity_np F
 GLIBC_2.3.4 pthread_setaffinity_np F
 GLIBC_2.3.4 pthread_setschedprio F
-GLIBC_2.30 sem_clockwait F
+GLIBC_2.30 __libpthread_version_placeholder F
 GLIBC_2.31 pthread_clockjoin_np F
 GLIBC_2.4 __libpthread_version_placeholder F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
index 1c3b757684..c2af5d0ece 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
@@ -2182,6 +2182,7 @@ GLIBC_2.30 pthread_cond_clockwait F
 GLIBC_2.30 pthread_mutex_clocklock F
 GLIBC_2.30 pthread_rwlock_clockrdlock F
 GLIBC_2.30 pthread_rwlock_clockwrlock F
+GLIBC_2.30 sem_clockwait F
 GLIBC_2.30 tgkill F
 GLIBC_2.30 twalk_r F
 GLIBC_2.32 __libc_single_threaded D 0x1
@@ -2277,6 +2278,7 @@ GLIBC_2.34 pthread_spin_lock F
 GLIBC_2.34 pthread_spin_trylock F
 GLIBC_2.34 pthread_spin_unlock F
 GLIBC_2.34 pthread_testcancel F
+GLIBC_2.34 sem_clockwait F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
index c5c78cb049..3f42d9dcc5 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
@@ -60,6 +60,6 @@ GLIBC_2.3.3 pthread_tryjoin_np F
 GLIBC_2.3.4 pthread_attr_getaffinity_np F
 GLIBC_2.3.4 pthread_setaffinity_np F
 GLIBC_2.3.4 pthread_setschedprio F
-GLIBC_2.30 sem_clockwait F
+GLIBC_2.30 __libpthread_version_placeholder F
 GLIBC_2.31 pthread_clockjoin_np F
 GLIBC_2.4 __libpthread_version_placeholder F
diff --git a/sysdeps/unix/sysv/linux/sh/be/libc.abilist b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
index 66be9c89c9..00ea530f98 100644
--- a/sysdeps/unix/sysv/linux/sh/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
@@ -2148,6 +2148,7 @@ GLIBC_2.30 pthread_cond_clockwait F
 GLIBC_2.30 pthread_mutex_clocklock F
 GLIBC_2.30 pthread_rwlock_clockrdlock F
 GLIBC_2.30 pthread_rwlock_clockwrlock F
+GLIBC_2.30 sem_clockwait F
 GLIBC_2.30 tgkill F
 GLIBC_2.30 twalk_r F
 GLIBC_2.31 msgctl F
@@ -2246,6 +2247,7 @@ GLIBC_2.34 pthread_spin_lock F
 GLIBC_2.34 pthread_spin_trylock F
 GLIBC_2.34 pthread_spin_unlock F
 GLIBC_2.34 pthread_testcancel F
+GLIBC_2.34 sem_clockwait F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
index 0d4dfb6328..c6e9eee45b 100644
--- a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
@@ -59,6 +59,6 @@ GLIBC_2.3.3 pthread_tryjoin_np F
 GLIBC_2.3.4 pthread_attr_getaffinity_np F
 GLIBC_2.3.4 pthread_setaffinity_np F
 GLIBC_2.3.4 pthread_setschedprio F
-GLIBC_2.30 sem_clockwait F
+GLIBC_2.30 __libpthread_version_placeholder F
 GLIBC_2.31 pthread_clockjoin_np F
 GLIBC_2.4 __libpthread_version_placeholder F
diff --git a/sysdeps/unix/sysv/linux/sh/le/libc.abilist b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
index fb0fed082f..ea92a1c366 100644
--- a/sysdeps/unix/sysv/linux/sh/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
@@ -2148,6 +2148,7 @@ GLIBC_2.30 pthread_cond_clockwait F
 GLIBC_2.30 pthread_mutex_clocklock F
 GLIBC_2.30 pthread_rwlock_clockrdlock F
 GLIBC_2.30 pthread_rwlock_clockwrlock F
+GLIBC_2.30 sem_clockwait F
 GLIBC_2.30 tgkill F
 GLIBC_2.30 twalk_r F
 GLIBC_2.32 __libc_single_threaded D 0x1
@@ -2243,6 +2244,7 @@ GLIBC_2.34 pthread_spin_lock F
 GLIBC_2.34 pthread_spin_trylock F
 GLIBC_2.34 pthread_spin_unlock F
 GLIBC_2.34 pthread_testcancel F
+GLIBC_2.34 sem_clockwait F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
index 0d4dfb6328..c6e9eee45b 100644
--- a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
@@ -59,6 +59,6 @@ GLIBC_2.3.3 pthread_tryjoin_np F
 GLIBC_2.3.4 pthread_attr_getaffinity_np F
 GLIBC_2.3.4 pthread_setaffinity_np F
 GLIBC_2.3.4 pthread_setschedprio F
-GLIBC_2.30 sem_clockwait F
+GLIBC_2.30 __libpthread_version_placeholder F
 GLIBC_2.31 pthread_clockjoin_np F
 GLIBC_2.4 __libpthread_version_placeholder F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
index 37c3cf105f..f0d5866658 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
@@ -2280,6 +2280,7 @@ GLIBC_2.30 pthread_cond_clockwait F
 GLIBC_2.30 pthread_mutex_clocklock F
 GLIBC_2.30 pthread_rwlock_clockrdlock F
 GLIBC_2.30 pthread_rwlock_clockwrlock F
+GLIBC_2.30 sem_clockwait F
 GLIBC_2.30 tgkill F
 GLIBC_2.30 twalk_r F
 GLIBC_2.32 __libc_single_threaded D 0x1
@@ -2375,6 +2376,7 @@ GLIBC_2.34 pthread_spin_lock F
 GLIBC_2.34 pthread_spin_trylock F
 GLIBC_2.34 pthread_spin_unlock F
 GLIBC_2.34 pthread_testcancel F
+GLIBC_2.34 sem_clockwait F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
index 2633a1c816..86b15ad0d7 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
@@ -69,6 +69,6 @@ GLIBC_2.3.3 pthread_tryjoin_np F
 GLIBC_2.3.4 pthread_attr_getaffinity_np F
 GLIBC_2.3.4 pthread_setaffinity_np F
 GLIBC_2.3.4 pthread_setschedprio F
-GLIBC_2.30 sem_clockwait F
+GLIBC_2.30 __libpthread_version_placeholder F
 GLIBC_2.31 pthread_clockjoin_np F
 GLIBC_2.4 __libpthread_version_placeholder F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
index 80f79eb731..da0c9e1e86 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
@@ -2199,6 +2199,7 @@ GLIBC_2.30 pthread_cond_clockwait F
 GLIBC_2.30 pthread_mutex_clocklock F
 GLIBC_2.30 pthread_rwlock_clockrdlock F
 GLIBC_2.30 pthread_rwlock_clockwrlock F
+GLIBC_2.30 sem_clockwait F
 GLIBC_2.30 tgkill F
 GLIBC_2.30 twalk_r F
 GLIBC_2.32 __libc_single_threaded D 0x1
@@ -2294,6 +2295,7 @@ GLIBC_2.34 pthread_spin_lock F
 GLIBC_2.34 pthread_spin_trylock F
 GLIBC_2.34 pthread_spin_unlock F
 GLIBC_2.34 pthread_testcancel F
+GLIBC_2.34 sem_clockwait F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
index cef26d71d6..6f15ac3cb1 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
@@ -61,6 +61,6 @@ GLIBC_2.3.3 pthread_tryjoin_np F
 GLIBC_2.3.4 pthread_attr_getaffinity_np F
 GLIBC_2.3.4 pthread_setaffinity_np F
 GLIBC_2.3.4 pthread_setschedprio F
-GLIBC_2.30 sem_clockwait F
+GLIBC_2.30 __libpthread_version_placeholder F
 GLIBC_2.31 pthread_clockjoin_np F
 GLIBC_2.4 __libpthread_version_placeholder F
diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
index a743156f26..33b4b7a121 100644
--- a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
@@ -2158,6 +2158,7 @@ GLIBC_2.30 pthread_cond_clockwait F
 GLIBC_2.30 pthread_mutex_clocklock F
 GLIBC_2.30 pthread_rwlock_clockrdlock F
 GLIBC_2.30 pthread_rwlock_clockwrlock F
+GLIBC_2.30 sem_clockwait F
 GLIBC_2.30 tgkill F
 GLIBC_2.30 twalk_r F
 GLIBC_2.32 __libc_single_threaded D 0x1
@@ -2255,6 +2256,7 @@ GLIBC_2.34 pthread_spin_lock F
 GLIBC_2.34 pthread_spin_trylock F
 GLIBC_2.34 pthread_spin_unlock F
 GLIBC_2.34 pthread_testcancel F
+GLIBC_2.34 sem_clockwait F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
index 000cf018c7..3516798f9a 100644
--- a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
@@ -58,6 +58,6 @@ GLIBC_2.3.3 pthread_tryjoin_np F
 GLIBC_2.3.4 pthread_attr_getaffinity_np F
 GLIBC_2.3.4 pthread_setaffinity_np F
 GLIBC_2.3.4 pthread_setschedprio F
-GLIBC_2.30 sem_clockwait F
+GLIBC_2.30 __libpthread_version_placeholder F
 GLIBC_2.31 pthread_clockjoin_np F
 GLIBC_2.4 __libpthread_version_placeholder F
diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
index 828c2f922b..0a1215efeb 100644
--- a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
@@ -2263,6 +2263,7 @@ GLIBC_2.30 pthread_cond_clockwait F
 GLIBC_2.30 pthread_mutex_clocklock F
 GLIBC_2.30 pthread_rwlock_clockrdlock F
 GLIBC_2.30 pthread_rwlock_clockwrlock F
+GLIBC_2.30 sem_clockwait F
 GLIBC_2.30 tgkill F
 GLIBC_2.30 twalk_r F
 GLIBC_2.32 __libc_single_threaded D 0x1
@@ -2360,6 +2361,7 @@ GLIBC_2.34 pthread_spin_lock F
 GLIBC_2.34 pthread_spin_trylock F
 GLIBC_2.34 pthread_spin_unlock F
 GLIBC_2.34 pthread_testcancel F
+GLIBC_2.34 sem_clockwait F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
index 068065e40c..b2c9bca89c 100644
--- a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
@@ -54,5 +54,5 @@ GLIBC_2.18 pthread_setattr_default_np F
 GLIBC_2.28 thrd_create F
 GLIBC_2.28 thrd_detach F
 GLIBC_2.28 thrd_join F
-GLIBC_2.30 sem_clockwait F
+GLIBC_2.30 __libpthread_version_placeholder F
 GLIBC_2.31 pthread_clockjoin_np F
-- 
2.30.2



^ permalink raw reply	[flat|nested] 24+ messages in thread

* [PATCH 04/11] nptl: Move sem_close, sem_open into libc
  2021-05-03 13:51 [PATCH 00/11] nptl: Move semaphore functions into libc Florian Weimer
                   ` (2 preceding siblings ...)
  2021-05-03 13:51 ` [PATCH 03/11] nptl: Move sem_clockwait into libc Florian Weimer
@ 2021-05-03 13:51 ` Florian Weimer
  2021-05-05 14:33   ` Adhemerval Zanella
  2021-05-03 13:51 ` [PATCH 05/11] nptl: Move sem_destroy " Florian Weimer
                   ` (6 subsequent siblings)
  10 siblings, 1 reply; 24+ messages in thread
From: Florian Weimer @ 2021-05-03 13:51 UTC (permalink / raw)
  To: libc-alpha

The symbols were moved using move-symbol-to-libc.py.

Both functions are moved at the same time because they depend
on internal functions in sysdeps/pthread/sem_routines.c, which
are moved in this commit as well.  Additional hidden prototypes
are required to avoid check-localplt failures.
---
 include/shm-directory.h                       |  1 +
 include/stdlib.h                              |  1 +
 misc/mktemp.c                                 |  1 +
 nptl/Makefile                                 |  6 +--
 nptl/Versions                                 |  8 +++-
 posix/shm-directory.c                         |  1 +
 sysdeps/pthread/sem_close.c                   | 10 ++++-
 sysdeps/pthread/sem_open.c                    | 40 +++++++++++++------
 sysdeps/pthread/sem_routines.c                | 10 ++---
 sysdeps/unix/sysv/linux/aarch64/libc.abilist  |  4 ++
 .../sysv/linux/aarch64/libpthread.abilist     |  2 -
 sysdeps/unix/sysv/linux/alpha/libc.abilist    |  4 ++
 .../unix/sysv/linux/alpha/libpthread.abilist  |  2 -
 sysdeps/unix/sysv/linux/arc/libc.abilist      |  4 ++
 .../unix/sysv/linux/arc/libpthread.abilist    |  2 -
 sysdeps/unix/sysv/linux/arm/be/libc.abilist   |  4 ++
 .../unix/sysv/linux/arm/be/libpthread.abilist |  2 -
 sysdeps/unix/sysv/linux/arm/le/libc.abilist   |  4 ++
 .../unix/sysv/linux/arm/le/libpthread.abilist |  2 -
 sysdeps/unix/sysv/linux/csky/libc.abilist     |  4 ++
 .../unix/sysv/linux/csky/libpthread.abilist   |  2 -
 sysdeps/unix/sysv/linux/hppa/libc.abilist     |  4 ++
 .../unix/sysv/linux/hppa/libpthread.abilist   |  2 -
 sysdeps/unix/sysv/linux/i386/libc.abilist     |  4 ++
 .../unix/sysv/linux/i386/libpthread.abilist   |  2 -
 sysdeps/unix/sysv/linux/ia64/libc.abilist     |  4 ++
 .../unix/sysv/linux/ia64/libpthread.abilist   |  2 -
 .../sysv/linux/m68k/coldfire/libc.abilist     |  4 ++
 .../linux/m68k/coldfire/libpthread.abilist    |  2 -
 .../unix/sysv/linux/m68k/m680x0/libc.abilist  |  4 ++
 .../sysv/linux/m68k/m680x0/libpthread.abilist |  2 -
 .../sysv/linux/microblaze/be/libc.abilist     |  4 ++
 .../linux/microblaze/be/libpthread.abilist    |  2 -
 .../sysv/linux/microblaze/le/libc.abilist     |  4 ++
 .../linux/microblaze/le/libpthread.abilist    |  2 -
 .../sysv/linux/mips/mips32/fpu/libc.abilist   |  4 ++
 .../sysv/linux/mips/mips32/libpthread.abilist |  2 -
 .../sysv/linux/mips/mips32/nofpu/libc.abilist |  4 ++
 .../sysv/linux/mips/mips64/libpthread.abilist |  2 -
 .../sysv/linux/mips/mips64/n32/libc.abilist   |  4 ++
 .../sysv/linux/mips/mips64/n64/libc.abilist   |  4 ++
 sysdeps/unix/sysv/linux/nios2/libc.abilist    |  4 ++
 .../unix/sysv/linux/nios2/libpthread.abilist  |  2 -
 .../linux/powerpc/powerpc32/fpu/libc.abilist  |  4 ++
 .../powerpc/powerpc32/libpthread.abilist      |  2 -
 .../powerpc/powerpc32/nofpu/libc.abilist      |  4 ++
 .../linux/powerpc/powerpc64/be/libc.abilist   |  4 ++
 .../powerpc/powerpc64/be/libpthread.abilist   |  2 -
 .../linux/powerpc/powerpc64/le/libc.abilist   |  4 ++
 .../powerpc/powerpc64/le/libpthread.abilist   |  2 -
 .../unix/sysv/linux/riscv/rv32/libc.abilist   |  4 ++
 .../sysv/linux/riscv/rv32/libpthread.abilist  |  2 -
 .../unix/sysv/linux/riscv/rv64/libc.abilist   |  4 ++
 .../sysv/linux/riscv/rv64/libpthread.abilist  |  2 -
 .../unix/sysv/linux/s390/s390-32/libc.abilist |  4 ++
 .../linux/s390/s390-32/libpthread.abilist     |  2 -
 .../unix/sysv/linux/s390/s390-64/libc.abilist |  4 ++
 .../linux/s390/s390-64/libpthread.abilist     |  2 -
 sysdeps/unix/sysv/linux/sh/be/libc.abilist    |  4 ++
 .../unix/sysv/linux/sh/be/libpthread.abilist  |  2 -
 sysdeps/unix/sysv/linux/sh/le/libc.abilist    |  4 ++
 .../unix/sysv/linux/sh/le/libpthread.abilist  |  2 -
 .../sysv/linux/sparc/sparc32/libc.abilist     |  4 ++
 .../linux/sparc/sparc32/libpthread.abilist    |  2 -
 .../sysv/linux/sparc/sparc64/libc.abilist     |  4 ++
 .../linux/sparc/sparc64/libpthread.abilist    |  2 -
 .../unix/sysv/linux/x86_64/64/libc.abilist    |  4 ++
 .../sysv/linux/x86_64/64/libpthread.abilist   |  2 -
 .../unix/sysv/linux/x86_64/x32/libc.abilist   |  4 ++
 .../sysv/linux/x86_64/x32/libpthread.abilist  |  2 -
 70 files changed, 182 insertions(+), 82 deletions(-)

diff --git a/include/shm-directory.h b/include/shm-directory.h
index 1d3ffb6137..25e9484a5d 100644
--- a/include/shm-directory.h
+++ b/include/shm-directory.h
@@ -37,5 +37,6 @@ struct shmdir_name
    SEM_PREFIX is true.  */
 int __shm_get_name (struct shmdir_name *result, const char *name,
 		    bool sem_prefix);
+libc_hidden_proto (__shm_get_name)
 
 #endif  /* shm-directory.h */
diff --git a/include/stdlib.h b/include/stdlib.h
index cdbdbf310d..e2453c1896 100644
--- a/include/stdlib.h
+++ b/include/stdlib.h
@@ -91,6 +91,7 @@ extern int __setenv (const char *__name, const char *__value, int __replace)
 extern int __unsetenv (const char *__name) attribute_hidden;
 extern int __clearenv (void) attribute_hidden;
 extern char *__mktemp (char *__template) __THROW __nonnull ((1));
+libc_hidden_proto (__mktemp)
 extern char *__canonicalize_file_name (const char *__name);
 extern char *__realpath (const char *__name, char *__resolved);
 libc_hidden_proto (__realpath)
diff --git a/misc/mktemp.c b/misc/mktemp.c
index 92bb121ddf..07f195f845 100644
--- a/misc/mktemp.c
+++ b/misc/mktemp.c
@@ -30,6 +30,7 @@ __mktemp (char *template)
 
   return template;
 }
+libc_hidden_def (__mktemp)
 weak_alias (__mktemp, mktemp)
 
 link_warning (mktemp, "the use of `mktemp' is dangerous, "
diff --git a/nptl/Makefile b/nptl/Makefile
index 66fd90049e..ab24222c1d 100644
--- a/nptl/Makefile
+++ b/nptl/Makefile
@@ -151,6 +151,9 @@ routines = \
   pthread_testcancel \
   pthread_yield \
   sem_clockwait \
+  sem_close \
+  sem_open \
+  sem_routines \
   tpp \
   unwind \
 
@@ -202,13 +205,10 @@ libpthread-routines = \
   pthread_sigqueue \
   pthread_timedjoin \
   pthread_tryjoin \
-  sem_close \
   sem_destroy \
   sem_getvalue \
   sem_init \
-  sem_open \
   sem_post \
-  sem_routines \
   sem_timedwait \
   sem_unlink \
   sem_wait \
diff --git a/nptl/Versions b/nptl/Versions
index 97567b6354..4a9e5a0305 100644
--- a/nptl/Versions
+++ b/nptl/Versions
@@ -81,6 +81,10 @@ libc {
     pthread_rwlockattr_setkind_np;
     pthread_rwlockattr_setpshared;
   }
+  GLIBC_2.1.1 {
+    sem_close;
+    sem_open;
+  }
   GLIBC_2.2 {
     __pthread_rwlock_destroy;
     __pthread_rwlock_init;
@@ -249,6 +253,8 @@ libc {
     pthread_spin_unlock;
     pthread_testcancel;
     sem_clockwait;
+    sem_close;
+    sem_open;
     thrd_exit;
     tss_create;
     tss_delete;
@@ -341,8 +347,6 @@ libpthread {
   }
 
   GLIBC_2.1.1 {
-    sem_close;
-    sem_open;
     sem_unlink;
   }
 
diff --git a/posix/shm-directory.c b/posix/shm-directory.c
index c06bf96aa7..5dd640ebd0 100644
--- a/posix/shm-directory.c
+++ b/posix/shm-directory.c
@@ -42,5 +42,6 @@ __shm_get_name (struct shmdir_name *result, const char *name, bool sem_prefix)
     return -1;
   return 0;
 }
+libc_hidden_def (__shm_get_name)
 
 #endif
diff --git a/sysdeps/pthread/sem_close.c b/sysdeps/pthread/sem_close.c
index 6649196cac..212848f745 100644
--- a/sysdeps/pthread/sem_close.c
+++ b/sysdeps/pthread/sem_close.c
@@ -21,7 +21,7 @@
 #include <sem_routines.h>
 
 int
-sem_close (sem_t *sem)
+__sem_close (sem_t *sem)
 {
   if (!__sem_remove_mapping (sem))
     {
@@ -31,3 +31,11 @@ sem_close (sem_t *sem)
 
   return 0;
 }
+#if PTHREAD_IN_LIBC
+versioned_symbol (libc, __sem_close, sem_close, GLIBC_2_34);
+# if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_1_1, GLIBC_2_34)
+compat_symbol (libpthread, __sem_close, sem_close, GLIBC_2_1_1);
+# endif
+#else /* !PTHREAD_IN_LIBC */
+strong_alias (__sem_close, sem_close)
+#endif
diff --git a/sysdeps/pthread/sem_open.c b/sysdeps/pthread/sem_open.c
index 0265abc45b..0185659fb9 100644
--- a/sysdeps/pthread/sem_open.c
+++ b/sysdeps/pthread/sem_open.c
@@ -27,8 +27,14 @@
 #include <futex-internal.h>
 #include <libc-lock.h>
 
+#if !PTHREAD_IN_LIBC
+/* The private names are not exported from libc.  */
+# define __link link
+# define __unlink unlink
+#endif
+
 sem_t *
-sem_open (const char *name, int oflag, ...)
+__sem_open (const char *name, int oflag, ...)
 {
   int fd;
   sem_t *result;
@@ -59,8 +65,8 @@ sem_open (const char *name, int oflag, ...)
   if ((oflag & O_CREAT) == 0 || (oflag & O_EXCL) == 0)
     {
     try_again:
-      fd = open (dirname.name,
-		 (oflag & ~(O_CREAT|O_ACCMODE)) | O_NOFOLLOW | O_RDWR);
+      fd = __open (dirname.name,
+		   (oflag & ~(O_CREAT|O_ACCMODE)) | O_NOFOLLOW | O_RDWR);
 
       if (fd == -1)
 	{
@@ -127,7 +133,7 @@ sem_open (const char *name, int oflag, ...)
 	    }
 
 	  /* Open the file.  Make sure we do not overwrite anything.  */
-	  fd = open (tmpfname, O_RDWR | O_CREAT | O_EXCL, mode);
+	  fd = __open (tmpfname, O_RDWR | O_CREAT | O_EXCL, mode);
 	  if (fd == -1)
 	    {
 	      if (errno == EEXIST)
@@ -154,15 +160,15 @@ sem_open (const char *name, int oflag, ...)
       if (TEMP_FAILURE_RETRY (write (fd, &sem.initsem, sizeof (sem_t)))
 	  == sizeof (sem_t)
 	  /* Map the sem_t structure from the file.  */
-	  && (result = (sem_t *) mmap (NULL, sizeof (sem_t),
-				       PROT_READ | PROT_WRITE, MAP_SHARED,
-				       fd, 0)) != MAP_FAILED)
+	  && (result = (sem_t *) __mmap (NULL, sizeof (sem_t),
+					 PROT_READ | PROT_WRITE, MAP_SHARED,
+					 fd, 0)) != MAP_FAILED)
 	{
 	  /* Create the file.  Don't overwrite an existing file.  */
-	  if (link (tmpfname, dirname.name) != 0)
+	  if (__link (tmpfname, dirname.name) != 0)
 	    {
 	      /* Undo the mapping.  */
-	      (void) munmap (result, sizeof (sem_t));
+	      (void) __munmap (result, sizeof (sem_t));
 
 	      /* Reinitialize 'result'.  */
 	      result = SEM_FAILED;
@@ -172,10 +178,10 @@ sem_open (const char *name, int oflag, ...)
 	      if ((oflag & O_EXCL) == 0 && errno == EEXIST)
 		{
 		  /* Remove the file.  */
-		  (void) unlink (tmpfname);
+		  (void) __unlink (tmpfname);
 
 		  /* Close the file.  */
-		  close (fd);
+		  __close (fd);
 
 		  goto try_again;
 		}
@@ -189,7 +195,7 @@ sem_open (const char *name, int oflag, ...)
 
       /* Now remove the temporary name.  This should never fail.  If
 	 it fails we leak a file name.  Better fix the kernel.  */
-      (void) unlink (tmpfname);
+      (void) __unlink (tmpfname);
     }
 
   /* Map the mmap error to the error we need.  */
@@ -201,7 +207,7 @@ sem_open (const char *name, int oflag, ...)
     {
       /* Do not disturb errno.  */
       int save = errno;
-      close (fd);
+      __close (fd);
       errno = save;
     }
 
@@ -212,3 +218,11 @@ out:
 
   return result;
 }
+#if PTHREAD_IN_LIBC
+versioned_symbol (libc, __sem_open, sem_open, GLIBC_2_34);
+# if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_1_1, GLIBC_2_34)
+compat_symbol (libpthread, __sem_open, sem_open, GLIBC_2_1_1);
+# endif
+#else /* !PTHREAD_IN_LIBC */
+strong_alias (__sem_open, sem_open)
+#endif
diff --git a/sysdeps/pthread/sem_routines.c b/sysdeps/pthread/sem_routines.c
index 34e6410729..9a78dab5d3 100644
--- a/sysdeps/pthread/sem_routines.c
+++ b/sysdeps/pthread/sem_routines.c
@@ -106,9 +106,9 @@ __sem_check_add_mapping (const char *name, int fd, sem_t *existing)
 	    {
 	      /* If the caller hasn't provided any map it now.  */
 	      if (existing == SEM_FAILED)
-		existing = (sem_t *) mmap (NULL, sizeof (sem_t),
-					   PROT_READ | PROT_WRITE, MAP_SHARED,
-					   fd, 0);
+		existing = (sem_t *) __mmap (NULL, sizeof (sem_t),
+					     PROT_READ | PROT_WRITE,
+					     MAP_SHARED, fd, 0);
 
 	      newp->dev = st.st_dev;
 	      newp->ino = st.st_ino;
@@ -136,7 +136,7 @@ __sem_check_add_mapping (const char *name, int fd, sem_t *existing)
     {
       /* Do not disturb errno.  */
       int save = errno;
-      munmap (existing, sizeof (sem_t));
+      __munmap (existing, sizeof (sem_t));
       errno = save;
     }
 
@@ -183,7 +183,7 @@ __sem_remove_mapping (sem_t *sem)
 	  /* Remove the record from the tree.  */
 	  __tdelete (rec, &sem_mappings, sem_search);
 
-	  if (munmap (rec->sem, sizeof (sem_t)) == -1)
+	  if (__munmap (rec->sem, sizeof (sem_t)) == -1)
 	    ret = false;
 
 	  free (rec);
diff --git a/sysdeps/unix/sysv/linux/aarch64/libc.abilist b/sysdeps/unix/sysv/linux/aarch64/libc.abilist
index 0f54f3fa7a..26d440e487 100644
--- a/sysdeps/unix/sysv/linux/aarch64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/aarch64/libc.abilist
@@ -1660,6 +1660,8 @@ GLIBC_2.17 seed48 F
 GLIBC_2.17 seed48_r F
 GLIBC_2.17 seekdir F
 GLIBC_2.17 select F
+GLIBC_2.17 sem_close F
+GLIBC_2.17 sem_open F
 GLIBC_2.17 semctl F
 GLIBC_2.17 semget F
 GLIBC_2.17 semop F
@@ -2347,6 +2349,8 @@ GLIBC_2.34 pthread_spin_trylock F
 GLIBC_2.34 pthread_spin_unlock F
 GLIBC_2.34 pthread_testcancel F
 GLIBC_2.34 sem_clockwait F
+GLIBC_2.34 sem_close F
+GLIBC_2.34 sem_open F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
index 0481baac9c..f8dc604dfa 100644
--- a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
@@ -39,11 +39,9 @@ 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_close F
 GLIBC_2.17 sem_destroy F
 GLIBC_2.17 sem_getvalue F
 GLIBC_2.17 sem_init F
-GLIBC_2.17 sem_open F
 GLIBC_2.17 sem_post F
 GLIBC_2.17 sem_timedwait F
 GLIBC_2.17 sem_trywait F
diff --git a/sysdeps/unix/sysv/linux/alpha/libc.abilist b/sysdeps/unix/sysv/linux/alpha/libc.abilist
index c0d38ccd38..cef9391d34 100644
--- a/sysdeps/unix/sysv/linux/alpha/libc.abilist
+++ b/sysdeps/unix/sysv/linux/alpha/libc.abilist
@@ -1721,6 +1721,8 @@ GLIBC_2.1.1 getutmp F
 GLIBC_2.1.1 getutmpx F
 GLIBC_2.1.1 imaxabs F
 GLIBC_2.1.1 imaxdiv F
+GLIBC_2.1.1 sem_close F
+GLIBC_2.1.1 sem_open F
 GLIBC_2.1.1 strchrnul F
 GLIBC_2.1.1 xdr_hyper F
 GLIBC_2.1.1 xdr_int64_t F
@@ -2428,6 +2430,8 @@ GLIBC_2.34 pthread_spin_trylock F
 GLIBC_2.34 pthread_spin_unlock F
 GLIBC_2.34 pthread_testcancel F
 GLIBC_2.34 sem_clockwait F
+GLIBC_2.34 sem_close F
+GLIBC_2.34 sem_open F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
index 86b15ad0d7..8cc7e9bc57 100644
--- a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
@@ -30,8 +30,6 @@ GLIBC_2.1 sem_init F
 GLIBC_2.1 sem_post F
 GLIBC_2.1 sem_trywait F
 GLIBC_2.1 sem_wait F
-GLIBC_2.1.1 sem_close F
-GLIBC_2.1.1 sem_open F
 GLIBC_2.1.1 sem_unlink F
 GLIBC_2.1.2 __libpthread_version_placeholder F
 GLIBC_2.11 pthread_sigqueue F
diff --git a/sysdeps/unix/sysv/linux/arc/libc.abilist b/sysdeps/unix/sysv/linux/arc/libc.abilist
index 79fad165e1..a9d30544f3 100644
--- a/sysdeps/unix/sysv/linux/arc/libc.abilist
+++ b/sysdeps/unix/sysv/linux/arc/libc.abilist
@@ -1602,6 +1602,8 @@ GLIBC_2.32 seed48_r F
 GLIBC_2.32 seekdir F
 GLIBC_2.32 select F
 GLIBC_2.32 sem_clockwait F
+GLIBC_2.32 sem_close F
+GLIBC_2.32 sem_open F
 GLIBC_2.32 semctl F
 GLIBC_2.32 semget F
 GLIBC_2.32 semop F
@@ -2106,6 +2108,8 @@ GLIBC_2.34 pthread_spin_trylock F
 GLIBC_2.34 pthread_spin_unlock F
 GLIBC_2.34 pthread_testcancel F
 GLIBC_2.34 sem_clockwait F
+GLIBC_2.34 sem_close F
+GLIBC_2.34 sem_open F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/arc/libpthread.abilist b/sysdeps/unix/sysv/linux/arc/libpthread.abilist
index f9bb47a3c5..9032472f97 100644
--- a/sysdeps/unix/sysv/linux/arc/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/arc/libpthread.abilist
@@ -42,11 +42,9 @@ 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_close F
 GLIBC_2.32 sem_destroy F
 GLIBC_2.32 sem_getvalue F
 GLIBC_2.32 sem_init F
-GLIBC_2.32 sem_open F
 GLIBC_2.32 sem_post F
 GLIBC_2.32 sem_timedwait F
 GLIBC_2.32 sem_trywait F
diff --git a/sysdeps/unix/sysv/linux/arm/be/libc.abilist b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
index 38cddc482a..637c85823b 100644
--- a/sysdeps/unix/sysv/linux/arm/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
@@ -253,6 +253,8 @@ GLIBC_2.34 pthread_spin_trylock F
 GLIBC_2.34 pthread_spin_unlock F
 GLIBC_2.34 pthread_testcancel F
 GLIBC_2.34 sem_clockwait F
+GLIBC_2.34 sem_close F
+GLIBC_2.34 sem_open F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
@@ -1838,6 +1840,8 @@ GLIBC_2.4 seed48 F
 GLIBC_2.4 seed48_r F
 GLIBC_2.4 seekdir F
 GLIBC_2.4 select F
+GLIBC_2.4 sem_close F
+GLIBC_2.4 sem_open F
 GLIBC_2.4 semctl F
 GLIBC_2.4 semget F
 GLIBC_2.4 semop F
diff --git a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
index e56c397379..4a8b77148b 100644
--- a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
@@ -47,11 +47,9 @@ 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_close F
 GLIBC_2.4 sem_destroy F
 GLIBC_2.4 sem_getvalue F
 GLIBC_2.4 sem_init F
-GLIBC_2.4 sem_open F
 GLIBC_2.4 sem_post F
 GLIBC_2.4 sem_timedwait F
 GLIBC_2.4 sem_trywait F
diff --git a/sysdeps/unix/sysv/linux/arm/le/libc.abilist b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
index 78ae8c3907..c2d82d24c3 100644
--- a/sysdeps/unix/sysv/linux/arm/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
@@ -250,6 +250,8 @@ GLIBC_2.34 pthread_spin_trylock F
 GLIBC_2.34 pthread_spin_unlock F
 GLIBC_2.34 pthread_testcancel F
 GLIBC_2.34 sem_clockwait F
+GLIBC_2.34 sem_close F
+GLIBC_2.34 sem_open F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
@@ -1835,6 +1837,8 @@ GLIBC_2.4 seed48 F
 GLIBC_2.4 seed48_r F
 GLIBC_2.4 seekdir F
 GLIBC_2.4 select F
+GLIBC_2.4 sem_close F
+GLIBC_2.4 sem_open F
 GLIBC_2.4 semctl F
 GLIBC_2.4 semget F
 GLIBC_2.4 semop F
diff --git a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
index e56c397379..4a8b77148b 100644
--- a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
@@ -47,11 +47,9 @@ 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_close F
 GLIBC_2.4 sem_destroy F
 GLIBC_2.4 sem_getvalue F
 GLIBC_2.4 sem_init F
-GLIBC_2.4 sem_open F
 GLIBC_2.4 sem_post F
 GLIBC_2.4 sem_timedwait F
 GLIBC_2.4 sem_trywait F
diff --git a/sysdeps/unix/sysv/linux/csky/libc.abilist b/sysdeps/unix/sysv/linux/csky/libc.abilist
index 66dae5ded1..de4c614097 100644
--- a/sysdeps/unix/sysv/linux/csky/libc.abilist
+++ b/sysdeps/unix/sysv/linux/csky/libc.abilist
@@ -1663,6 +1663,8 @@ GLIBC_2.29 seed48 F
 GLIBC_2.29 seed48_r F
 GLIBC_2.29 seekdir F
 GLIBC_2.29 select F
+GLIBC_2.29 sem_close F
+GLIBC_2.29 sem_open F
 GLIBC_2.29 semctl F
 GLIBC_2.29 semget F
 GLIBC_2.29 semop F
@@ -2290,6 +2292,8 @@ GLIBC_2.34 pthread_spin_trylock F
 GLIBC_2.34 pthread_spin_unlock F
 GLIBC_2.34 pthread_testcancel F
 GLIBC_2.34 sem_clockwait F
+GLIBC_2.34 sem_close F
+GLIBC_2.34 sem_open F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/csky/libpthread.abilist b/sysdeps/unix/sysv/linux/csky/libpthread.abilist
index 6fd5e8061a..b16ffe2dd8 100644
--- a/sysdeps/unix/sysv/linux/csky/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/csky/libpthread.abilist
@@ -41,11 +41,9 @@ 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_close F
 GLIBC_2.29 sem_destroy F
 GLIBC_2.29 sem_getvalue F
 GLIBC_2.29 sem_init F
-GLIBC_2.29 sem_open F
 GLIBC_2.29 sem_post F
 GLIBC_2.29 sem_timedwait F
 GLIBC_2.29 sem_trywait F
diff --git a/sysdeps/unix/sysv/linux/hppa/libc.abilist b/sysdeps/unix/sysv/linux/hppa/libc.abilist
index 46875d7402..83bb694e02 100644
--- a/sysdeps/unix/sysv/linux/hppa/libc.abilist
+++ b/sysdeps/unix/sysv/linux/hppa/libc.abilist
@@ -1452,6 +1452,8 @@ GLIBC_2.2 seed48 F
 GLIBC_2.2 seed48_r F
 GLIBC_2.2 seekdir F
 GLIBC_2.2 select F
+GLIBC_2.2 sem_close F
+GLIBC_2.2 sem_open F
 GLIBC_2.2 semctl F
 GLIBC_2.2 semget F
 GLIBC_2.2 semop F
@@ -2241,6 +2243,8 @@ GLIBC_2.34 pthread_spin_trylock F
 GLIBC_2.34 pthread_spin_unlock F
 GLIBC_2.34 pthread_testcancel F
 GLIBC_2.34 sem_clockwait F
+GLIBC_2.34 sem_close F
+GLIBC_2.34 sem_open F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
index c6e9eee45b..c07e43ba36 100644
--- a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
@@ -31,11 +31,9 @@ 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_close F
 GLIBC_2.2 sem_destroy F
 GLIBC_2.2 sem_getvalue F
 GLIBC_2.2 sem_init F
-GLIBC_2.2 sem_open F
 GLIBC_2.2 sem_post F
 GLIBC_2.2 sem_timedwait F
 GLIBC_2.2 sem_trywait F
diff --git a/sysdeps/unix/sysv/linux/i386/libc.abilist b/sysdeps/unix/sysv/linux/i386/libc.abilist
index 5d8ca2e122..361856e177 100644
--- a/sysdeps/unix/sysv/linux/i386/libc.abilist
+++ b/sysdeps/unix/sysv/linux/i386/libc.abilist
@@ -1727,6 +1727,8 @@ GLIBC_2.1.1 getutmp F
 GLIBC_2.1.1 getutmpx F
 GLIBC_2.1.1 imaxabs F
 GLIBC_2.1.1 imaxdiv F
+GLIBC_2.1.1 sem_close F
+GLIBC_2.1.1 sem_open F
 GLIBC_2.1.1 strchrnul F
 GLIBC_2.1.1 xdr_hyper F
 GLIBC_2.1.1 xdr_int64_t F
@@ -2418,6 +2420,8 @@ GLIBC_2.34 pthread_spin_trylock F
 GLIBC_2.34 pthread_spin_unlock F
 GLIBC_2.34 pthread_testcancel F
 GLIBC_2.34 sem_clockwait F
+GLIBC_2.34 sem_close F
+GLIBC_2.34 sem_open F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/i386/libpthread.abilist b/sysdeps/unix/sysv/linux/i386/libpthread.abilist
index 30bc064058..be013d96e2 100644
--- a/sysdeps/unix/sysv/linux/i386/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/i386/libpthread.abilist
@@ -30,8 +30,6 @@ GLIBC_2.1 sem_init F
 GLIBC_2.1 sem_post F
 GLIBC_2.1 sem_trywait F
 GLIBC_2.1 sem_wait F
-GLIBC_2.1.1 sem_close F
-GLIBC_2.1.1 sem_open F
 GLIBC_2.1.1 sem_unlink F
 GLIBC_2.1.2 __libpthread_version_placeholder F
 GLIBC_2.11 pthread_sigqueue F
diff --git a/sysdeps/unix/sysv/linux/ia64/libc.abilist b/sysdeps/unix/sysv/linux/ia64/libc.abilist
index c14a38e14c..9be17c7672 100644
--- a/sysdeps/unix/sysv/linux/ia64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/ia64/libc.abilist
@@ -1473,6 +1473,8 @@ GLIBC_2.2 seed48 F
 GLIBC_2.2 seed48_r F
 GLIBC_2.2 seekdir F
 GLIBC_2.2 select F
+GLIBC_2.2 sem_close F
+GLIBC_2.2 sem_open F
 GLIBC_2.2 semctl F
 GLIBC_2.2 semget F
 GLIBC_2.2 semop F
@@ -2275,6 +2277,8 @@ GLIBC_2.34 pthread_spin_trylock F
 GLIBC_2.34 pthread_spin_unlock F
 GLIBC_2.34 pthread_testcancel F
 GLIBC_2.34 sem_clockwait F
+GLIBC_2.34 sem_close F
+GLIBC_2.34 sem_open F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
index 6f15ac3cb1..42c7615f64 100644
--- a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
@@ -31,11 +31,9 @@ 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_close F
 GLIBC_2.2 sem_destroy F
 GLIBC_2.2 sem_getvalue F
 GLIBC_2.2 sem_init F
-GLIBC_2.2 sem_open F
 GLIBC_2.2 sem_post F
 GLIBC_2.2 sem_timedwait F
 GLIBC_2.2 sem_trywait F
diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
index aabed7c366..8ded141557 100644
--- a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
@@ -254,6 +254,8 @@ GLIBC_2.34 pthread_spin_trylock F
 GLIBC_2.34 pthread_spin_unlock F
 GLIBC_2.34 pthread_testcancel F
 GLIBC_2.34 sem_clockwait F
+GLIBC_2.34 sem_close F
+GLIBC_2.34 sem_open F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
@@ -1818,6 +1820,8 @@ GLIBC_2.4 seed48 F
 GLIBC_2.4 seed48_r F
 GLIBC_2.4 seekdir F
 GLIBC_2.4 select F
+GLIBC_2.4 sem_close F
+GLIBC_2.4 sem_open F
 GLIBC_2.4 semctl F
 GLIBC_2.4 semget F
 GLIBC_2.4 semop F
diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
index e56c397379..4a8b77148b 100644
--- a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
@@ -47,11 +47,9 @@ 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_close F
 GLIBC_2.4 sem_destroy F
 GLIBC_2.4 sem_getvalue F
 GLIBC_2.4 sem_init F
-GLIBC_2.4 sem_open F
 GLIBC_2.4 sem_post F
 GLIBC_2.4 sem_timedwait F
 GLIBC_2.4 sem_trywait F
diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
index 4a3b9f25fa..e8a006c424 100644
--- a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
@@ -1683,6 +1683,8 @@ GLIBC_2.1.1 getutmp F
 GLIBC_2.1.1 getutmpx F
 GLIBC_2.1.1 imaxabs F
 GLIBC_2.1.1 imaxdiv F
+GLIBC_2.1.1 sem_close F
+GLIBC_2.1.1 sem_open F
 GLIBC_2.1.1 strchrnul F
 GLIBC_2.1.1 xdr_hyper F
 GLIBC_2.1.1 xdr_int64_t F
@@ -2361,6 +2363,8 @@ GLIBC_2.34 pthread_spin_trylock F
 GLIBC_2.34 pthread_spin_unlock F
 GLIBC_2.34 pthread_testcancel F
 GLIBC_2.34 sem_clockwait F
+GLIBC_2.34 sem_close F
+GLIBC_2.34 sem_open F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
index 30bc064058..be013d96e2 100644
--- a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
@@ -30,8 +30,6 @@ GLIBC_2.1 sem_init F
 GLIBC_2.1 sem_post F
 GLIBC_2.1 sem_trywait F
 GLIBC_2.1 sem_wait F
-GLIBC_2.1.1 sem_close F
-GLIBC_2.1.1 sem_open F
 GLIBC_2.1.1 sem_unlink F
 GLIBC_2.1.2 __libpthread_version_placeholder F
 GLIBC_2.11 pthread_sigqueue F
diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
index 82ac489f32..a4907fad02 100644
--- a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
@@ -1662,6 +1662,8 @@ GLIBC_2.18 seed48 F
 GLIBC_2.18 seed48_r F
 GLIBC_2.18 seekdir F
 GLIBC_2.18 select F
+GLIBC_2.18 sem_close F
+GLIBC_2.18 sem_open F
 GLIBC_2.18 semctl F
 GLIBC_2.18 semget F
 GLIBC_2.18 semop F
@@ -2341,6 +2343,8 @@ GLIBC_2.34 pthread_spin_trylock F
 GLIBC_2.34 pthread_spin_unlock F
 GLIBC_2.34 pthread_testcancel F
 GLIBC_2.34 sem_clockwait F
+GLIBC_2.34 sem_close F
+GLIBC_2.34 sem_open F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
index 703310b8dd..8b3ddcbda9 100644
--- a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
@@ -41,11 +41,9 @@ 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_close F
 GLIBC_2.18 sem_destroy F
 GLIBC_2.18 sem_getvalue F
 GLIBC_2.18 sem_init F
-GLIBC_2.18 sem_open F
 GLIBC_2.18 sem_post F
 GLIBC_2.18 sem_timedwait F
 GLIBC_2.18 sem_trywait F
diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
index 3ec2794b5b..c5282a3fd1 100644
--- a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
@@ -1662,6 +1662,8 @@ GLIBC_2.18 seed48 F
 GLIBC_2.18 seed48_r F
 GLIBC_2.18 seekdir F
 GLIBC_2.18 select F
+GLIBC_2.18 sem_close F
+GLIBC_2.18 sem_open F
 GLIBC_2.18 semctl F
 GLIBC_2.18 semget F
 GLIBC_2.18 semop F
@@ -2338,6 +2340,8 @@ GLIBC_2.34 pthread_spin_trylock F
 GLIBC_2.34 pthread_spin_unlock F
 GLIBC_2.34 pthread_testcancel F
 GLIBC_2.34 sem_clockwait F
+GLIBC_2.34 sem_close F
+GLIBC_2.34 sem_open F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
index 703310b8dd..8b3ddcbda9 100644
--- a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
@@ -41,11 +41,9 @@ 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_close F
 GLIBC_2.18 sem_destroy F
 GLIBC_2.18 sem_getvalue F
 GLIBC_2.18 sem_init F
-GLIBC_2.18 sem_open F
 GLIBC_2.18 sem_post F
 GLIBC_2.18 sem_timedwait F
 GLIBC_2.18 sem_trywait F
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
index ff623c22f3..a6fb6ac493 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
@@ -1888,6 +1888,8 @@ GLIBC_2.2 rresvport_af F
 GLIBC_2.2 rtime F
 GLIBC_2.2 ruserok_af F
 GLIBC_2.2 scandir64 F
+GLIBC_2.2 sem_close F
+GLIBC_2.2 sem_open F
 GLIBC_2.2 semctl F
 GLIBC_2.2 sendfile F
 GLIBC_2.2 setrlimit64 F
@@ -2324,6 +2326,8 @@ GLIBC_2.34 pthread_spin_trylock F
 GLIBC_2.34 pthread_spin_unlock F
 GLIBC_2.34 pthread_testcancel F
 GLIBC_2.34 sem_clockwait F
+GLIBC_2.34 sem_close F
+GLIBC_2.34 sem_open F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
index 8444fb5280..d79cc95dfd 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
@@ -38,11 +38,9 @@ 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_close F
 GLIBC_2.2 sem_destroy F
 GLIBC_2.2 sem_getvalue F
 GLIBC_2.2 sem_init F
-GLIBC_2.2 sem_open F
 GLIBC_2.2 sem_post F
 GLIBC_2.2 sem_timedwait F
 GLIBC_2.2 sem_trywait F
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
index 6cecd92386..abfe1226b1 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
@@ -1886,6 +1886,8 @@ GLIBC_2.2 rresvport_af F
 GLIBC_2.2 rtime F
 GLIBC_2.2 ruserok_af F
 GLIBC_2.2 scandir64 F
+GLIBC_2.2 sem_close F
+GLIBC_2.2 sem_open F
 GLIBC_2.2 semctl F
 GLIBC_2.2 sendfile F
 GLIBC_2.2 setrlimit64 F
@@ -2322,6 +2324,8 @@ GLIBC_2.34 pthread_spin_trylock F
 GLIBC_2.34 pthread_spin_unlock F
 GLIBC_2.34 pthread_testcancel F
 GLIBC_2.34 sem_clockwait F
+GLIBC_2.34 sem_close F
+GLIBC_2.34 sem_open F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
index 8444fb5280..d79cc95dfd 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
@@ -38,11 +38,9 @@ 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_close F
 GLIBC_2.2 sem_destroy F
 GLIBC_2.2 sem_getvalue F
 GLIBC_2.2 sem_init F
-GLIBC_2.2 sem_open F
 GLIBC_2.2 sem_post F
 GLIBC_2.2 sem_timedwait F
 GLIBC_2.2 sem_trywait F
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
index 858fa17010..30851df44a 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
@@ -1886,6 +1886,8 @@ GLIBC_2.2 rresvport_af F
 GLIBC_2.2 rtime F
 GLIBC_2.2 ruserok_af F
 GLIBC_2.2 scandir64 F
+GLIBC_2.2 sem_close F
+GLIBC_2.2 sem_open F
 GLIBC_2.2 sendfile F
 GLIBC_2.2 setrlimit64 F
 GLIBC_2.2 setutxent F
@@ -2330,6 +2332,8 @@ GLIBC_2.34 pthread_spin_trylock F
 GLIBC_2.34 pthread_spin_unlock F
 GLIBC_2.34 pthread_testcancel F
 GLIBC_2.34 sem_clockwait F
+GLIBC_2.34 sem_close F
+GLIBC_2.34 sem_open F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
index 5c72417ee3..81d37d6322 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
@@ -1882,6 +1882,8 @@ GLIBC_2.2 rresvport_af F
 GLIBC_2.2 rtime F
 GLIBC_2.2 ruserok_af F
 GLIBC_2.2 scandir64 F
+GLIBC_2.2 sem_close F
+GLIBC_2.2 sem_open F
 GLIBC_2.2 sendfile F
 GLIBC_2.2 setrlimit64 F
 GLIBC_2.2 setutxent F
@@ -2324,6 +2326,8 @@ GLIBC_2.34 pthread_spin_trylock F
 GLIBC_2.34 pthread_spin_unlock F
 GLIBC_2.34 pthread_testcancel F
 GLIBC_2.34 sem_clockwait F
+GLIBC_2.34 sem_close F
+GLIBC_2.34 sem_open F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/nios2/libc.abilist b/sysdeps/unix/sysv/linux/nios2/libc.abilist
index b9cd5703da..a5dbb107db 100644
--- a/sysdeps/unix/sysv/linux/nios2/libc.abilist
+++ b/sysdeps/unix/sysv/linux/nios2/libc.abilist
@@ -1705,6 +1705,8 @@ GLIBC_2.21 seed48 F
 GLIBC_2.21 seed48_r F
 GLIBC_2.21 seekdir F
 GLIBC_2.21 select F
+GLIBC_2.21 sem_close F
+GLIBC_2.21 sem_open F
 GLIBC_2.21 semctl F
 GLIBC_2.21 semget F
 GLIBC_2.21 semop F
@@ -2380,6 +2382,8 @@ GLIBC_2.34 pthread_spin_trylock F
 GLIBC_2.34 pthread_spin_unlock F
 GLIBC_2.34 pthread_testcancel F
 GLIBC_2.34 sem_clockwait F
+GLIBC_2.34 sem_close F
+GLIBC_2.34 sem_open F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
index 6e4845723f..e8f9bdeef4 100644
--- a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
@@ -41,11 +41,9 @@ 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_close F
 GLIBC_2.21 sem_destroy F
 GLIBC_2.21 sem_getvalue F
 GLIBC_2.21 sem_init F
-GLIBC_2.21 sem_open F
 GLIBC_2.21 sem_post F
 GLIBC_2.21 sem_timedwait F
 GLIBC_2.21 sem_trywait F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
index 2384127281..9f512cfe62 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
@@ -1688,6 +1688,8 @@ GLIBC_2.1.1 getutmp F
 GLIBC_2.1.1 getutmpx F
 GLIBC_2.1.1 imaxabs F
 GLIBC_2.1.1 imaxdiv F
+GLIBC_2.1.1 sem_close F
+GLIBC_2.1.1 sem_open F
 GLIBC_2.1.1 strchrnul F
 GLIBC_2.1.1 xdr_hyper F
 GLIBC_2.1.1 xdr_int64_t F
@@ -2388,6 +2390,8 @@ GLIBC_2.34 pthread_spin_trylock F
 GLIBC_2.34 pthread_spin_unlock F
 GLIBC_2.34 pthread_testcancel F
 GLIBC_2.34 sem_clockwait F
+GLIBC_2.34 sem_close F
+GLIBC_2.34 sem_open F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
index 2614e1e6b9..31ef39020a 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
@@ -30,8 +30,6 @@ GLIBC_2.1 sem_init F
 GLIBC_2.1 sem_post F
 GLIBC_2.1 sem_trywait F
 GLIBC_2.1 sem_wait F
-GLIBC_2.1.1 sem_close F
-GLIBC_2.1.1 sem_open F
 GLIBC_2.1.1 sem_unlink F
 GLIBC_2.1.2 __libpthread_version_placeholder F
 GLIBC_2.11 pthread_sigqueue F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
index ce47bd3777..99aad58eaa 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
@@ -1688,6 +1688,8 @@ GLIBC_2.1.1 getutmp F
 GLIBC_2.1.1 getutmpx F
 GLIBC_2.1.1 imaxabs F
 GLIBC_2.1.1 imaxdiv F
+GLIBC_2.1.1 sem_close F
+GLIBC_2.1.1 sem_open F
 GLIBC_2.1.1 strchrnul F
 GLIBC_2.1.1 xdr_hyper F
 GLIBC_2.1.1 xdr_int64_t F
@@ -2421,6 +2423,8 @@ GLIBC_2.34 pthread_spin_trylock F
 GLIBC_2.34 pthread_spin_unlock F
 GLIBC_2.34 pthread_testcancel F
 GLIBC_2.34 sem_clockwait F
+GLIBC_2.34 sem_close F
+GLIBC_2.34 sem_open F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
index 1be222ec73..466f6b5d7b 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
@@ -1577,6 +1577,8 @@ GLIBC_2.3 seed48 F
 GLIBC_2.3 seed48_r F
 GLIBC_2.3 seekdir F
 GLIBC_2.3 select F
+GLIBC_2.3 sem_close F
+GLIBC_2.3 sem_open F
 GLIBC_2.3 semctl F
 GLIBC_2.3 semget F
 GLIBC_2.3 semop F
@@ -2242,6 +2244,8 @@ GLIBC_2.34 pthread_spin_trylock F
 GLIBC_2.34 pthread_spin_unlock F
 GLIBC_2.34 pthread_testcancel F
 GLIBC_2.34 sem_clockwait F
+GLIBC_2.34 sem_close F
+GLIBC_2.34 sem_open F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
index af39b79df0..02c32b9aa6 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
@@ -34,11 +34,9 @@ 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_close F
 GLIBC_2.3 sem_destroy F
 GLIBC_2.3 sem_getvalue F
 GLIBC_2.3 sem_init F
-GLIBC_2.3 sem_open F
 GLIBC_2.3 sem_post F
 GLIBC_2.3 sem_timedwait F
 GLIBC_2.3 sem_trywait F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
index 26de7bc08f..b1a2922377 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
@@ -1748,6 +1748,8 @@ GLIBC_2.17 seed48 F
 GLIBC_2.17 seed48_r F
 GLIBC_2.17 seekdir F
 GLIBC_2.17 select F
+GLIBC_2.17 sem_close F
+GLIBC_2.17 sem_open F
 GLIBC_2.17 semctl F
 GLIBC_2.17 semget F
 GLIBC_2.17 semop F
@@ -2543,6 +2545,8 @@ GLIBC_2.34 pthread_spin_trylock F
 GLIBC_2.34 pthread_spin_unlock F
 GLIBC_2.34 pthread_testcancel F
 GLIBC_2.34 sem_clockwait F
+GLIBC_2.34 sem_close F
+GLIBC_2.34 sem_open F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
index 0481baac9c..f8dc604dfa 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
@@ -39,11 +39,9 @@ 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_close F
 GLIBC_2.17 sem_destroy F
 GLIBC_2.17 sem_getvalue F
 GLIBC_2.17 sem_init F
-GLIBC_2.17 sem_open F
 GLIBC_2.17 sem_post F
 GLIBC_2.17 sem_timedwait F
 GLIBC_2.17 sem_trywait F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
index 423a563d6a..7ed6c10b7c 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
@@ -1604,6 +1604,8 @@ GLIBC_2.33 seed48_r F
 GLIBC_2.33 seekdir F
 GLIBC_2.33 select F
 GLIBC_2.33 sem_clockwait F
+GLIBC_2.33 sem_close F
+GLIBC_2.33 sem_open F
 GLIBC_2.33 semctl F
 GLIBC_2.33 semget F
 GLIBC_2.33 semop F
@@ -2108,6 +2110,8 @@ GLIBC_2.34 pthread_spin_trylock F
 GLIBC_2.34 pthread_spin_unlock F
 GLIBC_2.34 pthread_testcancel F
 GLIBC_2.34 sem_clockwait F
+GLIBC_2.34 sem_close F
+GLIBC_2.34 sem_open F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
index 2c05fed5de..1a87403132 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
@@ -42,11 +42,9 @@ 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_close F
 GLIBC_2.33 sem_destroy F
 GLIBC_2.33 sem_getvalue F
 GLIBC_2.33 sem_init F
-GLIBC_2.33 sem_open F
 GLIBC_2.33 sem_post F
 GLIBC_2.33 sem_timedwait F
 GLIBC_2.33 sem_trywait F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
index 04e587b23c..a0f5d0f988 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
@@ -1652,6 +1652,8 @@ GLIBC_2.27 seed48 F
 GLIBC_2.27 seed48_r F
 GLIBC_2.27 seekdir F
 GLIBC_2.27 select F
+GLIBC_2.27 sem_close F
+GLIBC_2.27 sem_open F
 GLIBC_2.27 semctl F
 GLIBC_2.27 semget F
 GLIBC_2.27 semop F
@@ -2308,6 +2310,8 @@ GLIBC_2.34 pthread_spin_trylock F
 GLIBC_2.34 pthread_spin_unlock F
 GLIBC_2.34 pthread_testcancel F
 GLIBC_2.34 sem_clockwait F
+GLIBC_2.34 sem_close F
+GLIBC_2.34 sem_open F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
index 24c1fc45ce..122cb26879 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
@@ -41,11 +41,9 @@ 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_close F
 GLIBC_2.27 sem_destroy F
 GLIBC_2.27 sem_getvalue F
 GLIBC_2.27 sem_init F
-GLIBC_2.27 sem_open F
 GLIBC_2.27 sem_post F
 GLIBC_2.27 sem_timedwait F
 GLIBC_2.27 sem_trywait F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
index 7b269ae840..f2a59ab190 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
@@ -1680,6 +1680,8 @@ GLIBC_2.1.1 getutmp F
 GLIBC_2.1.1 getutmpx F
 GLIBC_2.1.1 imaxabs F
 GLIBC_2.1.1 imaxdiv F
+GLIBC_2.1.1 sem_close F
+GLIBC_2.1.1 sem_open F
 GLIBC_2.1.1 strchrnul F
 GLIBC_2.1.1 xdr_hyper F
 GLIBC_2.1.1 xdr_int64_t F
@@ -2386,6 +2388,8 @@ GLIBC_2.34 pthread_spin_trylock F
 GLIBC_2.34 pthread_spin_unlock F
 GLIBC_2.34 pthread_testcancel F
 GLIBC_2.34 sem_clockwait F
+GLIBC_2.34 sem_close F
+GLIBC_2.34 sem_open F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
index 17893bf306..a6adbf2c0c 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
@@ -30,8 +30,6 @@ GLIBC_2.1 sem_init F
 GLIBC_2.1 sem_post F
 GLIBC_2.1 sem_trywait F
 GLIBC_2.1 sem_wait F
-GLIBC_2.1.1 sem_close F
-GLIBC_2.1.1 sem_open F
 GLIBC_2.1.1 sem_unlink F
 GLIBC_2.1.2 __libpthread_version_placeholder F
 GLIBC_2.11 pthread_sigqueue F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
index c2af5d0ece..232d00b8af 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
@@ -1470,6 +1470,8 @@ GLIBC_2.2 seed48 F
 GLIBC_2.2 seed48_r F
 GLIBC_2.2 seekdir F
 GLIBC_2.2 select F
+GLIBC_2.2 sem_close F
+GLIBC_2.2 sem_open F
 GLIBC_2.2 semctl F
 GLIBC_2.2 semget F
 GLIBC_2.2 semop F
@@ -2279,6 +2281,8 @@ GLIBC_2.34 pthread_spin_trylock F
 GLIBC_2.34 pthread_spin_unlock F
 GLIBC_2.34 pthread_testcancel F
 GLIBC_2.34 sem_clockwait F
+GLIBC_2.34 sem_close F
+GLIBC_2.34 sem_open F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
index 3f42d9dcc5..6b6f17b0dd 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
@@ -32,11 +32,9 @@ 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_close F
 GLIBC_2.2 sem_destroy F
 GLIBC_2.2 sem_getvalue F
 GLIBC_2.2 sem_init F
-GLIBC_2.2 sem_open F
 GLIBC_2.2 sem_post F
 GLIBC_2.2 sem_timedwait F
 GLIBC_2.2 sem_trywait F
diff --git a/sysdeps/unix/sysv/linux/sh/be/libc.abilist b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
index 00ea530f98..e4eb7c0042 100644
--- a/sysdeps/unix/sysv/linux/sh/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
@@ -1456,6 +1456,8 @@ GLIBC_2.2 seed48 F
 GLIBC_2.2 seed48_r F
 GLIBC_2.2 seekdir F
 GLIBC_2.2 select F
+GLIBC_2.2 sem_close F
+GLIBC_2.2 sem_open F
 GLIBC_2.2 semctl F
 GLIBC_2.2 semget F
 GLIBC_2.2 semop F
@@ -2248,6 +2250,8 @@ GLIBC_2.34 pthread_spin_trylock F
 GLIBC_2.34 pthread_spin_unlock F
 GLIBC_2.34 pthread_testcancel F
 GLIBC_2.34 sem_clockwait F
+GLIBC_2.34 sem_close F
+GLIBC_2.34 sem_open F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
index c6e9eee45b..c07e43ba36 100644
--- a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
@@ -31,11 +31,9 @@ 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_close F
 GLIBC_2.2 sem_destroy F
 GLIBC_2.2 sem_getvalue F
 GLIBC_2.2 sem_init F
-GLIBC_2.2 sem_open F
 GLIBC_2.2 sem_post F
 GLIBC_2.2 sem_timedwait F
 GLIBC_2.2 sem_trywait F
diff --git a/sysdeps/unix/sysv/linux/sh/le/libc.abilist b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
index ea92a1c366..2a019d5f89 100644
--- a/sysdeps/unix/sysv/linux/sh/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
@@ -1456,6 +1456,8 @@ GLIBC_2.2 seed48 F
 GLIBC_2.2 seed48_r F
 GLIBC_2.2 seekdir F
 GLIBC_2.2 select F
+GLIBC_2.2 sem_close F
+GLIBC_2.2 sem_open F
 GLIBC_2.2 semctl F
 GLIBC_2.2 semget F
 GLIBC_2.2 semop F
@@ -2245,6 +2247,8 @@ GLIBC_2.34 pthread_spin_trylock F
 GLIBC_2.34 pthread_spin_unlock F
 GLIBC_2.34 pthread_testcancel F
 GLIBC_2.34 sem_clockwait F
+GLIBC_2.34 sem_close F
+GLIBC_2.34 sem_open F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
index c6e9eee45b..c07e43ba36 100644
--- a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
@@ -31,11 +31,9 @@ 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_close F
 GLIBC_2.2 sem_destroy F
 GLIBC_2.2 sem_getvalue F
 GLIBC_2.2 sem_init F
-GLIBC_2.2 sem_open F
 GLIBC_2.2 sem_post F
 GLIBC_2.2 sem_timedwait F
 GLIBC_2.2 sem_trywait F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
index f0d5866658..a0e6b25aeb 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
@@ -1681,6 +1681,8 @@ GLIBC_2.1.1 getutmp F
 GLIBC_2.1.1 getutmpx F
 GLIBC_2.1.1 imaxabs F
 GLIBC_2.1.1 imaxdiv F
+GLIBC_2.1.1 sem_close F
+GLIBC_2.1.1 sem_open F
 GLIBC_2.1.1 strchrnul F
 GLIBC_2.1.1 xdr_hyper F
 GLIBC_2.1.1 xdr_int64_t F
@@ -2377,6 +2379,8 @@ GLIBC_2.34 pthread_spin_trylock F
 GLIBC_2.34 pthread_spin_unlock F
 GLIBC_2.34 pthread_testcancel F
 GLIBC_2.34 sem_clockwait F
+GLIBC_2.34 sem_close F
+GLIBC_2.34 sem_open F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
index 86b15ad0d7..8cc7e9bc57 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
@@ -30,8 +30,6 @@ GLIBC_2.1 sem_init F
 GLIBC_2.1 sem_post F
 GLIBC_2.1 sem_trywait F
 GLIBC_2.1 sem_wait F
-GLIBC_2.1.1 sem_close F
-GLIBC_2.1.1 sem_open F
 GLIBC_2.1.1 sem_unlink F
 GLIBC_2.1.2 __libpthread_version_placeholder F
 GLIBC_2.11 pthread_sigqueue F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
index da0c9e1e86..f836c0c88b 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
@@ -1499,6 +1499,8 @@ GLIBC_2.2 seed48 F
 GLIBC_2.2 seed48_r F
 GLIBC_2.2 seekdir F
 GLIBC_2.2 select F
+GLIBC_2.2 sem_close F
+GLIBC_2.2 sem_open F
 GLIBC_2.2 semctl F
 GLIBC_2.2 semget F
 GLIBC_2.2 semop F
@@ -2296,6 +2298,8 @@ GLIBC_2.34 pthread_spin_trylock F
 GLIBC_2.34 pthread_spin_unlock F
 GLIBC_2.34 pthread_testcancel F
 GLIBC_2.34 sem_clockwait F
+GLIBC_2.34 sem_close F
+GLIBC_2.34 sem_open F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
index 6f15ac3cb1..42c7615f64 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
@@ -31,11 +31,9 @@ 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_close F
 GLIBC_2.2 sem_destroy F
 GLIBC_2.2 sem_getvalue F
 GLIBC_2.2 sem_init F
-GLIBC_2.2 sem_open F
 GLIBC_2.2 sem_post F
 GLIBC_2.2 sem_timedwait F
 GLIBC_2.2 sem_trywait F
diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
index 33b4b7a121..8c48f6fbd0 100644
--- a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
@@ -1467,6 +1467,8 @@ GLIBC_2.2.5 seed48 F
 GLIBC_2.2.5 seed48_r F
 GLIBC_2.2.5 seekdir F
 GLIBC_2.2.5 select F
+GLIBC_2.2.5 sem_close F
+GLIBC_2.2.5 sem_open F
 GLIBC_2.2.5 semctl F
 GLIBC_2.2.5 semget F
 GLIBC_2.2.5 semop F
@@ -2257,6 +2259,8 @@ GLIBC_2.34 pthread_spin_trylock F
 GLIBC_2.34 pthread_spin_unlock F
 GLIBC_2.34 pthread_testcancel F
 GLIBC_2.34 sem_clockwait F
+GLIBC_2.34 sem_close F
+GLIBC_2.34 sem_open F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
index 3516798f9a..9a98ac62d7 100644
--- a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
@@ -31,11 +31,9 @@ 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_close F
 GLIBC_2.2.5 sem_destroy F
 GLIBC_2.2.5 sem_getvalue F
 GLIBC_2.2.5 sem_init F
-GLIBC_2.2.5 sem_open F
 GLIBC_2.2.5 sem_post F
 GLIBC_2.2.5 sem_timedwait F
 GLIBC_2.2.5 sem_trywait F
diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
index 0a1215efeb..f96ad30cef 100644
--- a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
@@ -1666,6 +1666,8 @@ GLIBC_2.16 seed48 F
 GLIBC_2.16 seed48_r F
 GLIBC_2.16 seekdir F
 GLIBC_2.16 select F
+GLIBC_2.16 sem_close F
+GLIBC_2.16 sem_open F
 GLIBC_2.16 semctl F
 GLIBC_2.16 semget F
 GLIBC_2.16 semop F
@@ -2362,6 +2364,8 @@ GLIBC_2.34 pthread_spin_trylock F
 GLIBC_2.34 pthread_spin_unlock F
 GLIBC_2.34 pthread_testcancel F
 GLIBC_2.34 sem_clockwait F
+GLIBC_2.34 sem_close F
+GLIBC_2.34 sem_open F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
index b2c9bca89c..025b02f3de 100644
--- a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
@@ -39,11 +39,9 @@ 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_close F
 GLIBC_2.16 sem_destroy F
 GLIBC_2.16 sem_getvalue F
 GLIBC_2.16 sem_init F
-GLIBC_2.16 sem_open F
 GLIBC_2.16 sem_post F
 GLIBC_2.16 sem_timedwait F
 GLIBC_2.16 sem_trywait F
-- 
2.30.2



^ permalink raw reply	[flat|nested] 24+ messages in thread

* [PATCH 05/11] nptl: Move sem_destroy into libc
  2021-05-03 13:51 [PATCH 00/11] nptl: Move semaphore functions into libc Florian Weimer
                   ` (3 preceding siblings ...)
  2021-05-03 13:51 ` [PATCH 04/11] nptl: Move sem_close, sem_open " Florian Weimer
@ 2021-05-03 13:51 ` Florian Weimer
  2021-05-05 14:35   ` Adhemerval Zanella
  2021-05-03 13:51 ` [PATCH 06/11] nptl: Move sem_getvalue " Florian Weimer
                   ` (5 subsequent siblings)
  10 siblings, 1 reply; 24+ messages in thread
From: Florian Weimer @ 2021-05-03 13:51 UTC (permalink / raw)
  To: libc-alpha

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

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



^ permalink raw reply	[flat|nested] 24+ messages in thread

* [PATCH 06/11] nptl: Move sem_getvalue into libc
  2021-05-03 13:51 [PATCH 00/11] nptl: Move semaphore functions into libc Florian Weimer
                   ` (4 preceding siblings ...)
  2021-05-03 13:51 ` [PATCH 05/11] nptl: Move sem_destroy " Florian Weimer
@ 2021-05-03 13:51 ` Florian Weimer
  2021-05-05 14:35   ` Adhemerval Zanella
  2021-05-03 13:52 ` [PATCH 07/11] nptl: Move sem_init " Florian Weimer
                   ` (4 subsequent siblings)
  10 siblings, 1 reply; 24+ messages in thread
From: Florian Weimer @ 2021-05-03 13:51 UTC (permalink / raw)
  To: libc-alpha

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(-)

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
-- 
2.30.2



^ permalink raw reply	[flat|nested] 24+ messages in thread

* [PATCH 07/11] nptl: Move sem_init into libc
  2021-05-03 13:51 [PATCH 00/11] nptl: Move semaphore functions into libc Florian Weimer
                   ` (5 preceding siblings ...)
  2021-05-03 13:51 ` [PATCH 06/11] nptl: Move sem_getvalue " Florian Weimer
@ 2021-05-03 13:52 ` Florian Weimer
  2021-05-05 14:36   ` Adhemerval Zanella
  2021-05-03 13:52 ` [PATCH 08/11] nptl: Move sem_post " Florian Weimer
                   ` (3 subsequent siblings)
  10 siblings, 1 reply; 24+ messages in thread
From: Florian Weimer @ 2021-05-03 13:52 UTC (permalink / raw)
  To: libc-alpha

The symbol was moved using scripts/move-symbol-to-libc.py.
---
 nptl/Makefile                                             | 2 +-
 nptl/Versions                                             | 5 +++--
 nptl/sem_init.c                                           | 8 +++++---
 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 +++
 sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist | 2 ++
 .../sysv/linux/powerpc/powerpc64/be/libpthread.abilist    | 1 -
 sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist | 2 ++
 .../sysv/linux/powerpc/powerpc64/le/libpthread.abilist    | 1 -
 sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist           | 2 ++
 sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist     | 1 -
 sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist           | 2 ++
 sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist     | 1 -
 sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist         | 3 +++
 sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist   | 2 --
 sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist         | 2 ++
 sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist   | 1 -
 sysdeps/unix/sysv/linux/sh/be/libc.abilist                | 2 ++
 sysdeps/unix/sysv/linux/sh/be/libpthread.abilist          | 1 -
 sysdeps/unix/sysv/linux/sh/le/libc.abilist                | 2 ++
 sysdeps/unix/sysv/linux/sh/le/libpthread.abilist          | 1 -
 sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist        | 3 +++
 sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist  | 2 --
 sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist        | 2 ++
 sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist  | 1 -
 sysdeps/unix/sysv/linux/x86_64/64/libc.abilist            | 2 ++
 sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist      | 1 -
 sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist           | 2 ++
 sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist     | 1 -
 64 files changed, 84 insertions(+), 43 deletions(-)

diff --git a/nptl/Makefile b/nptl/Makefile
index 8c32937d82..d0410f6827 100644
--- a/nptl/Makefile
+++ b/nptl/Makefile
@@ -154,6 +154,7 @@ routines = \
   sem_close \
   sem_destroy \
   sem_getvalue \
+  sem_init \
   sem_open \
   sem_routines \
   tpp \
@@ -207,7 +208,6 @@ libpthread-routines = \
   pthread_sigqueue \
   pthread_timedjoin \
   pthread_tryjoin \
-  sem_init \
   sem_post \
   sem_timedwait \
   sem_unlink \
diff --git a/nptl/Versions b/nptl/Versions
index dd1c1c7e9e..428cb43c9d 100644
--- a/nptl/Versions
+++ b/nptl/Versions
@@ -64,6 +64,7 @@ libc {
     pthread_testcancel;
     sem_destroy;
     sem_getvalue;
+    sem_init;
   }
   GLIBC_2.1 {
     pthread_attr_init;
@@ -84,6 +85,7 @@ libc {
     pthread_rwlockattr_setpshared;
     sem_destroy;
     sem_getvalue;
+    sem_init;
   }
   GLIBC_2.1.1 {
     sem_close;
@@ -260,6 +262,7 @@ libc {
     sem_close;
     sem_destroy;
     sem_getvalue;
+    sem_init;
     sem_open;
     thrd_exit;
     tss_create;
@@ -326,7 +329,6 @@ libpthread {
     pthread_detach;
     pthread_join;
     pthread_sigmask;
-    sem_init;
     sem_post;
     sem_trywait;
     sem_wait;
@@ -342,7 +344,6 @@ libpthread {
     pthread_create;
     pthread_getconcurrency;
     pthread_setconcurrency;
-    sem_init;
     sem_post;
     sem_trywait;
     sem_wait;
diff --git a/nptl/sem_init.c b/nptl/sem_init.c
index ea2ff7b85c..39fe76b92b 100644
--- a/nptl/sem_init.c
+++ b/nptl/sem_init.c
@@ -61,11 +61,13 @@ __new_sem_init (sem_t *sem, int pshared, unsigned int value)
 
   return 0;
 }
-versioned_symbol (libpthread, __new_sem_init, sem_init, GLIBC_2_1);
-
+versioned_symbol (libc, __new_sem_init, sem_init, GLIBC_2_34);
 
+#if OTHER_SHLIB_COMPAT(libpthread, GLIBC_2_1, GLIBC_2_34)
+compat_symbol (libpthread, __new_sem_init, sem_init, GLIBC_2_1);
+#endif
 
-#if SHLIB_COMPAT(libpthread, GLIBC_2_0, GLIBC_2_1)
+#if OTHER_SHLIB_COMPAT(libpthread, GLIBC_2_0, GLIBC_2_1)
 int
 attribute_compat_text_section
 __old_sem_init (sem_t *sem, int pshared, unsigned int value)
diff --git a/sysdeps/unix/sysv/linux/aarch64/libc.abilist b/sysdeps/unix/sysv/linux/aarch64/libc.abilist
index 0e002b50c5..8af3a25de7 100644
--- a/sysdeps/unix/sysv/linux/aarch64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/aarch64/libc.abilist
@@ -1663,6 +1663,7 @@ 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_init F
 GLIBC_2.17 sem_open F
 GLIBC_2.17 semctl F
 GLIBC_2.17 semget F
@@ -2354,6 +2355,7 @@ 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_init 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 87bcb6bd08..cc05c4ec42 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_init F
 GLIBC_2.17 sem_post F
 GLIBC_2.17 sem_timedwait F
 GLIBC_2.17 sem_trywait F
diff --git a/sysdeps/unix/sysv/linux/alpha/libc.abilist b/sysdeps/unix/sysv/linux/alpha/libc.abilist
index d39e28a1d1..a906e29085 100644
--- a/sysdeps/unix/sysv/linux/alpha/libc.abilist
+++ b/sysdeps/unix/sysv/linux/alpha/libc.abilist
@@ -1013,6 +1013,7 @@ 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 sem_init F
 GLIBC_2.0 semctl F
 GLIBC_2.0 semget F
 GLIBC_2.0 semop F
@@ -1638,6 +1639,7 @@ 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 sem_init F
 GLIBC_2.1 sendfile F
 GLIBC_2.1 setitimer F
 GLIBC_2.1 setrlimit64 F
@@ -2437,6 +2439,7 @@ 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_init 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 37eba5d526..04dca3fb17 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_init F
 GLIBC_2.0 sem_post F
 GLIBC_2.0 sem_trywait F
 GLIBC_2.0 sem_wait F
@@ -22,7 +21,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_init F
 GLIBC_2.1 sem_post F
 GLIBC_2.1 sem_trywait F
 GLIBC_2.1 sem_wait F
diff --git a/sysdeps/unix/sysv/linux/arc/libc.abilist b/sysdeps/unix/sysv/linux/arc/libc.abilist
index d24e926437..b7f211bee3 100644
--- a/sysdeps/unix/sysv/linux/arc/libc.abilist
+++ b/sysdeps/unix/sysv/linux/arc/libc.abilist
@@ -1605,6 +1605,7 @@ 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_init F
 GLIBC_2.32 sem_open F
 GLIBC_2.32 semctl F
 GLIBC_2.32 semget F
@@ -2113,6 +2114,7 @@ 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_init 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 0d2b6878f0..620aa737af 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_init F
 GLIBC_2.32 sem_post F
 GLIBC_2.32 sem_timedwait F
 GLIBC_2.32 sem_trywait F
diff --git a/sysdeps/unix/sysv/linux/arm/be/libc.abilist b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
index 6948069e7a..0ee04e8ec2 100644
--- a/sysdeps/unix/sysv/linux/arm/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
@@ -256,6 +256,7 @@ 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_init F
 GLIBC_2.34 sem_open F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
@@ -1845,6 +1846,7 @@ 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_init 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 10ae7a1302..2cad2a326d 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_init F
 GLIBC_2.4 sem_post F
 GLIBC_2.4 sem_timedwait F
 GLIBC_2.4 sem_trywait F
diff --git a/sysdeps/unix/sysv/linux/arm/le/libc.abilist b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
index 24f11ea83f..3440ea0eb8 100644
--- a/sysdeps/unix/sysv/linux/arm/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
@@ -253,6 +253,7 @@ 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_init F
 GLIBC_2.34 sem_open F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
@@ -1842,6 +1843,7 @@ 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_init 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 10ae7a1302..2cad2a326d 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_init F
 GLIBC_2.4 sem_post F
 GLIBC_2.4 sem_timedwait F
 GLIBC_2.4 sem_trywait F
diff --git a/sysdeps/unix/sysv/linux/csky/libc.abilist b/sysdeps/unix/sysv/linux/csky/libc.abilist
index 2ef861b277..862ca71146 100644
--- a/sysdeps/unix/sysv/linux/csky/libc.abilist
+++ b/sysdeps/unix/sysv/linux/csky/libc.abilist
@@ -1666,6 +1666,7 @@ 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_init F
 GLIBC_2.29 sem_open F
 GLIBC_2.29 semctl F
 GLIBC_2.29 semget F
@@ -2297,6 +2298,7 @@ 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_init 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 2c736e3810..0d192aad92 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_init F
 GLIBC_2.29 sem_post F
 GLIBC_2.29 sem_timedwait F
 GLIBC_2.29 sem_trywait F
diff --git a/sysdeps/unix/sysv/linux/hppa/libc.abilist b/sysdeps/unix/sysv/linux/hppa/libc.abilist
index bb36e5c862..829c751dd4 100644
--- a/sysdeps/unix/sysv/linux/hppa/libc.abilist
+++ b/sysdeps/unix/sysv/linux/hppa/libc.abilist
@@ -1455,6 +1455,7 @@ 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_init F
 GLIBC_2.2 sem_open F
 GLIBC_2.2 semctl F
 GLIBC_2.2 semget F
@@ -2248,6 +2249,7 @@ 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_init 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 9a3c7ba538..9e3a2d7b79 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_init F
 GLIBC_2.2 sem_post F
 GLIBC_2.2 sem_timedwait F
 GLIBC_2.2 sem_trywait F
diff --git a/sysdeps/unix/sysv/linux/i386/libc.abilist b/sysdeps/unix/sysv/linux/i386/libc.abilist
index c01f45d684..e06fc546c7 100644
--- a/sysdeps/unix/sysv/linux/i386/libc.abilist
+++ b/sysdeps/unix/sysv/linux/i386/libc.abilist
@@ -990,6 +990,7 @@ 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 sem_init F
 GLIBC_2.0 semctl F
 GLIBC_2.0 semget F
 GLIBC_2.0 semop F
@@ -1608,6 +1609,7 @@ 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 sem_init F
 GLIBC_2.1 sendfile F
 GLIBC_2.1 setrlimit64 F
 GLIBC_2.1 setutxent F
@@ -2427,6 +2429,7 @@ 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_init 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 b1833a99e1..c109dfcfd2 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_init F
 GLIBC_2.0 sem_post F
 GLIBC_2.0 sem_trywait F
 GLIBC_2.0 sem_wait F
@@ -22,7 +21,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_init F
 GLIBC_2.1 sem_post F
 GLIBC_2.1 sem_trywait F
 GLIBC_2.1 sem_wait F
diff --git a/sysdeps/unix/sysv/linux/ia64/libc.abilist b/sysdeps/unix/sysv/linux/ia64/libc.abilist
index 6f447d6acb..04062ddec5 100644
--- a/sysdeps/unix/sysv/linux/ia64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/ia64/libc.abilist
@@ -1476,6 +1476,7 @@ 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_init F
 GLIBC_2.2 sem_open F
 GLIBC_2.2 semctl F
 GLIBC_2.2 semget F
@@ -2282,6 +2283,7 @@ 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_init 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 212b6841cc..2439b506d9 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_init F
 GLIBC_2.2 sem_post F
 GLIBC_2.2 sem_timedwait F
 GLIBC_2.2 sem_trywait F
diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
index 7d16feab1c..1f14f1fdae 100644
--- a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
@@ -257,6 +257,7 @@ 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_init F
 GLIBC_2.34 sem_open F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
@@ -1825,6 +1826,7 @@ 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_init 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 10ae7a1302..2cad2a326d 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_init F
 GLIBC_2.4 sem_post F
 GLIBC_2.4 sem_timedwait F
 GLIBC_2.4 sem_trywait F
diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
index 6a613724bc..ef4c457b82 100644
--- a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
@@ -989,6 +989,7 @@ 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 sem_init F
 GLIBC_2.0 semctl F
 GLIBC_2.0 semget F
 GLIBC_2.0 semop F
@@ -1604,6 +1605,7 @@ 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 sem_init F
 GLIBC_2.1 sendfile F
 GLIBC_2.1 setrlimit64 F
 GLIBC_2.1 setutxent F
@@ -2370,6 +2372,7 @@ 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_init 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 b1833a99e1..c109dfcfd2 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_init F
 GLIBC_2.0 sem_post F
 GLIBC_2.0 sem_trywait F
 GLIBC_2.0 sem_wait F
@@ -22,7 +21,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_init F
 GLIBC_2.1 sem_post F
 GLIBC_2.1 sem_trywait F
 GLIBC_2.1 sem_wait F
diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
index 08727dea01..c85118ef83 100644
--- a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
@@ -1665,6 +1665,7 @@ 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_init F
 GLIBC_2.18 sem_open F
 GLIBC_2.18 semctl F
 GLIBC_2.18 semget F
@@ -2348,6 +2349,7 @@ 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_init 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 4656602675..87adfbd119 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_init F
 GLIBC_2.18 sem_post F
 GLIBC_2.18 sem_timedwait F
 GLIBC_2.18 sem_trywait F
diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
index 4145398631..e329d24837 100644
--- a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
@@ -1665,6 +1665,7 @@ 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_init F
 GLIBC_2.18 sem_open F
 GLIBC_2.18 semctl F
 GLIBC_2.18 semget F
@@ -2345,6 +2346,7 @@ 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_init 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 4656602675..87adfbd119 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_init F
 GLIBC_2.18 sem_post F
 GLIBC_2.18 sem_timedwait F
 GLIBC_2.18 sem_trywait F
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
index 1ff4fda725..10c4f9169f 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
@@ -986,6 +986,7 @@ 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 sem_init F
 GLIBC_2.0 semctl F
 GLIBC_2.0 semget F
 GLIBC_2.0 semop F
@@ -1893,6 +1894,7 @@ 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_init F
 GLIBC_2.2 sem_open F
 GLIBC_2.2 semctl F
 GLIBC_2.2 sendfile F
@@ -2333,6 +2335,7 @@ 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_init 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 f250d3b50b..fda2fedaa8 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_init F
 GLIBC_2.0 sem_post F
 GLIBC_2.0 sem_trywait F
 GLIBC_2.0 sem_wait F
@@ -36,7 +35,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_init F
 GLIBC_2.2 sem_post F
 GLIBC_2.2 sem_timedwait F
 GLIBC_2.2 sem_trywait F
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
index 76acce16f5..5c756ef87c 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
@@ -986,6 +986,7 @@ 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 sem_init F
 GLIBC_2.0 semctl F
 GLIBC_2.0 semget F
 GLIBC_2.0 semop F
@@ -1891,6 +1892,7 @@ 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_init F
 GLIBC_2.2 sem_open F
 GLIBC_2.2 semctl F
 GLIBC_2.2 sendfile F
@@ -2331,6 +2333,7 @@ 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_init 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 f250d3b50b..fda2fedaa8 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_init F
 GLIBC_2.0 sem_post F
 GLIBC_2.0 sem_trywait F
 GLIBC_2.0 sem_wait F
@@ -36,7 +35,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_init F
 GLIBC_2.2 sem_post F
 GLIBC_2.2 sem_timedwait F
 GLIBC_2.2 sem_trywait F
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
index 2d626894fd..3a48dba1a8 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
@@ -986,6 +986,7 @@ 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 sem_init F
 GLIBC_2.0 semctl F
 GLIBC_2.0 semget F
 GLIBC_2.0 semop F
@@ -1891,6 +1892,7 @@ 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_init F
 GLIBC_2.2 sem_open F
 GLIBC_2.2 sendfile F
 GLIBC_2.2 setrlimit64 F
@@ -2339,6 +2341,7 @@ 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_init 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 0aaf7611bd..43b9ffa9be 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
@@ -984,6 +984,7 @@ 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 sem_init F
 GLIBC_2.0 semctl F
 GLIBC_2.0 semget F
 GLIBC_2.0 semop F
@@ -1887,6 +1888,7 @@ 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_init F
 GLIBC_2.2 sem_open F
 GLIBC_2.2 sendfile F
 GLIBC_2.2 setrlimit64 F
@@ -2333,6 +2335,7 @@ 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_init 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 ea8b37e340..9871445825 100644
--- a/sysdeps/unix/sysv/linux/nios2/libc.abilist
+++ b/sysdeps/unix/sysv/linux/nios2/libc.abilist
@@ -1708,6 +1708,7 @@ 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_init F
 GLIBC_2.21 sem_open F
 GLIBC_2.21 semctl F
 GLIBC_2.21 semget F
@@ -2387,6 +2388,7 @@ 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_init 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 5d47b5af57..8dc58decd5 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_init F
 GLIBC_2.21 sem_post F
 GLIBC_2.21 sem_timedwait F
 GLIBC_2.21 sem_trywait F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
index 9e8200f88f..a18583a716 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
@@ -997,6 +997,7 @@ 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 sem_init F
 GLIBC_2.0 semctl F
 GLIBC_2.0 semget F
 GLIBC_2.0 semop F
@@ -1609,6 +1610,7 @@ 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 sem_init F
 GLIBC_2.1 sendfile F
 GLIBC_2.1 setrlimit64 F
 GLIBC_2.1 setutxent F
@@ -2397,6 +2399,7 @@ 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_init 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 4ba599efcf..dc53279748 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_init F
 GLIBC_2.0 sem_post F
 GLIBC_2.0 sem_trywait F
 GLIBC_2.0 sem_wait F
@@ -22,7 +21,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_init F
 GLIBC_2.1 sem_post F
 GLIBC_2.1 sem_trywait F
 GLIBC_2.1 sem_wait F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
index 8ed232c46e..9bf3da7388 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
@@ -997,6 +997,7 @@ 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 sem_init F
 GLIBC_2.0 semctl F
 GLIBC_2.0 semget F
 GLIBC_2.0 semop F
@@ -1609,6 +1610,7 @@ 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 sem_init F
 GLIBC_2.1 sendfile F
 GLIBC_2.1 setrlimit64 F
 GLIBC_2.1 setutxent F
@@ -2430,6 +2432,7 @@ 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_init 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 887f480421..d5706b2f69 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
@@ -1580,6 +1580,7 @@ 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_init F
 GLIBC_2.3 sem_open F
 GLIBC_2.3 semctl F
 GLIBC_2.3 semget F
@@ -2249,6 +2250,7 @@ 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_init 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 8e89df212e..2897e7dbb7 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_init F
 GLIBC_2.3 sem_post F
 GLIBC_2.3 sem_timedwait F
 GLIBC_2.3 sem_trywait F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
index 0e34639e23..deb5f78799 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
@@ -1751,6 +1751,7 @@ 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_init F
 GLIBC_2.17 sem_open F
 GLIBC_2.17 semctl F
 GLIBC_2.17 semget F
@@ -2550,6 +2551,7 @@ 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_init 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 87bcb6bd08..cc05c4ec42 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_init F
 GLIBC_2.17 sem_post F
 GLIBC_2.17 sem_timedwait F
 GLIBC_2.17 sem_trywait F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
index ee60bf8925..e3d9041b3e 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
@@ -1607,6 +1607,7 @@ 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_init F
 GLIBC_2.33 sem_open F
 GLIBC_2.33 semctl F
 GLIBC_2.33 semget F
@@ -2115,6 +2116,7 @@ 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_init 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 b342a05a1b..93599c88a2 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_init F
 GLIBC_2.33 sem_post F
 GLIBC_2.33 sem_timedwait F
 GLIBC_2.33 sem_trywait F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
index 3d76a78b07..b6b59ee692 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
@@ -1655,6 +1655,7 @@ 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_init F
 GLIBC_2.27 sem_open F
 GLIBC_2.27 semctl F
 GLIBC_2.27 semget F
@@ -2315,6 +2316,7 @@ 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_init 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 fe091c6884..215454cc39 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_init F
 GLIBC_2.27 sem_post F
 GLIBC_2.27 sem_timedwait F
 GLIBC_2.27 sem_trywait F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
index bb44dc053f..ca7a6eec05 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
@@ -988,6 +988,7 @@ 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 sem_init F
 GLIBC_2.0 semctl F
 GLIBC_2.0 semget F
 GLIBC_2.0 semop F
@@ -1601,6 +1602,7 @@ 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 sem_init F
 GLIBC_2.1 sendfile F
 GLIBC_2.1 setrlimit64 F
 GLIBC_2.1 setutxent F
@@ -2395,6 +2397,7 @@ 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_init 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 899cf97c70..6ed45aa436 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_init F
 GLIBC_2.0 sem_post F
 GLIBC_2.0 sem_trywait F
 GLIBC_2.0 sem_wait F
@@ -22,7 +21,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_init F
 GLIBC_2.1 sem_post F
 GLIBC_2.1 sem_trywait F
 GLIBC_2.1 sem_wait F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
index 6a55bdb602..9d13b92c53 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
@@ -1473,6 +1473,7 @@ 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_init F
 GLIBC_2.2 sem_open F
 GLIBC_2.2 semctl F
 GLIBC_2.2 semget F
@@ -2286,6 +2287,7 @@ 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_init 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 ea58dbd01d..162c5743a9 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_init F
 GLIBC_2.2 sem_post F
 GLIBC_2.2 sem_timedwait F
 GLIBC_2.2 sem_trywait F
diff --git a/sysdeps/unix/sysv/linux/sh/be/libc.abilist b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
index fb4c0e3fa7..0cea6eb093 100644
--- a/sysdeps/unix/sysv/linux/sh/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
@@ -1459,6 +1459,7 @@ 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_init F
 GLIBC_2.2 sem_open F
 GLIBC_2.2 semctl F
 GLIBC_2.2 semget F
@@ -2255,6 +2256,7 @@ 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_init 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 9a3c7ba538..9e3a2d7b79 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_init F
 GLIBC_2.2 sem_post F
 GLIBC_2.2 sem_timedwait F
 GLIBC_2.2 sem_trywait F
diff --git a/sysdeps/unix/sysv/linux/sh/le/libc.abilist b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
index 7c686b7ec9..af2e74fdfa 100644
--- a/sysdeps/unix/sysv/linux/sh/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
@@ -1459,6 +1459,7 @@ 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_init F
 GLIBC_2.2 sem_open F
 GLIBC_2.2 semctl F
 GLIBC_2.2 semget F
@@ -2252,6 +2253,7 @@ 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_init 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 9a3c7ba538..9e3a2d7b79 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_init F
 GLIBC_2.2 sem_post F
 GLIBC_2.2 sem_timedwait F
 GLIBC_2.2 sem_trywait F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
index ab0cb2d1d2..79b69a31be 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
@@ -991,6 +991,7 @@ 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 sem_init F
 GLIBC_2.0 semctl F
 GLIBC_2.0 semget F
 GLIBC_2.0 semop F
@@ -1602,6 +1603,7 @@ 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 sem_init F
 GLIBC_2.1 sendfile F
 GLIBC_2.1 setrlimit64 F
 GLIBC_2.1 setutxent F
@@ -2386,6 +2388,7 @@ 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_init 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 37eba5d526..04dca3fb17 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_init F
 GLIBC_2.0 sem_post F
 GLIBC_2.0 sem_trywait F
 GLIBC_2.0 sem_wait F
@@ -22,7 +21,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_init F
 GLIBC_2.1 sem_post F
 GLIBC_2.1 sem_trywait F
 GLIBC_2.1 sem_wait F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
index 53dacbb77e..8e367c0030 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
@@ -1502,6 +1502,7 @@ 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_init F
 GLIBC_2.2 sem_open F
 GLIBC_2.2 semctl F
 GLIBC_2.2 semget F
@@ -2303,6 +2304,7 @@ 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_init 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 212b6841cc..2439b506d9 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_init F
 GLIBC_2.2 sem_post F
 GLIBC_2.2 sem_timedwait F
 GLIBC_2.2 sem_trywait F
diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
index 96245373c8..83f18b509d 100644
--- a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
@@ -1470,6 +1470,7 @@ 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_init F
 GLIBC_2.2.5 sem_open F
 GLIBC_2.2.5 semctl F
 GLIBC_2.2.5 semget F
@@ -2264,6 +2265,7 @@ 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_init 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 2c17991871..145925269d 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_init F
 GLIBC_2.2.5 sem_post F
 GLIBC_2.2.5 sem_timedwait F
 GLIBC_2.2.5 sem_trywait F
diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
index 7cd32696c5..01dd2eb8a6 100644
--- a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
@@ -1669,6 +1669,7 @@ 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_init F
 GLIBC_2.16 sem_open F
 GLIBC_2.16 semctl F
 GLIBC_2.16 semget F
@@ -2369,6 +2370,7 @@ 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_init 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 44826acfbd..bbbaa04cd7 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_init F
 GLIBC_2.16 sem_post F
 GLIBC_2.16 sem_timedwait F
 GLIBC_2.16 sem_trywait F
-- 
2.30.2



^ permalink raw reply	[flat|nested] 24+ messages in thread

* [PATCH 08/11] nptl: Move sem_post into libc
  2021-05-03 13:51 [PATCH 00/11] nptl: Move semaphore functions into libc Florian Weimer
                   ` (6 preceding siblings ...)
  2021-05-03 13:52 ` [PATCH 07/11] nptl: Move sem_init " Florian Weimer
@ 2021-05-03 13:52 ` Florian Weimer
  2021-05-05 14:36   ` Adhemerval Zanella
  2021-05-03 13:52 ` [PATCH 09/11] nptl: Move sem_timedwait " Florian Weimer
                   ` (2 subsequent siblings)
  10 siblings, 1 reply; 24+ messages in thread
From: Florian Weimer @ 2021-05-03 13:52 UTC (permalink / raw)
  To: libc-alpha

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

diff --git a/nptl/Makefile b/nptl/Makefile
index d0410f6827..36c0f270b9 100644
--- a/nptl/Makefile
+++ b/nptl/Makefile
@@ -156,6 +156,7 @@ routines = \
   sem_getvalue \
   sem_init \
   sem_open \
+  sem_post \
   sem_routines \
   tpp \
   unwind \
@@ -208,7 +209,6 @@ libpthread-routines = \
   pthread_sigqueue \
   pthread_timedjoin \
   pthread_tryjoin \
-  sem_post \
   sem_timedwait \
   sem_unlink \
   sem_wait \
diff --git a/nptl/Versions b/nptl/Versions
index 428cb43c9d..df3967516f 100644
--- a/nptl/Versions
+++ b/nptl/Versions
@@ -65,6 +65,7 @@ libc {
     sem_destroy;
     sem_getvalue;
     sem_init;
+    sem_post;
   }
   GLIBC_2.1 {
     pthread_attr_init;
@@ -86,6 +87,7 @@ libc {
     sem_destroy;
     sem_getvalue;
     sem_init;
+    sem_post;
   }
   GLIBC_2.1.1 {
     sem_close;
@@ -264,6 +266,7 @@ libc {
     sem_getvalue;
     sem_init;
     sem_open;
+    sem_post;
     thrd_exit;
     tss_create;
     tss_delete;
@@ -329,7 +332,6 @@ libpthread {
     pthread_detach;
     pthread_join;
     pthread_sigmask;
-    sem_post;
     sem_trywait;
     sem_wait;
   }
@@ -344,7 +346,6 @@ libpthread {
     pthread_create;
     pthread_getconcurrency;
     pthread_setconcurrency;
-    sem_post;
     sem_trywait;
     sem_wait;
   }
diff --git a/nptl/sem_post.c b/nptl/sem_post.c
index c888fa6a9b..d56a6ed983 100644
--- a/nptl/sem_post.c
+++ b/nptl/sem_post.c
@@ -76,10 +76,13 @@ __new_sem_post (sem_t *sem)
 
   return 0;
 }
-versioned_symbol (libpthread, __new_sem_post, sem_post, GLIBC_2_1);
+versioned_symbol (libpthread, __new_sem_post, sem_post, GLIBC_2_34);
 
+#if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_1, GLIBC_2_34)
+compat_symbol (libpthread, __new_sem_post, sem_post, GLIBC_2_1);
+#endif
 
-#if SHLIB_COMPAT (libpthread, GLIBC_2_0, GLIBC_2_1)
+#if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_0, GLIBC_2_1)
 int
 attribute_compat_text_section
 __old_sem_post (sem_t *sem)
diff --git a/sysdeps/unix/sysv/linux/aarch64/libc.abilist b/sysdeps/unix/sysv/linux/aarch64/libc.abilist
index 8af3a25de7..c785610d5e 100644
--- a/sysdeps/unix/sysv/linux/aarch64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/aarch64/libc.abilist
@@ -1665,6 +1665,7 @@ GLIBC_2.17 sem_destroy F
 GLIBC_2.17 sem_getvalue F
 GLIBC_2.17 sem_init F
 GLIBC_2.17 sem_open F
+GLIBC_2.17 sem_post F
 GLIBC_2.17 semctl F
 GLIBC_2.17 semget F
 GLIBC_2.17 semop F
@@ -2357,6 +2358,7 @@ GLIBC_2.34 sem_destroy F
 GLIBC_2.34 sem_getvalue F
 GLIBC_2.34 sem_init F
 GLIBC_2.34 sem_open F
+GLIBC_2.34 sem_post F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
index cc05c4ec42..e2a5c2b8e0 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_post F
 GLIBC_2.17 sem_timedwait F
 GLIBC_2.17 sem_trywait F
 GLIBC_2.17 sem_unlink F
diff --git a/sysdeps/unix/sysv/linux/alpha/libc.abilist b/sysdeps/unix/sysv/linux/alpha/libc.abilist
index a906e29085..f1c5a64493 100644
--- a/sysdeps/unix/sysv/linux/alpha/libc.abilist
+++ b/sysdeps/unix/sysv/linux/alpha/libc.abilist
@@ -1014,6 +1014,7 @@ GLIBC_2.0 select F
 GLIBC_2.0 sem_destroy F
 GLIBC_2.0 sem_getvalue F
 GLIBC_2.0 sem_init F
+GLIBC_2.0 sem_post F
 GLIBC_2.0 semctl F
 GLIBC_2.0 semget F
 GLIBC_2.0 semop F
@@ -1640,6 +1641,7 @@ GLIBC_2.1 select F
 GLIBC_2.1 sem_destroy F
 GLIBC_2.1 sem_getvalue F
 GLIBC_2.1 sem_init F
+GLIBC_2.1 sem_post F
 GLIBC_2.1 sendfile F
 GLIBC_2.1 setitimer F
 GLIBC_2.1 setrlimit64 F
@@ -2441,6 +2443,7 @@ GLIBC_2.34 sem_destroy F
 GLIBC_2.34 sem_getvalue F
 GLIBC_2.34 sem_init F
 GLIBC_2.34 sem_open F
+GLIBC_2.34 sem_post F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
index 04dca3fb17..1e04fed446 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_post F
 GLIBC_2.0 sem_trywait F
 GLIBC_2.0 sem_wait F
 GLIBC_2.1 pthread_attr_getguardsize F
@@ -21,7 +20,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_post F
 GLIBC_2.1 sem_trywait F
 GLIBC_2.1 sem_wait F
 GLIBC_2.1.1 sem_unlink F
diff --git a/sysdeps/unix/sysv/linux/arc/libc.abilist b/sysdeps/unix/sysv/linux/arc/libc.abilist
index b7f211bee3..794544cd1d 100644
--- a/sysdeps/unix/sysv/linux/arc/libc.abilist
+++ b/sysdeps/unix/sysv/linux/arc/libc.abilist
@@ -1607,6 +1607,7 @@ GLIBC_2.32 sem_destroy F
 GLIBC_2.32 sem_getvalue F
 GLIBC_2.32 sem_init F
 GLIBC_2.32 sem_open F
+GLIBC_2.32 sem_post F
 GLIBC_2.32 semctl F
 GLIBC_2.32 semget F
 GLIBC_2.32 semop F
@@ -2116,6 +2117,7 @@ GLIBC_2.34 sem_destroy F
 GLIBC_2.34 sem_getvalue F
 GLIBC_2.34 sem_init F
 GLIBC_2.34 sem_open F
+GLIBC_2.34 sem_post F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/arc/libpthread.abilist b/sysdeps/unix/sysv/linux/arc/libpthread.abilist
index 620aa737af..ed2bdcf3fa 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_post F
 GLIBC_2.32 sem_timedwait F
 GLIBC_2.32 sem_trywait F
 GLIBC_2.32 sem_unlink F
diff --git a/sysdeps/unix/sysv/linux/arm/be/libc.abilist b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
index 0ee04e8ec2..f483c62b12 100644
--- a/sysdeps/unix/sysv/linux/arm/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
@@ -258,6 +258,7 @@ GLIBC_2.34 sem_destroy F
 GLIBC_2.34 sem_getvalue F
 GLIBC_2.34 sem_init F
 GLIBC_2.34 sem_open F
+GLIBC_2.34 sem_post F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
@@ -1848,6 +1849,7 @@ GLIBC_2.4 sem_destroy F
 GLIBC_2.4 sem_getvalue F
 GLIBC_2.4 sem_init F
 GLIBC_2.4 sem_open F
+GLIBC_2.4 sem_post F
 GLIBC_2.4 semctl F
 GLIBC_2.4 semget F
 GLIBC_2.4 semop F
diff --git a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
index 2cad2a326d..0f562f4d9e 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_post F
 GLIBC_2.4 sem_timedwait F
 GLIBC_2.4 sem_trywait F
 GLIBC_2.4 sem_unlink F
diff --git a/sysdeps/unix/sysv/linux/arm/le/libc.abilist b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
index 3440ea0eb8..acca7c7ea6 100644
--- a/sysdeps/unix/sysv/linux/arm/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
@@ -255,6 +255,7 @@ GLIBC_2.34 sem_destroy F
 GLIBC_2.34 sem_getvalue F
 GLIBC_2.34 sem_init F
 GLIBC_2.34 sem_open F
+GLIBC_2.34 sem_post F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
@@ -1845,6 +1846,7 @@ GLIBC_2.4 sem_destroy F
 GLIBC_2.4 sem_getvalue F
 GLIBC_2.4 sem_init F
 GLIBC_2.4 sem_open F
+GLIBC_2.4 sem_post F
 GLIBC_2.4 semctl F
 GLIBC_2.4 semget F
 GLIBC_2.4 semop F
diff --git a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
index 2cad2a326d..0f562f4d9e 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_post F
 GLIBC_2.4 sem_timedwait F
 GLIBC_2.4 sem_trywait F
 GLIBC_2.4 sem_unlink F
diff --git a/sysdeps/unix/sysv/linux/csky/libc.abilist b/sysdeps/unix/sysv/linux/csky/libc.abilist
index 862ca71146..480d93f880 100644
--- a/sysdeps/unix/sysv/linux/csky/libc.abilist
+++ b/sysdeps/unix/sysv/linux/csky/libc.abilist
@@ -1668,6 +1668,7 @@ GLIBC_2.29 sem_destroy F
 GLIBC_2.29 sem_getvalue F
 GLIBC_2.29 sem_init F
 GLIBC_2.29 sem_open F
+GLIBC_2.29 sem_post F
 GLIBC_2.29 semctl F
 GLIBC_2.29 semget F
 GLIBC_2.29 semop F
@@ -2300,6 +2301,7 @@ GLIBC_2.34 sem_destroy F
 GLIBC_2.34 sem_getvalue F
 GLIBC_2.34 sem_init F
 GLIBC_2.34 sem_open F
+GLIBC_2.34 sem_post F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/csky/libpthread.abilist b/sysdeps/unix/sysv/linux/csky/libpthread.abilist
index 0d192aad92..c3a14fa4a2 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_post F
 GLIBC_2.29 sem_timedwait F
 GLIBC_2.29 sem_trywait F
 GLIBC_2.29 sem_unlink F
diff --git a/sysdeps/unix/sysv/linux/hppa/libc.abilist b/sysdeps/unix/sysv/linux/hppa/libc.abilist
index 829c751dd4..90b5df3648 100644
--- a/sysdeps/unix/sysv/linux/hppa/libc.abilist
+++ b/sysdeps/unix/sysv/linux/hppa/libc.abilist
@@ -1457,6 +1457,7 @@ GLIBC_2.2 sem_destroy F
 GLIBC_2.2 sem_getvalue F
 GLIBC_2.2 sem_init F
 GLIBC_2.2 sem_open F
+GLIBC_2.2 sem_post F
 GLIBC_2.2 semctl F
 GLIBC_2.2 semget F
 GLIBC_2.2 semop F
@@ -2251,6 +2252,7 @@ GLIBC_2.34 sem_destroy F
 GLIBC_2.34 sem_getvalue F
 GLIBC_2.34 sem_init F
 GLIBC_2.34 sem_open F
+GLIBC_2.34 sem_post F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
index 9e3a2d7b79..069e32a2c2 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_post F
 GLIBC_2.2 sem_timedwait F
 GLIBC_2.2 sem_trywait F
 GLIBC_2.2 sem_unlink F
diff --git a/sysdeps/unix/sysv/linux/i386/libc.abilist b/sysdeps/unix/sysv/linux/i386/libc.abilist
index e06fc546c7..aea4c70ae9 100644
--- a/sysdeps/unix/sysv/linux/i386/libc.abilist
+++ b/sysdeps/unix/sysv/linux/i386/libc.abilist
@@ -991,6 +991,7 @@ GLIBC_2.0 select F
 GLIBC_2.0 sem_destroy F
 GLIBC_2.0 sem_getvalue F
 GLIBC_2.0 sem_init F
+GLIBC_2.0 sem_post F
 GLIBC_2.0 semctl F
 GLIBC_2.0 semget F
 GLIBC_2.0 semop F
@@ -1610,6 +1611,7 @@ GLIBC_2.1 scandir64 F
 GLIBC_2.1 sem_destroy F
 GLIBC_2.1 sem_getvalue F
 GLIBC_2.1 sem_init F
+GLIBC_2.1 sem_post F
 GLIBC_2.1 sendfile F
 GLIBC_2.1 setrlimit64 F
 GLIBC_2.1 setutxent F
@@ -2431,6 +2433,7 @@ GLIBC_2.34 sem_destroy F
 GLIBC_2.34 sem_getvalue F
 GLIBC_2.34 sem_init F
 GLIBC_2.34 sem_open F
+GLIBC_2.34 sem_post F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/i386/libpthread.abilist b/sysdeps/unix/sysv/linux/i386/libpthread.abilist
index c109dfcfd2..b4af14301c 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_post F
 GLIBC_2.0 sem_trywait F
 GLIBC_2.0 sem_wait F
 GLIBC_2.1 pthread_attr_getguardsize F
@@ -21,7 +20,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_post F
 GLIBC_2.1 sem_trywait F
 GLIBC_2.1 sem_wait F
 GLIBC_2.1.1 sem_unlink F
diff --git a/sysdeps/unix/sysv/linux/ia64/libc.abilist b/sysdeps/unix/sysv/linux/ia64/libc.abilist
index 04062ddec5..8444ec41d2 100644
--- a/sysdeps/unix/sysv/linux/ia64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/ia64/libc.abilist
@@ -1478,6 +1478,7 @@ GLIBC_2.2 sem_destroy F
 GLIBC_2.2 sem_getvalue F
 GLIBC_2.2 sem_init F
 GLIBC_2.2 sem_open F
+GLIBC_2.2 sem_post F
 GLIBC_2.2 semctl F
 GLIBC_2.2 semget F
 GLIBC_2.2 semop F
@@ -2285,6 +2286,7 @@ GLIBC_2.34 sem_destroy F
 GLIBC_2.34 sem_getvalue F
 GLIBC_2.34 sem_init F
 GLIBC_2.34 sem_open F
+GLIBC_2.34 sem_post F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
index 2439b506d9..993a2481b8 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_post F
 GLIBC_2.2 sem_timedwait F
 GLIBC_2.2 sem_trywait F
 GLIBC_2.2 sem_unlink F
diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
index 1f14f1fdae..0d678c99a2 100644
--- a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
@@ -259,6 +259,7 @@ GLIBC_2.34 sem_destroy F
 GLIBC_2.34 sem_getvalue F
 GLIBC_2.34 sem_init F
 GLIBC_2.34 sem_open F
+GLIBC_2.34 sem_post F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
@@ -1828,6 +1829,7 @@ GLIBC_2.4 sem_destroy F
 GLIBC_2.4 sem_getvalue F
 GLIBC_2.4 sem_init F
 GLIBC_2.4 sem_open F
+GLIBC_2.4 sem_post F
 GLIBC_2.4 semctl F
 GLIBC_2.4 semget F
 GLIBC_2.4 semop F
diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
index 2cad2a326d..0f562f4d9e 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_post F
 GLIBC_2.4 sem_timedwait F
 GLIBC_2.4 sem_trywait F
 GLIBC_2.4 sem_unlink F
diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
index ef4c457b82..2716410e46 100644
--- a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
@@ -990,6 +990,7 @@ GLIBC_2.0 select F
 GLIBC_2.0 sem_destroy F
 GLIBC_2.0 sem_getvalue F
 GLIBC_2.0 sem_init F
+GLIBC_2.0 sem_post F
 GLIBC_2.0 semctl F
 GLIBC_2.0 semget F
 GLIBC_2.0 semop F
@@ -1606,6 +1607,7 @@ GLIBC_2.1 scandir64 F
 GLIBC_2.1 sem_destroy F
 GLIBC_2.1 sem_getvalue F
 GLIBC_2.1 sem_init F
+GLIBC_2.1 sem_post F
 GLIBC_2.1 sendfile F
 GLIBC_2.1 setrlimit64 F
 GLIBC_2.1 setutxent F
@@ -2374,6 +2376,7 @@ GLIBC_2.34 sem_destroy F
 GLIBC_2.34 sem_getvalue F
 GLIBC_2.34 sem_init F
 GLIBC_2.34 sem_open F
+GLIBC_2.34 sem_post F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
index c109dfcfd2..b4af14301c 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_post F
 GLIBC_2.0 sem_trywait F
 GLIBC_2.0 sem_wait F
 GLIBC_2.1 pthread_attr_getguardsize F
@@ -21,7 +20,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_post F
 GLIBC_2.1 sem_trywait F
 GLIBC_2.1 sem_wait F
 GLIBC_2.1.1 sem_unlink F
diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
index c85118ef83..38d725dd3a 100644
--- a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
@@ -1667,6 +1667,7 @@ GLIBC_2.18 sem_destroy F
 GLIBC_2.18 sem_getvalue F
 GLIBC_2.18 sem_init F
 GLIBC_2.18 sem_open F
+GLIBC_2.18 sem_post F
 GLIBC_2.18 semctl F
 GLIBC_2.18 semget F
 GLIBC_2.18 semop F
@@ -2351,6 +2352,7 @@ GLIBC_2.34 sem_destroy F
 GLIBC_2.34 sem_getvalue F
 GLIBC_2.34 sem_init F
 GLIBC_2.34 sem_open F
+GLIBC_2.34 sem_post F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
index 87adfbd119..518406c580 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_post F
 GLIBC_2.18 sem_timedwait F
 GLIBC_2.18 sem_trywait F
 GLIBC_2.18 sem_unlink F
diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
index e329d24837..d4079051df 100644
--- a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
@@ -1667,6 +1667,7 @@ GLIBC_2.18 sem_destroy F
 GLIBC_2.18 sem_getvalue F
 GLIBC_2.18 sem_init F
 GLIBC_2.18 sem_open F
+GLIBC_2.18 sem_post F
 GLIBC_2.18 semctl F
 GLIBC_2.18 semget F
 GLIBC_2.18 semop F
@@ -2348,6 +2349,7 @@ GLIBC_2.34 sem_destroy F
 GLIBC_2.34 sem_getvalue F
 GLIBC_2.34 sem_init F
 GLIBC_2.34 sem_open F
+GLIBC_2.34 sem_post F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
index 87adfbd119..518406c580 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_post F
 GLIBC_2.18 sem_timedwait F
 GLIBC_2.18 sem_trywait F
 GLIBC_2.18 sem_unlink F
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
index 10c4f9169f..ee148e01c2 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
@@ -987,6 +987,7 @@ GLIBC_2.0 select F
 GLIBC_2.0 sem_destroy F
 GLIBC_2.0 sem_getvalue F
 GLIBC_2.0 sem_init F
+GLIBC_2.0 sem_post F
 GLIBC_2.0 semctl F
 GLIBC_2.0 semget F
 GLIBC_2.0 semop F
@@ -1896,6 +1897,7 @@ GLIBC_2.2 sem_destroy F
 GLIBC_2.2 sem_getvalue F
 GLIBC_2.2 sem_init F
 GLIBC_2.2 sem_open F
+GLIBC_2.2 sem_post F
 GLIBC_2.2 semctl F
 GLIBC_2.2 sendfile F
 GLIBC_2.2 setrlimit64 F
@@ -2337,6 +2339,7 @@ GLIBC_2.34 sem_destroy F
 GLIBC_2.34 sem_getvalue F
 GLIBC_2.34 sem_init F
 GLIBC_2.34 sem_open F
+GLIBC_2.34 sem_post F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
index fda2fedaa8..9482a83b1c 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_post F
 GLIBC_2.0 sem_trywait F
 GLIBC_2.0 sem_wait F
 GLIBC_2.11 pthread_sigqueue F
@@ -35,7 +34,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_post F
 GLIBC_2.2 sem_timedwait F
 GLIBC_2.2 sem_trywait F
 GLIBC_2.2 sem_unlink F
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
index 5c756ef87c..f6d465871f 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
@@ -987,6 +987,7 @@ GLIBC_2.0 select F
 GLIBC_2.0 sem_destroy F
 GLIBC_2.0 sem_getvalue F
 GLIBC_2.0 sem_init F
+GLIBC_2.0 sem_post F
 GLIBC_2.0 semctl F
 GLIBC_2.0 semget F
 GLIBC_2.0 semop F
@@ -1894,6 +1895,7 @@ GLIBC_2.2 sem_destroy F
 GLIBC_2.2 sem_getvalue F
 GLIBC_2.2 sem_init F
 GLIBC_2.2 sem_open F
+GLIBC_2.2 sem_post F
 GLIBC_2.2 semctl F
 GLIBC_2.2 sendfile F
 GLIBC_2.2 setrlimit64 F
@@ -2335,6 +2337,7 @@ GLIBC_2.34 sem_destroy F
 GLIBC_2.34 sem_getvalue F
 GLIBC_2.34 sem_init F
 GLIBC_2.34 sem_open F
+GLIBC_2.34 sem_post F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
index fda2fedaa8..9482a83b1c 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_post F
 GLIBC_2.0 sem_trywait F
 GLIBC_2.0 sem_wait F
 GLIBC_2.11 pthread_sigqueue F
@@ -35,7 +34,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_post F
 GLIBC_2.2 sem_timedwait F
 GLIBC_2.2 sem_trywait F
 GLIBC_2.2 sem_unlink F
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
index 3a48dba1a8..22bb85c170 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
@@ -987,6 +987,7 @@ GLIBC_2.0 select F
 GLIBC_2.0 sem_destroy F
 GLIBC_2.0 sem_getvalue F
 GLIBC_2.0 sem_init F
+GLIBC_2.0 sem_post F
 GLIBC_2.0 semctl F
 GLIBC_2.0 semget F
 GLIBC_2.0 semop F
@@ -1894,6 +1895,7 @@ GLIBC_2.2 sem_destroy F
 GLIBC_2.2 sem_getvalue F
 GLIBC_2.2 sem_init F
 GLIBC_2.2 sem_open F
+GLIBC_2.2 sem_post F
 GLIBC_2.2 sendfile F
 GLIBC_2.2 setrlimit64 F
 GLIBC_2.2 setutxent F
@@ -2343,6 +2345,7 @@ GLIBC_2.34 sem_destroy F
 GLIBC_2.34 sem_getvalue F
 GLIBC_2.34 sem_init F
 GLIBC_2.34 sem_open F
+GLIBC_2.34 sem_post F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
index 43b9ffa9be..a2c0ac31eb 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
@@ -985,6 +985,7 @@ GLIBC_2.0 select F
 GLIBC_2.0 sem_destroy F
 GLIBC_2.0 sem_getvalue F
 GLIBC_2.0 sem_init F
+GLIBC_2.0 sem_post F
 GLIBC_2.0 semctl F
 GLIBC_2.0 semget F
 GLIBC_2.0 semop F
@@ -1890,6 +1891,7 @@ GLIBC_2.2 sem_destroy F
 GLIBC_2.2 sem_getvalue F
 GLIBC_2.2 sem_init F
 GLIBC_2.2 sem_open F
+GLIBC_2.2 sem_post F
 GLIBC_2.2 sendfile F
 GLIBC_2.2 setrlimit64 F
 GLIBC_2.2 setutxent F
@@ -2337,6 +2339,7 @@ GLIBC_2.34 sem_destroy F
 GLIBC_2.34 sem_getvalue F
 GLIBC_2.34 sem_init F
 GLIBC_2.34 sem_open F
+GLIBC_2.34 sem_post F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/nios2/libc.abilist b/sysdeps/unix/sysv/linux/nios2/libc.abilist
index 9871445825..5491bc9076 100644
--- a/sysdeps/unix/sysv/linux/nios2/libc.abilist
+++ b/sysdeps/unix/sysv/linux/nios2/libc.abilist
@@ -1710,6 +1710,7 @@ GLIBC_2.21 sem_destroy F
 GLIBC_2.21 sem_getvalue F
 GLIBC_2.21 sem_init F
 GLIBC_2.21 sem_open F
+GLIBC_2.21 sem_post F
 GLIBC_2.21 semctl F
 GLIBC_2.21 semget F
 GLIBC_2.21 semop F
@@ -2390,6 +2391,7 @@ GLIBC_2.34 sem_destroy F
 GLIBC_2.34 sem_getvalue F
 GLIBC_2.34 sem_init F
 GLIBC_2.34 sem_open F
+GLIBC_2.34 sem_post F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
index 8dc58decd5..d966123dd7 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_post F
 GLIBC_2.21 sem_timedwait F
 GLIBC_2.21 sem_trywait F
 GLIBC_2.21 sem_unlink F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
index a18583a716..9dfb36bcf1 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
@@ -998,6 +998,7 @@ GLIBC_2.0 select F
 GLIBC_2.0 sem_destroy F
 GLIBC_2.0 sem_getvalue F
 GLIBC_2.0 sem_init F
+GLIBC_2.0 sem_post F
 GLIBC_2.0 semctl F
 GLIBC_2.0 semget F
 GLIBC_2.0 semop F
@@ -1611,6 +1612,7 @@ GLIBC_2.1 scandir64 F
 GLIBC_2.1 sem_destroy F
 GLIBC_2.1 sem_getvalue F
 GLIBC_2.1 sem_init F
+GLIBC_2.1 sem_post F
 GLIBC_2.1 sendfile F
 GLIBC_2.1 setrlimit64 F
 GLIBC_2.1 setutxent F
@@ -2401,6 +2403,7 @@ GLIBC_2.34 sem_destroy F
 GLIBC_2.34 sem_getvalue F
 GLIBC_2.34 sem_init F
 GLIBC_2.34 sem_open F
+GLIBC_2.34 sem_post F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
index dc53279748..3c6e065e52 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_post F
 GLIBC_2.0 sem_trywait F
 GLIBC_2.0 sem_wait F
 GLIBC_2.1 pthread_attr_getguardsize F
@@ -21,7 +20,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_post F
 GLIBC_2.1 sem_trywait F
 GLIBC_2.1 sem_wait F
 GLIBC_2.1.1 sem_unlink F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
index 9bf3da7388..b1f04fc147 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
@@ -998,6 +998,7 @@ GLIBC_2.0 select F
 GLIBC_2.0 sem_destroy F
 GLIBC_2.0 sem_getvalue F
 GLIBC_2.0 sem_init F
+GLIBC_2.0 sem_post F
 GLIBC_2.0 semctl F
 GLIBC_2.0 semget F
 GLIBC_2.0 semop F
@@ -1611,6 +1612,7 @@ GLIBC_2.1 scandir64 F
 GLIBC_2.1 sem_destroy F
 GLIBC_2.1 sem_getvalue F
 GLIBC_2.1 sem_init F
+GLIBC_2.1 sem_post F
 GLIBC_2.1 sendfile F
 GLIBC_2.1 setrlimit64 F
 GLIBC_2.1 setutxent F
@@ -2434,6 +2436,7 @@ GLIBC_2.34 sem_destroy F
 GLIBC_2.34 sem_getvalue F
 GLIBC_2.34 sem_init F
 GLIBC_2.34 sem_open F
+GLIBC_2.34 sem_post F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
index d5706b2f69..b5229a315f 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
@@ -1582,6 +1582,7 @@ GLIBC_2.3 sem_destroy F
 GLIBC_2.3 sem_getvalue F
 GLIBC_2.3 sem_init F
 GLIBC_2.3 sem_open F
+GLIBC_2.3 sem_post F
 GLIBC_2.3 semctl F
 GLIBC_2.3 semget F
 GLIBC_2.3 semop F
@@ -2252,6 +2253,7 @@ GLIBC_2.34 sem_destroy F
 GLIBC_2.34 sem_getvalue F
 GLIBC_2.34 sem_init F
 GLIBC_2.34 sem_open F
+GLIBC_2.34 sem_post F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
index 2897e7dbb7..1118ba89f6 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_post F
 GLIBC_2.3 sem_timedwait F
 GLIBC_2.3 sem_trywait F
 GLIBC_2.3 sem_unlink F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
index deb5f78799..e68290a5fe 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
@@ -1753,6 +1753,7 @@ GLIBC_2.17 sem_destroy F
 GLIBC_2.17 sem_getvalue F
 GLIBC_2.17 sem_init F
 GLIBC_2.17 sem_open F
+GLIBC_2.17 sem_post F
 GLIBC_2.17 semctl F
 GLIBC_2.17 semget F
 GLIBC_2.17 semop F
@@ -2553,6 +2554,7 @@ GLIBC_2.34 sem_destroy F
 GLIBC_2.34 sem_getvalue F
 GLIBC_2.34 sem_init F
 GLIBC_2.34 sem_open F
+GLIBC_2.34 sem_post F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
index cc05c4ec42..e2a5c2b8e0 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_post F
 GLIBC_2.17 sem_timedwait F
 GLIBC_2.17 sem_trywait F
 GLIBC_2.17 sem_unlink F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
index e3d9041b3e..f6062c942b 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
@@ -1609,6 +1609,7 @@ GLIBC_2.33 sem_destroy F
 GLIBC_2.33 sem_getvalue F
 GLIBC_2.33 sem_init F
 GLIBC_2.33 sem_open F
+GLIBC_2.33 sem_post F
 GLIBC_2.33 semctl F
 GLIBC_2.33 semget F
 GLIBC_2.33 semop F
@@ -2118,6 +2119,7 @@ GLIBC_2.34 sem_destroy F
 GLIBC_2.34 sem_getvalue F
 GLIBC_2.34 sem_init F
 GLIBC_2.34 sem_open F
+GLIBC_2.34 sem_post F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
index 93599c88a2..431e167351 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_post F
 GLIBC_2.33 sem_timedwait F
 GLIBC_2.33 sem_trywait F
 GLIBC_2.33 sem_unlink F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
index b6b59ee692..0b667860ec 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
@@ -1657,6 +1657,7 @@ GLIBC_2.27 sem_destroy F
 GLIBC_2.27 sem_getvalue F
 GLIBC_2.27 sem_init F
 GLIBC_2.27 sem_open F
+GLIBC_2.27 sem_post F
 GLIBC_2.27 semctl F
 GLIBC_2.27 semget F
 GLIBC_2.27 semop F
@@ -2318,6 +2319,7 @@ GLIBC_2.34 sem_destroy F
 GLIBC_2.34 sem_getvalue F
 GLIBC_2.34 sem_init F
 GLIBC_2.34 sem_open F
+GLIBC_2.34 sem_post F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
index 215454cc39..b102df08a7 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_post F
 GLIBC_2.27 sem_timedwait F
 GLIBC_2.27 sem_trywait F
 GLIBC_2.27 sem_unlink F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
index ca7a6eec05..118d2a04ce 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
@@ -989,6 +989,7 @@ GLIBC_2.0 select F
 GLIBC_2.0 sem_destroy F
 GLIBC_2.0 sem_getvalue F
 GLIBC_2.0 sem_init F
+GLIBC_2.0 sem_post F
 GLIBC_2.0 semctl F
 GLIBC_2.0 semget F
 GLIBC_2.0 semop F
@@ -1603,6 +1604,7 @@ GLIBC_2.1 scandir64 F
 GLIBC_2.1 sem_destroy F
 GLIBC_2.1 sem_getvalue F
 GLIBC_2.1 sem_init F
+GLIBC_2.1 sem_post F
 GLIBC_2.1 sendfile F
 GLIBC_2.1 setrlimit64 F
 GLIBC_2.1 setutxent F
@@ -2399,6 +2401,7 @@ GLIBC_2.34 sem_destroy F
 GLIBC_2.34 sem_getvalue F
 GLIBC_2.34 sem_init F
 GLIBC_2.34 sem_open F
+GLIBC_2.34 sem_post F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
index 6ed45aa436..966ce977a8 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_post F
 GLIBC_2.0 sem_trywait F
 GLIBC_2.0 sem_wait F
 GLIBC_2.1 pthread_attr_getguardsize F
@@ -21,7 +20,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_post F
 GLIBC_2.1 sem_trywait F
 GLIBC_2.1 sem_wait F
 GLIBC_2.1.1 sem_unlink F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
index 9d13b92c53..6c5783579b 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
@@ -1475,6 +1475,7 @@ GLIBC_2.2 sem_destroy F
 GLIBC_2.2 sem_getvalue F
 GLIBC_2.2 sem_init F
 GLIBC_2.2 sem_open F
+GLIBC_2.2 sem_post F
 GLIBC_2.2 semctl F
 GLIBC_2.2 semget F
 GLIBC_2.2 semop F
@@ -2289,6 +2290,7 @@ GLIBC_2.34 sem_destroy F
 GLIBC_2.34 sem_getvalue F
 GLIBC_2.34 sem_init F
 GLIBC_2.34 sem_open F
+GLIBC_2.34 sem_post F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
index 162c5743a9..8ecf3125a6 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_post F
 GLIBC_2.2 sem_timedwait F
 GLIBC_2.2 sem_trywait F
 GLIBC_2.2 sem_unlink F
diff --git a/sysdeps/unix/sysv/linux/sh/be/libc.abilist b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
index 0cea6eb093..d357f4ceb1 100644
--- a/sysdeps/unix/sysv/linux/sh/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
@@ -1461,6 +1461,7 @@ GLIBC_2.2 sem_destroy F
 GLIBC_2.2 sem_getvalue F
 GLIBC_2.2 sem_init F
 GLIBC_2.2 sem_open F
+GLIBC_2.2 sem_post F
 GLIBC_2.2 semctl F
 GLIBC_2.2 semget F
 GLIBC_2.2 semop F
@@ -2258,6 +2259,7 @@ GLIBC_2.34 sem_destroy F
 GLIBC_2.34 sem_getvalue F
 GLIBC_2.34 sem_init F
 GLIBC_2.34 sem_open F
+GLIBC_2.34 sem_post F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
index 9e3a2d7b79..069e32a2c2 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_post F
 GLIBC_2.2 sem_timedwait F
 GLIBC_2.2 sem_trywait F
 GLIBC_2.2 sem_unlink F
diff --git a/sysdeps/unix/sysv/linux/sh/le/libc.abilist b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
index af2e74fdfa..ff348ac39d 100644
--- a/sysdeps/unix/sysv/linux/sh/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
@@ -1461,6 +1461,7 @@ GLIBC_2.2 sem_destroy F
 GLIBC_2.2 sem_getvalue F
 GLIBC_2.2 sem_init F
 GLIBC_2.2 sem_open F
+GLIBC_2.2 sem_post F
 GLIBC_2.2 semctl F
 GLIBC_2.2 semget F
 GLIBC_2.2 semop F
@@ -2255,6 +2256,7 @@ GLIBC_2.34 sem_destroy F
 GLIBC_2.34 sem_getvalue F
 GLIBC_2.34 sem_init F
 GLIBC_2.34 sem_open F
+GLIBC_2.34 sem_post F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
index 9e3a2d7b79..069e32a2c2 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_post F
 GLIBC_2.2 sem_timedwait F
 GLIBC_2.2 sem_trywait F
 GLIBC_2.2 sem_unlink F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
index 79b69a31be..3a54c61f14 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
@@ -992,6 +992,7 @@ GLIBC_2.0 select F
 GLIBC_2.0 sem_destroy F
 GLIBC_2.0 sem_getvalue F
 GLIBC_2.0 sem_init F
+GLIBC_2.0 sem_post F
 GLIBC_2.0 semctl F
 GLIBC_2.0 semget F
 GLIBC_2.0 semop F
@@ -1604,6 +1605,7 @@ GLIBC_2.1 scandir64 F
 GLIBC_2.1 sem_destroy F
 GLIBC_2.1 sem_getvalue F
 GLIBC_2.1 sem_init F
+GLIBC_2.1 sem_post F
 GLIBC_2.1 sendfile F
 GLIBC_2.1 setrlimit64 F
 GLIBC_2.1 setutxent F
@@ -2390,6 +2392,7 @@ GLIBC_2.34 sem_destroy F
 GLIBC_2.34 sem_getvalue F
 GLIBC_2.34 sem_init F
 GLIBC_2.34 sem_open F
+GLIBC_2.34 sem_post F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
index 04dca3fb17..1e04fed446 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_post F
 GLIBC_2.0 sem_trywait F
 GLIBC_2.0 sem_wait F
 GLIBC_2.1 pthread_attr_getguardsize F
@@ -21,7 +20,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_post F
 GLIBC_2.1 sem_trywait F
 GLIBC_2.1 sem_wait F
 GLIBC_2.1.1 sem_unlink F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
index 8e367c0030..ec86498235 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
@@ -1504,6 +1504,7 @@ GLIBC_2.2 sem_destroy F
 GLIBC_2.2 sem_getvalue F
 GLIBC_2.2 sem_init F
 GLIBC_2.2 sem_open F
+GLIBC_2.2 sem_post F
 GLIBC_2.2 semctl F
 GLIBC_2.2 semget F
 GLIBC_2.2 semop F
@@ -2306,6 +2307,7 @@ GLIBC_2.34 sem_destroy F
 GLIBC_2.34 sem_getvalue F
 GLIBC_2.34 sem_init F
 GLIBC_2.34 sem_open F
+GLIBC_2.34 sem_post F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
index 2439b506d9..993a2481b8 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_post F
 GLIBC_2.2 sem_timedwait F
 GLIBC_2.2 sem_trywait F
 GLIBC_2.2 sem_unlink F
diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
index 83f18b509d..c60b9d4baa 100644
--- a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
@@ -1472,6 +1472,7 @@ GLIBC_2.2.5 sem_destroy F
 GLIBC_2.2.5 sem_getvalue F
 GLIBC_2.2.5 sem_init F
 GLIBC_2.2.5 sem_open F
+GLIBC_2.2.5 sem_post F
 GLIBC_2.2.5 semctl F
 GLIBC_2.2.5 semget F
 GLIBC_2.2.5 semop F
@@ -2267,6 +2268,7 @@ GLIBC_2.34 sem_destroy F
 GLIBC_2.34 sem_getvalue F
 GLIBC_2.34 sem_init F
 GLIBC_2.34 sem_open F
+GLIBC_2.34 sem_post F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
index 145925269d..3e760487f0 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_post F
 GLIBC_2.2.5 sem_timedwait F
 GLIBC_2.2.5 sem_trywait F
 GLIBC_2.2.5 sem_unlink F
diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
index 01dd2eb8a6..1637d12535 100644
--- a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
@@ -1671,6 +1671,7 @@ GLIBC_2.16 sem_destroy F
 GLIBC_2.16 sem_getvalue F
 GLIBC_2.16 sem_init F
 GLIBC_2.16 sem_open F
+GLIBC_2.16 sem_post F
 GLIBC_2.16 semctl F
 GLIBC_2.16 semget F
 GLIBC_2.16 semop F
@@ -2372,6 +2373,7 @@ GLIBC_2.34 sem_destroy F
 GLIBC_2.34 sem_getvalue F
 GLIBC_2.34 sem_init F
 GLIBC_2.34 sem_open F
+GLIBC_2.34 sem_post F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
index bbbaa04cd7..b63a912fde 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_post F
 GLIBC_2.16 sem_timedwait F
 GLIBC_2.16 sem_trywait F
 GLIBC_2.16 sem_unlink F
-- 
2.30.2



^ permalink raw reply	[flat|nested] 24+ messages in thread

* [PATCH 09/11] nptl: Move sem_timedwait into libc
  2021-05-03 13:51 [PATCH 00/11] nptl: Move semaphore functions into libc Florian Weimer
                   ` (7 preceding siblings ...)
  2021-05-03 13:52 ` [PATCH 08/11] nptl: Move sem_post " Florian Weimer
@ 2021-05-03 13:52 ` Florian Weimer
  2021-05-05 14:37   ` Adhemerval Zanella
  2021-05-03 13:52 ` [PATCH 10/11] nptl: Move sem_unlink " Florian Weimer
  2021-05-03 13:52 ` [PATCH 11/11] nptl: Move sem_trywait, sem_wait " Florian Weimer
  10 siblings, 1 reply; 24+ messages in thread
From: Florian Weimer @ 2021-05-03 13:52 UTC (permalink / raw)
  To: libc-alpha

The symbol was moved using scripts/move-symbol-to-libc.py.
---
 nptl/Makefile                                  |  2 +-
 nptl/Versions                                  |  3 ++-
 nptl/sem_timedwait.c                           | 18 +++++++++++++-----
 nptl/semaphoreP.h                              |  2 +-
 sysdeps/unix/sysv/linux/aarch64/libc.abilist   |  2 ++
 .../unix/sysv/linux/aarch64/libpthread.abilist |  1 -
 sysdeps/unix/sysv/linux/alpha/libc.abilist     |  2 ++
 .../unix/sysv/linux/alpha/libpthread.abilist   |  1 -
 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 ++
 .../unix/sysv/linux/arm/be/libpthread.abilist  |  1 -
 sysdeps/unix/sysv/linux/arm/le/libc.abilist    |  2 ++
 .../unix/sysv/linux/arm/le/libpthread.abilist  |  1 -
 sysdeps/unix/sysv/linux/csky/libc.abilist      |  2 ++
 .../unix/sysv/linux/csky/libpthread.abilist    |  1 -
 sysdeps/unix/sysv/linux/hppa/libc.abilist      |  2 ++
 .../unix/sysv/linux/hppa/libpthread.abilist    |  1 -
 sysdeps/unix/sysv/linux/i386/libc.abilist      |  2 ++
 .../unix/sysv/linux/i386/libpthread.abilist    |  1 -
 sysdeps/unix/sysv/linux/ia64/libc.abilist      |  2 ++
 .../unix/sysv/linux/ia64/libpthread.abilist    |  1 -
 .../unix/sysv/linux/m68k/coldfire/libc.abilist |  2 ++
 .../linux/m68k/coldfire/libpthread.abilist     |  1 -
 .../unix/sysv/linux/m68k/m680x0/libc.abilist   |  2 ++
 .../sysv/linux/m68k/m680x0/libpthread.abilist  |  1 -
 .../unix/sysv/linux/microblaze/be/libc.abilist |  2 ++
 .../linux/microblaze/be/libpthread.abilist     |  1 -
 .../unix/sysv/linux/microblaze/le/libc.abilist |  2 ++
 .../linux/microblaze/le/libpthread.abilist     |  1 -
 .../sysv/linux/mips/mips32/fpu/libc.abilist    |  2 ++
 .../sysv/linux/mips/mips32/libpthread.abilist  |  1 -
 .../sysv/linux/mips/mips32/nofpu/libc.abilist  |  2 ++
 .../sysv/linux/mips/mips64/libpthread.abilist  |  1 -
 .../sysv/linux/mips/mips64/n32/libc.abilist    |  2 ++
 .../sysv/linux/mips/mips64/n64/libc.abilist    |  2 ++
 sysdeps/unix/sysv/linux/nios2/libc.abilist     |  2 ++
 .../unix/sysv/linux/nios2/libpthread.abilist   |  1 -
 .../linux/powerpc/powerpc32/fpu/libc.abilist   |  2 ++
 .../linux/powerpc/powerpc32/libpthread.abilist |  1 -
 .../linux/powerpc/powerpc32/nofpu/libc.abilist |  2 ++
 .../linux/powerpc/powerpc64/be/libc.abilist    |  2 ++
 .../powerpc/powerpc64/be/libpthread.abilist    |  1 -
 .../linux/powerpc/powerpc64/le/libc.abilist    |  2 ++
 .../powerpc/powerpc64/le/libpthread.abilist    |  1 -
 .../unix/sysv/linux/riscv/rv32/libc.abilist    |  2 ++
 .../sysv/linux/riscv/rv32/libpthread.abilist   |  1 -
 .../unix/sysv/linux/riscv/rv64/libc.abilist    |  2 ++
 .../sysv/linux/riscv/rv64/libpthread.abilist   |  1 -
 .../unix/sysv/linux/s390/s390-32/libc.abilist  |  2 ++
 .../sysv/linux/s390/s390-32/libpthread.abilist |  1 -
 .../unix/sysv/linux/s390/s390-64/libc.abilist  |  2 ++
 .../sysv/linux/s390/s390-64/libpthread.abilist |  1 -
 sysdeps/unix/sysv/linux/sh/be/libc.abilist     |  2 ++
 .../unix/sysv/linux/sh/be/libpthread.abilist   |  1 -
 sysdeps/unix/sysv/linux/sh/le/libc.abilist     |  2 ++
 .../unix/sysv/linux/sh/le/libpthread.abilist   |  1 -
 .../unix/sysv/linux/sparc/sparc32/libc.abilist |  2 ++
 .../linux/sparc/sparc32/libpthread.abilist     |  1 -
 .../unix/sysv/linux/sparc/sparc64/libc.abilist |  2 ++
 .../linux/sparc/sparc64/libpthread.abilist     |  1 -
 sysdeps/unix/sysv/linux/x86_64/64/libc.abilist |  2 ++
 .../sysv/linux/x86_64/64/libpthread.abilist    |  1 -
 .../unix/sysv/linux/x86_64/x32/libc.abilist    |  2 ++
 .../sysv/linux/x86_64/x32/libpthread.abilist   |  1 -
 65 files changed, 81 insertions(+), 37 deletions(-)

diff --git a/nptl/Makefile b/nptl/Makefile
index 36c0f270b9..9f73cf2434 100644
--- a/nptl/Makefile
+++ b/nptl/Makefile
@@ -158,6 +158,7 @@ routines = \
   sem_open \
   sem_post \
   sem_routines \
+  sem_timedwait \
   tpp \
   unwind \
 
@@ -209,7 +210,6 @@ libpthread-routines = \
   pthread_sigqueue \
   pthread_timedjoin \
   pthread_tryjoin \
-  sem_timedwait \
   sem_unlink \
   sem_wait \
   vars \
diff --git a/nptl/Versions b/nptl/Versions
index df3967516f..f19c2355f1 100644
--- a/nptl/Versions
+++ b/nptl/Versions
@@ -114,6 +114,7 @@ libc {
     pthread_spin_trylock;
     pthread_spin_unlock;
     pthread_yield;
+    sem_timedwait;
   }
   GLIBC_2.2.3 {
     pthread_getattr_np;
@@ -267,6 +268,7 @@ libc {
     sem_init;
     sem_open;
     sem_post;
+    sem_timedwait;
     thrd_exit;
     tss_create;
     tss_delete;
@@ -371,7 +373,6 @@ libpthread {
     pthread_yield;
     pthread_rwlock_timedrdlock;
     pthread_rwlock_timedwrlock;
-    sem_timedwait;
   }
 
   GLIBC_2.2.3 {
diff --git a/nptl/sem_timedwait.c b/nptl/sem_timedwait.c
index 770020e26c..584546c706 100644
--- a/nptl/sem_timedwait.c
+++ b/nptl/sem_timedwait.c
@@ -24,7 +24,7 @@
 /* This is in a separate file because because sem_timedwait is only provided
    if __USE_XOPEN2K is defined.  */
 int
-__sem_timedwait64 (sem_t *sem, const struct __timespec64 *abstime)
+___sem_timedwait64 (sem_t *sem, const struct __timespec64 *abstime)
 {
   if (! valid_nanoseconds (abstime->tv_nsec))
     {
@@ -42,15 +42,23 @@ __sem_timedwait64 (sem_t *sem, const struct __timespec64 *abstime)
 				  CLOCK_REALTIME, abstime);
 }
 
-#if __TIMESIZE != 64
-libpthread_hidden_def (__sem_timedwait64)
+#if __TIMESIZE == 64
+strong_alias (___sem_timedwait64, ___sem_timedwait)
+#else /* __TIMESPEC64 != 64 */
+libc_hidden_ver (___sem_timedwait64, __sem_timedwait64)
+#ifndef SHARED
+strong_alias (___sem_timedwait64, __sem_timedwait64)
+#endif
 
 int
-__sem_timedwait (sem_t *sem, const struct timespec *abstime)
+___sem_timedwait (sem_t *sem, const struct timespec *abstime)
 {
   struct __timespec64 ts64 = valid_timespec_to_timespec64 (*abstime);
 
   return __sem_timedwait64 (sem, &ts64);
 }
+#endif /* __TIMESPEC64 != 64 */
+versioned_symbol (libc, ___sem_timedwait, sem_timedwait, GLIBC_2_34);
+#if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_2, GLIBC_2_34)
+compat_symbol (libpthread, ___sem_timedwait, sem_timedwait, GLIBC_2_2);
 #endif
-weak_alias (__sem_timedwait, sem_timedwait)
diff --git a/nptl/semaphoreP.h b/nptl/semaphoreP.h
index f030f0e4de..43ad849761 100644
--- a/nptl/semaphoreP.h
+++ b/nptl/semaphoreP.h
@@ -57,5 +57,5 @@ __sem_clockwait64 (sem_t *sem, clockid_t clockid,
 libc_hidden_proto (__sem_clockwait64)
 extern int
 __sem_timedwait64 (sem_t *sem, const struct __timespec64 *abstime);
-libpthread_hidden_proto (__sem_timedwait64)
+libc_hidden_proto (__sem_timedwait64)
 #endif
diff --git a/sysdeps/unix/sysv/linux/aarch64/libc.abilist b/sysdeps/unix/sysv/linux/aarch64/libc.abilist
index c785610d5e..3da65776d9 100644
--- a/sysdeps/unix/sysv/linux/aarch64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/aarch64/libc.abilist
@@ -1666,6 +1666,7 @@ GLIBC_2.17 sem_getvalue F
 GLIBC_2.17 sem_init F
 GLIBC_2.17 sem_open F
 GLIBC_2.17 sem_post F
+GLIBC_2.17 sem_timedwait F
 GLIBC_2.17 semctl F
 GLIBC_2.17 semget F
 GLIBC_2.17 semop F
@@ -2359,6 +2360,7 @@ GLIBC_2.34 sem_getvalue F
 GLIBC_2.34 sem_init F
 GLIBC_2.34 sem_open F
 GLIBC_2.34 sem_post F
+GLIBC_2.34 sem_timedwait F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
index e2a5c2b8e0..da05cd4d59 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_timedwait F
 GLIBC_2.17 sem_trywait F
 GLIBC_2.17 sem_unlink F
 GLIBC_2.17 sem_wait F
diff --git a/sysdeps/unix/sysv/linux/alpha/libc.abilist b/sysdeps/unix/sysv/linux/alpha/libc.abilist
index f1c5a64493..6e71456850 100644
--- a/sysdeps/unix/sysv/linux/alpha/libc.abilist
+++ b/sysdeps/unix/sysv/linux/alpha/libc.abilist
@@ -2026,6 +2026,7 @@ GLIBC_2.2 rcmd_af F
 GLIBC_2.2 rexec_af F
 GLIBC_2.2 rresvport_af F
 GLIBC_2.2 ruserok_af F
+GLIBC_2.2 sem_timedwait F
 GLIBC_2.2 semctl F
 GLIBC_2.2 shmctl F
 GLIBC_2.2 svc_getreq_common F
@@ -2444,6 +2445,7 @@ GLIBC_2.34 sem_getvalue F
 GLIBC_2.34 sem_init F
 GLIBC_2.34 sem_open F
 GLIBC_2.34 sem_post F
+GLIBC_2.34 sem_timedwait F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
index 1e04fed446..64f7b97cfd 100644
--- a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
@@ -38,7 +38,6 @@ GLIBC_2.2 pthread_barrierattr_destroy F
 GLIBC_2.2 pthread_barrierattr_init F
 GLIBC_2.2 pthread_barrierattr_setpshared F
 GLIBC_2.2 pthread_getcpuclockid F
-GLIBC_2.2 sem_timedwait F
 GLIBC_2.2.3 __libpthread_version_placeholder F
 GLIBC_2.2.6 __libpthread_version_placeholder F
 GLIBC_2.28 thrd_create F
diff --git a/sysdeps/unix/sysv/linux/arc/libc.abilist b/sysdeps/unix/sysv/linux/arc/libc.abilist
index 794544cd1d..3dcbebada1 100644
--- a/sysdeps/unix/sysv/linux/arc/libc.abilist
+++ b/sysdeps/unix/sysv/linux/arc/libc.abilist
@@ -1608,6 +1608,7 @@ GLIBC_2.32 sem_getvalue F
 GLIBC_2.32 sem_init F
 GLIBC_2.32 sem_open F
 GLIBC_2.32 sem_post F
+GLIBC_2.32 sem_timedwait F
 GLIBC_2.32 semctl F
 GLIBC_2.32 semget F
 GLIBC_2.32 semop F
@@ -2118,6 +2119,7 @@ GLIBC_2.34 sem_getvalue F
 GLIBC_2.34 sem_init F
 GLIBC_2.34 sem_open F
 GLIBC_2.34 sem_post F
+GLIBC_2.34 sem_timedwait F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/arc/libpthread.abilist b/sysdeps/unix/sysv/linux/arc/libpthread.abilist
index ed2bdcf3fa..d11ab85312 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_timedwait F
 GLIBC_2.32 sem_trywait F
 GLIBC_2.32 sem_unlink F
 GLIBC_2.32 sem_wait F
diff --git a/sysdeps/unix/sysv/linux/arm/be/libc.abilist b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
index f483c62b12..aec8132bd5 100644
--- a/sysdeps/unix/sysv/linux/arm/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
@@ -259,6 +259,7 @@ GLIBC_2.34 sem_getvalue F
 GLIBC_2.34 sem_init F
 GLIBC_2.34 sem_open F
 GLIBC_2.34 sem_post F
+GLIBC_2.34 sem_timedwait F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
@@ -1850,6 +1851,7 @@ GLIBC_2.4 sem_getvalue F
 GLIBC_2.4 sem_init F
 GLIBC_2.4 sem_open F
 GLIBC_2.4 sem_post F
+GLIBC_2.4 sem_timedwait F
 GLIBC_2.4 semctl F
 GLIBC_2.4 semget F
 GLIBC_2.4 semop F
diff --git a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
index 0f562f4d9e..7dc74135e3 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_timedwait F
 GLIBC_2.4 sem_trywait F
 GLIBC_2.4 sem_unlink F
 GLIBC_2.4 sem_wait F
diff --git a/sysdeps/unix/sysv/linux/arm/le/libc.abilist b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
index acca7c7ea6..2f2e2fb7a2 100644
--- a/sysdeps/unix/sysv/linux/arm/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
@@ -256,6 +256,7 @@ GLIBC_2.34 sem_getvalue F
 GLIBC_2.34 sem_init F
 GLIBC_2.34 sem_open F
 GLIBC_2.34 sem_post F
+GLIBC_2.34 sem_timedwait F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
@@ -1847,6 +1848,7 @@ GLIBC_2.4 sem_getvalue F
 GLIBC_2.4 sem_init F
 GLIBC_2.4 sem_open F
 GLIBC_2.4 sem_post F
+GLIBC_2.4 sem_timedwait F
 GLIBC_2.4 semctl F
 GLIBC_2.4 semget F
 GLIBC_2.4 semop F
diff --git a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
index 0f562f4d9e..7dc74135e3 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_timedwait F
 GLIBC_2.4 sem_trywait F
 GLIBC_2.4 sem_unlink F
 GLIBC_2.4 sem_wait F
diff --git a/sysdeps/unix/sysv/linux/csky/libc.abilist b/sysdeps/unix/sysv/linux/csky/libc.abilist
index 480d93f880..e17de2294f 100644
--- a/sysdeps/unix/sysv/linux/csky/libc.abilist
+++ b/sysdeps/unix/sysv/linux/csky/libc.abilist
@@ -1669,6 +1669,7 @@ GLIBC_2.29 sem_getvalue F
 GLIBC_2.29 sem_init F
 GLIBC_2.29 sem_open F
 GLIBC_2.29 sem_post F
+GLIBC_2.29 sem_timedwait F
 GLIBC_2.29 semctl F
 GLIBC_2.29 semget F
 GLIBC_2.29 semop F
@@ -2302,6 +2303,7 @@ GLIBC_2.34 sem_getvalue F
 GLIBC_2.34 sem_init F
 GLIBC_2.34 sem_open F
 GLIBC_2.34 sem_post F
+GLIBC_2.34 sem_timedwait F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/csky/libpthread.abilist b/sysdeps/unix/sysv/linux/csky/libpthread.abilist
index c3a14fa4a2..f3286d7d92 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_timedwait F
 GLIBC_2.29 sem_trywait F
 GLIBC_2.29 sem_unlink F
 GLIBC_2.29 sem_wait F
diff --git a/sysdeps/unix/sysv/linux/hppa/libc.abilist b/sysdeps/unix/sysv/linux/hppa/libc.abilist
index 90b5df3648..a64c7afdd8 100644
--- a/sysdeps/unix/sysv/linux/hppa/libc.abilist
+++ b/sysdeps/unix/sysv/linux/hppa/libc.abilist
@@ -1458,6 +1458,7 @@ GLIBC_2.2 sem_getvalue F
 GLIBC_2.2 sem_init F
 GLIBC_2.2 sem_open F
 GLIBC_2.2 sem_post F
+GLIBC_2.2 sem_timedwait F
 GLIBC_2.2 semctl F
 GLIBC_2.2 semget F
 GLIBC_2.2 semop F
@@ -2253,6 +2254,7 @@ GLIBC_2.34 sem_getvalue F
 GLIBC_2.34 sem_init F
 GLIBC_2.34 sem_open F
 GLIBC_2.34 sem_post F
+GLIBC_2.34 sem_timedwait F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
index 069e32a2c2..e6282e233c 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_timedwait F
 GLIBC_2.2 sem_trywait F
 GLIBC_2.2 sem_unlink F
 GLIBC_2.2 sem_wait F
diff --git a/sysdeps/unix/sysv/linux/i386/libc.abilist b/sysdeps/unix/sysv/linux/i386/libc.abilist
index aea4c70ae9..1486c5dbcb 100644
--- a/sysdeps/unix/sysv/linux/i386/libc.abilist
+++ b/sysdeps/unix/sysv/linux/i386/libc.abilist
@@ -2038,6 +2038,7 @@ GLIBC_2.2 rexec_af F
 GLIBC_2.2 rresvport_af F
 GLIBC_2.2 ruserok_af F
 GLIBC_2.2 scandir64 F
+GLIBC_2.2 sem_timedwait F
 GLIBC_2.2 semctl F
 GLIBC_2.2 setrlimit F
 GLIBC_2.2 shmctl F
@@ -2434,6 +2435,7 @@ GLIBC_2.34 sem_getvalue F
 GLIBC_2.34 sem_init F
 GLIBC_2.34 sem_open F
 GLIBC_2.34 sem_post F
+GLIBC_2.34 sem_timedwait F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/i386/libpthread.abilist b/sysdeps/unix/sysv/linux/i386/libpthread.abilist
index b4af14301c..c94979df12 100644
--- a/sysdeps/unix/sysv/linux/i386/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/i386/libpthread.abilist
@@ -38,7 +38,6 @@ GLIBC_2.2 pthread_barrierattr_destroy F
 GLIBC_2.2 pthread_barrierattr_init F
 GLIBC_2.2 pthread_barrierattr_setpshared F
 GLIBC_2.2 pthread_getcpuclockid F
-GLIBC_2.2 sem_timedwait F
 GLIBC_2.2.3 __libpthread_version_placeholder F
 GLIBC_2.2.6 __libpthread_version_placeholder F
 GLIBC_2.28 thrd_create F
diff --git a/sysdeps/unix/sysv/linux/ia64/libc.abilist b/sysdeps/unix/sysv/linux/ia64/libc.abilist
index 8444ec41d2..044d56cac8 100644
--- a/sysdeps/unix/sysv/linux/ia64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/ia64/libc.abilist
@@ -1479,6 +1479,7 @@ GLIBC_2.2 sem_getvalue F
 GLIBC_2.2 sem_init F
 GLIBC_2.2 sem_open F
 GLIBC_2.2 sem_post F
+GLIBC_2.2 sem_timedwait F
 GLIBC_2.2 semctl F
 GLIBC_2.2 semget F
 GLIBC_2.2 semop F
@@ -2287,6 +2288,7 @@ GLIBC_2.34 sem_getvalue F
 GLIBC_2.34 sem_init F
 GLIBC_2.34 sem_open F
 GLIBC_2.34 sem_post F
+GLIBC_2.34 sem_timedwait F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
index 993a2481b8..4573250afa 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_timedwait F
 GLIBC_2.2 sem_trywait F
 GLIBC_2.2 sem_unlink F
 GLIBC_2.2 sem_wait F
diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
index 0d678c99a2..d0e68c2bc1 100644
--- a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
@@ -260,6 +260,7 @@ GLIBC_2.34 sem_getvalue F
 GLIBC_2.34 sem_init F
 GLIBC_2.34 sem_open F
 GLIBC_2.34 sem_post F
+GLIBC_2.34 sem_timedwait F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
@@ -1830,6 +1831,7 @@ GLIBC_2.4 sem_getvalue F
 GLIBC_2.4 sem_init F
 GLIBC_2.4 sem_open F
 GLIBC_2.4 sem_post F
+GLIBC_2.4 sem_timedwait F
 GLIBC_2.4 semctl F
 GLIBC_2.4 semget F
 GLIBC_2.4 semop F
diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
index 0f562f4d9e..7dc74135e3 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_timedwait F
 GLIBC_2.4 sem_trywait F
 GLIBC_2.4 sem_unlink F
 GLIBC_2.4 sem_wait F
diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
index 2716410e46..3fd4c8b544 100644
--- a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
@@ -1994,6 +1994,7 @@ GLIBC_2.2 rexec_af F
 GLIBC_2.2 rresvport_af F
 GLIBC_2.2 ruserok_af F
 GLIBC_2.2 scandir64 F
+GLIBC_2.2 sem_timedwait F
 GLIBC_2.2 semctl F
 GLIBC_2.2 setrlimit F
 GLIBC_2.2 shmctl F
@@ -2377,6 +2378,7 @@ GLIBC_2.34 sem_getvalue F
 GLIBC_2.34 sem_init F
 GLIBC_2.34 sem_open F
 GLIBC_2.34 sem_post F
+GLIBC_2.34 sem_timedwait F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
index b4af14301c..c94979df12 100644
--- a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
@@ -38,7 +38,6 @@ GLIBC_2.2 pthread_barrierattr_destroy F
 GLIBC_2.2 pthread_barrierattr_init F
 GLIBC_2.2 pthread_barrierattr_setpshared F
 GLIBC_2.2 pthread_getcpuclockid F
-GLIBC_2.2 sem_timedwait F
 GLIBC_2.2.3 __libpthread_version_placeholder F
 GLIBC_2.2.6 __libpthread_version_placeholder F
 GLIBC_2.28 thrd_create F
diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
index 38d725dd3a..41d99361c5 100644
--- a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
@@ -1668,6 +1668,7 @@ GLIBC_2.18 sem_getvalue F
 GLIBC_2.18 sem_init F
 GLIBC_2.18 sem_open F
 GLIBC_2.18 sem_post F
+GLIBC_2.18 sem_timedwait F
 GLIBC_2.18 semctl F
 GLIBC_2.18 semget F
 GLIBC_2.18 semop F
@@ -2353,6 +2354,7 @@ GLIBC_2.34 sem_getvalue F
 GLIBC_2.34 sem_init F
 GLIBC_2.34 sem_open F
 GLIBC_2.34 sem_post F
+GLIBC_2.34 sem_timedwait F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
index 518406c580..50483447c3 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_timedwait F
 GLIBC_2.18 sem_trywait F
 GLIBC_2.18 sem_unlink F
 GLIBC_2.18 sem_wait F
diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
index d4079051df..bc5512f728 100644
--- a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
@@ -1668,6 +1668,7 @@ GLIBC_2.18 sem_getvalue F
 GLIBC_2.18 sem_init F
 GLIBC_2.18 sem_open F
 GLIBC_2.18 sem_post F
+GLIBC_2.18 sem_timedwait F
 GLIBC_2.18 semctl F
 GLIBC_2.18 semget F
 GLIBC_2.18 semop F
@@ -2350,6 +2351,7 @@ GLIBC_2.34 sem_getvalue F
 GLIBC_2.34 sem_init F
 GLIBC_2.34 sem_open F
 GLIBC_2.34 sem_post F
+GLIBC_2.34 sem_timedwait F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
index 518406c580..50483447c3 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_timedwait F
 GLIBC_2.18 sem_trywait F
 GLIBC_2.18 sem_unlink F
 GLIBC_2.18 sem_wait F
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
index ee148e01c2..a9052fd2d2 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
@@ -1898,6 +1898,7 @@ GLIBC_2.2 sem_getvalue F
 GLIBC_2.2 sem_init F
 GLIBC_2.2 sem_open F
 GLIBC_2.2 sem_post F
+GLIBC_2.2 sem_timedwait F
 GLIBC_2.2 semctl F
 GLIBC_2.2 sendfile F
 GLIBC_2.2 setrlimit64 F
@@ -2340,6 +2341,7 @@ GLIBC_2.34 sem_getvalue F
 GLIBC_2.34 sem_init F
 GLIBC_2.34 sem_open F
 GLIBC_2.34 sem_post F
+GLIBC_2.34 sem_timedwait F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
index 9482a83b1c..f9cca8a676 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
@@ -34,7 +34,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_timedwait F
 GLIBC_2.2 sem_trywait F
 GLIBC_2.2 sem_unlink F
 GLIBC_2.2 sem_wait F
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
index f6d465871f..c1510d2570 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
@@ -1896,6 +1896,7 @@ GLIBC_2.2 sem_getvalue F
 GLIBC_2.2 sem_init F
 GLIBC_2.2 sem_open F
 GLIBC_2.2 sem_post F
+GLIBC_2.2 sem_timedwait F
 GLIBC_2.2 semctl F
 GLIBC_2.2 sendfile F
 GLIBC_2.2 setrlimit64 F
@@ -2338,6 +2339,7 @@ GLIBC_2.34 sem_getvalue F
 GLIBC_2.34 sem_init F
 GLIBC_2.34 sem_open F
 GLIBC_2.34 sem_post F
+GLIBC_2.34 sem_timedwait F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
index 9482a83b1c..f9cca8a676 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
@@ -34,7 +34,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_timedwait F
 GLIBC_2.2 sem_trywait F
 GLIBC_2.2 sem_unlink F
 GLIBC_2.2 sem_wait F
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
index 22bb85c170..bce71b4ff8 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
@@ -1896,6 +1896,7 @@ GLIBC_2.2 sem_getvalue F
 GLIBC_2.2 sem_init F
 GLIBC_2.2 sem_open F
 GLIBC_2.2 sem_post F
+GLIBC_2.2 sem_timedwait F
 GLIBC_2.2 sendfile F
 GLIBC_2.2 setrlimit64 F
 GLIBC_2.2 setutxent F
@@ -2346,6 +2347,7 @@ GLIBC_2.34 sem_getvalue F
 GLIBC_2.34 sem_init F
 GLIBC_2.34 sem_open F
 GLIBC_2.34 sem_post F
+GLIBC_2.34 sem_timedwait F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
index a2c0ac31eb..e7919379ff 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
@@ -1892,6 +1892,7 @@ GLIBC_2.2 sem_getvalue F
 GLIBC_2.2 sem_init F
 GLIBC_2.2 sem_open F
 GLIBC_2.2 sem_post F
+GLIBC_2.2 sem_timedwait F
 GLIBC_2.2 sendfile F
 GLIBC_2.2 setrlimit64 F
 GLIBC_2.2 setutxent F
@@ -2340,6 +2341,7 @@ GLIBC_2.34 sem_getvalue F
 GLIBC_2.34 sem_init F
 GLIBC_2.34 sem_open F
 GLIBC_2.34 sem_post F
+GLIBC_2.34 sem_timedwait F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/nios2/libc.abilist b/sysdeps/unix/sysv/linux/nios2/libc.abilist
index 5491bc9076..022e7b13c0 100644
--- a/sysdeps/unix/sysv/linux/nios2/libc.abilist
+++ b/sysdeps/unix/sysv/linux/nios2/libc.abilist
@@ -1711,6 +1711,7 @@ GLIBC_2.21 sem_getvalue F
 GLIBC_2.21 sem_init F
 GLIBC_2.21 sem_open F
 GLIBC_2.21 sem_post F
+GLIBC_2.21 sem_timedwait F
 GLIBC_2.21 semctl F
 GLIBC_2.21 semget F
 GLIBC_2.21 semop F
@@ -2392,6 +2393,7 @@ GLIBC_2.34 sem_getvalue F
 GLIBC_2.34 sem_init F
 GLIBC_2.34 sem_open F
 GLIBC_2.34 sem_post F
+GLIBC_2.34 sem_timedwait F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
index d966123dd7..2c6366d253 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_timedwait F
 GLIBC_2.21 sem_trywait F
 GLIBC_2.21 sem_unlink F
 GLIBC_2.21 sem_wait F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
index 9dfb36bcf1..6d96f00678 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
@@ -1999,6 +1999,7 @@ GLIBC_2.2 rexec_af F
 GLIBC_2.2 rresvport_af F
 GLIBC_2.2 ruserok_af F
 GLIBC_2.2 scandir64 F
+GLIBC_2.2 sem_timedwait F
 GLIBC_2.2 semctl F
 GLIBC_2.2 setrlimit F
 GLIBC_2.2 shmctl F
@@ -2404,6 +2405,7 @@ GLIBC_2.34 sem_getvalue F
 GLIBC_2.34 sem_init F
 GLIBC_2.34 sem_open F
 GLIBC_2.34 sem_post F
+GLIBC_2.34 sem_timedwait F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
index 3c6e065e52..2cb64d181e 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
@@ -38,7 +38,6 @@ GLIBC_2.2 pthread_barrierattr_destroy F
 GLIBC_2.2 pthread_barrierattr_init F
 GLIBC_2.2 pthread_barrierattr_setpshared F
 GLIBC_2.2 pthread_getcpuclockid F
-GLIBC_2.2 sem_timedwait F
 GLIBC_2.2.3 __libpthread_version_placeholder F
 GLIBC_2.2.6 __libpthread_version_placeholder F
 GLIBC_2.28 thrd_create F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
index b1f04fc147..1e9ab5406b 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
@@ -2003,6 +2003,7 @@ GLIBC_2.2 rexec_af F
 GLIBC_2.2 rresvport_af F
 GLIBC_2.2 ruserok_af F
 GLIBC_2.2 scandir64 F
+GLIBC_2.2 sem_timedwait F
 GLIBC_2.2 semctl F
 GLIBC_2.2 setrlimit F
 GLIBC_2.2 shmctl F
@@ -2437,6 +2438,7 @@ GLIBC_2.34 sem_getvalue F
 GLIBC_2.34 sem_init F
 GLIBC_2.34 sem_open F
 GLIBC_2.34 sem_post F
+GLIBC_2.34 sem_timedwait F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
index b5229a315f..fd10c13d52 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
@@ -1583,6 +1583,7 @@ GLIBC_2.3 sem_getvalue F
 GLIBC_2.3 sem_init F
 GLIBC_2.3 sem_open F
 GLIBC_2.3 sem_post F
+GLIBC_2.3 sem_timedwait F
 GLIBC_2.3 semctl F
 GLIBC_2.3 semget F
 GLIBC_2.3 semop F
@@ -2254,6 +2255,7 @@ GLIBC_2.34 sem_getvalue F
 GLIBC_2.34 sem_init F
 GLIBC_2.34 sem_open F
 GLIBC_2.34 sem_post F
+GLIBC_2.34 sem_timedwait F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
index 1118ba89f6..d83baa5b40 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_timedwait F
 GLIBC_2.3 sem_trywait F
 GLIBC_2.3 sem_unlink F
 GLIBC_2.3 sem_wait F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
index e68290a5fe..c73d3442a4 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
@@ -1754,6 +1754,7 @@ GLIBC_2.17 sem_getvalue F
 GLIBC_2.17 sem_init F
 GLIBC_2.17 sem_open F
 GLIBC_2.17 sem_post F
+GLIBC_2.17 sem_timedwait F
 GLIBC_2.17 semctl F
 GLIBC_2.17 semget F
 GLIBC_2.17 semop F
@@ -2555,6 +2556,7 @@ GLIBC_2.34 sem_getvalue F
 GLIBC_2.34 sem_init F
 GLIBC_2.34 sem_open F
 GLIBC_2.34 sem_post F
+GLIBC_2.34 sem_timedwait F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
index e2a5c2b8e0..da05cd4d59 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_timedwait F
 GLIBC_2.17 sem_trywait F
 GLIBC_2.17 sem_unlink F
 GLIBC_2.17 sem_wait F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
index f6062c942b..a44a2d24b0 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
@@ -1610,6 +1610,7 @@ GLIBC_2.33 sem_getvalue F
 GLIBC_2.33 sem_init F
 GLIBC_2.33 sem_open F
 GLIBC_2.33 sem_post F
+GLIBC_2.33 sem_timedwait F
 GLIBC_2.33 semctl F
 GLIBC_2.33 semget F
 GLIBC_2.33 semop F
@@ -2120,6 +2121,7 @@ GLIBC_2.34 sem_getvalue F
 GLIBC_2.34 sem_init F
 GLIBC_2.34 sem_open F
 GLIBC_2.34 sem_post F
+GLIBC_2.34 sem_timedwait F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
index 431e167351..95c2cc98ca 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_timedwait F
 GLIBC_2.33 sem_trywait F
 GLIBC_2.33 sem_unlink F
 GLIBC_2.33 sem_wait F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
index 0b667860ec..2bf396dc33 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
@@ -1658,6 +1658,7 @@ GLIBC_2.27 sem_getvalue F
 GLIBC_2.27 sem_init F
 GLIBC_2.27 sem_open F
 GLIBC_2.27 sem_post F
+GLIBC_2.27 sem_timedwait F
 GLIBC_2.27 semctl F
 GLIBC_2.27 semget F
 GLIBC_2.27 semop F
@@ -2320,6 +2321,7 @@ GLIBC_2.34 sem_getvalue F
 GLIBC_2.34 sem_init F
 GLIBC_2.34 sem_open F
 GLIBC_2.34 sem_post F
+GLIBC_2.34 sem_timedwait F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
index b102df08a7..efbdd69d5f 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_timedwait F
 GLIBC_2.27 sem_trywait F
 GLIBC_2.27 sem_unlink F
 GLIBC_2.27 sem_wait F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
index 118d2a04ce..a39aeedc83 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
@@ -1997,6 +1997,7 @@ GLIBC_2.2 rexec_af F
 GLIBC_2.2 rresvport_af F
 GLIBC_2.2 ruserok_af F
 GLIBC_2.2 scandir64 F
+GLIBC_2.2 sem_timedwait F
 GLIBC_2.2 semctl F
 GLIBC_2.2 setrlimit F
 GLIBC_2.2 shmctl F
@@ -2402,6 +2403,7 @@ GLIBC_2.34 sem_getvalue F
 GLIBC_2.34 sem_init F
 GLIBC_2.34 sem_open F
 GLIBC_2.34 sem_post F
+GLIBC_2.34 sem_timedwait F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
index 966ce977a8..c9352acfff 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
@@ -39,7 +39,6 @@ GLIBC_2.2 pthread_barrierattr_destroy F
 GLIBC_2.2 pthread_barrierattr_init F
 GLIBC_2.2 pthread_barrierattr_setpshared F
 GLIBC_2.2 pthread_getcpuclockid F
-GLIBC_2.2 sem_timedwait F
 GLIBC_2.2.3 __libpthread_version_placeholder F
 GLIBC_2.2.6 __libpthread_version_placeholder F
 GLIBC_2.28 thrd_create F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
index 6c5783579b..98b33f844b 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
@@ -1476,6 +1476,7 @@ GLIBC_2.2 sem_getvalue F
 GLIBC_2.2 sem_init F
 GLIBC_2.2 sem_open F
 GLIBC_2.2 sem_post F
+GLIBC_2.2 sem_timedwait F
 GLIBC_2.2 semctl F
 GLIBC_2.2 semget F
 GLIBC_2.2 semop F
@@ -2291,6 +2292,7 @@ GLIBC_2.34 sem_getvalue F
 GLIBC_2.34 sem_init F
 GLIBC_2.34 sem_open F
 GLIBC_2.34 sem_post F
+GLIBC_2.34 sem_timedwait F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
index 8ecf3125a6..58a2d4f3ba 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_timedwait F
 GLIBC_2.2 sem_trywait F
 GLIBC_2.2 sem_unlink F
 GLIBC_2.2 sem_wait F
diff --git a/sysdeps/unix/sysv/linux/sh/be/libc.abilist b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
index d357f4ceb1..c029912b67 100644
--- a/sysdeps/unix/sysv/linux/sh/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
@@ -1462,6 +1462,7 @@ GLIBC_2.2 sem_getvalue F
 GLIBC_2.2 sem_init F
 GLIBC_2.2 sem_open F
 GLIBC_2.2 sem_post F
+GLIBC_2.2 sem_timedwait F
 GLIBC_2.2 semctl F
 GLIBC_2.2 semget F
 GLIBC_2.2 semop F
@@ -2260,6 +2261,7 @@ GLIBC_2.34 sem_getvalue F
 GLIBC_2.34 sem_init F
 GLIBC_2.34 sem_open F
 GLIBC_2.34 sem_post F
+GLIBC_2.34 sem_timedwait F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
index 069e32a2c2..e6282e233c 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_timedwait F
 GLIBC_2.2 sem_trywait F
 GLIBC_2.2 sem_unlink F
 GLIBC_2.2 sem_wait F
diff --git a/sysdeps/unix/sysv/linux/sh/le/libc.abilist b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
index ff348ac39d..5b3f7aa502 100644
--- a/sysdeps/unix/sysv/linux/sh/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
@@ -1462,6 +1462,7 @@ GLIBC_2.2 sem_getvalue F
 GLIBC_2.2 sem_init F
 GLIBC_2.2 sem_open F
 GLIBC_2.2 sem_post F
+GLIBC_2.2 sem_timedwait F
 GLIBC_2.2 semctl F
 GLIBC_2.2 semget F
 GLIBC_2.2 semop F
@@ -2257,6 +2258,7 @@ GLIBC_2.34 sem_getvalue F
 GLIBC_2.34 sem_init F
 GLIBC_2.34 sem_open F
 GLIBC_2.34 sem_post F
+GLIBC_2.34 sem_timedwait F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
index 069e32a2c2..e6282e233c 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_timedwait F
 GLIBC_2.2 sem_trywait F
 GLIBC_2.2 sem_unlink F
 GLIBC_2.2 sem_wait F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
index 3a54c61f14..d82f1c3f89 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
@@ -1993,6 +1993,7 @@ GLIBC_2.2 rexec_af F
 GLIBC_2.2 rresvport_af F
 GLIBC_2.2 ruserok_af F
 GLIBC_2.2 scandir64 F
+GLIBC_2.2 sem_timedwait F
 GLIBC_2.2 semctl F
 GLIBC_2.2 shmctl F
 GLIBC_2.2 svc_getreq_common F
@@ -2393,6 +2394,7 @@ GLIBC_2.34 sem_getvalue F
 GLIBC_2.34 sem_init F
 GLIBC_2.34 sem_open F
 GLIBC_2.34 sem_post F
+GLIBC_2.34 sem_timedwait F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
index 1e04fed446..64f7b97cfd 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
@@ -38,7 +38,6 @@ GLIBC_2.2 pthread_barrierattr_destroy F
 GLIBC_2.2 pthread_barrierattr_init F
 GLIBC_2.2 pthread_barrierattr_setpshared F
 GLIBC_2.2 pthread_getcpuclockid F
-GLIBC_2.2 sem_timedwait F
 GLIBC_2.2.3 __libpthread_version_placeholder F
 GLIBC_2.2.6 __libpthread_version_placeholder F
 GLIBC_2.28 thrd_create F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
index ec86498235..b77c3ebc14 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
@@ -1505,6 +1505,7 @@ GLIBC_2.2 sem_getvalue F
 GLIBC_2.2 sem_init F
 GLIBC_2.2 sem_open F
 GLIBC_2.2 sem_post F
+GLIBC_2.2 sem_timedwait F
 GLIBC_2.2 semctl F
 GLIBC_2.2 semget F
 GLIBC_2.2 semop F
@@ -2308,6 +2309,7 @@ GLIBC_2.34 sem_getvalue F
 GLIBC_2.34 sem_init F
 GLIBC_2.34 sem_open F
 GLIBC_2.34 sem_post F
+GLIBC_2.34 sem_timedwait F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
index 993a2481b8..4573250afa 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_timedwait F
 GLIBC_2.2 sem_trywait F
 GLIBC_2.2 sem_unlink F
 GLIBC_2.2 sem_wait F
diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
index c60b9d4baa..1b56b70a15 100644
--- a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
@@ -1473,6 +1473,7 @@ GLIBC_2.2.5 sem_getvalue F
 GLIBC_2.2.5 sem_init F
 GLIBC_2.2.5 sem_open F
 GLIBC_2.2.5 sem_post F
+GLIBC_2.2.5 sem_timedwait F
 GLIBC_2.2.5 semctl F
 GLIBC_2.2.5 semget F
 GLIBC_2.2.5 semop F
@@ -2269,6 +2270,7 @@ GLIBC_2.34 sem_getvalue F
 GLIBC_2.34 sem_init F
 GLIBC_2.34 sem_open F
 GLIBC_2.34 sem_post F
+GLIBC_2.34 sem_timedwait F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
index 3e760487f0..dc598f1bd8 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_timedwait F
 GLIBC_2.2.5 sem_trywait F
 GLIBC_2.2.5 sem_unlink F
 GLIBC_2.2.5 sem_wait F
diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
index 1637d12535..26d95cc46e 100644
--- a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
@@ -1672,6 +1672,7 @@ GLIBC_2.16 sem_getvalue F
 GLIBC_2.16 sem_init F
 GLIBC_2.16 sem_open F
 GLIBC_2.16 sem_post F
+GLIBC_2.16 sem_timedwait F
 GLIBC_2.16 semctl F
 GLIBC_2.16 semget F
 GLIBC_2.16 semop F
@@ -2374,6 +2375,7 @@ GLIBC_2.34 sem_getvalue F
 GLIBC_2.34 sem_init F
 GLIBC_2.34 sem_open F
 GLIBC_2.34 sem_post F
+GLIBC_2.34 sem_timedwait F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
index b63a912fde..b5ade1e207 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_timedwait F
 GLIBC_2.16 sem_trywait F
 GLIBC_2.16 sem_unlink F
 GLIBC_2.16 sem_wait F
-- 
2.30.2



^ permalink raw reply	[flat|nested] 24+ messages in thread

* [PATCH 10/11] nptl: Move sem_unlink into libc
  2021-05-03 13:51 [PATCH 00/11] nptl: Move semaphore functions into libc Florian Weimer
                   ` (8 preceding siblings ...)
  2021-05-03 13:52 ` [PATCH 09/11] nptl: Move sem_timedwait " Florian Weimer
@ 2021-05-03 13:52 ` Florian Weimer
  2021-05-05 14:37   ` Adhemerval Zanella
  2021-05-03 13:52 ` [PATCH 11/11] nptl: Move sem_trywait, sem_wait " Florian Weimer
  10 siblings, 1 reply; 24+ messages in thread
From: Florian Weimer @ 2021-05-03 13:52 UTC (permalink / raw)
  To: libc-alpha

The symbol was moved using scripts/move-symbol-to-libc.py.

A small adjust to the sem_unlink implementation is necessary to avoid
a check-localplt failure.

A placeholder symbol to keep the GLIBC_2.1.1 version alive in
libpthread is added with this commit.
---
 nptl/Makefile                                   |  2 +-
 nptl/Versions                                   |  4 +++-
 nptl/libpthread-compat.c                        |  4 ++++
 sysdeps/pthread/sem_unlink.c                    | 17 +++++++++++++++--
 sysdeps/unix/sysv/linux/aarch64/libc.abilist    |  2 ++
 .../unix/sysv/linux/aarch64/libpthread.abilist  |  1 -
 sysdeps/unix/sysv/linux/alpha/libc.abilist      |  2 ++
 .../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 ++
 .../unix/sysv/linux/arm/be/libpthread.abilist   |  1 -
 sysdeps/unix/sysv/linux/arm/le/libc.abilist     |  2 ++
 .../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       |  2 ++
 sysdeps/unix/sysv/linux/i386/libpthread.abilist |  2 +-
 sysdeps/unix/sysv/linux/ia64/libc.abilist       |  2 ++
 sysdeps/unix/sysv/linux/ia64/libpthread.abilist |  1 -
 .../unix/sysv/linux/m68k/coldfire/libc.abilist  |  2 ++
 .../sysv/linux/m68k/coldfire/libpthread.abilist |  1 -
 .../unix/sysv/linux/m68k/m680x0/libc.abilist    |  2 ++
 .../sysv/linux/m68k/m680x0/libpthread.abilist   |  2 +-
 .../unix/sysv/linux/microblaze/be/libc.abilist  |  2 ++
 .../sysv/linux/microblaze/be/libpthread.abilist |  1 -
 .../unix/sysv/linux/microblaze/le/libc.abilist  |  2 ++
 .../sysv/linux/microblaze/le/libpthread.abilist |  1 -
 .../sysv/linux/mips/mips32/fpu/libc.abilist     |  2 ++
 .../sysv/linux/mips/mips32/libpthread.abilist   |  1 -
 .../sysv/linux/mips/mips32/nofpu/libc.abilist   |  2 ++
 .../sysv/linux/mips/mips64/libpthread.abilist   |  1 -
 .../sysv/linux/mips/mips64/n32/libc.abilist     |  2 ++
 .../sysv/linux/mips/mips64/n64/libc.abilist     |  2 ++
 sysdeps/unix/sysv/linux/nios2/libc.abilist      |  2 ++
 .../unix/sysv/linux/nios2/libpthread.abilist    |  1 -
 .../linux/powerpc/powerpc32/fpu/libc.abilist    |  2 ++
 .../linux/powerpc/powerpc32/libpthread.abilist  |  2 +-
 .../linux/powerpc/powerpc32/nofpu/libc.abilist  |  2 ++
 .../linux/powerpc/powerpc64/be/libc.abilist     |  2 ++
 .../powerpc/powerpc64/be/libpthread.abilist     |  1 -
 .../linux/powerpc/powerpc64/le/libc.abilist     |  2 ++
 .../powerpc/powerpc64/le/libpthread.abilist     |  1 -
 sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist |  2 ++
 .../sysv/linux/riscv/rv32/libpthread.abilist    |  1 -
 sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist |  2 ++
 .../sysv/linux/riscv/rv64/libpthread.abilist    |  1 -
 .../unix/sysv/linux/s390/s390-32/libc.abilist   |  2 ++
 .../sysv/linux/s390/s390-32/libpthread.abilist  |  2 +-
 .../unix/sysv/linux/s390/s390-64/libc.abilist   |  2 ++
 .../sysv/linux/s390/s390-64/libpthread.abilist  |  1 -
 sysdeps/unix/sysv/linux/sh/be/libc.abilist      |  2 ++
 .../unix/sysv/linux/sh/be/libpthread.abilist    |  1 -
 sysdeps/unix/sysv/linux/sh/le/libc.abilist      |  2 ++
 .../unix/sysv/linux/sh/le/libpthread.abilist    |  1 -
 .../unix/sysv/linux/sparc/sparc32/libc.abilist  |  2 ++
 .../sysv/linux/sparc/sparc32/libpthread.abilist |  2 +-
 .../unix/sysv/linux/sparc/sparc64/libc.abilist  |  2 ++
 .../sysv/linux/sparc/sparc64/libpthread.abilist |  1 -
 sysdeps/unix/sysv/linux/x86_64/64/libc.abilist  |  2 ++
 .../sysv/linux/x86_64/64/libpthread.abilist     |  1 -
 sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist |  2 ++
 .../sysv/linux/x86_64/x32/libpthread.abilist    |  1 -
 65 files changed, 93 insertions(+), 33 deletions(-)

diff --git a/nptl/Makefile b/nptl/Makefile
index 9f73cf2434..665cd1f3d1 100644
--- a/nptl/Makefile
+++ b/nptl/Makefile
@@ -159,6 +159,7 @@ routines = \
   sem_post \
   sem_routines \
   sem_timedwait \
+  sem_unlink \
   tpp \
   unwind \
 
@@ -210,7 +211,6 @@ libpthread-routines = \
   pthread_sigqueue \
   pthread_timedjoin \
   pthread_tryjoin \
-  sem_unlink \
   sem_wait \
   vars \
   version \
diff --git a/nptl/Versions b/nptl/Versions
index f19c2355f1..20997aa706 100644
--- a/nptl/Versions
+++ b/nptl/Versions
@@ -92,6 +92,7 @@ libc {
   GLIBC_2.1.1 {
     sem_close;
     sem_open;
+    sem_unlink;
   }
   GLIBC_2.2 {
     __pthread_rwlock_destroy;
@@ -269,6 +270,7 @@ libc {
     sem_open;
     sem_post;
     sem_timedwait;
+    sem_unlink;
     thrd_exit;
     tss_create;
     tss_delete;
@@ -353,7 +355,7 @@ libpthread {
   }
 
   GLIBC_2.1.1 {
-    sem_unlink;
+    __libpthread_version_placeholder;
   }
 
   GLIBC_2.1.2 {
diff --git a/nptl/libpthread-compat.c b/nptl/libpthread-compat.c
index 7b0427aaed..401fa6ad34 100644
--- a/nptl/libpthread-compat.c
+++ b/nptl/libpthread-compat.c
@@ -36,6 +36,10 @@ __libpthread_version_placeholder_1 (void)
    version or later, the placeholder symbol is not needed because
    there are plenty of other symbols which populate those later
    versions.  */
+#if (SHLIB_COMPAT (libpthread, GLIBC_2_1_1, GLIBC_2_1_2))
+compat_symbol (libpthread, __libpthread_version_placeholder_1,
+	       __libpthread_version_placeholder, GLIBC_2_1_1);
+#endif
 #if (SHLIB_COMPAT (libpthread, GLIBC_2_1_2, GLIBC_2_2))
 compat_symbol (libpthread, __libpthread_version_placeholder_1,
 	       __libpthread_version_placeholder, GLIBC_2_1_2);
diff --git a/sysdeps/pthread/sem_unlink.c b/sysdeps/pthread/sem_unlink.c
index 1f06a55b8e..c6f89349e5 100644
--- a/sysdeps/pthread/sem_unlink.c
+++ b/sysdeps/pthread/sem_unlink.c
@@ -24,8 +24,13 @@
 #include "semaphoreP.h"
 #include <shm-directory.h>
 
+#if !PTHREAD_IN_LIBC
+/* The private name is not exported from libc.  */
+# define __unlink unlink
+#endif
+
 int
-sem_unlink (const char *name)
+__sem_unlink (const char *name)
 {
   struct shmdir_name dirname;
   if (__shm_get_name (&dirname, name, true) != 0)
@@ -35,8 +40,16 @@ sem_unlink (const char *name)
     }
 
   /* Now try removing it.  */
-  int ret = unlink (dirname.name);
+  int ret = __unlink (dirname.name);
   if (ret < 0 && errno == EPERM)
     __set_errno (EACCES);
   return ret;
 }
+#if PTHREAD_IN_LIBC
+versioned_symbol (libc, __sem_unlink, sem_unlink, GLIBC_2_34);
+# if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_1_1, GLIBC_2_34)
+compat_symbol (libpthread, __sem_unlink, sem_unlink, GLIBC_2_1_1);
+# endif
+#else /* !PTHREAD_IN_LIBC */
+strong_alias (__sem_unlink, sem_unlink)
+#endif
diff --git a/sysdeps/unix/sysv/linux/aarch64/libc.abilist b/sysdeps/unix/sysv/linux/aarch64/libc.abilist
index 3da65776d9..75cacc3038 100644
--- a/sysdeps/unix/sysv/linux/aarch64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/aarch64/libc.abilist
@@ -1667,6 +1667,7 @@ GLIBC_2.17 sem_init F
 GLIBC_2.17 sem_open F
 GLIBC_2.17 sem_post F
 GLIBC_2.17 sem_timedwait F
+GLIBC_2.17 sem_unlink F
 GLIBC_2.17 semctl F
 GLIBC_2.17 semget F
 GLIBC_2.17 semop F
@@ -2361,6 +2362,7 @@ GLIBC_2.34 sem_init F
 GLIBC_2.34 sem_open F
 GLIBC_2.34 sem_post F
 GLIBC_2.34 sem_timedwait F
+GLIBC_2.34 sem_unlink F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
index da05cd4d59..590f08ba58 100644
--- a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
@@ -40,7 +40,6 @@ GLIBC_2.17 pthread_sigqueue F
 GLIBC_2.17 pthread_timedjoin_np F
 GLIBC_2.17 pthread_tryjoin_np F
 GLIBC_2.17 sem_trywait F
-GLIBC_2.17 sem_unlink F
 GLIBC_2.17 sem_wait F
 GLIBC_2.18 pthread_getattr_default_np F
 GLIBC_2.18 pthread_setattr_default_np F
diff --git a/sysdeps/unix/sysv/linux/alpha/libc.abilist b/sysdeps/unix/sysv/linux/alpha/libc.abilist
index 6e71456850..a1c7de11ee 100644
--- a/sysdeps/unix/sysv/linux/alpha/libc.abilist
+++ b/sysdeps/unix/sysv/linux/alpha/libc.abilist
@@ -1731,6 +1731,7 @@ GLIBC_2.1.1 imaxabs F
 GLIBC_2.1.1 imaxdiv F
 GLIBC_2.1.1 sem_close F
 GLIBC_2.1.1 sem_open F
+GLIBC_2.1.1 sem_unlink F
 GLIBC_2.1.1 strchrnul F
 GLIBC_2.1.1 xdr_hyper F
 GLIBC_2.1.1 xdr_int64_t F
@@ -2446,6 +2447,7 @@ GLIBC_2.34 sem_init F
 GLIBC_2.34 sem_open F
 GLIBC_2.34 sem_post F
 GLIBC_2.34 sem_timedwait F
+GLIBC_2.34 sem_unlink F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
index 64f7b97cfd..6540830d09 100644
--- a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
@@ -22,7 +22,7 @@ GLIBC_2.1 pthread_getconcurrency F
 GLIBC_2.1 pthread_setconcurrency F
 GLIBC_2.1 sem_trywait F
 GLIBC_2.1 sem_wait F
-GLIBC_2.1.1 sem_unlink F
+GLIBC_2.1.1 __libpthread_version_placeholder F
 GLIBC_2.1.2 __libpthread_version_placeholder F
 GLIBC_2.11 pthread_sigqueue F
 GLIBC_2.12 pthread_getname_np F
diff --git a/sysdeps/unix/sysv/linux/arc/libc.abilist b/sysdeps/unix/sysv/linux/arc/libc.abilist
index 3dcbebada1..13f0192e61 100644
--- a/sysdeps/unix/sysv/linux/arc/libc.abilist
+++ b/sysdeps/unix/sysv/linux/arc/libc.abilist
@@ -1609,6 +1609,7 @@ GLIBC_2.32 sem_init F
 GLIBC_2.32 sem_open F
 GLIBC_2.32 sem_post F
 GLIBC_2.32 sem_timedwait F
+GLIBC_2.32 sem_unlink F
 GLIBC_2.32 semctl F
 GLIBC_2.32 semget F
 GLIBC_2.32 semop F
@@ -2120,6 +2121,7 @@ GLIBC_2.34 sem_init F
 GLIBC_2.34 sem_open F
 GLIBC_2.34 sem_post F
 GLIBC_2.34 sem_timedwait F
+GLIBC_2.34 sem_unlink F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/arc/libpthread.abilist b/sysdeps/unix/sysv/linux/arc/libpthread.abilist
index d11ab85312..7aa79d0d68 100644
--- a/sysdeps/unix/sysv/linux/arc/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/arc/libpthread.abilist
@@ -43,7 +43,6 @@ GLIBC_2.32 pthread_sigqueue F
 GLIBC_2.32 pthread_timedjoin_np F
 GLIBC_2.32 pthread_tryjoin_np F
 GLIBC_2.32 sem_trywait F
-GLIBC_2.32 sem_unlink F
 GLIBC_2.32 sem_wait F
 GLIBC_2.32 thrd_create F
 GLIBC_2.32 thrd_detach F
diff --git a/sysdeps/unix/sysv/linux/arm/be/libc.abilist b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
index aec8132bd5..04715a2155 100644
--- a/sysdeps/unix/sysv/linux/arm/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
@@ -260,6 +260,7 @@ GLIBC_2.34 sem_init F
 GLIBC_2.34 sem_open F
 GLIBC_2.34 sem_post F
 GLIBC_2.34 sem_timedwait F
+GLIBC_2.34 sem_unlink F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
@@ -1852,6 +1853,7 @@ GLIBC_2.4 sem_init F
 GLIBC_2.4 sem_open F
 GLIBC_2.4 sem_post F
 GLIBC_2.4 sem_timedwait F
+GLIBC_2.4 sem_unlink F
 GLIBC_2.4 semctl F
 GLIBC_2.4 semget F
 GLIBC_2.4 semop F
diff --git a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
index 7dc74135e3..1e819c1173 100644
--- a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
@@ -48,5 +48,4 @@ GLIBC_2.4 pthread_setschedprio F
 GLIBC_2.4 pthread_timedjoin_np F
 GLIBC_2.4 pthread_tryjoin_np F
 GLIBC_2.4 sem_trywait F
-GLIBC_2.4 sem_unlink F
 GLIBC_2.4 sem_wait F
diff --git a/sysdeps/unix/sysv/linux/arm/le/libc.abilist b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
index 2f2e2fb7a2..671b211af6 100644
--- a/sysdeps/unix/sysv/linux/arm/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
@@ -257,6 +257,7 @@ GLIBC_2.34 sem_init F
 GLIBC_2.34 sem_open F
 GLIBC_2.34 sem_post F
 GLIBC_2.34 sem_timedwait F
+GLIBC_2.34 sem_unlink F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
@@ -1849,6 +1850,7 @@ GLIBC_2.4 sem_init F
 GLIBC_2.4 sem_open F
 GLIBC_2.4 sem_post F
 GLIBC_2.4 sem_timedwait F
+GLIBC_2.4 sem_unlink F
 GLIBC_2.4 semctl F
 GLIBC_2.4 semget F
 GLIBC_2.4 semop F
diff --git a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
index 7dc74135e3..1e819c1173 100644
--- a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
@@ -48,5 +48,4 @@ GLIBC_2.4 pthread_setschedprio F
 GLIBC_2.4 pthread_timedjoin_np F
 GLIBC_2.4 pthread_tryjoin_np F
 GLIBC_2.4 sem_trywait F
-GLIBC_2.4 sem_unlink F
 GLIBC_2.4 sem_wait F
diff --git a/sysdeps/unix/sysv/linux/csky/libc.abilist b/sysdeps/unix/sysv/linux/csky/libc.abilist
index e17de2294f..ccb423fe97 100644
--- a/sysdeps/unix/sysv/linux/csky/libc.abilist
+++ b/sysdeps/unix/sysv/linux/csky/libc.abilist
@@ -1670,6 +1670,7 @@ GLIBC_2.29 sem_init F
 GLIBC_2.29 sem_open F
 GLIBC_2.29 sem_post F
 GLIBC_2.29 sem_timedwait F
+GLIBC_2.29 sem_unlink F
 GLIBC_2.29 semctl F
 GLIBC_2.29 semget F
 GLIBC_2.29 semop F
@@ -2304,6 +2305,7 @@ GLIBC_2.34 sem_init F
 GLIBC_2.34 sem_open F
 GLIBC_2.34 sem_post F
 GLIBC_2.34 sem_timedwait F
+GLIBC_2.34 sem_unlink F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/csky/libpthread.abilist b/sysdeps/unix/sysv/linux/csky/libpthread.abilist
index f3286d7d92..3579a0bfbb 100644
--- a/sysdeps/unix/sysv/linux/csky/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/csky/libpthread.abilist
@@ -42,7 +42,6 @@ GLIBC_2.29 pthread_sigqueue F
 GLIBC_2.29 pthread_timedjoin_np F
 GLIBC_2.29 pthread_tryjoin_np F
 GLIBC_2.29 sem_trywait F
-GLIBC_2.29 sem_unlink F
 GLIBC_2.29 sem_wait F
 GLIBC_2.29 thrd_create F
 GLIBC_2.29 thrd_detach F
diff --git a/sysdeps/unix/sysv/linux/hppa/libc.abilist b/sysdeps/unix/sysv/linux/hppa/libc.abilist
index a64c7afdd8..2d1fa9694b 100644
--- a/sysdeps/unix/sysv/linux/hppa/libc.abilist
+++ b/sysdeps/unix/sysv/linux/hppa/libc.abilist
@@ -1459,6 +1459,7 @@ GLIBC_2.2 sem_init F
 GLIBC_2.2 sem_open F
 GLIBC_2.2 sem_post F
 GLIBC_2.2 sem_timedwait F
+GLIBC_2.2 sem_unlink F
 GLIBC_2.2 semctl F
 GLIBC_2.2 semget F
 GLIBC_2.2 semop F
@@ -2255,6 +2256,7 @@ GLIBC_2.34 sem_init F
 GLIBC_2.34 sem_open F
 GLIBC_2.34 sem_post F
 GLIBC_2.34 sem_timedwait F
+GLIBC_2.34 sem_unlink F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
index e6282e233c..30f7add73e 100644
--- a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
@@ -32,7 +32,6 @@ GLIBC_2.2 pthread_getcpuclockid F
 GLIBC_2.2 pthread_join F
 GLIBC_2.2 pthread_setconcurrency F
 GLIBC_2.2 sem_trywait F
-GLIBC_2.2 sem_unlink F
 GLIBC_2.2 sem_wait F
 GLIBC_2.2.3 __libpthread_version_placeholder F
 GLIBC_2.2.6 __libpthread_version_placeholder F
diff --git a/sysdeps/unix/sysv/linux/i386/libc.abilist b/sysdeps/unix/sysv/linux/i386/libc.abilist
index 1486c5dbcb..e270a9c9ab 100644
--- a/sysdeps/unix/sysv/linux/i386/libc.abilist
+++ b/sysdeps/unix/sysv/linux/i386/libc.abilist
@@ -1737,6 +1737,7 @@ GLIBC_2.1.1 imaxabs F
 GLIBC_2.1.1 imaxdiv F
 GLIBC_2.1.1 sem_close F
 GLIBC_2.1.1 sem_open F
+GLIBC_2.1.1 sem_unlink F
 GLIBC_2.1.1 strchrnul F
 GLIBC_2.1.1 xdr_hyper F
 GLIBC_2.1.1 xdr_int64_t F
@@ -2436,6 +2437,7 @@ GLIBC_2.34 sem_init F
 GLIBC_2.34 sem_open F
 GLIBC_2.34 sem_post F
 GLIBC_2.34 sem_timedwait F
+GLIBC_2.34 sem_unlink F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/i386/libpthread.abilist b/sysdeps/unix/sysv/linux/i386/libpthread.abilist
index c94979df12..c7a1d8f0ff 100644
--- a/sysdeps/unix/sysv/linux/i386/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/i386/libpthread.abilist
@@ -22,7 +22,7 @@ GLIBC_2.1 pthread_getconcurrency F
 GLIBC_2.1 pthread_setconcurrency F
 GLIBC_2.1 sem_trywait F
 GLIBC_2.1 sem_wait F
-GLIBC_2.1.1 sem_unlink F
+GLIBC_2.1.1 __libpthread_version_placeholder F
 GLIBC_2.1.2 __libpthread_version_placeholder F
 GLIBC_2.11 pthread_sigqueue F
 GLIBC_2.12 pthread_getname_np F
diff --git a/sysdeps/unix/sysv/linux/ia64/libc.abilist b/sysdeps/unix/sysv/linux/ia64/libc.abilist
index 044d56cac8..76dfc3a9ff 100644
--- a/sysdeps/unix/sysv/linux/ia64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/ia64/libc.abilist
@@ -1480,6 +1480,7 @@ GLIBC_2.2 sem_init F
 GLIBC_2.2 sem_open F
 GLIBC_2.2 sem_post F
 GLIBC_2.2 sem_timedwait F
+GLIBC_2.2 sem_unlink F
 GLIBC_2.2 semctl F
 GLIBC_2.2 semget F
 GLIBC_2.2 semop F
@@ -2289,6 +2290,7 @@ GLIBC_2.34 sem_init F
 GLIBC_2.34 sem_open F
 GLIBC_2.34 sem_post F
 GLIBC_2.34 sem_timedwait F
+GLIBC_2.34 sem_unlink F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
index 4573250afa..225bfd0e6a 100644
--- a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
@@ -32,7 +32,6 @@ GLIBC_2.2 pthread_getcpuclockid F
 GLIBC_2.2 pthread_join F
 GLIBC_2.2 pthread_setconcurrency F
 GLIBC_2.2 sem_trywait F
-GLIBC_2.2 sem_unlink F
 GLIBC_2.2 sem_wait F
 GLIBC_2.2.3 __libpthread_version_placeholder F
 GLIBC_2.2.6 __libpthread_version_placeholder F
diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
index d0e68c2bc1..50b6beebdb 100644
--- a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
@@ -261,6 +261,7 @@ GLIBC_2.34 sem_init F
 GLIBC_2.34 sem_open F
 GLIBC_2.34 sem_post F
 GLIBC_2.34 sem_timedwait F
+GLIBC_2.34 sem_unlink F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
@@ -1832,6 +1833,7 @@ GLIBC_2.4 sem_init F
 GLIBC_2.4 sem_open F
 GLIBC_2.4 sem_post F
 GLIBC_2.4 sem_timedwait F
+GLIBC_2.4 sem_unlink F
 GLIBC_2.4 semctl F
 GLIBC_2.4 semget F
 GLIBC_2.4 semop F
diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
index 7dc74135e3..1e819c1173 100644
--- a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
@@ -48,5 +48,4 @@ GLIBC_2.4 pthread_setschedprio F
 GLIBC_2.4 pthread_timedjoin_np F
 GLIBC_2.4 pthread_tryjoin_np F
 GLIBC_2.4 sem_trywait F
-GLIBC_2.4 sem_unlink F
 GLIBC_2.4 sem_wait F
diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
index 3fd4c8b544..f42dfe0d54 100644
--- a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
@@ -1693,6 +1693,7 @@ GLIBC_2.1.1 imaxabs F
 GLIBC_2.1.1 imaxdiv F
 GLIBC_2.1.1 sem_close F
 GLIBC_2.1.1 sem_open F
+GLIBC_2.1.1 sem_unlink F
 GLIBC_2.1.1 strchrnul F
 GLIBC_2.1.1 xdr_hyper F
 GLIBC_2.1.1 xdr_int64_t F
@@ -2379,6 +2380,7 @@ GLIBC_2.34 sem_init F
 GLIBC_2.34 sem_open F
 GLIBC_2.34 sem_post F
 GLIBC_2.34 sem_timedwait F
+GLIBC_2.34 sem_unlink F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
index c94979df12..c7a1d8f0ff 100644
--- a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
@@ -22,7 +22,7 @@ GLIBC_2.1 pthread_getconcurrency F
 GLIBC_2.1 pthread_setconcurrency F
 GLIBC_2.1 sem_trywait F
 GLIBC_2.1 sem_wait F
-GLIBC_2.1.1 sem_unlink F
+GLIBC_2.1.1 __libpthread_version_placeholder F
 GLIBC_2.1.2 __libpthread_version_placeholder F
 GLIBC_2.11 pthread_sigqueue F
 GLIBC_2.12 pthread_getname_np F
diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
index 41d99361c5..563c3a0e35 100644
--- a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
@@ -1669,6 +1669,7 @@ GLIBC_2.18 sem_init F
 GLIBC_2.18 sem_open F
 GLIBC_2.18 sem_post F
 GLIBC_2.18 sem_timedwait F
+GLIBC_2.18 sem_unlink F
 GLIBC_2.18 semctl F
 GLIBC_2.18 semget F
 GLIBC_2.18 semop F
@@ -2355,6 +2356,7 @@ GLIBC_2.34 sem_init F
 GLIBC_2.34 sem_open F
 GLIBC_2.34 sem_post F
 GLIBC_2.34 sem_timedwait F
+GLIBC_2.34 sem_unlink F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
index 50483447c3..d7bacba551 100644
--- a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
@@ -42,7 +42,6 @@ GLIBC_2.18 pthread_sigqueue F
 GLIBC_2.18 pthread_timedjoin_np F
 GLIBC_2.18 pthread_tryjoin_np F
 GLIBC_2.18 sem_trywait F
-GLIBC_2.18 sem_unlink F
 GLIBC_2.18 sem_wait F
 GLIBC_2.28 thrd_create F
 GLIBC_2.28 thrd_detach F
diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
index bc5512f728..57a51ab39b 100644
--- a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
@@ -1669,6 +1669,7 @@ GLIBC_2.18 sem_init F
 GLIBC_2.18 sem_open F
 GLIBC_2.18 sem_post F
 GLIBC_2.18 sem_timedwait F
+GLIBC_2.18 sem_unlink F
 GLIBC_2.18 semctl F
 GLIBC_2.18 semget F
 GLIBC_2.18 semop F
@@ -2352,6 +2353,7 @@ GLIBC_2.34 sem_init F
 GLIBC_2.34 sem_open F
 GLIBC_2.34 sem_post F
 GLIBC_2.34 sem_timedwait F
+GLIBC_2.34 sem_unlink F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
index 50483447c3..d7bacba551 100644
--- a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
@@ -42,7 +42,6 @@ GLIBC_2.18 pthread_sigqueue F
 GLIBC_2.18 pthread_timedjoin_np F
 GLIBC_2.18 pthread_tryjoin_np F
 GLIBC_2.18 sem_trywait F
-GLIBC_2.18 sem_unlink F
 GLIBC_2.18 sem_wait F
 GLIBC_2.28 thrd_create F
 GLIBC_2.28 thrd_detach F
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
index a9052fd2d2..a7b828f541 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
@@ -1899,6 +1899,7 @@ GLIBC_2.2 sem_init F
 GLIBC_2.2 sem_open F
 GLIBC_2.2 sem_post F
 GLIBC_2.2 sem_timedwait F
+GLIBC_2.2 sem_unlink F
 GLIBC_2.2 semctl F
 GLIBC_2.2 sendfile F
 GLIBC_2.2 setrlimit64 F
@@ -2342,6 +2343,7 @@ GLIBC_2.34 sem_init F
 GLIBC_2.34 sem_open F
 GLIBC_2.34 sem_post F
 GLIBC_2.34 sem_timedwait F
+GLIBC_2.34 sem_unlink F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
index f9cca8a676..c7256adbdb 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
@@ -35,7 +35,6 @@ GLIBC_2.2 pthread_getconcurrency F
 GLIBC_2.2 pthread_getcpuclockid F
 GLIBC_2.2 pthread_setconcurrency F
 GLIBC_2.2 sem_trywait F
-GLIBC_2.2 sem_unlink F
 GLIBC_2.2 sem_wait F
 GLIBC_2.2.3 __libpthread_version_placeholder F
 GLIBC_2.2.6 __libpthread_version_placeholder F
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
index c1510d2570..38e27a67b7 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
@@ -1897,6 +1897,7 @@ GLIBC_2.2 sem_init F
 GLIBC_2.2 sem_open F
 GLIBC_2.2 sem_post F
 GLIBC_2.2 sem_timedwait F
+GLIBC_2.2 sem_unlink F
 GLIBC_2.2 semctl F
 GLIBC_2.2 sendfile F
 GLIBC_2.2 setrlimit64 F
@@ -2340,6 +2341,7 @@ GLIBC_2.34 sem_init F
 GLIBC_2.34 sem_open F
 GLIBC_2.34 sem_post F
 GLIBC_2.34 sem_timedwait F
+GLIBC_2.34 sem_unlink F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
index f9cca8a676..c7256adbdb 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
@@ -35,7 +35,6 @@ GLIBC_2.2 pthread_getconcurrency F
 GLIBC_2.2 pthread_getcpuclockid F
 GLIBC_2.2 pthread_setconcurrency F
 GLIBC_2.2 sem_trywait F
-GLIBC_2.2 sem_unlink F
 GLIBC_2.2 sem_wait F
 GLIBC_2.2.3 __libpthread_version_placeholder F
 GLIBC_2.2.6 __libpthread_version_placeholder F
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
index bce71b4ff8..932bbb01ed 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
@@ -1897,6 +1897,7 @@ GLIBC_2.2 sem_init F
 GLIBC_2.2 sem_open F
 GLIBC_2.2 sem_post F
 GLIBC_2.2 sem_timedwait F
+GLIBC_2.2 sem_unlink F
 GLIBC_2.2 sendfile F
 GLIBC_2.2 setrlimit64 F
 GLIBC_2.2 setutxent F
@@ -2348,6 +2349,7 @@ GLIBC_2.34 sem_init F
 GLIBC_2.34 sem_open F
 GLIBC_2.34 sem_post F
 GLIBC_2.34 sem_timedwait F
+GLIBC_2.34 sem_unlink F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
index e7919379ff..d2af27e80e 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
@@ -1893,6 +1893,7 @@ GLIBC_2.2 sem_init F
 GLIBC_2.2 sem_open F
 GLIBC_2.2 sem_post F
 GLIBC_2.2 sem_timedwait F
+GLIBC_2.2 sem_unlink F
 GLIBC_2.2 sendfile F
 GLIBC_2.2 setrlimit64 F
 GLIBC_2.2 setutxent F
@@ -2342,6 +2343,7 @@ GLIBC_2.34 sem_init F
 GLIBC_2.34 sem_open F
 GLIBC_2.34 sem_post F
 GLIBC_2.34 sem_timedwait F
+GLIBC_2.34 sem_unlink F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/nios2/libc.abilist b/sysdeps/unix/sysv/linux/nios2/libc.abilist
index 022e7b13c0..b56a86af95 100644
--- a/sysdeps/unix/sysv/linux/nios2/libc.abilist
+++ b/sysdeps/unix/sysv/linux/nios2/libc.abilist
@@ -1712,6 +1712,7 @@ GLIBC_2.21 sem_init F
 GLIBC_2.21 sem_open F
 GLIBC_2.21 sem_post F
 GLIBC_2.21 sem_timedwait F
+GLIBC_2.21 sem_unlink F
 GLIBC_2.21 semctl F
 GLIBC_2.21 semget F
 GLIBC_2.21 semop F
@@ -2394,6 +2395,7 @@ GLIBC_2.34 sem_init F
 GLIBC_2.34 sem_open F
 GLIBC_2.34 sem_post F
 GLIBC_2.34 sem_timedwait F
+GLIBC_2.34 sem_unlink F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
index 2c6366d253..8c753b83c5 100644
--- a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
@@ -42,7 +42,6 @@ GLIBC_2.21 pthread_sigqueue F
 GLIBC_2.21 pthread_timedjoin_np F
 GLIBC_2.21 pthread_tryjoin_np F
 GLIBC_2.21 sem_trywait F
-GLIBC_2.21 sem_unlink F
 GLIBC_2.21 sem_wait F
 GLIBC_2.28 thrd_create F
 GLIBC_2.28 thrd_detach F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
index 6d96f00678..f66d77276d 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
@@ -1698,6 +1698,7 @@ GLIBC_2.1.1 imaxabs F
 GLIBC_2.1.1 imaxdiv F
 GLIBC_2.1.1 sem_close F
 GLIBC_2.1.1 sem_open F
+GLIBC_2.1.1 sem_unlink F
 GLIBC_2.1.1 strchrnul F
 GLIBC_2.1.1 xdr_hyper F
 GLIBC_2.1.1 xdr_int64_t F
@@ -2406,6 +2407,7 @@ GLIBC_2.34 sem_init F
 GLIBC_2.34 sem_open F
 GLIBC_2.34 sem_post F
 GLIBC_2.34 sem_timedwait F
+GLIBC_2.34 sem_unlink F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
index 2cb64d181e..83968d0c97 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
@@ -22,7 +22,7 @@ GLIBC_2.1 pthread_getconcurrency F
 GLIBC_2.1 pthread_setconcurrency F
 GLIBC_2.1 sem_trywait F
 GLIBC_2.1 sem_wait F
-GLIBC_2.1.1 sem_unlink F
+GLIBC_2.1.1 __libpthread_version_placeholder F
 GLIBC_2.1.2 __libpthread_version_placeholder F
 GLIBC_2.11 pthread_sigqueue F
 GLIBC_2.12 pthread_getname_np F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
index 1e9ab5406b..bf1a6ba7ba 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
@@ -1698,6 +1698,7 @@ GLIBC_2.1.1 imaxabs F
 GLIBC_2.1.1 imaxdiv F
 GLIBC_2.1.1 sem_close F
 GLIBC_2.1.1 sem_open F
+GLIBC_2.1.1 sem_unlink F
 GLIBC_2.1.1 strchrnul F
 GLIBC_2.1.1 xdr_hyper F
 GLIBC_2.1.1 xdr_int64_t F
@@ -2439,6 +2440,7 @@ GLIBC_2.34 sem_init F
 GLIBC_2.34 sem_open F
 GLIBC_2.34 sem_post F
 GLIBC_2.34 sem_timedwait F
+GLIBC_2.34 sem_unlink F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
index fd10c13d52..55eea26dc9 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
@@ -1584,6 +1584,7 @@ GLIBC_2.3 sem_init F
 GLIBC_2.3 sem_open F
 GLIBC_2.3 sem_post F
 GLIBC_2.3 sem_timedwait F
+GLIBC_2.3 sem_unlink F
 GLIBC_2.3 semctl F
 GLIBC_2.3 semget F
 GLIBC_2.3 semop F
@@ -2256,6 +2257,7 @@ GLIBC_2.34 sem_init F
 GLIBC_2.34 sem_open F
 GLIBC_2.34 sem_post F
 GLIBC_2.34 sem_timedwait F
+GLIBC_2.34 sem_unlink F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
index d83baa5b40..b6a7fc4e23 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
@@ -35,7 +35,6 @@ GLIBC_2.3 pthread_getcpuclockid F
 GLIBC_2.3 pthread_join F
 GLIBC_2.3 pthread_setconcurrency F
 GLIBC_2.3 sem_trywait F
-GLIBC_2.3 sem_unlink F
 GLIBC_2.3 sem_wait F
 GLIBC_2.3.2 __libpthread_version_placeholder F
 GLIBC_2.3.3 __pthread_register_cancel F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
index c73d3442a4..b5032df9df 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
@@ -1755,6 +1755,7 @@ GLIBC_2.17 sem_init F
 GLIBC_2.17 sem_open F
 GLIBC_2.17 sem_post F
 GLIBC_2.17 sem_timedwait F
+GLIBC_2.17 sem_unlink F
 GLIBC_2.17 semctl F
 GLIBC_2.17 semget F
 GLIBC_2.17 semop F
@@ -2557,6 +2558,7 @@ GLIBC_2.34 sem_init F
 GLIBC_2.34 sem_open F
 GLIBC_2.34 sem_post F
 GLIBC_2.34 sem_timedwait F
+GLIBC_2.34 sem_unlink F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
index da05cd4d59..590f08ba58 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
@@ -40,7 +40,6 @@ GLIBC_2.17 pthread_sigqueue F
 GLIBC_2.17 pthread_timedjoin_np F
 GLIBC_2.17 pthread_tryjoin_np F
 GLIBC_2.17 sem_trywait F
-GLIBC_2.17 sem_unlink F
 GLIBC_2.17 sem_wait F
 GLIBC_2.18 pthread_getattr_default_np F
 GLIBC_2.18 pthread_setattr_default_np F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
index a44a2d24b0..7b86b09a47 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
@@ -1611,6 +1611,7 @@ GLIBC_2.33 sem_init F
 GLIBC_2.33 sem_open F
 GLIBC_2.33 sem_post F
 GLIBC_2.33 sem_timedwait F
+GLIBC_2.33 sem_unlink F
 GLIBC_2.33 semctl F
 GLIBC_2.33 semget F
 GLIBC_2.33 semop F
@@ -2122,6 +2123,7 @@ GLIBC_2.34 sem_init F
 GLIBC_2.34 sem_open F
 GLIBC_2.34 sem_post F
 GLIBC_2.34 sem_timedwait F
+GLIBC_2.34 sem_unlink F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
index 95c2cc98ca..74798905a5 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
@@ -43,7 +43,6 @@ GLIBC_2.33 pthread_sigqueue F
 GLIBC_2.33 pthread_timedjoin_np F
 GLIBC_2.33 pthread_tryjoin_np F
 GLIBC_2.33 sem_trywait F
-GLIBC_2.33 sem_unlink F
 GLIBC_2.33 sem_wait F
 GLIBC_2.33 thrd_create F
 GLIBC_2.33 thrd_detach F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
index 2bf396dc33..36e7eff6a7 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
@@ -1659,6 +1659,7 @@ GLIBC_2.27 sem_init F
 GLIBC_2.27 sem_open F
 GLIBC_2.27 sem_post F
 GLIBC_2.27 sem_timedwait F
+GLIBC_2.27 sem_unlink F
 GLIBC_2.27 semctl F
 GLIBC_2.27 semget F
 GLIBC_2.27 semop F
@@ -2322,6 +2323,7 @@ GLIBC_2.34 sem_init F
 GLIBC_2.34 sem_open F
 GLIBC_2.34 sem_post F
 GLIBC_2.34 sem_timedwait F
+GLIBC_2.34 sem_unlink F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
index efbdd69d5f..8eb140f7ac 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
@@ -42,7 +42,6 @@ GLIBC_2.27 pthread_sigqueue F
 GLIBC_2.27 pthread_timedjoin_np F
 GLIBC_2.27 pthread_tryjoin_np F
 GLIBC_2.27 sem_trywait F
-GLIBC_2.27 sem_unlink F
 GLIBC_2.27 sem_wait F
 GLIBC_2.28 thrd_create F
 GLIBC_2.28 thrd_detach F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
index a39aeedc83..96d23b986b 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
@@ -1690,6 +1690,7 @@ GLIBC_2.1.1 imaxabs F
 GLIBC_2.1.1 imaxdiv F
 GLIBC_2.1.1 sem_close F
 GLIBC_2.1.1 sem_open F
+GLIBC_2.1.1 sem_unlink F
 GLIBC_2.1.1 strchrnul F
 GLIBC_2.1.1 xdr_hyper F
 GLIBC_2.1.1 xdr_int64_t F
@@ -2404,6 +2405,7 @@ GLIBC_2.34 sem_init F
 GLIBC_2.34 sem_open F
 GLIBC_2.34 sem_post F
 GLIBC_2.34 sem_timedwait F
+GLIBC_2.34 sem_unlink F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
index c9352acfff..f59ac6c20d 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
@@ -22,7 +22,7 @@ GLIBC_2.1 pthread_getconcurrency F
 GLIBC_2.1 pthread_setconcurrency F
 GLIBC_2.1 sem_trywait F
 GLIBC_2.1 sem_wait F
-GLIBC_2.1.1 sem_unlink F
+GLIBC_2.1.1 __libpthread_version_placeholder F
 GLIBC_2.1.2 __libpthread_version_placeholder F
 GLIBC_2.11 pthread_sigqueue F
 GLIBC_2.12 pthread_getname_np F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
index 98b33f844b..928b499c84 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
@@ -1477,6 +1477,7 @@ GLIBC_2.2 sem_init F
 GLIBC_2.2 sem_open F
 GLIBC_2.2 sem_post F
 GLIBC_2.2 sem_timedwait F
+GLIBC_2.2 sem_unlink F
 GLIBC_2.2 semctl F
 GLIBC_2.2 semget F
 GLIBC_2.2 semop F
@@ -2293,6 +2294,7 @@ GLIBC_2.34 sem_init F
 GLIBC_2.34 sem_open F
 GLIBC_2.34 sem_post F
 GLIBC_2.34 sem_timedwait F
+GLIBC_2.34 sem_unlink F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
index 58a2d4f3ba..a2f0c9965f 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
@@ -33,7 +33,6 @@ GLIBC_2.2 pthread_getcpuclockid F
 GLIBC_2.2 pthread_join F
 GLIBC_2.2 pthread_setconcurrency F
 GLIBC_2.2 sem_trywait F
-GLIBC_2.2 sem_unlink F
 GLIBC_2.2 sem_wait F
 GLIBC_2.2.3 __libpthread_version_placeholder F
 GLIBC_2.2.6 __libpthread_version_placeholder F
diff --git a/sysdeps/unix/sysv/linux/sh/be/libc.abilist b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
index c029912b67..61594abaf2 100644
--- a/sysdeps/unix/sysv/linux/sh/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
@@ -1463,6 +1463,7 @@ GLIBC_2.2 sem_init F
 GLIBC_2.2 sem_open F
 GLIBC_2.2 sem_post F
 GLIBC_2.2 sem_timedwait F
+GLIBC_2.2 sem_unlink F
 GLIBC_2.2 semctl F
 GLIBC_2.2 semget F
 GLIBC_2.2 semop F
@@ -2262,6 +2263,7 @@ GLIBC_2.34 sem_init F
 GLIBC_2.34 sem_open F
 GLIBC_2.34 sem_post F
 GLIBC_2.34 sem_timedwait F
+GLIBC_2.34 sem_unlink F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
index e6282e233c..30f7add73e 100644
--- a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
@@ -32,7 +32,6 @@ GLIBC_2.2 pthread_getcpuclockid F
 GLIBC_2.2 pthread_join F
 GLIBC_2.2 pthread_setconcurrency F
 GLIBC_2.2 sem_trywait F
-GLIBC_2.2 sem_unlink F
 GLIBC_2.2 sem_wait F
 GLIBC_2.2.3 __libpthread_version_placeholder F
 GLIBC_2.2.6 __libpthread_version_placeholder F
diff --git a/sysdeps/unix/sysv/linux/sh/le/libc.abilist b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
index 5b3f7aa502..17d56762a5 100644
--- a/sysdeps/unix/sysv/linux/sh/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
@@ -1463,6 +1463,7 @@ GLIBC_2.2 sem_init F
 GLIBC_2.2 sem_open F
 GLIBC_2.2 sem_post F
 GLIBC_2.2 sem_timedwait F
+GLIBC_2.2 sem_unlink F
 GLIBC_2.2 semctl F
 GLIBC_2.2 semget F
 GLIBC_2.2 semop F
@@ -2259,6 +2260,7 @@ GLIBC_2.34 sem_init F
 GLIBC_2.34 sem_open F
 GLIBC_2.34 sem_post F
 GLIBC_2.34 sem_timedwait F
+GLIBC_2.34 sem_unlink F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
index e6282e233c..30f7add73e 100644
--- a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
@@ -32,7 +32,6 @@ GLIBC_2.2 pthread_getcpuclockid F
 GLIBC_2.2 pthread_join F
 GLIBC_2.2 pthread_setconcurrency F
 GLIBC_2.2 sem_trywait F
-GLIBC_2.2 sem_unlink F
 GLIBC_2.2 sem_wait F
 GLIBC_2.2.3 __libpthread_version_placeholder F
 GLIBC_2.2.6 __libpthread_version_placeholder F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
index d82f1c3f89..f34f9851ee 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
@@ -1691,6 +1691,7 @@ GLIBC_2.1.1 imaxabs F
 GLIBC_2.1.1 imaxdiv F
 GLIBC_2.1.1 sem_close F
 GLIBC_2.1.1 sem_open F
+GLIBC_2.1.1 sem_unlink F
 GLIBC_2.1.1 strchrnul F
 GLIBC_2.1.1 xdr_hyper F
 GLIBC_2.1.1 xdr_int64_t F
@@ -2395,6 +2396,7 @@ GLIBC_2.34 sem_init F
 GLIBC_2.34 sem_open F
 GLIBC_2.34 sem_post F
 GLIBC_2.34 sem_timedwait F
+GLIBC_2.34 sem_unlink F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
index 64f7b97cfd..6540830d09 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
@@ -22,7 +22,7 @@ GLIBC_2.1 pthread_getconcurrency F
 GLIBC_2.1 pthread_setconcurrency F
 GLIBC_2.1 sem_trywait F
 GLIBC_2.1 sem_wait F
-GLIBC_2.1.1 sem_unlink F
+GLIBC_2.1.1 __libpthread_version_placeholder F
 GLIBC_2.1.2 __libpthread_version_placeholder F
 GLIBC_2.11 pthread_sigqueue F
 GLIBC_2.12 pthread_getname_np F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
index b77c3ebc14..17d1320652 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
@@ -1506,6 +1506,7 @@ GLIBC_2.2 sem_init F
 GLIBC_2.2 sem_open F
 GLIBC_2.2 sem_post F
 GLIBC_2.2 sem_timedwait F
+GLIBC_2.2 sem_unlink F
 GLIBC_2.2 semctl F
 GLIBC_2.2 semget F
 GLIBC_2.2 semop F
@@ -2310,6 +2311,7 @@ GLIBC_2.34 sem_init F
 GLIBC_2.34 sem_open F
 GLIBC_2.34 sem_post F
 GLIBC_2.34 sem_timedwait F
+GLIBC_2.34 sem_unlink F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
index 4573250afa..225bfd0e6a 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
@@ -32,7 +32,6 @@ GLIBC_2.2 pthread_getcpuclockid F
 GLIBC_2.2 pthread_join F
 GLIBC_2.2 pthread_setconcurrency F
 GLIBC_2.2 sem_trywait F
-GLIBC_2.2 sem_unlink F
 GLIBC_2.2 sem_wait F
 GLIBC_2.2.3 __libpthread_version_placeholder F
 GLIBC_2.2.6 __libpthread_version_placeholder F
diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
index 1b56b70a15..f59fc63658 100644
--- a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
@@ -1474,6 +1474,7 @@ GLIBC_2.2.5 sem_init F
 GLIBC_2.2.5 sem_open F
 GLIBC_2.2.5 sem_post F
 GLIBC_2.2.5 sem_timedwait F
+GLIBC_2.2.5 sem_unlink F
 GLIBC_2.2.5 semctl F
 GLIBC_2.2.5 semget F
 GLIBC_2.2.5 semop F
@@ -2271,6 +2272,7 @@ GLIBC_2.34 sem_init F
 GLIBC_2.34 sem_open F
 GLIBC_2.34 sem_post F
 GLIBC_2.34 sem_timedwait F
+GLIBC_2.34 sem_unlink F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
index dc598f1bd8..6fc3699f2c 100644
--- a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
@@ -32,7 +32,6 @@ 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_trywait F
-GLIBC_2.2.5 sem_unlink F
 GLIBC_2.2.5 sem_wait F
 GLIBC_2.2.6 __libpthread_version_placeholder F
 GLIBC_2.28 thrd_create F
diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
index 26d95cc46e..d6e06954b6 100644
--- a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
@@ -1673,6 +1673,7 @@ GLIBC_2.16 sem_init F
 GLIBC_2.16 sem_open F
 GLIBC_2.16 sem_post F
 GLIBC_2.16 sem_timedwait F
+GLIBC_2.16 sem_unlink F
 GLIBC_2.16 semctl F
 GLIBC_2.16 semget F
 GLIBC_2.16 semop F
@@ -2376,6 +2377,7 @@ GLIBC_2.34 sem_init F
 GLIBC_2.34 sem_open F
 GLIBC_2.34 sem_post F
 GLIBC_2.34 sem_timedwait F
+GLIBC_2.34 sem_unlink F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
index b5ade1e207..ab481ebe8a 100644
--- a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
@@ -40,7 +40,6 @@ GLIBC_2.16 pthread_sigqueue F
 GLIBC_2.16 pthread_timedjoin_np F
 GLIBC_2.16 pthread_tryjoin_np F
 GLIBC_2.16 sem_trywait F
-GLIBC_2.16 sem_unlink F
 GLIBC_2.16 sem_wait F
 GLIBC_2.18 pthread_getattr_default_np F
 GLIBC_2.18 pthread_setattr_default_np F
-- 
2.30.2



^ permalink raw reply	[flat|nested] 24+ messages in thread

* [PATCH 11/11] nptl: Move sem_trywait, sem_wait into libc
  2021-05-03 13:51 [PATCH 00/11] nptl: Move semaphore functions into libc Florian Weimer
                   ` (9 preceding siblings ...)
  2021-05-03 13:52 ` [PATCH 10/11] nptl: Move sem_unlink " Florian Weimer
@ 2021-05-03 13:52 ` Florian Weimer
  2021-05-05 14:38   ` Adhemerval Zanella
  10 siblings, 1 reply; 24+ messages in thread
From: Florian Weimer @ 2021-05-03 13:52 UTC (permalink / raw)
  To: libc-alpha

The symbols were moved using scripts/move-symbol-to-libc.py.
---
 nptl/Makefile                                   |  2 +-
 nptl/Versions                                   | 10 ++++++----
 nptl/sem_wait.c                                 | 17 +++++++++++++----
 sysdeps/unix/sysv/linux/aarch64/libc.abilist    |  4 ++++
 .../unix/sysv/linux/aarch64/libpthread.abilist  |  2 --
 sysdeps/unix/sysv/linux/alpha/libc.abilist      |  6 ++++++
 .../unix/sysv/linux/alpha/libpthread.abilist    |  4 ----
 sysdeps/unix/sysv/linux/arc/libc.abilist        |  4 ++++
 sysdeps/unix/sysv/linux/arc/libpthread.abilist  |  2 --
 sysdeps/unix/sysv/linux/arm/be/libc.abilist     |  4 ++++
 .../unix/sysv/linux/arm/be/libpthread.abilist   |  2 --
 sysdeps/unix/sysv/linux/arm/le/libc.abilist     |  4 ++++
 .../unix/sysv/linux/arm/le/libpthread.abilist   |  2 --
 sysdeps/unix/sysv/linux/csky/libc.abilist       |  4 ++++
 sysdeps/unix/sysv/linux/csky/libpthread.abilist |  2 --
 sysdeps/unix/sysv/linux/hppa/libc.abilist       |  4 ++++
 sysdeps/unix/sysv/linux/hppa/libpthread.abilist |  2 --
 sysdeps/unix/sysv/linux/i386/libc.abilist       |  6 ++++++
 sysdeps/unix/sysv/linux/i386/libpthread.abilist |  4 ----
 sysdeps/unix/sysv/linux/ia64/libc.abilist       |  4 ++++
 sysdeps/unix/sysv/linux/ia64/libpthread.abilist |  2 --
 .../unix/sysv/linux/m68k/coldfire/libc.abilist  |  4 ++++
 .../sysv/linux/m68k/coldfire/libpthread.abilist |  2 --
 .../unix/sysv/linux/m68k/m680x0/libc.abilist    |  6 ++++++
 .../sysv/linux/m68k/m680x0/libpthread.abilist   |  4 ----
 .../unix/sysv/linux/microblaze/be/libc.abilist  |  4 ++++
 .../sysv/linux/microblaze/be/libpthread.abilist |  2 --
 .../unix/sysv/linux/microblaze/le/libc.abilist  |  4 ++++
 .../sysv/linux/microblaze/le/libpthread.abilist |  2 --
 .../sysv/linux/mips/mips32/fpu/libc.abilist     |  6 ++++++
 .../sysv/linux/mips/mips32/libpthread.abilist   |  4 ----
 .../sysv/linux/mips/mips32/nofpu/libc.abilist   |  6 ++++++
 .../sysv/linux/mips/mips64/libpthread.abilist   |  4 ----
 .../sysv/linux/mips/mips64/n32/libc.abilist     |  6 ++++++
 .../sysv/linux/mips/mips64/n64/libc.abilist     |  6 ++++++
 sysdeps/unix/sysv/linux/nios2/libc.abilist      |  4 ++++
 .../unix/sysv/linux/nios2/libpthread.abilist    |  2 --
 .../linux/powerpc/powerpc32/fpu/libc.abilist    |  6 ++++++
 .../linux/powerpc/powerpc32/libpthread.abilist  |  4 ----
 .../linux/powerpc/powerpc32/nofpu/libc.abilist  |  6 ++++++
 .../linux/powerpc/powerpc64/be/libc.abilist     |  4 ++++
 .../powerpc/powerpc64/be/libpthread.abilist     |  2 --
 .../linux/powerpc/powerpc64/le/libc.abilist     |  4 ++++
 .../powerpc/powerpc64/le/libpthread.abilist     |  2 --
 sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist |  4 ++++
 .../sysv/linux/riscv/rv32/libpthread.abilist    |  2 --
 sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist |  4 ++++
 .../sysv/linux/riscv/rv64/libpthread.abilist    |  2 --
 .../unix/sysv/linux/s390/s390-32/libc.abilist   |  6 ++++++
 .../sysv/linux/s390/s390-32/libpthread.abilist  |  4 ----
 .../unix/sysv/linux/s390/s390-64/libc.abilist   |  4 ++++
 .../sysv/linux/s390/s390-64/libpthread.abilist  |  2 --
 sysdeps/unix/sysv/linux/sh/be/libc.abilist      |  4 ++++
 .../unix/sysv/linux/sh/be/libpthread.abilist    |  2 --
 sysdeps/unix/sysv/linux/sh/le/libc.abilist      |  4 ++++
 .../unix/sysv/linux/sh/le/libpthread.abilist    |  2 --
 .../unix/sysv/linux/sparc/sparc32/libc.abilist  |  6 ++++++
 .../sysv/linux/sparc/sparc32/libpthread.abilist |  4 ----
 .../unix/sysv/linux/sparc/sparc64/libc.abilist  |  4 ++++
 .../sysv/linux/sparc/sparc64/libpthread.abilist |  2 --
 sysdeps/unix/sysv/linux/x86_64/64/libc.abilist  |  4 ++++
 .../sysv/linux/x86_64/64/libpthread.abilist     |  2 --
 sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist |  4 ++++
 .../sysv/linux/x86_64/x32/libpthread.abilist    |  2 --
 64 files changed, 170 insertions(+), 83 deletions(-)

diff --git a/nptl/Makefile b/nptl/Makefile
index 665cd1f3d1..7fb387a17a 100644
--- a/nptl/Makefile
+++ b/nptl/Makefile
@@ -160,6 +160,7 @@ routines = \
   sem_routines \
   sem_timedwait \
   sem_unlink \
+  sem_wait \
   tpp \
   unwind \
 
@@ -211,7 +212,6 @@ libpthread-routines = \
   pthread_sigqueue \
   pthread_timedjoin \
   pthread_tryjoin \
-  sem_wait \
   vars \
   version \
 
diff --git a/nptl/Versions b/nptl/Versions
index 20997aa706..b243e380e3 100644
--- a/nptl/Versions
+++ b/nptl/Versions
@@ -66,6 +66,8 @@ libc {
     sem_getvalue;
     sem_init;
     sem_post;
+    sem_trywait;
+    sem_wait;
   }
   GLIBC_2.1 {
     pthread_attr_init;
@@ -88,6 +90,8 @@ libc {
     sem_getvalue;
     sem_init;
     sem_post;
+    sem_trywait;
+    sem_wait;
   }
   GLIBC_2.1.1 {
     sem_close;
@@ -270,7 +274,9 @@ libc {
     sem_open;
     sem_post;
     sem_timedwait;
+    sem_trywait;
     sem_unlink;
+    sem_wait;
     thrd_exit;
     tss_create;
     tss_delete;
@@ -336,8 +342,6 @@ libpthread {
     pthread_detach;
     pthread_join;
     pthread_sigmask;
-    sem_trywait;
-    sem_wait;
   }
 
   GLIBC_2.1 {
@@ -350,8 +354,6 @@ libpthread {
     pthread_create;
     pthread_getconcurrency;
     pthread_setconcurrency;
-    sem_trywait;
-    sem_wait;
   }
 
   GLIBC_2.1.1 {
diff --git a/nptl/sem_wait.c b/nptl/sem_wait.c
index 02bee9f98c..8576add41c 100644
--- a/nptl/sem_wait.c
+++ b/nptl/sem_wait.c
@@ -43,9 +43,13 @@ __new_sem_wait (sem_t *sem)
     return __new_sem_wait_slow64 ((struct new_sem *) sem,
 				  CLOCK_REALTIME, NULL);
 }
-versioned_symbol (libpthread, __new_sem_wait, sem_wait, GLIBC_2_1);
+versioned_symbol (libc, __new_sem_wait, sem_wait, GLIBC_2_34);
 
-#if SHLIB_COMPAT (libpthread, GLIBC_2_0, GLIBC_2_1)
+#if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_1, GLIBC_2_34)
+compat_symbol (libpthread, __new_sem_wait, sem_wait, GLIBC_2_1);
+#endif
+
+#if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_0, GLIBC_2_1)
 int
 attribute_compat_text_section
 __old_sem_wait (sem_t *sem)
@@ -80,8 +84,13 @@ __new_sem_trywait (sem_t *sem)
   __set_errno (EAGAIN);
   return -1;
 }
-versioned_symbol (libpthread, __new_sem_trywait, sem_trywait, GLIBC_2_1);
-#if SHLIB_COMPAT (libpthread, GLIBC_2_0, GLIBC_2_1)
+versioned_symbol (libc, __new_sem_trywait, sem_trywait, GLIBC_2_34);
+
+#if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_1, GLIBC_2_34)
+compat_symbol (libpthread, __new_sem_trywait, sem_trywait, GLIBC_2_1);
+#endif
+
+#if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_0, GLIBC_2_1)
 int
 __old_sem_trywait (sem_t *sem)
 {
diff --git a/sysdeps/unix/sysv/linux/aarch64/libc.abilist b/sysdeps/unix/sysv/linux/aarch64/libc.abilist
index 75cacc3038..000d484949 100644
--- a/sysdeps/unix/sysv/linux/aarch64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/aarch64/libc.abilist
@@ -1667,7 +1667,9 @@ GLIBC_2.17 sem_init F
 GLIBC_2.17 sem_open F
 GLIBC_2.17 sem_post F
 GLIBC_2.17 sem_timedwait F
+GLIBC_2.17 sem_trywait F
 GLIBC_2.17 sem_unlink F
+GLIBC_2.17 sem_wait F
 GLIBC_2.17 semctl F
 GLIBC_2.17 semget F
 GLIBC_2.17 semop F
@@ -2362,7 +2364,9 @@ GLIBC_2.34 sem_init F
 GLIBC_2.34 sem_open F
 GLIBC_2.34 sem_post F
 GLIBC_2.34 sem_timedwait F
+GLIBC_2.34 sem_trywait F
 GLIBC_2.34 sem_unlink F
+GLIBC_2.34 sem_wait F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
index 590f08ba58..cbf1879440 100644
--- a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
@@ -39,8 +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_trywait F
-GLIBC_2.17 sem_wait F
 GLIBC_2.18 pthread_getattr_default_np F
 GLIBC_2.18 pthread_setattr_default_np F
 GLIBC_2.28 thrd_create F
diff --git a/sysdeps/unix/sysv/linux/alpha/libc.abilist b/sysdeps/unix/sysv/linux/alpha/libc.abilist
index a1c7de11ee..381101f10e 100644
--- a/sysdeps/unix/sysv/linux/alpha/libc.abilist
+++ b/sysdeps/unix/sysv/linux/alpha/libc.abilist
@@ -1015,6 +1015,8 @@ GLIBC_2.0 sem_destroy 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
+GLIBC_2.0 sem_wait F
 GLIBC_2.0 semctl F
 GLIBC_2.0 semget F
 GLIBC_2.0 semop F
@@ -1642,6 +1644,8 @@ GLIBC_2.1 sem_destroy 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
+GLIBC_2.1 sem_wait F
 GLIBC_2.1 sendfile F
 GLIBC_2.1 setitimer F
 GLIBC_2.1 setrlimit64 F
@@ -2447,7 +2451,9 @@ GLIBC_2.34 sem_init F
 GLIBC_2.34 sem_open F
 GLIBC_2.34 sem_post F
 GLIBC_2.34 sem_timedwait F
+GLIBC_2.34 sem_trywait F
 GLIBC_2.34 sem_unlink F
+GLIBC_2.34 sem_wait F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
index 6540830d09..4adb3dec7c 100644
--- a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
@@ -9,8 +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_trywait F
-GLIBC_2.0 sem_wait F
 GLIBC_2.1 pthread_attr_getguardsize F
 GLIBC_2.1 pthread_attr_getstackaddr F
 GLIBC_2.1 pthread_attr_getstacksize F
@@ -20,8 +18,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_trywait F
-GLIBC_2.1 sem_wait F
 GLIBC_2.1.1 __libpthread_version_placeholder F
 GLIBC_2.1.2 __libpthread_version_placeholder F
 GLIBC_2.11 pthread_sigqueue F
diff --git a/sysdeps/unix/sysv/linux/arc/libc.abilist b/sysdeps/unix/sysv/linux/arc/libc.abilist
index 13f0192e61..cd05bc6393 100644
--- a/sysdeps/unix/sysv/linux/arc/libc.abilist
+++ b/sysdeps/unix/sysv/linux/arc/libc.abilist
@@ -1609,7 +1609,9 @@ GLIBC_2.32 sem_init F
 GLIBC_2.32 sem_open F
 GLIBC_2.32 sem_post F
 GLIBC_2.32 sem_timedwait F
+GLIBC_2.32 sem_trywait F
 GLIBC_2.32 sem_unlink F
+GLIBC_2.32 sem_wait F
 GLIBC_2.32 semctl F
 GLIBC_2.32 semget F
 GLIBC_2.32 semop F
@@ -2121,7 +2123,9 @@ GLIBC_2.34 sem_init F
 GLIBC_2.34 sem_open F
 GLIBC_2.34 sem_post F
 GLIBC_2.34 sem_timedwait F
+GLIBC_2.34 sem_trywait F
 GLIBC_2.34 sem_unlink F
+GLIBC_2.34 sem_wait F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/arc/libpthread.abilist b/sysdeps/unix/sysv/linux/arc/libpthread.abilist
index 7aa79d0d68..219ac17ca8 100644
--- a/sysdeps/unix/sysv/linux/arc/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/arc/libpthread.abilist
@@ -42,8 +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_trywait F
-GLIBC_2.32 sem_wait F
 GLIBC_2.32 thrd_create F
 GLIBC_2.32 thrd_detach F
 GLIBC_2.32 thrd_join F
diff --git a/sysdeps/unix/sysv/linux/arm/be/libc.abilist b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
index 04715a2155..ca79da3636 100644
--- a/sysdeps/unix/sysv/linux/arm/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
@@ -260,7 +260,9 @@ GLIBC_2.34 sem_init F
 GLIBC_2.34 sem_open F
 GLIBC_2.34 sem_post F
 GLIBC_2.34 sem_timedwait F
+GLIBC_2.34 sem_trywait F
 GLIBC_2.34 sem_unlink F
+GLIBC_2.34 sem_wait F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
@@ -1853,7 +1855,9 @@ GLIBC_2.4 sem_init F
 GLIBC_2.4 sem_open F
 GLIBC_2.4 sem_post F
 GLIBC_2.4 sem_timedwait F
+GLIBC_2.4 sem_trywait F
 GLIBC_2.4 sem_unlink F
+GLIBC_2.4 sem_wait F
 GLIBC_2.4 semctl F
 GLIBC_2.4 semget F
 GLIBC_2.4 semop F
diff --git a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
index 1e819c1173..3aba51fbd0 100644
--- a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
@@ -47,5 +47,3 @@ 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_trywait F
-GLIBC_2.4 sem_wait F
diff --git a/sysdeps/unix/sysv/linux/arm/le/libc.abilist b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
index 671b211af6..619a2dc40a 100644
--- a/sysdeps/unix/sysv/linux/arm/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
@@ -257,7 +257,9 @@ GLIBC_2.34 sem_init F
 GLIBC_2.34 sem_open F
 GLIBC_2.34 sem_post F
 GLIBC_2.34 sem_timedwait F
+GLIBC_2.34 sem_trywait F
 GLIBC_2.34 sem_unlink F
+GLIBC_2.34 sem_wait F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
@@ -1850,7 +1852,9 @@ GLIBC_2.4 sem_init F
 GLIBC_2.4 sem_open F
 GLIBC_2.4 sem_post F
 GLIBC_2.4 sem_timedwait F
+GLIBC_2.4 sem_trywait F
 GLIBC_2.4 sem_unlink F
+GLIBC_2.4 sem_wait F
 GLIBC_2.4 semctl F
 GLIBC_2.4 semget F
 GLIBC_2.4 semop F
diff --git a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
index 1e819c1173..3aba51fbd0 100644
--- a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
@@ -47,5 +47,3 @@ 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_trywait F
-GLIBC_2.4 sem_wait F
diff --git a/sysdeps/unix/sysv/linux/csky/libc.abilist b/sysdeps/unix/sysv/linux/csky/libc.abilist
index ccb423fe97..5a2d762df0 100644
--- a/sysdeps/unix/sysv/linux/csky/libc.abilist
+++ b/sysdeps/unix/sysv/linux/csky/libc.abilist
@@ -1670,7 +1670,9 @@ GLIBC_2.29 sem_init F
 GLIBC_2.29 sem_open F
 GLIBC_2.29 sem_post F
 GLIBC_2.29 sem_timedwait F
+GLIBC_2.29 sem_trywait F
 GLIBC_2.29 sem_unlink F
+GLIBC_2.29 sem_wait F
 GLIBC_2.29 semctl F
 GLIBC_2.29 semget F
 GLIBC_2.29 semop F
@@ -2305,7 +2307,9 @@ GLIBC_2.34 sem_init F
 GLIBC_2.34 sem_open F
 GLIBC_2.34 sem_post F
 GLIBC_2.34 sem_timedwait F
+GLIBC_2.34 sem_trywait F
 GLIBC_2.34 sem_unlink F
+GLIBC_2.34 sem_wait F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/csky/libpthread.abilist b/sysdeps/unix/sysv/linux/csky/libpthread.abilist
index 3579a0bfbb..819757485b 100644
--- a/sysdeps/unix/sysv/linux/csky/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/csky/libpthread.abilist
@@ -41,8 +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_trywait F
-GLIBC_2.29 sem_wait F
 GLIBC_2.29 thrd_create F
 GLIBC_2.29 thrd_detach F
 GLIBC_2.29 thrd_join F
diff --git a/sysdeps/unix/sysv/linux/hppa/libc.abilist b/sysdeps/unix/sysv/linux/hppa/libc.abilist
index 2d1fa9694b..5886b23300 100644
--- a/sysdeps/unix/sysv/linux/hppa/libc.abilist
+++ b/sysdeps/unix/sysv/linux/hppa/libc.abilist
@@ -1459,7 +1459,9 @@ GLIBC_2.2 sem_init F
 GLIBC_2.2 sem_open F
 GLIBC_2.2 sem_post F
 GLIBC_2.2 sem_timedwait F
+GLIBC_2.2 sem_trywait F
 GLIBC_2.2 sem_unlink F
+GLIBC_2.2 sem_wait F
 GLIBC_2.2 semctl F
 GLIBC_2.2 semget F
 GLIBC_2.2 semop F
@@ -2256,7 +2258,9 @@ GLIBC_2.34 sem_init F
 GLIBC_2.34 sem_open F
 GLIBC_2.34 sem_post F
 GLIBC_2.34 sem_timedwait F
+GLIBC_2.34 sem_trywait F
 GLIBC_2.34 sem_unlink F
+GLIBC_2.34 sem_wait F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
index 30f7add73e..d19abde30d 100644
--- a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
@@ -31,8 +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_trywait F
-GLIBC_2.2 sem_wait F
 GLIBC_2.2.3 __libpthread_version_placeholder F
 GLIBC_2.2.6 __libpthread_version_placeholder F
 GLIBC_2.28 thrd_create F
diff --git a/sysdeps/unix/sysv/linux/i386/libc.abilist b/sysdeps/unix/sysv/linux/i386/libc.abilist
index e270a9c9ab..4694ef5169 100644
--- a/sysdeps/unix/sysv/linux/i386/libc.abilist
+++ b/sysdeps/unix/sysv/linux/i386/libc.abilist
@@ -992,6 +992,8 @@ GLIBC_2.0 sem_destroy 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
+GLIBC_2.0 sem_wait F
 GLIBC_2.0 semctl F
 GLIBC_2.0 semget F
 GLIBC_2.0 semop F
@@ -1612,6 +1614,8 @@ GLIBC_2.1 sem_destroy 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
+GLIBC_2.1 sem_wait F
 GLIBC_2.1 sendfile F
 GLIBC_2.1 setrlimit64 F
 GLIBC_2.1 setutxent F
@@ -2437,7 +2441,9 @@ GLIBC_2.34 sem_init F
 GLIBC_2.34 sem_open F
 GLIBC_2.34 sem_post F
 GLIBC_2.34 sem_timedwait F
+GLIBC_2.34 sem_trywait F
 GLIBC_2.34 sem_unlink F
+GLIBC_2.34 sem_wait F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/i386/libpthread.abilist b/sysdeps/unix/sysv/linux/i386/libpthread.abilist
index c7a1d8f0ff..7431c8546e 100644
--- a/sysdeps/unix/sysv/linux/i386/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/i386/libpthread.abilist
@@ -9,8 +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_trywait F
-GLIBC_2.0 sem_wait F
 GLIBC_2.1 pthread_attr_getguardsize F
 GLIBC_2.1 pthread_attr_getstackaddr F
 GLIBC_2.1 pthread_attr_getstacksize F
@@ -20,8 +18,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_trywait F
-GLIBC_2.1 sem_wait F
 GLIBC_2.1.1 __libpthread_version_placeholder F
 GLIBC_2.1.2 __libpthread_version_placeholder F
 GLIBC_2.11 pthread_sigqueue F
diff --git a/sysdeps/unix/sysv/linux/ia64/libc.abilist b/sysdeps/unix/sysv/linux/ia64/libc.abilist
index 76dfc3a9ff..66b154da95 100644
--- a/sysdeps/unix/sysv/linux/ia64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/ia64/libc.abilist
@@ -1480,7 +1480,9 @@ GLIBC_2.2 sem_init F
 GLIBC_2.2 sem_open F
 GLIBC_2.2 sem_post F
 GLIBC_2.2 sem_timedwait F
+GLIBC_2.2 sem_trywait F
 GLIBC_2.2 sem_unlink F
+GLIBC_2.2 sem_wait F
 GLIBC_2.2 semctl F
 GLIBC_2.2 semget F
 GLIBC_2.2 semop F
@@ -2290,7 +2292,9 @@ GLIBC_2.34 sem_init F
 GLIBC_2.34 sem_open F
 GLIBC_2.34 sem_post F
 GLIBC_2.34 sem_timedwait F
+GLIBC_2.34 sem_trywait F
 GLIBC_2.34 sem_unlink F
+GLIBC_2.34 sem_wait F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
index 225bfd0e6a..05fae6161a 100644
--- a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
@@ -31,8 +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_trywait F
-GLIBC_2.2 sem_wait F
 GLIBC_2.2.3 __libpthread_version_placeholder F
 GLIBC_2.2.6 __libpthread_version_placeholder F
 GLIBC_2.28 thrd_create F
diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
index 50b6beebdb..dfcce32e4d 100644
--- a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
@@ -261,7 +261,9 @@ GLIBC_2.34 sem_init F
 GLIBC_2.34 sem_open F
 GLIBC_2.34 sem_post F
 GLIBC_2.34 sem_timedwait F
+GLIBC_2.34 sem_trywait F
 GLIBC_2.34 sem_unlink F
+GLIBC_2.34 sem_wait F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
@@ -1833,7 +1835,9 @@ GLIBC_2.4 sem_init F
 GLIBC_2.4 sem_open F
 GLIBC_2.4 sem_post F
 GLIBC_2.4 sem_timedwait F
+GLIBC_2.4 sem_trywait F
 GLIBC_2.4 sem_unlink F
+GLIBC_2.4 sem_wait F
 GLIBC_2.4 semctl F
 GLIBC_2.4 semget F
 GLIBC_2.4 semop F
diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
index 1e819c1173..3aba51fbd0 100644
--- a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
@@ -47,5 +47,3 @@ 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_trywait F
-GLIBC_2.4 sem_wait F
diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
index f42dfe0d54..a643d84325 100644
--- a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
@@ -991,6 +991,8 @@ GLIBC_2.0 sem_destroy 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
+GLIBC_2.0 sem_wait F
 GLIBC_2.0 semctl F
 GLIBC_2.0 semget F
 GLIBC_2.0 semop F
@@ -1608,6 +1610,8 @@ GLIBC_2.1 sem_destroy 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
+GLIBC_2.1 sem_wait F
 GLIBC_2.1 sendfile F
 GLIBC_2.1 setrlimit64 F
 GLIBC_2.1 setutxent F
@@ -2380,7 +2384,9 @@ GLIBC_2.34 sem_init F
 GLIBC_2.34 sem_open F
 GLIBC_2.34 sem_post F
 GLIBC_2.34 sem_timedwait F
+GLIBC_2.34 sem_trywait F
 GLIBC_2.34 sem_unlink F
+GLIBC_2.34 sem_wait F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
index c7a1d8f0ff..7431c8546e 100644
--- a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
@@ -9,8 +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_trywait F
-GLIBC_2.0 sem_wait F
 GLIBC_2.1 pthread_attr_getguardsize F
 GLIBC_2.1 pthread_attr_getstackaddr F
 GLIBC_2.1 pthread_attr_getstacksize F
@@ -20,8 +18,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_trywait F
-GLIBC_2.1 sem_wait F
 GLIBC_2.1.1 __libpthread_version_placeholder F
 GLIBC_2.1.2 __libpthread_version_placeholder F
 GLIBC_2.11 pthread_sigqueue F
diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
index 563c3a0e35..91d77eb8c9 100644
--- a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
@@ -1669,7 +1669,9 @@ GLIBC_2.18 sem_init F
 GLIBC_2.18 sem_open F
 GLIBC_2.18 sem_post F
 GLIBC_2.18 sem_timedwait F
+GLIBC_2.18 sem_trywait F
 GLIBC_2.18 sem_unlink F
+GLIBC_2.18 sem_wait F
 GLIBC_2.18 semctl F
 GLIBC_2.18 semget F
 GLIBC_2.18 semop F
@@ -2356,7 +2358,9 @@ GLIBC_2.34 sem_init F
 GLIBC_2.34 sem_open F
 GLIBC_2.34 sem_post F
 GLIBC_2.34 sem_timedwait F
+GLIBC_2.34 sem_trywait F
 GLIBC_2.34 sem_unlink F
+GLIBC_2.34 sem_wait F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
index d7bacba551..ac586fac3b 100644
--- a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
@@ -41,8 +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_trywait F
-GLIBC_2.18 sem_wait F
 GLIBC_2.28 thrd_create F
 GLIBC_2.28 thrd_detach F
 GLIBC_2.28 thrd_join F
diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
index 57a51ab39b..72dd2dea1a 100644
--- a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
@@ -1669,7 +1669,9 @@ GLIBC_2.18 sem_init F
 GLIBC_2.18 sem_open F
 GLIBC_2.18 sem_post F
 GLIBC_2.18 sem_timedwait F
+GLIBC_2.18 sem_trywait F
 GLIBC_2.18 sem_unlink F
+GLIBC_2.18 sem_wait F
 GLIBC_2.18 semctl F
 GLIBC_2.18 semget F
 GLIBC_2.18 semop F
@@ -2353,7 +2355,9 @@ GLIBC_2.34 sem_init F
 GLIBC_2.34 sem_open F
 GLIBC_2.34 sem_post F
 GLIBC_2.34 sem_timedwait F
+GLIBC_2.34 sem_trywait F
 GLIBC_2.34 sem_unlink F
+GLIBC_2.34 sem_wait F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
index d7bacba551..ac586fac3b 100644
--- a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
@@ -41,8 +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_trywait F
-GLIBC_2.18 sem_wait F
 GLIBC_2.28 thrd_create F
 GLIBC_2.28 thrd_detach F
 GLIBC_2.28 thrd_join F
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
index a7b828f541..2132171644 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
@@ -988,6 +988,8 @@ GLIBC_2.0 sem_destroy 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
+GLIBC_2.0 sem_wait F
 GLIBC_2.0 semctl F
 GLIBC_2.0 semget F
 GLIBC_2.0 semop F
@@ -1899,7 +1901,9 @@ GLIBC_2.2 sem_init F
 GLIBC_2.2 sem_open F
 GLIBC_2.2 sem_post F
 GLIBC_2.2 sem_timedwait F
+GLIBC_2.2 sem_trywait F
 GLIBC_2.2 sem_unlink F
+GLIBC_2.2 sem_wait F
 GLIBC_2.2 semctl F
 GLIBC_2.2 sendfile F
 GLIBC_2.2 setrlimit64 F
@@ -2343,7 +2347,9 @@ GLIBC_2.34 sem_init F
 GLIBC_2.34 sem_open F
 GLIBC_2.34 sem_post F
 GLIBC_2.34 sem_timedwait F
+GLIBC_2.34 sem_trywait F
 GLIBC_2.34 sem_unlink F
+GLIBC_2.34 sem_wait F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
index c7256adbdb..16eef07725 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
@@ -9,8 +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_trywait F
-GLIBC_2.0 sem_wait F
 GLIBC_2.11 pthread_sigqueue F
 GLIBC_2.12 pthread_getname_np F
 GLIBC_2.12 pthread_setname_np F
@@ -34,8 +32,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_trywait F
-GLIBC_2.2 sem_wait F
 GLIBC_2.2.3 __libpthread_version_placeholder F
 GLIBC_2.2.6 __libpthread_version_placeholder F
 GLIBC_2.28 thrd_create F
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
index 38e27a67b7..f59b1cd90b 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
@@ -988,6 +988,8 @@ GLIBC_2.0 sem_destroy 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
+GLIBC_2.0 sem_wait F
 GLIBC_2.0 semctl F
 GLIBC_2.0 semget F
 GLIBC_2.0 semop F
@@ -1897,7 +1899,9 @@ GLIBC_2.2 sem_init F
 GLIBC_2.2 sem_open F
 GLIBC_2.2 sem_post F
 GLIBC_2.2 sem_timedwait F
+GLIBC_2.2 sem_trywait F
 GLIBC_2.2 sem_unlink F
+GLIBC_2.2 sem_wait F
 GLIBC_2.2 semctl F
 GLIBC_2.2 sendfile F
 GLIBC_2.2 setrlimit64 F
@@ -2341,7 +2345,9 @@ GLIBC_2.34 sem_init F
 GLIBC_2.34 sem_open F
 GLIBC_2.34 sem_post F
 GLIBC_2.34 sem_timedwait F
+GLIBC_2.34 sem_trywait F
 GLIBC_2.34 sem_unlink F
+GLIBC_2.34 sem_wait F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
index c7256adbdb..16eef07725 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
@@ -9,8 +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_trywait F
-GLIBC_2.0 sem_wait F
 GLIBC_2.11 pthread_sigqueue F
 GLIBC_2.12 pthread_getname_np F
 GLIBC_2.12 pthread_setname_np F
@@ -34,8 +32,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_trywait F
-GLIBC_2.2 sem_wait F
 GLIBC_2.2.3 __libpthread_version_placeholder F
 GLIBC_2.2.6 __libpthread_version_placeholder F
 GLIBC_2.28 thrd_create F
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
index 932bbb01ed..1a8b007889 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
@@ -988,6 +988,8 @@ GLIBC_2.0 sem_destroy 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
+GLIBC_2.0 sem_wait F
 GLIBC_2.0 semctl F
 GLIBC_2.0 semget F
 GLIBC_2.0 semop F
@@ -1897,7 +1899,9 @@ GLIBC_2.2 sem_init F
 GLIBC_2.2 sem_open F
 GLIBC_2.2 sem_post F
 GLIBC_2.2 sem_timedwait F
+GLIBC_2.2 sem_trywait F
 GLIBC_2.2 sem_unlink F
+GLIBC_2.2 sem_wait F
 GLIBC_2.2 sendfile F
 GLIBC_2.2 setrlimit64 F
 GLIBC_2.2 setutxent F
@@ -2349,7 +2353,9 @@ GLIBC_2.34 sem_init F
 GLIBC_2.34 sem_open F
 GLIBC_2.34 sem_post F
 GLIBC_2.34 sem_timedwait F
+GLIBC_2.34 sem_trywait F
 GLIBC_2.34 sem_unlink F
+GLIBC_2.34 sem_wait F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
index d2af27e80e..c3291ffa9e 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
@@ -986,6 +986,8 @@ GLIBC_2.0 sem_destroy 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
+GLIBC_2.0 sem_wait F
 GLIBC_2.0 semctl F
 GLIBC_2.0 semget F
 GLIBC_2.0 semop F
@@ -1893,7 +1895,9 @@ GLIBC_2.2 sem_init F
 GLIBC_2.2 sem_open F
 GLIBC_2.2 sem_post F
 GLIBC_2.2 sem_timedwait F
+GLIBC_2.2 sem_trywait F
 GLIBC_2.2 sem_unlink F
+GLIBC_2.2 sem_wait F
 GLIBC_2.2 sendfile F
 GLIBC_2.2 setrlimit64 F
 GLIBC_2.2 setutxent F
@@ -2343,7 +2347,9 @@ GLIBC_2.34 sem_init F
 GLIBC_2.34 sem_open F
 GLIBC_2.34 sem_post F
 GLIBC_2.34 sem_timedwait F
+GLIBC_2.34 sem_trywait F
 GLIBC_2.34 sem_unlink F
+GLIBC_2.34 sem_wait F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/nios2/libc.abilist b/sysdeps/unix/sysv/linux/nios2/libc.abilist
index b56a86af95..f118e29a13 100644
--- a/sysdeps/unix/sysv/linux/nios2/libc.abilist
+++ b/sysdeps/unix/sysv/linux/nios2/libc.abilist
@@ -1712,7 +1712,9 @@ GLIBC_2.21 sem_init F
 GLIBC_2.21 sem_open F
 GLIBC_2.21 sem_post F
 GLIBC_2.21 sem_timedwait F
+GLIBC_2.21 sem_trywait F
 GLIBC_2.21 sem_unlink F
+GLIBC_2.21 sem_wait F
 GLIBC_2.21 semctl F
 GLIBC_2.21 semget F
 GLIBC_2.21 semop F
@@ -2395,7 +2397,9 @@ GLIBC_2.34 sem_init F
 GLIBC_2.34 sem_open F
 GLIBC_2.34 sem_post F
 GLIBC_2.34 sem_timedwait F
+GLIBC_2.34 sem_trywait F
 GLIBC_2.34 sem_unlink F
+GLIBC_2.34 sem_wait F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
index 8c753b83c5..4080b80d4a 100644
--- a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
@@ -41,8 +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_trywait F
-GLIBC_2.21 sem_wait F
 GLIBC_2.28 thrd_create F
 GLIBC_2.28 thrd_detach F
 GLIBC_2.28 thrd_join F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
index f66d77276d..7469a65e2e 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
@@ -999,6 +999,8 @@ GLIBC_2.0 sem_destroy 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
+GLIBC_2.0 sem_wait F
 GLIBC_2.0 semctl F
 GLIBC_2.0 semget F
 GLIBC_2.0 semop F
@@ -1613,6 +1615,8 @@ GLIBC_2.1 sem_destroy 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
+GLIBC_2.1 sem_wait F
 GLIBC_2.1 sendfile F
 GLIBC_2.1 setrlimit64 F
 GLIBC_2.1 setutxent F
@@ -2407,7 +2411,9 @@ GLIBC_2.34 sem_init F
 GLIBC_2.34 sem_open F
 GLIBC_2.34 sem_post F
 GLIBC_2.34 sem_timedwait F
+GLIBC_2.34 sem_trywait F
 GLIBC_2.34 sem_unlink F
+GLIBC_2.34 sem_wait F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
index 83968d0c97..4bc2e431c3 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
@@ -9,8 +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_trywait F
-GLIBC_2.0 sem_wait F
 GLIBC_2.1 pthread_attr_getguardsize F
 GLIBC_2.1 pthread_attr_getstackaddr F
 GLIBC_2.1 pthread_attr_getstacksize F
@@ -20,8 +18,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_trywait F
-GLIBC_2.1 sem_wait F
 GLIBC_2.1.1 __libpthread_version_placeholder F
 GLIBC_2.1.2 __libpthread_version_placeholder F
 GLIBC_2.11 pthread_sigqueue F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
index bf1a6ba7ba..6998064cc8 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
@@ -999,6 +999,8 @@ GLIBC_2.0 sem_destroy 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
+GLIBC_2.0 sem_wait F
 GLIBC_2.0 semctl F
 GLIBC_2.0 semget F
 GLIBC_2.0 semop F
@@ -1613,6 +1615,8 @@ GLIBC_2.1 sem_destroy 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
+GLIBC_2.1 sem_wait F
 GLIBC_2.1 sendfile F
 GLIBC_2.1 setrlimit64 F
 GLIBC_2.1 setutxent F
@@ -2440,7 +2444,9 @@ GLIBC_2.34 sem_init F
 GLIBC_2.34 sem_open F
 GLIBC_2.34 sem_post F
 GLIBC_2.34 sem_timedwait F
+GLIBC_2.34 sem_trywait F
 GLIBC_2.34 sem_unlink F
+GLIBC_2.34 sem_wait F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
index 55eea26dc9..20014236c7 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
@@ -1584,7 +1584,9 @@ GLIBC_2.3 sem_init F
 GLIBC_2.3 sem_open F
 GLIBC_2.3 sem_post F
 GLIBC_2.3 sem_timedwait F
+GLIBC_2.3 sem_trywait F
 GLIBC_2.3 sem_unlink F
+GLIBC_2.3 sem_wait F
 GLIBC_2.3 semctl F
 GLIBC_2.3 semget F
 GLIBC_2.3 semop F
@@ -2257,7 +2259,9 @@ GLIBC_2.34 sem_init F
 GLIBC_2.34 sem_open F
 GLIBC_2.34 sem_post F
 GLIBC_2.34 sem_timedwait F
+GLIBC_2.34 sem_trywait F
 GLIBC_2.34 sem_unlink F
+GLIBC_2.34 sem_wait F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
index b6a7fc4e23..e7287d88fb 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
@@ -34,8 +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_trywait F
-GLIBC_2.3 sem_wait F
 GLIBC_2.3.2 __libpthread_version_placeholder F
 GLIBC_2.3.3 __pthread_register_cancel F
 GLIBC_2.3.3 __pthread_register_cancel_defer F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
index b5032df9df..24a7d912cc 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
@@ -1755,7 +1755,9 @@ GLIBC_2.17 sem_init F
 GLIBC_2.17 sem_open F
 GLIBC_2.17 sem_post F
 GLIBC_2.17 sem_timedwait F
+GLIBC_2.17 sem_trywait F
 GLIBC_2.17 sem_unlink F
+GLIBC_2.17 sem_wait F
 GLIBC_2.17 semctl F
 GLIBC_2.17 semget F
 GLIBC_2.17 semop F
@@ -2558,7 +2560,9 @@ GLIBC_2.34 sem_init F
 GLIBC_2.34 sem_open F
 GLIBC_2.34 sem_post F
 GLIBC_2.34 sem_timedwait F
+GLIBC_2.34 sem_trywait F
 GLIBC_2.34 sem_unlink F
+GLIBC_2.34 sem_wait F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
index 590f08ba58..cbf1879440 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
@@ -39,8 +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_trywait F
-GLIBC_2.17 sem_wait F
 GLIBC_2.18 pthread_getattr_default_np F
 GLIBC_2.18 pthread_setattr_default_np F
 GLIBC_2.28 thrd_create F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
index 7b86b09a47..b739614eea 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
@@ -1611,7 +1611,9 @@ GLIBC_2.33 sem_init F
 GLIBC_2.33 sem_open F
 GLIBC_2.33 sem_post F
 GLIBC_2.33 sem_timedwait F
+GLIBC_2.33 sem_trywait F
 GLIBC_2.33 sem_unlink F
+GLIBC_2.33 sem_wait F
 GLIBC_2.33 semctl F
 GLIBC_2.33 semget F
 GLIBC_2.33 semop F
@@ -2123,7 +2125,9 @@ GLIBC_2.34 sem_init F
 GLIBC_2.34 sem_open F
 GLIBC_2.34 sem_post F
 GLIBC_2.34 sem_timedwait F
+GLIBC_2.34 sem_trywait F
 GLIBC_2.34 sem_unlink F
+GLIBC_2.34 sem_wait F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
index 74798905a5..0609c51490 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
@@ -42,8 +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_trywait F
-GLIBC_2.33 sem_wait F
 GLIBC_2.33 thrd_create F
 GLIBC_2.33 thrd_detach F
 GLIBC_2.33 thrd_join F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
index 36e7eff6a7..b6f1325a59 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
@@ -1659,7 +1659,9 @@ GLIBC_2.27 sem_init F
 GLIBC_2.27 sem_open F
 GLIBC_2.27 sem_post F
 GLIBC_2.27 sem_timedwait F
+GLIBC_2.27 sem_trywait F
 GLIBC_2.27 sem_unlink F
+GLIBC_2.27 sem_wait F
 GLIBC_2.27 semctl F
 GLIBC_2.27 semget F
 GLIBC_2.27 semop F
@@ -2323,7 +2325,9 @@ GLIBC_2.34 sem_init F
 GLIBC_2.34 sem_open F
 GLIBC_2.34 sem_post F
 GLIBC_2.34 sem_timedwait F
+GLIBC_2.34 sem_trywait F
 GLIBC_2.34 sem_unlink F
+GLIBC_2.34 sem_wait F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
index 8eb140f7ac..2eab03d3c5 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
@@ -41,8 +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_trywait F
-GLIBC_2.27 sem_wait F
 GLIBC_2.28 thrd_create F
 GLIBC_2.28 thrd_detach F
 GLIBC_2.28 thrd_join F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
index 96d23b986b..f87d2ce120 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
@@ -990,6 +990,8 @@ GLIBC_2.0 sem_destroy 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
+GLIBC_2.0 sem_wait F
 GLIBC_2.0 semctl F
 GLIBC_2.0 semget F
 GLIBC_2.0 semop F
@@ -1605,6 +1607,8 @@ GLIBC_2.1 sem_destroy 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
+GLIBC_2.1 sem_wait F
 GLIBC_2.1 sendfile F
 GLIBC_2.1 setrlimit64 F
 GLIBC_2.1 setutxent F
@@ -2405,7 +2409,9 @@ GLIBC_2.34 sem_init F
 GLIBC_2.34 sem_open F
 GLIBC_2.34 sem_post F
 GLIBC_2.34 sem_timedwait F
+GLIBC_2.34 sem_trywait F
 GLIBC_2.34 sem_unlink F
+GLIBC_2.34 sem_wait F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
index f59ac6c20d..696d0370ff 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
@@ -9,8 +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_trywait F
-GLIBC_2.0 sem_wait F
 GLIBC_2.1 pthread_attr_getguardsize F
 GLIBC_2.1 pthread_attr_getstackaddr F
 GLIBC_2.1 pthread_attr_getstacksize F
@@ -20,8 +18,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_trywait F
-GLIBC_2.1 sem_wait F
 GLIBC_2.1.1 __libpthread_version_placeholder F
 GLIBC_2.1.2 __libpthread_version_placeholder F
 GLIBC_2.11 pthread_sigqueue F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
index 928b499c84..360d76eff1 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
@@ -1477,7 +1477,9 @@ GLIBC_2.2 sem_init F
 GLIBC_2.2 sem_open F
 GLIBC_2.2 sem_post F
 GLIBC_2.2 sem_timedwait F
+GLIBC_2.2 sem_trywait F
 GLIBC_2.2 sem_unlink F
+GLIBC_2.2 sem_wait F
 GLIBC_2.2 semctl F
 GLIBC_2.2 semget F
 GLIBC_2.2 semop F
@@ -2294,7 +2296,9 @@ GLIBC_2.34 sem_init F
 GLIBC_2.34 sem_open F
 GLIBC_2.34 sem_post F
 GLIBC_2.34 sem_timedwait F
+GLIBC_2.34 sem_trywait F
 GLIBC_2.34 sem_unlink F
+GLIBC_2.34 sem_wait F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
index a2f0c9965f..ab1712df42 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
@@ -32,8 +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_trywait F
-GLIBC_2.2 sem_wait F
 GLIBC_2.2.3 __libpthread_version_placeholder F
 GLIBC_2.2.6 __libpthread_version_placeholder F
 GLIBC_2.28 thrd_create F
diff --git a/sysdeps/unix/sysv/linux/sh/be/libc.abilist b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
index 61594abaf2..efdeab47ad 100644
--- a/sysdeps/unix/sysv/linux/sh/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
@@ -1463,7 +1463,9 @@ GLIBC_2.2 sem_init F
 GLIBC_2.2 sem_open F
 GLIBC_2.2 sem_post F
 GLIBC_2.2 sem_timedwait F
+GLIBC_2.2 sem_trywait F
 GLIBC_2.2 sem_unlink F
+GLIBC_2.2 sem_wait F
 GLIBC_2.2 semctl F
 GLIBC_2.2 semget F
 GLIBC_2.2 semop F
@@ -2263,7 +2265,9 @@ GLIBC_2.34 sem_init F
 GLIBC_2.34 sem_open F
 GLIBC_2.34 sem_post F
 GLIBC_2.34 sem_timedwait F
+GLIBC_2.34 sem_trywait F
 GLIBC_2.34 sem_unlink F
+GLIBC_2.34 sem_wait F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
index 30f7add73e..d19abde30d 100644
--- a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
@@ -31,8 +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_trywait F
-GLIBC_2.2 sem_wait F
 GLIBC_2.2.3 __libpthread_version_placeholder F
 GLIBC_2.2.6 __libpthread_version_placeholder F
 GLIBC_2.28 thrd_create F
diff --git a/sysdeps/unix/sysv/linux/sh/le/libc.abilist b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
index 17d56762a5..30c6f58df0 100644
--- a/sysdeps/unix/sysv/linux/sh/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
@@ -1463,7 +1463,9 @@ GLIBC_2.2 sem_init F
 GLIBC_2.2 sem_open F
 GLIBC_2.2 sem_post F
 GLIBC_2.2 sem_timedwait F
+GLIBC_2.2 sem_trywait F
 GLIBC_2.2 sem_unlink F
+GLIBC_2.2 sem_wait F
 GLIBC_2.2 semctl F
 GLIBC_2.2 semget F
 GLIBC_2.2 semop F
@@ -2260,7 +2262,9 @@ GLIBC_2.34 sem_init F
 GLIBC_2.34 sem_open F
 GLIBC_2.34 sem_post F
 GLIBC_2.34 sem_timedwait F
+GLIBC_2.34 sem_trywait F
 GLIBC_2.34 sem_unlink F
+GLIBC_2.34 sem_wait F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
index 30f7add73e..d19abde30d 100644
--- a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
@@ -31,8 +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_trywait F
-GLIBC_2.2 sem_wait F
 GLIBC_2.2.3 __libpthread_version_placeholder F
 GLIBC_2.2.6 __libpthread_version_placeholder F
 GLIBC_2.28 thrd_create F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
index f34f9851ee..72031725c9 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
@@ -993,6 +993,8 @@ GLIBC_2.0 sem_destroy 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
+GLIBC_2.0 sem_wait F
 GLIBC_2.0 semctl F
 GLIBC_2.0 semget F
 GLIBC_2.0 semop F
@@ -1606,6 +1608,8 @@ GLIBC_2.1 sem_destroy 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
+GLIBC_2.1 sem_wait F
 GLIBC_2.1 sendfile F
 GLIBC_2.1 setrlimit64 F
 GLIBC_2.1 setutxent F
@@ -2396,7 +2400,9 @@ GLIBC_2.34 sem_init F
 GLIBC_2.34 sem_open F
 GLIBC_2.34 sem_post F
 GLIBC_2.34 sem_timedwait F
+GLIBC_2.34 sem_trywait F
 GLIBC_2.34 sem_unlink F
+GLIBC_2.34 sem_wait F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
index 6540830d09..4adb3dec7c 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
@@ -9,8 +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_trywait F
-GLIBC_2.0 sem_wait F
 GLIBC_2.1 pthread_attr_getguardsize F
 GLIBC_2.1 pthread_attr_getstackaddr F
 GLIBC_2.1 pthread_attr_getstacksize F
@@ -20,8 +18,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_trywait F
-GLIBC_2.1 sem_wait F
 GLIBC_2.1.1 __libpthread_version_placeholder F
 GLIBC_2.1.2 __libpthread_version_placeholder F
 GLIBC_2.11 pthread_sigqueue F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
index 17d1320652..1747388f2f 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
@@ -1506,7 +1506,9 @@ GLIBC_2.2 sem_init F
 GLIBC_2.2 sem_open F
 GLIBC_2.2 sem_post F
 GLIBC_2.2 sem_timedwait F
+GLIBC_2.2 sem_trywait F
 GLIBC_2.2 sem_unlink F
+GLIBC_2.2 sem_wait F
 GLIBC_2.2 semctl F
 GLIBC_2.2 semget F
 GLIBC_2.2 semop F
@@ -2311,7 +2313,9 @@ GLIBC_2.34 sem_init F
 GLIBC_2.34 sem_open F
 GLIBC_2.34 sem_post F
 GLIBC_2.34 sem_timedwait F
+GLIBC_2.34 sem_trywait F
 GLIBC_2.34 sem_unlink F
+GLIBC_2.34 sem_wait F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
index 225bfd0e6a..05fae6161a 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
@@ -31,8 +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_trywait F
-GLIBC_2.2 sem_wait F
 GLIBC_2.2.3 __libpthread_version_placeholder F
 GLIBC_2.2.6 __libpthread_version_placeholder F
 GLIBC_2.28 thrd_create F
diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
index f59fc63658..f1c5e63435 100644
--- a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
@@ -1474,7 +1474,9 @@ GLIBC_2.2.5 sem_init F
 GLIBC_2.2.5 sem_open F
 GLIBC_2.2.5 sem_post F
 GLIBC_2.2.5 sem_timedwait F
+GLIBC_2.2.5 sem_trywait F
 GLIBC_2.2.5 sem_unlink F
+GLIBC_2.2.5 sem_wait F
 GLIBC_2.2.5 semctl F
 GLIBC_2.2.5 semget F
 GLIBC_2.2.5 semop F
@@ -2272,7 +2274,9 @@ GLIBC_2.34 sem_init F
 GLIBC_2.34 sem_open F
 GLIBC_2.34 sem_post F
 GLIBC_2.34 sem_timedwait F
+GLIBC_2.34 sem_trywait F
 GLIBC_2.34 sem_unlink F
+GLIBC_2.34 sem_wait F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
index 6fc3699f2c..b5faceae7b 100644
--- a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
@@ -31,8 +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_trywait F
-GLIBC_2.2.5 sem_wait F
 GLIBC_2.2.6 __libpthread_version_placeholder F
 GLIBC_2.28 thrd_create F
 GLIBC_2.28 thrd_detach F
diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
index d6e06954b6..3ca0ecde5c 100644
--- a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
@@ -1673,7 +1673,9 @@ GLIBC_2.16 sem_init F
 GLIBC_2.16 sem_open F
 GLIBC_2.16 sem_post F
 GLIBC_2.16 sem_timedwait F
+GLIBC_2.16 sem_trywait F
 GLIBC_2.16 sem_unlink F
+GLIBC_2.16 sem_wait F
 GLIBC_2.16 semctl F
 GLIBC_2.16 semget F
 GLIBC_2.16 semop F
@@ -2377,7 +2379,9 @@ GLIBC_2.34 sem_init F
 GLIBC_2.34 sem_open F
 GLIBC_2.34 sem_post F
 GLIBC_2.34 sem_timedwait F
+GLIBC_2.34 sem_trywait F
 GLIBC_2.34 sem_unlink F
+GLIBC_2.34 sem_wait F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
index ab481ebe8a..f4b4241951 100644
--- a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
@@ -39,8 +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_trywait F
-GLIBC_2.16 sem_wait F
 GLIBC_2.18 pthread_getattr_default_np F
 GLIBC_2.18 pthread_setattr_default_np F
 GLIBC_2.28 thrd_create F
-- 
2.30.2


^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [PATCH 01/11] nptl: Move pthread_testcancel into libc
  2021-05-03 13:51 ` [PATCH 01/11] nptl: Move pthread_testcancel " Florian Weimer
@ 2021-05-05 14:16   ` Adhemerval Zanella
  0 siblings, 0 replies; 24+ messages in thread
From: Adhemerval Zanella @ 2021-05-05 14:16 UTC (permalink / raw)
  To: libc-alpha, Florian Weimer



On 03/05/2021 10:51, Florian Weimer via Libc-alpha wrote:
> The symbol was moved using scripts/move-symbol-to-libc.py.
> 
> A temporary __pthread_testcancel@@GLIBC_PRIVATE export is created
> because it is needed by the semaphore implementation.

LGTM, thanks.

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

> ---
>  nptl/Makefile                                      |  2 +-
>  nptl/Versions                                      |  4 +++-
>  nptl/pthreadP.h                                    |  2 +-
>  nptl/pthread_testcancel.c                          | 14 ++++++++++----
>  sysdeps/unix/sysv/linux/aarch64/libc.abilist       |  2 ++
>  sysdeps/unix/sysv/linux/aarch64/libpthread.abilist |  1 -
>  sysdeps/unix/sysv/linux/alpha/libc.abilist         |  2 ++
>  sysdeps/unix/sysv/linux/alpha/libpthread.abilist   |  1 -
>  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          |  2 ++
>  sysdeps/unix/sysv/linux/i386/libpthread.abilist    |  1 -
>  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 ++
>  .../sysv/linux/m68k/coldfire/libpthread.abilist    |  1 -
>  sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist   |  2 ++
>  .../unix/sysv/linux/m68k/m680x0/libpthread.abilist |  1 -
>  sysdeps/unix/sysv/linux/microblaze/be/libc.abilist |  2 ++
>  .../sysv/linux/microblaze/be/libpthread.abilist    |  1 -
>  sysdeps/unix/sysv/linux/microblaze/le/libc.abilist |  2 ++
>  .../sysv/linux/microblaze/le/libpthread.abilist    |  1 -
>  .../unix/sysv/linux/mips/mips32/fpu/libc.abilist   |  2 ++
>  .../unix/sysv/linux/mips/mips32/libpthread.abilist |  1 -
>  .../unix/sysv/linux/mips/mips32/nofpu/libc.abilist |  2 ++
>  .../unix/sysv/linux/mips/mips64/libpthread.abilist |  1 -
>  .../unix/sysv/linux/mips/mips64/n32/libc.abilist   |  2 ++
>  .../unix/sysv/linux/mips/mips64/n64/libc.abilist   |  2 ++
>  sysdeps/unix/sysv/linux/nios2/libc.abilist         |  2 ++
>  sysdeps/unix/sysv/linux/nios2/libpthread.abilist   |  1 -
>  .../sysv/linux/powerpc/powerpc32/fpu/libc.abilist  |  2 ++
>  .../linux/powerpc/powerpc32/libpthread.abilist     |  1 -
>  .../linux/powerpc/powerpc32/nofpu/libc.abilist     |  2 ++
>  .../sysv/linux/powerpc/powerpc64/be/libc.abilist   |  2 ++
>  .../linux/powerpc/powerpc64/be/libpthread.abilist  |  1 -
>  .../sysv/linux/powerpc/powerpc64/le/libc.abilist   |  2 ++
>  .../linux/powerpc/powerpc64/le/libpthread.abilist  |  1 -
>  sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist    |  2 ++
>  .../unix/sysv/linux/riscv/rv32/libpthread.abilist  |  1 -
>  sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist    |  2 ++
>  .../unix/sysv/linux/riscv/rv64/libpthread.abilist  |  1 -
>  sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist  |  2 ++
>  .../sysv/linux/s390/s390-32/libpthread.abilist     |  1 -
>  sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist  |  2 ++
>  .../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 |  2 ++
>  .../sysv/linux/sparc/sparc32/libpthread.abilist    |  1 -
>  sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist |  2 ++
>  .../sysv/linux/sparc/sparc64/libpthread.abilist    |  1 -
>  sysdeps/unix/sysv/linux/x86_64/64/libc.abilist     |  2 ++
>  .../unix/sysv/linux/x86_64/64/libpthread.abilist   |  1 -
>  sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist    |  2 ++
>  .../unix/sysv/linux/x86_64/x32/libpthread.abilist  |  1 -
>  65 files changed, 79 insertions(+), 36 deletions(-)
> 
> diff --git a/nptl/Makefile b/nptl/Makefile
> index 38f2715c2c..884cb69bb4 100644
> --- a/nptl/Makefile
> +++ b/nptl/Makefile
> @@ -148,6 +148,7 @@ routines = \
>    pthread_spin_lock \
>    pthread_spin_trylock \
>    pthread_spin_unlock \
> +  pthread_testcancel \
>    pthread_yield \
>    tpp \
>    unwind \
> @@ -199,7 +200,6 @@ libpthread-routines = \
>    pthread_setname \
>    pthread_setschedprio \
>    pthread_sigqueue \
> -  pthread_testcancel \
>    pthread_timedjoin \
>    pthread_tryjoin \
>    sem_clockwait \
> diff --git a/nptl/Versions b/nptl/Versions
> index 0914630be3..ce09c73727 100644
> --- a/nptl/Versions
> +++ b/nptl/Versions
> @@ -61,6 +61,7 @@ libc {
>      pthread_setschedparam;
>      pthread_setspecific;
>      pthread_sigmask;
> +    pthread_testcancel;
>    }
>    GLIBC_2.1 {
>      pthread_attr_init;
> @@ -245,6 +246,7 @@ libc {
>      pthread_spin_lock;
>      pthread_spin_trylock;
>      pthread_spin_unlock;
> +    pthread_testcancel;
>      thrd_exit;
>      tss_create;
>      tss_delete;
> @@ -284,6 +286,7 @@ libc {
>      __pthread_keys;
>      __pthread_mutex_unlock_usercnt;
>      __pthread_setcancelstate;
> +    __pthread_testcancel;
>      __pthread_tpp_change_priority;
>      __pthread_unwind;
>      __sched_fifo_max_prio;
> @@ -307,7 +310,6 @@ libpthread {
>      pthread_detach;
>      pthread_join;
>      pthread_sigmask;
> -    pthread_testcancel;
>      sem_destroy;
>      sem_getvalue;
>      sem_init;
> diff --git a/nptl/pthreadP.h b/nptl/pthreadP.h
> index 00d2cfe764..ee77928fc7 100644
> --- a/nptl/pthreadP.h
> +++ b/nptl/pthreadP.h
> @@ -572,6 +572,7 @@ libc_hidden_proto (__pthread_setcanceltype)
>  extern int __pthread_enable_asynccancel (void) attribute_hidden;
>  extern void __pthread_disable_asynccancel (int oldtype) attribute_hidden;
>  extern void __pthread_testcancel (void);
> +libc_hidden_proto (__pthread_testcancel)
>  extern int __pthread_clockjoin_ex (pthread_t, void **, clockid_t,
>  				   const struct __timespec64 *, bool)
>    attribute_hidden;
> @@ -581,7 +582,6 @@ libc_hidden_proto (__pthread_sigmask);
>  
>  #if IS_IN (libpthread)
>  hidden_proto (__pthread_rwlock_unlock)
> -hidden_proto (__pthread_testcancel)
>  #endif
>  
>  extern int __pthread_cond_broadcast_2_0 (pthread_cond_2_0_t *cond);
> diff --git a/nptl/pthread_testcancel.c b/nptl/pthread_testcancel.c
> index 8ed2370afa..a9e941ddb7 100644
> --- a/nptl/pthread_testcancel.c
> +++ b/nptl/pthread_testcancel.c
> @@ -18,12 +18,18 @@
>  
>  #include <stdlib.h>
>  #include "pthreadP.h"
> -
> +#include <shlib-compat.h>
>  
>  void
> -__pthread_testcancel (void)
> +___pthread_testcancel (void)
>  {
>    CANCELLATION_P (THREAD_SELF);
>  }
> -strong_alias (__pthread_testcancel, pthread_testcancel)
> -hidden_def (__pthread_testcancel)
> +versioned_symbol (libc, ___pthread_testcancel, pthread_testcancel, GLIBC_2_34);
> +versioned_symbol (libc, ___pthread_testcancel, __pthread_testcancel,
> +                  GLIBC_PRIVATE);
> +libc_hidden_ver (___pthread_testcancel, __pthread_testcancel)
> +
> +#if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_0, GLIBC_2_34)
> +compat_symbol (libc, ___pthread_testcancel, pthread_testcancel, GLIBC_2_0);
> +#endif
> diff --git a/sysdeps/unix/sysv/linux/aarch64/libc.abilist b/sysdeps/unix/sysv/linux/aarch64/libc.abilist
> index aad440cc6a..5dfea47ebf 100644
> --- a/sysdeps/unix/sysv/linux/aarch64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/aarch64/libc.abilist
> @@ -1530,6 +1530,7 @@ GLIBC_2.17 pthread_spin_init F
>  GLIBC_2.17 pthread_spin_lock F
>  GLIBC_2.17 pthread_spin_trylock F
>  GLIBC_2.17 pthread_spin_unlock F
> +GLIBC_2.17 pthread_testcancel F
>  GLIBC_2.17 pthread_yield F
>  GLIBC_2.17 ptrace F
>  GLIBC_2.17 ptsname F
> @@ -2343,6 +2344,7 @@ GLIBC_2.34 pthread_spin_init F
>  GLIBC_2.34 pthread_spin_lock F
>  GLIBC_2.34 pthread_spin_trylock F
>  GLIBC_2.34 pthread_spin_unlock F
> +GLIBC_2.34 pthread_testcancel F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> diff --git a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
> index c1f11e12df..839f2ff64a 100644
> --- a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
> @@ -37,7 +37,6 @@ GLIBC_2.17 pthread_setconcurrency F
>  GLIBC_2.17 pthread_setname_np F
>  GLIBC_2.17 pthread_setschedprio F
>  GLIBC_2.17 pthread_sigqueue F
> -GLIBC_2.17 pthread_testcancel F
>  GLIBC_2.17 pthread_timedjoin_np F
>  GLIBC_2.17 pthread_tryjoin_np F
>  GLIBC_2.17 sem_close F
> diff --git a/sysdeps/unix/sysv/linux/alpha/libc.abilist b/sysdeps/unix/sysv/linux/alpha/libc.abilist
> index e0deca069c..318eea546a 100644
> --- a/sysdeps/unix/sysv/linux/alpha/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/alpha/libc.abilist
> @@ -921,6 +921,7 @@ GLIBC_2.0 pthread_setcanceltype F
>  GLIBC_2.0 pthread_setschedparam F
>  GLIBC_2.0 pthread_setspecific F
>  GLIBC_2.0 pthread_sigmask F
> +GLIBC_2.0 pthread_testcancel F
>  GLIBC_2.0 ptrace F
>  GLIBC_2.0 putc F
>  GLIBC_2.0 putc_unlocked F
> @@ -2424,6 +2425,7 @@ GLIBC_2.34 pthread_spin_init F
>  GLIBC_2.34 pthread_spin_lock F
>  GLIBC_2.34 pthread_spin_trylock F
>  GLIBC_2.34 pthread_spin_unlock F
> +GLIBC_2.34 pthread_testcancel F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> diff --git a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
> index 5eae00fd6b..2633a1c816 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 pthread_testcancel F
>  GLIBC_2.0 sem_destroy F
>  GLIBC_2.0 sem_getvalue F
>  GLIBC_2.0 sem_init F
> diff --git a/sysdeps/unix/sysv/linux/arc/libc.abilist b/sysdeps/unix/sysv/linux/arc/libc.abilist
> index ac0f574207..18b5c97cc8 100644
> --- a/sysdeps/unix/sysv/linux/arc/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/arc/libc.abilist
> @@ -1473,6 +1473,7 @@ GLIBC_2.32 pthread_spin_init F
>  GLIBC_2.32 pthread_spin_lock F
>  GLIBC_2.32 pthread_spin_trylock F
>  GLIBC_2.32 pthread_spin_unlock F
> +GLIBC_2.32 pthread_testcancel F
>  GLIBC_2.32 pthread_yield F
>  GLIBC_2.32 ptrace F
>  GLIBC_2.32 ptsname F
> @@ -2102,6 +2103,7 @@ GLIBC_2.34 pthread_spin_init F
>  GLIBC_2.34 pthread_spin_lock F
>  GLIBC_2.34 pthread_spin_trylock F
>  GLIBC_2.34 pthread_spin_unlock F
> +GLIBC_2.34 pthread_testcancel F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> diff --git a/sysdeps/unix/sysv/linux/arc/libpthread.abilist b/sysdeps/unix/sysv/linux/arc/libpthread.abilist
> index 8d12b93ff1..fbe2217064 100644
> --- a/sysdeps/unix/sysv/linux/arc/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/arc/libpthread.abilist
> @@ -40,7 +40,6 @@ GLIBC_2.32 pthread_setconcurrency F
>  GLIBC_2.32 pthread_setname_np F
>  GLIBC_2.32 pthread_setschedprio F
>  GLIBC_2.32 pthread_sigqueue F
> -GLIBC_2.32 pthread_testcancel F
>  GLIBC_2.32 pthread_timedjoin_np F
>  GLIBC_2.32 pthread_tryjoin_np F
>  GLIBC_2.32 sem_clockwait F
> diff --git a/sysdeps/unix/sysv/linux/arm/be/libc.abilist b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
> index c77241c227..7de0e34b14 100644
> --- a/sysdeps/unix/sysv/linux/arm/be/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
> @@ -250,6 +250,7 @@ GLIBC_2.34 pthread_spin_init F
>  GLIBC_2.34 pthread_spin_lock F
>  GLIBC_2.34 pthread_spin_trylock F
>  GLIBC_2.34 pthread_spin_unlock F
> +GLIBC_2.34 pthread_testcancel F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> @@ -1718,6 +1719,7 @@ GLIBC_2.4 pthread_spin_init F
>  GLIBC_2.4 pthread_spin_lock F
>  GLIBC_2.4 pthread_spin_trylock F
>  GLIBC_2.4 pthread_spin_unlock F
> +GLIBC_2.4 pthread_testcancel F
>  GLIBC_2.4 pthread_yield F
>  GLIBC_2.4 ptrace F
>  GLIBC_2.4 ptsname F
> diff --git a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
> index e7907d89b8..bd82a85136 100644
> --- a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
> @@ -45,7 +45,6 @@ GLIBC_2.4 pthread_join F
>  GLIBC_2.4 pthread_setaffinity_np F
>  GLIBC_2.4 pthread_setconcurrency F
>  GLIBC_2.4 pthread_setschedprio F
> -GLIBC_2.4 pthread_testcancel F
>  GLIBC_2.4 pthread_timedjoin_np F
>  GLIBC_2.4 pthread_tryjoin_np F
>  GLIBC_2.4 sem_close F
> diff --git a/sysdeps/unix/sysv/linux/arm/le/libc.abilist b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
> index 9e02ac94d8..3e79ca85f0 100644
> --- a/sysdeps/unix/sysv/linux/arm/le/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
> @@ -247,6 +247,7 @@ GLIBC_2.34 pthread_spin_init F
>  GLIBC_2.34 pthread_spin_lock F
>  GLIBC_2.34 pthread_spin_trylock F
>  GLIBC_2.34 pthread_spin_unlock F
> +GLIBC_2.34 pthread_testcancel F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> @@ -1715,6 +1716,7 @@ GLIBC_2.4 pthread_spin_init F
>  GLIBC_2.4 pthread_spin_lock F
>  GLIBC_2.4 pthread_spin_trylock F
>  GLIBC_2.4 pthread_spin_unlock F
> +GLIBC_2.4 pthread_testcancel F
>  GLIBC_2.4 pthread_yield F
>  GLIBC_2.4 ptrace F
>  GLIBC_2.4 ptsname F
> diff --git a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
> index e7907d89b8..bd82a85136 100644
> --- a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
> @@ -45,7 +45,6 @@ GLIBC_2.4 pthread_join F
>  GLIBC_2.4 pthread_setaffinity_np F
>  GLIBC_2.4 pthread_setconcurrency F
>  GLIBC_2.4 pthread_setschedprio F
> -GLIBC_2.4 pthread_testcancel F
>  GLIBC_2.4 pthread_timedjoin_np F
>  GLIBC_2.4 pthread_tryjoin_np F
>  GLIBC_2.4 sem_close F
> diff --git a/sysdeps/unix/sysv/linux/csky/libc.abilist b/sysdeps/unix/sysv/linux/csky/libc.abilist
> index a209787385..9eaeda5d49 100644
> --- a/sysdeps/unix/sysv/linux/csky/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/csky/libc.abilist
> @@ -1530,6 +1530,7 @@ GLIBC_2.29 pthread_spin_init F
>  GLIBC_2.29 pthread_spin_lock F
>  GLIBC_2.29 pthread_spin_trylock F
>  GLIBC_2.29 pthread_spin_unlock F
> +GLIBC_2.29 pthread_testcancel F
>  GLIBC_2.29 pthread_yield F
>  GLIBC_2.29 ptrace F
>  GLIBC_2.29 ptsname F
> @@ -2286,6 +2287,7 @@ GLIBC_2.34 pthread_spin_init F
>  GLIBC_2.34 pthread_spin_lock F
>  GLIBC_2.34 pthread_spin_trylock F
>  GLIBC_2.34 pthread_spin_unlock F
> +GLIBC_2.34 pthread_testcancel F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> diff --git a/sysdeps/unix/sysv/linux/csky/libpthread.abilist b/sysdeps/unix/sysv/linux/csky/libpthread.abilist
> index 4030a58e1a..c1e500ab59 100644
> --- a/sysdeps/unix/sysv/linux/csky/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/csky/libpthread.abilist
> @@ -39,7 +39,6 @@ GLIBC_2.29 pthread_setconcurrency F
>  GLIBC_2.29 pthread_setname_np F
>  GLIBC_2.29 pthread_setschedprio F
>  GLIBC_2.29 pthread_sigqueue F
> -GLIBC_2.29 pthread_testcancel F
>  GLIBC_2.29 pthread_timedjoin_np F
>  GLIBC_2.29 pthread_tryjoin_np F
>  GLIBC_2.29 sem_close F
> diff --git a/sysdeps/unix/sysv/linux/hppa/libc.abilist b/sysdeps/unix/sysv/linux/hppa/libc.abilist
> index cbbf211ee5..59165723ed 100644
> --- a/sysdeps/unix/sysv/linux/hppa/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/hppa/libc.abilist
> @@ -1341,6 +1341,7 @@ GLIBC_2.2 pthread_spin_init F
>  GLIBC_2.2 pthread_spin_lock F
>  GLIBC_2.2 pthread_spin_trylock F
>  GLIBC_2.2 pthread_spin_unlock F
> +GLIBC_2.2 pthread_testcancel F
>  GLIBC_2.2 pthread_yield F
>  GLIBC_2.2 ptrace F
>  GLIBC_2.2 ptsname F
> @@ -2237,6 +2238,7 @@ GLIBC_2.34 pthread_spin_init F
>  GLIBC_2.34 pthread_spin_lock F
>  GLIBC_2.34 pthread_spin_trylock F
>  GLIBC_2.34 pthread_spin_unlock F
> +GLIBC_2.34 pthread_testcancel F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> diff --git a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
> index af0359bd14..0d4dfb6328 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 pthread_testcancel F
>  GLIBC_2.2 sem_close F
>  GLIBC_2.2 sem_destroy F
>  GLIBC_2.2 sem_getvalue F
> diff --git a/sysdeps/unix/sysv/linux/i386/libc.abilist b/sysdeps/unix/sysv/linux/i386/libc.abilist
> index 24cb2d684d..05c26afb65 100644
> --- a/sysdeps/unix/sysv/linux/i386/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/i386/libc.abilist
> @@ -898,6 +898,7 @@ GLIBC_2.0 pthread_setcanceltype F
>  GLIBC_2.0 pthread_setschedparam F
>  GLIBC_2.0 pthread_setspecific F
>  GLIBC_2.0 pthread_sigmask F
> +GLIBC_2.0 pthread_testcancel F
>  GLIBC_2.0 ptrace F
>  GLIBC_2.0 putc F
>  GLIBC_2.0 putc_unlocked F
> @@ -2414,6 +2415,7 @@ GLIBC_2.34 pthread_spin_init F
>  GLIBC_2.34 pthread_spin_lock F
>  GLIBC_2.34 pthread_spin_trylock F
>  GLIBC_2.34 pthread_spin_unlock F
> +GLIBC_2.34 pthread_testcancel F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> diff --git a/sysdeps/unix/sysv/linux/i386/libpthread.abilist b/sysdeps/unix/sysv/linux/i386/libpthread.abilist
> index 1fdd0c7758..7b43b9309b 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 pthread_testcancel F
>  GLIBC_2.0 sem_destroy F
>  GLIBC_2.0 sem_getvalue F
>  GLIBC_2.0 sem_init F
> diff --git a/sysdeps/unix/sysv/linux/ia64/libc.abilist b/sysdeps/unix/sysv/linux/ia64/libc.abilist
> index 7513d48cae..2aeb8e0be5 100644
> --- a/sysdeps/unix/sysv/linux/ia64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/ia64/libc.abilist
> @@ -1362,6 +1362,7 @@ GLIBC_2.2 pthread_spin_init F
>  GLIBC_2.2 pthread_spin_lock F
>  GLIBC_2.2 pthread_spin_trylock F
>  GLIBC_2.2 pthread_spin_unlock F
> +GLIBC_2.2 pthread_testcancel F
>  GLIBC_2.2 pthread_yield F
>  GLIBC_2.2 ptrace F
>  GLIBC_2.2 ptsname F
> @@ -2271,6 +2272,7 @@ GLIBC_2.34 pthread_spin_init F
>  GLIBC_2.34 pthread_spin_lock F
>  GLIBC_2.34 pthread_spin_trylock F
>  GLIBC_2.34 pthread_spin_unlock F
> +GLIBC_2.34 pthread_testcancel F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> diff --git a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
> index c6c1f7ac7b..cef26d71d6 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 pthread_testcancel F
>  GLIBC_2.2 sem_close F
>  GLIBC_2.2 sem_destroy F
>  GLIBC_2.2 sem_getvalue F
> diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
> index 013dcbb16d..571c501b95 100644
> --- a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
> @@ -251,6 +251,7 @@ GLIBC_2.34 pthread_spin_init F
>  GLIBC_2.34 pthread_spin_lock F
>  GLIBC_2.34 pthread_spin_trylock F
>  GLIBC_2.34 pthread_spin_unlock F
> +GLIBC_2.34 pthread_testcancel F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> @@ -1698,6 +1699,7 @@ GLIBC_2.4 pthread_spin_init F
>  GLIBC_2.4 pthread_spin_lock F
>  GLIBC_2.4 pthread_spin_trylock F
>  GLIBC_2.4 pthread_spin_unlock F
> +GLIBC_2.4 pthread_testcancel F
>  GLIBC_2.4 pthread_yield F
>  GLIBC_2.4 ptrace F
>  GLIBC_2.4 ptsname F
> diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
> index e7907d89b8..bd82a85136 100644
> --- a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
> @@ -45,7 +45,6 @@ GLIBC_2.4 pthread_join F
>  GLIBC_2.4 pthread_setaffinity_np F
>  GLIBC_2.4 pthread_setconcurrency F
>  GLIBC_2.4 pthread_setschedprio F
> -GLIBC_2.4 pthread_testcancel F
>  GLIBC_2.4 pthread_timedjoin_np F
>  GLIBC_2.4 pthread_tryjoin_np F
>  GLIBC_2.4 sem_close F
> diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
> index 0748c21b38..0404cf1749 100644
> --- a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
> @@ -897,6 +897,7 @@ GLIBC_2.0 pthread_setcanceltype F
>  GLIBC_2.0 pthread_setschedparam F
>  GLIBC_2.0 pthread_setspecific F
>  GLIBC_2.0 pthread_sigmask F
> +GLIBC_2.0 pthread_testcancel F
>  GLIBC_2.0 ptrace F
>  GLIBC_2.0 putc F
>  GLIBC_2.0 putc_unlocked F
> @@ -2357,6 +2358,7 @@ GLIBC_2.34 pthread_spin_init F
>  GLIBC_2.34 pthread_spin_lock F
>  GLIBC_2.34 pthread_spin_trylock F
>  GLIBC_2.34 pthread_spin_unlock F
> +GLIBC_2.34 pthread_testcancel F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
> index 1fdd0c7758..7b43b9309b 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 pthread_testcancel F
>  GLIBC_2.0 sem_destroy F
>  GLIBC_2.0 sem_getvalue F
>  GLIBC_2.0 sem_init F
> diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
> index 4f0cf3bd56..7be131d0fc 100644
> --- a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
> @@ -1532,6 +1532,7 @@ GLIBC_2.18 pthread_spin_init F
>  GLIBC_2.18 pthread_spin_lock F
>  GLIBC_2.18 pthread_spin_trylock F
>  GLIBC_2.18 pthread_spin_unlock F
> +GLIBC_2.18 pthread_testcancel F
>  GLIBC_2.18 pthread_yield F
>  GLIBC_2.18 ptrace F
>  GLIBC_2.18 ptsname F
> @@ -2337,6 +2338,7 @@ GLIBC_2.34 pthread_spin_init F
>  GLIBC_2.34 pthread_spin_lock F
>  GLIBC_2.34 pthread_spin_trylock F
>  GLIBC_2.34 pthread_spin_unlock F
> +GLIBC_2.34 pthread_testcancel F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
> index 785630fec3..6bfa410c44 100644
> --- a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
> @@ -39,7 +39,6 @@ GLIBC_2.18 pthread_setconcurrency F
>  GLIBC_2.18 pthread_setname_np F
>  GLIBC_2.18 pthread_setschedprio F
>  GLIBC_2.18 pthread_sigqueue F
> -GLIBC_2.18 pthread_testcancel F
>  GLIBC_2.18 pthread_timedjoin_np F
>  GLIBC_2.18 pthread_tryjoin_np F
>  GLIBC_2.18 sem_close F
> diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
> index 726bae9a75..31c157bb4a 100644
> --- a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
> @@ -1532,6 +1532,7 @@ GLIBC_2.18 pthread_spin_init F
>  GLIBC_2.18 pthread_spin_lock F
>  GLIBC_2.18 pthread_spin_trylock F
>  GLIBC_2.18 pthread_spin_unlock F
> +GLIBC_2.18 pthread_testcancel F
>  GLIBC_2.18 pthread_yield F
>  GLIBC_2.18 ptrace F
>  GLIBC_2.18 ptsname F
> @@ -2334,6 +2335,7 @@ GLIBC_2.34 pthread_spin_init F
>  GLIBC_2.34 pthread_spin_lock F
>  GLIBC_2.34 pthread_spin_trylock F
>  GLIBC_2.34 pthread_spin_unlock F
> +GLIBC_2.34 pthread_testcancel F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
> index 785630fec3..6bfa410c44 100644
> --- a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
> @@ -39,7 +39,6 @@ GLIBC_2.18 pthread_setconcurrency F
>  GLIBC_2.18 pthread_setname_np F
>  GLIBC_2.18 pthread_setschedprio F
>  GLIBC_2.18 pthread_sigqueue F
> -GLIBC_2.18 pthread_testcancel F
>  GLIBC_2.18 pthread_timedjoin_np F
>  GLIBC_2.18 pthread_tryjoin_np F
>  GLIBC_2.18 sem_close F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
> index 12f4c46f75..0f6e9cbf01 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
> @@ -894,6 +894,7 @@ GLIBC_2.0 pthread_setcanceltype F
>  GLIBC_2.0 pthread_setschedparam F
>  GLIBC_2.0 pthread_setspecific F
>  GLIBC_2.0 pthread_sigmask F
> +GLIBC_2.0 pthread_testcancel F
>  GLIBC_2.0 ptrace F
>  GLIBC_2.0 putc F
>  GLIBC_2.0 putc_unlocked F
> @@ -2320,6 +2321,7 @@ GLIBC_2.34 pthread_spin_init F
>  GLIBC_2.34 pthread_spin_lock F
>  GLIBC_2.34 pthread_spin_trylock F
>  GLIBC_2.34 pthread_spin_unlock F
> +GLIBC_2.34 pthread_testcancel F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
> index 8df7179bd2..83434ae1b6 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 pthread_testcancel F
>  GLIBC_2.0 sem_destroy F
>  GLIBC_2.0 sem_getvalue F
>  GLIBC_2.0 sem_init F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
> index 640f5e8c7b..9fc089707f 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
> @@ -894,6 +894,7 @@ GLIBC_2.0 pthread_setcanceltype F
>  GLIBC_2.0 pthread_setschedparam F
>  GLIBC_2.0 pthread_setspecific F
>  GLIBC_2.0 pthread_sigmask F
> +GLIBC_2.0 pthread_testcancel F
>  GLIBC_2.0 ptrace F
>  GLIBC_2.0 putc F
>  GLIBC_2.0 putc_unlocked F
> @@ -2318,6 +2319,7 @@ GLIBC_2.34 pthread_spin_init F
>  GLIBC_2.34 pthread_spin_lock F
>  GLIBC_2.34 pthread_spin_trylock F
>  GLIBC_2.34 pthread_spin_unlock F
> +GLIBC_2.34 pthread_testcancel F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
> index 8df7179bd2..83434ae1b6 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 pthread_testcancel F
>  GLIBC_2.0 sem_destroy F
>  GLIBC_2.0 sem_getvalue F
>  GLIBC_2.0 sem_init F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
> index 92c0be4e90..edb5b754bf 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
> @@ -894,6 +894,7 @@ GLIBC_2.0 pthread_setcanceltype F
>  GLIBC_2.0 pthread_setschedparam F
>  GLIBC_2.0 pthread_setspecific F
>  GLIBC_2.0 pthread_sigmask F
> +GLIBC_2.0 pthread_testcancel F
>  GLIBC_2.0 ptrace F
>  GLIBC_2.0 putc F
>  GLIBC_2.0 putc_unlocked F
> @@ -2326,6 +2327,7 @@ GLIBC_2.34 pthread_spin_init F
>  GLIBC_2.34 pthread_spin_lock F
>  GLIBC_2.34 pthread_spin_trylock F
>  GLIBC_2.34 pthread_spin_unlock F
> +GLIBC_2.34 pthread_testcancel F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
> index 90a0e497f6..a80f4d6138 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
> @@ -892,6 +892,7 @@ GLIBC_2.0 pthread_setcanceltype F
>  GLIBC_2.0 pthread_setschedparam F
>  GLIBC_2.0 pthread_setspecific F
>  GLIBC_2.0 pthread_sigmask F
> +GLIBC_2.0 pthread_testcancel F
>  GLIBC_2.0 ptrace F
>  GLIBC_2.0 putc F
>  GLIBC_2.0 putc_unlocked F
> @@ -2320,6 +2321,7 @@ GLIBC_2.34 pthread_spin_init F
>  GLIBC_2.34 pthread_spin_lock F
>  GLIBC_2.34 pthread_spin_trylock F
>  GLIBC_2.34 pthread_spin_unlock F
> +GLIBC_2.34 pthread_testcancel F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> diff --git a/sysdeps/unix/sysv/linux/nios2/libc.abilist b/sysdeps/unix/sysv/linux/nios2/libc.abilist
> index caeb686742..ce16d91d60 100644
> --- a/sysdeps/unix/sysv/linux/nios2/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/nios2/libc.abilist
> @@ -1575,6 +1575,7 @@ GLIBC_2.21 pthread_spin_init F
>  GLIBC_2.21 pthread_spin_lock F
>  GLIBC_2.21 pthread_spin_trylock F
>  GLIBC_2.21 pthread_spin_unlock F
> +GLIBC_2.21 pthread_testcancel F
>  GLIBC_2.21 pthread_yield F
>  GLIBC_2.21 ptrace F
>  GLIBC_2.21 ptsname F
> @@ -2376,6 +2377,7 @@ GLIBC_2.34 pthread_spin_init F
>  GLIBC_2.34 pthread_spin_lock F
>  GLIBC_2.34 pthread_spin_trylock F
>  GLIBC_2.34 pthread_spin_unlock F
> +GLIBC_2.34 pthread_testcancel F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> diff --git a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
> index fb9c53ec2b..197827a386 100644
> --- a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
> @@ -39,7 +39,6 @@ GLIBC_2.21 pthread_setconcurrency F
>  GLIBC_2.21 pthread_setname_np F
>  GLIBC_2.21 pthread_setschedprio F
>  GLIBC_2.21 pthread_sigqueue F
> -GLIBC_2.21 pthread_testcancel F
>  GLIBC_2.21 pthread_timedjoin_np F
>  GLIBC_2.21 pthread_tryjoin_np F
>  GLIBC_2.21 sem_close F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
> index 6bb6f8f092..c8478bd5d4 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
> @@ -905,6 +905,7 @@ GLIBC_2.0 pthread_setcanceltype F
>  GLIBC_2.0 pthread_setschedparam F
>  GLIBC_2.0 pthread_setspecific F
>  GLIBC_2.0 pthread_sigmask F
> +GLIBC_2.0 pthread_testcancel F
>  GLIBC_2.0 ptrace F
>  GLIBC_2.0 putc F
>  GLIBC_2.0 putc_unlocked F
> @@ -2384,6 +2385,7 @@ GLIBC_2.34 pthread_spin_init F
>  GLIBC_2.34 pthread_spin_lock F
>  GLIBC_2.34 pthread_spin_trylock F
>  GLIBC_2.34 pthread_spin_unlock F
> +GLIBC_2.34 pthread_testcancel F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
> index c761c15e3a..79bc809cfa 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 pthread_testcancel F
>  GLIBC_2.0 sem_destroy F
>  GLIBC_2.0 sem_getvalue F
>  GLIBC_2.0 sem_init F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
> index 29dad1780c..05e79162d1 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
> @@ -905,6 +905,7 @@ GLIBC_2.0 pthread_setcanceltype F
>  GLIBC_2.0 pthread_setschedparam F
>  GLIBC_2.0 pthread_setspecific F
>  GLIBC_2.0 pthread_sigmask F
> +GLIBC_2.0 pthread_testcancel F
>  GLIBC_2.0 ptrace F
>  GLIBC_2.0 putc F
>  GLIBC_2.0 putc_unlocked F
> @@ -2417,6 +2418,7 @@ GLIBC_2.34 pthread_spin_init F
>  GLIBC_2.34 pthread_spin_lock F
>  GLIBC_2.34 pthread_spin_trylock F
>  GLIBC_2.34 pthread_spin_unlock F
> +GLIBC_2.34 pthread_testcancel F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
> index c410a6cc6a..8ca7a93538 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
> @@ -1465,6 +1465,7 @@ GLIBC_2.3 pthread_spin_init F
>  GLIBC_2.3 pthread_spin_lock F
>  GLIBC_2.3 pthread_spin_trylock F
>  GLIBC_2.3 pthread_spin_unlock F
> +GLIBC_2.3 pthread_testcancel F
>  GLIBC_2.3 pthread_yield F
>  GLIBC_2.3 ptrace F
>  GLIBC_2.3 ptsname F
> @@ -2238,6 +2239,7 @@ GLIBC_2.34 pthread_spin_init F
>  GLIBC_2.34 pthread_spin_lock F
>  GLIBC_2.34 pthread_spin_trylock F
>  GLIBC_2.34 pthread_spin_unlock F
> +GLIBC_2.34 pthread_testcancel F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
> index 037f0f2839..0c5ee381d2 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 pthread_testcancel F
>  GLIBC_2.3 sem_close F
>  GLIBC_2.3 sem_destroy F
>  GLIBC_2.3 sem_getvalue F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
> index 7a2bf05cb0..7c69ef778e 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
> @@ -1618,6 +1618,7 @@ GLIBC_2.17 pthread_spin_init F
>  GLIBC_2.17 pthread_spin_lock F
>  GLIBC_2.17 pthread_spin_trylock F
>  GLIBC_2.17 pthread_spin_unlock F
> +GLIBC_2.17 pthread_testcancel F
>  GLIBC_2.17 pthread_yield F
>  GLIBC_2.17 ptrace F
>  GLIBC_2.17 ptsname F
> @@ -2539,6 +2540,7 @@ GLIBC_2.34 pthread_spin_init F
>  GLIBC_2.34 pthread_spin_lock F
>  GLIBC_2.34 pthread_spin_trylock F
>  GLIBC_2.34 pthread_spin_unlock F
> +GLIBC_2.34 pthread_testcancel F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
> index c1f11e12df..839f2ff64a 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
> @@ -37,7 +37,6 @@ GLIBC_2.17 pthread_setconcurrency F
>  GLIBC_2.17 pthread_setname_np F
>  GLIBC_2.17 pthread_setschedprio F
>  GLIBC_2.17 pthread_sigqueue F
> -GLIBC_2.17 pthread_testcancel F
>  GLIBC_2.17 pthread_timedjoin_np F
>  GLIBC_2.17 pthread_tryjoin_np F
>  GLIBC_2.17 sem_close F
> diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
> index fa4803dae3..a1158f7747 100644
> --- a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
> @@ -1475,6 +1475,7 @@ GLIBC_2.33 pthread_spin_init F
>  GLIBC_2.33 pthread_spin_lock F
>  GLIBC_2.33 pthread_spin_trylock F
>  GLIBC_2.33 pthread_spin_unlock F
> +GLIBC_2.33 pthread_testcancel F
>  GLIBC_2.33 pthread_yield F
>  GLIBC_2.33 ptrace F
>  GLIBC_2.33 ptsname F
> @@ -2104,6 +2105,7 @@ GLIBC_2.34 pthread_spin_init F
>  GLIBC_2.34 pthread_spin_lock F
>  GLIBC_2.34 pthread_spin_trylock F
>  GLIBC_2.34 pthread_spin_unlock F
> +GLIBC_2.34 pthread_testcancel F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
> index b06dfc1038..94fcac028c 100644
> --- a/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
> @@ -40,7 +40,6 @@ GLIBC_2.33 pthread_setconcurrency F
>  GLIBC_2.33 pthread_setname_np F
>  GLIBC_2.33 pthread_setschedprio F
>  GLIBC_2.33 pthread_sigqueue F
> -GLIBC_2.33 pthread_testcancel F
>  GLIBC_2.33 pthread_timedjoin_np F
>  GLIBC_2.33 pthread_tryjoin_np F
>  GLIBC_2.33 sem_clockwait F
> diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
> index 91cbd00879..0914e4b443 100644
> --- a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
> @@ -1520,6 +1520,7 @@ GLIBC_2.27 pthread_spin_init F
>  GLIBC_2.27 pthread_spin_lock F
>  GLIBC_2.27 pthread_spin_trylock F
>  GLIBC_2.27 pthread_spin_unlock F
> +GLIBC_2.27 pthread_testcancel F
>  GLIBC_2.27 pthread_yield F
>  GLIBC_2.27 ptrace F
>  GLIBC_2.27 ptsname F
> @@ -2304,6 +2305,7 @@ GLIBC_2.34 pthread_spin_init F
>  GLIBC_2.34 pthread_spin_lock F
>  GLIBC_2.34 pthread_spin_trylock F
>  GLIBC_2.34 pthread_spin_unlock F
> +GLIBC_2.34 pthread_testcancel F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
> index 5a7d9561fd..fdab0f5ab4 100644
> --- a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
> @@ -39,7 +39,6 @@ GLIBC_2.27 pthread_setconcurrency F
>  GLIBC_2.27 pthread_setname_np F
>  GLIBC_2.27 pthread_setschedprio F
>  GLIBC_2.27 pthread_sigqueue F
> -GLIBC_2.27 pthread_testcancel F
>  GLIBC_2.27 pthread_timedjoin_np F
>  GLIBC_2.27 pthread_tryjoin_np F
>  GLIBC_2.27 sem_close F
> diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
> index 78bc38dc23..9333d220ed 100644
> --- a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
> @@ -896,6 +896,7 @@ GLIBC_2.0 pthread_setcanceltype F
>  GLIBC_2.0 pthread_setschedparam F
>  GLIBC_2.0 pthread_setspecific F
>  GLIBC_2.0 pthread_sigmask F
> +GLIBC_2.0 pthread_testcancel F
>  GLIBC_2.0 ptrace F
>  GLIBC_2.0 putc F
>  GLIBC_2.0 putc_unlocked F
> @@ -2382,6 +2383,7 @@ GLIBC_2.34 pthread_spin_init F
>  GLIBC_2.34 pthread_spin_lock F
>  GLIBC_2.34 pthread_spin_trylock F
>  GLIBC_2.34 pthread_spin_unlock F
> +GLIBC_2.34 pthread_testcancel F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
> index ddcff610d2..911048092d 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 pthread_testcancel F
>  GLIBC_2.0 sem_destroy F
>  GLIBC_2.0 sem_getvalue F
>  GLIBC_2.0 sem_init F
> diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
> index 8fbd2129b4..1c3b757684 100644
> --- a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
> @@ -1359,6 +1359,7 @@ GLIBC_2.2 pthread_spin_init F
>  GLIBC_2.2 pthread_spin_lock F
>  GLIBC_2.2 pthread_spin_trylock F
>  GLIBC_2.2 pthread_spin_unlock F
> +GLIBC_2.2 pthread_testcancel F
>  GLIBC_2.2 pthread_yield F
>  GLIBC_2.2 ptrace F
>  GLIBC_2.2 ptsname F
> @@ -2275,6 +2276,7 @@ GLIBC_2.34 pthread_spin_init F
>  GLIBC_2.34 pthread_spin_lock F
>  GLIBC_2.34 pthread_spin_trylock F
>  GLIBC_2.34 pthread_spin_unlock F
> +GLIBC_2.34 pthread_testcancel F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
> index ffe9d5fed1..c5c78cb049 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 pthread_testcancel F
>  GLIBC_2.2 sem_close F
>  GLIBC_2.2 sem_destroy F
>  GLIBC_2.2 sem_getvalue F
> diff --git a/sysdeps/unix/sysv/linux/sh/be/libc.abilist b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
> index 2199062106..66be9c89c9 100644
> --- a/sysdeps/unix/sysv/linux/sh/be/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
> @@ -1345,6 +1345,7 @@ GLIBC_2.2 pthread_spin_init F
>  GLIBC_2.2 pthread_spin_lock F
>  GLIBC_2.2 pthread_spin_trylock F
>  GLIBC_2.2 pthread_spin_unlock F
> +GLIBC_2.2 pthread_testcancel F
>  GLIBC_2.2 pthread_yield F
>  GLIBC_2.2 ptrace F
>  GLIBC_2.2 ptsname F
> @@ -2244,6 +2245,7 @@ GLIBC_2.34 pthread_spin_init F
>  GLIBC_2.34 pthread_spin_lock F
>  GLIBC_2.34 pthread_spin_trylock F
>  GLIBC_2.34 pthread_spin_unlock F
> +GLIBC_2.34 pthread_testcancel F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> diff --git a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
> index af0359bd14..0d4dfb6328 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 pthread_testcancel F
>  GLIBC_2.2 sem_close F
>  GLIBC_2.2 sem_destroy F
>  GLIBC_2.2 sem_getvalue F
> diff --git a/sysdeps/unix/sysv/linux/sh/le/libc.abilist b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
> index 10d5e2d2c9..fb0fed082f 100644
> --- a/sysdeps/unix/sysv/linux/sh/le/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
> @@ -1345,6 +1345,7 @@ GLIBC_2.2 pthread_spin_init F
>  GLIBC_2.2 pthread_spin_lock F
>  GLIBC_2.2 pthread_spin_trylock F
>  GLIBC_2.2 pthread_spin_unlock F
> +GLIBC_2.2 pthread_testcancel F
>  GLIBC_2.2 pthread_yield F
>  GLIBC_2.2 ptrace F
>  GLIBC_2.2 ptsname F
> @@ -2241,6 +2242,7 @@ GLIBC_2.34 pthread_spin_init F
>  GLIBC_2.34 pthread_spin_lock F
>  GLIBC_2.34 pthread_spin_trylock F
>  GLIBC_2.34 pthread_spin_unlock F
> +GLIBC_2.34 pthread_testcancel F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> diff --git a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
> index af0359bd14..0d4dfb6328 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 pthread_testcancel F
>  GLIBC_2.2 sem_close F
>  GLIBC_2.2 sem_destroy F
>  GLIBC_2.2 sem_getvalue F
> diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
> index 55df20cf28..37c3cf105f 100644
> --- a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
> @@ -899,6 +899,7 @@ GLIBC_2.0 pthread_setcanceltype F
>  GLIBC_2.0 pthread_setschedparam F
>  GLIBC_2.0 pthread_setspecific F
>  GLIBC_2.0 pthread_sigmask F
> +GLIBC_2.0 pthread_testcancel F
>  GLIBC_2.0 ptrace F
>  GLIBC_2.0 putc F
>  GLIBC_2.0 putc_unlocked F
> @@ -2373,6 +2374,7 @@ GLIBC_2.34 pthread_spin_init F
>  GLIBC_2.34 pthread_spin_lock F
>  GLIBC_2.34 pthread_spin_trylock F
>  GLIBC_2.34 pthread_spin_unlock F
> +GLIBC_2.34 pthread_testcancel F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
> index 5eae00fd6b..2633a1c816 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 pthread_testcancel F
>  GLIBC_2.0 sem_destroy F
>  GLIBC_2.0 sem_getvalue F
>  GLIBC_2.0 sem_init F
> diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
> index f9520b474d..80f79eb731 100644
> --- a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
> @@ -1388,6 +1388,7 @@ GLIBC_2.2 pthread_spin_init F
>  GLIBC_2.2 pthread_spin_lock F
>  GLIBC_2.2 pthread_spin_trylock F
>  GLIBC_2.2 pthread_spin_unlock F
> +GLIBC_2.2 pthread_testcancel F
>  GLIBC_2.2 pthread_yield F
>  GLIBC_2.2 ptrace F
>  GLIBC_2.2 ptsname F
> @@ -2292,6 +2293,7 @@ GLIBC_2.34 pthread_spin_init F
>  GLIBC_2.34 pthread_spin_lock F
>  GLIBC_2.34 pthread_spin_trylock F
>  GLIBC_2.34 pthread_spin_unlock F
> +GLIBC_2.34 pthread_testcancel F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
> index c6c1f7ac7b..cef26d71d6 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 pthread_testcancel F
>  GLIBC_2.2 sem_close F
>  GLIBC_2.2 sem_destroy F
>  GLIBC_2.2 sem_getvalue F
> diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
> index 9a4a3c16fa..a743156f26 100644
> --- a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
> @@ -1356,6 +1356,7 @@ GLIBC_2.2.5 pthread_spin_init F
>  GLIBC_2.2.5 pthread_spin_lock F
>  GLIBC_2.2.5 pthread_spin_trylock F
>  GLIBC_2.2.5 pthread_spin_unlock F
> +GLIBC_2.2.5 pthread_testcancel F
>  GLIBC_2.2.5 pthread_yield F
>  GLIBC_2.2.5 ptrace F
>  GLIBC_2.2.5 ptsname F
> @@ -2253,6 +2254,7 @@ GLIBC_2.34 pthread_spin_init F
>  GLIBC_2.34 pthread_spin_lock F
>  GLIBC_2.34 pthread_spin_trylock F
>  GLIBC_2.34 pthread_spin_unlock F
> +GLIBC_2.34 pthread_testcancel F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
> index 540c8760ed..000cf018c7 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 pthread_testcancel F
>  GLIBC_2.2.5 sem_close F
>  GLIBC_2.2.5 sem_destroy F
>  GLIBC_2.2.5 sem_getvalue F
> diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
> index 21385c23d1..828c2f922b 100644
> --- a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
> @@ -1537,6 +1537,7 @@ GLIBC_2.16 pthread_spin_init F
>  GLIBC_2.16 pthread_spin_lock F
>  GLIBC_2.16 pthread_spin_trylock F
>  GLIBC_2.16 pthread_spin_unlock F
> +GLIBC_2.16 pthread_testcancel F
>  GLIBC_2.16 pthread_yield F
>  GLIBC_2.16 ptrace F
>  GLIBC_2.16 ptsname F
> @@ -2358,6 +2359,7 @@ GLIBC_2.34 pthread_spin_init F
>  GLIBC_2.34 pthread_spin_lock F
>  GLIBC_2.34 pthread_spin_trylock F
>  GLIBC_2.34 pthread_spin_unlock F
> +GLIBC_2.34 pthread_testcancel F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
> index 01f6915331..068065e40c 100644
> --- a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
> @@ -37,7 +37,6 @@ GLIBC_2.16 pthread_setconcurrency F
>  GLIBC_2.16 pthread_setname_np F
>  GLIBC_2.16 pthread_setschedprio F
>  GLIBC_2.16 pthread_sigqueue F
> -GLIBC_2.16 pthread_testcancel F
>  GLIBC_2.16 pthread_timedjoin_np F
>  GLIBC_2.16 pthread_tryjoin_np F
>  GLIBC_2.16 sem_close F
> 

^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [PATCH 02/11] nptl: Consolidate aysnc cancel enable/disable implementation in libc
  2021-05-03 13:51 ` [PATCH 02/11] nptl: Consolidate aysnc cancel enable/disable implementation in libc Florian Weimer
@ 2021-05-05 14:21   ` Adhemerval Zanella
  0 siblings, 0 replies; 24+ messages in thread
From: Adhemerval Zanella @ 2021-05-05 14:21 UTC (permalink / raw)
  To: Florian Weimer, libc-alpha



On 03/05/2021 10:51, Florian Weimer via Libc-alpha wrote:
> Previously, the source file nptl/cancellation.c was compiled multiple
> times, for libc, libpthread, librt.  This commit switches to a single
> implementation, with new __pthread_enable_asynccancel@@GLIBC_PRIVATE,
> __pthread_disable_asynccancel@@GLIBC_PRIVATE exports.
> 
> The almost-unused CANCEL_ASYNC and CANCEL_RESET macros are replaced
> by LIBC_CANCEL_ASYNC and LIBC_CANCEL_ASYNC macros.  They call the
> __pthread_* functions unconditionally now.  The macros are still
> needed because shared code uses them; Hurd has different definitions.

LGTM, thanks.

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

> ---
>  elf/Makefile                            |  6 ++--
>  manual/llio.texi                        |  4 +--
>  nptl/Makefile                           |  4 +--
>  nptl/Versions                           |  2 ++
>  nptl/cancellation.c                     |  4 +--
>  nptl/libc-cancellation.c                | 24 --------------
>  nptl/pthreadP.h                         |  2 --
>  nptl/pthread_create.c                   |  4 +--
>  rt/Makefile                             |  1 -
>  sysdeps/nptl/Makefile                   |  3 +-
>  sysdeps/nptl/librt-cancellation.c       | 24 --------------
>  sysdeps/nptl/lowlevellock-futex.h       |  8 ++---
>  sysdeps/unix/sysv/linux/socketcall.h    |  5 ---
>  sysdeps/unix/sysv/linux/sysdep-cancel.h | 44 ++++---------------------
>  14 files changed, 25 insertions(+), 110 deletions(-)
>  delete mode 100644 nptl/libc-cancellation.c
>  delete mode 100644 sysdeps/nptl/librt-cancellation.c
> 
> diff --git a/elf/Makefile b/elf/Makefile
> index f09988f7d2..4f99af626f 100644
> --- a/elf/Makefile
> +++ b/elf/Makefile
> @@ -528,8 +528,10 @@ $(objpfx)dl-allobjs.os: $(all-rtld-routines:%=$(objpfx)%.os)
>  # discovery mechanism is not compatible with the libc implementation
>  # when compiled for libc.
>  rtld-stubbed-symbols = \
> -  __libc_disable_asynccancel \
> -  __libc_enable_asynccancel \
> +  __GI___pthread_disable_asynccancel \
> +  __GI___pthread_enable_asynccancel \
> +  __pthread_disable_asynccancel \
> +  __pthread_enable_asynccancel \
>    calloc \
>    free \
>    malloc \

Ok.

> diff --git a/manual/llio.texi b/manual/llio.texi
> index c0a53e1a6e..cbc4909fd5 100644
> --- a/manual/llio.texi
> +++ b/manual/llio.texi
> @@ -2534,13 +2534,13 @@ aiocb64}, since the LFS transparently replaces the old interface.
>  @c     sigemptyset ok
>  @c     sigaddset ok
>  @c     setjmp ok
> -@c     CANCEL_ASYNC -> pthread_enable_asynccancel ok
> +@c     LIBC_CANCEL_ASYNC -> __pthread_enable_asynccancel ok
>  @c      do_cancel ok
>  @c       pthread_unwind ok
>  @c        Unwind_ForcedUnwind or longjmp ok [@ascuheap @acsmem?]
>  @c     lll_lock @asulock @aculock
>  @c     lll_unlock @asulock @aculock
> -@c     CANCEL_RESET -> pthread_disable_asynccancel ok
> +@c     LIBC_CANCEL_RESET -> __pthread_disable_asynccancel ok
>  @c      lll_futex_wait ok
>  @c     ->start_routine ok -----
>  @c     call_tls_dtors @asulock @ascuheap @aculock @acsmem

Ok.

> diff --git a/nptl/Makefile b/nptl/Makefile
> index 884cb69bb4..1337b9e648 100644
> --- a/nptl/Makefile
> +++ b/nptl/Makefile
> @@ -30,6 +30,7 @@ extra-libs-others := $(extra-libs)
>  
>  routines = \
>    alloca_cutoff \
> +  cancellation \
>    cleanup_compat \
>    cleanup_defer_compat \
>    cleanup_routine \
> @@ -39,7 +40,6 @@ routines = \
>    elision-trylock \
>    elision-unlock \
>    futex-internal \
> -  libc-cancellation \
>    libc-cleanup \
>    libc_multiple_threads \
>    libc_pthread_init \

Ok.

> @@ -157,7 +157,6 @@ shared-only-routines = forward
>  static-only-routines = pthread_atfork
>  
>  libpthread-routines = \
> -  cancellation \
>    cleanup \
>    cleanup_defer \
>    events \
> @@ -239,7 +238,6 @@ CFLAGS-pthread_setcanceltype.c += -fexceptions -fasynchronous-unwind-tables
>  # These are internal functions which similar functionality as setcancelstate
>  # and setcanceltype.
>  CFLAGS-cancellation.c += -fasynchronous-unwind-tables
> -CFLAGS-libc-cancellation.c += -fasynchronous-unwind-tables
>  
>  # Calling pthread_exit() must cause the registered cancel handlers to
>  # be executed.  Therefore exceptions have to be thrown through this

Ok.

> diff --git a/nptl/Versions b/nptl/Versions
> index ce09c73727..e845cbf804 100644
> --- a/nptl/Versions
> +++ b/nptl/Versions
> @@ -281,6 +281,8 @@ libc {
>      __pthread_cleanup_push;
>      __pthread_cleanup_upto;
>      __pthread_current_priority;
> +    __pthread_disable_asynccancel;
> +    __pthread_enable_asynccancel;
>      __pthread_force_elision;
>      __pthread_getattr_default_np;
>      __pthread_keys;

Ok.

> diff --git a/nptl/cancellation.c b/nptl/cancellation.c
> index 2ee633eabc..c20845adc0 100644
> --- a/nptl/cancellation.c
> +++ b/nptl/cancellation.c
> @@ -28,7 +28,6 @@
>     AS-safe, with the exception of the actual cancellation, because they
>     are called by wrappers around AS-safe functions like write().*/
>  int
> -attribute_hidden
>  __pthread_enable_asynccancel (void)
>  {
>    struct pthread *self = THREAD_SELF;
> @@ -60,11 +59,11 @@ __pthread_enable_asynccancel (void)
>  
>    return oldval;
>  }
> +libc_hidden_def (__pthread_enable_asynccancel)
>  
>  /* See the comment for __pthread_enable_asynccancel regarding
>     the AS-safety of this function.  */
>  void
> -attribute_hidden
>  __pthread_disable_asynccancel (int oldtype)
>  {
>    /* If asynchronous cancellation was enabled before we do not have
> @@ -102,3 +101,4 @@ __pthread_disable_asynccancel (int oldtype)
>        newval = THREAD_GETMEM (self, cancelhandling);
>      }
>  }
> +libc_hidden_def (__pthread_disable_asynccancel)

Ok.

> diff --git a/nptl/libc-cancellation.c b/nptl/libc-cancellation.c
> deleted file mode 100644
> index 29f5a5864b..0000000000
> --- a/nptl/libc-cancellation.c
> +++ /dev/null
> @@ -1,24 +0,0 @@
> -/* Copyright (C) 2002-2021 Free Software Foundation, Inc.
> -   This file is part of the GNU C Library.
> -   Contributed by Ulrich Drepper <drepper@redhat.com>, 2002.
> -
> -   The GNU C Library is free software; you can redistribute it and/or
> -   modify it under the terms of the GNU Lesser General Public
> -   License as published by the Free Software Foundation; either
> -   version 2.1 of the License, or (at your option) any later version.
> -
> -   The GNU C Library is distributed in the hope that it will be useful,
> -   but WITHOUT ANY WARRANTY; without even the implied warranty of
> -   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
> -   Lesser General Public License for more details.
> -
> -   You should have received a copy of the GNU Lesser General Public
> -   License along with the GNU C Library; if not, see
> -   <https://www.gnu.org/licenses/>.  */
> -
> -#include "pthreadP.h"
> -
> -
> -#define __pthread_enable_asynccancel __libc_enable_asynccancel
> -#define __pthread_disable_asynccancel __libc_disable_asynccancel
> -#include <nptl/cancellation.c>

Ok.

> diff --git a/nptl/pthreadP.h b/nptl/pthreadP.h
> index ee77928fc7..2d9e42173e 100644
> --- a/nptl/pthreadP.h
> +++ b/nptl/pthreadP.h
> @@ -569,8 +569,6 @@ libc_hidden_proto (__pthread_exit)
>  extern int __pthread_join (pthread_t threadid, void **thread_return);
>  extern int __pthread_setcanceltype (int type, int *oldtype);
>  libc_hidden_proto (__pthread_setcanceltype)
> -extern int __pthread_enable_asynccancel (void) attribute_hidden;
> -extern void __pthread_disable_asynccancel (int oldtype) attribute_hidden;
>  extern void __pthread_testcancel (void);
>  libc_hidden_proto (__pthread_testcancel)
>  extern int __pthread_clockjoin_ex (pthread_t, void **, clockid_t,

Ok.

> diff --git a/nptl/pthread_create.c b/nptl/pthread_create.c
> index d89a83b38a..775287d0e4 100644
> --- a/nptl/pthread_create.c
> +++ b/nptl/pthread_create.c
> @@ -353,7 +353,7 @@ START_THREAD_DEFN
>  	 have ownership (see CONCURRENCY NOTES above).  */
>        if (__glibc_unlikely (pd->stopped_start))
>  	{
> -	  int oldtype = CANCEL_ASYNC ();
> +	  int oldtype = LIBC_CANCEL_ASYNC ();
>  
>  	  /* Get the lock the parent locked to force synchronization.  */
>  	  lll_lock (pd->lock, LLL_PRIVATE);
> @@ -363,7 +363,7 @@ START_THREAD_DEFN
>  	  /* And give it up right away.  */
>  	  lll_unlock (pd->lock, LLL_PRIVATE);
>  
> -	  CANCEL_RESET (oldtype);
> +	  LIBC_CANCEL_RESET (oldtype);
>  	}
>  
>        LIBC_PROBE (pthread_start, 3, (pthread_t) pd, pd->start_routine, pd->arg);

Ok.

> diff --git a/rt/Makefile b/rt/Makefile
> index c1a0fdeb46..97c9bbd9de 100644
> --- a/rt/Makefile
> +++ b/rt/Makefile
> @@ -59,7 +59,6 @@ include ../Rules
>  CFLAGS-aio_suspend.c += -fexceptions
>  CFLAGS-mq_timedreceive.c += -fexceptions -fasynchronous-unwind-tables
>  CFLAGS-mq_timedsend.c += -fexceptions -fasynchronous-unwind-tables
> -CFLAGS-librt-cancellation.c += -fasynchronous-unwind-tables
>  
>  LDFLAGS-rt.so = -Wl,--enable-new-dtags,-z,nodelete
>  

Ok.

> diff --git a/sysdeps/nptl/Makefile b/sysdeps/nptl/Makefile
> index adcced422b..632cd3686b 100644
> --- a/sysdeps/nptl/Makefile
> +++ b/sysdeps/nptl/Makefile
> @@ -21,8 +21,7 @@ libpthread-sysdep_routines += errno-loc
>  endif
>  
>  ifeq ($(subdir),rt)
> -librt-sysdep_routines += timer_routines librt-cancellation
> -CFLAGS-librt-cancellation.c += -fexceptions -fasynchronous-unwind-tables
> +librt-sysdep_routines += timer_routines
>  
>  tests += tst-mqueue8x
>  CFLAGS-tst-mqueue8x.c += -fexceptions

Ok.

> diff --git a/sysdeps/nptl/librt-cancellation.c b/sysdeps/nptl/librt-cancellation.c
> deleted file mode 100644
> index 1ad0eb11ff..0000000000
> --- a/sysdeps/nptl/librt-cancellation.c
> +++ /dev/null
> @@ -1,24 +0,0 @@
> -/* Copyright (C) 2002-2021 Free Software Foundation, Inc.
> -   This file is part of the GNU C Library.
> -   Contributed by Ulrich Drepper <drepper@redhat.com>, 2002.
> -
> -   The GNU C Library is free software; you can redistribute it and/or
> -   modify it under the terms of the GNU Lesser General Public
> -   License as published by the Free Software Foundation; either
> -   version 2.1 of the License, or (at your option) any later version.
> -
> -   The GNU C Library is distributed in the hope that it will be useful,
> -   but WITHOUT ANY WARRANTY; without even the implied warranty of
> -   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
> -   Lesser General Public License for more details.
> -
> -   You should have received a copy of the GNU Lesser General Public
> -   License along with the GNU C Library; if not, see
> -   <https://www.gnu.org/licenses/>.  */
> -
> -#include <nptl/pthreadP.h>
> -
> -
> -#define __pthread_enable_asynccancel __librt_enable_asynccancel
> -#define __pthread_disable_asynccancel __librt_disable_asynccancel
> -#include <nptl/cancellation.c>

Ok.

> diff --git a/sysdeps/nptl/lowlevellock-futex.h b/sysdeps/nptl/lowlevellock-futex.h
> index ca96397a4a..66ebfe50f4 100644
> --- a/sysdeps/nptl/lowlevellock-futex.h
> +++ b/sysdeps/nptl/lowlevellock-futex.h
> @@ -121,18 +121,18 @@
>  /* Like lll_futex_wait, but acting as a cancellable entrypoint.  */
>  # define lll_futex_wait_cancel(futexp, val, private) \
>    ({                                                                   \
> -    int __oldtype = CANCEL_ASYNC ();				       \
> +    int __oldtype = LIBC_CANCEL_ASYNC ();			       \
>      long int __err = lll_futex_wait (futexp, val, LLL_SHARED);	       \
> -    CANCEL_RESET (__oldtype);					       \
> +    LIBC_CANCEL_RESET (__oldtype);				       \
>      __err;							       \
>    })
>  
>  /* Like lll_futex_timed_wait, but acting as a cancellable entrypoint.  */
>  # define lll_futex_timed_wait_cancel(futexp, val, timeout, private) \
>    ({									   \
> -    int __oldtype = CANCEL_ASYNC ();				       	   \
> +    int __oldtype = LIBC_CANCEL_ASYNC ();			       	   \
>      long int __err = lll_futex_timed_wait (futexp, val, timeout, private); \
> -    CANCEL_RESET (__oldtype);						   \
> +    LIBC_CANCEL_RESET (__oldtype);					   \
>      __err;								   \
>    })
>  

Ok.

> diff --git a/sysdeps/unix/sysv/linux/socketcall.h b/sysdeps/unix/sysv/linux/socketcall.h
> index 07702fc4f1..3084623216 100644
> --- a/sysdeps/unix/sysv/linux/socketcall.h
> +++ b/sysdeps/unix/sysv/linux/socketcall.h
> @@ -89,11 +89,6 @@
>    })
>  
>  
> -#if IS_IN (libc)
> -# define __pthread_enable_asynccancel  __libc_enable_asynccancel
> -# define __pthread_disable_asynccancel __libc_disable_asynccancel
> -#endif
> -
>  #define SOCKETCALL_CANCEL(name, args...)				\
>    ({									\
>      int oldtype = LIBC_CANCEL_ASYNC ();	

Ok.
				\
> diff --git a/sysdeps/unix/sysv/linux/sysdep-cancel.h b/sysdeps/unix/sysv/linux/sysdep-cancel.h
> index da2f08fde9..c64cfff37c 100644
> --- a/sysdeps/unix/sysv/linux/sysdep-cancel.h
> +++ b/sysdeps/unix/sysv/linux/sysdep-cancel.h
> @@ -24,44 +24,14 @@
>  #include <tls.h>
>  #include <errno.h>
>  
> -/* The two functions are in libc.so and not exported.  */
> -extern int __libc_enable_asynccancel (void) attribute_hidden;
> -extern void __libc_disable_asynccancel (int oldtype) attribute_hidden;
> -
> -/* The two functions are in librt.so and not exported.  */
> -extern int __librt_enable_asynccancel (void) attribute_hidden;
> -extern void __librt_disable_asynccancel (int oldtype) attribute_hidden;
> -
> -/* The two functions are in libpthread.so and not exported.  */
> -extern int __pthread_enable_asynccancel (void) attribute_hidden;
> -extern void __pthread_disable_asynccancel (int oldtype) attribute_hidden;
> -
>  /* Set cancellation mode to asynchronous.  */
> -#define CANCEL_ASYNC() \
> -  __pthread_enable_asynccancel ()
> -/* Reset to previous cancellation mode.  */
> -#define CANCEL_RESET(oldtype) \
> -  __pthread_disable_asynccancel (oldtype)
> -
> -#if IS_IN (libc)
> -/* Same as CANCEL_ASYNC, but for use in libc.so.  */
> -# define LIBC_CANCEL_ASYNC() \
> -  __libc_enable_asynccancel ()
> -/* Same as CANCEL_RESET, but for use in libc.so.  */
> -# define LIBC_CANCEL_RESET(oldtype) \
> -  __libc_disable_asynccancel (oldtype)
> -#elif IS_IN (libpthread)
> -# define LIBC_CANCEL_ASYNC() CANCEL_ASYNC ()
> -# define LIBC_CANCEL_RESET(val) CANCEL_RESET (val)
> -#elif IS_IN (librt)
> -# define LIBC_CANCEL_ASYNC() \
> -  __librt_enable_asynccancel ()
> -# define LIBC_CANCEL_RESET(val) \
> -  __librt_disable_asynccancel (val)
> -#else
> -# define LIBC_CANCEL_ASYNC()	0 /* Just a dummy value.  */
> -# define LIBC_CANCEL_RESET(val)	((void)(val)) /* Nothing, but evaluate it.  */
> -#endif
> +extern int __pthread_enable_asynccancel (void);
> +libc_hidden_proto (__pthread_enable_asynccancel)
> +#define LIBC_CANCEL_ASYNC() __pthread_enable_asynccancel ()
>  
> +/* Reset to previous cancellation mode.  */
> +extern void __pthread_disable_asynccancel (int oldtype);
> +libc_hidden_proto (__pthread_disable_asynccancel)
> +#define LIBC_CANCEL_RESET(oldtype) __pthread_disable_asynccancel (oldtype)
>  
>  #endif
> 

Ok.

^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [PATCH 03/11] nptl: Move sem_clockwait into libc
  2021-05-03 13:51 ` [PATCH 03/11] nptl: Move sem_clockwait into libc Florian Weimer
@ 2021-05-05 14:30   ` Adhemerval Zanella
  0 siblings, 0 replies; 24+ messages in thread
From: Adhemerval Zanella @ 2021-05-05 14:30 UTC (permalink / raw)
  To: Florian Weimer, libc-alpha



On 03/05/2021 10:51, Florian Weimer via Libc-alpha wrote:
> The symbol was moved using scripts/move-symbol-to-libc.py.
> 
> A new placeholder version is added at version GLIBC_2.30, to
> preserve that version in libpthread.so.0.

LGTM, thanks.

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

> ---
>  nptl/Makefile                                     |  2 +-
>  nptl/Versions                                     |  4 +++-
>  nptl/libpthread-compat.c                          |  5 +++++
>  nptl/sem_clockwait.c                              | 15 ++++++++++-----
>  nptl/semaphoreP.h                                 |  2 +-
>  sysdeps/unix/sysv/linux/aarch64/libc.abilist      |  2 ++
>  .../unix/sysv/linux/aarch64/libpthread.abilist    |  2 +-
>  sysdeps/unix/sysv/linux/alpha/libc.abilist        |  2 ++
>  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 |  2 +-
>  sysdeps/unix/sysv/linux/arm/le/libc.abilist       |  2 ++
>  sysdeps/unix/sysv/linux/arm/le/libpthread.abilist |  2 +-
>  sysdeps/unix/sysv/linux/csky/libc.abilist         |  2 ++
>  sysdeps/unix/sysv/linux/csky/libpthread.abilist   |  2 +-
>  sysdeps/unix/sysv/linux/hppa/libc.abilist         |  2 ++
>  sysdeps/unix/sysv/linux/hppa/libpthread.abilist   |  2 +-
>  sysdeps/unix/sysv/linux/i386/libc.abilist         |  2 ++
>  sysdeps/unix/sysv/linux/i386/libpthread.abilist   |  2 +-
>  sysdeps/unix/sysv/linux/ia64/libc.abilist         |  2 ++
>  sysdeps/unix/sysv/linux/ia64/libpthread.abilist   |  2 +-
>  .../unix/sysv/linux/m68k/coldfire/libc.abilist    |  2 ++
>  .../sysv/linux/m68k/coldfire/libpthread.abilist   |  2 +-
>  sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist  |  2 ++
>  .../sysv/linux/m68k/m680x0/libpthread.abilist     |  2 +-
>  .../unix/sysv/linux/microblaze/be/libc.abilist    |  2 ++
>  .../sysv/linux/microblaze/be/libpthread.abilist   |  2 +-
>  .../unix/sysv/linux/microblaze/le/libc.abilist    |  2 ++
>  .../sysv/linux/microblaze/le/libpthread.abilist   |  2 +-
>  .../unix/sysv/linux/mips/mips32/fpu/libc.abilist  |  2 ++
>  .../sysv/linux/mips/mips32/libpthread.abilist     |  2 +-
>  .../sysv/linux/mips/mips32/nofpu/libc.abilist     |  2 ++
>  .../sysv/linux/mips/mips64/libpthread.abilist     |  2 +-
>  .../unix/sysv/linux/mips/mips64/n32/libc.abilist  |  2 ++
>  .../unix/sysv/linux/mips/mips64/n64/libc.abilist  |  2 ++
>  sysdeps/unix/sysv/linux/nios2/libc.abilist        |  2 ++
>  sysdeps/unix/sysv/linux/nios2/libpthread.abilist  |  2 +-
>  .../sysv/linux/powerpc/powerpc32/fpu/libc.abilist |  2 ++
>  .../linux/powerpc/powerpc32/libpthread.abilist    |  2 +-
>  .../linux/powerpc/powerpc32/nofpu/libc.abilist    |  2 ++
>  .../sysv/linux/powerpc/powerpc64/be/libc.abilist  |  2 ++
>  .../linux/powerpc/powerpc64/be/libpthread.abilist |  2 +-
>  .../sysv/linux/powerpc/powerpc64/le/libc.abilist  |  2 ++
>  .../linux/powerpc/powerpc64/le/libpthread.abilist |  2 +-
>  sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist   |  2 ++
>  .../unix/sysv/linux/riscv/rv32/libpthread.abilist |  1 -
>  sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist   |  2 ++
>  .../unix/sysv/linux/riscv/rv64/libpthread.abilist |  2 +-
>  sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist |  2 ++
>  .../sysv/linux/s390/s390-32/libpthread.abilist    |  2 +-
>  sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist |  2 ++
>  .../sysv/linux/s390/s390-64/libpthread.abilist    |  2 +-
>  sysdeps/unix/sysv/linux/sh/be/libc.abilist        |  2 ++
>  sysdeps/unix/sysv/linux/sh/be/libpthread.abilist  |  2 +-
>  sysdeps/unix/sysv/linux/sh/le/libc.abilist        |  2 ++
>  sysdeps/unix/sysv/linux/sh/le/libpthread.abilist  |  2 +-
>  .../unix/sysv/linux/sparc/sparc32/libc.abilist    |  2 ++
>  .../sysv/linux/sparc/sparc32/libpthread.abilist   |  2 +-
>  .../unix/sysv/linux/sparc/sparc64/libc.abilist    |  2 ++
>  .../sysv/linux/sparc/sparc64/libpthread.abilist   |  2 +-
>  sysdeps/unix/sysv/linux/x86_64/64/libc.abilist    |  2 ++
>  .../unix/sysv/linux/x86_64/64/libpthread.abilist  |  2 +-
>  sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist   |  2 ++
>  .../unix/sysv/linux/x86_64/x32/libpthread.abilist |  2 +-
>  66 files changed, 111 insertions(+), 37 deletions(-)
> 
> diff --git a/nptl/Makefile b/nptl/Makefile
> index 1337b9e648..66fd90049e 100644
> --- a/nptl/Makefile
> +++ b/nptl/Makefile
> @@ -150,6 +150,7 @@ routines = \
>    pthread_spin_unlock \
>    pthread_testcancel \
>    pthread_yield \
> +  sem_clockwait \
>    tpp \
>    unwind \
>  
> @@ -201,7 +202,6 @@ libpthread-routines = \
>    pthread_sigqueue \
>    pthread_timedjoin \
>    pthread_tryjoin \
> -  sem_clockwait \
>    sem_close \
>    sem_destroy \
>    sem_getvalue \
> diff --git a/nptl/Versions b/nptl/Versions
> index e845cbf804..97567b6354 100644
> --- a/nptl/Versions
> +++ b/nptl/Versions
> @@ -172,6 +172,7 @@ libc {
>      pthread_mutex_clocklock;
>      pthread_rwlock_clockrdlock;
>      pthread_rwlock_clockwrlock;
> +    sem_clockwait;
>    }
>    GLIBC_2.32 {
>      pthread_attr_getsigmask_np;
> @@ -247,6 +248,7 @@ libc {
>      pthread_spin_trylock;
>      pthread_spin_unlock;
>      pthread_testcancel;
> +    sem_clockwait;
>      thrd_exit;
>      tss_create;
>      tss_delete;
> @@ -421,7 +423,7 @@ libpthread {
>    }
>  
>    GLIBC_2.30 {
> -    sem_clockwait;
> +    __libpthread_version_placeholder;
>    }
>  
>    GLIBC_2.31 {
> diff --git a/nptl/libpthread-compat.c b/nptl/libpthread-compat.c
> index 761ca8d41c..7b0427aaed 100644
> --- a/nptl/libpthread-compat.c
> +++ b/nptl/libpthread-compat.c
> @@ -60,3 +60,8 @@ compat_symbol (libpthread, __libpthread_version_placeholder_1,
>  compat_symbol (libpthread, __libpthread_version_placeholder_1,
>  	       __libpthread_version_placeholder, GLIBC_2_4);
>  #endif
> +
> +#if (SHLIB_COMPAT (libpthread, GLIBC_2_30, GLIBC_2_31))
> +compat_symbol (libpthread, __libpthread_version_placeholder_1,
> +	       __libpthread_version_placeholder, GLIBC_2_30);
> +#endif
> diff --git a/nptl/sem_clockwait.c b/nptl/sem_clockwait.c
> index 3202b60564..2739799e26 100644
> --- a/nptl/sem_clockwait.c
> +++ b/nptl/sem_clockwait.c
> @@ -23,7 +23,7 @@
>  #include "sem_waitcommon.c"
>  
>  int
> -__sem_clockwait64 (sem_t *sem, clockid_t clockid,
> +___sem_clockwait64 (sem_t *sem, clockid_t clockid,
>                     const struct __timespec64 *abstime)
>  {
>    /* Check that supplied clockid is one we support, even if we don't end up
> @@ -46,15 +46,20 @@ __sem_clockwait64 (sem_t *sem, clockid_t clockid,
>      return __new_sem_wait_slow64 ((struct new_sem *) sem, clockid, abstime);
>  }
>  
> -#if __TIMESIZE != 64
> -libpthread_hidden_def (__sem_clockwait64)
> +#if __TIMESIZE == 64
> +strong_alias (___sem_clockwait64, ___sem_clockwait)
> +#else /* __TIMESPEC64 != 64 */
> +libc_hidden_ver (___sem_clockwait64, __sem_clockwait64)
>  
>  int
> -__sem_clockwait (sem_t *sem, clockid_t clockid, const struct timespec *abstime)
> +___sem_clockwait (sem_t *sem, clockid_t clockid, const struct timespec *abstime)
>  {
>    struct __timespec64 ts64 = valid_timespec_to_timespec64 (*abstime);
>  
>    return __sem_clockwait64 (sem, clockid, &ts64);
>  }
> +#endif /* __TIMESPEC64 != 64 */
> +versioned_symbol (libc, ___sem_clockwait, sem_clockwait, GLIBC_2_34);
> +#if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_30, GLIBC_2_34)
> +compat_symbol (libpthread, ___sem_clockwait, sem_clockwait, GLIBC_2_30);
>  #endif
> -weak_alias (__sem_clockwait, sem_clockwait)
> diff --git a/nptl/semaphoreP.h b/nptl/semaphoreP.h
> index 1b786149f4..f030f0e4de 100644
> --- a/nptl/semaphoreP.h
> +++ b/nptl/semaphoreP.h
> @@ -54,7 +54,7 @@ extern int __new_sem_getvalue (sem_t *sem, int *sval);
>  extern int
>  __sem_clockwait64 (sem_t *sem, clockid_t clockid,
>                     const struct __timespec64 *abstime);
> -libpthread_hidden_proto (__sem_clockwait64)
> +libc_hidden_proto (__sem_clockwait64)
>  extern int
>  __sem_timedwait64 (sem_t *sem, const struct __timespec64 *abstime);
>  libpthread_hidden_proto (__sem_timedwait64)
> diff --git a/sysdeps/unix/sysv/linux/aarch64/libc.abilist b/sysdeps/unix/sysv/linux/aarch64/libc.abilist
> index 5dfea47ebf..0f54f3fa7a 100644
> --- a/sysdeps/unix/sysv/linux/aarch64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/aarch64/libc.abilist
> @@ -2250,6 +2250,7 @@ GLIBC_2.30 pthread_cond_clockwait F
>  GLIBC_2.30 pthread_mutex_clocklock F
>  GLIBC_2.30 pthread_rwlock_clockrdlock F
>  GLIBC_2.30 pthread_rwlock_clockwrlock F
> +GLIBC_2.30 sem_clockwait F
>  GLIBC_2.30 tgkill F
>  GLIBC_2.30 twalk_r F
>  GLIBC_2.32 __libc_single_threaded D 0x1
> @@ -2345,6 +2346,7 @@ GLIBC_2.34 pthread_spin_lock F
>  GLIBC_2.34 pthread_spin_trylock F
>  GLIBC_2.34 pthread_spin_unlock F
>  GLIBC_2.34 pthread_testcancel F
> +GLIBC_2.34 sem_clockwait F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> diff --git a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
> index 839f2ff64a..0481baac9c 100644
> --- a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
> @@ -54,5 +54,5 @@ GLIBC_2.18 pthread_setattr_default_np F
>  GLIBC_2.28 thrd_create F
>  GLIBC_2.28 thrd_detach F
>  GLIBC_2.28 thrd_join F
> -GLIBC_2.30 sem_clockwait F
> +GLIBC_2.30 __libpthread_version_placeholder F
>  GLIBC_2.31 pthread_clockjoin_np F
> diff --git a/sysdeps/unix/sysv/linux/alpha/libc.abilist b/sysdeps/unix/sysv/linux/alpha/libc.abilist
> index 318eea546a..c0d38ccd38 100644
> --- a/sysdeps/unix/sysv/linux/alpha/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/alpha/libc.abilist
> @@ -2331,6 +2331,7 @@ GLIBC_2.30 pthread_cond_clockwait F
>  GLIBC_2.30 pthread_mutex_clocklock F
>  GLIBC_2.30 pthread_rwlock_clockrdlock F
>  GLIBC_2.30 pthread_rwlock_clockwrlock F
> +GLIBC_2.30 sem_clockwait F
>  GLIBC_2.30 tgkill F
>  GLIBC_2.30 twalk_r F
>  GLIBC_2.32 __libc_single_threaded D 0x1
> @@ -2426,6 +2427,7 @@ GLIBC_2.34 pthread_spin_lock F
>  GLIBC_2.34 pthread_spin_trylock F
>  GLIBC_2.34 pthread_spin_unlock F
>  GLIBC_2.34 pthread_testcancel F
> +GLIBC_2.34 sem_clockwait F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> diff --git a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
> index 2633a1c816..86b15ad0d7 100644
> --- a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
> @@ -69,6 +69,6 @@ GLIBC_2.3.3 pthread_tryjoin_np F
>  GLIBC_2.3.4 pthread_attr_getaffinity_np F
>  GLIBC_2.3.4 pthread_setaffinity_np F
>  GLIBC_2.3.4 pthread_setschedprio F
> -GLIBC_2.30 sem_clockwait F
> +GLIBC_2.30 __libpthread_version_placeholder F
>  GLIBC_2.31 pthread_clockjoin_np F
>  GLIBC_2.4 __libpthread_version_placeholder F
> diff --git a/sysdeps/unix/sysv/linux/arc/libc.abilist b/sysdeps/unix/sysv/linux/arc/libc.abilist
> index 18b5c97cc8..79fad165e1 100644
> --- a/sysdeps/unix/sysv/linux/arc/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/arc/libc.abilist
> @@ -1601,6 +1601,7 @@ GLIBC_2.32 seed48 F
>  GLIBC_2.32 seed48_r F
>  GLIBC_2.32 seekdir F
>  GLIBC_2.32 select F
> +GLIBC_2.32 sem_clockwait F
>  GLIBC_2.32 semctl F
>  GLIBC_2.32 semget F
>  GLIBC_2.32 semop F
> @@ -2104,6 +2105,7 @@ GLIBC_2.34 pthread_spin_lock F
>  GLIBC_2.34 pthread_spin_trylock F
>  GLIBC_2.34 pthread_spin_unlock F
>  GLIBC_2.34 pthread_testcancel F
> +GLIBC_2.34 sem_clockwait F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> diff --git a/sysdeps/unix/sysv/linux/arc/libpthread.abilist b/sysdeps/unix/sysv/linux/arc/libpthread.abilist
> index fbe2217064..f9bb47a3c5 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_clockwait F
>  GLIBC_2.32 sem_close F
>  GLIBC_2.32 sem_destroy F
>  GLIBC_2.32 sem_getvalue F
> diff --git a/sysdeps/unix/sysv/linux/arm/be/libc.abilist b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
> index 7de0e34b14..38cddc482a 100644
> --- a/sysdeps/unix/sysv/linux/arm/be/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
> @@ -153,6 +153,7 @@ GLIBC_2.30 pthread_cond_clockwait F
>  GLIBC_2.30 pthread_mutex_clocklock F
>  GLIBC_2.30 pthread_rwlock_clockrdlock F
>  GLIBC_2.30 pthread_rwlock_clockwrlock F
> +GLIBC_2.30 sem_clockwait F
>  GLIBC_2.30 tgkill F
>  GLIBC_2.30 twalk_r F
>  GLIBC_2.31 msgctl F
> @@ -251,6 +252,7 @@ GLIBC_2.34 pthread_spin_lock F
>  GLIBC_2.34 pthread_spin_trylock F
>  GLIBC_2.34 pthread_spin_unlock F
>  GLIBC_2.34 pthread_testcancel F
> +GLIBC_2.34 sem_clockwait F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> diff --git a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
> index bd82a85136..e56c397379 100644
> --- a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
> @@ -6,7 +6,7 @@ GLIBC_2.18 pthread_setattr_default_np F
>  GLIBC_2.28 thrd_create F
>  GLIBC_2.28 thrd_detach F
>  GLIBC_2.28 thrd_join F
> -GLIBC_2.30 sem_clockwait F
> +GLIBC_2.30 __libpthread_version_placeholder F
>  GLIBC_2.31 pthread_clockjoin_np F
>  GLIBC_2.4 _IO_flockfile F
>  GLIBC_2.4 _IO_ftrylockfile F
> diff --git a/sysdeps/unix/sysv/linux/arm/le/libc.abilist b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
> index 3e79ca85f0..78ae8c3907 100644
> --- a/sysdeps/unix/sysv/linux/arm/le/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
> @@ -153,6 +153,7 @@ GLIBC_2.30 pthread_cond_clockwait F
>  GLIBC_2.30 pthread_mutex_clocklock F
>  GLIBC_2.30 pthread_rwlock_clockrdlock F
>  GLIBC_2.30 pthread_rwlock_clockwrlock F
> +GLIBC_2.30 sem_clockwait F
>  GLIBC_2.30 tgkill F
>  GLIBC_2.30 twalk_r F
>  GLIBC_2.32 __libc_single_threaded D 0x1
> @@ -248,6 +249,7 @@ GLIBC_2.34 pthread_spin_lock F
>  GLIBC_2.34 pthread_spin_trylock F
>  GLIBC_2.34 pthread_spin_unlock F
>  GLIBC_2.34 pthread_testcancel F
> +GLIBC_2.34 sem_clockwait F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> diff --git a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
> index bd82a85136..e56c397379 100644
> --- a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
> @@ -6,7 +6,7 @@ GLIBC_2.18 pthread_setattr_default_np F
>  GLIBC_2.28 thrd_create F
>  GLIBC_2.28 thrd_detach F
>  GLIBC_2.28 thrd_join F
> -GLIBC_2.30 sem_clockwait F
> +GLIBC_2.30 __libpthread_version_placeholder F
>  GLIBC_2.31 pthread_clockjoin_np F
>  GLIBC_2.4 _IO_flockfile F
>  GLIBC_2.4 _IO_ftrylockfile F
> diff --git a/sysdeps/unix/sysv/linux/csky/libc.abilist b/sysdeps/unix/sysv/linux/csky/libc.abilist
> index 9eaeda5d49..66dae5ded1 100644
> --- a/sysdeps/unix/sysv/linux/csky/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/csky/libc.abilist
> @@ -2193,6 +2193,7 @@ GLIBC_2.30 pthread_cond_clockwait F
>  GLIBC_2.30 pthread_mutex_clocklock F
>  GLIBC_2.30 pthread_rwlock_clockrdlock F
>  GLIBC_2.30 pthread_rwlock_clockwrlock F
> +GLIBC_2.30 sem_clockwait F
>  GLIBC_2.30 tgkill F
>  GLIBC_2.30 twalk_r F
>  GLIBC_2.32 __libc_single_threaded D 0x1
> @@ -2288,6 +2289,7 @@ GLIBC_2.34 pthread_spin_lock F
>  GLIBC_2.34 pthread_spin_trylock F
>  GLIBC_2.34 pthread_spin_unlock F
>  GLIBC_2.34 pthread_testcancel F
> +GLIBC_2.34 sem_clockwait F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> diff --git a/sysdeps/unix/sysv/linux/csky/libpthread.abilist b/sysdeps/unix/sysv/linux/csky/libpthread.abilist
> index c1e500ab59..6fd5e8061a 100644
> --- a/sysdeps/unix/sysv/linux/csky/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/csky/libpthread.abilist
> @@ -54,5 +54,5 @@ GLIBC_2.29 sem_wait F
>  GLIBC_2.29 thrd_create F
>  GLIBC_2.29 thrd_detach F
>  GLIBC_2.29 thrd_join F
> -GLIBC_2.30 sem_clockwait F
> +GLIBC_2.30 __libpthread_version_placeholder F
>  GLIBC_2.31 pthread_clockjoin_np F
> diff --git a/sysdeps/unix/sysv/linux/hppa/libc.abilist b/sysdeps/unix/sysv/linux/hppa/libc.abilist
> index 59165723ed..46875d7402 100644
> --- a/sysdeps/unix/sysv/linux/hppa/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/hppa/libc.abilist
> @@ -2144,6 +2144,7 @@ GLIBC_2.30 pthread_cond_clockwait F
>  GLIBC_2.30 pthread_mutex_clocklock F
>  GLIBC_2.30 pthread_rwlock_clockrdlock F
>  GLIBC_2.30 pthread_rwlock_clockwrlock F
> +GLIBC_2.30 sem_clockwait F
>  GLIBC_2.30 tgkill F
>  GLIBC_2.30 twalk_r F
>  GLIBC_2.32 __libc_single_threaded D 0x1
> @@ -2239,6 +2240,7 @@ GLIBC_2.34 pthread_spin_lock F
>  GLIBC_2.34 pthread_spin_trylock F
>  GLIBC_2.34 pthread_spin_unlock F
>  GLIBC_2.34 pthread_testcancel F
> +GLIBC_2.34 sem_clockwait F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> diff --git a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
> index 0d4dfb6328..c6e9eee45b 100644
> --- a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
> @@ -59,6 +59,6 @@ GLIBC_2.3.3 pthread_tryjoin_np F
>  GLIBC_2.3.4 pthread_attr_getaffinity_np F
>  GLIBC_2.3.4 pthread_setaffinity_np F
>  GLIBC_2.3.4 pthread_setschedprio F
> -GLIBC_2.30 sem_clockwait F
> +GLIBC_2.30 __libpthread_version_placeholder F
>  GLIBC_2.31 pthread_clockjoin_np F
>  GLIBC_2.4 __libpthread_version_placeholder F
> diff --git a/sysdeps/unix/sysv/linux/i386/libc.abilist b/sysdeps/unix/sysv/linux/i386/libc.abilist
> index 05c26afb65..5d8ca2e122 100644
> --- a/sysdeps/unix/sysv/linux/i386/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/i386/libc.abilist
> @@ -2319,6 +2319,7 @@ GLIBC_2.30 pthread_cond_clockwait F
>  GLIBC_2.30 pthread_mutex_clocklock F
>  GLIBC_2.30 pthread_rwlock_clockrdlock F
>  GLIBC_2.30 pthread_rwlock_clockwrlock F
> +GLIBC_2.30 sem_clockwait F
>  GLIBC_2.30 tgkill F
>  GLIBC_2.30 twalk_r F
>  GLIBC_2.32 __libc_single_threaded D 0x1
> @@ -2416,6 +2417,7 @@ GLIBC_2.34 pthread_spin_lock F
>  GLIBC_2.34 pthread_spin_trylock F
>  GLIBC_2.34 pthread_spin_unlock F
>  GLIBC_2.34 pthread_testcancel F
> +GLIBC_2.34 sem_clockwait F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> diff --git a/sysdeps/unix/sysv/linux/i386/libpthread.abilist b/sysdeps/unix/sysv/linux/i386/libpthread.abilist
> index 7b43b9309b..30bc064058 100644
> --- a/sysdeps/unix/sysv/linux/i386/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/i386/libpthread.abilist
> @@ -67,6 +67,6 @@ GLIBC_2.3.3 pthread_tryjoin_np F
>  GLIBC_2.3.4 pthread_attr_getaffinity_np F
>  GLIBC_2.3.4 pthread_setaffinity_np F
>  GLIBC_2.3.4 pthread_setschedprio F
> -GLIBC_2.30 sem_clockwait F
> +GLIBC_2.30 __libpthread_version_placeholder F
>  GLIBC_2.31 pthread_clockjoin_np F
>  GLIBC_2.4 __libpthread_version_placeholder F
> diff --git a/sysdeps/unix/sysv/linux/ia64/libc.abilist b/sysdeps/unix/sysv/linux/ia64/libc.abilist
> index 2aeb8e0be5..c14a38e14c 100644
> --- a/sysdeps/unix/sysv/linux/ia64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/ia64/libc.abilist
> @@ -2177,6 +2177,7 @@ GLIBC_2.30 pthread_cond_clockwait F
>  GLIBC_2.30 pthread_mutex_clocklock F
>  GLIBC_2.30 pthread_rwlock_clockrdlock F
>  GLIBC_2.30 pthread_rwlock_clockwrlock F
> +GLIBC_2.30 sem_clockwait F
>  GLIBC_2.30 tgkill F
>  GLIBC_2.30 twalk_r F
>  GLIBC_2.32 __libc_single_threaded D 0x1
> @@ -2273,6 +2274,7 @@ GLIBC_2.34 pthread_spin_lock F
>  GLIBC_2.34 pthread_spin_trylock F
>  GLIBC_2.34 pthread_spin_unlock F
>  GLIBC_2.34 pthread_testcancel F
> +GLIBC_2.34 sem_clockwait F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> diff --git a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
> index cef26d71d6..6f15ac3cb1 100644
> --- a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
> @@ -61,6 +61,6 @@ GLIBC_2.3.3 pthread_tryjoin_np F
>  GLIBC_2.3.4 pthread_attr_getaffinity_np F
>  GLIBC_2.3.4 pthread_setaffinity_np F
>  GLIBC_2.3.4 pthread_setschedprio F
> -GLIBC_2.30 sem_clockwait F
> +GLIBC_2.30 __libpthread_version_placeholder F
>  GLIBC_2.31 pthread_clockjoin_np F
>  GLIBC_2.4 __libpthread_version_placeholder F
> diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
> index 571c501b95..aabed7c366 100644
> --- a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
> @@ -154,6 +154,7 @@ GLIBC_2.30 pthread_cond_clockwait F
>  GLIBC_2.30 pthread_mutex_clocklock F
>  GLIBC_2.30 pthread_rwlock_clockrdlock F
>  GLIBC_2.30 pthread_rwlock_clockwrlock F
> +GLIBC_2.30 sem_clockwait F
>  GLIBC_2.30 tgkill F
>  GLIBC_2.30 twalk_r F
>  GLIBC_2.31 msgctl F
> @@ -252,6 +253,7 @@ GLIBC_2.34 pthread_spin_lock F
>  GLIBC_2.34 pthread_spin_trylock F
>  GLIBC_2.34 pthread_spin_unlock F
>  GLIBC_2.34 pthread_testcancel F
> +GLIBC_2.34 sem_clockwait F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
> index bd82a85136..e56c397379 100644
> --- a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
> @@ -6,7 +6,7 @@ GLIBC_2.18 pthread_setattr_default_np F
>  GLIBC_2.28 thrd_create F
>  GLIBC_2.28 thrd_detach F
>  GLIBC_2.28 thrd_join F
> -GLIBC_2.30 sem_clockwait F
> +GLIBC_2.30 __libpthread_version_placeholder F
>  GLIBC_2.31 pthread_clockjoin_np F
>  GLIBC_2.4 _IO_flockfile F
>  GLIBC_2.4 _IO_ftrylockfile F
> diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
> index 0404cf1749..4a3b9f25fa 100644
> --- a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
> @@ -2261,6 +2261,7 @@ GLIBC_2.30 pthread_cond_clockwait F
>  GLIBC_2.30 pthread_mutex_clocklock F
>  GLIBC_2.30 pthread_rwlock_clockrdlock F
>  GLIBC_2.30 pthread_rwlock_clockwrlock F
> +GLIBC_2.30 sem_clockwait F
>  GLIBC_2.30 tgkill F
>  GLIBC_2.30 twalk_r F
>  GLIBC_2.31 msgctl F
> @@ -2359,6 +2360,7 @@ GLIBC_2.34 pthread_spin_lock F
>  GLIBC_2.34 pthread_spin_trylock F
>  GLIBC_2.34 pthread_spin_unlock F
>  GLIBC_2.34 pthread_testcancel F
> +GLIBC_2.34 sem_clockwait F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
> index 7b43b9309b..30bc064058 100644
> --- a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
> @@ -67,6 +67,6 @@ GLIBC_2.3.3 pthread_tryjoin_np F
>  GLIBC_2.3.4 pthread_attr_getaffinity_np F
>  GLIBC_2.3.4 pthread_setaffinity_np F
>  GLIBC_2.3.4 pthread_setschedprio F
> -GLIBC_2.30 sem_clockwait F
> +GLIBC_2.30 __libpthread_version_placeholder F
>  GLIBC_2.31 pthread_clockjoin_np F
>  GLIBC_2.4 __libpthread_version_placeholder F
> diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
> index 7be131d0fc..82ac489f32 100644
> --- a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
> @@ -2241,6 +2241,7 @@ GLIBC_2.30 pthread_cond_clockwait F
>  GLIBC_2.30 pthread_mutex_clocklock F
>  GLIBC_2.30 pthread_rwlock_clockrdlock F
>  GLIBC_2.30 pthread_rwlock_clockwrlock F
> +GLIBC_2.30 sem_clockwait F
>  GLIBC_2.30 tgkill F
>  GLIBC_2.30 twalk_r F
>  GLIBC_2.31 msgctl F
> @@ -2339,6 +2340,7 @@ GLIBC_2.34 pthread_spin_lock F
>  GLIBC_2.34 pthread_spin_trylock F
>  GLIBC_2.34 pthread_spin_unlock F
>  GLIBC_2.34 pthread_testcancel F
> +GLIBC_2.34 sem_clockwait F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
> index 6bfa410c44..703310b8dd 100644
> --- a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
> @@ -54,5 +54,5 @@ GLIBC_2.18 sem_wait F
>  GLIBC_2.28 thrd_create F
>  GLIBC_2.28 thrd_detach F
>  GLIBC_2.28 thrd_join F
> -GLIBC_2.30 sem_clockwait F
> +GLIBC_2.30 __libpthread_version_placeholder F
>  GLIBC_2.31 pthread_clockjoin_np F
> diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
> index 31c157bb4a..3ec2794b5b 100644
> --- a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
> @@ -2241,6 +2241,7 @@ GLIBC_2.30 pthread_cond_clockwait F
>  GLIBC_2.30 pthread_mutex_clocklock F
>  GLIBC_2.30 pthread_rwlock_clockrdlock F
>  GLIBC_2.30 pthread_rwlock_clockwrlock F
> +GLIBC_2.30 sem_clockwait F
>  GLIBC_2.30 tgkill F
>  GLIBC_2.30 twalk_r F
>  GLIBC_2.32 __libc_single_threaded D 0x1
> @@ -2336,6 +2337,7 @@ GLIBC_2.34 pthread_spin_lock F
>  GLIBC_2.34 pthread_spin_trylock F
>  GLIBC_2.34 pthread_spin_unlock F
>  GLIBC_2.34 pthread_testcancel F
> +GLIBC_2.34 sem_clockwait F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
> index 6bfa410c44..703310b8dd 100644
> --- a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
> @@ -54,5 +54,5 @@ GLIBC_2.18 sem_wait F
>  GLIBC_2.28 thrd_create F
>  GLIBC_2.28 thrd_detach F
>  GLIBC_2.28 thrd_join F
> -GLIBC_2.30 sem_clockwait F
> +GLIBC_2.30 __libpthread_version_placeholder F
>  GLIBC_2.31 pthread_clockjoin_np F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
> index 0f6e9cbf01..ff623c22f3 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
> @@ -2227,6 +2227,7 @@ GLIBC_2.30 pthread_cond_clockwait F
>  GLIBC_2.30 pthread_mutex_clocklock F
>  GLIBC_2.30 pthread_rwlock_clockrdlock F
>  GLIBC_2.30 pthread_rwlock_clockwrlock F
> +GLIBC_2.30 sem_clockwait F
>  GLIBC_2.30 tgkill F
>  GLIBC_2.30 twalk_r F
>  GLIBC_2.32 __libc_single_threaded D 0x1
> @@ -2322,6 +2323,7 @@ GLIBC_2.34 pthread_spin_lock F
>  GLIBC_2.34 pthread_spin_trylock F
>  GLIBC_2.34 pthread_spin_unlock F
>  GLIBC_2.34 pthread_testcancel F
> +GLIBC_2.34 sem_clockwait F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
> index 83434ae1b6..8444fb5280 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
> @@ -68,6 +68,6 @@ GLIBC_2.3.3 pthread_tryjoin_np F
>  GLIBC_2.3.4 pthread_attr_getaffinity_np F
>  GLIBC_2.3.4 pthread_setaffinity_np F
>  GLIBC_2.3.4 pthread_setschedprio F
> -GLIBC_2.30 sem_clockwait F
> +GLIBC_2.30 __libpthread_version_placeholder F
>  GLIBC_2.31 pthread_clockjoin_np F
>  GLIBC_2.4 __libpthread_version_placeholder F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
> index 9fc089707f..6cecd92386 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
> @@ -2225,6 +2225,7 @@ GLIBC_2.30 pthread_cond_clockwait F
>  GLIBC_2.30 pthread_mutex_clocklock F
>  GLIBC_2.30 pthread_rwlock_clockrdlock F
>  GLIBC_2.30 pthread_rwlock_clockwrlock F
> +GLIBC_2.30 sem_clockwait F
>  GLIBC_2.30 tgkill F
>  GLIBC_2.30 twalk_r F
>  GLIBC_2.32 __libc_single_threaded D 0x1
> @@ -2320,6 +2321,7 @@ GLIBC_2.34 pthread_spin_lock F
>  GLIBC_2.34 pthread_spin_trylock F
>  GLIBC_2.34 pthread_spin_unlock F
>  GLIBC_2.34 pthread_testcancel F
> +GLIBC_2.34 sem_clockwait F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
> index 83434ae1b6..8444fb5280 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
> @@ -68,6 +68,6 @@ GLIBC_2.3.3 pthread_tryjoin_np F
>  GLIBC_2.3.4 pthread_attr_getaffinity_np F
>  GLIBC_2.3.4 pthread_setaffinity_np F
>  GLIBC_2.3.4 pthread_setschedprio F
> -GLIBC_2.30 sem_clockwait F
> +GLIBC_2.30 __libpthread_version_placeholder F
>  GLIBC_2.31 pthread_clockjoin_np F
>  GLIBC_2.4 __libpthread_version_placeholder F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
> index edb5b754bf..858fa17010 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
> @@ -2233,6 +2233,7 @@ GLIBC_2.30 pthread_cond_clockwait F
>  GLIBC_2.30 pthread_mutex_clocklock F
>  GLIBC_2.30 pthread_rwlock_clockrdlock F
>  GLIBC_2.30 pthread_rwlock_clockwrlock F
> +GLIBC_2.30 sem_clockwait F
>  GLIBC_2.30 tgkill F
>  GLIBC_2.30 twalk_r F
>  GLIBC_2.32 __libc_single_threaded D 0x1
> @@ -2328,6 +2329,7 @@ GLIBC_2.34 pthread_spin_lock F
>  GLIBC_2.34 pthread_spin_trylock F
>  GLIBC_2.34 pthread_spin_unlock F
>  GLIBC_2.34 pthread_testcancel F
> +GLIBC_2.34 sem_clockwait F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
> index a80f4d6138..5c72417ee3 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
> @@ -2227,6 +2227,7 @@ GLIBC_2.30 pthread_cond_clockwait F
>  GLIBC_2.30 pthread_mutex_clocklock F
>  GLIBC_2.30 pthread_rwlock_clockrdlock F
>  GLIBC_2.30 pthread_rwlock_clockwrlock F
> +GLIBC_2.30 sem_clockwait F
>  GLIBC_2.30 tgkill F
>  GLIBC_2.30 twalk_r F
>  GLIBC_2.32 __libc_single_threaded D 0x1
> @@ -2322,6 +2323,7 @@ GLIBC_2.34 pthread_spin_lock F
>  GLIBC_2.34 pthread_spin_trylock F
>  GLIBC_2.34 pthread_spin_unlock F
>  GLIBC_2.34 pthread_testcancel F
> +GLIBC_2.34 sem_clockwait F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> diff --git a/sysdeps/unix/sysv/linux/nios2/libc.abilist b/sysdeps/unix/sysv/linux/nios2/libc.abilist
> index ce16d91d60..b9cd5703da 100644
> --- a/sysdeps/unix/sysv/linux/nios2/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/nios2/libc.abilist
> @@ -2283,6 +2283,7 @@ GLIBC_2.30 pthread_cond_clockwait F
>  GLIBC_2.30 pthread_mutex_clocklock F
>  GLIBC_2.30 pthread_rwlock_clockrdlock F
>  GLIBC_2.30 pthread_rwlock_clockwrlock F
> +GLIBC_2.30 sem_clockwait F
>  GLIBC_2.30 tgkill F
>  GLIBC_2.30 twalk_r F
>  GLIBC_2.32 __libc_single_threaded D 0x1
> @@ -2378,6 +2379,7 @@ GLIBC_2.34 pthread_spin_lock F
>  GLIBC_2.34 pthread_spin_trylock F
>  GLIBC_2.34 pthread_spin_unlock F
>  GLIBC_2.34 pthread_testcancel F
> +GLIBC_2.34 sem_clockwait F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> diff --git a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
> index 197827a386..6e4845723f 100644
> --- a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
> @@ -54,5 +54,5 @@ GLIBC_2.21 sem_wait F
>  GLIBC_2.28 thrd_create F
>  GLIBC_2.28 thrd_detach F
>  GLIBC_2.28 thrd_join F
> -GLIBC_2.30 sem_clockwait F
> +GLIBC_2.30 __libpthread_version_placeholder F
>  GLIBC_2.31 pthread_clockjoin_np F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
> index c8478bd5d4..2384127281 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
> @@ -2291,6 +2291,7 @@ GLIBC_2.30 pthread_cond_clockwait F
>  GLIBC_2.30 pthread_mutex_clocklock F
>  GLIBC_2.30 pthread_rwlock_clockrdlock F
>  GLIBC_2.30 pthread_rwlock_clockwrlock F
> +GLIBC_2.30 sem_clockwait F
>  GLIBC_2.30 tgkill F
>  GLIBC_2.30 twalk_r F
>  GLIBC_2.32 __libc_single_threaded D 0x1
> @@ -2386,6 +2387,7 @@ GLIBC_2.34 pthread_spin_lock F
>  GLIBC_2.34 pthread_spin_trylock F
>  GLIBC_2.34 pthread_spin_unlock F
>  GLIBC_2.34 pthread_testcancel F
> +GLIBC_2.34 sem_clockwait F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
> index 79bc809cfa..2614e1e6b9 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
> @@ -67,7 +67,7 @@ GLIBC_2.3.3 pthread_tryjoin_np F
>  GLIBC_2.3.4 pthread_attr_getaffinity_np F
>  GLIBC_2.3.4 pthread_setaffinity_np F
>  GLIBC_2.3.4 pthread_setschedprio F
> -GLIBC_2.30 sem_clockwait F
> +GLIBC_2.30 __libpthread_version_placeholder F
>  GLIBC_2.31 pthread_clockjoin_np F
>  GLIBC_2.4 __libpthread_version_placeholder F
>  GLIBC_2.6 pthread_attr_setstack F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
> index 05e79162d1..ce47bd3777 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
> @@ -2324,6 +2324,7 @@ GLIBC_2.30 pthread_cond_clockwait F
>  GLIBC_2.30 pthread_mutex_clocklock F
>  GLIBC_2.30 pthread_rwlock_clockrdlock F
>  GLIBC_2.30 pthread_rwlock_clockwrlock F
> +GLIBC_2.30 sem_clockwait F
>  GLIBC_2.30 tgkill F
>  GLIBC_2.30 twalk_r F
>  GLIBC_2.32 __libc_single_threaded D 0x1
> @@ -2419,6 +2420,7 @@ GLIBC_2.34 pthread_spin_lock F
>  GLIBC_2.34 pthread_spin_trylock F
>  GLIBC_2.34 pthread_spin_unlock F
>  GLIBC_2.34 pthread_testcancel F
> +GLIBC_2.34 sem_clockwait F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
> index 8ca7a93538..1be222ec73 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
> @@ -2145,6 +2145,7 @@ GLIBC_2.30 pthread_cond_clockwait F
>  GLIBC_2.30 pthread_mutex_clocklock F
>  GLIBC_2.30 pthread_rwlock_clockrdlock F
>  GLIBC_2.30 pthread_rwlock_clockwrlock F
> +GLIBC_2.30 sem_clockwait F
>  GLIBC_2.30 tgkill F
>  GLIBC_2.30 twalk_r F
>  GLIBC_2.32 __libc_single_threaded D 0x1
> @@ -2240,6 +2241,7 @@ GLIBC_2.34 pthread_spin_lock F
>  GLIBC_2.34 pthread_spin_trylock F
>  GLIBC_2.34 pthread_spin_unlock F
>  GLIBC_2.34 pthread_testcancel F
> +GLIBC_2.34 sem_clockwait F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
> index 0c5ee381d2..af39b79df0 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
> @@ -57,7 +57,7 @@ GLIBC_2.3.3 pthread_tryjoin_np F
>  GLIBC_2.3.4 pthread_attr_getaffinity_np F
>  GLIBC_2.3.4 pthread_setaffinity_np F
>  GLIBC_2.3.4 pthread_setschedprio F
> -GLIBC_2.30 sem_clockwait F
> +GLIBC_2.30 __libpthread_version_placeholder F
>  GLIBC_2.31 pthread_clockjoin_np F
>  GLIBC_2.4 __libpthread_version_placeholder F
>  GLIBC_2.6 pthread_attr_setstack F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
> index 7c69ef778e..26de7bc08f 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
> @@ -2352,6 +2352,7 @@ GLIBC_2.30 pthread_cond_clockwait F
>  GLIBC_2.30 pthread_mutex_clocklock F
>  GLIBC_2.30 pthread_rwlock_clockrdlock F
>  GLIBC_2.30 pthread_rwlock_clockwrlock F
> +GLIBC_2.30 sem_clockwait F
>  GLIBC_2.30 tgkill F
>  GLIBC_2.30 twalk_r F
>  GLIBC_2.32 __argp_errorieee128 F
> @@ -2541,6 +2542,7 @@ GLIBC_2.34 pthread_spin_lock F
>  GLIBC_2.34 pthread_spin_trylock F
>  GLIBC_2.34 pthread_spin_unlock F
>  GLIBC_2.34 pthread_testcancel F
> +GLIBC_2.34 sem_clockwait F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
> index 839f2ff64a..0481baac9c 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
> @@ -54,5 +54,5 @@ GLIBC_2.18 pthread_setattr_default_np F
>  GLIBC_2.28 thrd_create F
>  GLIBC_2.28 thrd_detach F
>  GLIBC_2.28 thrd_join F
> -GLIBC_2.30 sem_clockwait F
> +GLIBC_2.30 __libpthread_version_placeholder F
>  GLIBC_2.31 pthread_clockjoin_np F
> diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
> index a1158f7747..423a563d6a 100644
> --- a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
> @@ -1603,6 +1603,7 @@ GLIBC_2.33 seed48 F
>  GLIBC_2.33 seed48_r F
>  GLIBC_2.33 seekdir F
>  GLIBC_2.33 select F
> +GLIBC_2.33 sem_clockwait F
>  GLIBC_2.33 semctl F
>  GLIBC_2.33 semget F
>  GLIBC_2.33 semop F
> @@ -2106,6 +2107,7 @@ GLIBC_2.34 pthread_spin_lock F
>  GLIBC_2.34 pthread_spin_trylock F
>  GLIBC_2.34 pthread_spin_unlock F
>  GLIBC_2.34 pthread_testcancel F
> +GLIBC_2.34 sem_clockwait F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
> index 94fcac028c..2c05fed5de 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_clockwait F
>  GLIBC_2.33 sem_close F
>  GLIBC_2.33 sem_destroy F
>  GLIBC_2.33 sem_getvalue F
> diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
> index 0914e4b443..04e587b23c 100644
> --- a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
> @@ -2211,6 +2211,7 @@ GLIBC_2.30 pthread_cond_clockwait F
>  GLIBC_2.30 pthread_mutex_clocklock F
>  GLIBC_2.30 pthread_rwlock_clockrdlock F
>  GLIBC_2.30 pthread_rwlock_clockwrlock F
> +GLIBC_2.30 sem_clockwait F
>  GLIBC_2.30 tgkill F
>  GLIBC_2.30 twalk_r F
>  GLIBC_2.32 __libc_single_threaded D 0x1
> @@ -2306,6 +2307,7 @@ GLIBC_2.34 pthread_spin_lock F
>  GLIBC_2.34 pthread_spin_trylock F
>  GLIBC_2.34 pthread_spin_unlock F
>  GLIBC_2.34 pthread_testcancel F
> +GLIBC_2.34 sem_clockwait F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
> index fdab0f5ab4..24c1fc45ce 100644
> --- a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
> @@ -54,5 +54,5 @@ GLIBC_2.27 sem_wait F
>  GLIBC_2.28 thrd_create F
>  GLIBC_2.28 thrd_detach F
>  GLIBC_2.28 thrd_join F
> -GLIBC_2.30 sem_clockwait F
> +GLIBC_2.30 __libpthread_version_placeholder F
>  GLIBC_2.31 pthread_clockjoin_np F
> diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
> index 9333d220ed..7b269ae840 100644
> --- a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
> @@ -2286,6 +2286,7 @@ GLIBC_2.30 pthread_cond_clockwait F
>  GLIBC_2.30 pthread_mutex_clocklock F
>  GLIBC_2.30 pthread_rwlock_clockrdlock F
>  GLIBC_2.30 pthread_rwlock_clockwrlock F
> +GLIBC_2.30 sem_clockwait F
>  GLIBC_2.30 tgkill F
>  GLIBC_2.30 twalk_r F
>  GLIBC_2.31 msgctl F
> @@ -2384,6 +2385,7 @@ GLIBC_2.34 pthread_spin_lock F
>  GLIBC_2.34 pthread_spin_trylock F
>  GLIBC_2.34 pthread_spin_unlock F
>  GLIBC_2.34 pthread_testcancel F
> +GLIBC_2.34 sem_clockwait F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
> index 911048092d..17893bf306 100644
> --- a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
> @@ -68,6 +68,6 @@ GLIBC_2.3.3 pthread_tryjoin_np F
>  GLIBC_2.3.4 pthread_attr_getaffinity_np F
>  GLIBC_2.3.4 pthread_setaffinity_np F
>  GLIBC_2.3.4 pthread_setschedprio F
> -GLIBC_2.30 sem_clockwait F
> +GLIBC_2.30 __libpthread_version_placeholder F
>  GLIBC_2.31 pthread_clockjoin_np F
>  GLIBC_2.4 __libpthread_version_placeholder F
> diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
> index 1c3b757684..c2af5d0ece 100644
> --- a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
> @@ -2182,6 +2182,7 @@ GLIBC_2.30 pthread_cond_clockwait F
>  GLIBC_2.30 pthread_mutex_clocklock F
>  GLIBC_2.30 pthread_rwlock_clockrdlock F
>  GLIBC_2.30 pthread_rwlock_clockwrlock F
> +GLIBC_2.30 sem_clockwait F
>  GLIBC_2.30 tgkill F
>  GLIBC_2.30 twalk_r F
>  GLIBC_2.32 __libc_single_threaded D 0x1
> @@ -2277,6 +2278,7 @@ GLIBC_2.34 pthread_spin_lock F
>  GLIBC_2.34 pthread_spin_trylock F
>  GLIBC_2.34 pthread_spin_unlock F
>  GLIBC_2.34 pthread_testcancel F
> +GLIBC_2.34 sem_clockwait F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
> index c5c78cb049..3f42d9dcc5 100644
> --- a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
> @@ -60,6 +60,6 @@ GLIBC_2.3.3 pthread_tryjoin_np F
>  GLIBC_2.3.4 pthread_attr_getaffinity_np F
>  GLIBC_2.3.4 pthread_setaffinity_np F
>  GLIBC_2.3.4 pthread_setschedprio F
> -GLIBC_2.30 sem_clockwait F
> +GLIBC_2.30 __libpthread_version_placeholder F
>  GLIBC_2.31 pthread_clockjoin_np F
>  GLIBC_2.4 __libpthread_version_placeholder F
> diff --git a/sysdeps/unix/sysv/linux/sh/be/libc.abilist b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
> index 66be9c89c9..00ea530f98 100644
> --- a/sysdeps/unix/sysv/linux/sh/be/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
> @@ -2148,6 +2148,7 @@ GLIBC_2.30 pthread_cond_clockwait F
>  GLIBC_2.30 pthread_mutex_clocklock F
>  GLIBC_2.30 pthread_rwlock_clockrdlock F
>  GLIBC_2.30 pthread_rwlock_clockwrlock F
> +GLIBC_2.30 sem_clockwait F
>  GLIBC_2.30 tgkill F
>  GLIBC_2.30 twalk_r F
>  GLIBC_2.31 msgctl F
> @@ -2246,6 +2247,7 @@ GLIBC_2.34 pthread_spin_lock F
>  GLIBC_2.34 pthread_spin_trylock F
>  GLIBC_2.34 pthread_spin_unlock F
>  GLIBC_2.34 pthread_testcancel F
> +GLIBC_2.34 sem_clockwait F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> diff --git a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
> index 0d4dfb6328..c6e9eee45b 100644
> --- a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
> @@ -59,6 +59,6 @@ GLIBC_2.3.3 pthread_tryjoin_np F
>  GLIBC_2.3.4 pthread_attr_getaffinity_np F
>  GLIBC_2.3.4 pthread_setaffinity_np F
>  GLIBC_2.3.4 pthread_setschedprio F
> -GLIBC_2.30 sem_clockwait F
> +GLIBC_2.30 __libpthread_version_placeholder F
>  GLIBC_2.31 pthread_clockjoin_np F
>  GLIBC_2.4 __libpthread_version_placeholder F
> diff --git a/sysdeps/unix/sysv/linux/sh/le/libc.abilist b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
> index fb0fed082f..ea92a1c366 100644
> --- a/sysdeps/unix/sysv/linux/sh/le/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
> @@ -2148,6 +2148,7 @@ GLIBC_2.30 pthread_cond_clockwait F
>  GLIBC_2.30 pthread_mutex_clocklock F
>  GLIBC_2.30 pthread_rwlock_clockrdlock F
>  GLIBC_2.30 pthread_rwlock_clockwrlock F
> +GLIBC_2.30 sem_clockwait F
>  GLIBC_2.30 tgkill F
>  GLIBC_2.30 twalk_r F
>  GLIBC_2.32 __libc_single_threaded D 0x1
> @@ -2243,6 +2244,7 @@ GLIBC_2.34 pthread_spin_lock F
>  GLIBC_2.34 pthread_spin_trylock F
>  GLIBC_2.34 pthread_spin_unlock F
>  GLIBC_2.34 pthread_testcancel F
> +GLIBC_2.34 sem_clockwait F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> diff --git a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
> index 0d4dfb6328..c6e9eee45b 100644
> --- a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
> @@ -59,6 +59,6 @@ GLIBC_2.3.3 pthread_tryjoin_np F
>  GLIBC_2.3.4 pthread_attr_getaffinity_np F
>  GLIBC_2.3.4 pthread_setaffinity_np F
>  GLIBC_2.3.4 pthread_setschedprio F
> -GLIBC_2.30 sem_clockwait F
> +GLIBC_2.30 __libpthread_version_placeholder F
>  GLIBC_2.31 pthread_clockjoin_np F
>  GLIBC_2.4 __libpthread_version_placeholder F
> diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
> index 37c3cf105f..f0d5866658 100644
> --- a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
> @@ -2280,6 +2280,7 @@ GLIBC_2.30 pthread_cond_clockwait F
>  GLIBC_2.30 pthread_mutex_clocklock F
>  GLIBC_2.30 pthread_rwlock_clockrdlock F
>  GLIBC_2.30 pthread_rwlock_clockwrlock F
> +GLIBC_2.30 sem_clockwait F
>  GLIBC_2.30 tgkill F
>  GLIBC_2.30 twalk_r F
>  GLIBC_2.32 __libc_single_threaded D 0x1
> @@ -2375,6 +2376,7 @@ GLIBC_2.34 pthread_spin_lock F
>  GLIBC_2.34 pthread_spin_trylock F
>  GLIBC_2.34 pthread_spin_unlock F
>  GLIBC_2.34 pthread_testcancel F
> +GLIBC_2.34 sem_clockwait F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
> index 2633a1c816..86b15ad0d7 100644
> --- a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
> @@ -69,6 +69,6 @@ GLIBC_2.3.3 pthread_tryjoin_np F
>  GLIBC_2.3.4 pthread_attr_getaffinity_np F
>  GLIBC_2.3.4 pthread_setaffinity_np F
>  GLIBC_2.3.4 pthread_setschedprio F
> -GLIBC_2.30 sem_clockwait F
> +GLIBC_2.30 __libpthread_version_placeholder F
>  GLIBC_2.31 pthread_clockjoin_np F
>  GLIBC_2.4 __libpthread_version_placeholder F
> diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
> index 80f79eb731..da0c9e1e86 100644
> --- a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
> @@ -2199,6 +2199,7 @@ GLIBC_2.30 pthread_cond_clockwait F
>  GLIBC_2.30 pthread_mutex_clocklock F
>  GLIBC_2.30 pthread_rwlock_clockrdlock F
>  GLIBC_2.30 pthread_rwlock_clockwrlock F
> +GLIBC_2.30 sem_clockwait F
>  GLIBC_2.30 tgkill F
>  GLIBC_2.30 twalk_r F
>  GLIBC_2.32 __libc_single_threaded D 0x1
> @@ -2294,6 +2295,7 @@ GLIBC_2.34 pthread_spin_lock F
>  GLIBC_2.34 pthread_spin_trylock F
>  GLIBC_2.34 pthread_spin_unlock F
>  GLIBC_2.34 pthread_testcancel F
> +GLIBC_2.34 sem_clockwait F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
> index cef26d71d6..6f15ac3cb1 100644
> --- a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
> @@ -61,6 +61,6 @@ GLIBC_2.3.3 pthread_tryjoin_np F
>  GLIBC_2.3.4 pthread_attr_getaffinity_np F
>  GLIBC_2.3.4 pthread_setaffinity_np F
>  GLIBC_2.3.4 pthread_setschedprio F
> -GLIBC_2.30 sem_clockwait F
> +GLIBC_2.30 __libpthread_version_placeholder F
>  GLIBC_2.31 pthread_clockjoin_np F
>  GLIBC_2.4 __libpthread_version_placeholder F
> diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
> index a743156f26..33b4b7a121 100644
> --- a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
> @@ -2158,6 +2158,7 @@ GLIBC_2.30 pthread_cond_clockwait F
>  GLIBC_2.30 pthread_mutex_clocklock F
>  GLIBC_2.30 pthread_rwlock_clockrdlock F
>  GLIBC_2.30 pthread_rwlock_clockwrlock F
> +GLIBC_2.30 sem_clockwait F
>  GLIBC_2.30 tgkill F
>  GLIBC_2.30 twalk_r F
>  GLIBC_2.32 __libc_single_threaded D 0x1
> @@ -2255,6 +2256,7 @@ GLIBC_2.34 pthread_spin_lock F
>  GLIBC_2.34 pthread_spin_trylock F
>  GLIBC_2.34 pthread_spin_unlock F
>  GLIBC_2.34 pthread_testcancel F
> +GLIBC_2.34 sem_clockwait F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
> index 000cf018c7..3516798f9a 100644
> --- a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
> @@ -58,6 +58,6 @@ GLIBC_2.3.3 pthread_tryjoin_np F
>  GLIBC_2.3.4 pthread_attr_getaffinity_np F
>  GLIBC_2.3.4 pthread_setaffinity_np F
>  GLIBC_2.3.4 pthread_setschedprio F
> -GLIBC_2.30 sem_clockwait F
> +GLIBC_2.30 __libpthread_version_placeholder F
>  GLIBC_2.31 pthread_clockjoin_np F
>  GLIBC_2.4 __libpthread_version_placeholder F
> diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
> index 828c2f922b..0a1215efeb 100644
> --- a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
> @@ -2263,6 +2263,7 @@ GLIBC_2.30 pthread_cond_clockwait F
>  GLIBC_2.30 pthread_mutex_clocklock F
>  GLIBC_2.30 pthread_rwlock_clockrdlock F
>  GLIBC_2.30 pthread_rwlock_clockwrlock F
> +GLIBC_2.30 sem_clockwait F
>  GLIBC_2.30 tgkill F
>  GLIBC_2.30 twalk_r F
>  GLIBC_2.32 __libc_single_threaded D 0x1
> @@ -2360,6 +2361,7 @@ GLIBC_2.34 pthread_spin_lock F
>  GLIBC_2.34 pthread_spin_trylock F
>  GLIBC_2.34 pthread_spin_unlock F
>  GLIBC_2.34 pthread_testcancel F
> +GLIBC_2.34 sem_clockwait F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
> index 068065e40c..b2c9bca89c 100644
> --- a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
> @@ -54,5 +54,5 @@ GLIBC_2.18 pthread_setattr_default_np F
>  GLIBC_2.28 thrd_create F
>  GLIBC_2.28 thrd_detach F
>  GLIBC_2.28 thrd_join F
> -GLIBC_2.30 sem_clockwait F
> +GLIBC_2.30 __libpthread_version_placeholder F
>  GLIBC_2.31 pthread_clockjoin_np F
> 

^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [PATCH 04/11] nptl: Move sem_close, sem_open into libc
  2021-05-03 13:51 ` [PATCH 04/11] nptl: Move sem_close, sem_open " Florian Weimer
@ 2021-05-05 14:33   ` Adhemerval Zanella
  2021-05-05 15:30     ` Florian Weimer
  0 siblings, 1 reply; 24+ messages in thread
From: Adhemerval Zanella @ 2021-05-05 14:33 UTC (permalink / raw)
  To: libc-alpha, Florian Weimer



On 03/05/2021 10:51, Florian Weimer via Libc-alpha wrote:
> The symbols were moved using move-symbol-to-libc.py.
> 
> Both functions are moved at the same time because they depend
> on internal functions in sysdeps/pthread/sem_routines.c, which
> are moved in this commit as well.  Additional hidden prototypes
> are required to avoid check-localplt failures.

LGTM, with some small nits below.

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

> ---
>  include/shm-directory.h                       |  1 +
>  include/stdlib.h                              |  1 +
>  misc/mktemp.c                                 |  1 +
>  nptl/Makefile                                 |  6 +--
>  nptl/Versions                                 |  8 +++-
>  posix/shm-directory.c                         |  1 +
>  sysdeps/pthread/sem_close.c                   | 10 ++++-
>  sysdeps/pthread/sem_open.c                    | 40 +++++++++++++------
>  sysdeps/pthread/sem_routines.c                | 10 ++---
>  sysdeps/unix/sysv/linux/aarch64/libc.abilist  |  4 ++
>  .../sysv/linux/aarch64/libpthread.abilist     |  2 -
>  sysdeps/unix/sysv/linux/alpha/libc.abilist    |  4 ++
>  .../unix/sysv/linux/alpha/libpthread.abilist  |  2 -
>  sysdeps/unix/sysv/linux/arc/libc.abilist      |  4 ++
>  .../unix/sysv/linux/arc/libpthread.abilist    |  2 -
>  sysdeps/unix/sysv/linux/arm/be/libc.abilist   |  4 ++
>  .../unix/sysv/linux/arm/be/libpthread.abilist |  2 -
>  sysdeps/unix/sysv/linux/arm/le/libc.abilist   |  4 ++
>  .../unix/sysv/linux/arm/le/libpthread.abilist |  2 -
>  sysdeps/unix/sysv/linux/csky/libc.abilist     |  4 ++
>  .../unix/sysv/linux/csky/libpthread.abilist   |  2 -
>  sysdeps/unix/sysv/linux/hppa/libc.abilist     |  4 ++
>  .../unix/sysv/linux/hppa/libpthread.abilist   |  2 -
>  sysdeps/unix/sysv/linux/i386/libc.abilist     |  4 ++
>  .../unix/sysv/linux/i386/libpthread.abilist   |  2 -
>  sysdeps/unix/sysv/linux/ia64/libc.abilist     |  4 ++
>  .../unix/sysv/linux/ia64/libpthread.abilist   |  2 -
>  .../sysv/linux/m68k/coldfire/libc.abilist     |  4 ++
>  .../linux/m68k/coldfire/libpthread.abilist    |  2 -
>  .../unix/sysv/linux/m68k/m680x0/libc.abilist  |  4 ++
>  .../sysv/linux/m68k/m680x0/libpthread.abilist |  2 -
>  .../sysv/linux/microblaze/be/libc.abilist     |  4 ++
>  .../linux/microblaze/be/libpthread.abilist    |  2 -
>  .../sysv/linux/microblaze/le/libc.abilist     |  4 ++
>  .../linux/microblaze/le/libpthread.abilist    |  2 -
>  .../sysv/linux/mips/mips32/fpu/libc.abilist   |  4 ++
>  .../sysv/linux/mips/mips32/libpthread.abilist |  2 -
>  .../sysv/linux/mips/mips32/nofpu/libc.abilist |  4 ++
>  .../sysv/linux/mips/mips64/libpthread.abilist |  2 -
>  .../sysv/linux/mips/mips64/n32/libc.abilist   |  4 ++
>  .../sysv/linux/mips/mips64/n64/libc.abilist   |  4 ++
>  sysdeps/unix/sysv/linux/nios2/libc.abilist    |  4 ++
>  .../unix/sysv/linux/nios2/libpthread.abilist  |  2 -
>  .../linux/powerpc/powerpc32/fpu/libc.abilist  |  4 ++
>  .../powerpc/powerpc32/libpthread.abilist      |  2 -
>  .../powerpc/powerpc32/nofpu/libc.abilist      |  4 ++
>  .../linux/powerpc/powerpc64/be/libc.abilist   |  4 ++
>  .../powerpc/powerpc64/be/libpthread.abilist   |  2 -
>  .../linux/powerpc/powerpc64/le/libc.abilist   |  4 ++
>  .../powerpc/powerpc64/le/libpthread.abilist   |  2 -
>  .../unix/sysv/linux/riscv/rv32/libc.abilist   |  4 ++
>  .../sysv/linux/riscv/rv32/libpthread.abilist  |  2 -
>  .../unix/sysv/linux/riscv/rv64/libc.abilist   |  4 ++
>  .../sysv/linux/riscv/rv64/libpthread.abilist  |  2 -
>  .../unix/sysv/linux/s390/s390-32/libc.abilist |  4 ++
>  .../linux/s390/s390-32/libpthread.abilist     |  2 -
>  .../unix/sysv/linux/s390/s390-64/libc.abilist |  4 ++
>  .../linux/s390/s390-64/libpthread.abilist     |  2 -
>  sysdeps/unix/sysv/linux/sh/be/libc.abilist    |  4 ++
>  .../unix/sysv/linux/sh/be/libpthread.abilist  |  2 -
>  sysdeps/unix/sysv/linux/sh/le/libc.abilist    |  4 ++
>  .../unix/sysv/linux/sh/le/libpthread.abilist  |  2 -
>  .../sysv/linux/sparc/sparc32/libc.abilist     |  4 ++
>  .../linux/sparc/sparc32/libpthread.abilist    |  2 -
>  .../sysv/linux/sparc/sparc64/libc.abilist     |  4 ++
>  .../linux/sparc/sparc64/libpthread.abilist    |  2 -
>  .../unix/sysv/linux/x86_64/64/libc.abilist    |  4 ++
>  .../sysv/linux/x86_64/64/libpthread.abilist   |  2 -
>  .../unix/sysv/linux/x86_64/x32/libc.abilist   |  4 ++
>  .../sysv/linux/x86_64/x32/libpthread.abilist  |  2 -
>  70 files changed, 182 insertions(+), 82 deletions(-)
> 
> diff --git a/include/shm-directory.h b/include/shm-directory.h
> index 1d3ffb6137..25e9484a5d 100644
> --- a/include/shm-directory.h
> +++ b/include/shm-directory.h
> @@ -37,5 +37,6 @@ struct shmdir_name
>     SEM_PREFIX is true.  */
>  int __shm_get_name (struct shmdir_name *result, const char *name,
>  		    bool sem_prefix);
> +libc_hidden_proto (__shm_get_name)
>  
>  #endif  /* shm-directory.h */
> diff --git a/include/stdlib.h b/include/stdlib.h
> index cdbdbf310d..e2453c1896 100644
> --- a/include/stdlib.h
> +++ b/include/stdlib.h
> @@ -91,6 +91,7 @@ extern int __setenv (const char *__name, const char *__value, int __replace)
>  extern int __unsetenv (const char *__name) attribute_hidden;
>  extern int __clearenv (void) attribute_hidden;
>  extern char *__mktemp (char *__template) __THROW __nonnull ((1));
> +libc_hidden_proto (__mktemp)
>  extern char *__canonicalize_file_name (const char *__name);
>  extern char *__realpath (const char *__name, char *__resolved);
>  libc_hidden_proto (__realpath)
> diff --git a/misc/mktemp.c b/misc/mktemp.c
> index 92bb121ddf..07f195f845 100644
> --- a/misc/mktemp.c
> +++ b/misc/mktemp.c
> @@ -30,6 +30,7 @@ __mktemp (char *template)
>  
>    return template;
>  }
> +libc_hidden_def (__mktemp)
>  weak_alias (__mktemp, mktemp)
>  
>  link_warning (mktemp, "the use of `mktemp' is dangerous, "
> diff --git a/nptl/Makefile b/nptl/Makefile
> index 66fd90049e..ab24222c1d 100644
> --- a/nptl/Makefile
> +++ b/nptl/Makefile
> @@ -151,6 +151,9 @@ routines = \
>    pthread_testcancel \
>    pthread_yield \
>    sem_clockwait \
> +  sem_close \
> +  sem_open \
> +  sem_routines \
>    tpp \
>    unwind \
>  
> @@ -202,13 +205,10 @@ libpthread-routines = \
>    pthread_sigqueue \
>    pthread_timedjoin \
>    pthread_tryjoin \
> -  sem_close \
>    sem_destroy \
>    sem_getvalue \
>    sem_init \
> -  sem_open \
>    sem_post \
> -  sem_routines \
>    sem_timedwait \
>    sem_unlink \
>    sem_wait \
> diff --git a/nptl/Versions b/nptl/Versions
> index 97567b6354..4a9e5a0305 100644
> --- a/nptl/Versions
> +++ b/nptl/Versions
> @@ -81,6 +81,10 @@ libc {
>      pthread_rwlockattr_setkind_np;
>      pthread_rwlockattr_setpshared;
>    }
> +  GLIBC_2.1.1 {
> +    sem_close;
> +    sem_open;
> +  }
>    GLIBC_2.2 {
>      __pthread_rwlock_destroy;
>      __pthread_rwlock_init;
> @@ -249,6 +253,8 @@ libc {
>      pthread_spin_unlock;
>      pthread_testcancel;
>      sem_clockwait;
> +    sem_close;
> +    sem_open;
>      thrd_exit;
>      tss_create;
>      tss_delete;
> @@ -341,8 +347,6 @@ libpthread {
>    }
>  
>    GLIBC_2.1.1 {
> -    sem_close;
> -    sem_open;
>      sem_unlink;
>    }
>  
> diff --git a/posix/shm-directory.c b/posix/shm-directory.c
> index c06bf96aa7..5dd640ebd0 100644
> --- a/posix/shm-directory.c
> +++ b/posix/shm-directory.c
> @@ -42,5 +42,6 @@ __shm_get_name (struct shmdir_name *result, const char *name, bool sem_prefix)
>      return -1;
>    return 0;
>  }
> +libc_hidden_def (__shm_get_name)
>  
>  #endif
> diff --git a/sysdeps/pthread/sem_close.c b/sysdeps/pthread/sem_close.c
> index 6649196cac..212848f745 100644
> --- a/sysdeps/pthread/sem_close.c
> +++ b/sysdeps/pthread/sem_close.c
> @@ -21,7 +21,7 @@
>  #include <sem_routines.h>
>  
>  int
> -sem_close (sem_t *sem)
> +__sem_close (sem_t *sem)
>  {
>    if (!__sem_remove_mapping (sem))
>      {
> @@ -31,3 +31,11 @@ sem_close (sem_t *sem)
>  
>    return 0;
>  }
> +#if PTHREAD_IN_LIBC
> +versioned_symbol (libc, __sem_close, sem_close, GLIBC_2_34);
> +# if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_1_1, GLIBC_2_34)
> +compat_symbol (libpthread, __sem_close, sem_close, GLIBC_2_1_1);
> +# endif
> +#else /* !PTHREAD_IN_LIBC */
> +strong_alias (__sem_close, sem_close)
> +#endif
> diff --git a/sysdeps/pthread/sem_open.c b/sysdeps/pthread/sem_open.c
> index 0265abc45b..0185659fb9 100644
> --- a/sysdeps/pthread/sem_open.c
> +++ b/sysdeps/pthread/sem_open.c
> @@ -27,8 +27,14 @@
>  #include <futex-internal.h>
>  #include <libc-lock.h>
>  
> +#if !PTHREAD_IN_LIBC
> +/* The private names are not exported from libc.  */
> +# define __link link
> +# define __unlink unlink
> +#endif
> +
>  sem_t *
> -sem_open (const char *name, int oflag, ...)
> +__sem_open (const char *name, int oflag, ...)
>  {
>    int fd;
>    sem_t *result;
> @@ -59,8 +65,8 @@ sem_open (const char *name, int oflag, ...)
>    if ((oflag & O_CREAT) == 0 || (oflag & O_EXCL) == 0)
>      {
>      try_again:
> -      fd = open (dirname.name,
> -		 (oflag & ~(O_CREAT|O_ACCMODE)) | O_NOFOLLOW | O_RDWR);
> +      fd = __open (dirname.name,
> +		   (oflag & ~(O_CREAT|O_ACCMODE)) | O_NOFOLLOW | O_RDWR);
>  
>        if (fd == -1)
>  	{
> @@ -127,7 +133,7 @@ sem_open (const char *name, int oflag, ...)
>  	    }
>  
>  	  /* Open the file.  Make sure we do not overwrite anything.  */
> -	  fd = open (tmpfname, O_RDWR | O_CREAT | O_EXCL, mode);
> +	  fd = __open (tmpfname, O_RDWR | O_CREAT | O_EXCL, mode);
>  	  if (fd == -1)
>  	    {
>  	      if (errno == EEXIST)
> @@ -154,15 +160,15 @@ sem_open (const char *name, int oflag, ...)
>        if (TEMP_FAILURE_RETRY (write (fd, &sem.initsem, sizeof (sem_t)))
>  	  == sizeof (sem_t)
>  	  /* Map the sem_t structure from the file.  */
> -	  && (result = (sem_t *) mmap (NULL, sizeof (sem_t),
> -				       PROT_READ | PROT_WRITE, MAP_SHARED,
> -				       fd, 0)) != MAP_FAILED)
> +	  && (result = (sem_t *) __mmap (NULL, sizeof (sem_t),
> +					 PROT_READ | PROT_WRITE, MAP_SHARED,
> +					 fd, 0)) != MAP_FAILED)
>  	{
>  	  /* Create the file.  Don't overwrite an existing file.  */
> -	  if (link (tmpfname, dirname.name) != 0)
> +	  if (__link (tmpfname, dirname.name) != 0)
>  	    {
>  	      /* Undo the mapping.  */
> -	      (void) munmap (result, sizeof (sem_t));
> +	      (void) __munmap (result, sizeof (sem_t));
>  

No need to keep the warning supression cast here.

>  	      /* Reinitialize 'result'.  */
>  	      result = SEM_FAILED;
> @@ -172,10 +178,10 @@ sem_open (const char *name, int oflag, ...)
>  	      if ((oflag & O_EXCL) == 0 && errno == EEXIST)
>  		{
>  		  /* Remove the file.  */
> -		  (void) unlink (tmpfname);
> +		  (void) __unlink (tmpfname);

Same as before.

>  
>  		  /* Close the file.  */
> -		  close (fd);
> +		  __close (fd);
>  
>  		  goto try_again;
>  		}
> @@ -189,7 +195,7 @@ sem_open (const char *name, int oflag, ...)
>  
>        /* Now remove the temporary name.  This should never fail.  If
>  	 it fails we leak a file name.  Better fix the kernel.  */
> -      (void) unlink (tmpfname);
> +      (void) __unlink (tmpfname);
>      }
>  

Same as before.

>    /* Map the mmap error to the error we need.  */
> @@ -201,7 +207,7 @@ sem_open (const char *name, int oflag, ...)
>      {
>        /* Do not disturb errno.  */
>        int save = errno;
> -      close (fd);
> +      __close (fd);
>        errno = save;
>      }
>  
> @@ -212,3 +218,11 @@ out:
>  
>    return result;
>  }
> +#if PTHREAD_IN_LIBC
> +versioned_symbol (libc, __sem_open, sem_open, GLIBC_2_34);
> +# if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_1_1, GLIBC_2_34)
> +compat_symbol (libpthread, __sem_open, sem_open, GLIBC_2_1_1);
> +# endif
> +#else /* !PTHREAD_IN_LIBC */
> +strong_alias (__sem_open, sem_open)
> +#endif
> diff --git a/sysdeps/pthread/sem_routines.c b/sysdeps/pthread/sem_routines.c
> index 34e6410729..9a78dab5d3 100644
> --- a/sysdeps/pthread/sem_routines.c
> +++ b/sysdeps/pthread/sem_routines.c
> @@ -106,9 +106,9 @@ __sem_check_add_mapping (const char *name, int fd, sem_t *existing)
>  	    {
>  	      /* If the caller hasn't provided any map it now.  */
>  	      if (existing == SEM_FAILED)
> -		existing = (sem_t *) mmap (NULL, sizeof (sem_t),
> -					   PROT_READ | PROT_WRITE, MAP_SHARED,
> -					   fd, 0);
> +		existing = (sem_t *) __mmap (NULL, sizeof (sem_t),
> +					     PROT_READ | PROT_WRITE,
> +					     MAP_SHARED, fd, 0);
>  
>  	      newp->dev = st.st_dev;
>  	      newp->ino = st.st_ino;
> @@ -136,7 +136,7 @@ __sem_check_add_mapping (const char *name, int fd, sem_t *existing)
>      {
>        /* Do not disturb errno.  */
>        int save = errno;
> -      munmap (existing, sizeof (sem_t));
> +      __munmap (existing, sizeof (sem_t));
>        errno = save;
>      }
>  
> @@ -183,7 +183,7 @@ __sem_remove_mapping (sem_t *sem)
>  	  /* Remove the record from the tree.  */
>  	  __tdelete (rec, &sem_mappings, sem_search);
>  
> -	  if (munmap (rec->sem, sizeof (sem_t)) == -1)
> +	  if (__munmap (rec->sem, sizeof (sem_t)) == -1)
>  	    ret = false;
>  
>  	  free (rec);
> diff --git a/sysdeps/unix/sysv/linux/aarch64/libc.abilist b/sysdeps/unix/sysv/linux/aarch64/libc.abilist
> index 0f54f3fa7a..26d440e487 100644
> --- a/sysdeps/unix/sysv/linux/aarch64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/aarch64/libc.abilist
> @@ -1660,6 +1660,8 @@ GLIBC_2.17 seed48 F
>  GLIBC_2.17 seed48_r F
>  GLIBC_2.17 seekdir F
>  GLIBC_2.17 select F
> +GLIBC_2.17 sem_close F
> +GLIBC_2.17 sem_open F
>  GLIBC_2.17 semctl F
>  GLIBC_2.17 semget F
>  GLIBC_2.17 semop F
> @@ -2347,6 +2349,8 @@ GLIBC_2.34 pthread_spin_trylock F
>  GLIBC_2.34 pthread_spin_unlock F
>  GLIBC_2.34 pthread_testcancel F
>  GLIBC_2.34 sem_clockwait F
> +GLIBC_2.34 sem_close F
> +GLIBC_2.34 sem_open F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> diff --git a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
> index 0481baac9c..f8dc604dfa 100644
> --- a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
> @@ -39,11 +39,9 @@ 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_close F
>  GLIBC_2.17 sem_destroy F
>  GLIBC_2.17 sem_getvalue F
>  GLIBC_2.17 sem_init F
> -GLIBC_2.17 sem_open F
>  GLIBC_2.17 sem_post F
>  GLIBC_2.17 sem_timedwait F
>  GLIBC_2.17 sem_trywait F
> diff --git a/sysdeps/unix/sysv/linux/alpha/libc.abilist b/sysdeps/unix/sysv/linux/alpha/libc.abilist
> index c0d38ccd38..cef9391d34 100644
> --- a/sysdeps/unix/sysv/linux/alpha/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/alpha/libc.abilist
> @@ -1721,6 +1721,8 @@ GLIBC_2.1.1 getutmp F
>  GLIBC_2.1.1 getutmpx F
>  GLIBC_2.1.1 imaxabs F
>  GLIBC_2.1.1 imaxdiv F
> +GLIBC_2.1.1 sem_close F
> +GLIBC_2.1.1 sem_open F
>  GLIBC_2.1.1 strchrnul F
>  GLIBC_2.1.1 xdr_hyper F
>  GLIBC_2.1.1 xdr_int64_t F
> @@ -2428,6 +2430,8 @@ GLIBC_2.34 pthread_spin_trylock F
>  GLIBC_2.34 pthread_spin_unlock F
>  GLIBC_2.34 pthread_testcancel F
>  GLIBC_2.34 sem_clockwait F
> +GLIBC_2.34 sem_close F
> +GLIBC_2.34 sem_open F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> diff --git a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
> index 86b15ad0d7..8cc7e9bc57 100644
> --- a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
> @@ -30,8 +30,6 @@ GLIBC_2.1 sem_init F
>  GLIBC_2.1 sem_post F
>  GLIBC_2.1 sem_trywait F
>  GLIBC_2.1 sem_wait F
> -GLIBC_2.1.1 sem_close F
> -GLIBC_2.1.1 sem_open F
>  GLIBC_2.1.1 sem_unlink F
>  GLIBC_2.1.2 __libpthread_version_placeholder F
>  GLIBC_2.11 pthread_sigqueue F
> diff --git a/sysdeps/unix/sysv/linux/arc/libc.abilist b/sysdeps/unix/sysv/linux/arc/libc.abilist
> index 79fad165e1..a9d30544f3 100644
> --- a/sysdeps/unix/sysv/linux/arc/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/arc/libc.abilist
> @@ -1602,6 +1602,8 @@ GLIBC_2.32 seed48_r F
>  GLIBC_2.32 seekdir F
>  GLIBC_2.32 select F
>  GLIBC_2.32 sem_clockwait F
> +GLIBC_2.32 sem_close F
> +GLIBC_2.32 sem_open F
>  GLIBC_2.32 semctl F
>  GLIBC_2.32 semget F
>  GLIBC_2.32 semop F
> @@ -2106,6 +2108,8 @@ GLIBC_2.34 pthread_spin_trylock F
>  GLIBC_2.34 pthread_spin_unlock F
>  GLIBC_2.34 pthread_testcancel F
>  GLIBC_2.34 sem_clockwait F
> +GLIBC_2.34 sem_close F
> +GLIBC_2.34 sem_open F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> diff --git a/sysdeps/unix/sysv/linux/arc/libpthread.abilist b/sysdeps/unix/sysv/linux/arc/libpthread.abilist
> index f9bb47a3c5..9032472f97 100644
> --- a/sysdeps/unix/sysv/linux/arc/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/arc/libpthread.abilist
> @@ -42,11 +42,9 @@ 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_close F
>  GLIBC_2.32 sem_destroy F
>  GLIBC_2.32 sem_getvalue F
>  GLIBC_2.32 sem_init F
> -GLIBC_2.32 sem_open F
>  GLIBC_2.32 sem_post F
>  GLIBC_2.32 sem_timedwait F
>  GLIBC_2.32 sem_trywait F
> diff --git a/sysdeps/unix/sysv/linux/arm/be/libc.abilist b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
> index 38cddc482a..637c85823b 100644
> --- a/sysdeps/unix/sysv/linux/arm/be/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
> @@ -253,6 +253,8 @@ GLIBC_2.34 pthread_spin_trylock F
>  GLIBC_2.34 pthread_spin_unlock F
>  GLIBC_2.34 pthread_testcancel F
>  GLIBC_2.34 sem_clockwait F
> +GLIBC_2.34 sem_close F
> +GLIBC_2.34 sem_open F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> @@ -1838,6 +1840,8 @@ GLIBC_2.4 seed48 F
>  GLIBC_2.4 seed48_r F
>  GLIBC_2.4 seekdir F
>  GLIBC_2.4 select F
> +GLIBC_2.4 sem_close F
> +GLIBC_2.4 sem_open F
>  GLIBC_2.4 semctl F
>  GLIBC_2.4 semget F
>  GLIBC_2.4 semop F
> diff --git a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
> index e56c397379..4a8b77148b 100644
> --- a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
> @@ -47,11 +47,9 @@ 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_close F
>  GLIBC_2.4 sem_destroy F
>  GLIBC_2.4 sem_getvalue F
>  GLIBC_2.4 sem_init F
> -GLIBC_2.4 sem_open F
>  GLIBC_2.4 sem_post F
>  GLIBC_2.4 sem_timedwait F
>  GLIBC_2.4 sem_trywait F
> diff --git a/sysdeps/unix/sysv/linux/arm/le/libc.abilist b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
> index 78ae8c3907..c2d82d24c3 100644
> --- a/sysdeps/unix/sysv/linux/arm/le/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
> @@ -250,6 +250,8 @@ GLIBC_2.34 pthread_spin_trylock F
>  GLIBC_2.34 pthread_spin_unlock F
>  GLIBC_2.34 pthread_testcancel F
>  GLIBC_2.34 sem_clockwait F
> +GLIBC_2.34 sem_close F
> +GLIBC_2.34 sem_open F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> @@ -1835,6 +1837,8 @@ GLIBC_2.4 seed48 F
>  GLIBC_2.4 seed48_r F
>  GLIBC_2.4 seekdir F
>  GLIBC_2.4 select F
> +GLIBC_2.4 sem_close F
> +GLIBC_2.4 sem_open F
>  GLIBC_2.4 semctl F
>  GLIBC_2.4 semget F
>  GLIBC_2.4 semop F
> diff --git a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
> index e56c397379..4a8b77148b 100644
> --- a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
> @@ -47,11 +47,9 @@ 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_close F
>  GLIBC_2.4 sem_destroy F
>  GLIBC_2.4 sem_getvalue F
>  GLIBC_2.4 sem_init F
> -GLIBC_2.4 sem_open F
>  GLIBC_2.4 sem_post F
>  GLIBC_2.4 sem_timedwait F
>  GLIBC_2.4 sem_trywait F
> diff --git a/sysdeps/unix/sysv/linux/csky/libc.abilist b/sysdeps/unix/sysv/linux/csky/libc.abilist
> index 66dae5ded1..de4c614097 100644
> --- a/sysdeps/unix/sysv/linux/csky/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/csky/libc.abilist
> @@ -1663,6 +1663,8 @@ GLIBC_2.29 seed48 F
>  GLIBC_2.29 seed48_r F
>  GLIBC_2.29 seekdir F
>  GLIBC_2.29 select F
> +GLIBC_2.29 sem_close F
> +GLIBC_2.29 sem_open F
>  GLIBC_2.29 semctl F
>  GLIBC_2.29 semget F
>  GLIBC_2.29 semop F
> @@ -2290,6 +2292,8 @@ GLIBC_2.34 pthread_spin_trylock F
>  GLIBC_2.34 pthread_spin_unlock F
>  GLIBC_2.34 pthread_testcancel F
>  GLIBC_2.34 sem_clockwait F
> +GLIBC_2.34 sem_close F
> +GLIBC_2.34 sem_open F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> diff --git a/sysdeps/unix/sysv/linux/csky/libpthread.abilist b/sysdeps/unix/sysv/linux/csky/libpthread.abilist
> index 6fd5e8061a..b16ffe2dd8 100644
> --- a/sysdeps/unix/sysv/linux/csky/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/csky/libpthread.abilist
> @@ -41,11 +41,9 @@ 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_close F
>  GLIBC_2.29 sem_destroy F
>  GLIBC_2.29 sem_getvalue F
>  GLIBC_2.29 sem_init F
> -GLIBC_2.29 sem_open F
>  GLIBC_2.29 sem_post F
>  GLIBC_2.29 sem_timedwait F
>  GLIBC_2.29 sem_trywait F
> diff --git a/sysdeps/unix/sysv/linux/hppa/libc.abilist b/sysdeps/unix/sysv/linux/hppa/libc.abilist
> index 46875d7402..83bb694e02 100644
> --- a/sysdeps/unix/sysv/linux/hppa/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/hppa/libc.abilist
> @@ -1452,6 +1452,8 @@ GLIBC_2.2 seed48 F
>  GLIBC_2.2 seed48_r F
>  GLIBC_2.2 seekdir F
>  GLIBC_2.2 select F
> +GLIBC_2.2 sem_close F
> +GLIBC_2.2 sem_open F
>  GLIBC_2.2 semctl F
>  GLIBC_2.2 semget F
>  GLIBC_2.2 semop F
> @@ -2241,6 +2243,8 @@ GLIBC_2.34 pthread_spin_trylock F
>  GLIBC_2.34 pthread_spin_unlock F
>  GLIBC_2.34 pthread_testcancel F
>  GLIBC_2.34 sem_clockwait F
> +GLIBC_2.34 sem_close F
> +GLIBC_2.34 sem_open F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> diff --git a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
> index c6e9eee45b..c07e43ba36 100644
> --- a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
> @@ -31,11 +31,9 @@ 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_close F
>  GLIBC_2.2 sem_destroy F
>  GLIBC_2.2 sem_getvalue F
>  GLIBC_2.2 sem_init F
> -GLIBC_2.2 sem_open F
>  GLIBC_2.2 sem_post F
>  GLIBC_2.2 sem_timedwait F
>  GLIBC_2.2 sem_trywait F
> diff --git a/sysdeps/unix/sysv/linux/i386/libc.abilist b/sysdeps/unix/sysv/linux/i386/libc.abilist
> index 5d8ca2e122..361856e177 100644
> --- a/sysdeps/unix/sysv/linux/i386/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/i386/libc.abilist
> @@ -1727,6 +1727,8 @@ GLIBC_2.1.1 getutmp F
>  GLIBC_2.1.1 getutmpx F
>  GLIBC_2.1.1 imaxabs F
>  GLIBC_2.1.1 imaxdiv F
> +GLIBC_2.1.1 sem_close F
> +GLIBC_2.1.1 sem_open F
>  GLIBC_2.1.1 strchrnul F
>  GLIBC_2.1.1 xdr_hyper F
>  GLIBC_2.1.1 xdr_int64_t F
> @@ -2418,6 +2420,8 @@ GLIBC_2.34 pthread_spin_trylock F
>  GLIBC_2.34 pthread_spin_unlock F
>  GLIBC_2.34 pthread_testcancel F
>  GLIBC_2.34 sem_clockwait F
> +GLIBC_2.34 sem_close F
> +GLIBC_2.34 sem_open F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> diff --git a/sysdeps/unix/sysv/linux/i386/libpthread.abilist b/sysdeps/unix/sysv/linux/i386/libpthread.abilist
> index 30bc064058..be013d96e2 100644
> --- a/sysdeps/unix/sysv/linux/i386/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/i386/libpthread.abilist
> @@ -30,8 +30,6 @@ GLIBC_2.1 sem_init F
>  GLIBC_2.1 sem_post F
>  GLIBC_2.1 sem_trywait F
>  GLIBC_2.1 sem_wait F
> -GLIBC_2.1.1 sem_close F
> -GLIBC_2.1.1 sem_open F
>  GLIBC_2.1.1 sem_unlink F
>  GLIBC_2.1.2 __libpthread_version_placeholder F
>  GLIBC_2.11 pthread_sigqueue F
> diff --git a/sysdeps/unix/sysv/linux/ia64/libc.abilist b/sysdeps/unix/sysv/linux/ia64/libc.abilist
> index c14a38e14c..9be17c7672 100644
> --- a/sysdeps/unix/sysv/linux/ia64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/ia64/libc.abilist
> @@ -1473,6 +1473,8 @@ GLIBC_2.2 seed48 F
>  GLIBC_2.2 seed48_r F
>  GLIBC_2.2 seekdir F
>  GLIBC_2.2 select F
> +GLIBC_2.2 sem_close F
> +GLIBC_2.2 sem_open F
>  GLIBC_2.2 semctl F
>  GLIBC_2.2 semget F
>  GLIBC_2.2 semop F
> @@ -2275,6 +2277,8 @@ GLIBC_2.34 pthread_spin_trylock F
>  GLIBC_2.34 pthread_spin_unlock F
>  GLIBC_2.34 pthread_testcancel F
>  GLIBC_2.34 sem_clockwait F
> +GLIBC_2.34 sem_close F
> +GLIBC_2.34 sem_open F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> diff --git a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
> index 6f15ac3cb1..42c7615f64 100644
> --- a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
> @@ -31,11 +31,9 @@ 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_close F
>  GLIBC_2.2 sem_destroy F
>  GLIBC_2.2 sem_getvalue F
>  GLIBC_2.2 sem_init F
> -GLIBC_2.2 sem_open F
>  GLIBC_2.2 sem_post F
>  GLIBC_2.2 sem_timedwait F
>  GLIBC_2.2 sem_trywait F
> diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
> index aabed7c366..8ded141557 100644
> --- a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
> @@ -254,6 +254,8 @@ GLIBC_2.34 pthread_spin_trylock F
>  GLIBC_2.34 pthread_spin_unlock F
>  GLIBC_2.34 pthread_testcancel F
>  GLIBC_2.34 sem_clockwait F
> +GLIBC_2.34 sem_close F
> +GLIBC_2.34 sem_open F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> @@ -1818,6 +1820,8 @@ GLIBC_2.4 seed48 F
>  GLIBC_2.4 seed48_r F
>  GLIBC_2.4 seekdir F
>  GLIBC_2.4 select F
> +GLIBC_2.4 sem_close F
> +GLIBC_2.4 sem_open F
>  GLIBC_2.4 semctl F
>  GLIBC_2.4 semget F
>  GLIBC_2.4 semop F
> diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
> index e56c397379..4a8b77148b 100644
> --- a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
> @@ -47,11 +47,9 @@ 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_close F
>  GLIBC_2.4 sem_destroy F
>  GLIBC_2.4 sem_getvalue F
>  GLIBC_2.4 sem_init F
> -GLIBC_2.4 sem_open F
>  GLIBC_2.4 sem_post F
>  GLIBC_2.4 sem_timedwait F
>  GLIBC_2.4 sem_trywait F
> diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
> index 4a3b9f25fa..e8a006c424 100644
> --- a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
> @@ -1683,6 +1683,8 @@ GLIBC_2.1.1 getutmp F
>  GLIBC_2.1.1 getutmpx F
>  GLIBC_2.1.1 imaxabs F
>  GLIBC_2.1.1 imaxdiv F
> +GLIBC_2.1.1 sem_close F
> +GLIBC_2.1.1 sem_open F
>  GLIBC_2.1.1 strchrnul F
>  GLIBC_2.1.1 xdr_hyper F
>  GLIBC_2.1.1 xdr_int64_t F
> @@ -2361,6 +2363,8 @@ GLIBC_2.34 pthread_spin_trylock F
>  GLIBC_2.34 pthread_spin_unlock F
>  GLIBC_2.34 pthread_testcancel F
>  GLIBC_2.34 sem_clockwait F
> +GLIBC_2.34 sem_close F
> +GLIBC_2.34 sem_open F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
> index 30bc064058..be013d96e2 100644
> --- a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
> @@ -30,8 +30,6 @@ GLIBC_2.1 sem_init F
>  GLIBC_2.1 sem_post F
>  GLIBC_2.1 sem_trywait F
>  GLIBC_2.1 sem_wait F
> -GLIBC_2.1.1 sem_close F
> -GLIBC_2.1.1 sem_open F
>  GLIBC_2.1.1 sem_unlink F
>  GLIBC_2.1.2 __libpthread_version_placeholder F
>  GLIBC_2.11 pthread_sigqueue F
> diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
> index 82ac489f32..a4907fad02 100644
> --- a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
> @@ -1662,6 +1662,8 @@ GLIBC_2.18 seed48 F
>  GLIBC_2.18 seed48_r F
>  GLIBC_2.18 seekdir F
>  GLIBC_2.18 select F
> +GLIBC_2.18 sem_close F
> +GLIBC_2.18 sem_open F
>  GLIBC_2.18 semctl F
>  GLIBC_2.18 semget F
>  GLIBC_2.18 semop F
> @@ -2341,6 +2343,8 @@ GLIBC_2.34 pthread_spin_trylock F
>  GLIBC_2.34 pthread_spin_unlock F
>  GLIBC_2.34 pthread_testcancel F
>  GLIBC_2.34 sem_clockwait F
> +GLIBC_2.34 sem_close F
> +GLIBC_2.34 sem_open F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
> index 703310b8dd..8b3ddcbda9 100644
> --- a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
> @@ -41,11 +41,9 @@ 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_close F
>  GLIBC_2.18 sem_destroy F
>  GLIBC_2.18 sem_getvalue F
>  GLIBC_2.18 sem_init F
> -GLIBC_2.18 sem_open F
>  GLIBC_2.18 sem_post F
>  GLIBC_2.18 sem_timedwait F
>  GLIBC_2.18 sem_trywait F
> diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
> index 3ec2794b5b..c5282a3fd1 100644
> --- a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
> @@ -1662,6 +1662,8 @@ GLIBC_2.18 seed48 F
>  GLIBC_2.18 seed48_r F
>  GLIBC_2.18 seekdir F
>  GLIBC_2.18 select F
> +GLIBC_2.18 sem_close F
> +GLIBC_2.18 sem_open F
>  GLIBC_2.18 semctl F
>  GLIBC_2.18 semget F
>  GLIBC_2.18 semop F
> @@ -2338,6 +2340,8 @@ GLIBC_2.34 pthread_spin_trylock F
>  GLIBC_2.34 pthread_spin_unlock F
>  GLIBC_2.34 pthread_testcancel F
>  GLIBC_2.34 sem_clockwait F
> +GLIBC_2.34 sem_close F
> +GLIBC_2.34 sem_open F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
> index 703310b8dd..8b3ddcbda9 100644
> --- a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
> @@ -41,11 +41,9 @@ 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_close F
>  GLIBC_2.18 sem_destroy F
>  GLIBC_2.18 sem_getvalue F
>  GLIBC_2.18 sem_init F
> -GLIBC_2.18 sem_open F
>  GLIBC_2.18 sem_post F
>  GLIBC_2.18 sem_timedwait F
>  GLIBC_2.18 sem_trywait F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
> index ff623c22f3..a6fb6ac493 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
> @@ -1888,6 +1888,8 @@ GLIBC_2.2 rresvport_af F
>  GLIBC_2.2 rtime F
>  GLIBC_2.2 ruserok_af F
>  GLIBC_2.2 scandir64 F
> +GLIBC_2.2 sem_close F
> +GLIBC_2.2 sem_open F
>  GLIBC_2.2 semctl F
>  GLIBC_2.2 sendfile F
>  GLIBC_2.2 setrlimit64 F
> @@ -2324,6 +2326,8 @@ GLIBC_2.34 pthread_spin_trylock F
>  GLIBC_2.34 pthread_spin_unlock F
>  GLIBC_2.34 pthread_testcancel F
>  GLIBC_2.34 sem_clockwait F
> +GLIBC_2.34 sem_close F
> +GLIBC_2.34 sem_open F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
> index 8444fb5280..d79cc95dfd 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
> @@ -38,11 +38,9 @@ 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_close F
>  GLIBC_2.2 sem_destroy F
>  GLIBC_2.2 sem_getvalue F
>  GLIBC_2.2 sem_init F
> -GLIBC_2.2 sem_open F
>  GLIBC_2.2 sem_post F
>  GLIBC_2.2 sem_timedwait F
>  GLIBC_2.2 sem_trywait F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
> index 6cecd92386..abfe1226b1 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
> @@ -1886,6 +1886,8 @@ GLIBC_2.2 rresvport_af F
>  GLIBC_2.2 rtime F
>  GLIBC_2.2 ruserok_af F
>  GLIBC_2.2 scandir64 F
> +GLIBC_2.2 sem_close F
> +GLIBC_2.2 sem_open F
>  GLIBC_2.2 semctl F
>  GLIBC_2.2 sendfile F
>  GLIBC_2.2 setrlimit64 F
> @@ -2322,6 +2324,8 @@ GLIBC_2.34 pthread_spin_trylock F
>  GLIBC_2.34 pthread_spin_unlock F
>  GLIBC_2.34 pthread_testcancel F
>  GLIBC_2.34 sem_clockwait F
> +GLIBC_2.34 sem_close F
> +GLIBC_2.34 sem_open F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
> index 8444fb5280..d79cc95dfd 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
> @@ -38,11 +38,9 @@ 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_close F
>  GLIBC_2.2 sem_destroy F
>  GLIBC_2.2 sem_getvalue F
>  GLIBC_2.2 sem_init F
> -GLIBC_2.2 sem_open F
>  GLIBC_2.2 sem_post F
>  GLIBC_2.2 sem_timedwait F
>  GLIBC_2.2 sem_trywait F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
> index 858fa17010..30851df44a 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
> @@ -1886,6 +1886,8 @@ GLIBC_2.2 rresvport_af F
>  GLIBC_2.2 rtime F
>  GLIBC_2.2 ruserok_af F
>  GLIBC_2.2 scandir64 F
> +GLIBC_2.2 sem_close F
> +GLIBC_2.2 sem_open F
>  GLIBC_2.2 sendfile F
>  GLIBC_2.2 setrlimit64 F
>  GLIBC_2.2 setutxent F
> @@ -2330,6 +2332,8 @@ GLIBC_2.34 pthread_spin_trylock F
>  GLIBC_2.34 pthread_spin_unlock F
>  GLIBC_2.34 pthread_testcancel F
>  GLIBC_2.34 sem_clockwait F
> +GLIBC_2.34 sem_close F
> +GLIBC_2.34 sem_open F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
> index 5c72417ee3..81d37d6322 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
> @@ -1882,6 +1882,8 @@ GLIBC_2.2 rresvport_af F
>  GLIBC_2.2 rtime F
>  GLIBC_2.2 ruserok_af F
>  GLIBC_2.2 scandir64 F
> +GLIBC_2.2 sem_close F
> +GLIBC_2.2 sem_open F
>  GLIBC_2.2 sendfile F
>  GLIBC_2.2 setrlimit64 F
>  GLIBC_2.2 setutxent F
> @@ -2324,6 +2326,8 @@ GLIBC_2.34 pthread_spin_trylock F
>  GLIBC_2.34 pthread_spin_unlock F
>  GLIBC_2.34 pthread_testcancel F
>  GLIBC_2.34 sem_clockwait F
> +GLIBC_2.34 sem_close F
> +GLIBC_2.34 sem_open F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> diff --git a/sysdeps/unix/sysv/linux/nios2/libc.abilist b/sysdeps/unix/sysv/linux/nios2/libc.abilist
> index b9cd5703da..a5dbb107db 100644
> --- a/sysdeps/unix/sysv/linux/nios2/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/nios2/libc.abilist
> @@ -1705,6 +1705,8 @@ GLIBC_2.21 seed48 F
>  GLIBC_2.21 seed48_r F
>  GLIBC_2.21 seekdir F
>  GLIBC_2.21 select F
> +GLIBC_2.21 sem_close F
> +GLIBC_2.21 sem_open F
>  GLIBC_2.21 semctl F
>  GLIBC_2.21 semget F
>  GLIBC_2.21 semop F
> @@ -2380,6 +2382,8 @@ GLIBC_2.34 pthread_spin_trylock F
>  GLIBC_2.34 pthread_spin_unlock F
>  GLIBC_2.34 pthread_testcancel F
>  GLIBC_2.34 sem_clockwait F
> +GLIBC_2.34 sem_close F
> +GLIBC_2.34 sem_open F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> diff --git a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
> index 6e4845723f..e8f9bdeef4 100644
> --- a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
> @@ -41,11 +41,9 @@ 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_close F
>  GLIBC_2.21 sem_destroy F
>  GLIBC_2.21 sem_getvalue F
>  GLIBC_2.21 sem_init F
> -GLIBC_2.21 sem_open F
>  GLIBC_2.21 sem_post F
>  GLIBC_2.21 sem_timedwait F
>  GLIBC_2.21 sem_trywait F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
> index 2384127281..9f512cfe62 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
> @@ -1688,6 +1688,8 @@ GLIBC_2.1.1 getutmp F
>  GLIBC_2.1.1 getutmpx F
>  GLIBC_2.1.1 imaxabs F
>  GLIBC_2.1.1 imaxdiv F
> +GLIBC_2.1.1 sem_close F
> +GLIBC_2.1.1 sem_open F
>  GLIBC_2.1.1 strchrnul F
>  GLIBC_2.1.1 xdr_hyper F
>  GLIBC_2.1.1 xdr_int64_t F
> @@ -2388,6 +2390,8 @@ GLIBC_2.34 pthread_spin_trylock F
>  GLIBC_2.34 pthread_spin_unlock F
>  GLIBC_2.34 pthread_testcancel F
>  GLIBC_2.34 sem_clockwait F
> +GLIBC_2.34 sem_close F
> +GLIBC_2.34 sem_open F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
> index 2614e1e6b9..31ef39020a 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
> @@ -30,8 +30,6 @@ GLIBC_2.1 sem_init F
>  GLIBC_2.1 sem_post F
>  GLIBC_2.1 sem_trywait F
>  GLIBC_2.1 sem_wait F
> -GLIBC_2.1.1 sem_close F
> -GLIBC_2.1.1 sem_open F
>  GLIBC_2.1.1 sem_unlink F
>  GLIBC_2.1.2 __libpthread_version_placeholder F
>  GLIBC_2.11 pthread_sigqueue F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
> index ce47bd3777..99aad58eaa 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
> @@ -1688,6 +1688,8 @@ GLIBC_2.1.1 getutmp F
>  GLIBC_2.1.1 getutmpx F
>  GLIBC_2.1.1 imaxabs F
>  GLIBC_2.1.1 imaxdiv F
> +GLIBC_2.1.1 sem_close F
> +GLIBC_2.1.1 sem_open F
>  GLIBC_2.1.1 strchrnul F
>  GLIBC_2.1.1 xdr_hyper F
>  GLIBC_2.1.1 xdr_int64_t F
> @@ -2421,6 +2423,8 @@ GLIBC_2.34 pthread_spin_trylock F
>  GLIBC_2.34 pthread_spin_unlock F
>  GLIBC_2.34 pthread_testcancel F
>  GLIBC_2.34 sem_clockwait F
> +GLIBC_2.34 sem_close F
> +GLIBC_2.34 sem_open F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
> index 1be222ec73..466f6b5d7b 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
> @@ -1577,6 +1577,8 @@ GLIBC_2.3 seed48 F
>  GLIBC_2.3 seed48_r F
>  GLIBC_2.3 seekdir F
>  GLIBC_2.3 select F
> +GLIBC_2.3 sem_close F
> +GLIBC_2.3 sem_open F
>  GLIBC_2.3 semctl F
>  GLIBC_2.3 semget F
>  GLIBC_2.3 semop F
> @@ -2242,6 +2244,8 @@ GLIBC_2.34 pthread_spin_trylock F
>  GLIBC_2.34 pthread_spin_unlock F
>  GLIBC_2.34 pthread_testcancel F
>  GLIBC_2.34 sem_clockwait F
> +GLIBC_2.34 sem_close F
> +GLIBC_2.34 sem_open F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
> index af39b79df0..02c32b9aa6 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
> @@ -34,11 +34,9 @@ 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_close F
>  GLIBC_2.3 sem_destroy F
>  GLIBC_2.3 sem_getvalue F
>  GLIBC_2.3 sem_init F
> -GLIBC_2.3 sem_open F
>  GLIBC_2.3 sem_post F
>  GLIBC_2.3 sem_timedwait F
>  GLIBC_2.3 sem_trywait F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
> index 26de7bc08f..b1a2922377 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
> @@ -1748,6 +1748,8 @@ GLIBC_2.17 seed48 F
>  GLIBC_2.17 seed48_r F
>  GLIBC_2.17 seekdir F
>  GLIBC_2.17 select F
> +GLIBC_2.17 sem_close F
> +GLIBC_2.17 sem_open F
>  GLIBC_2.17 semctl F
>  GLIBC_2.17 semget F
>  GLIBC_2.17 semop F
> @@ -2543,6 +2545,8 @@ GLIBC_2.34 pthread_spin_trylock F
>  GLIBC_2.34 pthread_spin_unlock F
>  GLIBC_2.34 pthread_testcancel F
>  GLIBC_2.34 sem_clockwait F
> +GLIBC_2.34 sem_close F
> +GLIBC_2.34 sem_open F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
> index 0481baac9c..f8dc604dfa 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
> @@ -39,11 +39,9 @@ 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_close F
>  GLIBC_2.17 sem_destroy F
>  GLIBC_2.17 sem_getvalue F
>  GLIBC_2.17 sem_init F
> -GLIBC_2.17 sem_open F
>  GLIBC_2.17 sem_post F
>  GLIBC_2.17 sem_timedwait F
>  GLIBC_2.17 sem_trywait F
> diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
> index 423a563d6a..7ed6c10b7c 100644
> --- a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
> @@ -1604,6 +1604,8 @@ GLIBC_2.33 seed48_r F
>  GLIBC_2.33 seekdir F
>  GLIBC_2.33 select F
>  GLIBC_2.33 sem_clockwait F
> +GLIBC_2.33 sem_close F
> +GLIBC_2.33 sem_open F
>  GLIBC_2.33 semctl F
>  GLIBC_2.33 semget F
>  GLIBC_2.33 semop F
> @@ -2108,6 +2110,8 @@ GLIBC_2.34 pthread_spin_trylock F
>  GLIBC_2.34 pthread_spin_unlock F
>  GLIBC_2.34 pthread_testcancel F
>  GLIBC_2.34 sem_clockwait F
> +GLIBC_2.34 sem_close F
> +GLIBC_2.34 sem_open F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
> index 2c05fed5de..1a87403132 100644
> --- a/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
> @@ -42,11 +42,9 @@ 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_close F
>  GLIBC_2.33 sem_destroy F
>  GLIBC_2.33 sem_getvalue F
>  GLIBC_2.33 sem_init F
> -GLIBC_2.33 sem_open F
>  GLIBC_2.33 sem_post F
>  GLIBC_2.33 sem_timedwait F
>  GLIBC_2.33 sem_trywait F
> diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
> index 04e587b23c..a0f5d0f988 100644
> --- a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
> @@ -1652,6 +1652,8 @@ GLIBC_2.27 seed48 F
>  GLIBC_2.27 seed48_r F
>  GLIBC_2.27 seekdir F
>  GLIBC_2.27 select F
> +GLIBC_2.27 sem_close F
> +GLIBC_2.27 sem_open F
>  GLIBC_2.27 semctl F
>  GLIBC_2.27 semget F
>  GLIBC_2.27 semop F
> @@ -2308,6 +2310,8 @@ GLIBC_2.34 pthread_spin_trylock F
>  GLIBC_2.34 pthread_spin_unlock F
>  GLIBC_2.34 pthread_testcancel F
>  GLIBC_2.34 sem_clockwait F
> +GLIBC_2.34 sem_close F
> +GLIBC_2.34 sem_open F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
> index 24c1fc45ce..122cb26879 100644
> --- a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
> @@ -41,11 +41,9 @@ 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_close F
>  GLIBC_2.27 sem_destroy F
>  GLIBC_2.27 sem_getvalue F
>  GLIBC_2.27 sem_init F
> -GLIBC_2.27 sem_open F
>  GLIBC_2.27 sem_post F
>  GLIBC_2.27 sem_timedwait F
>  GLIBC_2.27 sem_trywait F
> diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
> index 7b269ae840..f2a59ab190 100644
> --- a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
> @@ -1680,6 +1680,8 @@ GLIBC_2.1.1 getutmp F
>  GLIBC_2.1.1 getutmpx F
>  GLIBC_2.1.1 imaxabs F
>  GLIBC_2.1.1 imaxdiv F
> +GLIBC_2.1.1 sem_close F
> +GLIBC_2.1.1 sem_open F
>  GLIBC_2.1.1 strchrnul F
>  GLIBC_2.1.1 xdr_hyper F
>  GLIBC_2.1.1 xdr_int64_t F
> @@ -2386,6 +2388,8 @@ GLIBC_2.34 pthread_spin_trylock F
>  GLIBC_2.34 pthread_spin_unlock F
>  GLIBC_2.34 pthread_testcancel F
>  GLIBC_2.34 sem_clockwait F
> +GLIBC_2.34 sem_close F
> +GLIBC_2.34 sem_open F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
> index 17893bf306..a6adbf2c0c 100644
> --- a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
> @@ -30,8 +30,6 @@ GLIBC_2.1 sem_init F
>  GLIBC_2.1 sem_post F
>  GLIBC_2.1 sem_trywait F
>  GLIBC_2.1 sem_wait F
> -GLIBC_2.1.1 sem_close F
> -GLIBC_2.1.1 sem_open F
>  GLIBC_2.1.1 sem_unlink F
>  GLIBC_2.1.2 __libpthread_version_placeholder F
>  GLIBC_2.11 pthread_sigqueue F
> diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
> index c2af5d0ece..232d00b8af 100644
> --- a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
> @@ -1470,6 +1470,8 @@ GLIBC_2.2 seed48 F
>  GLIBC_2.2 seed48_r F
>  GLIBC_2.2 seekdir F
>  GLIBC_2.2 select F
> +GLIBC_2.2 sem_close F
> +GLIBC_2.2 sem_open F
>  GLIBC_2.2 semctl F
>  GLIBC_2.2 semget F
>  GLIBC_2.2 semop F
> @@ -2279,6 +2281,8 @@ GLIBC_2.34 pthread_spin_trylock F
>  GLIBC_2.34 pthread_spin_unlock F
>  GLIBC_2.34 pthread_testcancel F
>  GLIBC_2.34 sem_clockwait F
> +GLIBC_2.34 sem_close F
> +GLIBC_2.34 sem_open F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
> index 3f42d9dcc5..6b6f17b0dd 100644
> --- a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
> @@ -32,11 +32,9 @@ 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_close F
>  GLIBC_2.2 sem_destroy F
>  GLIBC_2.2 sem_getvalue F
>  GLIBC_2.2 sem_init F
> -GLIBC_2.2 sem_open F
>  GLIBC_2.2 sem_post F
>  GLIBC_2.2 sem_timedwait F
>  GLIBC_2.2 sem_trywait F
> diff --git a/sysdeps/unix/sysv/linux/sh/be/libc.abilist b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
> index 00ea530f98..e4eb7c0042 100644
> --- a/sysdeps/unix/sysv/linux/sh/be/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
> @@ -1456,6 +1456,8 @@ GLIBC_2.2 seed48 F
>  GLIBC_2.2 seed48_r F
>  GLIBC_2.2 seekdir F
>  GLIBC_2.2 select F
> +GLIBC_2.2 sem_close F
> +GLIBC_2.2 sem_open F
>  GLIBC_2.2 semctl F
>  GLIBC_2.2 semget F
>  GLIBC_2.2 semop F
> @@ -2248,6 +2250,8 @@ GLIBC_2.34 pthread_spin_trylock F
>  GLIBC_2.34 pthread_spin_unlock F
>  GLIBC_2.34 pthread_testcancel F
>  GLIBC_2.34 sem_clockwait F
> +GLIBC_2.34 sem_close F
> +GLIBC_2.34 sem_open F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> diff --git a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
> index c6e9eee45b..c07e43ba36 100644
> --- a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
> @@ -31,11 +31,9 @@ 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_close F
>  GLIBC_2.2 sem_destroy F
>  GLIBC_2.2 sem_getvalue F
>  GLIBC_2.2 sem_init F
> -GLIBC_2.2 sem_open F
>  GLIBC_2.2 sem_post F
>  GLIBC_2.2 sem_timedwait F
>  GLIBC_2.2 sem_trywait F
> diff --git a/sysdeps/unix/sysv/linux/sh/le/libc.abilist b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
> index ea92a1c366..2a019d5f89 100644
> --- a/sysdeps/unix/sysv/linux/sh/le/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
> @@ -1456,6 +1456,8 @@ GLIBC_2.2 seed48 F
>  GLIBC_2.2 seed48_r F
>  GLIBC_2.2 seekdir F
>  GLIBC_2.2 select F
> +GLIBC_2.2 sem_close F
> +GLIBC_2.2 sem_open F
>  GLIBC_2.2 semctl F
>  GLIBC_2.2 semget F
>  GLIBC_2.2 semop F
> @@ -2245,6 +2247,8 @@ GLIBC_2.34 pthread_spin_trylock F
>  GLIBC_2.34 pthread_spin_unlock F
>  GLIBC_2.34 pthread_testcancel F
>  GLIBC_2.34 sem_clockwait F
> +GLIBC_2.34 sem_close F
> +GLIBC_2.34 sem_open F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> diff --git a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
> index c6e9eee45b..c07e43ba36 100644
> --- a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
> @@ -31,11 +31,9 @@ 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_close F
>  GLIBC_2.2 sem_destroy F
>  GLIBC_2.2 sem_getvalue F
>  GLIBC_2.2 sem_init F
> -GLIBC_2.2 sem_open F
>  GLIBC_2.2 sem_post F
>  GLIBC_2.2 sem_timedwait F
>  GLIBC_2.2 sem_trywait F
> diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
> index f0d5866658..a0e6b25aeb 100644
> --- a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
> @@ -1681,6 +1681,8 @@ GLIBC_2.1.1 getutmp F
>  GLIBC_2.1.1 getutmpx F
>  GLIBC_2.1.1 imaxabs F
>  GLIBC_2.1.1 imaxdiv F
> +GLIBC_2.1.1 sem_close F
> +GLIBC_2.1.1 sem_open F
>  GLIBC_2.1.1 strchrnul F
>  GLIBC_2.1.1 xdr_hyper F
>  GLIBC_2.1.1 xdr_int64_t F
> @@ -2377,6 +2379,8 @@ GLIBC_2.34 pthread_spin_trylock F
>  GLIBC_2.34 pthread_spin_unlock F
>  GLIBC_2.34 pthread_testcancel F
>  GLIBC_2.34 sem_clockwait F
> +GLIBC_2.34 sem_close F
> +GLIBC_2.34 sem_open F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
> index 86b15ad0d7..8cc7e9bc57 100644
> --- a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
> @@ -30,8 +30,6 @@ GLIBC_2.1 sem_init F
>  GLIBC_2.1 sem_post F
>  GLIBC_2.1 sem_trywait F
>  GLIBC_2.1 sem_wait F
> -GLIBC_2.1.1 sem_close F
> -GLIBC_2.1.1 sem_open F
>  GLIBC_2.1.1 sem_unlink F
>  GLIBC_2.1.2 __libpthread_version_placeholder F
>  GLIBC_2.11 pthread_sigqueue F
> diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
> index da0c9e1e86..f836c0c88b 100644
> --- a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
> @@ -1499,6 +1499,8 @@ GLIBC_2.2 seed48 F
>  GLIBC_2.2 seed48_r F
>  GLIBC_2.2 seekdir F
>  GLIBC_2.2 select F
> +GLIBC_2.2 sem_close F
> +GLIBC_2.2 sem_open F
>  GLIBC_2.2 semctl F
>  GLIBC_2.2 semget F
>  GLIBC_2.2 semop F
> @@ -2296,6 +2298,8 @@ GLIBC_2.34 pthread_spin_trylock F
>  GLIBC_2.34 pthread_spin_unlock F
>  GLIBC_2.34 pthread_testcancel F
>  GLIBC_2.34 sem_clockwait F
> +GLIBC_2.34 sem_close F
> +GLIBC_2.34 sem_open F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
> index 6f15ac3cb1..42c7615f64 100644
> --- a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
> @@ -31,11 +31,9 @@ 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_close F
>  GLIBC_2.2 sem_destroy F
>  GLIBC_2.2 sem_getvalue F
>  GLIBC_2.2 sem_init F
> -GLIBC_2.2 sem_open F
>  GLIBC_2.2 sem_post F
>  GLIBC_2.2 sem_timedwait F
>  GLIBC_2.2 sem_trywait F
> diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
> index 33b4b7a121..8c48f6fbd0 100644
> --- a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
> @@ -1467,6 +1467,8 @@ GLIBC_2.2.5 seed48 F
>  GLIBC_2.2.5 seed48_r F
>  GLIBC_2.2.5 seekdir F
>  GLIBC_2.2.5 select F
> +GLIBC_2.2.5 sem_close F
> +GLIBC_2.2.5 sem_open F
>  GLIBC_2.2.5 semctl F
>  GLIBC_2.2.5 semget F
>  GLIBC_2.2.5 semop F
> @@ -2257,6 +2259,8 @@ GLIBC_2.34 pthread_spin_trylock F
>  GLIBC_2.34 pthread_spin_unlock F
>  GLIBC_2.34 pthread_testcancel F
>  GLIBC_2.34 sem_clockwait F
> +GLIBC_2.34 sem_close F
> +GLIBC_2.34 sem_open F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
> index 3516798f9a..9a98ac62d7 100644
> --- a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
> @@ -31,11 +31,9 @@ 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_close F
>  GLIBC_2.2.5 sem_destroy F
>  GLIBC_2.2.5 sem_getvalue F
>  GLIBC_2.2.5 sem_init F
> -GLIBC_2.2.5 sem_open F
>  GLIBC_2.2.5 sem_post F
>  GLIBC_2.2.5 sem_timedwait F
>  GLIBC_2.2.5 sem_trywait F
> diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
> index 0a1215efeb..f96ad30cef 100644
> --- a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
> @@ -1666,6 +1666,8 @@ GLIBC_2.16 seed48 F
>  GLIBC_2.16 seed48_r F
>  GLIBC_2.16 seekdir F
>  GLIBC_2.16 select F
> +GLIBC_2.16 sem_close F
> +GLIBC_2.16 sem_open F
>  GLIBC_2.16 semctl F
>  GLIBC_2.16 semget F
>  GLIBC_2.16 semop F
> @@ -2362,6 +2364,8 @@ GLIBC_2.34 pthread_spin_trylock F
>  GLIBC_2.34 pthread_spin_unlock F
>  GLIBC_2.34 pthread_testcancel F
>  GLIBC_2.34 sem_clockwait F
> +GLIBC_2.34 sem_close F
> +GLIBC_2.34 sem_open F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
> index b2c9bca89c..025b02f3de 100644
> --- a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
> @@ -39,11 +39,9 @@ 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_close F
>  GLIBC_2.16 sem_destroy F
>  GLIBC_2.16 sem_getvalue F
>  GLIBC_2.16 sem_init F
> -GLIBC_2.16 sem_open F
>  GLIBC_2.16 sem_post F
>  GLIBC_2.16 sem_timedwait F
>  GLIBC_2.16 sem_trywait F
> 

^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [PATCH 06/11] nptl: Move sem_getvalue into libc
  2021-05-03 13:51 ` [PATCH 06/11] nptl: Move sem_getvalue " Florian Weimer
@ 2021-05-05 14:35   ` Adhemerval Zanella
  0 siblings, 0 replies; 24+ messages in thread
From: Adhemerval Zanella @ 2021-05-05 14:35 UTC (permalink / raw)
  To: Florian Weimer, libc-alpha



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
> 

^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [PATCH 05/11] nptl: Move sem_destroy into libc
  2021-05-03 13:51 ` [PATCH 05/11] nptl: Move sem_destroy " Florian Weimer
@ 2021-05-05 14:35   ` Adhemerval Zanella
  0 siblings, 0 replies; 24+ messages in thread
From: Adhemerval Zanella @ 2021-05-05 14:35 UTC (permalink / raw)
  To: Florian Weimer, libc-alpha



On 03/05/2021 10:51, Florian Weimer via Libc-alpha wrote:
> The symbol was moved using scripts/move-symbol-to-libc.py.

LGTM, thanks.

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

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

^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [PATCH 07/11] nptl: Move sem_init into libc
  2021-05-03 13:52 ` [PATCH 07/11] nptl: Move sem_init " Florian Weimer
@ 2021-05-05 14:36   ` Adhemerval Zanella
  0 siblings, 0 replies; 24+ messages in thread
From: Adhemerval Zanella @ 2021-05-05 14:36 UTC (permalink / raw)
  To: Florian Weimer, libc-alpha



On 03/05/2021 10:52, 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_init.c                                           | 8 +++++---
>  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 +++
>  sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist | 2 ++
>  .../sysv/linux/powerpc/powerpc64/be/libpthread.abilist    | 1 -
>  sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist | 2 ++
>  .../sysv/linux/powerpc/powerpc64/le/libpthread.abilist    | 1 -
>  sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist           | 2 ++
>  sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist     | 1 -
>  sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist           | 2 ++
>  sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist     | 1 -
>  sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist         | 3 +++
>  sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist   | 2 --
>  sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist         | 2 ++
>  sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist   | 1 -
>  sysdeps/unix/sysv/linux/sh/be/libc.abilist                | 2 ++
>  sysdeps/unix/sysv/linux/sh/be/libpthread.abilist          | 1 -
>  sysdeps/unix/sysv/linux/sh/le/libc.abilist                | 2 ++
>  sysdeps/unix/sysv/linux/sh/le/libpthread.abilist          | 1 -
>  sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist        | 3 +++
>  sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist  | 2 --
>  sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist        | 2 ++
>  sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist  | 1 -
>  sysdeps/unix/sysv/linux/x86_64/64/libc.abilist            | 2 ++
>  sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist      | 1 -
>  sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist           | 2 ++
>  sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist     | 1 -
>  64 files changed, 84 insertions(+), 43 deletions(-)
> 
> diff --git a/nptl/Makefile b/nptl/Makefile
> index 8c32937d82..d0410f6827 100644
> --- a/nptl/Makefile
> +++ b/nptl/Makefile
> @@ -154,6 +154,7 @@ routines = \
>    sem_close \
>    sem_destroy \
>    sem_getvalue \
> +  sem_init \
>    sem_open \
>    sem_routines \
>    tpp \
> @@ -207,7 +208,6 @@ libpthread-routines = \
>    pthread_sigqueue \
>    pthread_timedjoin \
>    pthread_tryjoin \
> -  sem_init \
>    sem_post \
>    sem_timedwait \
>    sem_unlink \
> diff --git a/nptl/Versions b/nptl/Versions
> index dd1c1c7e9e..428cb43c9d 100644
> --- a/nptl/Versions
> +++ b/nptl/Versions
> @@ -64,6 +64,7 @@ libc {
>      pthread_testcancel;
>      sem_destroy;
>      sem_getvalue;
> +    sem_init;
>    }
>    GLIBC_2.1 {
>      pthread_attr_init;
> @@ -84,6 +85,7 @@ libc {
>      pthread_rwlockattr_setpshared;
>      sem_destroy;
>      sem_getvalue;
> +    sem_init;
>    }
>    GLIBC_2.1.1 {
>      sem_close;
> @@ -260,6 +262,7 @@ libc {
>      sem_close;
>      sem_destroy;
>      sem_getvalue;
> +    sem_init;
>      sem_open;
>      thrd_exit;
>      tss_create;
> @@ -326,7 +329,6 @@ libpthread {
>      pthread_detach;
>      pthread_join;
>      pthread_sigmask;
> -    sem_init;
>      sem_post;
>      sem_trywait;
>      sem_wait;
> @@ -342,7 +344,6 @@ libpthread {
>      pthread_create;
>      pthread_getconcurrency;
>      pthread_setconcurrency;
> -    sem_init;
>      sem_post;
>      sem_trywait;
>      sem_wait;
> diff --git a/nptl/sem_init.c b/nptl/sem_init.c
> index ea2ff7b85c..39fe76b92b 100644
> --- a/nptl/sem_init.c
> +++ b/nptl/sem_init.c
> @@ -61,11 +61,13 @@ __new_sem_init (sem_t *sem, int pshared, unsigned int value)
>  
>    return 0;
>  }
> -versioned_symbol (libpthread, __new_sem_init, sem_init, GLIBC_2_1);
> -
> +versioned_symbol (libc, __new_sem_init, sem_init, GLIBC_2_34);
>  
> +#if OTHER_SHLIB_COMPAT(libpthread, GLIBC_2_1, GLIBC_2_34)
> +compat_symbol (libpthread, __new_sem_init, sem_init, GLIBC_2_1);
> +#endif
>  
> -#if SHLIB_COMPAT(libpthread, GLIBC_2_0, GLIBC_2_1)
> +#if OTHER_SHLIB_COMPAT(libpthread, GLIBC_2_0, GLIBC_2_1)
>  int
>  attribute_compat_text_section
>  __old_sem_init (sem_t *sem, int pshared, unsigned int value)
> diff --git a/sysdeps/unix/sysv/linux/aarch64/libc.abilist b/sysdeps/unix/sysv/linux/aarch64/libc.abilist
> index 0e002b50c5..8af3a25de7 100644
> --- a/sysdeps/unix/sysv/linux/aarch64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/aarch64/libc.abilist
> @@ -1663,6 +1663,7 @@ 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_init F
>  GLIBC_2.17 sem_open F
>  GLIBC_2.17 semctl F
>  GLIBC_2.17 semget F
> @@ -2354,6 +2355,7 @@ 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_init 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 87bcb6bd08..cc05c4ec42 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_init F
>  GLIBC_2.17 sem_post F
>  GLIBC_2.17 sem_timedwait F
>  GLIBC_2.17 sem_trywait F
> diff --git a/sysdeps/unix/sysv/linux/alpha/libc.abilist b/sysdeps/unix/sysv/linux/alpha/libc.abilist
> index d39e28a1d1..a906e29085 100644
> --- a/sysdeps/unix/sysv/linux/alpha/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/alpha/libc.abilist
> @@ -1013,6 +1013,7 @@ 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 sem_init F
>  GLIBC_2.0 semctl F
>  GLIBC_2.0 semget F
>  GLIBC_2.0 semop F
> @@ -1638,6 +1639,7 @@ 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 sem_init F
>  GLIBC_2.1 sendfile F
>  GLIBC_2.1 setitimer F
>  GLIBC_2.1 setrlimit64 F
> @@ -2437,6 +2439,7 @@ 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_init 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 37eba5d526..04dca3fb17 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_init F
>  GLIBC_2.0 sem_post F
>  GLIBC_2.0 sem_trywait F
>  GLIBC_2.0 sem_wait F
> @@ -22,7 +21,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_init F
>  GLIBC_2.1 sem_post F
>  GLIBC_2.1 sem_trywait F
>  GLIBC_2.1 sem_wait F
> diff --git a/sysdeps/unix/sysv/linux/arc/libc.abilist b/sysdeps/unix/sysv/linux/arc/libc.abilist
> index d24e926437..b7f211bee3 100644
> --- a/sysdeps/unix/sysv/linux/arc/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/arc/libc.abilist
> @@ -1605,6 +1605,7 @@ 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_init F
>  GLIBC_2.32 sem_open F
>  GLIBC_2.32 semctl F
>  GLIBC_2.32 semget F
> @@ -2113,6 +2114,7 @@ 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_init 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 0d2b6878f0..620aa737af 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_init F
>  GLIBC_2.32 sem_post F
>  GLIBC_2.32 sem_timedwait F
>  GLIBC_2.32 sem_trywait F
> diff --git a/sysdeps/unix/sysv/linux/arm/be/libc.abilist b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
> index 6948069e7a..0ee04e8ec2 100644
> --- a/sysdeps/unix/sysv/linux/arm/be/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
> @@ -256,6 +256,7 @@ 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_init F
>  GLIBC_2.34 sem_open F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
> @@ -1845,6 +1846,7 @@ 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_init 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 10ae7a1302..2cad2a326d 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_init F
>  GLIBC_2.4 sem_post F
>  GLIBC_2.4 sem_timedwait F
>  GLIBC_2.4 sem_trywait F
> diff --git a/sysdeps/unix/sysv/linux/arm/le/libc.abilist b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
> index 24f11ea83f..3440ea0eb8 100644
> --- a/sysdeps/unix/sysv/linux/arm/le/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
> @@ -253,6 +253,7 @@ 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_init F
>  GLIBC_2.34 sem_open F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
> @@ -1842,6 +1843,7 @@ 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_init 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 10ae7a1302..2cad2a326d 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_init F
>  GLIBC_2.4 sem_post F
>  GLIBC_2.4 sem_timedwait F
>  GLIBC_2.4 sem_trywait F
> diff --git a/sysdeps/unix/sysv/linux/csky/libc.abilist b/sysdeps/unix/sysv/linux/csky/libc.abilist
> index 2ef861b277..862ca71146 100644
> --- a/sysdeps/unix/sysv/linux/csky/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/csky/libc.abilist
> @@ -1666,6 +1666,7 @@ 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_init F
>  GLIBC_2.29 sem_open F
>  GLIBC_2.29 semctl F
>  GLIBC_2.29 semget F
> @@ -2297,6 +2298,7 @@ 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_init 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 2c736e3810..0d192aad92 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_init F
>  GLIBC_2.29 sem_post F
>  GLIBC_2.29 sem_timedwait F
>  GLIBC_2.29 sem_trywait F
> diff --git a/sysdeps/unix/sysv/linux/hppa/libc.abilist b/sysdeps/unix/sysv/linux/hppa/libc.abilist
> index bb36e5c862..829c751dd4 100644
> --- a/sysdeps/unix/sysv/linux/hppa/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/hppa/libc.abilist
> @@ -1455,6 +1455,7 @@ 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_init F
>  GLIBC_2.2 sem_open F
>  GLIBC_2.2 semctl F
>  GLIBC_2.2 semget F
> @@ -2248,6 +2249,7 @@ 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_init 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 9a3c7ba538..9e3a2d7b79 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_init F
>  GLIBC_2.2 sem_post F
>  GLIBC_2.2 sem_timedwait F
>  GLIBC_2.2 sem_trywait F
> diff --git a/sysdeps/unix/sysv/linux/i386/libc.abilist b/sysdeps/unix/sysv/linux/i386/libc.abilist
> index c01f45d684..e06fc546c7 100644
> --- a/sysdeps/unix/sysv/linux/i386/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/i386/libc.abilist
> @@ -990,6 +990,7 @@ 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 sem_init F
>  GLIBC_2.0 semctl F
>  GLIBC_2.0 semget F
>  GLIBC_2.0 semop F
> @@ -1608,6 +1609,7 @@ 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 sem_init F
>  GLIBC_2.1 sendfile F
>  GLIBC_2.1 setrlimit64 F
>  GLIBC_2.1 setutxent F
> @@ -2427,6 +2429,7 @@ 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_init 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 b1833a99e1..c109dfcfd2 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_init F
>  GLIBC_2.0 sem_post F
>  GLIBC_2.0 sem_trywait F
>  GLIBC_2.0 sem_wait F
> @@ -22,7 +21,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_init F
>  GLIBC_2.1 sem_post F
>  GLIBC_2.1 sem_trywait F
>  GLIBC_2.1 sem_wait F
> diff --git a/sysdeps/unix/sysv/linux/ia64/libc.abilist b/sysdeps/unix/sysv/linux/ia64/libc.abilist
> index 6f447d6acb..04062ddec5 100644
> --- a/sysdeps/unix/sysv/linux/ia64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/ia64/libc.abilist
> @@ -1476,6 +1476,7 @@ 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_init F
>  GLIBC_2.2 sem_open F
>  GLIBC_2.2 semctl F
>  GLIBC_2.2 semget F
> @@ -2282,6 +2283,7 @@ 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_init 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 212b6841cc..2439b506d9 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_init F
>  GLIBC_2.2 sem_post F
>  GLIBC_2.2 sem_timedwait F
>  GLIBC_2.2 sem_trywait F
> diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
> index 7d16feab1c..1f14f1fdae 100644
> --- a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
> @@ -257,6 +257,7 @@ 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_init F
>  GLIBC_2.34 sem_open F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
> @@ -1825,6 +1826,7 @@ 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_init 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 10ae7a1302..2cad2a326d 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_init F
>  GLIBC_2.4 sem_post F
>  GLIBC_2.4 sem_timedwait F
>  GLIBC_2.4 sem_trywait F
> diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
> index 6a613724bc..ef4c457b82 100644
> --- a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
> @@ -989,6 +989,7 @@ 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 sem_init F
>  GLIBC_2.0 semctl F
>  GLIBC_2.0 semget F
>  GLIBC_2.0 semop F
> @@ -1604,6 +1605,7 @@ 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 sem_init F
>  GLIBC_2.1 sendfile F
>  GLIBC_2.1 setrlimit64 F
>  GLIBC_2.1 setutxent F
> @@ -2370,6 +2372,7 @@ 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_init 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 b1833a99e1..c109dfcfd2 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_init F
>  GLIBC_2.0 sem_post F
>  GLIBC_2.0 sem_trywait F
>  GLIBC_2.0 sem_wait F
> @@ -22,7 +21,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_init F
>  GLIBC_2.1 sem_post F
>  GLIBC_2.1 sem_trywait F
>  GLIBC_2.1 sem_wait F
> diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
> index 08727dea01..c85118ef83 100644
> --- a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
> @@ -1665,6 +1665,7 @@ 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_init F
>  GLIBC_2.18 sem_open F
>  GLIBC_2.18 semctl F
>  GLIBC_2.18 semget F
> @@ -2348,6 +2349,7 @@ 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_init 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 4656602675..87adfbd119 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_init F
>  GLIBC_2.18 sem_post F
>  GLIBC_2.18 sem_timedwait F
>  GLIBC_2.18 sem_trywait F
> diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
> index 4145398631..e329d24837 100644
> --- a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
> @@ -1665,6 +1665,7 @@ 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_init F
>  GLIBC_2.18 sem_open F
>  GLIBC_2.18 semctl F
>  GLIBC_2.18 semget F
> @@ -2345,6 +2346,7 @@ 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_init 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 4656602675..87adfbd119 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_init F
>  GLIBC_2.18 sem_post F
>  GLIBC_2.18 sem_timedwait F
>  GLIBC_2.18 sem_trywait F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
> index 1ff4fda725..10c4f9169f 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
> @@ -986,6 +986,7 @@ 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 sem_init F
>  GLIBC_2.0 semctl F
>  GLIBC_2.0 semget F
>  GLIBC_2.0 semop F
> @@ -1893,6 +1894,7 @@ 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_init F
>  GLIBC_2.2 sem_open F
>  GLIBC_2.2 semctl F
>  GLIBC_2.2 sendfile F
> @@ -2333,6 +2335,7 @@ 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_init 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 f250d3b50b..fda2fedaa8 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_init F
>  GLIBC_2.0 sem_post F
>  GLIBC_2.0 sem_trywait F
>  GLIBC_2.0 sem_wait F
> @@ -36,7 +35,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_init F
>  GLIBC_2.2 sem_post F
>  GLIBC_2.2 sem_timedwait F
>  GLIBC_2.2 sem_trywait F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
> index 76acce16f5..5c756ef87c 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
> @@ -986,6 +986,7 @@ 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 sem_init F
>  GLIBC_2.0 semctl F
>  GLIBC_2.0 semget F
>  GLIBC_2.0 semop F
> @@ -1891,6 +1892,7 @@ 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_init F
>  GLIBC_2.2 sem_open F
>  GLIBC_2.2 semctl F
>  GLIBC_2.2 sendfile F
> @@ -2331,6 +2333,7 @@ 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_init 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 f250d3b50b..fda2fedaa8 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_init F
>  GLIBC_2.0 sem_post F
>  GLIBC_2.0 sem_trywait F
>  GLIBC_2.0 sem_wait F
> @@ -36,7 +35,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_init F
>  GLIBC_2.2 sem_post F
>  GLIBC_2.2 sem_timedwait F
>  GLIBC_2.2 sem_trywait F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
> index 2d626894fd..3a48dba1a8 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
> @@ -986,6 +986,7 @@ 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 sem_init F
>  GLIBC_2.0 semctl F
>  GLIBC_2.0 semget F
>  GLIBC_2.0 semop F
> @@ -1891,6 +1892,7 @@ 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_init F
>  GLIBC_2.2 sem_open F
>  GLIBC_2.2 sendfile F
>  GLIBC_2.2 setrlimit64 F
> @@ -2339,6 +2341,7 @@ 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_init 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 0aaf7611bd..43b9ffa9be 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
> @@ -984,6 +984,7 @@ 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 sem_init F
>  GLIBC_2.0 semctl F
>  GLIBC_2.0 semget F
>  GLIBC_2.0 semop F
> @@ -1887,6 +1888,7 @@ 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_init F
>  GLIBC_2.2 sem_open F
>  GLIBC_2.2 sendfile F
>  GLIBC_2.2 setrlimit64 F
> @@ -2333,6 +2335,7 @@ 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_init 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 ea8b37e340..9871445825 100644
> --- a/sysdeps/unix/sysv/linux/nios2/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/nios2/libc.abilist
> @@ -1708,6 +1708,7 @@ 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_init F
>  GLIBC_2.21 sem_open F
>  GLIBC_2.21 semctl F
>  GLIBC_2.21 semget F
> @@ -2387,6 +2388,7 @@ 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_init 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 5d47b5af57..8dc58decd5 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_init F
>  GLIBC_2.21 sem_post F
>  GLIBC_2.21 sem_timedwait F
>  GLIBC_2.21 sem_trywait F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
> index 9e8200f88f..a18583a716 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
> @@ -997,6 +997,7 @@ 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 sem_init F
>  GLIBC_2.0 semctl F
>  GLIBC_2.0 semget F
>  GLIBC_2.0 semop F
> @@ -1609,6 +1610,7 @@ 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 sem_init F
>  GLIBC_2.1 sendfile F
>  GLIBC_2.1 setrlimit64 F
>  GLIBC_2.1 setutxent F
> @@ -2397,6 +2399,7 @@ 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_init 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 4ba599efcf..dc53279748 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_init F
>  GLIBC_2.0 sem_post F
>  GLIBC_2.0 sem_trywait F
>  GLIBC_2.0 sem_wait F
> @@ -22,7 +21,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_init F
>  GLIBC_2.1 sem_post F
>  GLIBC_2.1 sem_trywait F
>  GLIBC_2.1 sem_wait F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
> index 8ed232c46e..9bf3da7388 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
> @@ -997,6 +997,7 @@ 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 sem_init F
>  GLIBC_2.0 semctl F
>  GLIBC_2.0 semget F
>  GLIBC_2.0 semop F
> @@ -1609,6 +1610,7 @@ 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 sem_init F
>  GLIBC_2.1 sendfile F
>  GLIBC_2.1 setrlimit64 F
>  GLIBC_2.1 setutxent F
> @@ -2430,6 +2432,7 @@ 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_init 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 887f480421..d5706b2f69 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
> @@ -1580,6 +1580,7 @@ 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_init F
>  GLIBC_2.3 sem_open F
>  GLIBC_2.3 semctl F
>  GLIBC_2.3 semget F
> @@ -2249,6 +2250,7 @@ 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_init 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 8e89df212e..2897e7dbb7 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_init F
>  GLIBC_2.3 sem_post F
>  GLIBC_2.3 sem_timedwait F
>  GLIBC_2.3 sem_trywait F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
> index 0e34639e23..deb5f78799 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
> @@ -1751,6 +1751,7 @@ 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_init F
>  GLIBC_2.17 sem_open F
>  GLIBC_2.17 semctl F
>  GLIBC_2.17 semget F
> @@ -2550,6 +2551,7 @@ 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_init 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 87bcb6bd08..cc05c4ec42 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_init F
>  GLIBC_2.17 sem_post F
>  GLIBC_2.17 sem_timedwait F
>  GLIBC_2.17 sem_trywait F
> diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
> index ee60bf8925..e3d9041b3e 100644
> --- a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
> @@ -1607,6 +1607,7 @@ 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_init F
>  GLIBC_2.33 sem_open F
>  GLIBC_2.33 semctl F
>  GLIBC_2.33 semget F
> @@ -2115,6 +2116,7 @@ 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_init 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 b342a05a1b..93599c88a2 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_init F
>  GLIBC_2.33 sem_post F
>  GLIBC_2.33 sem_timedwait F
>  GLIBC_2.33 sem_trywait F
> diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
> index 3d76a78b07..b6b59ee692 100644
> --- a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
> @@ -1655,6 +1655,7 @@ 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_init F
>  GLIBC_2.27 sem_open F
>  GLIBC_2.27 semctl F
>  GLIBC_2.27 semget F
> @@ -2315,6 +2316,7 @@ 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_init 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 fe091c6884..215454cc39 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_init F
>  GLIBC_2.27 sem_post F
>  GLIBC_2.27 sem_timedwait F
>  GLIBC_2.27 sem_trywait F
> diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
> index bb44dc053f..ca7a6eec05 100644
> --- a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
> @@ -988,6 +988,7 @@ 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 sem_init F
>  GLIBC_2.0 semctl F
>  GLIBC_2.0 semget F
>  GLIBC_2.0 semop F
> @@ -1601,6 +1602,7 @@ 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 sem_init F
>  GLIBC_2.1 sendfile F
>  GLIBC_2.1 setrlimit64 F
>  GLIBC_2.1 setutxent F
> @@ -2395,6 +2397,7 @@ 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_init 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 899cf97c70..6ed45aa436 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_init F
>  GLIBC_2.0 sem_post F
>  GLIBC_2.0 sem_trywait F
>  GLIBC_2.0 sem_wait F
> @@ -22,7 +21,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_init F
>  GLIBC_2.1 sem_post F
>  GLIBC_2.1 sem_trywait F
>  GLIBC_2.1 sem_wait F
> diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
> index 6a55bdb602..9d13b92c53 100644
> --- a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
> @@ -1473,6 +1473,7 @@ 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_init F
>  GLIBC_2.2 sem_open F
>  GLIBC_2.2 semctl F
>  GLIBC_2.2 semget F
> @@ -2286,6 +2287,7 @@ 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_init 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 ea58dbd01d..162c5743a9 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_init F
>  GLIBC_2.2 sem_post F
>  GLIBC_2.2 sem_timedwait F
>  GLIBC_2.2 sem_trywait F
> diff --git a/sysdeps/unix/sysv/linux/sh/be/libc.abilist b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
> index fb4c0e3fa7..0cea6eb093 100644
> --- a/sysdeps/unix/sysv/linux/sh/be/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
> @@ -1459,6 +1459,7 @@ 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_init F
>  GLIBC_2.2 sem_open F
>  GLIBC_2.2 semctl F
>  GLIBC_2.2 semget F
> @@ -2255,6 +2256,7 @@ 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_init 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 9a3c7ba538..9e3a2d7b79 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_init F
>  GLIBC_2.2 sem_post F
>  GLIBC_2.2 sem_timedwait F
>  GLIBC_2.2 sem_trywait F
> diff --git a/sysdeps/unix/sysv/linux/sh/le/libc.abilist b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
> index 7c686b7ec9..af2e74fdfa 100644
> --- a/sysdeps/unix/sysv/linux/sh/le/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
> @@ -1459,6 +1459,7 @@ 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_init F
>  GLIBC_2.2 sem_open F
>  GLIBC_2.2 semctl F
>  GLIBC_2.2 semget F
> @@ -2252,6 +2253,7 @@ 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_init 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 9a3c7ba538..9e3a2d7b79 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_init F
>  GLIBC_2.2 sem_post F
>  GLIBC_2.2 sem_timedwait F
>  GLIBC_2.2 sem_trywait F
> diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
> index ab0cb2d1d2..79b69a31be 100644
> --- a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
> @@ -991,6 +991,7 @@ 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 sem_init F
>  GLIBC_2.0 semctl F
>  GLIBC_2.0 semget F
>  GLIBC_2.0 semop F
> @@ -1602,6 +1603,7 @@ 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 sem_init F
>  GLIBC_2.1 sendfile F
>  GLIBC_2.1 setrlimit64 F
>  GLIBC_2.1 setutxent F
> @@ -2386,6 +2388,7 @@ 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_init 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 37eba5d526..04dca3fb17 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_init F
>  GLIBC_2.0 sem_post F
>  GLIBC_2.0 sem_trywait F
>  GLIBC_2.0 sem_wait F
> @@ -22,7 +21,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_init F
>  GLIBC_2.1 sem_post F
>  GLIBC_2.1 sem_trywait F
>  GLIBC_2.1 sem_wait F
> diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
> index 53dacbb77e..8e367c0030 100644
> --- a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
> @@ -1502,6 +1502,7 @@ 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_init F
>  GLIBC_2.2 sem_open F
>  GLIBC_2.2 semctl F
>  GLIBC_2.2 semget F
> @@ -2303,6 +2304,7 @@ 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_init 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 212b6841cc..2439b506d9 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_init F
>  GLIBC_2.2 sem_post F
>  GLIBC_2.2 sem_timedwait F
>  GLIBC_2.2 sem_trywait F
> diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
> index 96245373c8..83f18b509d 100644
> --- a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
> @@ -1470,6 +1470,7 @@ 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_init F
>  GLIBC_2.2.5 sem_open F
>  GLIBC_2.2.5 semctl F
>  GLIBC_2.2.5 semget F
> @@ -2264,6 +2265,7 @@ 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_init 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 2c17991871..145925269d 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_init F
>  GLIBC_2.2.5 sem_post F
>  GLIBC_2.2.5 sem_timedwait F
>  GLIBC_2.2.5 sem_trywait F
> diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
> index 7cd32696c5..01dd2eb8a6 100644
> --- a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
> @@ -1669,6 +1669,7 @@ 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_init F
>  GLIBC_2.16 sem_open F
>  GLIBC_2.16 semctl F
>  GLIBC_2.16 semget F
> @@ -2369,6 +2370,7 @@ 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_init 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 44826acfbd..bbbaa04cd7 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_init F
>  GLIBC_2.16 sem_post F
>  GLIBC_2.16 sem_timedwait F
>  GLIBC_2.16 sem_trywait F
> 

^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [PATCH 08/11] nptl: Move sem_post into libc
  2021-05-03 13:52 ` [PATCH 08/11] nptl: Move sem_post " Florian Weimer
@ 2021-05-05 14:36   ` Adhemerval Zanella
  0 siblings, 0 replies; 24+ messages in thread
From: Adhemerval Zanella @ 2021-05-05 14:36 UTC (permalink / raw)
  To: Florian Weimer, libc-alpha



On 03/05/2021 10:52, 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_post.c                                            | 7 +++++--
>  sysdeps/unix/sysv/linux/aarch64/libc.abilist               | 2 ++
>  sysdeps/unix/sysv/linux/aarch64/libpthread.abilist         | 1 -
>  sysdeps/unix/sysv/linux/alpha/libc.abilist                 | 3 +++
>  sysdeps/unix/sysv/linux/alpha/libpthread.abilist           | 2 --
>  sysdeps/unix/sysv/linux/arc/libc.abilist                   | 2 ++
>  sysdeps/unix/sysv/linux/arc/libpthread.abilist             | 1 -
>  sysdeps/unix/sysv/linux/arm/be/libc.abilist                | 2 ++
>  sysdeps/unix/sysv/linux/arm/be/libpthread.abilist          | 1 -
>  sysdeps/unix/sysv/linux/arm/le/libc.abilist                | 2 ++
>  sysdeps/unix/sysv/linux/arm/le/libpthread.abilist          | 1 -
>  sysdeps/unix/sysv/linux/csky/libc.abilist                  | 2 ++
>  sysdeps/unix/sysv/linux/csky/libpthread.abilist            | 1 -
>  sysdeps/unix/sysv/linux/hppa/libc.abilist                  | 2 ++
>  sysdeps/unix/sysv/linux/hppa/libpthread.abilist            | 1 -
>  sysdeps/unix/sysv/linux/i386/libc.abilist                  | 3 +++
>  sysdeps/unix/sysv/linux/i386/libpthread.abilist            | 2 --
>  sysdeps/unix/sysv/linux/ia64/libc.abilist                  | 2 ++
>  sysdeps/unix/sysv/linux/ia64/libpthread.abilist            | 1 -
>  sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist         | 2 ++
>  sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist   | 1 -
>  sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist           | 3 +++
>  sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist     | 2 --
>  sysdeps/unix/sysv/linux/microblaze/be/libc.abilist         | 2 ++
>  sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist   | 1 -
>  sysdeps/unix/sysv/linux/microblaze/le/libc.abilist         | 2 ++
>  sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist   | 1 -
>  sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist       | 3 +++
>  sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist     | 2 --
>  sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist     | 3 +++
>  sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist     | 2 --
>  sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist       | 3 +++
>  sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist       | 3 +++
>  sysdeps/unix/sysv/linux/nios2/libc.abilist                 | 2 ++
>  sysdeps/unix/sysv/linux/nios2/libpthread.abilist           | 1 -
>  sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist | 3 +++
>  .../unix/sysv/linux/powerpc/powerpc32/libpthread.abilist   | 2 --
>  .../unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist   | 3 +++
>  sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist  | 2 ++
>  .../sysv/linux/powerpc/powerpc64/be/libpthread.abilist     | 1 -
>  sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist  | 2 ++
>  .../sysv/linux/powerpc/powerpc64/le/libpthread.abilist     | 1 -
>  sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist            | 2 ++
>  sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist      | 1 -
>  sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist            | 2 ++
>  sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist      | 1 -
>  sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist          | 3 +++
>  sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist    | 2 --
>  sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist          | 2 ++
>  sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist    | 1 -
>  sysdeps/unix/sysv/linux/sh/be/libc.abilist                 | 2 ++
>  sysdeps/unix/sysv/linux/sh/be/libpthread.abilist           | 1 -
>  sysdeps/unix/sysv/linux/sh/le/libc.abilist                 | 2 ++
>  sysdeps/unix/sysv/linux/sh/le/libpthread.abilist           | 1 -
>  sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist         | 3 +++
>  sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist   | 2 --
>  sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist         | 2 ++
>  sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist   | 1 -
>  sysdeps/unix/sysv/linux/x86_64/64/libc.abilist             | 2 ++
>  sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist       | 1 -
>  sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist            | 2 ++
>  sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist      | 1 -
>  64 files changed, 84 insertions(+), 42 deletions(-)
> 
> diff --git a/nptl/Makefile b/nptl/Makefile
> index d0410f6827..36c0f270b9 100644
> --- a/nptl/Makefile
> +++ b/nptl/Makefile
> @@ -156,6 +156,7 @@ routines = \
>    sem_getvalue \
>    sem_init \
>    sem_open \
> +  sem_post \
>    sem_routines \
>    tpp \
>    unwind \
> @@ -208,7 +209,6 @@ libpthread-routines = \
>    pthread_sigqueue \
>    pthread_timedjoin \
>    pthread_tryjoin \
> -  sem_post \
>    sem_timedwait \
>    sem_unlink \
>    sem_wait \
> diff --git a/nptl/Versions b/nptl/Versions
> index 428cb43c9d..df3967516f 100644
> --- a/nptl/Versions
> +++ b/nptl/Versions
> @@ -65,6 +65,7 @@ libc {
>      sem_destroy;
>      sem_getvalue;
>      sem_init;
> +    sem_post;
>    }
>    GLIBC_2.1 {
>      pthread_attr_init;
> @@ -86,6 +87,7 @@ libc {
>      sem_destroy;
>      sem_getvalue;
>      sem_init;
> +    sem_post;
>    }
>    GLIBC_2.1.1 {
>      sem_close;
> @@ -264,6 +266,7 @@ libc {
>      sem_getvalue;
>      sem_init;
>      sem_open;
> +    sem_post;
>      thrd_exit;
>      tss_create;
>      tss_delete;
> @@ -329,7 +332,6 @@ libpthread {
>      pthread_detach;
>      pthread_join;
>      pthread_sigmask;
> -    sem_post;
>      sem_trywait;
>      sem_wait;
>    }
> @@ -344,7 +346,6 @@ libpthread {
>      pthread_create;
>      pthread_getconcurrency;
>      pthread_setconcurrency;
> -    sem_post;
>      sem_trywait;
>      sem_wait;
>    }
> diff --git a/nptl/sem_post.c b/nptl/sem_post.c
> index c888fa6a9b..d56a6ed983 100644
> --- a/nptl/sem_post.c
> +++ b/nptl/sem_post.c
> @@ -76,10 +76,13 @@ __new_sem_post (sem_t *sem)
>  
>    return 0;
>  }
> -versioned_symbol (libpthread, __new_sem_post, sem_post, GLIBC_2_1);
> +versioned_symbol (libpthread, __new_sem_post, sem_post, GLIBC_2_34);
>  
> +#if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_1, GLIBC_2_34)
> +compat_symbol (libpthread, __new_sem_post, sem_post, GLIBC_2_1);
> +#endif
>  
> -#if SHLIB_COMPAT (libpthread, GLIBC_2_0, GLIBC_2_1)
> +#if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_0, GLIBC_2_1)
>  int
>  attribute_compat_text_section
>  __old_sem_post (sem_t *sem)
> diff --git a/sysdeps/unix/sysv/linux/aarch64/libc.abilist b/sysdeps/unix/sysv/linux/aarch64/libc.abilist
> index 8af3a25de7..c785610d5e 100644
> --- a/sysdeps/unix/sysv/linux/aarch64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/aarch64/libc.abilist
> @@ -1665,6 +1665,7 @@ GLIBC_2.17 sem_destroy F
>  GLIBC_2.17 sem_getvalue F
>  GLIBC_2.17 sem_init F
>  GLIBC_2.17 sem_open F
> +GLIBC_2.17 sem_post F
>  GLIBC_2.17 semctl F
>  GLIBC_2.17 semget F
>  GLIBC_2.17 semop F
> @@ -2357,6 +2358,7 @@ GLIBC_2.34 sem_destroy F
>  GLIBC_2.34 sem_getvalue F
>  GLIBC_2.34 sem_init F
>  GLIBC_2.34 sem_open F
> +GLIBC_2.34 sem_post F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> diff --git a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
> index cc05c4ec42..e2a5c2b8e0 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_post F
>  GLIBC_2.17 sem_timedwait F
>  GLIBC_2.17 sem_trywait F
>  GLIBC_2.17 sem_unlink F
> diff --git a/sysdeps/unix/sysv/linux/alpha/libc.abilist b/sysdeps/unix/sysv/linux/alpha/libc.abilist
> index a906e29085..f1c5a64493 100644
> --- a/sysdeps/unix/sysv/linux/alpha/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/alpha/libc.abilist
> @@ -1014,6 +1014,7 @@ GLIBC_2.0 select F
>  GLIBC_2.0 sem_destroy F
>  GLIBC_2.0 sem_getvalue F
>  GLIBC_2.0 sem_init F
> +GLIBC_2.0 sem_post F
>  GLIBC_2.0 semctl F
>  GLIBC_2.0 semget F
>  GLIBC_2.0 semop F
> @@ -1640,6 +1641,7 @@ GLIBC_2.1 select F
>  GLIBC_2.1 sem_destroy F
>  GLIBC_2.1 sem_getvalue F
>  GLIBC_2.1 sem_init F
> +GLIBC_2.1 sem_post F
>  GLIBC_2.1 sendfile F
>  GLIBC_2.1 setitimer F
>  GLIBC_2.1 setrlimit64 F
> @@ -2441,6 +2443,7 @@ GLIBC_2.34 sem_destroy F
>  GLIBC_2.34 sem_getvalue F
>  GLIBC_2.34 sem_init F
>  GLIBC_2.34 sem_open F
> +GLIBC_2.34 sem_post F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> diff --git a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
> index 04dca3fb17..1e04fed446 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_post F
>  GLIBC_2.0 sem_trywait F
>  GLIBC_2.0 sem_wait F
>  GLIBC_2.1 pthread_attr_getguardsize F
> @@ -21,7 +20,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_post F
>  GLIBC_2.1 sem_trywait F
>  GLIBC_2.1 sem_wait F
>  GLIBC_2.1.1 sem_unlink F
> diff --git a/sysdeps/unix/sysv/linux/arc/libc.abilist b/sysdeps/unix/sysv/linux/arc/libc.abilist
> index b7f211bee3..794544cd1d 100644
> --- a/sysdeps/unix/sysv/linux/arc/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/arc/libc.abilist
> @@ -1607,6 +1607,7 @@ GLIBC_2.32 sem_destroy F
>  GLIBC_2.32 sem_getvalue F
>  GLIBC_2.32 sem_init F
>  GLIBC_2.32 sem_open F
> +GLIBC_2.32 sem_post F
>  GLIBC_2.32 semctl F
>  GLIBC_2.32 semget F
>  GLIBC_2.32 semop F
> @@ -2116,6 +2117,7 @@ GLIBC_2.34 sem_destroy F
>  GLIBC_2.34 sem_getvalue F
>  GLIBC_2.34 sem_init F
>  GLIBC_2.34 sem_open F
> +GLIBC_2.34 sem_post F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> diff --git a/sysdeps/unix/sysv/linux/arc/libpthread.abilist b/sysdeps/unix/sysv/linux/arc/libpthread.abilist
> index 620aa737af..ed2bdcf3fa 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_post F
>  GLIBC_2.32 sem_timedwait F
>  GLIBC_2.32 sem_trywait F
>  GLIBC_2.32 sem_unlink F
> diff --git a/sysdeps/unix/sysv/linux/arm/be/libc.abilist b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
> index 0ee04e8ec2..f483c62b12 100644
> --- a/sysdeps/unix/sysv/linux/arm/be/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
> @@ -258,6 +258,7 @@ GLIBC_2.34 sem_destroy F
>  GLIBC_2.34 sem_getvalue F
>  GLIBC_2.34 sem_init F
>  GLIBC_2.34 sem_open F
> +GLIBC_2.34 sem_post F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> @@ -1848,6 +1849,7 @@ GLIBC_2.4 sem_destroy F
>  GLIBC_2.4 sem_getvalue F
>  GLIBC_2.4 sem_init F
>  GLIBC_2.4 sem_open F
> +GLIBC_2.4 sem_post F
>  GLIBC_2.4 semctl F
>  GLIBC_2.4 semget F
>  GLIBC_2.4 semop F
> diff --git a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
> index 2cad2a326d..0f562f4d9e 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_post F
>  GLIBC_2.4 sem_timedwait F
>  GLIBC_2.4 sem_trywait F
>  GLIBC_2.4 sem_unlink F
> diff --git a/sysdeps/unix/sysv/linux/arm/le/libc.abilist b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
> index 3440ea0eb8..acca7c7ea6 100644
> --- a/sysdeps/unix/sysv/linux/arm/le/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
> @@ -255,6 +255,7 @@ GLIBC_2.34 sem_destroy F
>  GLIBC_2.34 sem_getvalue F
>  GLIBC_2.34 sem_init F
>  GLIBC_2.34 sem_open F
> +GLIBC_2.34 sem_post F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> @@ -1845,6 +1846,7 @@ GLIBC_2.4 sem_destroy F
>  GLIBC_2.4 sem_getvalue F
>  GLIBC_2.4 sem_init F
>  GLIBC_2.4 sem_open F
> +GLIBC_2.4 sem_post F
>  GLIBC_2.4 semctl F
>  GLIBC_2.4 semget F
>  GLIBC_2.4 semop F
> diff --git a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
> index 2cad2a326d..0f562f4d9e 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_post F
>  GLIBC_2.4 sem_timedwait F
>  GLIBC_2.4 sem_trywait F
>  GLIBC_2.4 sem_unlink F
> diff --git a/sysdeps/unix/sysv/linux/csky/libc.abilist b/sysdeps/unix/sysv/linux/csky/libc.abilist
> index 862ca71146..480d93f880 100644
> --- a/sysdeps/unix/sysv/linux/csky/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/csky/libc.abilist
> @@ -1668,6 +1668,7 @@ GLIBC_2.29 sem_destroy F
>  GLIBC_2.29 sem_getvalue F
>  GLIBC_2.29 sem_init F
>  GLIBC_2.29 sem_open F
> +GLIBC_2.29 sem_post F
>  GLIBC_2.29 semctl F
>  GLIBC_2.29 semget F
>  GLIBC_2.29 semop F
> @@ -2300,6 +2301,7 @@ GLIBC_2.34 sem_destroy F
>  GLIBC_2.34 sem_getvalue F
>  GLIBC_2.34 sem_init F
>  GLIBC_2.34 sem_open F
> +GLIBC_2.34 sem_post F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> diff --git a/sysdeps/unix/sysv/linux/csky/libpthread.abilist b/sysdeps/unix/sysv/linux/csky/libpthread.abilist
> index 0d192aad92..c3a14fa4a2 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_post F
>  GLIBC_2.29 sem_timedwait F
>  GLIBC_2.29 sem_trywait F
>  GLIBC_2.29 sem_unlink F
> diff --git a/sysdeps/unix/sysv/linux/hppa/libc.abilist b/sysdeps/unix/sysv/linux/hppa/libc.abilist
> index 829c751dd4..90b5df3648 100644
> --- a/sysdeps/unix/sysv/linux/hppa/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/hppa/libc.abilist
> @@ -1457,6 +1457,7 @@ GLIBC_2.2 sem_destroy F
>  GLIBC_2.2 sem_getvalue F
>  GLIBC_2.2 sem_init F
>  GLIBC_2.2 sem_open F
> +GLIBC_2.2 sem_post F
>  GLIBC_2.2 semctl F
>  GLIBC_2.2 semget F
>  GLIBC_2.2 semop F
> @@ -2251,6 +2252,7 @@ GLIBC_2.34 sem_destroy F
>  GLIBC_2.34 sem_getvalue F
>  GLIBC_2.34 sem_init F
>  GLIBC_2.34 sem_open F
> +GLIBC_2.34 sem_post F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> diff --git a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
> index 9e3a2d7b79..069e32a2c2 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_post F
>  GLIBC_2.2 sem_timedwait F
>  GLIBC_2.2 sem_trywait F
>  GLIBC_2.2 sem_unlink F
> diff --git a/sysdeps/unix/sysv/linux/i386/libc.abilist b/sysdeps/unix/sysv/linux/i386/libc.abilist
> index e06fc546c7..aea4c70ae9 100644
> --- a/sysdeps/unix/sysv/linux/i386/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/i386/libc.abilist
> @@ -991,6 +991,7 @@ GLIBC_2.0 select F
>  GLIBC_2.0 sem_destroy F
>  GLIBC_2.0 sem_getvalue F
>  GLIBC_2.0 sem_init F
> +GLIBC_2.0 sem_post F
>  GLIBC_2.0 semctl F
>  GLIBC_2.0 semget F
>  GLIBC_2.0 semop F
> @@ -1610,6 +1611,7 @@ GLIBC_2.1 scandir64 F
>  GLIBC_2.1 sem_destroy F
>  GLIBC_2.1 sem_getvalue F
>  GLIBC_2.1 sem_init F
> +GLIBC_2.1 sem_post F
>  GLIBC_2.1 sendfile F
>  GLIBC_2.1 setrlimit64 F
>  GLIBC_2.1 setutxent F
> @@ -2431,6 +2433,7 @@ GLIBC_2.34 sem_destroy F
>  GLIBC_2.34 sem_getvalue F
>  GLIBC_2.34 sem_init F
>  GLIBC_2.34 sem_open F
> +GLIBC_2.34 sem_post F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> diff --git a/sysdeps/unix/sysv/linux/i386/libpthread.abilist b/sysdeps/unix/sysv/linux/i386/libpthread.abilist
> index c109dfcfd2..b4af14301c 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_post F
>  GLIBC_2.0 sem_trywait F
>  GLIBC_2.0 sem_wait F
>  GLIBC_2.1 pthread_attr_getguardsize F
> @@ -21,7 +20,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_post F
>  GLIBC_2.1 sem_trywait F
>  GLIBC_2.1 sem_wait F
>  GLIBC_2.1.1 sem_unlink F
> diff --git a/sysdeps/unix/sysv/linux/ia64/libc.abilist b/sysdeps/unix/sysv/linux/ia64/libc.abilist
> index 04062ddec5..8444ec41d2 100644
> --- a/sysdeps/unix/sysv/linux/ia64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/ia64/libc.abilist
> @@ -1478,6 +1478,7 @@ GLIBC_2.2 sem_destroy F
>  GLIBC_2.2 sem_getvalue F
>  GLIBC_2.2 sem_init F
>  GLIBC_2.2 sem_open F
> +GLIBC_2.2 sem_post F
>  GLIBC_2.2 semctl F
>  GLIBC_2.2 semget F
>  GLIBC_2.2 semop F
> @@ -2285,6 +2286,7 @@ GLIBC_2.34 sem_destroy F
>  GLIBC_2.34 sem_getvalue F
>  GLIBC_2.34 sem_init F
>  GLIBC_2.34 sem_open F
> +GLIBC_2.34 sem_post F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> diff --git a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
> index 2439b506d9..993a2481b8 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_post F
>  GLIBC_2.2 sem_timedwait F
>  GLIBC_2.2 sem_trywait F
>  GLIBC_2.2 sem_unlink F
> diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
> index 1f14f1fdae..0d678c99a2 100644
> --- a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
> @@ -259,6 +259,7 @@ GLIBC_2.34 sem_destroy F
>  GLIBC_2.34 sem_getvalue F
>  GLIBC_2.34 sem_init F
>  GLIBC_2.34 sem_open F
> +GLIBC_2.34 sem_post F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> @@ -1828,6 +1829,7 @@ GLIBC_2.4 sem_destroy F
>  GLIBC_2.4 sem_getvalue F
>  GLIBC_2.4 sem_init F
>  GLIBC_2.4 sem_open F
> +GLIBC_2.4 sem_post F
>  GLIBC_2.4 semctl F
>  GLIBC_2.4 semget F
>  GLIBC_2.4 semop F
> diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
> index 2cad2a326d..0f562f4d9e 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_post F
>  GLIBC_2.4 sem_timedwait F
>  GLIBC_2.4 sem_trywait F
>  GLIBC_2.4 sem_unlink F
> diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
> index ef4c457b82..2716410e46 100644
> --- a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
> @@ -990,6 +990,7 @@ GLIBC_2.0 select F
>  GLIBC_2.0 sem_destroy F
>  GLIBC_2.0 sem_getvalue F
>  GLIBC_2.0 sem_init F
> +GLIBC_2.0 sem_post F
>  GLIBC_2.0 semctl F
>  GLIBC_2.0 semget F
>  GLIBC_2.0 semop F
> @@ -1606,6 +1607,7 @@ GLIBC_2.1 scandir64 F
>  GLIBC_2.1 sem_destroy F
>  GLIBC_2.1 sem_getvalue F
>  GLIBC_2.1 sem_init F
> +GLIBC_2.1 sem_post F
>  GLIBC_2.1 sendfile F
>  GLIBC_2.1 setrlimit64 F
>  GLIBC_2.1 setutxent F
> @@ -2374,6 +2376,7 @@ GLIBC_2.34 sem_destroy F
>  GLIBC_2.34 sem_getvalue F
>  GLIBC_2.34 sem_init F
>  GLIBC_2.34 sem_open F
> +GLIBC_2.34 sem_post F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
> index c109dfcfd2..b4af14301c 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_post F
>  GLIBC_2.0 sem_trywait F
>  GLIBC_2.0 sem_wait F
>  GLIBC_2.1 pthread_attr_getguardsize F
> @@ -21,7 +20,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_post F
>  GLIBC_2.1 sem_trywait F
>  GLIBC_2.1 sem_wait F
>  GLIBC_2.1.1 sem_unlink F
> diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
> index c85118ef83..38d725dd3a 100644
> --- a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
> @@ -1667,6 +1667,7 @@ GLIBC_2.18 sem_destroy F
>  GLIBC_2.18 sem_getvalue F
>  GLIBC_2.18 sem_init F
>  GLIBC_2.18 sem_open F
> +GLIBC_2.18 sem_post F
>  GLIBC_2.18 semctl F
>  GLIBC_2.18 semget F
>  GLIBC_2.18 semop F
> @@ -2351,6 +2352,7 @@ GLIBC_2.34 sem_destroy F
>  GLIBC_2.34 sem_getvalue F
>  GLIBC_2.34 sem_init F
>  GLIBC_2.34 sem_open F
> +GLIBC_2.34 sem_post F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
> index 87adfbd119..518406c580 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_post F
>  GLIBC_2.18 sem_timedwait F
>  GLIBC_2.18 sem_trywait F
>  GLIBC_2.18 sem_unlink F
> diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
> index e329d24837..d4079051df 100644
> --- a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
> @@ -1667,6 +1667,7 @@ GLIBC_2.18 sem_destroy F
>  GLIBC_2.18 sem_getvalue F
>  GLIBC_2.18 sem_init F
>  GLIBC_2.18 sem_open F
> +GLIBC_2.18 sem_post F
>  GLIBC_2.18 semctl F
>  GLIBC_2.18 semget F
>  GLIBC_2.18 semop F
> @@ -2348,6 +2349,7 @@ GLIBC_2.34 sem_destroy F
>  GLIBC_2.34 sem_getvalue F
>  GLIBC_2.34 sem_init F
>  GLIBC_2.34 sem_open F
> +GLIBC_2.34 sem_post F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
> index 87adfbd119..518406c580 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_post F
>  GLIBC_2.18 sem_timedwait F
>  GLIBC_2.18 sem_trywait F
>  GLIBC_2.18 sem_unlink F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
> index 10c4f9169f..ee148e01c2 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
> @@ -987,6 +987,7 @@ GLIBC_2.0 select F
>  GLIBC_2.0 sem_destroy F
>  GLIBC_2.0 sem_getvalue F
>  GLIBC_2.0 sem_init F
> +GLIBC_2.0 sem_post F
>  GLIBC_2.0 semctl F
>  GLIBC_2.0 semget F
>  GLIBC_2.0 semop F
> @@ -1896,6 +1897,7 @@ GLIBC_2.2 sem_destroy F
>  GLIBC_2.2 sem_getvalue F
>  GLIBC_2.2 sem_init F
>  GLIBC_2.2 sem_open F
> +GLIBC_2.2 sem_post F
>  GLIBC_2.2 semctl F
>  GLIBC_2.2 sendfile F
>  GLIBC_2.2 setrlimit64 F
> @@ -2337,6 +2339,7 @@ GLIBC_2.34 sem_destroy F
>  GLIBC_2.34 sem_getvalue F
>  GLIBC_2.34 sem_init F
>  GLIBC_2.34 sem_open F
> +GLIBC_2.34 sem_post F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
> index fda2fedaa8..9482a83b1c 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_post F
>  GLIBC_2.0 sem_trywait F
>  GLIBC_2.0 sem_wait F
>  GLIBC_2.11 pthread_sigqueue F
> @@ -35,7 +34,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_post F
>  GLIBC_2.2 sem_timedwait F
>  GLIBC_2.2 sem_trywait F
>  GLIBC_2.2 sem_unlink F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
> index 5c756ef87c..f6d465871f 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
> @@ -987,6 +987,7 @@ GLIBC_2.0 select F
>  GLIBC_2.0 sem_destroy F
>  GLIBC_2.0 sem_getvalue F
>  GLIBC_2.0 sem_init F
> +GLIBC_2.0 sem_post F
>  GLIBC_2.0 semctl F
>  GLIBC_2.0 semget F
>  GLIBC_2.0 semop F
> @@ -1894,6 +1895,7 @@ GLIBC_2.2 sem_destroy F
>  GLIBC_2.2 sem_getvalue F
>  GLIBC_2.2 sem_init F
>  GLIBC_2.2 sem_open F
> +GLIBC_2.2 sem_post F
>  GLIBC_2.2 semctl F
>  GLIBC_2.2 sendfile F
>  GLIBC_2.2 setrlimit64 F
> @@ -2335,6 +2337,7 @@ GLIBC_2.34 sem_destroy F
>  GLIBC_2.34 sem_getvalue F
>  GLIBC_2.34 sem_init F
>  GLIBC_2.34 sem_open F
> +GLIBC_2.34 sem_post F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
> index fda2fedaa8..9482a83b1c 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_post F
>  GLIBC_2.0 sem_trywait F
>  GLIBC_2.0 sem_wait F
>  GLIBC_2.11 pthread_sigqueue F
> @@ -35,7 +34,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_post F
>  GLIBC_2.2 sem_timedwait F
>  GLIBC_2.2 sem_trywait F
>  GLIBC_2.2 sem_unlink F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
> index 3a48dba1a8..22bb85c170 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
> @@ -987,6 +987,7 @@ GLIBC_2.0 select F
>  GLIBC_2.0 sem_destroy F
>  GLIBC_2.0 sem_getvalue F
>  GLIBC_2.0 sem_init F
> +GLIBC_2.0 sem_post F
>  GLIBC_2.0 semctl F
>  GLIBC_2.0 semget F
>  GLIBC_2.0 semop F
> @@ -1894,6 +1895,7 @@ GLIBC_2.2 sem_destroy F
>  GLIBC_2.2 sem_getvalue F
>  GLIBC_2.2 sem_init F
>  GLIBC_2.2 sem_open F
> +GLIBC_2.2 sem_post F
>  GLIBC_2.2 sendfile F
>  GLIBC_2.2 setrlimit64 F
>  GLIBC_2.2 setutxent F
> @@ -2343,6 +2345,7 @@ GLIBC_2.34 sem_destroy F
>  GLIBC_2.34 sem_getvalue F
>  GLIBC_2.34 sem_init F
>  GLIBC_2.34 sem_open F
> +GLIBC_2.34 sem_post F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
> index 43b9ffa9be..a2c0ac31eb 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
> @@ -985,6 +985,7 @@ GLIBC_2.0 select F
>  GLIBC_2.0 sem_destroy F
>  GLIBC_2.0 sem_getvalue F
>  GLIBC_2.0 sem_init F
> +GLIBC_2.0 sem_post F
>  GLIBC_2.0 semctl F
>  GLIBC_2.0 semget F
>  GLIBC_2.0 semop F
> @@ -1890,6 +1891,7 @@ GLIBC_2.2 sem_destroy F
>  GLIBC_2.2 sem_getvalue F
>  GLIBC_2.2 sem_init F
>  GLIBC_2.2 sem_open F
> +GLIBC_2.2 sem_post F
>  GLIBC_2.2 sendfile F
>  GLIBC_2.2 setrlimit64 F
>  GLIBC_2.2 setutxent F
> @@ -2337,6 +2339,7 @@ GLIBC_2.34 sem_destroy F
>  GLIBC_2.34 sem_getvalue F
>  GLIBC_2.34 sem_init F
>  GLIBC_2.34 sem_open F
> +GLIBC_2.34 sem_post F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> diff --git a/sysdeps/unix/sysv/linux/nios2/libc.abilist b/sysdeps/unix/sysv/linux/nios2/libc.abilist
> index 9871445825..5491bc9076 100644
> --- a/sysdeps/unix/sysv/linux/nios2/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/nios2/libc.abilist
> @@ -1710,6 +1710,7 @@ GLIBC_2.21 sem_destroy F
>  GLIBC_2.21 sem_getvalue F
>  GLIBC_2.21 sem_init F
>  GLIBC_2.21 sem_open F
> +GLIBC_2.21 sem_post F
>  GLIBC_2.21 semctl F
>  GLIBC_2.21 semget F
>  GLIBC_2.21 semop F
> @@ -2390,6 +2391,7 @@ GLIBC_2.34 sem_destroy F
>  GLIBC_2.34 sem_getvalue F
>  GLIBC_2.34 sem_init F
>  GLIBC_2.34 sem_open F
> +GLIBC_2.34 sem_post F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> diff --git a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
> index 8dc58decd5..d966123dd7 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_post F
>  GLIBC_2.21 sem_timedwait F
>  GLIBC_2.21 sem_trywait F
>  GLIBC_2.21 sem_unlink F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
> index a18583a716..9dfb36bcf1 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
> @@ -998,6 +998,7 @@ GLIBC_2.0 select F
>  GLIBC_2.0 sem_destroy F
>  GLIBC_2.0 sem_getvalue F
>  GLIBC_2.0 sem_init F
> +GLIBC_2.0 sem_post F
>  GLIBC_2.0 semctl F
>  GLIBC_2.0 semget F
>  GLIBC_2.0 semop F
> @@ -1611,6 +1612,7 @@ GLIBC_2.1 scandir64 F
>  GLIBC_2.1 sem_destroy F
>  GLIBC_2.1 sem_getvalue F
>  GLIBC_2.1 sem_init F
> +GLIBC_2.1 sem_post F
>  GLIBC_2.1 sendfile F
>  GLIBC_2.1 setrlimit64 F
>  GLIBC_2.1 setutxent F
> @@ -2401,6 +2403,7 @@ GLIBC_2.34 sem_destroy F
>  GLIBC_2.34 sem_getvalue F
>  GLIBC_2.34 sem_init F
>  GLIBC_2.34 sem_open F
> +GLIBC_2.34 sem_post F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
> index dc53279748..3c6e065e52 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_post F
>  GLIBC_2.0 sem_trywait F
>  GLIBC_2.0 sem_wait F
>  GLIBC_2.1 pthread_attr_getguardsize F
> @@ -21,7 +20,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_post F
>  GLIBC_2.1 sem_trywait F
>  GLIBC_2.1 sem_wait F
>  GLIBC_2.1.1 sem_unlink F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
> index 9bf3da7388..b1f04fc147 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
> @@ -998,6 +998,7 @@ GLIBC_2.0 select F
>  GLIBC_2.0 sem_destroy F
>  GLIBC_2.0 sem_getvalue F
>  GLIBC_2.0 sem_init F
> +GLIBC_2.0 sem_post F
>  GLIBC_2.0 semctl F
>  GLIBC_2.0 semget F
>  GLIBC_2.0 semop F
> @@ -1611,6 +1612,7 @@ GLIBC_2.1 scandir64 F
>  GLIBC_2.1 sem_destroy F
>  GLIBC_2.1 sem_getvalue F
>  GLIBC_2.1 sem_init F
> +GLIBC_2.1 sem_post F
>  GLIBC_2.1 sendfile F
>  GLIBC_2.1 setrlimit64 F
>  GLIBC_2.1 setutxent F
> @@ -2434,6 +2436,7 @@ GLIBC_2.34 sem_destroy F
>  GLIBC_2.34 sem_getvalue F
>  GLIBC_2.34 sem_init F
>  GLIBC_2.34 sem_open F
> +GLIBC_2.34 sem_post F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
> index d5706b2f69..b5229a315f 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
> @@ -1582,6 +1582,7 @@ GLIBC_2.3 sem_destroy F
>  GLIBC_2.3 sem_getvalue F
>  GLIBC_2.3 sem_init F
>  GLIBC_2.3 sem_open F
> +GLIBC_2.3 sem_post F
>  GLIBC_2.3 semctl F
>  GLIBC_2.3 semget F
>  GLIBC_2.3 semop F
> @@ -2252,6 +2253,7 @@ GLIBC_2.34 sem_destroy F
>  GLIBC_2.34 sem_getvalue F
>  GLIBC_2.34 sem_init F
>  GLIBC_2.34 sem_open F
> +GLIBC_2.34 sem_post F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
> index 2897e7dbb7..1118ba89f6 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_post F
>  GLIBC_2.3 sem_timedwait F
>  GLIBC_2.3 sem_trywait F
>  GLIBC_2.3 sem_unlink F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
> index deb5f78799..e68290a5fe 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
> @@ -1753,6 +1753,7 @@ GLIBC_2.17 sem_destroy F
>  GLIBC_2.17 sem_getvalue F
>  GLIBC_2.17 sem_init F
>  GLIBC_2.17 sem_open F
> +GLIBC_2.17 sem_post F
>  GLIBC_2.17 semctl F
>  GLIBC_2.17 semget F
>  GLIBC_2.17 semop F
> @@ -2553,6 +2554,7 @@ GLIBC_2.34 sem_destroy F
>  GLIBC_2.34 sem_getvalue F
>  GLIBC_2.34 sem_init F
>  GLIBC_2.34 sem_open F
> +GLIBC_2.34 sem_post F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
> index cc05c4ec42..e2a5c2b8e0 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_post F
>  GLIBC_2.17 sem_timedwait F
>  GLIBC_2.17 sem_trywait F
>  GLIBC_2.17 sem_unlink F
> diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
> index e3d9041b3e..f6062c942b 100644
> --- a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
> @@ -1609,6 +1609,7 @@ GLIBC_2.33 sem_destroy F
>  GLIBC_2.33 sem_getvalue F
>  GLIBC_2.33 sem_init F
>  GLIBC_2.33 sem_open F
> +GLIBC_2.33 sem_post F
>  GLIBC_2.33 semctl F
>  GLIBC_2.33 semget F
>  GLIBC_2.33 semop F
> @@ -2118,6 +2119,7 @@ GLIBC_2.34 sem_destroy F
>  GLIBC_2.34 sem_getvalue F
>  GLIBC_2.34 sem_init F
>  GLIBC_2.34 sem_open F
> +GLIBC_2.34 sem_post F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
> index 93599c88a2..431e167351 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_post F
>  GLIBC_2.33 sem_timedwait F
>  GLIBC_2.33 sem_trywait F
>  GLIBC_2.33 sem_unlink F
> diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
> index b6b59ee692..0b667860ec 100644
> --- a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
> @@ -1657,6 +1657,7 @@ GLIBC_2.27 sem_destroy F
>  GLIBC_2.27 sem_getvalue F
>  GLIBC_2.27 sem_init F
>  GLIBC_2.27 sem_open F
> +GLIBC_2.27 sem_post F
>  GLIBC_2.27 semctl F
>  GLIBC_2.27 semget F
>  GLIBC_2.27 semop F
> @@ -2318,6 +2319,7 @@ GLIBC_2.34 sem_destroy F
>  GLIBC_2.34 sem_getvalue F
>  GLIBC_2.34 sem_init F
>  GLIBC_2.34 sem_open F
> +GLIBC_2.34 sem_post F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
> index 215454cc39..b102df08a7 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_post F
>  GLIBC_2.27 sem_timedwait F
>  GLIBC_2.27 sem_trywait F
>  GLIBC_2.27 sem_unlink F
> diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
> index ca7a6eec05..118d2a04ce 100644
> --- a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
> @@ -989,6 +989,7 @@ GLIBC_2.0 select F
>  GLIBC_2.0 sem_destroy F
>  GLIBC_2.0 sem_getvalue F
>  GLIBC_2.0 sem_init F
> +GLIBC_2.0 sem_post F
>  GLIBC_2.0 semctl F
>  GLIBC_2.0 semget F
>  GLIBC_2.0 semop F
> @@ -1603,6 +1604,7 @@ GLIBC_2.1 scandir64 F
>  GLIBC_2.1 sem_destroy F
>  GLIBC_2.1 sem_getvalue F
>  GLIBC_2.1 sem_init F
> +GLIBC_2.1 sem_post F
>  GLIBC_2.1 sendfile F
>  GLIBC_2.1 setrlimit64 F
>  GLIBC_2.1 setutxent F
> @@ -2399,6 +2401,7 @@ GLIBC_2.34 sem_destroy F
>  GLIBC_2.34 sem_getvalue F
>  GLIBC_2.34 sem_init F
>  GLIBC_2.34 sem_open F
> +GLIBC_2.34 sem_post F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
> index 6ed45aa436..966ce977a8 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_post F
>  GLIBC_2.0 sem_trywait F
>  GLIBC_2.0 sem_wait F
>  GLIBC_2.1 pthread_attr_getguardsize F
> @@ -21,7 +20,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_post F
>  GLIBC_2.1 sem_trywait F
>  GLIBC_2.1 sem_wait F
>  GLIBC_2.1.1 sem_unlink F
> diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
> index 9d13b92c53..6c5783579b 100644
> --- a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
> @@ -1475,6 +1475,7 @@ GLIBC_2.2 sem_destroy F
>  GLIBC_2.2 sem_getvalue F
>  GLIBC_2.2 sem_init F
>  GLIBC_2.2 sem_open F
> +GLIBC_2.2 sem_post F
>  GLIBC_2.2 semctl F
>  GLIBC_2.2 semget F
>  GLIBC_2.2 semop F
> @@ -2289,6 +2290,7 @@ GLIBC_2.34 sem_destroy F
>  GLIBC_2.34 sem_getvalue F
>  GLIBC_2.34 sem_init F
>  GLIBC_2.34 sem_open F
> +GLIBC_2.34 sem_post F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
> index 162c5743a9..8ecf3125a6 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_post F
>  GLIBC_2.2 sem_timedwait F
>  GLIBC_2.2 sem_trywait F
>  GLIBC_2.2 sem_unlink F
> diff --git a/sysdeps/unix/sysv/linux/sh/be/libc.abilist b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
> index 0cea6eb093..d357f4ceb1 100644
> --- a/sysdeps/unix/sysv/linux/sh/be/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
> @@ -1461,6 +1461,7 @@ GLIBC_2.2 sem_destroy F
>  GLIBC_2.2 sem_getvalue F
>  GLIBC_2.2 sem_init F
>  GLIBC_2.2 sem_open F
> +GLIBC_2.2 sem_post F
>  GLIBC_2.2 semctl F
>  GLIBC_2.2 semget F
>  GLIBC_2.2 semop F
> @@ -2258,6 +2259,7 @@ GLIBC_2.34 sem_destroy F
>  GLIBC_2.34 sem_getvalue F
>  GLIBC_2.34 sem_init F
>  GLIBC_2.34 sem_open F
> +GLIBC_2.34 sem_post F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> diff --git a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
> index 9e3a2d7b79..069e32a2c2 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_post F
>  GLIBC_2.2 sem_timedwait F
>  GLIBC_2.2 sem_trywait F
>  GLIBC_2.2 sem_unlink F
> diff --git a/sysdeps/unix/sysv/linux/sh/le/libc.abilist b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
> index af2e74fdfa..ff348ac39d 100644
> --- a/sysdeps/unix/sysv/linux/sh/le/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
> @@ -1461,6 +1461,7 @@ GLIBC_2.2 sem_destroy F
>  GLIBC_2.2 sem_getvalue F
>  GLIBC_2.2 sem_init F
>  GLIBC_2.2 sem_open F
> +GLIBC_2.2 sem_post F
>  GLIBC_2.2 semctl F
>  GLIBC_2.2 semget F
>  GLIBC_2.2 semop F
> @@ -2255,6 +2256,7 @@ GLIBC_2.34 sem_destroy F
>  GLIBC_2.34 sem_getvalue F
>  GLIBC_2.34 sem_init F
>  GLIBC_2.34 sem_open F
> +GLIBC_2.34 sem_post F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> diff --git a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
> index 9e3a2d7b79..069e32a2c2 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_post F
>  GLIBC_2.2 sem_timedwait F
>  GLIBC_2.2 sem_trywait F
>  GLIBC_2.2 sem_unlink F
> diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
> index 79b69a31be..3a54c61f14 100644
> --- a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
> @@ -992,6 +992,7 @@ GLIBC_2.0 select F
>  GLIBC_2.0 sem_destroy F
>  GLIBC_2.0 sem_getvalue F
>  GLIBC_2.0 sem_init F
> +GLIBC_2.0 sem_post F
>  GLIBC_2.0 semctl F
>  GLIBC_2.0 semget F
>  GLIBC_2.0 semop F
> @@ -1604,6 +1605,7 @@ GLIBC_2.1 scandir64 F
>  GLIBC_2.1 sem_destroy F
>  GLIBC_2.1 sem_getvalue F
>  GLIBC_2.1 sem_init F
> +GLIBC_2.1 sem_post F
>  GLIBC_2.1 sendfile F
>  GLIBC_2.1 setrlimit64 F
>  GLIBC_2.1 setutxent F
> @@ -2390,6 +2392,7 @@ GLIBC_2.34 sem_destroy F
>  GLIBC_2.34 sem_getvalue F
>  GLIBC_2.34 sem_init F
>  GLIBC_2.34 sem_open F
> +GLIBC_2.34 sem_post F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
> index 04dca3fb17..1e04fed446 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_post F
>  GLIBC_2.0 sem_trywait F
>  GLIBC_2.0 sem_wait F
>  GLIBC_2.1 pthread_attr_getguardsize F
> @@ -21,7 +20,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_post F
>  GLIBC_2.1 sem_trywait F
>  GLIBC_2.1 sem_wait F
>  GLIBC_2.1.1 sem_unlink F
> diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
> index 8e367c0030..ec86498235 100644
> --- a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
> @@ -1504,6 +1504,7 @@ GLIBC_2.2 sem_destroy F
>  GLIBC_2.2 sem_getvalue F
>  GLIBC_2.2 sem_init F
>  GLIBC_2.2 sem_open F
> +GLIBC_2.2 sem_post F
>  GLIBC_2.2 semctl F
>  GLIBC_2.2 semget F
>  GLIBC_2.2 semop F
> @@ -2306,6 +2307,7 @@ GLIBC_2.34 sem_destroy F
>  GLIBC_2.34 sem_getvalue F
>  GLIBC_2.34 sem_init F
>  GLIBC_2.34 sem_open F
> +GLIBC_2.34 sem_post F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
> index 2439b506d9..993a2481b8 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_post F
>  GLIBC_2.2 sem_timedwait F
>  GLIBC_2.2 sem_trywait F
>  GLIBC_2.2 sem_unlink F
> diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
> index 83f18b509d..c60b9d4baa 100644
> --- a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
> @@ -1472,6 +1472,7 @@ GLIBC_2.2.5 sem_destroy F
>  GLIBC_2.2.5 sem_getvalue F
>  GLIBC_2.2.5 sem_init F
>  GLIBC_2.2.5 sem_open F
> +GLIBC_2.2.5 sem_post F
>  GLIBC_2.2.5 semctl F
>  GLIBC_2.2.5 semget F
>  GLIBC_2.2.5 semop F
> @@ -2267,6 +2268,7 @@ GLIBC_2.34 sem_destroy F
>  GLIBC_2.34 sem_getvalue F
>  GLIBC_2.34 sem_init F
>  GLIBC_2.34 sem_open F
> +GLIBC_2.34 sem_post F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
> index 145925269d..3e760487f0 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_post F
>  GLIBC_2.2.5 sem_timedwait F
>  GLIBC_2.2.5 sem_trywait F
>  GLIBC_2.2.5 sem_unlink F
> diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
> index 01dd2eb8a6..1637d12535 100644
> --- a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
> @@ -1671,6 +1671,7 @@ GLIBC_2.16 sem_destroy F
>  GLIBC_2.16 sem_getvalue F
>  GLIBC_2.16 sem_init F
>  GLIBC_2.16 sem_open F
> +GLIBC_2.16 sem_post F
>  GLIBC_2.16 semctl F
>  GLIBC_2.16 semget F
>  GLIBC_2.16 semop F
> @@ -2372,6 +2373,7 @@ GLIBC_2.34 sem_destroy F
>  GLIBC_2.34 sem_getvalue F
>  GLIBC_2.34 sem_init F
>  GLIBC_2.34 sem_open F
> +GLIBC_2.34 sem_post F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
> index bbbaa04cd7..b63a912fde 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_post F
>  GLIBC_2.16 sem_timedwait F
>  GLIBC_2.16 sem_trywait F
>  GLIBC_2.16 sem_unlink F
> 

^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [PATCH 09/11] nptl: Move sem_timedwait into libc
  2021-05-03 13:52 ` [PATCH 09/11] nptl: Move sem_timedwait " Florian Weimer
@ 2021-05-05 14:37   ` Adhemerval Zanella
  0 siblings, 0 replies; 24+ messages in thread
From: Adhemerval Zanella @ 2021-05-05 14:37 UTC (permalink / raw)
  To: Florian Weimer, libc-alpha



On 03/05/2021 10:52, 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                                  |  3 ++-
>  nptl/sem_timedwait.c                           | 18 +++++++++++++-----
>  nptl/semaphoreP.h                              |  2 +-
>  sysdeps/unix/sysv/linux/aarch64/libc.abilist   |  2 ++
>  .../unix/sysv/linux/aarch64/libpthread.abilist |  1 -
>  sysdeps/unix/sysv/linux/alpha/libc.abilist     |  2 ++
>  .../unix/sysv/linux/alpha/libpthread.abilist   |  1 -
>  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 ++
>  .../unix/sysv/linux/arm/be/libpthread.abilist  |  1 -
>  sysdeps/unix/sysv/linux/arm/le/libc.abilist    |  2 ++
>  .../unix/sysv/linux/arm/le/libpthread.abilist  |  1 -
>  sysdeps/unix/sysv/linux/csky/libc.abilist      |  2 ++
>  .../unix/sysv/linux/csky/libpthread.abilist    |  1 -
>  sysdeps/unix/sysv/linux/hppa/libc.abilist      |  2 ++
>  .../unix/sysv/linux/hppa/libpthread.abilist    |  1 -
>  sysdeps/unix/sysv/linux/i386/libc.abilist      |  2 ++
>  .../unix/sysv/linux/i386/libpthread.abilist    |  1 -
>  sysdeps/unix/sysv/linux/ia64/libc.abilist      |  2 ++
>  .../unix/sysv/linux/ia64/libpthread.abilist    |  1 -
>  .../unix/sysv/linux/m68k/coldfire/libc.abilist |  2 ++
>  .../linux/m68k/coldfire/libpthread.abilist     |  1 -
>  .../unix/sysv/linux/m68k/m680x0/libc.abilist   |  2 ++
>  .../sysv/linux/m68k/m680x0/libpthread.abilist  |  1 -
>  .../unix/sysv/linux/microblaze/be/libc.abilist |  2 ++
>  .../linux/microblaze/be/libpthread.abilist     |  1 -
>  .../unix/sysv/linux/microblaze/le/libc.abilist |  2 ++
>  .../linux/microblaze/le/libpthread.abilist     |  1 -
>  .../sysv/linux/mips/mips32/fpu/libc.abilist    |  2 ++
>  .../sysv/linux/mips/mips32/libpthread.abilist  |  1 -
>  .../sysv/linux/mips/mips32/nofpu/libc.abilist  |  2 ++
>  .../sysv/linux/mips/mips64/libpthread.abilist  |  1 -
>  .../sysv/linux/mips/mips64/n32/libc.abilist    |  2 ++
>  .../sysv/linux/mips/mips64/n64/libc.abilist    |  2 ++
>  sysdeps/unix/sysv/linux/nios2/libc.abilist     |  2 ++
>  .../unix/sysv/linux/nios2/libpthread.abilist   |  1 -
>  .../linux/powerpc/powerpc32/fpu/libc.abilist   |  2 ++
>  .../linux/powerpc/powerpc32/libpthread.abilist |  1 -
>  .../linux/powerpc/powerpc32/nofpu/libc.abilist |  2 ++
>  .../linux/powerpc/powerpc64/be/libc.abilist    |  2 ++
>  .../powerpc/powerpc64/be/libpthread.abilist    |  1 -
>  .../linux/powerpc/powerpc64/le/libc.abilist    |  2 ++
>  .../powerpc/powerpc64/le/libpthread.abilist    |  1 -
>  .../unix/sysv/linux/riscv/rv32/libc.abilist    |  2 ++
>  .../sysv/linux/riscv/rv32/libpthread.abilist   |  1 -
>  .../unix/sysv/linux/riscv/rv64/libc.abilist    |  2 ++
>  .../sysv/linux/riscv/rv64/libpthread.abilist   |  1 -
>  .../unix/sysv/linux/s390/s390-32/libc.abilist  |  2 ++
>  .../sysv/linux/s390/s390-32/libpthread.abilist |  1 -
>  .../unix/sysv/linux/s390/s390-64/libc.abilist  |  2 ++
>  .../sysv/linux/s390/s390-64/libpthread.abilist |  1 -
>  sysdeps/unix/sysv/linux/sh/be/libc.abilist     |  2 ++
>  .../unix/sysv/linux/sh/be/libpthread.abilist   |  1 -
>  sysdeps/unix/sysv/linux/sh/le/libc.abilist     |  2 ++
>  .../unix/sysv/linux/sh/le/libpthread.abilist   |  1 -
>  .../unix/sysv/linux/sparc/sparc32/libc.abilist |  2 ++
>  .../linux/sparc/sparc32/libpthread.abilist     |  1 -
>  .../unix/sysv/linux/sparc/sparc64/libc.abilist |  2 ++
>  .../linux/sparc/sparc64/libpthread.abilist     |  1 -
>  sysdeps/unix/sysv/linux/x86_64/64/libc.abilist |  2 ++
>  .../sysv/linux/x86_64/64/libpthread.abilist    |  1 -
>  .../unix/sysv/linux/x86_64/x32/libc.abilist    |  2 ++
>  .../sysv/linux/x86_64/x32/libpthread.abilist   |  1 -
>  65 files changed, 81 insertions(+), 37 deletions(-)
> 
> diff --git a/nptl/Makefile b/nptl/Makefile
> index 36c0f270b9..9f73cf2434 100644
> --- a/nptl/Makefile
> +++ b/nptl/Makefile
> @@ -158,6 +158,7 @@ routines = \
>    sem_open \
>    sem_post \
>    sem_routines \
> +  sem_timedwait \
>    tpp \
>    unwind \
>  
> @@ -209,7 +210,6 @@ libpthread-routines = \
>    pthread_sigqueue \
>    pthread_timedjoin \
>    pthread_tryjoin \
> -  sem_timedwait \
>    sem_unlink \
>    sem_wait \
>    vars \
> diff --git a/nptl/Versions b/nptl/Versions
> index df3967516f..f19c2355f1 100644
> --- a/nptl/Versions
> +++ b/nptl/Versions
> @@ -114,6 +114,7 @@ libc {
>      pthread_spin_trylock;
>      pthread_spin_unlock;
>      pthread_yield;
> +    sem_timedwait;
>    }
>    GLIBC_2.2.3 {
>      pthread_getattr_np;
> @@ -267,6 +268,7 @@ libc {
>      sem_init;
>      sem_open;
>      sem_post;
> +    sem_timedwait;
>      thrd_exit;
>      tss_create;
>      tss_delete;
> @@ -371,7 +373,6 @@ libpthread {
>      pthread_yield;
>      pthread_rwlock_timedrdlock;
>      pthread_rwlock_timedwrlock;
> -    sem_timedwait;
>    }
>  
>    GLIBC_2.2.3 {
> diff --git a/nptl/sem_timedwait.c b/nptl/sem_timedwait.c
> index 770020e26c..584546c706 100644
> --- a/nptl/sem_timedwait.c
> +++ b/nptl/sem_timedwait.c
> @@ -24,7 +24,7 @@
>  /* This is in a separate file because because sem_timedwait is only provided
>     if __USE_XOPEN2K is defined.  */
>  int
> -__sem_timedwait64 (sem_t *sem, const struct __timespec64 *abstime)
> +___sem_timedwait64 (sem_t *sem, const struct __timespec64 *abstime)
>  {
>    if (! valid_nanoseconds (abstime->tv_nsec))
>      {
> @@ -42,15 +42,23 @@ __sem_timedwait64 (sem_t *sem, const struct __timespec64 *abstime)
>  				  CLOCK_REALTIME, abstime);
>  }
>  
> -#if __TIMESIZE != 64
> -libpthread_hidden_def (__sem_timedwait64)
> +#if __TIMESIZE == 64
> +strong_alias (___sem_timedwait64, ___sem_timedwait)
> +#else /* __TIMESPEC64 != 64 */
> +libc_hidden_ver (___sem_timedwait64, __sem_timedwait64)
> +#ifndef SHARED
> +strong_alias (___sem_timedwait64, __sem_timedwait64)
> +#endif
>  
>  int
> -__sem_timedwait (sem_t *sem, const struct timespec *abstime)
> +___sem_timedwait (sem_t *sem, const struct timespec *abstime)
>  {
>    struct __timespec64 ts64 = valid_timespec_to_timespec64 (*abstime);
>  
>    return __sem_timedwait64 (sem, &ts64);
>  }
> +#endif /* __TIMESPEC64 != 64 */
> +versioned_symbol (libc, ___sem_timedwait, sem_timedwait, GLIBC_2_34);
> +#if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_2, GLIBC_2_34)
> +compat_symbol (libpthread, ___sem_timedwait, sem_timedwait, GLIBC_2_2);
>  #endif
> -weak_alias (__sem_timedwait, sem_timedwait)
> diff --git a/nptl/semaphoreP.h b/nptl/semaphoreP.h
> index f030f0e4de..43ad849761 100644
> --- a/nptl/semaphoreP.h
> +++ b/nptl/semaphoreP.h
> @@ -57,5 +57,5 @@ __sem_clockwait64 (sem_t *sem, clockid_t clockid,
>  libc_hidden_proto (__sem_clockwait64)
>  extern int
>  __sem_timedwait64 (sem_t *sem, const struct __timespec64 *abstime);
> -libpthread_hidden_proto (__sem_timedwait64)
> +libc_hidden_proto (__sem_timedwait64)
>  #endif
> diff --git a/sysdeps/unix/sysv/linux/aarch64/libc.abilist b/sysdeps/unix/sysv/linux/aarch64/libc.abilist
> index c785610d5e..3da65776d9 100644
> --- a/sysdeps/unix/sysv/linux/aarch64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/aarch64/libc.abilist
> @@ -1666,6 +1666,7 @@ GLIBC_2.17 sem_getvalue F
>  GLIBC_2.17 sem_init F
>  GLIBC_2.17 sem_open F
>  GLIBC_2.17 sem_post F
> +GLIBC_2.17 sem_timedwait F
>  GLIBC_2.17 semctl F
>  GLIBC_2.17 semget F
>  GLIBC_2.17 semop F
> @@ -2359,6 +2360,7 @@ GLIBC_2.34 sem_getvalue F
>  GLIBC_2.34 sem_init F
>  GLIBC_2.34 sem_open F
>  GLIBC_2.34 sem_post F
> +GLIBC_2.34 sem_timedwait F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> diff --git a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
> index e2a5c2b8e0..da05cd4d59 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_timedwait F
>  GLIBC_2.17 sem_trywait F
>  GLIBC_2.17 sem_unlink F
>  GLIBC_2.17 sem_wait F
> diff --git a/sysdeps/unix/sysv/linux/alpha/libc.abilist b/sysdeps/unix/sysv/linux/alpha/libc.abilist
> index f1c5a64493..6e71456850 100644
> --- a/sysdeps/unix/sysv/linux/alpha/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/alpha/libc.abilist
> @@ -2026,6 +2026,7 @@ GLIBC_2.2 rcmd_af F
>  GLIBC_2.2 rexec_af F
>  GLIBC_2.2 rresvport_af F
>  GLIBC_2.2 ruserok_af F
> +GLIBC_2.2 sem_timedwait F
>  GLIBC_2.2 semctl F
>  GLIBC_2.2 shmctl F
>  GLIBC_2.2 svc_getreq_common F
> @@ -2444,6 +2445,7 @@ GLIBC_2.34 sem_getvalue F
>  GLIBC_2.34 sem_init F
>  GLIBC_2.34 sem_open F
>  GLIBC_2.34 sem_post F
> +GLIBC_2.34 sem_timedwait F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> diff --git a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
> index 1e04fed446..64f7b97cfd 100644
> --- a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
> @@ -38,7 +38,6 @@ GLIBC_2.2 pthread_barrierattr_destroy F
>  GLIBC_2.2 pthread_barrierattr_init F
>  GLIBC_2.2 pthread_barrierattr_setpshared F
>  GLIBC_2.2 pthread_getcpuclockid F
> -GLIBC_2.2 sem_timedwait F
>  GLIBC_2.2.3 __libpthread_version_placeholder F
>  GLIBC_2.2.6 __libpthread_version_placeholder F
>  GLIBC_2.28 thrd_create F
> diff --git a/sysdeps/unix/sysv/linux/arc/libc.abilist b/sysdeps/unix/sysv/linux/arc/libc.abilist
> index 794544cd1d..3dcbebada1 100644
> --- a/sysdeps/unix/sysv/linux/arc/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/arc/libc.abilist
> @@ -1608,6 +1608,7 @@ GLIBC_2.32 sem_getvalue F
>  GLIBC_2.32 sem_init F
>  GLIBC_2.32 sem_open F
>  GLIBC_2.32 sem_post F
> +GLIBC_2.32 sem_timedwait F
>  GLIBC_2.32 semctl F
>  GLIBC_2.32 semget F
>  GLIBC_2.32 semop F
> @@ -2118,6 +2119,7 @@ GLIBC_2.34 sem_getvalue F
>  GLIBC_2.34 sem_init F
>  GLIBC_2.34 sem_open F
>  GLIBC_2.34 sem_post F
> +GLIBC_2.34 sem_timedwait F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> diff --git a/sysdeps/unix/sysv/linux/arc/libpthread.abilist b/sysdeps/unix/sysv/linux/arc/libpthread.abilist
> index ed2bdcf3fa..d11ab85312 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_timedwait F
>  GLIBC_2.32 sem_trywait F
>  GLIBC_2.32 sem_unlink F
>  GLIBC_2.32 sem_wait F
> diff --git a/sysdeps/unix/sysv/linux/arm/be/libc.abilist b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
> index f483c62b12..aec8132bd5 100644
> --- a/sysdeps/unix/sysv/linux/arm/be/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
> @@ -259,6 +259,7 @@ GLIBC_2.34 sem_getvalue F
>  GLIBC_2.34 sem_init F
>  GLIBC_2.34 sem_open F
>  GLIBC_2.34 sem_post F
> +GLIBC_2.34 sem_timedwait F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> @@ -1850,6 +1851,7 @@ GLIBC_2.4 sem_getvalue F
>  GLIBC_2.4 sem_init F
>  GLIBC_2.4 sem_open F
>  GLIBC_2.4 sem_post F
> +GLIBC_2.4 sem_timedwait F
>  GLIBC_2.4 semctl F
>  GLIBC_2.4 semget F
>  GLIBC_2.4 semop F
> diff --git a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
> index 0f562f4d9e..7dc74135e3 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_timedwait F
>  GLIBC_2.4 sem_trywait F
>  GLIBC_2.4 sem_unlink F
>  GLIBC_2.4 sem_wait F
> diff --git a/sysdeps/unix/sysv/linux/arm/le/libc.abilist b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
> index acca7c7ea6..2f2e2fb7a2 100644
> --- a/sysdeps/unix/sysv/linux/arm/le/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
> @@ -256,6 +256,7 @@ GLIBC_2.34 sem_getvalue F
>  GLIBC_2.34 sem_init F
>  GLIBC_2.34 sem_open F
>  GLIBC_2.34 sem_post F
> +GLIBC_2.34 sem_timedwait F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> @@ -1847,6 +1848,7 @@ GLIBC_2.4 sem_getvalue F
>  GLIBC_2.4 sem_init F
>  GLIBC_2.4 sem_open F
>  GLIBC_2.4 sem_post F
> +GLIBC_2.4 sem_timedwait F
>  GLIBC_2.4 semctl F
>  GLIBC_2.4 semget F
>  GLIBC_2.4 semop F
> diff --git a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
> index 0f562f4d9e..7dc74135e3 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_timedwait F
>  GLIBC_2.4 sem_trywait F
>  GLIBC_2.4 sem_unlink F
>  GLIBC_2.4 sem_wait F
> diff --git a/sysdeps/unix/sysv/linux/csky/libc.abilist b/sysdeps/unix/sysv/linux/csky/libc.abilist
> index 480d93f880..e17de2294f 100644
> --- a/sysdeps/unix/sysv/linux/csky/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/csky/libc.abilist
> @@ -1669,6 +1669,7 @@ GLIBC_2.29 sem_getvalue F
>  GLIBC_2.29 sem_init F
>  GLIBC_2.29 sem_open F
>  GLIBC_2.29 sem_post F
> +GLIBC_2.29 sem_timedwait F
>  GLIBC_2.29 semctl F
>  GLIBC_2.29 semget F
>  GLIBC_2.29 semop F
> @@ -2302,6 +2303,7 @@ GLIBC_2.34 sem_getvalue F
>  GLIBC_2.34 sem_init F
>  GLIBC_2.34 sem_open F
>  GLIBC_2.34 sem_post F
> +GLIBC_2.34 sem_timedwait F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> diff --git a/sysdeps/unix/sysv/linux/csky/libpthread.abilist b/sysdeps/unix/sysv/linux/csky/libpthread.abilist
> index c3a14fa4a2..f3286d7d92 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_timedwait F
>  GLIBC_2.29 sem_trywait F
>  GLIBC_2.29 sem_unlink F
>  GLIBC_2.29 sem_wait F
> diff --git a/sysdeps/unix/sysv/linux/hppa/libc.abilist b/sysdeps/unix/sysv/linux/hppa/libc.abilist
> index 90b5df3648..a64c7afdd8 100644
> --- a/sysdeps/unix/sysv/linux/hppa/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/hppa/libc.abilist
> @@ -1458,6 +1458,7 @@ GLIBC_2.2 sem_getvalue F
>  GLIBC_2.2 sem_init F
>  GLIBC_2.2 sem_open F
>  GLIBC_2.2 sem_post F
> +GLIBC_2.2 sem_timedwait F
>  GLIBC_2.2 semctl F
>  GLIBC_2.2 semget F
>  GLIBC_2.2 semop F
> @@ -2253,6 +2254,7 @@ GLIBC_2.34 sem_getvalue F
>  GLIBC_2.34 sem_init F
>  GLIBC_2.34 sem_open F
>  GLIBC_2.34 sem_post F
> +GLIBC_2.34 sem_timedwait F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> diff --git a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
> index 069e32a2c2..e6282e233c 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_timedwait F
>  GLIBC_2.2 sem_trywait F
>  GLIBC_2.2 sem_unlink F
>  GLIBC_2.2 sem_wait F
> diff --git a/sysdeps/unix/sysv/linux/i386/libc.abilist b/sysdeps/unix/sysv/linux/i386/libc.abilist
> index aea4c70ae9..1486c5dbcb 100644
> --- a/sysdeps/unix/sysv/linux/i386/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/i386/libc.abilist
> @@ -2038,6 +2038,7 @@ GLIBC_2.2 rexec_af F
>  GLIBC_2.2 rresvport_af F
>  GLIBC_2.2 ruserok_af F
>  GLIBC_2.2 scandir64 F
> +GLIBC_2.2 sem_timedwait F
>  GLIBC_2.2 semctl F
>  GLIBC_2.2 setrlimit F
>  GLIBC_2.2 shmctl F
> @@ -2434,6 +2435,7 @@ GLIBC_2.34 sem_getvalue F
>  GLIBC_2.34 sem_init F
>  GLIBC_2.34 sem_open F
>  GLIBC_2.34 sem_post F
> +GLIBC_2.34 sem_timedwait F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> diff --git a/sysdeps/unix/sysv/linux/i386/libpthread.abilist b/sysdeps/unix/sysv/linux/i386/libpthread.abilist
> index b4af14301c..c94979df12 100644
> --- a/sysdeps/unix/sysv/linux/i386/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/i386/libpthread.abilist
> @@ -38,7 +38,6 @@ GLIBC_2.2 pthread_barrierattr_destroy F
>  GLIBC_2.2 pthread_barrierattr_init F
>  GLIBC_2.2 pthread_barrierattr_setpshared F
>  GLIBC_2.2 pthread_getcpuclockid F
> -GLIBC_2.2 sem_timedwait F
>  GLIBC_2.2.3 __libpthread_version_placeholder F
>  GLIBC_2.2.6 __libpthread_version_placeholder F
>  GLIBC_2.28 thrd_create F
> diff --git a/sysdeps/unix/sysv/linux/ia64/libc.abilist b/sysdeps/unix/sysv/linux/ia64/libc.abilist
> index 8444ec41d2..044d56cac8 100644
> --- a/sysdeps/unix/sysv/linux/ia64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/ia64/libc.abilist
> @@ -1479,6 +1479,7 @@ GLIBC_2.2 sem_getvalue F
>  GLIBC_2.2 sem_init F
>  GLIBC_2.2 sem_open F
>  GLIBC_2.2 sem_post F
> +GLIBC_2.2 sem_timedwait F
>  GLIBC_2.2 semctl F
>  GLIBC_2.2 semget F
>  GLIBC_2.2 semop F
> @@ -2287,6 +2288,7 @@ GLIBC_2.34 sem_getvalue F
>  GLIBC_2.34 sem_init F
>  GLIBC_2.34 sem_open F
>  GLIBC_2.34 sem_post F
> +GLIBC_2.34 sem_timedwait F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> diff --git a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
> index 993a2481b8..4573250afa 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_timedwait F
>  GLIBC_2.2 sem_trywait F
>  GLIBC_2.2 sem_unlink F
>  GLIBC_2.2 sem_wait F
> diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
> index 0d678c99a2..d0e68c2bc1 100644
> --- a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
> @@ -260,6 +260,7 @@ GLIBC_2.34 sem_getvalue F
>  GLIBC_2.34 sem_init F
>  GLIBC_2.34 sem_open F
>  GLIBC_2.34 sem_post F
> +GLIBC_2.34 sem_timedwait F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> @@ -1830,6 +1831,7 @@ GLIBC_2.4 sem_getvalue F
>  GLIBC_2.4 sem_init F
>  GLIBC_2.4 sem_open F
>  GLIBC_2.4 sem_post F
> +GLIBC_2.4 sem_timedwait F
>  GLIBC_2.4 semctl F
>  GLIBC_2.4 semget F
>  GLIBC_2.4 semop F
> diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
> index 0f562f4d9e..7dc74135e3 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_timedwait F
>  GLIBC_2.4 sem_trywait F
>  GLIBC_2.4 sem_unlink F
>  GLIBC_2.4 sem_wait F
> diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
> index 2716410e46..3fd4c8b544 100644
> --- a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
> @@ -1994,6 +1994,7 @@ GLIBC_2.2 rexec_af F
>  GLIBC_2.2 rresvport_af F
>  GLIBC_2.2 ruserok_af F
>  GLIBC_2.2 scandir64 F
> +GLIBC_2.2 sem_timedwait F
>  GLIBC_2.2 semctl F
>  GLIBC_2.2 setrlimit F
>  GLIBC_2.2 shmctl F
> @@ -2377,6 +2378,7 @@ GLIBC_2.34 sem_getvalue F
>  GLIBC_2.34 sem_init F
>  GLIBC_2.34 sem_open F
>  GLIBC_2.34 sem_post F
> +GLIBC_2.34 sem_timedwait F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
> index b4af14301c..c94979df12 100644
> --- a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
> @@ -38,7 +38,6 @@ GLIBC_2.2 pthread_barrierattr_destroy F
>  GLIBC_2.2 pthread_barrierattr_init F
>  GLIBC_2.2 pthread_barrierattr_setpshared F
>  GLIBC_2.2 pthread_getcpuclockid F
> -GLIBC_2.2 sem_timedwait F
>  GLIBC_2.2.3 __libpthread_version_placeholder F
>  GLIBC_2.2.6 __libpthread_version_placeholder F
>  GLIBC_2.28 thrd_create F
> diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
> index 38d725dd3a..41d99361c5 100644
> --- a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
> @@ -1668,6 +1668,7 @@ GLIBC_2.18 sem_getvalue F
>  GLIBC_2.18 sem_init F
>  GLIBC_2.18 sem_open F
>  GLIBC_2.18 sem_post F
> +GLIBC_2.18 sem_timedwait F
>  GLIBC_2.18 semctl F
>  GLIBC_2.18 semget F
>  GLIBC_2.18 semop F
> @@ -2353,6 +2354,7 @@ GLIBC_2.34 sem_getvalue F
>  GLIBC_2.34 sem_init F
>  GLIBC_2.34 sem_open F
>  GLIBC_2.34 sem_post F
> +GLIBC_2.34 sem_timedwait F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
> index 518406c580..50483447c3 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_timedwait F
>  GLIBC_2.18 sem_trywait F
>  GLIBC_2.18 sem_unlink F
>  GLIBC_2.18 sem_wait F
> diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
> index d4079051df..bc5512f728 100644
> --- a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
> @@ -1668,6 +1668,7 @@ GLIBC_2.18 sem_getvalue F
>  GLIBC_2.18 sem_init F
>  GLIBC_2.18 sem_open F
>  GLIBC_2.18 sem_post F
> +GLIBC_2.18 sem_timedwait F
>  GLIBC_2.18 semctl F
>  GLIBC_2.18 semget F
>  GLIBC_2.18 semop F
> @@ -2350,6 +2351,7 @@ GLIBC_2.34 sem_getvalue F
>  GLIBC_2.34 sem_init F
>  GLIBC_2.34 sem_open F
>  GLIBC_2.34 sem_post F
> +GLIBC_2.34 sem_timedwait F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
> index 518406c580..50483447c3 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_timedwait F
>  GLIBC_2.18 sem_trywait F
>  GLIBC_2.18 sem_unlink F
>  GLIBC_2.18 sem_wait F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
> index ee148e01c2..a9052fd2d2 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
> @@ -1898,6 +1898,7 @@ GLIBC_2.2 sem_getvalue F
>  GLIBC_2.2 sem_init F
>  GLIBC_2.2 sem_open F
>  GLIBC_2.2 sem_post F
> +GLIBC_2.2 sem_timedwait F
>  GLIBC_2.2 semctl F
>  GLIBC_2.2 sendfile F
>  GLIBC_2.2 setrlimit64 F
> @@ -2340,6 +2341,7 @@ GLIBC_2.34 sem_getvalue F
>  GLIBC_2.34 sem_init F
>  GLIBC_2.34 sem_open F
>  GLIBC_2.34 sem_post F
> +GLIBC_2.34 sem_timedwait F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
> index 9482a83b1c..f9cca8a676 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
> @@ -34,7 +34,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_timedwait F
>  GLIBC_2.2 sem_trywait F
>  GLIBC_2.2 sem_unlink F
>  GLIBC_2.2 sem_wait F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
> index f6d465871f..c1510d2570 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
> @@ -1896,6 +1896,7 @@ GLIBC_2.2 sem_getvalue F
>  GLIBC_2.2 sem_init F
>  GLIBC_2.2 sem_open F
>  GLIBC_2.2 sem_post F
> +GLIBC_2.2 sem_timedwait F
>  GLIBC_2.2 semctl F
>  GLIBC_2.2 sendfile F
>  GLIBC_2.2 setrlimit64 F
> @@ -2338,6 +2339,7 @@ GLIBC_2.34 sem_getvalue F
>  GLIBC_2.34 sem_init F
>  GLIBC_2.34 sem_open F
>  GLIBC_2.34 sem_post F
> +GLIBC_2.34 sem_timedwait F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
> index 9482a83b1c..f9cca8a676 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
> @@ -34,7 +34,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_timedwait F
>  GLIBC_2.2 sem_trywait F
>  GLIBC_2.2 sem_unlink F
>  GLIBC_2.2 sem_wait F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
> index 22bb85c170..bce71b4ff8 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
> @@ -1896,6 +1896,7 @@ GLIBC_2.2 sem_getvalue F
>  GLIBC_2.2 sem_init F
>  GLIBC_2.2 sem_open F
>  GLIBC_2.2 sem_post F
> +GLIBC_2.2 sem_timedwait F
>  GLIBC_2.2 sendfile F
>  GLIBC_2.2 setrlimit64 F
>  GLIBC_2.2 setutxent F
> @@ -2346,6 +2347,7 @@ GLIBC_2.34 sem_getvalue F
>  GLIBC_2.34 sem_init F
>  GLIBC_2.34 sem_open F
>  GLIBC_2.34 sem_post F
> +GLIBC_2.34 sem_timedwait F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
> index a2c0ac31eb..e7919379ff 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
> @@ -1892,6 +1892,7 @@ GLIBC_2.2 sem_getvalue F
>  GLIBC_2.2 sem_init F
>  GLIBC_2.2 sem_open F
>  GLIBC_2.2 sem_post F
> +GLIBC_2.2 sem_timedwait F
>  GLIBC_2.2 sendfile F
>  GLIBC_2.2 setrlimit64 F
>  GLIBC_2.2 setutxent F
> @@ -2340,6 +2341,7 @@ GLIBC_2.34 sem_getvalue F
>  GLIBC_2.34 sem_init F
>  GLIBC_2.34 sem_open F
>  GLIBC_2.34 sem_post F
> +GLIBC_2.34 sem_timedwait F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> diff --git a/sysdeps/unix/sysv/linux/nios2/libc.abilist b/sysdeps/unix/sysv/linux/nios2/libc.abilist
> index 5491bc9076..022e7b13c0 100644
> --- a/sysdeps/unix/sysv/linux/nios2/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/nios2/libc.abilist
> @@ -1711,6 +1711,7 @@ GLIBC_2.21 sem_getvalue F
>  GLIBC_2.21 sem_init F
>  GLIBC_2.21 sem_open F
>  GLIBC_2.21 sem_post F
> +GLIBC_2.21 sem_timedwait F
>  GLIBC_2.21 semctl F
>  GLIBC_2.21 semget F
>  GLIBC_2.21 semop F
> @@ -2392,6 +2393,7 @@ GLIBC_2.34 sem_getvalue F
>  GLIBC_2.34 sem_init F
>  GLIBC_2.34 sem_open F
>  GLIBC_2.34 sem_post F
> +GLIBC_2.34 sem_timedwait F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> diff --git a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
> index d966123dd7..2c6366d253 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_timedwait F
>  GLIBC_2.21 sem_trywait F
>  GLIBC_2.21 sem_unlink F
>  GLIBC_2.21 sem_wait F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
> index 9dfb36bcf1..6d96f00678 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
> @@ -1999,6 +1999,7 @@ GLIBC_2.2 rexec_af F
>  GLIBC_2.2 rresvport_af F
>  GLIBC_2.2 ruserok_af F
>  GLIBC_2.2 scandir64 F
> +GLIBC_2.2 sem_timedwait F
>  GLIBC_2.2 semctl F
>  GLIBC_2.2 setrlimit F
>  GLIBC_2.2 shmctl F
> @@ -2404,6 +2405,7 @@ GLIBC_2.34 sem_getvalue F
>  GLIBC_2.34 sem_init F
>  GLIBC_2.34 sem_open F
>  GLIBC_2.34 sem_post F
> +GLIBC_2.34 sem_timedwait F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
> index 3c6e065e52..2cb64d181e 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
> @@ -38,7 +38,6 @@ GLIBC_2.2 pthread_barrierattr_destroy F
>  GLIBC_2.2 pthread_barrierattr_init F
>  GLIBC_2.2 pthread_barrierattr_setpshared F
>  GLIBC_2.2 pthread_getcpuclockid F
> -GLIBC_2.2 sem_timedwait F
>  GLIBC_2.2.3 __libpthread_version_placeholder F
>  GLIBC_2.2.6 __libpthread_version_placeholder F
>  GLIBC_2.28 thrd_create F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
> index b1f04fc147..1e9ab5406b 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
> @@ -2003,6 +2003,7 @@ GLIBC_2.2 rexec_af F
>  GLIBC_2.2 rresvport_af F
>  GLIBC_2.2 ruserok_af F
>  GLIBC_2.2 scandir64 F
> +GLIBC_2.2 sem_timedwait F
>  GLIBC_2.2 semctl F
>  GLIBC_2.2 setrlimit F
>  GLIBC_2.2 shmctl F
> @@ -2437,6 +2438,7 @@ GLIBC_2.34 sem_getvalue F
>  GLIBC_2.34 sem_init F
>  GLIBC_2.34 sem_open F
>  GLIBC_2.34 sem_post F
> +GLIBC_2.34 sem_timedwait F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
> index b5229a315f..fd10c13d52 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
> @@ -1583,6 +1583,7 @@ GLIBC_2.3 sem_getvalue F
>  GLIBC_2.3 sem_init F
>  GLIBC_2.3 sem_open F
>  GLIBC_2.3 sem_post F
> +GLIBC_2.3 sem_timedwait F
>  GLIBC_2.3 semctl F
>  GLIBC_2.3 semget F
>  GLIBC_2.3 semop F
> @@ -2254,6 +2255,7 @@ GLIBC_2.34 sem_getvalue F
>  GLIBC_2.34 sem_init F
>  GLIBC_2.34 sem_open F
>  GLIBC_2.34 sem_post F
> +GLIBC_2.34 sem_timedwait F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
> index 1118ba89f6..d83baa5b40 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_timedwait F
>  GLIBC_2.3 sem_trywait F
>  GLIBC_2.3 sem_unlink F
>  GLIBC_2.3 sem_wait F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
> index e68290a5fe..c73d3442a4 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
> @@ -1754,6 +1754,7 @@ GLIBC_2.17 sem_getvalue F
>  GLIBC_2.17 sem_init F
>  GLIBC_2.17 sem_open F
>  GLIBC_2.17 sem_post F
> +GLIBC_2.17 sem_timedwait F
>  GLIBC_2.17 semctl F
>  GLIBC_2.17 semget F
>  GLIBC_2.17 semop F
> @@ -2555,6 +2556,7 @@ GLIBC_2.34 sem_getvalue F
>  GLIBC_2.34 sem_init F
>  GLIBC_2.34 sem_open F
>  GLIBC_2.34 sem_post F
> +GLIBC_2.34 sem_timedwait F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
> index e2a5c2b8e0..da05cd4d59 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_timedwait F
>  GLIBC_2.17 sem_trywait F
>  GLIBC_2.17 sem_unlink F
>  GLIBC_2.17 sem_wait F
> diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
> index f6062c942b..a44a2d24b0 100644
> --- a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
> @@ -1610,6 +1610,7 @@ GLIBC_2.33 sem_getvalue F
>  GLIBC_2.33 sem_init F
>  GLIBC_2.33 sem_open F
>  GLIBC_2.33 sem_post F
> +GLIBC_2.33 sem_timedwait F
>  GLIBC_2.33 semctl F
>  GLIBC_2.33 semget F
>  GLIBC_2.33 semop F
> @@ -2120,6 +2121,7 @@ GLIBC_2.34 sem_getvalue F
>  GLIBC_2.34 sem_init F
>  GLIBC_2.34 sem_open F
>  GLIBC_2.34 sem_post F
> +GLIBC_2.34 sem_timedwait F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
> index 431e167351..95c2cc98ca 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_timedwait F
>  GLIBC_2.33 sem_trywait F
>  GLIBC_2.33 sem_unlink F
>  GLIBC_2.33 sem_wait F
> diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
> index 0b667860ec..2bf396dc33 100644
> --- a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
> @@ -1658,6 +1658,7 @@ GLIBC_2.27 sem_getvalue F
>  GLIBC_2.27 sem_init F
>  GLIBC_2.27 sem_open F
>  GLIBC_2.27 sem_post F
> +GLIBC_2.27 sem_timedwait F
>  GLIBC_2.27 semctl F
>  GLIBC_2.27 semget F
>  GLIBC_2.27 semop F
> @@ -2320,6 +2321,7 @@ GLIBC_2.34 sem_getvalue F
>  GLIBC_2.34 sem_init F
>  GLIBC_2.34 sem_open F
>  GLIBC_2.34 sem_post F
> +GLIBC_2.34 sem_timedwait F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
> index b102df08a7..efbdd69d5f 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_timedwait F
>  GLIBC_2.27 sem_trywait F
>  GLIBC_2.27 sem_unlink F
>  GLIBC_2.27 sem_wait F
> diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
> index 118d2a04ce..a39aeedc83 100644
> --- a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
> @@ -1997,6 +1997,7 @@ GLIBC_2.2 rexec_af F
>  GLIBC_2.2 rresvport_af F
>  GLIBC_2.2 ruserok_af F
>  GLIBC_2.2 scandir64 F
> +GLIBC_2.2 sem_timedwait F
>  GLIBC_2.2 semctl F
>  GLIBC_2.2 setrlimit F
>  GLIBC_2.2 shmctl F
> @@ -2402,6 +2403,7 @@ GLIBC_2.34 sem_getvalue F
>  GLIBC_2.34 sem_init F
>  GLIBC_2.34 sem_open F
>  GLIBC_2.34 sem_post F
> +GLIBC_2.34 sem_timedwait F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
> index 966ce977a8..c9352acfff 100644
> --- a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
> @@ -39,7 +39,6 @@ GLIBC_2.2 pthread_barrierattr_destroy F
>  GLIBC_2.2 pthread_barrierattr_init F
>  GLIBC_2.2 pthread_barrierattr_setpshared F
>  GLIBC_2.2 pthread_getcpuclockid F
> -GLIBC_2.2 sem_timedwait F
>  GLIBC_2.2.3 __libpthread_version_placeholder F
>  GLIBC_2.2.6 __libpthread_version_placeholder F
>  GLIBC_2.28 thrd_create F
> diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
> index 6c5783579b..98b33f844b 100644
> --- a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
> @@ -1476,6 +1476,7 @@ GLIBC_2.2 sem_getvalue F
>  GLIBC_2.2 sem_init F
>  GLIBC_2.2 sem_open F
>  GLIBC_2.2 sem_post F
> +GLIBC_2.2 sem_timedwait F
>  GLIBC_2.2 semctl F
>  GLIBC_2.2 semget F
>  GLIBC_2.2 semop F
> @@ -2291,6 +2292,7 @@ GLIBC_2.34 sem_getvalue F
>  GLIBC_2.34 sem_init F
>  GLIBC_2.34 sem_open F
>  GLIBC_2.34 sem_post F
> +GLIBC_2.34 sem_timedwait F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
> index 8ecf3125a6..58a2d4f3ba 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_timedwait F
>  GLIBC_2.2 sem_trywait F
>  GLIBC_2.2 sem_unlink F
>  GLIBC_2.2 sem_wait F
> diff --git a/sysdeps/unix/sysv/linux/sh/be/libc.abilist b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
> index d357f4ceb1..c029912b67 100644
> --- a/sysdeps/unix/sysv/linux/sh/be/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
> @@ -1462,6 +1462,7 @@ GLIBC_2.2 sem_getvalue F
>  GLIBC_2.2 sem_init F
>  GLIBC_2.2 sem_open F
>  GLIBC_2.2 sem_post F
> +GLIBC_2.2 sem_timedwait F
>  GLIBC_2.2 semctl F
>  GLIBC_2.2 semget F
>  GLIBC_2.2 semop F
> @@ -2260,6 +2261,7 @@ GLIBC_2.34 sem_getvalue F
>  GLIBC_2.34 sem_init F
>  GLIBC_2.34 sem_open F
>  GLIBC_2.34 sem_post F
> +GLIBC_2.34 sem_timedwait F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> diff --git a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
> index 069e32a2c2..e6282e233c 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_timedwait F
>  GLIBC_2.2 sem_trywait F
>  GLIBC_2.2 sem_unlink F
>  GLIBC_2.2 sem_wait F
> diff --git a/sysdeps/unix/sysv/linux/sh/le/libc.abilist b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
> index ff348ac39d..5b3f7aa502 100644
> --- a/sysdeps/unix/sysv/linux/sh/le/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
> @@ -1462,6 +1462,7 @@ GLIBC_2.2 sem_getvalue F
>  GLIBC_2.2 sem_init F
>  GLIBC_2.2 sem_open F
>  GLIBC_2.2 sem_post F
> +GLIBC_2.2 sem_timedwait F
>  GLIBC_2.2 semctl F
>  GLIBC_2.2 semget F
>  GLIBC_2.2 semop F
> @@ -2257,6 +2258,7 @@ GLIBC_2.34 sem_getvalue F
>  GLIBC_2.34 sem_init F
>  GLIBC_2.34 sem_open F
>  GLIBC_2.34 sem_post F
> +GLIBC_2.34 sem_timedwait F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> diff --git a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
> index 069e32a2c2..e6282e233c 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_timedwait F
>  GLIBC_2.2 sem_trywait F
>  GLIBC_2.2 sem_unlink F
>  GLIBC_2.2 sem_wait F
> diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
> index 3a54c61f14..d82f1c3f89 100644
> --- a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
> @@ -1993,6 +1993,7 @@ GLIBC_2.2 rexec_af F
>  GLIBC_2.2 rresvport_af F
>  GLIBC_2.2 ruserok_af F
>  GLIBC_2.2 scandir64 F
> +GLIBC_2.2 sem_timedwait F
>  GLIBC_2.2 semctl F
>  GLIBC_2.2 shmctl F
>  GLIBC_2.2 svc_getreq_common F
> @@ -2393,6 +2394,7 @@ GLIBC_2.34 sem_getvalue F
>  GLIBC_2.34 sem_init F
>  GLIBC_2.34 sem_open F
>  GLIBC_2.34 sem_post F
> +GLIBC_2.34 sem_timedwait F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
> index 1e04fed446..64f7b97cfd 100644
> --- a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
> @@ -38,7 +38,6 @@ GLIBC_2.2 pthread_barrierattr_destroy F
>  GLIBC_2.2 pthread_barrierattr_init F
>  GLIBC_2.2 pthread_barrierattr_setpshared F
>  GLIBC_2.2 pthread_getcpuclockid F
> -GLIBC_2.2 sem_timedwait F
>  GLIBC_2.2.3 __libpthread_version_placeholder F
>  GLIBC_2.2.6 __libpthread_version_placeholder F
>  GLIBC_2.28 thrd_create F
> diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
> index ec86498235..b77c3ebc14 100644
> --- a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
> @@ -1505,6 +1505,7 @@ GLIBC_2.2 sem_getvalue F
>  GLIBC_2.2 sem_init F
>  GLIBC_2.2 sem_open F
>  GLIBC_2.2 sem_post F
> +GLIBC_2.2 sem_timedwait F
>  GLIBC_2.2 semctl F
>  GLIBC_2.2 semget F
>  GLIBC_2.2 semop F
> @@ -2308,6 +2309,7 @@ GLIBC_2.34 sem_getvalue F
>  GLIBC_2.34 sem_init F
>  GLIBC_2.34 sem_open F
>  GLIBC_2.34 sem_post F
> +GLIBC_2.34 sem_timedwait F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
> index 993a2481b8..4573250afa 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_timedwait F
>  GLIBC_2.2 sem_trywait F
>  GLIBC_2.2 sem_unlink F
>  GLIBC_2.2 sem_wait F
> diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
> index c60b9d4baa..1b56b70a15 100644
> --- a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
> @@ -1473,6 +1473,7 @@ GLIBC_2.2.5 sem_getvalue F
>  GLIBC_2.2.5 sem_init F
>  GLIBC_2.2.5 sem_open F
>  GLIBC_2.2.5 sem_post F
> +GLIBC_2.2.5 sem_timedwait F
>  GLIBC_2.2.5 semctl F
>  GLIBC_2.2.5 semget F
>  GLIBC_2.2.5 semop F
> @@ -2269,6 +2270,7 @@ GLIBC_2.34 sem_getvalue F
>  GLIBC_2.34 sem_init F
>  GLIBC_2.34 sem_open F
>  GLIBC_2.34 sem_post F
> +GLIBC_2.34 sem_timedwait F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
> index 3e760487f0..dc598f1bd8 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_timedwait F
>  GLIBC_2.2.5 sem_trywait F
>  GLIBC_2.2.5 sem_unlink F
>  GLIBC_2.2.5 sem_wait F
> diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
> index 1637d12535..26d95cc46e 100644
> --- a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
> @@ -1672,6 +1672,7 @@ GLIBC_2.16 sem_getvalue F
>  GLIBC_2.16 sem_init F
>  GLIBC_2.16 sem_open F
>  GLIBC_2.16 sem_post F
> +GLIBC_2.16 sem_timedwait F
>  GLIBC_2.16 semctl F
>  GLIBC_2.16 semget F
>  GLIBC_2.16 semop F
> @@ -2374,6 +2375,7 @@ GLIBC_2.34 sem_getvalue F
>  GLIBC_2.34 sem_init F
>  GLIBC_2.34 sem_open F
>  GLIBC_2.34 sem_post F
> +GLIBC_2.34 sem_timedwait F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
> index b63a912fde..b5ade1e207 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_timedwait F
>  GLIBC_2.16 sem_trywait F
>  GLIBC_2.16 sem_unlink F
>  GLIBC_2.16 sem_wait F
> 

^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [PATCH 10/11] nptl: Move sem_unlink into libc
  2021-05-03 13:52 ` [PATCH 10/11] nptl: Move sem_unlink " Florian Weimer
@ 2021-05-05 14:37   ` Adhemerval Zanella
  0 siblings, 0 replies; 24+ messages in thread
From: Adhemerval Zanella @ 2021-05-05 14:37 UTC (permalink / raw)
  To: Florian Weimer, libc-alpha



On 03/05/2021 10:52, Florian Weimer via Libc-alpha wrote:
> The symbol was moved using scripts/move-symbol-to-libc.py.
> 
> A small adjust to the sem_unlink implementation is necessary to avoid
> a check-localplt failure.
> 
> A placeholder symbol to keep the GLIBC_2.1.1 version alive in
> libpthread is added with this commit.

LGTM, thanks.

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

> ---
>  nptl/Makefile                                   |  2 +-
>  nptl/Versions                                   |  4 +++-
>  nptl/libpthread-compat.c                        |  4 ++++
>  sysdeps/pthread/sem_unlink.c                    | 17 +++++++++++++++--
>  sysdeps/unix/sysv/linux/aarch64/libc.abilist    |  2 ++
>  .../unix/sysv/linux/aarch64/libpthread.abilist  |  1 -
>  sysdeps/unix/sysv/linux/alpha/libc.abilist      |  2 ++
>  .../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 ++
>  .../unix/sysv/linux/arm/be/libpthread.abilist   |  1 -
>  sysdeps/unix/sysv/linux/arm/le/libc.abilist     |  2 ++
>  .../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       |  2 ++
>  sysdeps/unix/sysv/linux/i386/libpthread.abilist |  2 +-
>  sysdeps/unix/sysv/linux/ia64/libc.abilist       |  2 ++
>  sysdeps/unix/sysv/linux/ia64/libpthread.abilist |  1 -
>  .../unix/sysv/linux/m68k/coldfire/libc.abilist  |  2 ++
>  .../sysv/linux/m68k/coldfire/libpthread.abilist |  1 -
>  .../unix/sysv/linux/m68k/m680x0/libc.abilist    |  2 ++
>  .../sysv/linux/m68k/m680x0/libpthread.abilist   |  2 +-
>  .../unix/sysv/linux/microblaze/be/libc.abilist  |  2 ++
>  .../sysv/linux/microblaze/be/libpthread.abilist |  1 -
>  .../unix/sysv/linux/microblaze/le/libc.abilist  |  2 ++
>  .../sysv/linux/microblaze/le/libpthread.abilist |  1 -
>  .../sysv/linux/mips/mips32/fpu/libc.abilist     |  2 ++
>  .../sysv/linux/mips/mips32/libpthread.abilist   |  1 -
>  .../sysv/linux/mips/mips32/nofpu/libc.abilist   |  2 ++
>  .../sysv/linux/mips/mips64/libpthread.abilist   |  1 -
>  .../sysv/linux/mips/mips64/n32/libc.abilist     |  2 ++
>  .../sysv/linux/mips/mips64/n64/libc.abilist     |  2 ++
>  sysdeps/unix/sysv/linux/nios2/libc.abilist      |  2 ++
>  .../unix/sysv/linux/nios2/libpthread.abilist    |  1 -
>  .../linux/powerpc/powerpc32/fpu/libc.abilist    |  2 ++
>  .../linux/powerpc/powerpc32/libpthread.abilist  |  2 +-
>  .../linux/powerpc/powerpc32/nofpu/libc.abilist  |  2 ++
>  .../linux/powerpc/powerpc64/be/libc.abilist     |  2 ++
>  .../powerpc/powerpc64/be/libpthread.abilist     |  1 -
>  .../linux/powerpc/powerpc64/le/libc.abilist     |  2 ++
>  .../powerpc/powerpc64/le/libpthread.abilist     |  1 -
>  sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist |  2 ++
>  .../sysv/linux/riscv/rv32/libpthread.abilist    |  1 -
>  sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist |  2 ++
>  .../sysv/linux/riscv/rv64/libpthread.abilist    |  1 -
>  .../unix/sysv/linux/s390/s390-32/libc.abilist   |  2 ++
>  .../sysv/linux/s390/s390-32/libpthread.abilist  |  2 +-
>  .../unix/sysv/linux/s390/s390-64/libc.abilist   |  2 ++
>  .../sysv/linux/s390/s390-64/libpthread.abilist  |  1 -
>  sysdeps/unix/sysv/linux/sh/be/libc.abilist      |  2 ++
>  .../unix/sysv/linux/sh/be/libpthread.abilist    |  1 -
>  sysdeps/unix/sysv/linux/sh/le/libc.abilist      |  2 ++
>  .../unix/sysv/linux/sh/le/libpthread.abilist    |  1 -
>  .../unix/sysv/linux/sparc/sparc32/libc.abilist  |  2 ++
>  .../sysv/linux/sparc/sparc32/libpthread.abilist |  2 +-
>  .../unix/sysv/linux/sparc/sparc64/libc.abilist  |  2 ++
>  .../sysv/linux/sparc/sparc64/libpthread.abilist |  1 -
>  sysdeps/unix/sysv/linux/x86_64/64/libc.abilist  |  2 ++
>  .../sysv/linux/x86_64/64/libpthread.abilist     |  1 -
>  sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist |  2 ++
>  .../sysv/linux/x86_64/x32/libpthread.abilist    |  1 -
>  65 files changed, 93 insertions(+), 33 deletions(-)
> 
> diff --git a/nptl/Makefile b/nptl/Makefile
> index 9f73cf2434..665cd1f3d1 100644
> --- a/nptl/Makefile
> +++ b/nptl/Makefile
> @@ -159,6 +159,7 @@ routines = \
>    sem_post \
>    sem_routines \
>    sem_timedwait \
> +  sem_unlink \
>    tpp \
>    unwind \
>  
> @@ -210,7 +211,6 @@ libpthread-routines = \
>    pthread_sigqueue \
>    pthread_timedjoin \
>    pthread_tryjoin \
> -  sem_unlink \
>    sem_wait \
>    vars \
>    version \
> diff --git a/nptl/Versions b/nptl/Versions
> index f19c2355f1..20997aa706 100644
> --- a/nptl/Versions
> +++ b/nptl/Versions
> @@ -92,6 +92,7 @@ libc {
>    GLIBC_2.1.1 {
>      sem_close;
>      sem_open;
> +    sem_unlink;
>    }
>    GLIBC_2.2 {
>      __pthread_rwlock_destroy;
> @@ -269,6 +270,7 @@ libc {
>      sem_open;
>      sem_post;
>      sem_timedwait;
> +    sem_unlink;
>      thrd_exit;
>      tss_create;
>      tss_delete;
> @@ -353,7 +355,7 @@ libpthread {
>    }
>  
>    GLIBC_2.1.1 {
> -    sem_unlink;
> +    __libpthread_version_placeholder;
>    }
>  
>    GLIBC_2.1.2 {
> diff --git a/nptl/libpthread-compat.c b/nptl/libpthread-compat.c
> index 7b0427aaed..401fa6ad34 100644
> --- a/nptl/libpthread-compat.c
> +++ b/nptl/libpthread-compat.c
> @@ -36,6 +36,10 @@ __libpthread_version_placeholder_1 (void)
>     version or later, the placeholder symbol is not needed because
>     there are plenty of other symbols which populate those later
>     versions.  */
> +#if (SHLIB_COMPAT (libpthread, GLIBC_2_1_1, GLIBC_2_1_2))
> +compat_symbol (libpthread, __libpthread_version_placeholder_1,
> +	       __libpthread_version_placeholder, GLIBC_2_1_1);
> +#endif
>  #if (SHLIB_COMPAT (libpthread, GLIBC_2_1_2, GLIBC_2_2))
>  compat_symbol (libpthread, __libpthread_version_placeholder_1,
>  	       __libpthread_version_placeholder, GLIBC_2_1_2);
> diff --git a/sysdeps/pthread/sem_unlink.c b/sysdeps/pthread/sem_unlink.c
> index 1f06a55b8e..c6f89349e5 100644
> --- a/sysdeps/pthread/sem_unlink.c
> +++ b/sysdeps/pthread/sem_unlink.c
> @@ -24,8 +24,13 @@
>  #include "semaphoreP.h"
>  #include <shm-directory.h>
>  
> +#if !PTHREAD_IN_LIBC
> +/* The private name is not exported from libc.  */
> +# define __unlink unlink
> +#endif
> +
>  int
> -sem_unlink (const char *name)
> +__sem_unlink (const char *name)
>  {
>    struct shmdir_name dirname;
>    if (__shm_get_name (&dirname, name, true) != 0)
> @@ -35,8 +40,16 @@ sem_unlink (const char *name)
>      }
>  
>    /* Now try removing it.  */
> -  int ret = unlink (dirname.name);
> +  int ret = __unlink (dirname.name);
>    if (ret < 0 && errno == EPERM)
>      __set_errno (EACCES);
>    return ret;
>  }
> +#if PTHREAD_IN_LIBC
> +versioned_symbol (libc, __sem_unlink, sem_unlink, GLIBC_2_34);
> +# if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_1_1, GLIBC_2_34)
> +compat_symbol (libpthread, __sem_unlink, sem_unlink, GLIBC_2_1_1);
> +# endif
> +#else /* !PTHREAD_IN_LIBC */
> +strong_alias (__sem_unlink, sem_unlink)
> +#endif
> diff --git a/sysdeps/unix/sysv/linux/aarch64/libc.abilist b/sysdeps/unix/sysv/linux/aarch64/libc.abilist
> index 3da65776d9..75cacc3038 100644
> --- a/sysdeps/unix/sysv/linux/aarch64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/aarch64/libc.abilist
> @@ -1667,6 +1667,7 @@ GLIBC_2.17 sem_init F
>  GLIBC_2.17 sem_open F
>  GLIBC_2.17 sem_post F
>  GLIBC_2.17 sem_timedwait F
> +GLIBC_2.17 sem_unlink F
>  GLIBC_2.17 semctl F
>  GLIBC_2.17 semget F
>  GLIBC_2.17 semop F
> @@ -2361,6 +2362,7 @@ GLIBC_2.34 sem_init F
>  GLIBC_2.34 sem_open F
>  GLIBC_2.34 sem_post F
>  GLIBC_2.34 sem_timedwait F
> +GLIBC_2.34 sem_unlink F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> diff --git a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
> index da05cd4d59..590f08ba58 100644
> --- a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
> @@ -40,7 +40,6 @@ GLIBC_2.17 pthread_sigqueue F
>  GLIBC_2.17 pthread_timedjoin_np F
>  GLIBC_2.17 pthread_tryjoin_np F
>  GLIBC_2.17 sem_trywait F
> -GLIBC_2.17 sem_unlink F
>  GLIBC_2.17 sem_wait F
>  GLIBC_2.18 pthread_getattr_default_np F
>  GLIBC_2.18 pthread_setattr_default_np F
> diff --git a/sysdeps/unix/sysv/linux/alpha/libc.abilist b/sysdeps/unix/sysv/linux/alpha/libc.abilist
> index 6e71456850..a1c7de11ee 100644
> --- a/sysdeps/unix/sysv/linux/alpha/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/alpha/libc.abilist
> @@ -1731,6 +1731,7 @@ GLIBC_2.1.1 imaxabs F
>  GLIBC_2.1.1 imaxdiv F
>  GLIBC_2.1.1 sem_close F
>  GLIBC_2.1.1 sem_open F
> +GLIBC_2.1.1 sem_unlink F
>  GLIBC_2.1.1 strchrnul F
>  GLIBC_2.1.1 xdr_hyper F
>  GLIBC_2.1.1 xdr_int64_t F
> @@ -2446,6 +2447,7 @@ GLIBC_2.34 sem_init F
>  GLIBC_2.34 sem_open F
>  GLIBC_2.34 sem_post F
>  GLIBC_2.34 sem_timedwait F
> +GLIBC_2.34 sem_unlink F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> diff --git a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
> index 64f7b97cfd..6540830d09 100644
> --- a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
> @@ -22,7 +22,7 @@ GLIBC_2.1 pthread_getconcurrency F
>  GLIBC_2.1 pthread_setconcurrency F
>  GLIBC_2.1 sem_trywait F
>  GLIBC_2.1 sem_wait F
> -GLIBC_2.1.1 sem_unlink F
> +GLIBC_2.1.1 __libpthread_version_placeholder F
>  GLIBC_2.1.2 __libpthread_version_placeholder F
>  GLIBC_2.11 pthread_sigqueue F
>  GLIBC_2.12 pthread_getname_np F
> diff --git a/sysdeps/unix/sysv/linux/arc/libc.abilist b/sysdeps/unix/sysv/linux/arc/libc.abilist
> index 3dcbebada1..13f0192e61 100644
> --- a/sysdeps/unix/sysv/linux/arc/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/arc/libc.abilist
> @@ -1609,6 +1609,7 @@ GLIBC_2.32 sem_init F
>  GLIBC_2.32 sem_open F
>  GLIBC_2.32 sem_post F
>  GLIBC_2.32 sem_timedwait F
> +GLIBC_2.32 sem_unlink F
>  GLIBC_2.32 semctl F
>  GLIBC_2.32 semget F
>  GLIBC_2.32 semop F
> @@ -2120,6 +2121,7 @@ GLIBC_2.34 sem_init F
>  GLIBC_2.34 sem_open F
>  GLIBC_2.34 sem_post F
>  GLIBC_2.34 sem_timedwait F
> +GLIBC_2.34 sem_unlink F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> diff --git a/sysdeps/unix/sysv/linux/arc/libpthread.abilist b/sysdeps/unix/sysv/linux/arc/libpthread.abilist
> index d11ab85312..7aa79d0d68 100644
> --- a/sysdeps/unix/sysv/linux/arc/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/arc/libpthread.abilist
> @@ -43,7 +43,6 @@ GLIBC_2.32 pthread_sigqueue F
>  GLIBC_2.32 pthread_timedjoin_np F
>  GLIBC_2.32 pthread_tryjoin_np F
>  GLIBC_2.32 sem_trywait F
> -GLIBC_2.32 sem_unlink F
>  GLIBC_2.32 sem_wait F
>  GLIBC_2.32 thrd_create F
>  GLIBC_2.32 thrd_detach F
> diff --git a/sysdeps/unix/sysv/linux/arm/be/libc.abilist b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
> index aec8132bd5..04715a2155 100644
> --- a/sysdeps/unix/sysv/linux/arm/be/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
> @@ -260,6 +260,7 @@ GLIBC_2.34 sem_init F
>  GLIBC_2.34 sem_open F
>  GLIBC_2.34 sem_post F
>  GLIBC_2.34 sem_timedwait F
> +GLIBC_2.34 sem_unlink F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> @@ -1852,6 +1853,7 @@ GLIBC_2.4 sem_init F
>  GLIBC_2.4 sem_open F
>  GLIBC_2.4 sem_post F
>  GLIBC_2.4 sem_timedwait F
> +GLIBC_2.4 sem_unlink F
>  GLIBC_2.4 semctl F
>  GLIBC_2.4 semget F
>  GLIBC_2.4 semop F
> diff --git a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
> index 7dc74135e3..1e819c1173 100644
> --- a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
> @@ -48,5 +48,4 @@ GLIBC_2.4 pthread_setschedprio F
>  GLIBC_2.4 pthread_timedjoin_np F
>  GLIBC_2.4 pthread_tryjoin_np F
>  GLIBC_2.4 sem_trywait F
> -GLIBC_2.4 sem_unlink F
>  GLIBC_2.4 sem_wait F
> diff --git a/sysdeps/unix/sysv/linux/arm/le/libc.abilist b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
> index 2f2e2fb7a2..671b211af6 100644
> --- a/sysdeps/unix/sysv/linux/arm/le/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
> @@ -257,6 +257,7 @@ GLIBC_2.34 sem_init F
>  GLIBC_2.34 sem_open F
>  GLIBC_2.34 sem_post F
>  GLIBC_2.34 sem_timedwait F
> +GLIBC_2.34 sem_unlink F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> @@ -1849,6 +1850,7 @@ GLIBC_2.4 sem_init F
>  GLIBC_2.4 sem_open F
>  GLIBC_2.4 sem_post F
>  GLIBC_2.4 sem_timedwait F
> +GLIBC_2.4 sem_unlink F
>  GLIBC_2.4 semctl F
>  GLIBC_2.4 semget F
>  GLIBC_2.4 semop F
> diff --git a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
> index 7dc74135e3..1e819c1173 100644
> --- a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
> @@ -48,5 +48,4 @@ GLIBC_2.4 pthread_setschedprio F
>  GLIBC_2.4 pthread_timedjoin_np F
>  GLIBC_2.4 pthread_tryjoin_np F
>  GLIBC_2.4 sem_trywait F
> -GLIBC_2.4 sem_unlink F
>  GLIBC_2.4 sem_wait F
> diff --git a/sysdeps/unix/sysv/linux/csky/libc.abilist b/sysdeps/unix/sysv/linux/csky/libc.abilist
> index e17de2294f..ccb423fe97 100644
> --- a/sysdeps/unix/sysv/linux/csky/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/csky/libc.abilist
> @@ -1670,6 +1670,7 @@ GLIBC_2.29 sem_init F
>  GLIBC_2.29 sem_open F
>  GLIBC_2.29 sem_post F
>  GLIBC_2.29 sem_timedwait F
> +GLIBC_2.29 sem_unlink F
>  GLIBC_2.29 semctl F
>  GLIBC_2.29 semget F
>  GLIBC_2.29 semop F
> @@ -2304,6 +2305,7 @@ GLIBC_2.34 sem_init F
>  GLIBC_2.34 sem_open F
>  GLIBC_2.34 sem_post F
>  GLIBC_2.34 sem_timedwait F
> +GLIBC_2.34 sem_unlink F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> diff --git a/sysdeps/unix/sysv/linux/csky/libpthread.abilist b/sysdeps/unix/sysv/linux/csky/libpthread.abilist
> index f3286d7d92..3579a0bfbb 100644
> --- a/sysdeps/unix/sysv/linux/csky/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/csky/libpthread.abilist
> @@ -42,7 +42,6 @@ GLIBC_2.29 pthread_sigqueue F
>  GLIBC_2.29 pthread_timedjoin_np F
>  GLIBC_2.29 pthread_tryjoin_np F
>  GLIBC_2.29 sem_trywait F
> -GLIBC_2.29 sem_unlink F
>  GLIBC_2.29 sem_wait F
>  GLIBC_2.29 thrd_create F
>  GLIBC_2.29 thrd_detach F
> diff --git a/sysdeps/unix/sysv/linux/hppa/libc.abilist b/sysdeps/unix/sysv/linux/hppa/libc.abilist
> index a64c7afdd8..2d1fa9694b 100644
> --- a/sysdeps/unix/sysv/linux/hppa/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/hppa/libc.abilist
> @@ -1459,6 +1459,7 @@ GLIBC_2.2 sem_init F
>  GLIBC_2.2 sem_open F
>  GLIBC_2.2 sem_post F
>  GLIBC_2.2 sem_timedwait F
> +GLIBC_2.2 sem_unlink F
>  GLIBC_2.2 semctl F
>  GLIBC_2.2 semget F
>  GLIBC_2.2 semop F
> @@ -2255,6 +2256,7 @@ GLIBC_2.34 sem_init F
>  GLIBC_2.34 sem_open F
>  GLIBC_2.34 sem_post F
>  GLIBC_2.34 sem_timedwait F
> +GLIBC_2.34 sem_unlink F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> diff --git a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
> index e6282e233c..30f7add73e 100644
> --- a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
> @@ -32,7 +32,6 @@ GLIBC_2.2 pthread_getcpuclockid F
>  GLIBC_2.2 pthread_join F
>  GLIBC_2.2 pthread_setconcurrency F
>  GLIBC_2.2 sem_trywait F
> -GLIBC_2.2 sem_unlink F
>  GLIBC_2.2 sem_wait F
>  GLIBC_2.2.3 __libpthread_version_placeholder F
>  GLIBC_2.2.6 __libpthread_version_placeholder F
> diff --git a/sysdeps/unix/sysv/linux/i386/libc.abilist b/sysdeps/unix/sysv/linux/i386/libc.abilist
> index 1486c5dbcb..e270a9c9ab 100644
> --- a/sysdeps/unix/sysv/linux/i386/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/i386/libc.abilist
> @@ -1737,6 +1737,7 @@ GLIBC_2.1.1 imaxabs F
>  GLIBC_2.1.1 imaxdiv F
>  GLIBC_2.1.1 sem_close F
>  GLIBC_2.1.1 sem_open F
> +GLIBC_2.1.1 sem_unlink F
>  GLIBC_2.1.1 strchrnul F
>  GLIBC_2.1.1 xdr_hyper F
>  GLIBC_2.1.1 xdr_int64_t F
> @@ -2436,6 +2437,7 @@ GLIBC_2.34 sem_init F
>  GLIBC_2.34 sem_open F
>  GLIBC_2.34 sem_post F
>  GLIBC_2.34 sem_timedwait F
> +GLIBC_2.34 sem_unlink F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> diff --git a/sysdeps/unix/sysv/linux/i386/libpthread.abilist b/sysdeps/unix/sysv/linux/i386/libpthread.abilist
> index c94979df12..c7a1d8f0ff 100644
> --- a/sysdeps/unix/sysv/linux/i386/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/i386/libpthread.abilist
> @@ -22,7 +22,7 @@ GLIBC_2.1 pthread_getconcurrency F
>  GLIBC_2.1 pthread_setconcurrency F
>  GLIBC_2.1 sem_trywait F
>  GLIBC_2.1 sem_wait F
> -GLIBC_2.1.1 sem_unlink F
> +GLIBC_2.1.1 __libpthread_version_placeholder F
>  GLIBC_2.1.2 __libpthread_version_placeholder F
>  GLIBC_2.11 pthread_sigqueue F
>  GLIBC_2.12 pthread_getname_np F
> diff --git a/sysdeps/unix/sysv/linux/ia64/libc.abilist b/sysdeps/unix/sysv/linux/ia64/libc.abilist
> index 044d56cac8..76dfc3a9ff 100644
> --- a/sysdeps/unix/sysv/linux/ia64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/ia64/libc.abilist
> @@ -1480,6 +1480,7 @@ GLIBC_2.2 sem_init F
>  GLIBC_2.2 sem_open F
>  GLIBC_2.2 sem_post F
>  GLIBC_2.2 sem_timedwait F
> +GLIBC_2.2 sem_unlink F
>  GLIBC_2.2 semctl F
>  GLIBC_2.2 semget F
>  GLIBC_2.2 semop F
> @@ -2289,6 +2290,7 @@ GLIBC_2.34 sem_init F
>  GLIBC_2.34 sem_open F
>  GLIBC_2.34 sem_post F
>  GLIBC_2.34 sem_timedwait F
> +GLIBC_2.34 sem_unlink F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> diff --git a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
> index 4573250afa..225bfd0e6a 100644
> --- a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
> @@ -32,7 +32,6 @@ GLIBC_2.2 pthread_getcpuclockid F
>  GLIBC_2.2 pthread_join F
>  GLIBC_2.2 pthread_setconcurrency F
>  GLIBC_2.2 sem_trywait F
> -GLIBC_2.2 sem_unlink F
>  GLIBC_2.2 sem_wait F
>  GLIBC_2.2.3 __libpthread_version_placeholder F
>  GLIBC_2.2.6 __libpthread_version_placeholder F
> diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
> index d0e68c2bc1..50b6beebdb 100644
> --- a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
> @@ -261,6 +261,7 @@ GLIBC_2.34 sem_init F
>  GLIBC_2.34 sem_open F
>  GLIBC_2.34 sem_post F
>  GLIBC_2.34 sem_timedwait F
> +GLIBC_2.34 sem_unlink F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> @@ -1832,6 +1833,7 @@ GLIBC_2.4 sem_init F
>  GLIBC_2.4 sem_open F
>  GLIBC_2.4 sem_post F
>  GLIBC_2.4 sem_timedwait F
> +GLIBC_2.4 sem_unlink F
>  GLIBC_2.4 semctl F
>  GLIBC_2.4 semget F
>  GLIBC_2.4 semop F
> diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
> index 7dc74135e3..1e819c1173 100644
> --- a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
> @@ -48,5 +48,4 @@ GLIBC_2.4 pthread_setschedprio F
>  GLIBC_2.4 pthread_timedjoin_np F
>  GLIBC_2.4 pthread_tryjoin_np F
>  GLIBC_2.4 sem_trywait F
> -GLIBC_2.4 sem_unlink F
>  GLIBC_2.4 sem_wait F
> diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
> index 3fd4c8b544..f42dfe0d54 100644
> --- a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
> @@ -1693,6 +1693,7 @@ GLIBC_2.1.1 imaxabs F
>  GLIBC_2.1.1 imaxdiv F
>  GLIBC_2.1.1 sem_close F
>  GLIBC_2.1.1 sem_open F
> +GLIBC_2.1.1 sem_unlink F
>  GLIBC_2.1.1 strchrnul F
>  GLIBC_2.1.1 xdr_hyper F
>  GLIBC_2.1.1 xdr_int64_t F
> @@ -2379,6 +2380,7 @@ GLIBC_2.34 sem_init F
>  GLIBC_2.34 sem_open F
>  GLIBC_2.34 sem_post F
>  GLIBC_2.34 sem_timedwait F
> +GLIBC_2.34 sem_unlink F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
> index c94979df12..c7a1d8f0ff 100644
> --- a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
> @@ -22,7 +22,7 @@ GLIBC_2.1 pthread_getconcurrency F
>  GLIBC_2.1 pthread_setconcurrency F
>  GLIBC_2.1 sem_trywait F
>  GLIBC_2.1 sem_wait F
> -GLIBC_2.1.1 sem_unlink F
> +GLIBC_2.1.1 __libpthread_version_placeholder F
>  GLIBC_2.1.2 __libpthread_version_placeholder F
>  GLIBC_2.11 pthread_sigqueue F
>  GLIBC_2.12 pthread_getname_np F
> diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
> index 41d99361c5..563c3a0e35 100644
> --- a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
> @@ -1669,6 +1669,7 @@ GLIBC_2.18 sem_init F
>  GLIBC_2.18 sem_open F
>  GLIBC_2.18 sem_post F
>  GLIBC_2.18 sem_timedwait F
> +GLIBC_2.18 sem_unlink F
>  GLIBC_2.18 semctl F
>  GLIBC_2.18 semget F
>  GLIBC_2.18 semop F
> @@ -2355,6 +2356,7 @@ GLIBC_2.34 sem_init F
>  GLIBC_2.34 sem_open F
>  GLIBC_2.34 sem_post F
>  GLIBC_2.34 sem_timedwait F
> +GLIBC_2.34 sem_unlink F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
> index 50483447c3..d7bacba551 100644
> --- a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
> @@ -42,7 +42,6 @@ GLIBC_2.18 pthread_sigqueue F
>  GLIBC_2.18 pthread_timedjoin_np F
>  GLIBC_2.18 pthread_tryjoin_np F
>  GLIBC_2.18 sem_trywait F
> -GLIBC_2.18 sem_unlink F
>  GLIBC_2.18 sem_wait F
>  GLIBC_2.28 thrd_create F
>  GLIBC_2.28 thrd_detach F
> diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
> index bc5512f728..57a51ab39b 100644
> --- a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
> @@ -1669,6 +1669,7 @@ GLIBC_2.18 sem_init F
>  GLIBC_2.18 sem_open F
>  GLIBC_2.18 sem_post F
>  GLIBC_2.18 sem_timedwait F
> +GLIBC_2.18 sem_unlink F
>  GLIBC_2.18 semctl F
>  GLIBC_2.18 semget F
>  GLIBC_2.18 semop F
> @@ -2352,6 +2353,7 @@ GLIBC_2.34 sem_init F
>  GLIBC_2.34 sem_open F
>  GLIBC_2.34 sem_post F
>  GLIBC_2.34 sem_timedwait F
> +GLIBC_2.34 sem_unlink F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
> index 50483447c3..d7bacba551 100644
> --- a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
> @@ -42,7 +42,6 @@ GLIBC_2.18 pthread_sigqueue F
>  GLIBC_2.18 pthread_timedjoin_np F
>  GLIBC_2.18 pthread_tryjoin_np F
>  GLIBC_2.18 sem_trywait F
> -GLIBC_2.18 sem_unlink F
>  GLIBC_2.18 sem_wait F
>  GLIBC_2.28 thrd_create F
>  GLIBC_2.28 thrd_detach F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
> index a9052fd2d2..a7b828f541 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
> @@ -1899,6 +1899,7 @@ GLIBC_2.2 sem_init F
>  GLIBC_2.2 sem_open F
>  GLIBC_2.2 sem_post F
>  GLIBC_2.2 sem_timedwait F
> +GLIBC_2.2 sem_unlink F
>  GLIBC_2.2 semctl F
>  GLIBC_2.2 sendfile F
>  GLIBC_2.2 setrlimit64 F
> @@ -2342,6 +2343,7 @@ GLIBC_2.34 sem_init F
>  GLIBC_2.34 sem_open F
>  GLIBC_2.34 sem_post F
>  GLIBC_2.34 sem_timedwait F
> +GLIBC_2.34 sem_unlink F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
> index f9cca8a676..c7256adbdb 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
> @@ -35,7 +35,6 @@ GLIBC_2.2 pthread_getconcurrency F
>  GLIBC_2.2 pthread_getcpuclockid F
>  GLIBC_2.2 pthread_setconcurrency F
>  GLIBC_2.2 sem_trywait F
> -GLIBC_2.2 sem_unlink F
>  GLIBC_2.2 sem_wait F
>  GLIBC_2.2.3 __libpthread_version_placeholder F
>  GLIBC_2.2.6 __libpthread_version_placeholder F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
> index c1510d2570..38e27a67b7 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
> @@ -1897,6 +1897,7 @@ GLIBC_2.2 sem_init F
>  GLIBC_2.2 sem_open F
>  GLIBC_2.2 sem_post F
>  GLIBC_2.2 sem_timedwait F
> +GLIBC_2.2 sem_unlink F
>  GLIBC_2.2 semctl F
>  GLIBC_2.2 sendfile F
>  GLIBC_2.2 setrlimit64 F
> @@ -2340,6 +2341,7 @@ GLIBC_2.34 sem_init F
>  GLIBC_2.34 sem_open F
>  GLIBC_2.34 sem_post F
>  GLIBC_2.34 sem_timedwait F
> +GLIBC_2.34 sem_unlink F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
> index f9cca8a676..c7256adbdb 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
> @@ -35,7 +35,6 @@ GLIBC_2.2 pthread_getconcurrency F
>  GLIBC_2.2 pthread_getcpuclockid F
>  GLIBC_2.2 pthread_setconcurrency F
>  GLIBC_2.2 sem_trywait F
> -GLIBC_2.2 sem_unlink F
>  GLIBC_2.2 sem_wait F
>  GLIBC_2.2.3 __libpthread_version_placeholder F
>  GLIBC_2.2.6 __libpthread_version_placeholder F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
> index bce71b4ff8..932bbb01ed 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
> @@ -1897,6 +1897,7 @@ GLIBC_2.2 sem_init F
>  GLIBC_2.2 sem_open F
>  GLIBC_2.2 sem_post F
>  GLIBC_2.2 sem_timedwait F
> +GLIBC_2.2 sem_unlink F
>  GLIBC_2.2 sendfile F
>  GLIBC_2.2 setrlimit64 F
>  GLIBC_2.2 setutxent F
> @@ -2348,6 +2349,7 @@ GLIBC_2.34 sem_init F
>  GLIBC_2.34 sem_open F
>  GLIBC_2.34 sem_post F
>  GLIBC_2.34 sem_timedwait F
> +GLIBC_2.34 sem_unlink F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
> index e7919379ff..d2af27e80e 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
> @@ -1893,6 +1893,7 @@ GLIBC_2.2 sem_init F
>  GLIBC_2.2 sem_open F
>  GLIBC_2.2 sem_post F
>  GLIBC_2.2 sem_timedwait F
> +GLIBC_2.2 sem_unlink F
>  GLIBC_2.2 sendfile F
>  GLIBC_2.2 setrlimit64 F
>  GLIBC_2.2 setutxent F
> @@ -2342,6 +2343,7 @@ GLIBC_2.34 sem_init F
>  GLIBC_2.34 sem_open F
>  GLIBC_2.34 sem_post F
>  GLIBC_2.34 sem_timedwait F
> +GLIBC_2.34 sem_unlink F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> diff --git a/sysdeps/unix/sysv/linux/nios2/libc.abilist b/sysdeps/unix/sysv/linux/nios2/libc.abilist
> index 022e7b13c0..b56a86af95 100644
> --- a/sysdeps/unix/sysv/linux/nios2/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/nios2/libc.abilist
> @@ -1712,6 +1712,7 @@ GLIBC_2.21 sem_init F
>  GLIBC_2.21 sem_open F
>  GLIBC_2.21 sem_post F
>  GLIBC_2.21 sem_timedwait F
> +GLIBC_2.21 sem_unlink F
>  GLIBC_2.21 semctl F
>  GLIBC_2.21 semget F
>  GLIBC_2.21 semop F
> @@ -2394,6 +2395,7 @@ GLIBC_2.34 sem_init F
>  GLIBC_2.34 sem_open F
>  GLIBC_2.34 sem_post F
>  GLIBC_2.34 sem_timedwait F
> +GLIBC_2.34 sem_unlink F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> diff --git a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
> index 2c6366d253..8c753b83c5 100644
> --- a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
> @@ -42,7 +42,6 @@ GLIBC_2.21 pthread_sigqueue F
>  GLIBC_2.21 pthread_timedjoin_np F
>  GLIBC_2.21 pthread_tryjoin_np F
>  GLIBC_2.21 sem_trywait F
> -GLIBC_2.21 sem_unlink F
>  GLIBC_2.21 sem_wait F
>  GLIBC_2.28 thrd_create F
>  GLIBC_2.28 thrd_detach F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
> index 6d96f00678..f66d77276d 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
> @@ -1698,6 +1698,7 @@ GLIBC_2.1.1 imaxabs F
>  GLIBC_2.1.1 imaxdiv F
>  GLIBC_2.1.1 sem_close F
>  GLIBC_2.1.1 sem_open F
> +GLIBC_2.1.1 sem_unlink F
>  GLIBC_2.1.1 strchrnul F
>  GLIBC_2.1.1 xdr_hyper F
>  GLIBC_2.1.1 xdr_int64_t F
> @@ -2406,6 +2407,7 @@ GLIBC_2.34 sem_init F
>  GLIBC_2.34 sem_open F
>  GLIBC_2.34 sem_post F
>  GLIBC_2.34 sem_timedwait F
> +GLIBC_2.34 sem_unlink F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
> index 2cb64d181e..83968d0c97 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
> @@ -22,7 +22,7 @@ GLIBC_2.1 pthread_getconcurrency F
>  GLIBC_2.1 pthread_setconcurrency F
>  GLIBC_2.1 sem_trywait F
>  GLIBC_2.1 sem_wait F
> -GLIBC_2.1.1 sem_unlink F
> +GLIBC_2.1.1 __libpthread_version_placeholder F
>  GLIBC_2.1.2 __libpthread_version_placeholder F
>  GLIBC_2.11 pthread_sigqueue F
>  GLIBC_2.12 pthread_getname_np F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
> index 1e9ab5406b..bf1a6ba7ba 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
> @@ -1698,6 +1698,7 @@ GLIBC_2.1.1 imaxabs F
>  GLIBC_2.1.1 imaxdiv F
>  GLIBC_2.1.1 sem_close F
>  GLIBC_2.1.1 sem_open F
> +GLIBC_2.1.1 sem_unlink F
>  GLIBC_2.1.1 strchrnul F
>  GLIBC_2.1.1 xdr_hyper F
>  GLIBC_2.1.1 xdr_int64_t F
> @@ -2439,6 +2440,7 @@ GLIBC_2.34 sem_init F
>  GLIBC_2.34 sem_open F
>  GLIBC_2.34 sem_post F
>  GLIBC_2.34 sem_timedwait F
> +GLIBC_2.34 sem_unlink F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
> index fd10c13d52..55eea26dc9 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
> @@ -1584,6 +1584,7 @@ GLIBC_2.3 sem_init F
>  GLIBC_2.3 sem_open F
>  GLIBC_2.3 sem_post F
>  GLIBC_2.3 sem_timedwait F
> +GLIBC_2.3 sem_unlink F
>  GLIBC_2.3 semctl F
>  GLIBC_2.3 semget F
>  GLIBC_2.3 semop F
> @@ -2256,6 +2257,7 @@ GLIBC_2.34 sem_init F
>  GLIBC_2.34 sem_open F
>  GLIBC_2.34 sem_post F
>  GLIBC_2.34 sem_timedwait F
> +GLIBC_2.34 sem_unlink F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
> index d83baa5b40..b6a7fc4e23 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
> @@ -35,7 +35,6 @@ GLIBC_2.3 pthread_getcpuclockid F
>  GLIBC_2.3 pthread_join F
>  GLIBC_2.3 pthread_setconcurrency F
>  GLIBC_2.3 sem_trywait F
> -GLIBC_2.3 sem_unlink F
>  GLIBC_2.3 sem_wait F
>  GLIBC_2.3.2 __libpthread_version_placeholder F
>  GLIBC_2.3.3 __pthread_register_cancel F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
> index c73d3442a4..b5032df9df 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
> @@ -1755,6 +1755,7 @@ GLIBC_2.17 sem_init F
>  GLIBC_2.17 sem_open F
>  GLIBC_2.17 sem_post F
>  GLIBC_2.17 sem_timedwait F
> +GLIBC_2.17 sem_unlink F
>  GLIBC_2.17 semctl F
>  GLIBC_2.17 semget F
>  GLIBC_2.17 semop F
> @@ -2557,6 +2558,7 @@ GLIBC_2.34 sem_init F
>  GLIBC_2.34 sem_open F
>  GLIBC_2.34 sem_post F
>  GLIBC_2.34 sem_timedwait F
> +GLIBC_2.34 sem_unlink F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
> index da05cd4d59..590f08ba58 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
> @@ -40,7 +40,6 @@ GLIBC_2.17 pthread_sigqueue F
>  GLIBC_2.17 pthread_timedjoin_np F
>  GLIBC_2.17 pthread_tryjoin_np F
>  GLIBC_2.17 sem_trywait F
> -GLIBC_2.17 sem_unlink F
>  GLIBC_2.17 sem_wait F
>  GLIBC_2.18 pthread_getattr_default_np F
>  GLIBC_2.18 pthread_setattr_default_np F
> diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
> index a44a2d24b0..7b86b09a47 100644
> --- a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
> @@ -1611,6 +1611,7 @@ GLIBC_2.33 sem_init F
>  GLIBC_2.33 sem_open F
>  GLIBC_2.33 sem_post F
>  GLIBC_2.33 sem_timedwait F
> +GLIBC_2.33 sem_unlink F
>  GLIBC_2.33 semctl F
>  GLIBC_2.33 semget F
>  GLIBC_2.33 semop F
> @@ -2122,6 +2123,7 @@ GLIBC_2.34 sem_init F
>  GLIBC_2.34 sem_open F
>  GLIBC_2.34 sem_post F
>  GLIBC_2.34 sem_timedwait F
> +GLIBC_2.34 sem_unlink F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
> index 95c2cc98ca..74798905a5 100644
> --- a/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
> @@ -43,7 +43,6 @@ GLIBC_2.33 pthread_sigqueue F
>  GLIBC_2.33 pthread_timedjoin_np F
>  GLIBC_2.33 pthread_tryjoin_np F
>  GLIBC_2.33 sem_trywait F
> -GLIBC_2.33 sem_unlink F
>  GLIBC_2.33 sem_wait F
>  GLIBC_2.33 thrd_create F
>  GLIBC_2.33 thrd_detach F
> diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
> index 2bf396dc33..36e7eff6a7 100644
> --- a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
> @@ -1659,6 +1659,7 @@ GLIBC_2.27 sem_init F
>  GLIBC_2.27 sem_open F
>  GLIBC_2.27 sem_post F
>  GLIBC_2.27 sem_timedwait F
> +GLIBC_2.27 sem_unlink F
>  GLIBC_2.27 semctl F
>  GLIBC_2.27 semget F
>  GLIBC_2.27 semop F
> @@ -2322,6 +2323,7 @@ GLIBC_2.34 sem_init F
>  GLIBC_2.34 sem_open F
>  GLIBC_2.34 sem_post F
>  GLIBC_2.34 sem_timedwait F
> +GLIBC_2.34 sem_unlink F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
> index efbdd69d5f..8eb140f7ac 100644
> --- a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
> @@ -42,7 +42,6 @@ GLIBC_2.27 pthread_sigqueue F
>  GLIBC_2.27 pthread_timedjoin_np F
>  GLIBC_2.27 pthread_tryjoin_np F
>  GLIBC_2.27 sem_trywait F
> -GLIBC_2.27 sem_unlink F
>  GLIBC_2.27 sem_wait F
>  GLIBC_2.28 thrd_create F
>  GLIBC_2.28 thrd_detach F
> diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
> index a39aeedc83..96d23b986b 100644
> --- a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
> @@ -1690,6 +1690,7 @@ GLIBC_2.1.1 imaxabs F
>  GLIBC_2.1.1 imaxdiv F
>  GLIBC_2.1.1 sem_close F
>  GLIBC_2.1.1 sem_open F
> +GLIBC_2.1.1 sem_unlink F
>  GLIBC_2.1.1 strchrnul F
>  GLIBC_2.1.1 xdr_hyper F
>  GLIBC_2.1.1 xdr_int64_t F
> @@ -2404,6 +2405,7 @@ GLIBC_2.34 sem_init F
>  GLIBC_2.34 sem_open F
>  GLIBC_2.34 sem_post F
>  GLIBC_2.34 sem_timedwait F
> +GLIBC_2.34 sem_unlink F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
> index c9352acfff..f59ac6c20d 100644
> --- a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
> @@ -22,7 +22,7 @@ GLIBC_2.1 pthread_getconcurrency F
>  GLIBC_2.1 pthread_setconcurrency F
>  GLIBC_2.1 sem_trywait F
>  GLIBC_2.1 sem_wait F
> -GLIBC_2.1.1 sem_unlink F
> +GLIBC_2.1.1 __libpthread_version_placeholder F
>  GLIBC_2.1.2 __libpthread_version_placeholder F
>  GLIBC_2.11 pthread_sigqueue F
>  GLIBC_2.12 pthread_getname_np F
> diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
> index 98b33f844b..928b499c84 100644
> --- a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
> @@ -1477,6 +1477,7 @@ GLIBC_2.2 sem_init F
>  GLIBC_2.2 sem_open F
>  GLIBC_2.2 sem_post F
>  GLIBC_2.2 sem_timedwait F
> +GLIBC_2.2 sem_unlink F
>  GLIBC_2.2 semctl F
>  GLIBC_2.2 semget F
>  GLIBC_2.2 semop F
> @@ -2293,6 +2294,7 @@ GLIBC_2.34 sem_init F
>  GLIBC_2.34 sem_open F
>  GLIBC_2.34 sem_post F
>  GLIBC_2.34 sem_timedwait F
> +GLIBC_2.34 sem_unlink F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
> index 58a2d4f3ba..a2f0c9965f 100644
> --- a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
> @@ -33,7 +33,6 @@ GLIBC_2.2 pthread_getcpuclockid F
>  GLIBC_2.2 pthread_join F
>  GLIBC_2.2 pthread_setconcurrency F
>  GLIBC_2.2 sem_trywait F
> -GLIBC_2.2 sem_unlink F
>  GLIBC_2.2 sem_wait F
>  GLIBC_2.2.3 __libpthread_version_placeholder F
>  GLIBC_2.2.6 __libpthread_version_placeholder F
> diff --git a/sysdeps/unix/sysv/linux/sh/be/libc.abilist b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
> index c029912b67..61594abaf2 100644
> --- a/sysdeps/unix/sysv/linux/sh/be/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
> @@ -1463,6 +1463,7 @@ GLIBC_2.2 sem_init F
>  GLIBC_2.2 sem_open F
>  GLIBC_2.2 sem_post F
>  GLIBC_2.2 sem_timedwait F
> +GLIBC_2.2 sem_unlink F
>  GLIBC_2.2 semctl F
>  GLIBC_2.2 semget F
>  GLIBC_2.2 semop F
> @@ -2262,6 +2263,7 @@ GLIBC_2.34 sem_init F
>  GLIBC_2.34 sem_open F
>  GLIBC_2.34 sem_post F
>  GLIBC_2.34 sem_timedwait F
> +GLIBC_2.34 sem_unlink F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> diff --git a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
> index e6282e233c..30f7add73e 100644
> --- a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
> @@ -32,7 +32,6 @@ GLIBC_2.2 pthread_getcpuclockid F
>  GLIBC_2.2 pthread_join F
>  GLIBC_2.2 pthread_setconcurrency F
>  GLIBC_2.2 sem_trywait F
> -GLIBC_2.2 sem_unlink F
>  GLIBC_2.2 sem_wait F
>  GLIBC_2.2.3 __libpthread_version_placeholder F
>  GLIBC_2.2.6 __libpthread_version_placeholder F
> diff --git a/sysdeps/unix/sysv/linux/sh/le/libc.abilist b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
> index 5b3f7aa502..17d56762a5 100644
> --- a/sysdeps/unix/sysv/linux/sh/le/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
> @@ -1463,6 +1463,7 @@ GLIBC_2.2 sem_init F
>  GLIBC_2.2 sem_open F
>  GLIBC_2.2 sem_post F
>  GLIBC_2.2 sem_timedwait F
> +GLIBC_2.2 sem_unlink F
>  GLIBC_2.2 semctl F
>  GLIBC_2.2 semget F
>  GLIBC_2.2 semop F
> @@ -2259,6 +2260,7 @@ GLIBC_2.34 sem_init F
>  GLIBC_2.34 sem_open F
>  GLIBC_2.34 sem_post F
>  GLIBC_2.34 sem_timedwait F
> +GLIBC_2.34 sem_unlink F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> diff --git a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
> index e6282e233c..30f7add73e 100644
> --- a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
> @@ -32,7 +32,6 @@ GLIBC_2.2 pthread_getcpuclockid F
>  GLIBC_2.2 pthread_join F
>  GLIBC_2.2 pthread_setconcurrency F
>  GLIBC_2.2 sem_trywait F
> -GLIBC_2.2 sem_unlink F
>  GLIBC_2.2 sem_wait F
>  GLIBC_2.2.3 __libpthread_version_placeholder F
>  GLIBC_2.2.6 __libpthread_version_placeholder F
> diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
> index d82f1c3f89..f34f9851ee 100644
> --- a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
> @@ -1691,6 +1691,7 @@ GLIBC_2.1.1 imaxabs F
>  GLIBC_2.1.1 imaxdiv F
>  GLIBC_2.1.1 sem_close F
>  GLIBC_2.1.1 sem_open F
> +GLIBC_2.1.1 sem_unlink F
>  GLIBC_2.1.1 strchrnul F
>  GLIBC_2.1.1 xdr_hyper F
>  GLIBC_2.1.1 xdr_int64_t F
> @@ -2395,6 +2396,7 @@ GLIBC_2.34 sem_init F
>  GLIBC_2.34 sem_open F
>  GLIBC_2.34 sem_post F
>  GLIBC_2.34 sem_timedwait F
> +GLIBC_2.34 sem_unlink F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
> index 64f7b97cfd..6540830d09 100644
> --- a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
> @@ -22,7 +22,7 @@ GLIBC_2.1 pthread_getconcurrency F
>  GLIBC_2.1 pthread_setconcurrency F
>  GLIBC_2.1 sem_trywait F
>  GLIBC_2.1 sem_wait F
> -GLIBC_2.1.1 sem_unlink F
> +GLIBC_2.1.1 __libpthread_version_placeholder F
>  GLIBC_2.1.2 __libpthread_version_placeholder F
>  GLIBC_2.11 pthread_sigqueue F
>  GLIBC_2.12 pthread_getname_np F
> diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
> index b77c3ebc14..17d1320652 100644
> --- a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
> @@ -1506,6 +1506,7 @@ GLIBC_2.2 sem_init F
>  GLIBC_2.2 sem_open F
>  GLIBC_2.2 sem_post F
>  GLIBC_2.2 sem_timedwait F
> +GLIBC_2.2 sem_unlink F
>  GLIBC_2.2 semctl F
>  GLIBC_2.2 semget F
>  GLIBC_2.2 semop F
> @@ -2310,6 +2311,7 @@ GLIBC_2.34 sem_init F
>  GLIBC_2.34 sem_open F
>  GLIBC_2.34 sem_post F
>  GLIBC_2.34 sem_timedwait F
> +GLIBC_2.34 sem_unlink F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
> index 4573250afa..225bfd0e6a 100644
> --- a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
> @@ -32,7 +32,6 @@ GLIBC_2.2 pthread_getcpuclockid F
>  GLIBC_2.2 pthread_join F
>  GLIBC_2.2 pthread_setconcurrency F
>  GLIBC_2.2 sem_trywait F
> -GLIBC_2.2 sem_unlink F
>  GLIBC_2.2 sem_wait F
>  GLIBC_2.2.3 __libpthread_version_placeholder F
>  GLIBC_2.2.6 __libpthread_version_placeholder F
> diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
> index 1b56b70a15..f59fc63658 100644
> --- a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
> @@ -1474,6 +1474,7 @@ GLIBC_2.2.5 sem_init F
>  GLIBC_2.2.5 sem_open F
>  GLIBC_2.2.5 sem_post F
>  GLIBC_2.2.5 sem_timedwait F
> +GLIBC_2.2.5 sem_unlink F
>  GLIBC_2.2.5 semctl F
>  GLIBC_2.2.5 semget F
>  GLIBC_2.2.5 semop F
> @@ -2271,6 +2272,7 @@ GLIBC_2.34 sem_init F
>  GLIBC_2.34 sem_open F
>  GLIBC_2.34 sem_post F
>  GLIBC_2.34 sem_timedwait F
> +GLIBC_2.34 sem_unlink F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
> index dc598f1bd8..6fc3699f2c 100644
> --- a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
> @@ -32,7 +32,6 @@ 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_trywait F
> -GLIBC_2.2.5 sem_unlink F
>  GLIBC_2.2.5 sem_wait F
>  GLIBC_2.2.6 __libpthread_version_placeholder F
>  GLIBC_2.28 thrd_create F
> diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
> index 26d95cc46e..d6e06954b6 100644
> --- a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
> @@ -1673,6 +1673,7 @@ GLIBC_2.16 sem_init F
>  GLIBC_2.16 sem_open F
>  GLIBC_2.16 sem_post F
>  GLIBC_2.16 sem_timedwait F
> +GLIBC_2.16 sem_unlink F
>  GLIBC_2.16 semctl F
>  GLIBC_2.16 semget F
>  GLIBC_2.16 semop F
> @@ -2376,6 +2377,7 @@ GLIBC_2.34 sem_init F
>  GLIBC_2.34 sem_open F
>  GLIBC_2.34 sem_post F
>  GLIBC_2.34 sem_timedwait F
> +GLIBC_2.34 sem_unlink F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
> index b5ade1e207..ab481ebe8a 100644
> --- a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
> @@ -40,7 +40,6 @@ GLIBC_2.16 pthread_sigqueue F
>  GLIBC_2.16 pthread_timedjoin_np F
>  GLIBC_2.16 pthread_tryjoin_np F
>  GLIBC_2.16 sem_trywait F
> -GLIBC_2.16 sem_unlink F
>  GLIBC_2.16 sem_wait F
>  GLIBC_2.18 pthread_getattr_default_np F
>  GLIBC_2.18 pthread_setattr_default_np F
> 

^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [PATCH 11/11] nptl: Move sem_trywait, sem_wait into libc
  2021-05-03 13:52 ` [PATCH 11/11] nptl: Move sem_trywait, sem_wait " Florian Weimer
@ 2021-05-05 14:38   ` Adhemerval Zanella
  0 siblings, 0 replies; 24+ messages in thread
From: Adhemerval Zanella @ 2021-05-05 14:38 UTC (permalink / raw)
  To: Florian Weimer, libc-alpha



On 03/05/2021 10:52, Florian Weimer via Libc-alpha wrote:
> The symbols were moved using scripts/move-symbol-to-libc.py.

LGTM, thanks.

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

> ---
>  nptl/Makefile                                   |  2 +-
>  nptl/Versions                                   | 10 ++++++----
>  nptl/sem_wait.c                                 | 17 +++++++++++++----
>  sysdeps/unix/sysv/linux/aarch64/libc.abilist    |  4 ++++
>  .../unix/sysv/linux/aarch64/libpthread.abilist  |  2 --
>  sysdeps/unix/sysv/linux/alpha/libc.abilist      |  6 ++++++
>  .../unix/sysv/linux/alpha/libpthread.abilist    |  4 ----
>  sysdeps/unix/sysv/linux/arc/libc.abilist        |  4 ++++
>  sysdeps/unix/sysv/linux/arc/libpthread.abilist  |  2 --
>  sysdeps/unix/sysv/linux/arm/be/libc.abilist     |  4 ++++
>  .../unix/sysv/linux/arm/be/libpthread.abilist   |  2 --
>  sysdeps/unix/sysv/linux/arm/le/libc.abilist     |  4 ++++
>  .../unix/sysv/linux/arm/le/libpthread.abilist   |  2 --
>  sysdeps/unix/sysv/linux/csky/libc.abilist       |  4 ++++
>  sysdeps/unix/sysv/linux/csky/libpthread.abilist |  2 --
>  sysdeps/unix/sysv/linux/hppa/libc.abilist       |  4 ++++
>  sysdeps/unix/sysv/linux/hppa/libpthread.abilist |  2 --
>  sysdeps/unix/sysv/linux/i386/libc.abilist       |  6 ++++++
>  sysdeps/unix/sysv/linux/i386/libpthread.abilist |  4 ----
>  sysdeps/unix/sysv/linux/ia64/libc.abilist       |  4 ++++
>  sysdeps/unix/sysv/linux/ia64/libpthread.abilist |  2 --
>  .../unix/sysv/linux/m68k/coldfire/libc.abilist  |  4 ++++
>  .../sysv/linux/m68k/coldfire/libpthread.abilist |  2 --
>  .../unix/sysv/linux/m68k/m680x0/libc.abilist    |  6 ++++++
>  .../sysv/linux/m68k/m680x0/libpthread.abilist   |  4 ----
>  .../unix/sysv/linux/microblaze/be/libc.abilist  |  4 ++++
>  .../sysv/linux/microblaze/be/libpthread.abilist |  2 --
>  .../unix/sysv/linux/microblaze/le/libc.abilist  |  4 ++++
>  .../sysv/linux/microblaze/le/libpthread.abilist |  2 --
>  .../sysv/linux/mips/mips32/fpu/libc.abilist     |  6 ++++++
>  .../sysv/linux/mips/mips32/libpthread.abilist   |  4 ----
>  .../sysv/linux/mips/mips32/nofpu/libc.abilist   |  6 ++++++
>  .../sysv/linux/mips/mips64/libpthread.abilist   |  4 ----
>  .../sysv/linux/mips/mips64/n32/libc.abilist     |  6 ++++++
>  .../sysv/linux/mips/mips64/n64/libc.abilist     |  6 ++++++
>  sysdeps/unix/sysv/linux/nios2/libc.abilist      |  4 ++++
>  .../unix/sysv/linux/nios2/libpthread.abilist    |  2 --
>  .../linux/powerpc/powerpc32/fpu/libc.abilist    |  6 ++++++
>  .../linux/powerpc/powerpc32/libpthread.abilist  |  4 ----
>  .../linux/powerpc/powerpc32/nofpu/libc.abilist  |  6 ++++++
>  .../linux/powerpc/powerpc64/be/libc.abilist     |  4 ++++
>  .../powerpc/powerpc64/be/libpthread.abilist     |  2 --
>  .../linux/powerpc/powerpc64/le/libc.abilist     |  4 ++++
>  .../powerpc/powerpc64/le/libpthread.abilist     |  2 --
>  sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist |  4 ++++
>  .../sysv/linux/riscv/rv32/libpthread.abilist    |  2 --
>  sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist |  4 ++++
>  .../sysv/linux/riscv/rv64/libpthread.abilist    |  2 --
>  .../unix/sysv/linux/s390/s390-32/libc.abilist   |  6 ++++++
>  .../sysv/linux/s390/s390-32/libpthread.abilist  |  4 ----
>  .../unix/sysv/linux/s390/s390-64/libc.abilist   |  4 ++++
>  .../sysv/linux/s390/s390-64/libpthread.abilist  |  2 --
>  sysdeps/unix/sysv/linux/sh/be/libc.abilist      |  4 ++++
>  .../unix/sysv/linux/sh/be/libpthread.abilist    |  2 --
>  sysdeps/unix/sysv/linux/sh/le/libc.abilist      |  4 ++++
>  .../unix/sysv/linux/sh/le/libpthread.abilist    |  2 --
>  .../unix/sysv/linux/sparc/sparc32/libc.abilist  |  6 ++++++
>  .../sysv/linux/sparc/sparc32/libpthread.abilist |  4 ----
>  .../unix/sysv/linux/sparc/sparc64/libc.abilist  |  4 ++++
>  .../sysv/linux/sparc/sparc64/libpthread.abilist |  2 --
>  sysdeps/unix/sysv/linux/x86_64/64/libc.abilist  |  4 ++++
>  .../sysv/linux/x86_64/64/libpthread.abilist     |  2 --
>  sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist |  4 ++++
>  .../sysv/linux/x86_64/x32/libpthread.abilist    |  2 --
>  64 files changed, 170 insertions(+), 83 deletions(-)
> 
> diff --git a/nptl/Makefile b/nptl/Makefile
> index 665cd1f3d1..7fb387a17a 100644
> --- a/nptl/Makefile
> +++ b/nptl/Makefile
> @@ -160,6 +160,7 @@ routines = \
>    sem_routines \
>    sem_timedwait \
>    sem_unlink \
> +  sem_wait \
>    tpp \
>    unwind \
>  
> @@ -211,7 +212,6 @@ libpthread-routines = \
>    pthread_sigqueue \
>    pthread_timedjoin \
>    pthread_tryjoin \
> -  sem_wait \
>    vars \
>    version \
>  
> diff --git a/nptl/Versions b/nptl/Versions
> index 20997aa706..b243e380e3 100644
> --- a/nptl/Versions
> +++ b/nptl/Versions
> @@ -66,6 +66,8 @@ libc {
>      sem_getvalue;
>      sem_init;
>      sem_post;
> +    sem_trywait;
> +    sem_wait;
>    }
>    GLIBC_2.1 {
>      pthread_attr_init;
> @@ -88,6 +90,8 @@ libc {
>      sem_getvalue;
>      sem_init;
>      sem_post;
> +    sem_trywait;
> +    sem_wait;
>    }
>    GLIBC_2.1.1 {
>      sem_close;
> @@ -270,7 +274,9 @@ libc {
>      sem_open;
>      sem_post;
>      sem_timedwait;
> +    sem_trywait;
>      sem_unlink;
> +    sem_wait;
>      thrd_exit;
>      tss_create;
>      tss_delete;
> @@ -336,8 +342,6 @@ libpthread {
>      pthread_detach;
>      pthread_join;
>      pthread_sigmask;
> -    sem_trywait;
> -    sem_wait;
>    }
>  
>    GLIBC_2.1 {
> @@ -350,8 +354,6 @@ libpthread {
>      pthread_create;
>      pthread_getconcurrency;
>      pthread_setconcurrency;
> -    sem_trywait;
> -    sem_wait;
>    }
>  
>    GLIBC_2.1.1 {
> diff --git a/nptl/sem_wait.c b/nptl/sem_wait.c
> index 02bee9f98c..8576add41c 100644
> --- a/nptl/sem_wait.c
> +++ b/nptl/sem_wait.c
> @@ -43,9 +43,13 @@ __new_sem_wait (sem_t *sem)
>      return __new_sem_wait_slow64 ((struct new_sem *) sem,
>  				  CLOCK_REALTIME, NULL);
>  }
> -versioned_symbol (libpthread, __new_sem_wait, sem_wait, GLIBC_2_1);
> +versioned_symbol (libc, __new_sem_wait, sem_wait, GLIBC_2_34);
>  
> -#if SHLIB_COMPAT (libpthread, GLIBC_2_0, GLIBC_2_1)
> +#if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_1, GLIBC_2_34)
> +compat_symbol (libpthread, __new_sem_wait, sem_wait, GLIBC_2_1);
> +#endif
> +
> +#if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_0, GLIBC_2_1)
>  int
>  attribute_compat_text_section
>  __old_sem_wait (sem_t *sem)
> @@ -80,8 +84,13 @@ __new_sem_trywait (sem_t *sem)
>    __set_errno (EAGAIN);
>    return -1;
>  }
> -versioned_symbol (libpthread, __new_sem_trywait, sem_trywait, GLIBC_2_1);
> -#if SHLIB_COMPAT (libpthread, GLIBC_2_0, GLIBC_2_1)
> +versioned_symbol (libc, __new_sem_trywait, sem_trywait, GLIBC_2_34);
> +
> +#if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_1, GLIBC_2_34)
> +compat_symbol (libpthread, __new_sem_trywait, sem_trywait, GLIBC_2_1);
> +#endif
> +
> +#if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_0, GLIBC_2_1)
>  int
>  __old_sem_trywait (sem_t *sem)
>  {
> diff --git a/sysdeps/unix/sysv/linux/aarch64/libc.abilist b/sysdeps/unix/sysv/linux/aarch64/libc.abilist
> index 75cacc3038..000d484949 100644
> --- a/sysdeps/unix/sysv/linux/aarch64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/aarch64/libc.abilist
> @@ -1667,7 +1667,9 @@ GLIBC_2.17 sem_init F
>  GLIBC_2.17 sem_open F
>  GLIBC_2.17 sem_post F
>  GLIBC_2.17 sem_timedwait F
> +GLIBC_2.17 sem_trywait F
>  GLIBC_2.17 sem_unlink F
> +GLIBC_2.17 sem_wait F
>  GLIBC_2.17 semctl F
>  GLIBC_2.17 semget F
>  GLIBC_2.17 semop F
> @@ -2362,7 +2364,9 @@ GLIBC_2.34 sem_init F
>  GLIBC_2.34 sem_open F
>  GLIBC_2.34 sem_post F
>  GLIBC_2.34 sem_timedwait F
> +GLIBC_2.34 sem_trywait F
>  GLIBC_2.34 sem_unlink F
> +GLIBC_2.34 sem_wait F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> diff --git a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
> index 590f08ba58..cbf1879440 100644
> --- a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
> @@ -39,8 +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_trywait F
> -GLIBC_2.17 sem_wait F
>  GLIBC_2.18 pthread_getattr_default_np F
>  GLIBC_2.18 pthread_setattr_default_np F
>  GLIBC_2.28 thrd_create F
> diff --git a/sysdeps/unix/sysv/linux/alpha/libc.abilist b/sysdeps/unix/sysv/linux/alpha/libc.abilist
> index a1c7de11ee..381101f10e 100644
> --- a/sysdeps/unix/sysv/linux/alpha/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/alpha/libc.abilist
> @@ -1015,6 +1015,8 @@ GLIBC_2.0 sem_destroy 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
> +GLIBC_2.0 sem_wait F
>  GLIBC_2.0 semctl F
>  GLIBC_2.0 semget F
>  GLIBC_2.0 semop F
> @@ -1642,6 +1644,8 @@ GLIBC_2.1 sem_destroy 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
> +GLIBC_2.1 sem_wait F
>  GLIBC_2.1 sendfile F
>  GLIBC_2.1 setitimer F
>  GLIBC_2.1 setrlimit64 F
> @@ -2447,7 +2451,9 @@ GLIBC_2.34 sem_init F
>  GLIBC_2.34 sem_open F
>  GLIBC_2.34 sem_post F
>  GLIBC_2.34 sem_timedwait F
> +GLIBC_2.34 sem_trywait F
>  GLIBC_2.34 sem_unlink F
> +GLIBC_2.34 sem_wait F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> diff --git a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
> index 6540830d09..4adb3dec7c 100644
> --- a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
> @@ -9,8 +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_trywait F
> -GLIBC_2.0 sem_wait F
>  GLIBC_2.1 pthread_attr_getguardsize F
>  GLIBC_2.1 pthread_attr_getstackaddr F
>  GLIBC_2.1 pthread_attr_getstacksize F
> @@ -20,8 +18,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_trywait F
> -GLIBC_2.1 sem_wait F
>  GLIBC_2.1.1 __libpthread_version_placeholder F
>  GLIBC_2.1.2 __libpthread_version_placeholder F
>  GLIBC_2.11 pthread_sigqueue F
> diff --git a/sysdeps/unix/sysv/linux/arc/libc.abilist b/sysdeps/unix/sysv/linux/arc/libc.abilist
> index 13f0192e61..cd05bc6393 100644
> --- a/sysdeps/unix/sysv/linux/arc/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/arc/libc.abilist
> @@ -1609,7 +1609,9 @@ GLIBC_2.32 sem_init F
>  GLIBC_2.32 sem_open F
>  GLIBC_2.32 sem_post F
>  GLIBC_2.32 sem_timedwait F
> +GLIBC_2.32 sem_trywait F
>  GLIBC_2.32 sem_unlink F
> +GLIBC_2.32 sem_wait F
>  GLIBC_2.32 semctl F
>  GLIBC_2.32 semget F
>  GLIBC_2.32 semop F
> @@ -2121,7 +2123,9 @@ GLIBC_2.34 sem_init F
>  GLIBC_2.34 sem_open F
>  GLIBC_2.34 sem_post F
>  GLIBC_2.34 sem_timedwait F
> +GLIBC_2.34 sem_trywait F
>  GLIBC_2.34 sem_unlink F
> +GLIBC_2.34 sem_wait F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> diff --git a/sysdeps/unix/sysv/linux/arc/libpthread.abilist b/sysdeps/unix/sysv/linux/arc/libpthread.abilist
> index 7aa79d0d68..219ac17ca8 100644
> --- a/sysdeps/unix/sysv/linux/arc/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/arc/libpthread.abilist
> @@ -42,8 +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_trywait F
> -GLIBC_2.32 sem_wait F
>  GLIBC_2.32 thrd_create F
>  GLIBC_2.32 thrd_detach F
>  GLIBC_2.32 thrd_join F
> diff --git a/sysdeps/unix/sysv/linux/arm/be/libc.abilist b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
> index 04715a2155..ca79da3636 100644
> --- a/sysdeps/unix/sysv/linux/arm/be/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
> @@ -260,7 +260,9 @@ GLIBC_2.34 sem_init F
>  GLIBC_2.34 sem_open F
>  GLIBC_2.34 sem_post F
>  GLIBC_2.34 sem_timedwait F
> +GLIBC_2.34 sem_trywait F
>  GLIBC_2.34 sem_unlink F
> +GLIBC_2.34 sem_wait F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> @@ -1853,7 +1855,9 @@ GLIBC_2.4 sem_init F
>  GLIBC_2.4 sem_open F
>  GLIBC_2.4 sem_post F
>  GLIBC_2.4 sem_timedwait F
> +GLIBC_2.4 sem_trywait F
>  GLIBC_2.4 sem_unlink F
> +GLIBC_2.4 sem_wait F
>  GLIBC_2.4 semctl F
>  GLIBC_2.4 semget F
>  GLIBC_2.4 semop F
> diff --git a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
> index 1e819c1173..3aba51fbd0 100644
> --- a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
> @@ -47,5 +47,3 @@ 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_trywait F
> -GLIBC_2.4 sem_wait F
> diff --git a/sysdeps/unix/sysv/linux/arm/le/libc.abilist b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
> index 671b211af6..619a2dc40a 100644
> --- a/sysdeps/unix/sysv/linux/arm/le/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
> @@ -257,7 +257,9 @@ GLIBC_2.34 sem_init F
>  GLIBC_2.34 sem_open F
>  GLIBC_2.34 sem_post F
>  GLIBC_2.34 sem_timedwait F
> +GLIBC_2.34 sem_trywait F
>  GLIBC_2.34 sem_unlink F
> +GLIBC_2.34 sem_wait F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> @@ -1850,7 +1852,9 @@ GLIBC_2.4 sem_init F
>  GLIBC_2.4 sem_open F
>  GLIBC_2.4 sem_post F
>  GLIBC_2.4 sem_timedwait F
> +GLIBC_2.4 sem_trywait F
>  GLIBC_2.4 sem_unlink F
> +GLIBC_2.4 sem_wait F
>  GLIBC_2.4 semctl F
>  GLIBC_2.4 semget F
>  GLIBC_2.4 semop F
> diff --git a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
> index 1e819c1173..3aba51fbd0 100644
> --- a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
> @@ -47,5 +47,3 @@ 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_trywait F
> -GLIBC_2.4 sem_wait F
> diff --git a/sysdeps/unix/sysv/linux/csky/libc.abilist b/sysdeps/unix/sysv/linux/csky/libc.abilist
> index ccb423fe97..5a2d762df0 100644
> --- a/sysdeps/unix/sysv/linux/csky/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/csky/libc.abilist
> @@ -1670,7 +1670,9 @@ GLIBC_2.29 sem_init F
>  GLIBC_2.29 sem_open F
>  GLIBC_2.29 sem_post F
>  GLIBC_2.29 sem_timedwait F
> +GLIBC_2.29 sem_trywait F
>  GLIBC_2.29 sem_unlink F
> +GLIBC_2.29 sem_wait F
>  GLIBC_2.29 semctl F
>  GLIBC_2.29 semget F
>  GLIBC_2.29 semop F
> @@ -2305,7 +2307,9 @@ GLIBC_2.34 sem_init F
>  GLIBC_2.34 sem_open F
>  GLIBC_2.34 sem_post F
>  GLIBC_2.34 sem_timedwait F
> +GLIBC_2.34 sem_trywait F
>  GLIBC_2.34 sem_unlink F
> +GLIBC_2.34 sem_wait F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> diff --git a/sysdeps/unix/sysv/linux/csky/libpthread.abilist b/sysdeps/unix/sysv/linux/csky/libpthread.abilist
> index 3579a0bfbb..819757485b 100644
> --- a/sysdeps/unix/sysv/linux/csky/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/csky/libpthread.abilist
> @@ -41,8 +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_trywait F
> -GLIBC_2.29 sem_wait F
>  GLIBC_2.29 thrd_create F
>  GLIBC_2.29 thrd_detach F
>  GLIBC_2.29 thrd_join F
> diff --git a/sysdeps/unix/sysv/linux/hppa/libc.abilist b/sysdeps/unix/sysv/linux/hppa/libc.abilist
> index 2d1fa9694b..5886b23300 100644
> --- a/sysdeps/unix/sysv/linux/hppa/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/hppa/libc.abilist
> @@ -1459,7 +1459,9 @@ GLIBC_2.2 sem_init F
>  GLIBC_2.2 sem_open F
>  GLIBC_2.2 sem_post F
>  GLIBC_2.2 sem_timedwait F
> +GLIBC_2.2 sem_trywait F
>  GLIBC_2.2 sem_unlink F
> +GLIBC_2.2 sem_wait F
>  GLIBC_2.2 semctl F
>  GLIBC_2.2 semget F
>  GLIBC_2.2 semop F
> @@ -2256,7 +2258,9 @@ GLIBC_2.34 sem_init F
>  GLIBC_2.34 sem_open F
>  GLIBC_2.34 sem_post F
>  GLIBC_2.34 sem_timedwait F
> +GLIBC_2.34 sem_trywait F
>  GLIBC_2.34 sem_unlink F
> +GLIBC_2.34 sem_wait F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> diff --git a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
> index 30f7add73e..d19abde30d 100644
> --- a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
> @@ -31,8 +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_trywait F
> -GLIBC_2.2 sem_wait F
>  GLIBC_2.2.3 __libpthread_version_placeholder F
>  GLIBC_2.2.6 __libpthread_version_placeholder F
>  GLIBC_2.28 thrd_create F
> diff --git a/sysdeps/unix/sysv/linux/i386/libc.abilist b/sysdeps/unix/sysv/linux/i386/libc.abilist
> index e270a9c9ab..4694ef5169 100644
> --- a/sysdeps/unix/sysv/linux/i386/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/i386/libc.abilist
> @@ -992,6 +992,8 @@ GLIBC_2.0 sem_destroy 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
> +GLIBC_2.0 sem_wait F
>  GLIBC_2.0 semctl F
>  GLIBC_2.0 semget F
>  GLIBC_2.0 semop F
> @@ -1612,6 +1614,8 @@ GLIBC_2.1 sem_destroy 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
> +GLIBC_2.1 sem_wait F
>  GLIBC_2.1 sendfile F
>  GLIBC_2.1 setrlimit64 F
>  GLIBC_2.1 setutxent F
> @@ -2437,7 +2441,9 @@ GLIBC_2.34 sem_init F
>  GLIBC_2.34 sem_open F
>  GLIBC_2.34 sem_post F
>  GLIBC_2.34 sem_timedwait F
> +GLIBC_2.34 sem_trywait F
>  GLIBC_2.34 sem_unlink F
> +GLIBC_2.34 sem_wait F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> diff --git a/sysdeps/unix/sysv/linux/i386/libpthread.abilist b/sysdeps/unix/sysv/linux/i386/libpthread.abilist
> index c7a1d8f0ff..7431c8546e 100644
> --- a/sysdeps/unix/sysv/linux/i386/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/i386/libpthread.abilist
> @@ -9,8 +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_trywait F
> -GLIBC_2.0 sem_wait F
>  GLIBC_2.1 pthread_attr_getguardsize F
>  GLIBC_2.1 pthread_attr_getstackaddr F
>  GLIBC_2.1 pthread_attr_getstacksize F
> @@ -20,8 +18,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_trywait F
> -GLIBC_2.1 sem_wait F
>  GLIBC_2.1.1 __libpthread_version_placeholder F
>  GLIBC_2.1.2 __libpthread_version_placeholder F
>  GLIBC_2.11 pthread_sigqueue F
> diff --git a/sysdeps/unix/sysv/linux/ia64/libc.abilist b/sysdeps/unix/sysv/linux/ia64/libc.abilist
> index 76dfc3a9ff..66b154da95 100644
> --- a/sysdeps/unix/sysv/linux/ia64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/ia64/libc.abilist
> @@ -1480,7 +1480,9 @@ GLIBC_2.2 sem_init F
>  GLIBC_2.2 sem_open F
>  GLIBC_2.2 sem_post F
>  GLIBC_2.2 sem_timedwait F
> +GLIBC_2.2 sem_trywait F
>  GLIBC_2.2 sem_unlink F
> +GLIBC_2.2 sem_wait F
>  GLIBC_2.2 semctl F
>  GLIBC_2.2 semget F
>  GLIBC_2.2 semop F
> @@ -2290,7 +2292,9 @@ GLIBC_2.34 sem_init F
>  GLIBC_2.34 sem_open F
>  GLIBC_2.34 sem_post F
>  GLIBC_2.34 sem_timedwait F
> +GLIBC_2.34 sem_trywait F
>  GLIBC_2.34 sem_unlink F
> +GLIBC_2.34 sem_wait F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> diff --git a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
> index 225bfd0e6a..05fae6161a 100644
> --- a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
> @@ -31,8 +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_trywait F
> -GLIBC_2.2 sem_wait F
>  GLIBC_2.2.3 __libpthread_version_placeholder F
>  GLIBC_2.2.6 __libpthread_version_placeholder F
>  GLIBC_2.28 thrd_create F
> diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
> index 50b6beebdb..dfcce32e4d 100644
> --- a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
> @@ -261,7 +261,9 @@ GLIBC_2.34 sem_init F
>  GLIBC_2.34 sem_open F
>  GLIBC_2.34 sem_post F
>  GLIBC_2.34 sem_timedwait F
> +GLIBC_2.34 sem_trywait F
>  GLIBC_2.34 sem_unlink F
> +GLIBC_2.34 sem_wait F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> @@ -1833,7 +1835,9 @@ GLIBC_2.4 sem_init F
>  GLIBC_2.4 sem_open F
>  GLIBC_2.4 sem_post F
>  GLIBC_2.4 sem_timedwait F
> +GLIBC_2.4 sem_trywait F
>  GLIBC_2.4 sem_unlink F
> +GLIBC_2.4 sem_wait F
>  GLIBC_2.4 semctl F
>  GLIBC_2.4 semget F
>  GLIBC_2.4 semop F
> diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
> index 1e819c1173..3aba51fbd0 100644
> --- a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
> @@ -47,5 +47,3 @@ 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_trywait F
> -GLIBC_2.4 sem_wait F
> diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
> index f42dfe0d54..a643d84325 100644
> --- a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
> @@ -991,6 +991,8 @@ GLIBC_2.0 sem_destroy 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
> +GLIBC_2.0 sem_wait F
>  GLIBC_2.0 semctl F
>  GLIBC_2.0 semget F
>  GLIBC_2.0 semop F
> @@ -1608,6 +1610,8 @@ GLIBC_2.1 sem_destroy 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
> +GLIBC_2.1 sem_wait F
>  GLIBC_2.1 sendfile F
>  GLIBC_2.1 setrlimit64 F
>  GLIBC_2.1 setutxent F
> @@ -2380,7 +2384,9 @@ GLIBC_2.34 sem_init F
>  GLIBC_2.34 sem_open F
>  GLIBC_2.34 sem_post F
>  GLIBC_2.34 sem_timedwait F
> +GLIBC_2.34 sem_trywait F
>  GLIBC_2.34 sem_unlink F
> +GLIBC_2.34 sem_wait F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
> index c7a1d8f0ff..7431c8546e 100644
> --- a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
> @@ -9,8 +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_trywait F
> -GLIBC_2.0 sem_wait F
>  GLIBC_2.1 pthread_attr_getguardsize F
>  GLIBC_2.1 pthread_attr_getstackaddr F
>  GLIBC_2.1 pthread_attr_getstacksize F
> @@ -20,8 +18,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_trywait F
> -GLIBC_2.1 sem_wait F
>  GLIBC_2.1.1 __libpthread_version_placeholder F
>  GLIBC_2.1.2 __libpthread_version_placeholder F
>  GLIBC_2.11 pthread_sigqueue F
> diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
> index 563c3a0e35..91d77eb8c9 100644
> --- a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
> @@ -1669,7 +1669,9 @@ GLIBC_2.18 sem_init F
>  GLIBC_2.18 sem_open F
>  GLIBC_2.18 sem_post F
>  GLIBC_2.18 sem_timedwait F
> +GLIBC_2.18 sem_trywait F
>  GLIBC_2.18 sem_unlink F
> +GLIBC_2.18 sem_wait F
>  GLIBC_2.18 semctl F
>  GLIBC_2.18 semget F
>  GLIBC_2.18 semop F
> @@ -2356,7 +2358,9 @@ GLIBC_2.34 sem_init F
>  GLIBC_2.34 sem_open F
>  GLIBC_2.34 sem_post F
>  GLIBC_2.34 sem_timedwait F
> +GLIBC_2.34 sem_trywait F
>  GLIBC_2.34 sem_unlink F
> +GLIBC_2.34 sem_wait F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
> index d7bacba551..ac586fac3b 100644
> --- a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
> @@ -41,8 +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_trywait F
> -GLIBC_2.18 sem_wait F
>  GLIBC_2.28 thrd_create F
>  GLIBC_2.28 thrd_detach F
>  GLIBC_2.28 thrd_join F
> diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
> index 57a51ab39b..72dd2dea1a 100644
> --- a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
> @@ -1669,7 +1669,9 @@ GLIBC_2.18 sem_init F
>  GLIBC_2.18 sem_open F
>  GLIBC_2.18 sem_post F
>  GLIBC_2.18 sem_timedwait F
> +GLIBC_2.18 sem_trywait F
>  GLIBC_2.18 sem_unlink F
> +GLIBC_2.18 sem_wait F
>  GLIBC_2.18 semctl F
>  GLIBC_2.18 semget F
>  GLIBC_2.18 semop F
> @@ -2353,7 +2355,9 @@ GLIBC_2.34 sem_init F
>  GLIBC_2.34 sem_open F
>  GLIBC_2.34 sem_post F
>  GLIBC_2.34 sem_timedwait F
> +GLIBC_2.34 sem_trywait F
>  GLIBC_2.34 sem_unlink F
> +GLIBC_2.34 sem_wait F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
> index d7bacba551..ac586fac3b 100644
> --- a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
> @@ -41,8 +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_trywait F
> -GLIBC_2.18 sem_wait F
>  GLIBC_2.28 thrd_create F
>  GLIBC_2.28 thrd_detach F
>  GLIBC_2.28 thrd_join F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
> index a7b828f541..2132171644 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
> @@ -988,6 +988,8 @@ GLIBC_2.0 sem_destroy 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
> +GLIBC_2.0 sem_wait F
>  GLIBC_2.0 semctl F
>  GLIBC_2.0 semget F
>  GLIBC_2.0 semop F
> @@ -1899,7 +1901,9 @@ GLIBC_2.2 sem_init F
>  GLIBC_2.2 sem_open F
>  GLIBC_2.2 sem_post F
>  GLIBC_2.2 sem_timedwait F
> +GLIBC_2.2 sem_trywait F
>  GLIBC_2.2 sem_unlink F
> +GLIBC_2.2 sem_wait F
>  GLIBC_2.2 semctl F
>  GLIBC_2.2 sendfile F
>  GLIBC_2.2 setrlimit64 F
> @@ -2343,7 +2347,9 @@ GLIBC_2.34 sem_init F
>  GLIBC_2.34 sem_open F
>  GLIBC_2.34 sem_post F
>  GLIBC_2.34 sem_timedwait F
> +GLIBC_2.34 sem_trywait F
>  GLIBC_2.34 sem_unlink F
> +GLIBC_2.34 sem_wait F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
> index c7256adbdb..16eef07725 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
> @@ -9,8 +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_trywait F
> -GLIBC_2.0 sem_wait F
>  GLIBC_2.11 pthread_sigqueue F
>  GLIBC_2.12 pthread_getname_np F
>  GLIBC_2.12 pthread_setname_np F
> @@ -34,8 +32,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_trywait F
> -GLIBC_2.2 sem_wait F
>  GLIBC_2.2.3 __libpthread_version_placeholder F
>  GLIBC_2.2.6 __libpthread_version_placeholder F
>  GLIBC_2.28 thrd_create F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
> index 38e27a67b7..f59b1cd90b 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
> @@ -988,6 +988,8 @@ GLIBC_2.0 sem_destroy 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
> +GLIBC_2.0 sem_wait F
>  GLIBC_2.0 semctl F
>  GLIBC_2.0 semget F
>  GLIBC_2.0 semop F
> @@ -1897,7 +1899,9 @@ GLIBC_2.2 sem_init F
>  GLIBC_2.2 sem_open F
>  GLIBC_2.2 sem_post F
>  GLIBC_2.2 sem_timedwait F
> +GLIBC_2.2 sem_trywait F
>  GLIBC_2.2 sem_unlink F
> +GLIBC_2.2 sem_wait F
>  GLIBC_2.2 semctl F
>  GLIBC_2.2 sendfile F
>  GLIBC_2.2 setrlimit64 F
> @@ -2341,7 +2345,9 @@ GLIBC_2.34 sem_init F
>  GLIBC_2.34 sem_open F
>  GLIBC_2.34 sem_post F
>  GLIBC_2.34 sem_timedwait F
> +GLIBC_2.34 sem_trywait F
>  GLIBC_2.34 sem_unlink F
> +GLIBC_2.34 sem_wait F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
> index c7256adbdb..16eef07725 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
> @@ -9,8 +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_trywait F
> -GLIBC_2.0 sem_wait F
>  GLIBC_2.11 pthread_sigqueue F
>  GLIBC_2.12 pthread_getname_np F
>  GLIBC_2.12 pthread_setname_np F
> @@ -34,8 +32,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_trywait F
> -GLIBC_2.2 sem_wait F
>  GLIBC_2.2.3 __libpthread_version_placeholder F
>  GLIBC_2.2.6 __libpthread_version_placeholder F
>  GLIBC_2.28 thrd_create F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
> index 932bbb01ed..1a8b007889 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
> @@ -988,6 +988,8 @@ GLIBC_2.0 sem_destroy 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
> +GLIBC_2.0 sem_wait F
>  GLIBC_2.0 semctl F
>  GLIBC_2.0 semget F
>  GLIBC_2.0 semop F
> @@ -1897,7 +1899,9 @@ GLIBC_2.2 sem_init F
>  GLIBC_2.2 sem_open F
>  GLIBC_2.2 sem_post F
>  GLIBC_2.2 sem_timedwait F
> +GLIBC_2.2 sem_trywait F
>  GLIBC_2.2 sem_unlink F
> +GLIBC_2.2 sem_wait F
>  GLIBC_2.2 sendfile F
>  GLIBC_2.2 setrlimit64 F
>  GLIBC_2.2 setutxent F
> @@ -2349,7 +2353,9 @@ GLIBC_2.34 sem_init F
>  GLIBC_2.34 sem_open F
>  GLIBC_2.34 sem_post F
>  GLIBC_2.34 sem_timedwait F
> +GLIBC_2.34 sem_trywait F
>  GLIBC_2.34 sem_unlink F
> +GLIBC_2.34 sem_wait F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
> index d2af27e80e..c3291ffa9e 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
> @@ -986,6 +986,8 @@ GLIBC_2.0 sem_destroy 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
> +GLIBC_2.0 sem_wait F
>  GLIBC_2.0 semctl F
>  GLIBC_2.0 semget F
>  GLIBC_2.0 semop F
> @@ -1893,7 +1895,9 @@ GLIBC_2.2 sem_init F
>  GLIBC_2.2 sem_open F
>  GLIBC_2.2 sem_post F
>  GLIBC_2.2 sem_timedwait F
> +GLIBC_2.2 sem_trywait F
>  GLIBC_2.2 sem_unlink F
> +GLIBC_2.2 sem_wait F
>  GLIBC_2.2 sendfile F
>  GLIBC_2.2 setrlimit64 F
>  GLIBC_2.2 setutxent F
> @@ -2343,7 +2347,9 @@ GLIBC_2.34 sem_init F
>  GLIBC_2.34 sem_open F
>  GLIBC_2.34 sem_post F
>  GLIBC_2.34 sem_timedwait F
> +GLIBC_2.34 sem_trywait F
>  GLIBC_2.34 sem_unlink F
> +GLIBC_2.34 sem_wait F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> diff --git a/sysdeps/unix/sysv/linux/nios2/libc.abilist b/sysdeps/unix/sysv/linux/nios2/libc.abilist
> index b56a86af95..f118e29a13 100644
> --- a/sysdeps/unix/sysv/linux/nios2/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/nios2/libc.abilist
> @@ -1712,7 +1712,9 @@ GLIBC_2.21 sem_init F
>  GLIBC_2.21 sem_open F
>  GLIBC_2.21 sem_post F
>  GLIBC_2.21 sem_timedwait F
> +GLIBC_2.21 sem_trywait F
>  GLIBC_2.21 sem_unlink F
> +GLIBC_2.21 sem_wait F
>  GLIBC_2.21 semctl F
>  GLIBC_2.21 semget F
>  GLIBC_2.21 semop F
> @@ -2395,7 +2397,9 @@ GLIBC_2.34 sem_init F
>  GLIBC_2.34 sem_open F
>  GLIBC_2.34 sem_post F
>  GLIBC_2.34 sem_timedwait F
> +GLIBC_2.34 sem_trywait F
>  GLIBC_2.34 sem_unlink F
> +GLIBC_2.34 sem_wait F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> diff --git a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
> index 8c753b83c5..4080b80d4a 100644
> --- a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
> @@ -41,8 +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_trywait F
> -GLIBC_2.21 sem_wait F
>  GLIBC_2.28 thrd_create F
>  GLIBC_2.28 thrd_detach F
>  GLIBC_2.28 thrd_join F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
> index f66d77276d..7469a65e2e 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
> @@ -999,6 +999,8 @@ GLIBC_2.0 sem_destroy 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
> +GLIBC_2.0 sem_wait F
>  GLIBC_2.0 semctl F
>  GLIBC_2.0 semget F
>  GLIBC_2.0 semop F
> @@ -1613,6 +1615,8 @@ GLIBC_2.1 sem_destroy 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
> +GLIBC_2.1 sem_wait F
>  GLIBC_2.1 sendfile F
>  GLIBC_2.1 setrlimit64 F
>  GLIBC_2.1 setutxent F
> @@ -2407,7 +2411,9 @@ GLIBC_2.34 sem_init F
>  GLIBC_2.34 sem_open F
>  GLIBC_2.34 sem_post F
>  GLIBC_2.34 sem_timedwait F
> +GLIBC_2.34 sem_trywait F
>  GLIBC_2.34 sem_unlink F
> +GLIBC_2.34 sem_wait F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
> index 83968d0c97..4bc2e431c3 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
> @@ -9,8 +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_trywait F
> -GLIBC_2.0 sem_wait F
>  GLIBC_2.1 pthread_attr_getguardsize F
>  GLIBC_2.1 pthread_attr_getstackaddr F
>  GLIBC_2.1 pthread_attr_getstacksize F
> @@ -20,8 +18,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_trywait F
> -GLIBC_2.1 sem_wait F
>  GLIBC_2.1.1 __libpthread_version_placeholder F
>  GLIBC_2.1.2 __libpthread_version_placeholder F
>  GLIBC_2.11 pthread_sigqueue F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
> index bf1a6ba7ba..6998064cc8 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
> @@ -999,6 +999,8 @@ GLIBC_2.0 sem_destroy 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
> +GLIBC_2.0 sem_wait F
>  GLIBC_2.0 semctl F
>  GLIBC_2.0 semget F
>  GLIBC_2.0 semop F
> @@ -1613,6 +1615,8 @@ GLIBC_2.1 sem_destroy 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
> +GLIBC_2.1 sem_wait F
>  GLIBC_2.1 sendfile F
>  GLIBC_2.1 setrlimit64 F
>  GLIBC_2.1 setutxent F
> @@ -2440,7 +2444,9 @@ GLIBC_2.34 sem_init F
>  GLIBC_2.34 sem_open F
>  GLIBC_2.34 sem_post F
>  GLIBC_2.34 sem_timedwait F
> +GLIBC_2.34 sem_trywait F
>  GLIBC_2.34 sem_unlink F
> +GLIBC_2.34 sem_wait F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
> index 55eea26dc9..20014236c7 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
> @@ -1584,7 +1584,9 @@ GLIBC_2.3 sem_init F
>  GLIBC_2.3 sem_open F
>  GLIBC_2.3 sem_post F
>  GLIBC_2.3 sem_timedwait F
> +GLIBC_2.3 sem_trywait F
>  GLIBC_2.3 sem_unlink F
> +GLIBC_2.3 sem_wait F
>  GLIBC_2.3 semctl F
>  GLIBC_2.3 semget F
>  GLIBC_2.3 semop F
> @@ -2257,7 +2259,9 @@ GLIBC_2.34 sem_init F
>  GLIBC_2.34 sem_open F
>  GLIBC_2.34 sem_post F
>  GLIBC_2.34 sem_timedwait F
> +GLIBC_2.34 sem_trywait F
>  GLIBC_2.34 sem_unlink F
> +GLIBC_2.34 sem_wait F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
> index b6a7fc4e23..e7287d88fb 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
> @@ -34,8 +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_trywait F
> -GLIBC_2.3 sem_wait F
>  GLIBC_2.3.2 __libpthread_version_placeholder F
>  GLIBC_2.3.3 __pthread_register_cancel F
>  GLIBC_2.3.3 __pthread_register_cancel_defer F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
> index b5032df9df..24a7d912cc 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
> @@ -1755,7 +1755,9 @@ GLIBC_2.17 sem_init F
>  GLIBC_2.17 sem_open F
>  GLIBC_2.17 sem_post F
>  GLIBC_2.17 sem_timedwait F
> +GLIBC_2.17 sem_trywait F
>  GLIBC_2.17 sem_unlink F
> +GLIBC_2.17 sem_wait F
>  GLIBC_2.17 semctl F
>  GLIBC_2.17 semget F
>  GLIBC_2.17 semop F
> @@ -2558,7 +2560,9 @@ GLIBC_2.34 sem_init F
>  GLIBC_2.34 sem_open F
>  GLIBC_2.34 sem_post F
>  GLIBC_2.34 sem_timedwait F
> +GLIBC_2.34 sem_trywait F
>  GLIBC_2.34 sem_unlink F
> +GLIBC_2.34 sem_wait F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
> index 590f08ba58..cbf1879440 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
> @@ -39,8 +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_trywait F
> -GLIBC_2.17 sem_wait F
>  GLIBC_2.18 pthread_getattr_default_np F
>  GLIBC_2.18 pthread_setattr_default_np F
>  GLIBC_2.28 thrd_create F
> diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
> index 7b86b09a47..b739614eea 100644
> --- a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
> @@ -1611,7 +1611,9 @@ GLIBC_2.33 sem_init F
>  GLIBC_2.33 sem_open F
>  GLIBC_2.33 sem_post F
>  GLIBC_2.33 sem_timedwait F
> +GLIBC_2.33 sem_trywait F
>  GLIBC_2.33 sem_unlink F
> +GLIBC_2.33 sem_wait F
>  GLIBC_2.33 semctl F
>  GLIBC_2.33 semget F
>  GLIBC_2.33 semop F
> @@ -2123,7 +2125,9 @@ GLIBC_2.34 sem_init F
>  GLIBC_2.34 sem_open F
>  GLIBC_2.34 sem_post F
>  GLIBC_2.34 sem_timedwait F
> +GLIBC_2.34 sem_trywait F
>  GLIBC_2.34 sem_unlink F
> +GLIBC_2.34 sem_wait F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
> index 74798905a5..0609c51490 100644
> --- a/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
> @@ -42,8 +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_trywait F
> -GLIBC_2.33 sem_wait F
>  GLIBC_2.33 thrd_create F
>  GLIBC_2.33 thrd_detach F
>  GLIBC_2.33 thrd_join F
> diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
> index 36e7eff6a7..b6f1325a59 100644
> --- a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
> @@ -1659,7 +1659,9 @@ GLIBC_2.27 sem_init F
>  GLIBC_2.27 sem_open F
>  GLIBC_2.27 sem_post F
>  GLIBC_2.27 sem_timedwait F
> +GLIBC_2.27 sem_trywait F
>  GLIBC_2.27 sem_unlink F
> +GLIBC_2.27 sem_wait F
>  GLIBC_2.27 semctl F
>  GLIBC_2.27 semget F
>  GLIBC_2.27 semop F
> @@ -2323,7 +2325,9 @@ GLIBC_2.34 sem_init F
>  GLIBC_2.34 sem_open F
>  GLIBC_2.34 sem_post F
>  GLIBC_2.34 sem_timedwait F
> +GLIBC_2.34 sem_trywait F
>  GLIBC_2.34 sem_unlink F
> +GLIBC_2.34 sem_wait F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
> index 8eb140f7ac..2eab03d3c5 100644
> --- a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
> @@ -41,8 +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_trywait F
> -GLIBC_2.27 sem_wait F
>  GLIBC_2.28 thrd_create F
>  GLIBC_2.28 thrd_detach F
>  GLIBC_2.28 thrd_join F
> diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
> index 96d23b986b..f87d2ce120 100644
> --- a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
> @@ -990,6 +990,8 @@ GLIBC_2.0 sem_destroy 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
> +GLIBC_2.0 sem_wait F
>  GLIBC_2.0 semctl F
>  GLIBC_2.0 semget F
>  GLIBC_2.0 semop F
> @@ -1605,6 +1607,8 @@ GLIBC_2.1 sem_destroy 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
> +GLIBC_2.1 sem_wait F
>  GLIBC_2.1 sendfile F
>  GLIBC_2.1 setrlimit64 F
>  GLIBC_2.1 setutxent F
> @@ -2405,7 +2409,9 @@ GLIBC_2.34 sem_init F
>  GLIBC_2.34 sem_open F
>  GLIBC_2.34 sem_post F
>  GLIBC_2.34 sem_timedwait F
> +GLIBC_2.34 sem_trywait F
>  GLIBC_2.34 sem_unlink F
> +GLIBC_2.34 sem_wait F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
> index f59ac6c20d..696d0370ff 100644
> --- a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
> @@ -9,8 +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_trywait F
> -GLIBC_2.0 sem_wait F
>  GLIBC_2.1 pthread_attr_getguardsize F
>  GLIBC_2.1 pthread_attr_getstackaddr F
>  GLIBC_2.1 pthread_attr_getstacksize F
> @@ -20,8 +18,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_trywait F
> -GLIBC_2.1 sem_wait F
>  GLIBC_2.1.1 __libpthread_version_placeholder F
>  GLIBC_2.1.2 __libpthread_version_placeholder F
>  GLIBC_2.11 pthread_sigqueue F
> diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
> index 928b499c84..360d76eff1 100644
> --- a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
> @@ -1477,7 +1477,9 @@ GLIBC_2.2 sem_init F
>  GLIBC_2.2 sem_open F
>  GLIBC_2.2 sem_post F
>  GLIBC_2.2 sem_timedwait F
> +GLIBC_2.2 sem_trywait F
>  GLIBC_2.2 sem_unlink F
> +GLIBC_2.2 sem_wait F
>  GLIBC_2.2 semctl F
>  GLIBC_2.2 semget F
>  GLIBC_2.2 semop F
> @@ -2294,7 +2296,9 @@ GLIBC_2.34 sem_init F
>  GLIBC_2.34 sem_open F
>  GLIBC_2.34 sem_post F
>  GLIBC_2.34 sem_timedwait F
> +GLIBC_2.34 sem_trywait F
>  GLIBC_2.34 sem_unlink F
> +GLIBC_2.34 sem_wait F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
> index a2f0c9965f..ab1712df42 100644
> --- a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
> @@ -32,8 +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_trywait F
> -GLIBC_2.2 sem_wait F
>  GLIBC_2.2.3 __libpthread_version_placeholder F
>  GLIBC_2.2.6 __libpthread_version_placeholder F
>  GLIBC_2.28 thrd_create F
> diff --git a/sysdeps/unix/sysv/linux/sh/be/libc.abilist b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
> index 61594abaf2..efdeab47ad 100644
> --- a/sysdeps/unix/sysv/linux/sh/be/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
> @@ -1463,7 +1463,9 @@ GLIBC_2.2 sem_init F
>  GLIBC_2.2 sem_open F
>  GLIBC_2.2 sem_post F
>  GLIBC_2.2 sem_timedwait F
> +GLIBC_2.2 sem_trywait F
>  GLIBC_2.2 sem_unlink F
> +GLIBC_2.2 sem_wait F
>  GLIBC_2.2 semctl F
>  GLIBC_2.2 semget F
>  GLIBC_2.2 semop F
> @@ -2263,7 +2265,9 @@ GLIBC_2.34 sem_init F
>  GLIBC_2.34 sem_open F
>  GLIBC_2.34 sem_post F
>  GLIBC_2.34 sem_timedwait F
> +GLIBC_2.34 sem_trywait F
>  GLIBC_2.34 sem_unlink F
> +GLIBC_2.34 sem_wait F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> diff --git a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
> index 30f7add73e..d19abde30d 100644
> --- a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
> @@ -31,8 +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_trywait F
> -GLIBC_2.2 sem_wait F
>  GLIBC_2.2.3 __libpthread_version_placeholder F
>  GLIBC_2.2.6 __libpthread_version_placeholder F
>  GLIBC_2.28 thrd_create F
> diff --git a/sysdeps/unix/sysv/linux/sh/le/libc.abilist b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
> index 17d56762a5..30c6f58df0 100644
> --- a/sysdeps/unix/sysv/linux/sh/le/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
> @@ -1463,7 +1463,9 @@ GLIBC_2.2 sem_init F
>  GLIBC_2.2 sem_open F
>  GLIBC_2.2 sem_post F
>  GLIBC_2.2 sem_timedwait F
> +GLIBC_2.2 sem_trywait F
>  GLIBC_2.2 sem_unlink F
> +GLIBC_2.2 sem_wait F
>  GLIBC_2.2 semctl F
>  GLIBC_2.2 semget F
>  GLIBC_2.2 semop F
> @@ -2260,7 +2262,9 @@ GLIBC_2.34 sem_init F
>  GLIBC_2.34 sem_open F
>  GLIBC_2.34 sem_post F
>  GLIBC_2.34 sem_timedwait F
> +GLIBC_2.34 sem_trywait F
>  GLIBC_2.34 sem_unlink F
> +GLIBC_2.34 sem_wait F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> diff --git a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
> index 30f7add73e..d19abde30d 100644
> --- a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
> @@ -31,8 +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_trywait F
> -GLIBC_2.2 sem_wait F
>  GLIBC_2.2.3 __libpthread_version_placeholder F
>  GLIBC_2.2.6 __libpthread_version_placeholder F
>  GLIBC_2.28 thrd_create F
> diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
> index f34f9851ee..72031725c9 100644
> --- a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
> @@ -993,6 +993,8 @@ GLIBC_2.0 sem_destroy 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
> +GLIBC_2.0 sem_wait F
>  GLIBC_2.0 semctl F
>  GLIBC_2.0 semget F
>  GLIBC_2.0 semop F
> @@ -1606,6 +1608,8 @@ GLIBC_2.1 sem_destroy 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
> +GLIBC_2.1 sem_wait F
>  GLIBC_2.1 sendfile F
>  GLIBC_2.1 setrlimit64 F
>  GLIBC_2.1 setutxent F
> @@ -2396,7 +2400,9 @@ GLIBC_2.34 sem_init F
>  GLIBC_2.34 sem_open F
>  GLIBC_2.34 sem_post F
>  GLIBC_2.34 sem_timedwait F
> +GLIBC_2.34 sem_trywait F
>  GLIBC_2.34 sem_unlink F
> +GLIBC_2.34 sem_wait F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
> index 6540830d09..4adb3dec7c 100644
> --- a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
> @@ -9,8 +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_trywait F
> -GLIBC_2.0 sem_wait F
>  GLIBC_2.1 pthread_attr_getguardsize F
>  GLIBC_2.1 pthread_attr_getstackaddr F
>  GLIBC_2.1 pthread_attr_getstacksize F
> @@ -20,8 +18,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_trywait F
> -GLIBC_2.1 sem_wait F
>  GLIBC_2.1.1 __libpthread_version_placeholder F
>  GLIBC_2.1.2 __libpthread_version_placeholder F
>  GLIBC_2.11 pthread_sigqueue F
> diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
> index 17d1320652..1747388f2f 100644
> --- a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
> @@ -1506,7 +1506,9 @@ GLIBC_2.2 sem_init F
>  GLIBC_2.2 sem_open F
>  GLIBC_2.2 sem_post F
>  GLIBC_2.2 sem_timedwait F
> +GLIBC_2.2 sem_trywait F
>  GLIBC_2.2 sem_unlink F
> +GLIBC_2.2 sem_wait F
>  GLIBC_2.2 semctl F
>  GLIBC_2.2 semget F
>  GLIBC_2.2 semop F
> @@ -2311,7 +2313,9 @@ GLIBC_2.34 sem_init F
>  GLIBC_2.34 sem_open F
>  GLIBC_2.34 sem_post F
>  GLIBC_2.34 sem_timedwait F
> +GLIBC_2.34 sem_trywait F
>  GLIBC_2.34 sem_unlink F
> +GLIBC_2.34 sem_wait F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
> index 225bfd0e6a..05fae6161a 100644
> --- a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
> @@ -31,8 +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_trywait F
> -GLIBC_2.2 sem_wait F
>  GLIBC_2.2.3 __libpthread_version_placeholder F
>  GLIBC_2.2.6 __libpthread_version_placeholder F
>  GLIBC_2.28 thrd_create F
> diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
> index f59fc63658..f1c5e63435 100644
> --- a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
> @@ -1474,7 +1474,9 @@ GLIBC_2.2.5 sem_init F
>  GLIBC_2.2.5 sem_open F
>  GLIBC_2.2.5 sem_post F
>  GLIBC_2.2.5 sem_timedwait F
> +GLIBC_2.2.5 sem_trywait F
>  GLIBC_2.2.5 sem_unlink F
> +GLIBC_2.2.5 sem_wait F
>  GLIBC_2.2.5 semctl F
>  GLIBC_2.2.5 semget F
>  GLIBC_2.2.5 semop F
> @@ -2272,7 +2274,9 @@ GLIBC_2.34 sem_init F
>  GLIBC_2.34 sem_open F
>  GLIBC_2.34 sem_post F
>  GLIBC_2.34 sem_timedwait F
> +GLIBC_2.34 sem_trywait F
>  GLIBC_2.34 sem_unlink F
> +GLIBC_2.34 sem_wait F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
> index 6fc3699f2c..b5faceae7b 100644
> --- a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
> @@ -31,8 +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_trywait F
> -GLIBC_2.2.5 sem_wait F
>  GLIBC_2.2.6 __libpthread_version_placeholder F
>  GLIBC_2.28 thrd_create F
>  GLIBC_2.28 thrd_detach F
> diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
> index d6e06954b6..3ca0ecde5c 100644
> --- a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
> @@ -1673,7 +1673,9 @@ GLIBC_2.16 sem_init F
>  GLIBC_2.16 sem_open F
>  GLIBC_2.16 sem_post F
>  GLIBC_2.16 sem_timedwait F
> +GLIBC_2.16 sem_trywait F
>  GLIBC_2.16 sem_unlink F
> +GLIBC_2.16 sem_wait F
>  GLIBC_2.16 semctl F
>  GLIBC_2.16 semget F
>  GLIBC_2.16 semop F
> @@ -2377,7 +2379,9 @@ GLIBC_2.34 sem_init F
>  GLIBC_2.34 sem_open F
>  GLIBC_2.34 sem_post F
>  GLIBC_2.34 sem_timedwait F
> +GLIBC_2.34 sem_trywait F
>  GLIBC_2.34 sem_unlink F
> +GLIBC_2.34 sem_wait F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
> index ab481ebe8a..f4b4241951 100644
> --- a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
> @@ -39,8 +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_trywait F
> -GLIBC_2.16 sem_wait F
>  GLIBC_2.18 pthread_getattr_default_np F
>  GLIBC_2.18 pthread_setattr_default_np F
>  GLIBC_2.28 thrd_create F
> 

^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [PATCH 04/11] nptl: Move sem_close, sem_open into libc
  2021-05-05 14:33   ` Adhemerval Zanella
@ 2021-05-05 15:30     ` Florian Weimer
  0 siblings, 0 replies; 24+ messages in thread
From: Florian Weimer @ 2021-05-05 15:30 UTC (permalink / raw)
  To: Adhemerval Zanella; +Cc: libc-alpha

* Adhemerval Zanella:

> On 03/05/2021 10:51, Florian Weimer via Libc-alpha wrote:
>> The symbols were moved using move-symbol-to-libc.py.
>> 
>> Both functions are moved at the same time because they depend
>> on internal functions in sysdeps/pthread/sem_routines.c, which
>> are moved in this commit as well.  Additional hidden prototypes
>> are required to avoid check-localplt failures.
>
> LGTM, with some small nits below.
>
> Reviewed-by: Adhemerval Zanella  <adhemerval.zanella@linaro.org>

Thanks, I've applied these suggestions.

Florian


^ permalink raw reply	[flat|nested] 24+ messages in thread

end of thread, other threads:[~2021-05-05 15:30 UTC | newest]

Thread overview: 24+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-05-03 13:51 [PATCH 00/11] nptl: Move semaphore functions into libc Florian Weimer
2021-05-03 13:51 ` [PATCH 01/11] nptl: Move pthread_testcancel " Florian Weimer
2021-05-05 14:16   ` Adhemerval Zanella
2021-05-03 13:51 ` [PATCH 02/11] nptl: Consolidate aysnc cancel enable/disable implementation in libc Florian Weimer
2021-05-05 14:21   ` Adhemerval Zanella
2021-05-03 13:51 ` [PATCH 03/11] nptl: Move sem_clockwait into libc Florian Weimer
2021-05-05 14:30   ` Adhemerval Zanella
2021-05-03 13:51 ` [PATCH 04/11] nptl: Move sem_close, sem_open " Florian Weimer
2021-05-05 14:33   ` Adhemerval Zanella
2021-05-05 15:30     ` Florian Weimer
2021-05-03 13:51 ` [PATCH 05/11] nptl: Move sem_destroy " Florian Weimer
2021-05-05 14:35   ` Adhemerval Zanella
2021-05-03 13:51 ` [PATCH 06/11] nptl: Move sem_getvalue " Florian Weimer
2021-05-05 14:35   ` Adhemerval Zanella
2021-05-03 13:52 ` [PATCH 07/11] nptl: Move sem_init " Florian Weimer
2021-05-05 14:36   ` Adhemerval Zanella
2021-05-03 13:52 ` [PATCH 08/11] nptl: Move sem_post " Florian Weimer
2021-05-05 14:36   ` Adhemerval Zanella
2021-05-03 13:52 ` [PATCH 09/11] nptl: Move sem_timedwait " Florian Weimer
2021-05-05 14:37   ` Adhemerval Zanella
2021-05-03 13:52 ` [PATCH 10/11] nptl: Move sem_unlink " Florian Weimer
2021-05-05 14:37   ` Adhemerval Zanella
2021-05-03 13:52 ` [PATCH 11/11] nptl: Move sem_trywait, sem_wait " Florian Weimer
2021-05-05 14:38   ` Adhemerval Zanella

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).