diff --git a/nptl/Makefile b/nptl/Makefile
index 392aa3bdf2..9f89f2886e 100644
--- a/nptl/Makefile
+++ b/nptl/Makefile
@@ -126,6 +126,7 @@ routines = \
   pthread_rwlock_init \
   pthread_rwlock_rdlock \
   pthread_rwlock_timedrdlock \
+  pthread_rwlock_timedwrlock \
   pthread_rwlock_unlock \
   pthread_rwlock_wrlock \
   pthread_self \
@@ -183,7 +184,6 @@ libpthread-routines = \
   pthread_getname \
   pthread_join \
   pthread_join_common \
-  pthread_rwlock_timedwrlock \
   pthread_rwlock_tryrdlock \
   pthread_rwlock_trywrlock \
   pthread_rwlockattr_destroy \
diff --git a/nptl/Versions b/nptl/Versions
index 8abf147e22..4d100f33db 100644
--- a/nptl/Versions
+++ b/nptl/Versions
@@ -89,6 +89,7 @@ libc {
     pthread_spin_trylock;
     pthread_spin_unlock;
     pthread_rwlock_timedrdlock;
+    pthread_rwlock_timedwrlock;
   }
   GLIBC_2.2.3 {
     pthread_getattr_np;
@@ -192,6 +193,7 @@ libc {
     pthread_rwlock_destroy;
     pthread_rwlock_rdlock;
     pthread_rwlock_timedrdlock;
+    pthread_rwlock_timedwrlock;
     pthread_rwlock_unlock;
     pthread_rwlock_wrlock;
     pthread_setspecific;
@@ -323,7 +325,6 @@ libpthread {
     pthread_barrierattr_init;
     pthread_barrierattr_setpshared;
     pthread_getcpuclockid;
-    pthread_rwlock_timedwrlock;
     pthread_yield;
     sem_timedwait;
   }
diff --git a/nptl/pthreadP.h b/nptl/pthreadP.h
index 5d0b4cf56e..fdc553e54b 100644
--- a/nptl/pthreadP.h
+++ b/nptl/pthreadP.h
@@ -513,7 +513,7 @@ extern int __pthread_rwlock_timedrdlock64 (pthread_rwlock_t *rwlock,
 libc_hidden_proto (__pthread_rwlock_timedrdlock64)
 extern int __pthread_rwlock_timedwrlock64 (pthread_rwlock_t *rwlock,
                                            const struct __timespec64 *abstime);
-libpthread_hidden_proto (__pthread_rwlock_timedwrlock64)
+libc_hidden_proto (__pthread_rwlock_timedwrlock64)
 extern int __pthread_mutex_clocklock64 (pthread_mutex_t *mutex,
                                         clockid_t clockid,
                                         const struct __timespec64 *abstime);
diff --git a/nptl/pthread_rwlock_timedwrlock.c b/nptl/pthread_rwlock_timedwrlock.c
index 14470e3f07..e660a544cd 100644
--- a/nptl/pthread_rwlock_timedwrlock.c
+++ b/nptl/pthread_rwlock_timedwrlock.c
@@ -17,25 +17,34 @@
    <https://www.gnu.org/licenses/>.  */
 
 #include "pthread_rwlock_common.c"
+#include <shlib-compat.h>
 
 /* See pthread_rwlock_common.c.  */
 int
-__pthread_rwlock_timedwrlock64 (pthread_rwlock_t *rwlock,
-                                const struct __timespec64 *abstime)
+___pthread_rwlock_timedwrlock64 (pthread_rwlock_t *rwlock,
+				 const struct __timespec64 *abstime)
 {
   return __pthread_rwlock_wrlock_full64 (rwlock, CLOCK_REALTIME, abstime);
 }
 
-#if __TIMESIZE != 64
-libpthread_hidden_def (__pthread_rwlock_timedwrlock64)
+#if __TIMESIZE == 64
+strong_alias (___pthread_rwlock_timedwrlock64, ___pthread_rwlock_timedwrlock)
+#else /* __TIMESPEC64 != 64 */
+libc_hidden_ver (___pthread_rwlock_timedwrlock64,
+		 __pthread_rwlock_timedwrlock64)
 
 int
-__pthread_rwlock_timedwrlock (pthread_rwlock_t *rwlock,
-                              const struct timespec *abstime)
+___pthread_rwlock_timedwrlock (pthread_rwlock_t *rwlock,
+			       const struct timespec *abstime)
 {
   struct __timespec64 ts64 = valid_timespec_to_timespec64 (*abstime);
 
   return __pthread_rwlock_timedwrlock64 (rwlock, &ts64);
 }
+#endif /* __TIMESPEC64 != 64 */
+versioned_symbol (libc, ___pthread_rwlock_timedwrlock,
+		  pthread_rwlock_timedwrlock, GLIBC_2_34);
+#if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_2, GLIBC_2_34)
+compat_symbol (libpthread, ___pthread_rwlock_timedwrlock,
+	       pthread_rwlock_timedwrlock, GLIBC_2_2);
 #endif
-weak_alias (__pthread_rwlock_timedwrlock, pthread_rwlock_timedwrlock)
diff --git a/sysdeps/unix/sysv/linux/aarch64/libc.abilist b/sysdeps/unix/sysv/linux/aarch64/libc.abilist
index ae7f4a210d..759666e6f1 100644
--- a/sysdeps/unix/sysv/linux/aarch64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/aarch64/libc.abilist
@@ -1506,6 +1506,7 @@ GLIBC_2.17 pthread_rwlock_destroy F
 GLIBC_2.17 pthread_rwlock_init F
 GLIBC_2.17 pthread_rwlock_rdlock F
 GLIBC_2.17 pthread_rwlock_timedrdlock F
+GLIBC_2.17 pthread_rwlock_timedwrlock F
 GLIBC_2.17 pthread_rwlock_unlock F
 GLIBC_2.17 pthread_rwlock_wrlock F
 GLIBC_2.17 pthread_self F
@@ -2291,6 +2292,7 @@ GLIBC_2.34 pthread_rwlock_destroy F
 GLIBC_2.34 pthread_rwlock_init F
 GLIBC_2.34 pthread_rwlock_rdlock F
 GLIBC_2.34 pthread_rwlock_timedrdlock F
+GLIBC_2.34 pthread_rwlock_timedwrlock F
 GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
 GLIBC_2.34 pthread_setspecific F
diff --git a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
index d881d4e128..539d0a9105 100644
--- a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
@@ -34,7 +34,6 @@ GLIBC_2.17 pthread_getconcurrency F
 GLIBC_2.17 pthread_getcpuclockid F
 GLIBC_2.17 pthread_getname_np F
 GLIBC_2.17 pthread_join F
-GLIBC_2.17 pthread_rwlock_timedwrlock F
 GLIBC_2.17 pthread_rwlock_tryrdlock F
 GLIBC_2.17 pthread_rwlock_trywrlock F
 GLIBC_2.17 pthread_rwlockattr_destroy F
diff --git a/sysdeps/unix/sysv/linux/alpha/libc.abilist b/sysdeps/unix/sysv/linux/alpha/libc.abilist
index 3ec5c47428..90252cf57d 100644
--- a/sysdeps/unix/sysv/linux/alpha/libc.abilist
+++ b/sysdeps/unix/sysv/linux/alpha/libc.abilist
@@ -1988,6 +1988,7 @@ GLIBC_2.2 pthread_mutex_timedlock F
 GLIBC_2.2 pthread_mutexattr_getpshared F
 GLIBC_2.2 pthread_mutexattr_setpshared F
 GLIBC_2.2 pthread_rwlock_timedrdlock F
+GLIBC_2.2 pthread_rwlock_timedwrlock F
 GLIBC_2.2 pthread_spin_destroy F
 GLIBC_2.2 pthread_spin_init F
 GLIBC_2.2 pthread_spin_lock F
@@ -2372,6 +2373,7 @@ GLIBC_2.34 pthread_rwlock_destroy F
 GLIBC_2.34 pthread_rwlock_init F
 GLIBC_2.34 pthread_rwlock_rdlock F
 GLIBC_2.34 pthread_rwlock_timedrdlock F
+GLIBC_2.34 pthread_rwlock_timedwrlock F
 GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
 GLIBC_2.34 pthread_setspecific F
diff --git a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
index 6ab60c7fba..50166f48e2 100644
--- a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
@@ -59,7 +59,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 pthread_rwlock_timedwrlock F
 GLIBC_2.2 pthread_yield F
 GLIBC_2.2 sem_timedwait F
 GLIBC_2.2.3 __libpthread_version_placeholder F
diff --git a/sysdeps/unix/sysv/linux/arc/libc.abilist b/sysdeps/unix/sysv/linux/arc/libc.abilist
index f8bcc0475d..7fdc592a5a 100644
--- a/sysdeps/unix/sysv/linux/arc/libc.abilist
+++ b/sysdeps/unix/sysv/linux/arc/libc.abilist
@@ -1436,6 +1436,7 @@ GLIBC_2.32 pthread_rwlock_destroy F
 GLIBC_2.32 pthread_rwlock_init F
 GLIBC_2.32 pthread_rwlock_rdlock F
 GLIBC_2.32 pthread_rwlock_timedrdlock F
+GLIBC_2.32 pthread_rwlock_timedwrlock F
 GLIBC_2.32 pthread_rwlock_unlock F
 GLIBC_2.32 pthread_rwlock_wrlock F
 GLIBC_2.32 pthread_self F
@@ -2050,6 +2051,7 @@ GLIBC_2.34 pthread_rwlock_destroy F
 GLIBC_2.34 pthread_rwlock_init F
 GLIBC_2.34 pthread_rwlock_rdlock F
 GLIBC_2.34 pthread_rwlock_timedrdlock F
+GLIBC_2.34 pthread_rwlock_timedwrlock F
 GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
 GLIBC_2.34 pthread_setspecific F
diff --git a/sysdeps/unix/sysv/linux/arc/libpthread.abilist b/sysdeps/unix/sysv/linux/arc/libpthread.abilist
index 5317b62d6e..9ed76b8a64 100644
--- a/sysdeps/unix/sysv/linux/arc/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/arc/libpthread.abilist
@@ -49,7 +49,6 @@ GLIBC_2.32 pthread_getconcurrency F
 GLIBC_2.32 pthread_getcpuclockid F
 GLIBC_2.32 pthread_getname_np F
 GLIBC_2.32 pthread_join F
-GLIBC_2.32 pthread_rwlock_timedwrlock F
 GLIBC_2.32 pthread_rwlock_tryrdlock F
 GLIBC_2.32 pthread_rwlock_trywrlock F
 GLIBC_2.32 pthread_rwlockattr_destroy F
diff --git a/sysdeps/unix/sysv/linux/arm/be/libc.abilist b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
index 8ab83d973f..6ace2c0c13 100644
--- a/sysdeps/unix/sysv/linux/arm/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
@@ -210,6 +210,7 @@ GLIBC_2.34 pthread_rwlock_destroy F
 GLIBC_2.34 pthread_rwlock_init F
 GLIBC_2.34 pthread_rwlock_rdlock F
 GLIBC_2.34 pthread_rwlock_timedrdlock F
+GLIBC_2.34 pthread_rwlock_timedwrlock F
 GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
 GLIBC_2.34 pthread_setspecific F
@@ -1657,6 +1658,7 @@ GLIBC_2.4 pthread_rwlock_destroy F
 GLIBC_2.4 pthread_rwlock_init F
 GLIBC_2.4 pthread_rwlock_rdlock F
 GLIBC_2.4 pthread_rwlock_timedrdlock F
+GLIBC_2.4 pthread_rwlock_timedwrlock F
 GLIBC_2.4 pthread_rwlock_unlock F
 GLIBC_2.4 pthread_rwlock_wrlock F
 GLIBC_2.4 pthread_self F
diff --git a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
index 92f908f49a..a9ece5fcb7 100644
--- a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
@@ -62,7 +62,6 @@ GLIBC_2.4 pthread_detach F
 GLIBC_2.4 pthread_getconcurrency F
 GLIBC_2.4 pthread_getcpuclockid F
 GLIBC_2.4 pthread_join F
-GLIBC_2.4 pthread_rwlock_timedwrlock F
 GLIBC_2.4 pthread_rwlock_tryrdlock F
 GLIBC_2.4 pthread_rwlock_trywrlock F
 GLIBC_2.4 pthread_rwlockattr_destroy F
diff --git a/sysdeps/unix/sysv/linux/arm/le/libc.abilist b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
index de9f269a53..474a472d8e 100644
--- a/sysdeps/unix/sysv/linux/arm/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
@@ -207,6 +207,7 @@ GLIBC_2.34 pthread_rwlock_destroy F
 GLIBC_2.34 pthread_rwlock_init F
 GLIBC_2.34 pthread_rwlock_rdlock F
 GLIBC_2.34 pthread_rwlock_timedrdlock F
+GLIBC_2.34 pthread_rwlock_timedwrlock F
 GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
 GLIBC_2.34 pthread_setspecific F
@@ -1654,6 +1655,7 @@ GLIBC_2.4 pthread_rwlock_destroy F
 GLIBC_2.4 pthread_rwlock_init F
 GLIBC_2.4 pthread_rwlock_rdlock F
 GLIBC_2.4 pthread_rwlock_timedrdlock F
+GLIBC_2.4 pthread_rwlock_timedwrlock F
 GLIBC_2.4 pthread_rwlock_unlock F
 GLIBC_2.4 pthread_rwlock_wrlock F
 GLIBC_2.4 pthread_self F
diff --git a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
index 92f908f49a..a9ece5fcb7 100644
--- a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
@@ -62,7 +62,6 @@ GLIBC_2.4 pthread_detach F
 GLIBC_2.4 pthread_getconcurrency F
 GLIBC_2.4 pthread_getcpuclockid F
 GLIBC_2.4 pthread_join F
-GLIBC_2.4 pthread_rwlock_timedwrlock F
 GLIBC_2.4 pthread_rwlock_tryrdlock F
 GLIBC_2.4 pthread_rwlock_trywrlock F
 GLIBC_2.4 pthread_rwlockattr_destroy F
diff --git a/sysdeps/unix/sysv/linux/csky/libc.abilist b/sysdeps/unix/sysv/linux/csky/libc.abilist
index 710ab385e4..761d723f7d 100644
--- a/sysdeps/unix/sysv/linux/csky/libc.abilist
+++ b/sysdeps/unix/sysv/linux/csky/libc.abilist
@@ -1493,6 +1493,7 @@ GLIBC_2.29 pthread_rwlock_destroy F
 GLIBC_2.29 pthread_rwlock_init F
 GLIBC_2.29 pthread_rwlock_rdlock F
 GLIBC_2.29 pthread_rwlock_timedrdlock F
+GLIBC_2.29 pthread_rwlock_timedwrlock F
 GLIBC_2.29 pthread_rwlock_unlock F
 GLIBC_2.29 pthread_rwlock_wrlock F
 GLIBC_2.29 pthread_self F
@@ -2234,6 +2235,7 @@ GLIBC_2.34 pthread_rwlock_destroy F
 GLIBC_2.34 pthread_rwlock_init F
 GLIBC_2.34 pthread_rwlock_rdlock F
 GLIBC_2.34 pthread_rwlock_timedrdlock F
+GLIBC_2.34 pthread_rwlock_timedwrlock F
 GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
 GLIBC_2.34 pthread_setspecific F
diff --git a/sysdeps/unix/sysv/linux/csky/libpthread.abilist b/sysdeps/unix/sysv/linux/csky/libpthread.abilist
index 76b52b11c4..29c4199949 100644
--- a/sysdeps/unix/sysv/linux/csky/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/csky/libpthread.abilist
@@ -48,7 +48,6 @@ GLIBC_2.29 pthread_getconcurrency F
 GLIBC_2.29 pthread_getcpuclockid F
 GLIBC_2.29 pthread_getname_np F
 GLIBC_2.29 pthread_join F
-GLIBC_2.29 pthread_rwlock_timedwrlock F
 GLIBC_2.29 pthread_rwlock_tryrdlock F
 GLIBC_2.29 pthread_rwlock_trywrlock F
 GLIBC_2.29 pthread_rwlockattr_destroy F
diff --git a/sysdeps/unix/sysv/linux/hppa/libc.abilist b/sysdeps/unix/sysv/linux/hppa/libc.abilist
index a825c7d112..1fe99788cb 100644
--- a/sysdeps/unix/sysv/linux/hppa/libc.abilist
+++ b/sysdeps/unix/sysv/linux/hppa/libc.abilist
@@ -1317,6 +1317,7 @@ GLIBC_2.2 pthread_rwlock_destroy F
 GLIBC_2.2 pthread_rwlock_init F
 GLIBC_2.2 pthread_rwlock_rdlock F
 GLIBC_2.2 pthread_rwlock_timedrdlock F
+GLIBC_2.2 pthread_rwlock_timedwrlock F
 GLIBC_2.2 pthread_rwlock_unlock F
 GLIBC_2.2 pthread_rwlock_wrlock F
 GLIBC_2.2 pthread_self F
@@ -2185,6 +2186,7 @@ GLIBC_2.34 pthread_rwlock_destroy F
 GLIBC_2.34 pthread_rwlock_init F
 GLIBC_2.34 pthread_rwlock_rdlock F
 GLIBC_2.34 pthread_rwlock_timedrdlock F
+GLIBC_2.34 pthread_rwlock_timedwrlock F
 GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
 GLIBC_2.34 pthread_setspecific F
diff --git a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
index 100d01628b..594f9c40a4 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_detach F
 GLIBC_2.2 pthread_getconcurrency F
 GLIBC_2.2 pthread_getcpuclockid F
 GLIBC_2.2 pthread_join F
-GLIBC_2.2 pthread_rwlock_timedwrlock F
 GLIBC_2.2 pthread_rwlock_tryrdlock F
 GLIBC_2.2 pthread_rwlock_trywrlock F
 GLIBC_2.2 pthread_rwlockattr_destroy F
diff --git a/sysdeps/unix/sysv/linux/i386/libc.abilist b/sysdeps/unix/sysv/linux/i386/libc.abilist
index 901f4cc2ff..369b6d011c 100644
--- a/sysdeps/unix/sysv/linux/i386/libc.abilist
+++ b/sysdeps/unix/sysv/linux/i386/libc.abilist
@@ -1997,6 +1997,7 @@ GLIBC_2.2 pthread_mutex_timedlock F
 GLIBC_2.2 pthread_mutexattr_getpshared F
 GLIBC_2.2 pthread_mutexattr_setpshared F
 GLIBC_2.2 pthread_rwlock_timedrdlock F
+GLIBC_2.2 pthread_rwlock_timedwrlock F
 GLIBC_2.2 pthread_spin_destroy F
 GLIBC_2.2 pthread_spin_init F
 GLIBC_2.2 pthread_spin_lock F
@@ -2362,6 +2363,7 @@ GLIBC_2.34 pthread_rwlock_destroy F
 GLIBC_2.34 pthread_rwlock_init F
 GLIBC_2.34 pthread_rwlock_rdlock F
 GLIBC_2.34 pthread_rwlock_timedrdlock F
+GLIBC_2.34 pthread_rwlock_timedwrlock F
 GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
 GLIBC_2.34 pthread_setspecific F
diff --git a/sysdeps/unix/sysv/linux/i386/libpthread.abilist b/sysdeps/unix/sysv/linux/i386/libpthread.abilist
index 6c64e6a794..fa1e4a9a0a 100644
--- a/sysdeps/unix/sysv/linux/i386/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/i386/libpthread.abilist
@@ -59,7 +59,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 pthread_rwlock_timedwrlock F
 GLIBC_2.2 pthread_yield F
 GLIBC_2.2 sem_timedwait F
 GLIBC_2.2.3 __libpthread_version_placeholder F
diff --git a/sysdeps/unix/sysv/linux/ia64/libc.abilist b/sysdeps/unix/sysv/linux/ia64/libc.abilist
index 180e99973b..2eaa5e822a 100644
--- a/sysdeps/unix/sysv/linux/ia64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/ia64/libc.abilist
@@ -1338,6 +1338,7 @@ GLIBC_2.2 pthread_rwlock_destroy F
 GLIBC_2.2 pthread_rwlock_init F
 GLIBC_2.2 pthread_rwlock_rdlock F
 GLIBC_2.2 pthread_rwlock_timedrdlock F
+GLIBC_2.2 pthread_rwlock_timedwrlock F
 GLIBC_2.2 pthread_rwlock_unlock F
 GLIBC_2.2 pthread_rwlock_wrlock F
 GLIBC_2.2 pthread_self F
@@ -2219,6 +2220,7 @@ GLIBC_2.34 pthread_rwlock_destroy F
 GLIBC_2.34 pthread_rwlock_init F
 GLIBC_2.34 pthread_rwlock_rdlock F
 GLIBC_2.34 pthread_rwlock_timedrdlock F
+GLIBC_2.34 pthread_rwlock_timedwrlock F
 GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
 GLIBC_2.34 pthread_setspecific F
diff --git a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
index bdfded821a..3064b2c36c 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_detach F
 GLIBC_2.2 pthread_getconcurrency F
 GLIBC_2.2 pthread_getcpuclockid F
 GLIBC_2.2 pthread_join F
-GLIBC_2.2 pthread_rwlock_timedwrlock F
 GLIBC_2.2 pthread_rwlock_tryrdlock F
 GLIBC_2.2 pthread_rwlock_trywrlock F
 GLIBC_2.2 pthread_rwlockattr_destroy F
diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
index 8484f3fcad..4b00019000 100644
--- a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
@@ -211,6 +211,7 @@ GLIBC_2.34 pthread_rwlock_destroy F
 GLIBC_2.34 pthread_rwlock_init F
 GLIBC_2.34 pthread_rwlock_rdlock F
 GLIBC_2.34 pthread_rwlock_timedrdlock F
+GLIBC_2.34 pthread_rwlock_timedwrlock F
 GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
 GLIBC_2.34 pthread_setspecific F
@@ -1637,6 +1638,7 @@ GLIBC_2.4 pthread_rwlock_destroy F
 GLIBC_2.4 pthread_rwlock_init F
 GLIBC_2.4 pthread_rwlock_rdlock F
 GLIBC_2.4 pthread_rwlock_timedrdlock F
+GLIBC_2.4 pthread_rwlock_timedwrlock F
 GLIBC_2.4 pthread_rwlock_unlock F
 GLIBC_2.4 pthread_rwlock_wrlock F
 GLIBC_2.4 pthread_self F
diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
index 92f908f49a..a9ece5fcb7 100644
--- a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
@@ -62,7 +62,6 @@ GLIBC_2.4 pthread_detach F
 GLIBC_2.4 pthread_getconcurrency F
 GLIBC_2.4 pthread_getcpuclockid F
 GLIBC_2.4 pthread_join F
-GLIBC_2.4 pthread_rwlock_timedwrlock F
 GLIBC_2.4 pthread_rwlock_tryrdlock F
 GLIBC_2.4 pthread_rwlock_trywrlock F
 GLIBC_2.4 pthread_rwlockattr_destroy F
diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
index 7ad59ac5f5..22bd60eaea 100644
--- a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
@@ -1953,6 +1953,7 @@ GLIBC_2.2 pthread_mutex_timedlock F
 GLIBC_2.2 pthread_mutexattr_getpshared F
 GLIBC_2.2 pthread_mutexattr_setpshared F
 GLIBC_2.2 pthread_rwlock_timedrdlock F
+GLIBC_2.2 pthread_rwlock_timedwrlock F
 GLIBC_2.2 pthread_spin_destroy F
 GLIBC_2.2 pthread_spin_init F
 GLIBC_2.2 pthread_spin_lock F
@@ -2305,6 +2306,7 @@ GLIBC_2.34 pthread_rwlock_destroy F
 GLIBC_2.34 pthread_rwlock_init F
 GLIBC_2.34 pthread_rwlock_rdlock F
 GLIBC_2.34 pthread_rwlock_timedrdlock F
+GLIBC_2.34 pthread_rwlock_timedwrlock F
 GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
 GLIBC_2.34 pthread_setspecific F
diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
index 6c64e6a794..fa1e4a9a0a 100644
--- a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
@@ -59,7 +59,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 pthread_rwlock_timedwrlock F
 GLIBC_2.2 pthread_yield F
 GLIBC_2.2 sem_timedwait F
 GLIBC_2.2.3 __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 1187d98593..8383460d5b 100644
--- a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
@@ -1508,6 +1508,7 @@ GLIBC_2.18 pthread_rwlock_destroy F
 GLIBC_2.18 pthread_rwlock_init F
 GLIBC_2.18 pthread_rwlock_rdlock F
 GLIBC_2.18 pthread_rwlock_timedrdlock F
+GLIBC_2.18 pthread_rwlock_timedwrlock F
 GLIBC_2.18 pthread_rwlock_unlock F
 GLIBC_2.18 pthread_rwlock_wrlock F
 GLIBC_2.18 pthread_self F
@@ -2285,6 +2286,7 @@ GLIBC_2.34 pthread_rwlock_destroy F
 GLIBC_2.34 pthread_rwlock_init F
 GLIBC_2.34 pthread_rwlock_rdlock F
 GLIBC_2.34 pthread_rwlock_timedrdlock F
+GLIBC_2.34 pthread_rwlock_timedwrlock F
 GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
 GLIBC_2.34 pthread_setspecific F
diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
index 22a5f51945..2048dfa987 100644
--- a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
@@ -35,7 +35,6 @@ GLIBC_2.18 pthread_getconcurrency F
 GLIBC_2.18 pthread_getcpuclockid F
 GLIBC_2.18 pthread_getname_np F
 GLIBC_2.18 pthread_join F
-GLIBC_2.18 pthread_rwlock_timedwrlock F
 GLIBC_2.18 pthread_rwlock_tryrdlock F
 GLIBC_2.18 pthread_rwlock_trywrlock F
 GLIBC_2.18 pthread_rwlockattr_destroy F
diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
index 0b05fb3fe1..d8c75fba97 100644
--- a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
@@ -1508,6 +1508,7 @@ GLIBC_2.18 pthread_rwlock_destroy F
 GLIBC_2.18 pthread_rwlock_init F
 GLIBC_2.18 pthread_rwlock_rdlock F
 GLIBC_2.18 pthread_rwlock_timedrdlock F
+GLIBC_2.18 pthread_rwlock_timedwrlock F
 GLIBC_2.18 pthread_rwlock_unlock F
 GLIBC_2.18 pthread_rwlock_wrlock F
 GLIBC_2.18 pthread_self F
@@ -2282,6 +2283,7 @@ GLIBC_2.34 pthread_rwlock_destroy F
 GLIBC_2.34 pthread_rwlock_init F
 GLIBC_2.34 pthread_rwlock_rdlock F
 GLIBC_2.34 pthread_rwlock_timedrdlock F
+GLIBC_2.34 pthread_rwlock_timedwrlock F
 GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
 GLIBC_2.34 pthread_setspecific F
diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
index 22a5f51945..2048dfa987 100644
--- a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
@@ -35,7 +35,6 @@ GLIBC_2.18 pthread_getconcurrency F
 GLIBC_2.18 pthread_getcpuclockid F
 GLIBC_2.18 pthread_getname_np F
 GLIBC_2.18 pthread_join F
-GLIBC_2.18 pthread_rwlock_timedwrlock F
 GLIBC_2.18 pthread_rwlock_tryrdlock F
 GLIBC_2.18 pthread_rwlock_trywrlock F
 GLIBC_2.18 pthread_rwlockattr_destroy F
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
index 0fa75400b1..d5388fe63b 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
@@ -1847,6 +1847,7 @@ GLIBC_2.2 pthread_rwlock_destroy F
 GLIBC_2.2 pthread_rwlock_init F
 GLIBC_2.2 pthread_rwlock_rdlock F
 GLIBC_2.2 pthread_rwlock_timedrdlock F
+GLIBC_2.2 pthread_rwlock_timedwrlock F
 GLIBC_2.2 pthread_rwlock_unlock F
 GLIBC_2.2 pthread_rwlock_wrlock F
 GLIBC_2.2 pthread_spin_destroy F
@@ -2268,6 +2269,7 @@ GLIBC_2.34 pthread_rwlock_destroy F
 GLIBC_2.34 pthread_rwlock_init F
 GLIBC_2.34 pthread_rwlock_rdlock F
 GLIBC_2.34 pthread_rwlock_timedrdlock F
+GLIBC_2.34 pthread_rwlock_timedwrlock F
 GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
 GLIBC_2.34 pthread_setspecific F
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
index c6256cb6b2..6a2fdb32ef 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
@@ -40,7 +40,6 @@ GLIBC_2.2 pthread_barrierattr_setpshared F
 GLIBC_2.2 pthread_create F
 GLIBC_2.2 pthread_getconcurrency F
 GLIBC_2.2 pthread_getcpuclockid F
-GLIBC_2.2 pthread_rwlock_timedwrlock F
 GLIBC_2.2 pthread_rwlock_tryrdlock F
 GLIBC_2.2 pthread_rwlock_trywrlock F
 GLIBC_2.2 pthread_rwlockattr_destroy F
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
index 4fa17449b8..a40864332c 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
@@ -1845,6 +1845,7 @@ GLIBC_2.2 pthread_rwlock_destroy F
 GLIBC_2.2 pthread_rwlock_init F
 GLIBC_2.2 pthread_rwlock_rdlock F
 GLIBC_2.2 pthread_rwlock_timedrdlock F
+GLIBC_2.2 pthread_rwlock_timedwrlock F
 GLIBC_2.2 pthread_rwlock_unlock F
 GLIBC_2.2 pthread_rwlock_wrlock F
 GLIBC_2.2 pthread_spin_destroy F
@@ -2266,6 +2267,7 @@ GLIBC_2.34 pthread_rwlock_destroy F
 GLIBC_2.34 pthread_rwlock_init F
 GLIBC_2.34 pthread_rwlock_rdlock F
 GLIBC_2.34 pthread_rwlock_timedrdlock F
+GLIBC_2.34 pthread_rwlock_timedwrlock F
 GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
 GLIBC_2.34 pthread_setspecific F
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
index c6256cb6b2..6a2fdb32ef 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
@@ -40,7 +40,6 @@ GLIBC_2.2 pthread_barrierattr_setpshared F
 GLIBC_2.2 pthread_create F
 GLIBC_2.2 pthread_getconcurrency F
 GLIBC_2.2 pthread_getcpuclockid F
-GLIBC_2.2 pthread_rwlock_timedwrlock F
 GLIBC_2.2 pthread_rwlock_tryrdlock F
 GLIBC_2.2 pthread_rwlock_trywrlock F
 GLIBC_2.2 pthread_rwlockattr_destroy F
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
index a1138eeec7..de5414f722 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
@@ -1845,6 +1845,7 @@ GLIBC_2.2 pthread_rwlock_destroy F
 GLIBC_2.2 pthread_rwlock_init F
 GLIBC_2.2 pthread_rwlock_rdlock F
 GLIBC_2.2 pthread_rwlock_timedrdlock F
+GLIBC_2.2 pthread_rwlock_timedwrlock F
 GLIBC_2.2 pthread_rwlock_unlock F
 GLIBC_2.2 pthread_rwlock_wrlock F
 GLIBC_2.2 pthread_spin_destroy F
@@ -2274,6 +2275,7 @@ GLIBC_2.34 pthread_rwlock_destroy F
 GLIBC_2.34 pthread_rwlock_init F
 GLIBC_2.34 pthread_rwlock_rdlock F
 GLIBC_2.34 pthread_rwlock_timedrdlock F
+GLIBC_2.34 pthread_rwlock_timedwrlock F
 GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
 GLIBC_2.34 pthread_setspecific F
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
index cd069fa6e3..c9c92faf61 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
@@ -1841,6 +1841,7 @@ GLIBC_2.2 pthread_rwlock_destroy F
 GLIBC_2.2 pthread_rwlock_init F
 GLIBC_2.2 pthread_rwlock_rdlock F
 GLIBC_2.2 pthread_rwlock_timedrdlock F
+GLIBC_2.2 pthread_rwlock_timedwrlock F
 GLIBC_2.2 pthread_rwlock_unlock F
 GLIBC_2.2 pthread_rwlock_wrlock F
 GLIBC_2.2 pthread_spin_destroy F
@@ -2268,6 +2269,7 @@ GLIBC_2.34 pthread_rwlock_destroy F
 GLIBC_2.34 pthread_rwlock_init F
 GLIBC_2.34 pthread_rwlock_rdlock F
 GLIBC_2.34 pthread_rwlock_timedrdlock F
+GLIBC_2.34 pthread_rwlock_timedwrlock F
 GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
 GLIBC_2.34 pthread_setspecific F
diff --git a/sysdeps/unix/sysv/linux/nios2/libc.abilist b/sysdeps/unix/sysv/linux/nios2/libc.abilist
index c18892e973..3f46e027dd 100644
--- a/sysdeps/unix/sysv/linux/nios2/libc.abilist
+++ b/sysdeps/unix/sysv/linux/nios2/libc.abilist
@@ -1551,6 +1551,7 @@ GLIBC_2.21 pthread_rwlock_destroy F
 GLIBC_2.21 pthread_rwlock_init F
 GLIBC_2.21 pthread_rwlock_rdlock F
 GLIBC_2.21 pthread_rwlock_timedrdlock F
+GLIBC_2.21 pthread_rwlock_timedwrlock F
 GLIBC_2.21 pthread_rwlock_unlock F
 GLIBC_2.21 pthread_rwlock_wrlock F
 GLIBC_2.21 pthread_self F
@@ -2324,6 +2325,7 @@ GLIBC_2.34 pthread_rwlock_destroy F
 GLIBC_2.34 pthread_rwlock_init F
 GLIBC_2.34 pthread_rwlock_rdlock F
 GLIBC_2.34 pthread_rwlock_timedrdlock F
+GLIBC_2.34 pthread_rwlock_timedwrlock F
 GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
 GLIBC_2.34 pthread_setspecific F
diff --git a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
index 23a3717ef3..0ee9bc8358 100644
--- a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
@@ -35,7 +35,6 @@ GLIBC_2.21 pthread_getconcurrency F
 GLIBC_2.21 pthread_getcpuclockid F
 GLIBC_2.21 pthread_getname_np F
 GLIBC_2.21 pthread_join F
-GLIBC_2.21 pthread_rwlock_timedwrlock F
 GLIBC_2.21 pthread_rwlock_tryrdlock F
 GLIBC_2.21 pthread_rwlock_trywrlock F
 GLIBC_2.21 pthread_rwlockattr_destroy F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
index 540711d228..b020ad8b04 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
@@ -1958,6 +1958,7 @@ GLIBC_2.2 pthread_mutex_timedlock F
 GLIBC_2.2 pthread_mutexattr_getpshared F
 GLIBC_2.2 pthread_mutexattr_setpshared F
 GLIBC_2.2 pthread_rwlock_timedrdlock F
+GLIBC_2.2 pthread_rwlock_timedwrlock F
 GLIBC_2.2 pthread_spin_destroy F
 GLIBC_2.2 pthread_spin_init F
 GLIBC_2.2 pthread_spin_lock F
@@ -2332,6 +2333,7 @@ GLIBC_2.34 pthread_rwlock_destroy F
 GLIBC_2.34 pthread_rwlock_init F
 GLIBC_2.34 pthread_rwlock_rdlock F
 GLIBC_2.34 pthread_rwlock_timedrdlock F
+GLIBC_2.34 pthread_rwlock_timedwrlock F
 GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
 GLIBC_2.34 pthread_setspecific F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
index c274945af5..d293553ad6 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
@@ -59,7 +59,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 pthread_rwlock_timedwrlock F
 GLIBC_2.2 pthread_yield F
 GLIBC_2.2 sem_timedwait F
 GLIBC_2.2.3 __libpthread_version_placeholder F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
index a215d46657..c8303013f4 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
@@ -1962,6 +1962,7 @@ GLIBC_2.2 pthread_mutex_timedlock F
 GLIBC_2.2 pthread_mutexattr_getpshared F
 GLIBC_2.2 pthread_mutexattr_setpshared F
 GLIBC_2.2 pthread_rwlock_timedrdlock F
+GLIBC_2.2 pthread_rwlock_timedwrlock F
 GLIBC_2.2 pthread_spin_destroy F
 GLIBC_2.2 pthread_spin_init F
 GLIBC_2.2 pthread_spin_lock F
@@ -2365,6 +2366,7 @@ GLIBC_2.34 pthread_rwlock_destroy F
 GLIBC_2.34 pthread_rwlock_init F
 GLIBC_2.34 pthread_rwlock_rdlock F
 GLIBC_2.34 pthread_rwlock_timedrdlock F
+GLIBC_2.34 pthread_rwlock_timedwrlock F
 GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
 GLIBC_2.34 pthread_setspecific F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
index 88e9ceb7be..d0eeba3839 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
@@ -1423,6 +1423,7 @@ GLIBC_2.3 pthread_rwlock_destroy F
 GLIBC_2.3 pthread_rwlock_init F
 GLIBC_2.3 pthread_rwlock_rdlock F
 GLIBC_2.3 pthread_rwlock_timedrdlock F
+GLIBC_2.3 pthread_rwlock_timedwrlock F
 GLIBC_2.3 pthread_rwlock_unlock F
 GLIBC_2.3 pthread_rwlock_wrlock F
 GLIBC_2.3 pthread_self F
@@ -2186,6 +2187,7 @@ GLIBC_2.34 pthread_rwlock_destroy F
 GLIBC_2.34 pthread_rwlock_init F
 GLIBC_2.34 pthread_rwlock_rdlock F
 GLIBC_2.34 pthread_rwlock_timedrdlock F
+GLIBC_2.34 pthread_rwlock_timedwrlock F
 GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
 GLIBC_2.34 pthread_setspecific F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
index f4fbda6cd8..5982f6aac4 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
@@ -53,7 +53,6 @@ GLIBC_2.3 pthread_detach F
 GLIBC_2.3 pthread_getconcurrency F
 GLIBC_2.3 pthread_getcpuclockid F
 GLIBC_2.3 pthread_join F
-GLIBC_2.3 pthread_rwlock_timedwrlock F
 GLIBC_2.3 pthread_rwlock_tryrdlock F
 GLIBC_2.3 pthread_rwlock_trywrlock F
 GLIBC_2.3 pthread_rwlockattr_destroy F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
index c510e8721e..58c13b3e34 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
@@ -1594,6 +1594,7 @@ GLIBC_2.17 pthread_rwlock_destroy F
 GLIBC_2.17 pthread_rwlock_init F
 GLIBC_2.17 pthread_rwlock_rdlock F
 GLIBC_2.17 pthread_rwlock_timedrdlock F
+GLIBC_2.17 pthread_rwlock_timedwrlock F
 GLIBC_2.17 pthread_rwlock_unlock F
 GLIBC_2.17 pthread_rwlock_wrlock F
 GLIBC_2.17 pthread_self F
@@ -2487,6 +2488,7 @@ GLIBC_2.34 pthread_rwlock_destroy F
 GLIBC_2.34 pthread_rwlock_init F
 GLIBC_2.34 pthread_rwlock_rdlock F
 GLIBC_2.34 pthread_rwlock_timedrdlock F
+GLIBC_2.34 pthread_rwlock_timedwrlock F
 GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
 GLIBC_2.34 pthread_setspecific F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
index d881d4e128..539d0a9105 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
@@ -34,7 +34,6 @@ GLIBC_2.17 pthread_getconcurrency F
 GLIBC_2.17 pthread_getcpuclockid F
 GLIBC_2.17 pthread_getname_np F
 GLIBC_2.17 pthread_join F
-GLIBC_2.17 pthread_rwlock_timedwrlock F
 GLIBC_2.17 pthread_rwlock_tryrdlock F
 GLIBC_2.17 pthread_rwlock_trywrlock F
 GLIBC_2.17 pthread_rwlockattr_destroy F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
index 6e487295f0..895a116445 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
@@ -1438,6 +1438,7 @@ GLIBC_2.33 pthread_rwlock_destroy F
 GLIBC_2.33 pthread_rwlock_init F
 GLIBC_2.33 pthread_rwlock_rdlock F
 GLIBC_2.33 pthread_rwlock_timedrdlock F
+GLIBC_2.33 pthread_rwlock_timedwrlock F
 GLIBC_2.33 pthread_rwlock_unlock F
 GLIBC_2.33 pthread_rwlock_wrlock F
 GLIBC_2.33 pthread_self F
@@ -2052,6 +2053,7 @@ GLIBC_2.34 pthread_rwlock_destroy F
 GLIBC_2.34 pthread_rwlock_init F
 GLIBC_2.34 pthread_rwlock_rdlock F
 GLIBC_2.34 pthread_rwlock_timedrdlock F
+GLIBC_2.34 pthread_rwlock_timedwrlock F
 GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
 GLIBC_2.34 pthread_setspecific F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
index fc899b5779..e21dfe4fce 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
@@ -49,7 +49,6 @@ GLIBC_2.33 pthread_getconcurrency F
 GLIBC_2.33 pthread_getcpuclockid F
 GLIBC_2.33 pthread_getname_np F
 GLIBC_2.33 pthread_join F
-GLIBC_2.33 pthread_rwlock_timedwrlock F
 GLIBC_2.33 pthread_rwlock_tryrdlock F
 GLIBC_2.33 pthread_rwlock_trywrlock F
 GLIBC_2.33 pthread_rwlockattr_destroy F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
index 770b8fa9e9..dd802fb0d0 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
@@ -1496,6 +1496,7 @@ GLIBC_2.27 pthread_rwlock_destroy F
 GLIBC_2.27 pthread_rwlock_init F
 GLIBC_2.27 pthread_rwlock_rdlock F
 GLIBC_2.27 pthread_rwlock_timedrdlock F
+GLIBC_2.27 pthread_rwlock_timedwrlock F
 GLIBC_2.27 pthread_rwlock_unlock F
 GLIBC_2.27 pthread_rwlock_wrlock F
 GLIBC_2.27 pthread_self F
@@ -2252,6 +2253,7 @@ GLIBC_2.34 pthread_rwlock_destroy F
 GLIBC_2.34 pthread_rwlock_init F
 GLIBC_2.34 pthread_rwlock_rdlock F
 GLIBC_2.34 pthread_rwlock_timedrdlock F
+GLIBC_2.34 pthread_rwlock_timedwrlock F
 GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
 GLIBC_2.34 pthread_setspecific F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
index 9071607ea7..25f5bd3707 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
@@ -35,7 +35,6 @@ GLIBC_2.27 pthread_getconcurrency F
 GLIBC_2.27 pthread_getcpuclockid F
 GLIBC_2.27 pthread_getname_np F
 GLIBC_2.27 pthread_join F
-GLIBC_2.27 pthread_rwlock_timedwrlock F
 GLIBC_2.27 pthread_rwlock_tryrdlock F
 GLIBC_2.27 pthread_rwlock_trywrlock F
 GLIBC_2.27 pthread_rwlockattr_destroy F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
index 4dd850e5b4..8d7c07ffa0 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
@@ -1956,6 +1956,7 @@ GLIBC_2.2 pthread_mutex_timedlock F
 GLIBC_2.2 pthread_mutexattr_getpshared F
 GLIBC_2.2 pthread_mutexattr_setpshared F
 GLIBC_2.2 pthread_rwlock_timedrdlock F
+GLIBC_2.2 pthread_rwlock_timedwrlock F
 GLIBC_2.2 pthread_spin_destroy F
 GLIBC_2.2 pthread_spin_init F
 GLIBC_2.2 pthread_spin_lock F
@@ -2330,6 +2331,7 @@ GLIBC_2.34 pthread_rwlock_destroy F
 GLIBC_2.34 pthread_rwlock_init F
 GLIBC_2.34 pthread_rwlock_rdlock F
 GLIBC_2.34 pthread_rwlock_timedrdlock F
+GLIBC_2.34 pthread_rwlock_timedwrlock F
 GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
 GLIBC_2.34 pthread_setspecific F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
index 62924771ff..2f4676b825 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
@@ -60,7 +60,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 pthread_rwlock_timedwrlock F
 GLIBC_2.2 pthread_yield F
 GLIBC_2.2 sem_timedwait F
 GLIBC_2.2.3 __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 fe4543393c..9557487426 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
@@ -1335,6 +1335,7 @@ GLIBC_2.2 pthread_rwlock_destroy F
 GLIBC_2.2 pthread_rwlock_init F
 GLIBC_2.2 pthread_rwlock_rdlock F
 GLIBC_2.2 pthread_rwlock_timedrdlock F
+GLIBC_2.2 pthread_rwlock_timedwrlock F
 GLIBC_2.2 pthread_rwlock_unlock F
 GLIBC_2.2 pthread_rwlock_wrlock F
 GLIBC_2.2 pthread_self F
@@ -2223,6 +2224,7 @@ GLIBC_2.34 pthread_rwlock_destroy F
 GLIBC_2.34 pthread_rwlock_init F
 GLIBC_2.34 pthread_rwlock_rdlock F
 GLIBC_2.34 pthread_rwlock_timedrdlock F
+GLIBC_2.34 pthread_rwlock_timedwrlock F
 GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
 GLIBC_2.34 pthread_setspecific F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
index 30a43ccfe6..c7dd59c419 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_detach F
 GLIBC_2.2 pthread_getconcurrency F
 GLIBC_2.2 pthread_getcpuclockid F
 GLIBC_2.2 pthread_join F
-GLIBC_2.2 pthread_rwlock_timedwrlock F
 GLIBC_2.2 pthread_rwlock_tryrdlock F
 GLIBC_2.2 pthread_rwlock_trywrlock F
 GLIBC_2.2 pthread_rwlockattr_destroy F
diff --git a/sysdeps/unix/sysv/linux/sh/be/libc.abilist b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
index f73645251d..357bc17232 100644
--- a/sysdeps/unix/sysv/linux/sh/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
@@ -1321,6 +1321,7 @@ GLIBC_2.2 pthread_rwlock_destroy F
 GLIBC_2.2 pthread_rwlock_init F
 GLIBC_2.2 pthread_rwlock_rdlock F
 GLIBC_2.2 pthread_rwlock_timedrdlock F
+GLIBC_2.2 pthread_rwlock_timedwrlock F
 GLIBC_2.2 pthread_rwlock_unlock F
 GLIBC_2.2 pthread_rwlock_wrlock F
 GLIBC_2.2 pthread_self F
@@ -2192,6 +2193,7 @@ GLIBC_2.34 pthread_rwlock_destroy F
 GLIBC_2.34 pthread_rwlock_init F
 GLIBC_2.34 pthread_rwlock_rdlock F
 GLIBC_2.34 pthread_rwlock_timedrdlock F
+GLIBC_2.34 pthread_rwlock_timedwrlock F
 GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
 GLIBC_2.34 pthread_setspecific F
diff --git a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
index 100d01628b..594f9c40a4 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_detach F
 GLIBC_2.2 pthread_getconcurrency F
 GLIBC_2.2 pthread_getcpuclockid F
 GLIBC_2.2 pthread_join F
-GLIBC_2.2 pthread_rwlock_timedwrlock F
 GLIBC_2.2 pthread_rwlock_tryrdlock F
 GLIBC_2.2 pthread_rwlock_trywrlock F
 GLIBC_2.2 pthread_rwlockattr_destroy F
diff --git a/sysdeps/unix/sysv/linux/sh/le/libc.abilist b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
index fed3fd509c..a70a58218f 100644
--- a/sysdeps/unix/sysv/linux/sh/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
@@ -1321,6 +1321,7 @@ GLIBC_2.2 pthread_rwlock_destroy F
 GLIBC_2.2 pthread_rwlock_init F
 GLIBC_2.2 pthread_rwlock_rdlock F
 GLIBC_2.2 pthread_rwlock_timedrdlock F
+GLIBC_2.2 pthread_rwlock_timedwrlock F
 GLIBC_2.2 pthread_rwlock_unlock F
 GLIBC_2.2 pthread_rwlock_wrlock F
 GLIBC_2.2 pthread_self F
@@ -2189,6 +2190,7 @@ GLIBC_2.34 pthread_rwlock_destroy F
 GLIBC_2.34 pthread_rwlock_init F
 GLIBC_2.34 pthread_rwlock_rdlock F
 GLIBC_2.34 pthread_rwlock_timedrdlock F
+GLIBC_2.34 pthread_rwlock_timedwrlock F
 GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
 GLIBC_2.34 pthread_setspecific F
diff --git a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
index 100d01628b..594f9c40a4 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_detach F
 GLIBC_2.2 pthread_getconcurrency F
 GLIBC_2.2 pthread_getcpuclockid F
 GLIBC_2.2 pthread_join F
-GLIBC_2.2 pthread_rwlock_timedwrlock F
 GLIBC_2.2 pthread_rwlock_tryrdlock F
 GLIBC_2.2 pthread_rwlock_trywrlock F
 GLIBC_2.2 pthread_rwlockattr_destroy F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
index 7defd524bf..14931e13ac 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
@@ -1952,6 +1952,7 @@ GLIBC_2.2 pthread_mutex_timedlock F
 GLIBC_2.2 pthread_mutexattr_getpshared F
 GLIBC_2.2 pthread_mutexattr_setpshared F
 GLIBC_2.2 pthread_rwlock_timedrdlock F
+GLIBC_2.2 pthread_rwlock_timedwrlock F
 GLIBC_2.2 pthread_spin_destroy F
 GLIBC_2.2 pthread_spin_init F
 GLIBC_2.2 pthread_spin_lock F
@@ -2321,6 +2322,7 @@ GLIBC_2.34 pthread_rwlock_destroy F
 GLIBC_2.34 pthread_rwlock_init F
 GLIBC_2.34 pthread_rwlock_rdlock F
 GLIBC_2.34 pthread_rwlock_timedrdlock F
+GLIBC_2.34 pthread_rwlock_timedwrlock F
 GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
 GLIBC_2.34 pthread_setspecific F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
index 6ab60c7fba..50166f48e2 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
@@ -59,7 +59,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 pthread_rwlock_timedwrlock F
 GLIBC_2.2 pthread_yield F
 GLIBC_2.2 sem_timedwait F
 GLIBC_2.2.3 __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 2dbe34345e..f9d184a6e8 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
@@ -1364,6 +1364,7 @@ GLIBC_2.2 pthread_rwlock_destroy F
 GLIBC_2.2 pthread_rwlock_init F
 GLIBC_2.2 pthread_rwlock_rdlock F
 GLIBC_2.2 pthread_rwlock_timedrdlock F
+GLIBC_2.2 pthread_rwlock_timedwrlock F
 GLIBC_2.2 pthread_rwlock_unlock F
 GLIBC_2.2 pthread_rwlock_wrlock F
 GLIBC_2.2 pthread_self F
@@ -2240,6 +2241,7 @@ GLIBC_2.34 pthread_rwlock_destroy F
 GLIBC_2.34 pthread_rwlock_init F
 GLIBC_2.34 pthread_rwlock_rdlock F
 GLIBC_2.34 pthread_rwlock_timedrdlock F
+GLIBC_2.34 pthread_rwlock_timedwrlock F
 GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
 GLIBC_2.34 pthread_setspecific F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
index bdfded821a..3064b2c36c 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_detach F
 GLIBC_2.2 pthread_getconcurrency F
 GLIBC_2.2 pthread_getcpuclockid F
 GLIBC_2.2 pthread_join F
-GLIBC_2.2 pthread_rwlock_timedwrlock F
 GLIBC_2.2 pthread_rwlock_tryrdlock F
 GLIBC_2.2 pthread_rwlock_trywrlock F
 GLIBC_2.2 pthread_rwlockattr_destroy F
diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
index 2550864957..e0c940714e 100644
--- a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
@@ -1332,6 +1332,7 @@ GLIBC_2.2.5 pthread_rwlock_destroy F
 GLIBC_2.2.5 pthread_rwlock_init F
 GLIBC_2.2.5 pthread_rwlock_rdlock F
 GLIBC_2.2.5 pthread_rwlock_timedrdlock F
+GLIBC_2.2.5 pthread_rwlock_timedwrlock F
 GLIBC_2.2.5 pthread_rwlock_unlock F
 GLIBC_2.2.5 pthread_rwlock_wrlock F
 GLIBC_2.2.5 pthread_self F
@@ -2201,6 +2202,7 @@ GLIBC_2.34 pthread_rwlock_destroy F
 GLIBC_2.34 pthread_rwlock_init F
 GLIBC_2.34 pthread_rwlock_rdlock F
 GLIBC_2.34 pthread_rwlock_timedrdlock F
+GLIBC_2.34 pthread_rwlock_timedwrlock F
 GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
 GLIBC_2.34 pthread_setspecific F
diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
index 3db4a6ba56..7e9477da8d 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_detach F
 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_rwlock_timedwrlock F
 GLIBC_2.2.5 pthread_rwlock_tryrdlock F
 GLIBC_2.2.5 pthread_rwlock_trywrlock F
 GLIBC_2.2.5 pthread_rwlockattr_destroy F
diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
index 7a0248df2a..23a14b102a 100644
--- a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
@@ -1513,6 +1513,7 @@ GLIBC_2.16 pthread_rwlock_destroy F
 GLIBC_2.16 pthread_rwlock_init F
 GLIBC_2.16 pthread_rwlock_rdlock F
 GLIBC_2.16 pthread_rwlock_timedrdlock F
+GLIBC_2.16 pthread_rwlock_timedwrlock F
 GLIBC_2.16 pthread_rwlock_unlock F
 GLIBC_2.16 pthread_rwlock_wrlock F
 GLIBC_2.16 pthread_self F
@@ -2306,6 +2307,7 @@ GLIBC_2.34 pthread_rwlock_destroy F
 GLIBC_2.34 pthread_rwlock_init F
 GLIBC_2.34 pthread_rwlock_rdlock F
 GLIBC_2.34 pthread_rwlock_timedrdlock F
+GLIBC_2.34 pthread_rwlock_timedwrlock F
 GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
 GLIBC_2.34 pthread_setspecific F
diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
index 7b3cc0668d..c60f350d26 100644
--- a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
@@ -34,7 +34,6 @@ GLIBC_2.16 pthread_getconcurrency F
 GLIBC_2.16 pthread_getcpuclockid F
 GLIBC_2.16 pthread_getname_np F
 GLIBC_2.16 pthread_join F
-GLIBC_2.16 pthread_rwlock_timedwrlock F
 GLIBC_2.16 pthread_rwlock_tryrdlock F
 GLIBC_2.16 pthread_rwlock_trywrlock F
 GLIBC_2.16 pthread_rwlockattr_destroy F
