about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--nptl/Makefile2
-rw-r--r--nptl/Versions3
-rw-r--r--nptl/sem_timedwait.c18
-rw-r--r--nptl/semaphoreP.h2
-rw-r--r--sysdeps/unix/sysv/linux/aarch64/libc.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/aarch64/libpthread.abilist1
-rw-r--r--sysdeps/unix/sysv/linux/alpha/libc.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/alpha/libpthread.abilist1
-rw-r--r--sysdeps/unix/sysv/linux/arc/libc.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/arc/libpthread.abilist1
-rw-r--r--sysdeps/unix/sysv/linux/arm/be/libc.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/arm/be/libpthread.abilist1
-rw-r--r--sysdeps/unix/sysv/linux/arm/le/libc.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/arm/le/libpthread.abilist1
-rw-r--r--sysdeps/unix/sysv/linux/csky/libc.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/csky/libpthread.abilist1
-rw-r--r--sysdeps/unix/sysv/linux/hppa/libc.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/hppa/libpthread.abilist1
-rw-r--r--sysdeps/unix/sysv/linux/i386/libc.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/i386/libpthread.abilist1
-rw-r--r--sysdeps/unix/sysv/linux/ia64/libc.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/ia64/libpthread.abilist1
-rw-r--r--sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist1
-rw-r--r--sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist1
-rw-r--r--sysdeps/unix/sysv/linux/microblaze/be/libc.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist1
-rw-r--r--sysdeps/unix/sysv/linux/microblaze/le/libc.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist1
-rw-r--r--sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist1
-rw-r--r--sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist1
-rw-r--r--sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/nios2/libc.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/nios2/libpthread.abilist1
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist1
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist1
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist1
-rw-r--r--sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist1
-rw-r--r--sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist1
-rw-r--r--sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist1
-rw-r--r--sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist1
-rw-r--r--sysdeps/unix/sysv/linux/sh/be/libc.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/sh/be/libpthread.abilist1
-rw-r--r--sysdeps/unix/sysv/linux/sh/le/libc.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/sh/le/libpthread.abilist1
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist1
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist1
-rw-r--r--sysdeps/unix/sysv/linux/x86_64/64/libc.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist1
-rw-r--r--sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist1
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 64f966289f..8b0c5316cf 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
@@ -2360,6 +2361,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 08ac2067c9..b09f69df75 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
@@ -2445,6 +2446,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 a4b209fdbc..c703369097 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
@@ -2119,6 +2120,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 6b43a5ff68..e11fc0ea24 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_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
@@ -1851,6 +1852,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 1133205e37..234b8bdf65 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_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
@@ -1848,6 +1849,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 20e9f28419..f024d01b8b 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
@@ -2303,6 +2304,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 e1a7052e4a..1b718c80f5 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
@@ -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/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 536f990bf1..bd3ca5e3a3 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
@@ -2435,6 +2436,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 6f1fd888da..fc8ff27661 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
@@ -2288,6 +2289,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 d737cbcc12..26e993823c 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_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
@@ -1831,6 +1832,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 7aef2e0f99..b181524c7e 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
@@ -2378,6 +2379,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 f81ddd0b42..b474f0342e 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
@@ -2354,6 +2355,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 eb3a329831..121a22824f 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
@@ -2351,6 +2352,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 0e7d9f5856..699105f6b1 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
@@ -2341,6 +2342,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 c242910f8b..3cc970e4d3 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
@@ -2339,6 +2340,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 4478bee1f8..6a192103dd 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
@@ -2347,6 +2348,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 bbf4f9aae9..cc6230b5c8 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
@@ -2341,6 +2342,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 7c04c8d7d7..dc6734bedc 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
@@ -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/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 3f91d9de8b..de268d28c5 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
@@ -2405,6 +2406,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 5613df1b1c..3fa79267e7 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
@@ -2438,6 +2439,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 06d8ef7e9f..69b1017ab7 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
@@ -2255,6 +2256,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 1e382a721d..f92dc81d59 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
@@ -2556,6 +2557,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 82e7015316..a49ebb9e94 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
@@ -2121,6 +2122,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 2617ea6080..d40285676a 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
@@ -2321,6 +2322,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 96ebea4162..4ad65aeaee 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
@@ -2403,6 +2404,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 ecfa9e8153..f7be213163 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
@@ -2292,6 +2293,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 8f3858ed70..e526f2f7fb 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
@@ -2261,6 +2262,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 b4a9e86813..063ba98dd4 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
@@ -2258,6 +2259,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 6ee8a00a47..382cc65689 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
@@ -2394,6 +2395,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 96740cb734..5f9fcd833f 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
@@ -2309,6 +2310,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 f397ab0190..1d34f9190d 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
@@ -2270,6 +2271,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 b1200e9f11..7101a84c2e 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
@@ -2375,6 +2376,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