unofficial mirror of libc-alpha@sourceware.org
 help / color / mirror / Atom feed
* [PATCH 00/14] nptl: Move remaining rwlock functions into libc
@ 2021-04-23 17:36 Florian Weimer via Libc-alpha
  2021-04-23 17:36 ` [PATCH 01/14] nptl: Move pthread_rwlock_clockrdlock " Florian Weimer via Libc-alpha
                   ` (14 more replies)
  0 siblings, 15 replies; 30+ messages in thread
From: Florian Weimer via Libc-alpha @ 2021-04-23 17:36 UTC (permalink / raw)
  To: libc-alpha

The clock*lock are a bit more complex, and I followed what I did in the
mutex and condition variable cases.  I also removed some unsued
<libc-lock.h> functionality.

Tested on i686-linux-gnu and x86_64-linux-gnu.  Built with
build-many-glibcs.py.

Thanks,
Florian

Florian Weimer (14):
  nptl: Move pthread_rwlock_clockrdlock into libc
  nptl: Move pthread_rwlock_clockwrlock into libc
  nptl: Move pthread_rwlock_destroy into libc
  nptl: Move pthread_rwlock_init into libc
  nptl: Move pthread_rwlock_timedrdlock into libc
  nptl: Move pthread_rwlock_timedwrlock into libc
  nptl: Move pthread_rwlock_tryrdlock into libc
  nptl: Move pthread_rwlock_trywrlock into libc
  nptl: Move pthread_rwlockattr_destroy into libc
  nptl: Move pthread_rwlockattr_getkind_np into libc
  nptl: Move pthread_rwlockattr_getpshared into libc
  nptl: Move pthread_rwlockattr_init into libc
  nptl: Move pthread_rwlockattr_setkind_np into libc
  nptl: Move pthread_rwlockattr_setpshared into libc

 nptl/Makefile                                 | 28 +++++------
 nptl/Versions                                 | 49 ++++++++++++-------
 nptl/pthreadP.h                               |  8 +--
 nptl/pthread_rwlock_clockrdlock.c             | 23 ++++++---
 nptl/pthread_rwlock_clockwrlock.c             | 23 ++++++---
 nptl/pthread_rwlock_destroy.c                 | 16 ++++--
 nptl/pthread_rwlock_init.c                    | 20 ++++++--
 nptl/pthread_rwlock_timedrdlock.c             | 23 ++++++---
 nptl/pthread_rwlock_timedwrlock.c             | 23 ++++++---
 nptl/pthread_rwlock_tryrdlock.c               | 15 +++++-
 nptl/pthread_rwlock_trywrlock.c               | 15 +++++-
 nptl/pthread_rwlockattr_destroy.c             | 11 ++++-
 nptl/pthread_rwlockattr_getkind_np.c          | 11 ++++-
 nptl/pthread_rwlockattr_getpshared.c          | 12 ++++-
 nptl/pthread_rwlockattr_init.c                | 11 ++++-
 nptl/pthread_rwlockattr_setkind_np.c          | 11 ++++-
 nptl/pthread_rwlockattr_setpshared.c          | 11 ++++-
 sysdeps/nptl/libc-lockP.h                     | 30 ++----------
 sysdeps/unix/sysv/linux/aarch64/libc.abilist  | 32 ++++++++++++
 .../sysv/linux/aarch64/libpthread.abilist     | 18 -------
 sysdeps/unix/sysv/linux/alpha/libc.abilist    | 32 ++++++++++++
 .../unix/sysv/linux/alpha/libpthread.abilist  | 18 -------
 sysdeps/unix/sysv/linux/arc/libc.abilist      | 32 ++++++++++++
 .../unix/sysv/linux/arc/libpthread.abilist    | 18 -------
 sysdeps/unix/sysv/linux/arm/be/libc.abilist   | 32 ++++++++++++
 .../unix/sysv/linux/arm/be/libpthread.abilist | 18 -------
 sysdeps/unix/sysv/linux/arm/le/libc.abilist   | 32 ++++++++++++
 .../unix/sysv/linux/arm/le/libpthread.abilist | 18 -------
 sysdeps/unix/sysv/linux/csky/libc.abilist     | 32 ++++++++++++
 .../unix/sysv/linux/csky/libpthread.abilist   | 18 -------
 sysdeps/unix/sysv/linux/hppa/libc.abilist     | 32 ++++++++++++
 .../unix/sysv/linux/hppa/libpthread.abilist   | 18 -------
 sysdeps/unix/sysv/linux/i386/libc.abilist     | 32 ++++++++++++
 .../unix/sysv/linux/i386/libpthread.abilist   | 18 -------
 sysdeps/unix/sysv/linux/ia64/libc.abilist     | 32 ++++++++++++
 .../unix/sysv/linux/ia64/libpthread.abilist   | 18 -------
 .../sysv/linux/m68k/coldfire/libc.abilist     | 32 ++++++++++++
 .../linux/m68k/coldfire/libpthread.abilist    | 18 -------
 .../unix/sysv/linux/m68k/m680x0/libc.abilist  | 32 ++++++++++++
 .../sysv/linux/m68k/m680x0/libpthread.abilist | 18 -------
 .../sysv/linux/microblaze/be/libc.abilist     | 32 ++++++++++++
 .../linux/microblaze/be/libpthread.abilist    | 18 -------
 .../sysv/linux/microblaze/le/libc.abilist     | 32 ++++++++++++
 .../linux/microblaze/le/libpthread.abilist    | 18 -------
 .../sysv/linux/mips/mips32/fpu/libc.abilist   | 32 ++++++++++++
 .../sysv/linux/mips/mips32/libpthread.abilist | 18 -------
 .../sysv/linux/mips/mips32/nofpu/libc.abilist | 32 ++++++++++++
 .../sysv/linux/mips/mips64/libpthread.abilist | 18 -------
 .../sysv/linux/mips/mips64/n32/libc.abilist   | 32 ++++++++++++
 .../sysv/linux/mips/mips64/n64/libc.abilist   | 32 ++++++++++++
 sysdeps/unix/sysv/linux/nios2/libc.abilist    | 32 ++++++++++++
 .../unix/sysv/linux/nios2/libpthread.abilist  | 18 -------
 .../linux/powerpc/powerpc32/fpu/libc.abilist  | 32 ++++++++++++
 .../powerpc/powerpc32/libpthread.abilist      | 18 -------
 .../powerpc/powerpc32/nofpu/libc.abilist      | 32 ++++++++++++
 .../linux/powerpc/powerpc64/be/libc.abilist   | 32 ++++++++++++
 .../powerpc/powerpc64/be/libpthread.abilist   | 18 -------
 .../linux/powerpc/powerpc64/le/libc.abilist   | 32 ++++++++++++
 .../powerpc/powerpc64/le/libpthread.abilist   | 18 -------
 .../unix/sysv/linux/riscv/rv32/libc.abilist   | 32 ++++++++++++
 .../sysv/linux/riscv/rv32/libpthread.abilist  | 18 -------
 .../unix/sysv/linux/riscv/rv64/libc.abilist   | 32 ++++++++++++
 .../sysv/linux/riscv/rv64/libpthread.abilist  | 18 -------
 .../unix/sysv/linux/s390/s390-32/libc.abilist | 32 ++++++++++++
 .../linux/s390/s390-32/libpthread.abilist     | 18 -------
 .../unix/sysv/linux/s390/s390-64/libc.abilist | 32 ++++++++++++
 .../linux/s390/s390-64/libpthread.abilist     | 18 -------
 sysdeps/unix/sysv/linux/sh/be/libc.abilist    | 32 ++++++++++++
 .../unix/sysv/linux/sh/be/libpthread.abilist  | 18 -------
 sysdeps/unix/sysv/linux/sh/le/libc.abilist    | 32 ++++++++++++
 .../unix/sysv/linux/sh/le/libpthread.abilist  | 18 -------
 .../sysv/linux/sparc/sparc32/libc.abilist     | 32 ++++++++++++
 .../linux/sparc/sparc32/libpthread.abilist    | 18 -------
 .../sysv/linux/sparc/sparc64/libc.abilist     | 32 ++++++++++++
 .../linux/sparc/sparc64/libpthread.abilist    | 18 -------
 .../unix/sysv/linux/x86_64/64/libc.abilist    | 32 ++++++++++++
 .../sysv/linux/x86_64/64/libpthread.abilist   | 18 -------
 .../unix/sysv/linux/x86_64/x32/libc.abilist   | 32 ++++++++++++
 .../sysv/linux/x86_64/x32/libpthread.abilist  | 18 -------
 79 files changed, 1251 insertions(+), 635 deletions(-)

-- 
2.30.2


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

* [PATCH 01/14] nptl: Move pthread_rwlock_clockrdlock into libc
  2021-04-23 17:36 [PATCH 00/14] nptl: Move remaining rwlock functions into libc Florian Weimer via Libc-alpha
@ 2021-04-23 17:36 ` Florian Weimer via Libc-alpha
  2021-05-02 19:30   ` Carlos O'Donell via Libc-alpha
  2021-04-23 17:37 ` [PATCH 02/14] nptl: Move pthread_rwlock_clockwrlock " Florian Weimer via Libc-alpha
                   ` (13 subsequent siblings)
  14 siblings, 1 reply; 30+ messages in thread
From: Florian Weimer via Libc-alpha @ 2021-04-23 17:36 UTC (permalink / raw)
  To: libc-alpha

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

diff --git a/nptl/Makefile b/nptl/Makefile
index fba3c8153e..d2c7605bca 100644
--- a/nptl/Makefile
+++ b/nptl/Makefile
@@ -120,6 +120,7 @@ routines = \
   pthread_mutexattr_setrobust \
   pthread_mutexattr_settype \
   pthread_once \
+  pthread_rwlock_clockrdlock \
   pthread_rwlock_rdlock \
   pthread_rwlock_unlock \
   pthread_rwlock_wrlock \
@@ -178,7 +179,6 @@ libpthread-routines = \
   pthread_getname \
   pthread_join \
   pthread_join_common \
-  pthread_rwlock_clockrdlock \
   pthread_rwlock_clockwrlock \
   pthread_rwlock_destroy \
   pthread_rwlock_init \
diff --git a/nptl/Versions b/nptl/Versions
index 03e159ee0f..2ea367631d 100644
--- a/nptl/Versions
+++ b/nptl/Versions
@@ -134,6 +134,7 @@ libc {
   GLIBC_2.30 {
     pthread_cond_clockwait;
     pthread_mutex_clocklock;
+    pthread_rwlock_clockrdlock;
   }
   GLIBC_2.32 {
     pthread_attr_getsigmask_np;
@@ -180,6 +181,7 @@ libc {
     pthread_mutexattr_setrobust;
     pthread_mutexattr_settype;
     pthread_once;
+    pthread_rwlock_clockrdlock;
     pthread_rwlock_rdlock;
     pthread_rwlock_unlock;
     pthread_rwlock_wrlock;
@@ -397,7 +399,6 @@ libpthread {
   }
 
   GLIBC_2.30 {
-    pthread_rwlock_clockrdlock;
     pthread_rwlock_clockwrlock;
     sem_clockwait;
   }
diff --git a/nptl/pthreadP.h b/nptl/pthreadP.h
index db8983c711..a7f5bdd061 100644
--- a/nptl/pthreadP.h
+++ b/nptl/pthreadP.h
@@ -503,7 +503,7 @@ libc_hidden_proto (__pthread_cond_clockwait64)
 extern int __pthread_rwlock_clockrdlock64 (pthread_rwlock_t *rwlock,
                                            clockid_t clockid,
                                            const struct __timespec64 *abstime);
-libpthread_hidden_proto (__pthread_rwlock_clockrdlock64)
+libc_hidden_proto (__pthread_rwlock_clockrdlock64)
 extern int __pthread_rwlock_clockwrlock64 (pthread_rwlock_t *rwlock,
                                            clockid_t clockid,
                                            const struct __timespec64 *abstime);
diff --git a/nptl/pthread_rwlock_clockrdlock.c b/nptl/pthread_rwlock_clockrdlock.c
index 6c8e50a6b3..9db96b9904 100644
--- a/nptl/pthread_rwlock_clockrdlock.c
+++ b/nptl/pthread_rwlock_clockrdlock.c
@@ -18,25 +18,34 @@
    <https://www.gnu.org/licenses/>.  */
 
 #include "pthread_rwlock_common.c"
+#include <shlib-compat.h>
 
 /* See pthread_rwlock_common.c.  */
 int
-__pthread_rwlock_clockrdlock64 (pthread_rwlock_t *rwlock, clockid_t clockid,
-                                const struct __timespec64 *abstime)
+___pthread_rwlock_clockrdlock64 (pthread_rwlock_t *rwlock, clockid_t clockid,
+				 const struct __timespec64 *abstime)
 {
   return __pthread_rwlock_rdlock_full64 (rwlock, clockid, abstime);
 }
 
-#if __TIMESIZE != 64
-libpthread_hidden_def (__pthread_rwlock_clockrdlock64)
+#if __TIMESIZE == 64
+strong_alias (___pthread_rwlock_clockrdlock64, ___pthread_rwlock_clockrdlock)
+#else /* __TIMESPEC64 != 64 */
+libc_hidden_ver (___pthread_rwlock_clockrdlock64,
+		 __pthread_rwlock_clockrdlock64)
 
 int
-__pthread_rwlock_clockrdlock (pthread_rwlock_t *rwlock, clockid_t clockid,
-                              const struct timespec *abstime)
+___pthread_rwlock_clockrdlock (pthread_rwlock_t *rwlock, clockid_t clockid,
+			       const struct timespec *abstime)
 {
   struct __timespec64 ts64 = valid_timespec_to_timespec64 (*abstime);
 
   return __pthread_rwlock_clockrdlock64 (rwlock, clockid, &ts64);
 }
+#endif /* __TIMESPEC64 != 64 */
+versioned_symbol (libc, ___pthread_rwlock_clockrdlock,
+		  pthread_rwlock_clockrdlock, GLIBC_2_34);
+#if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_30, GLIBC_2_34)
+compat_symbol (libpthread, ___pthread_rwlock_clockrdlock,
+	       pthread_rwlock_clockrdlock, GLIBC_2_30);
 #endif
-weak_alias (__pthread_rwlock_clockrdlock, pthread_rwlock_clockrdlock)
diff --git a/sysdeps/unix/sysv/linux/aarch64/libc.abilist b/sysdeps/unix/sysv/linux/aarch64/libc.abilist
index 96f61e91b5..a544add0ac 100644
--- a/sysdeps/unix/sysv/linux/aarch64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/aarch64/libc.abilist
@@ -2212,6 +2212,7 @@ GLIBC_2.30 getdents64 F
 GLIBC_2.30 gettid F
 GLIBC_2.30 pthread_cond_clockwait F
 GLIBC_2.30 pthread_mutex_clocklock F
+GLIBC_2.30 pthread_rwlock_clockrdlock F
 GLIBC_2.30 tgkill F
 GLIBC_2.30 twalk_r F
 GLIBC_2.32 __libc_single_threaded D 0x1
@@ -2278,6 +2279,7 @@ GLIBC_2.34 pthread_mutexattr_setpshared F
 GLIBC_2.34 pthread_mutexattr_setrobust F
 GLIBC_2.34 pthread_mutexattr_settype F
 GLIBC_2.34 pthread_once F
+GLIBC_2.34 pthread_rwlock_clockrdlock F
 GLIBC_2.34 pthread_rwlock_rdlock F
 GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
diff --git a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
index 2f584deb17..a397e84b0c 100644
--- a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
@@ -90,7 +90,6 @@ GLIBC_2.28 tss_create F
 GLIBC_2.28 tss_delete F
 GLIBC_2.28 tss_get F
 GLIBC_2.28 tss_set F
-GLIBC_2.30 pthread_rwlock_clockrdlock F
 GLIBC_2.30 pthread_rwlock_clockwrlock F
 GLIBC_2.30 sem_clockwait F
 GLIBC_2.31 pthread_clockjoin_np F
diff --git a/sysdeps/unix/sysv/linux/alpha/libc.abilist b/sysdeps/unix/sysv/linux/alpha/libc.abilist
index 46e59e73f8..8e5060bf36 100644
--- a/sysdeps/unix/sysv/linux/alpha/libc.abilist
+++ b/sysdeps/unix/sysv/linux/alpha/libc.abilist
@@ -2293,6 +2293,7 @@ GLIBC_2.30 getdents64 F
 GLIBC_2.30 gettid F
 GLIBC_2.30 pthread_cond_clockwait F
 GLIBC_2.30 pthread_mutex_clocklock F
+GLIBC_2.30 pthread_rwlock_clockrdlock F
 GLIBC_2.30 tgkill F
 GLIBC_2.30 twalk_r F
 GLIBC_2.32 __libc_single_threaded D 0x1
@@ -2359,6 +2360,7 @@ GLIBC_2.34 pthread_mutexattr_setpshared F
 GLIBC_2.34 pthread_mutexattr_setrobust F
 GLIBC_2.34 pthread_mutexattr_settype F
 GLIBC_2.34 pthread_once F
+GLIBC_2.34 pthread_rwlock_clockrdlock F
 GLIBC_2.34 pthread_rwlock_rdlock F
 GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
diff --git a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
index 3871bd7fd1..bdad9b18c1 100644
--- a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
@@ -105,7 +105,6 @@ GLIBC_2.3.3 pthread_tryjoin_np F
 GLIBC_2.3.4 pthread_attr_getaffinity_np F
 GLIBC_2.3.4 pthread_setaffinity_np F
 GLIBC_2.3.4 pthread_setschedprio F
-GLIBC_2.30 pthread_rwlock_clockrdlock F
 GLIBC_2.30 pthread_rwlock_clockwrlock F
 GLIBC_2.30 sem_clockwait F
 GLIBC_2.31 pthread_clockjoin_np F
diff --git a/sysdeps/unix/sysv/linux/arc/libc.abilist b/sysdeps/unix/sysv/linux/arc/libc.abilist
index 49687f093c..e30a919462 100644
--- a/sysdeps/unix/sysv/linux/arc/libc.abilist
+++ b/sysdeps/unix/sysv/linux/arc/libc.abilist
@@ -1428,6 +1428,7 @@ GLIBC_2.32 pthread_mutexattr_setrobust F
 GLIBC_2.32 pthread_mutexattr_setrobust_np F
 GLIBC_2.32 pthread_mutexattr_settype F
 GLIBC_2.32 pthread_once F
+GLIBC_2.32 pthread_rwlock_clockrdlock F
 GLIBC_2.32 pthread_rwlock_rdlock F
 GLIBC_2.32 pthread_rwlock_unlock F
 GLIBC_2.32 pthread_rwlock_wrlock F
@@ -2037,6 +2038,7 @@ GLIBC_2.34 pthread_mutexattr_setpshared F
 GLIBC_2.34 pthread_mutexattr_setrobust F
 GLIBC_2.34 pthread_mutexattr_settype F
 GLIBC_2.34 pthread_once F
+GLIBC_2.34 pthread_rwlock_clockrdlock F
 GLIBC_2.34 pthread_rwlock_rdlock F
 GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
diff --git a/sysdeps/unix/sysv/linux/arc/libpthread.abilist b/sysdeps/unix/sysv/linux/arc/libpthread.abilist
index c4bad742a2..4d52f6cee4 100644
--- a/sysdeps/unix/sysv/linux/arc/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/arc/libpthread.abilist
@@ -51,7 +51,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_clockrdlock F
 GLIBC_2.32 pthread_rwlock_clockwrlock F
 GLIBC_2.32 pthread_rwlock_destroy F
 GLIBC_2.32 pthread_rwlock_init F
diff --git a/sysdeps/unix/sysv/linux/arm/be/libc.abilist b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
index 4d6abeeb42..3cb32bbc40 100644
--- a/sysdeps/unix/sysv/linux/arm/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
@@ -133,6 +133,7 @@ GLIBC_2.30 getdents64 F
 GLIBC_2.30 gettid F
 GLIBC_2.30 pthread_cond_clockwait F
 GLIBC_2.30 pthread_mutex_clocklock F
+GLIBC_2.30 pthread_rwlock_clockrdlock F
 GLIBC_2.30 tgkill F
 GLIBC_2.30 twalk_r F
 GLIBC_2.31 msgctl F
@@ -202,6 +203,7 @@ GLIBC_2.34 pthread_mutexattr_setpshared F
 GLIBC_2.34 pthread_mutexattr_setrobust F
 GLIBC_2.34 pthread_mutexattr_settype F
 GLIBC_2.34 pthread_once F
+GLIBC_2.34 pthread_rwlock_clockrdlock F
 GLIBC_2.34 pthread_rwlock_rdlock F
 GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
diff --git a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
index 5be2f9ac79..929969e5eb 100644
--- a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
@@ -24,7 +24,6 @@ GLIBC_2.28 tss_create F
 GLIBC_2.28 tss_delete F
 GLIBC_2.28 tss_get F
 GLIBC_2.28 tss_set F
-GLIBC_2.30 pthread_rwlock_clockrdlock F
 GLIBC_2.30 pthread_rwlock_clockwrlock F
 GLIBC_2.30 sem_clockwait F
 GLIBC_2.31 pthread_clockjoin_np F
diff --git a/sysdeps/unix/sysv/linux/arm/le/libc.abilist b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
index 91243f33b8..ebfb2cd2b9 100644
--- a/sysdeps/unix/sysv/linux/arm/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
@@ -133,6 +133,7 @@ GLIBC_2.30 getdents64 F
 GLIBC_2.30 gettid F
 GLIBC_2.30 pthread_cond_clockwait F
 GLIBC_2.30 pthread_mutex_clocklock F
+GLIBC_2.30 pthread_rwlock_clockrdlock F
 GLIBC_2.30 tgkill F
 GLIBC_2.30 twalk_r F
 GLIBC_2.32 __libc_single_threaded D 0x1
@@ -199,6 +200,7 @@ GLIBC_2.34 pthread_mutexattr_setpshared F
 GLIBC_2.34 pthread_mutexattr_setrobust F
 GLIBC_2.34 pthread_mutexattr_settype F
 GLIBC_2.34 pthread_once F
+GLIBC_2.34 pthread_rwlock_clockrdlock F
 GLIBC_2.34 pthread_rwlock_rdlock F
 GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
diff --git a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
index 5be2f9ac79..929969e5eb 100644
--- a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
@@ -24,7 +24,6 @@ GLIBC_2.28 tss_create F
 GLIBC_2.28 tss_delete F
 GLIBC_2.28 tss_get F
 GLIBC_2.28 tss_set F
-GLIBC_2.30 pthread_rwlock_clockrdlock F
 GLIBC_2.30 pthread_rwlock_clockwrlock F
 GLIBC_2.30 sem_clockwait F
 GLIBC_2.31 pthread_clockjoin_np F
diff --git a/sysdeps/unix/sysv/linux/csky/libc.abilist b/sysdeps/unix/sysv/linux/csky/libc.abilist
index c7cec5e1a6..e37f93df4c 100644
--- a/sysdeps/unix/sysv/linux/csky/libc.abilist
+++ b/sysdeps/unix/sysv/linux/csky/libc.abilist
@@ -2155,6 +2155,7 @@ GLIBC_2.30 getdents64 F
 GLIBC_2.30 gettid F
 GLIBC_2.30 pthread_cond_clockwait F
 GLIBC_2.30 pthread_mutex_clocklock F
+GLIBC_2.30 pthread_rwlock_clockrdlock F
 GLIBC_2.30 tgkill F
 GLIBC_2.30 twalk_r F
 GLIBC_2.32 __libc_single_threaded D 0x1
@@ -2221,6 +2222,7 @@ GLIBC_2.34 pthread_mutexattr_setpshared F
 GLIBC_2.34 pthread_mutexattr_setrobust F
 GLIBC_2.34 pthread_mutexattr_settype F
 GLIBC_2.34 pthread_once F
+GLIBC_2.34 pthread_rwlock_clockrdlock F
 GLIBC_2.34 pthread_rwlock_rdlock F
 GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
diff --git a/sysdeps/unix/sysv/linux/csky/libpthread.abilist b/sysdeps/unix/sysv/linux/csky/libpthread.abilist
index 99dae41dc5..14e6252740 100644
--- a/sysdeps/unix/sysv/linux/csky/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/csky/libpthread.abilist
@@ -90,7 +90,6 @@ GLIBC_2.29 tss_create F
 GLIBC_2.29 tss_delete F
 GLIBC_2.29 tss_get F
 GLIBC_2.29 tss_set F
-GLIBC_2.30 pthread_rwlock_clockrdlock F
 GLIBC_2.30 pthread_rwlock_clockwrlock F
 GLIBC_2.30 sem_clockwait F
 GLIBC_2.31 pthread_clockjoin_np F
diff --git a/sysdeps/unix/sysv/linux/hppa/libc.abilist b/sysdeps/unix/sysv/linux/hppa/libc.abilist
index 69d2d7f3e1..c066fea427 100644
--- a/sysdeps/unix/sysv/linux/hppa/libc.abilist
+++ b/sysdeps/unix/sysv/linux/hppa/libc.abilist
@@ -2106,6 +2106,7 @@ GLIBC_2.30 getdents64 F
 GLIBC_2.30 gettid F
 GLIBC_2.30 pthread_cond_clockwait F
 GLIBC_2.30 pthread_mutex_clocklock F
+GLIBC_2.30 pthread_rwlock_clockrdlock F
 GLIBC_2.30 tgkill F
 GLIBC_2.30 twalk_r F
 GLIBC_2.32 __libc_single_threaded D 0x1
@@ -2172,6 +2173,7 @@ GLIBC_2.34 pthread_mutexattr_setpshared F
 GLIBC_2.34 pthread_mutexattr_setrobust F
 GLIBC_2.34 pthread_mutexattr_settype F
 GLIBC_2.34 pthread_once F
+GLIBC_2.34 pthread_rwlock_clockrdlock F
 GLIBC_2.34 pthread_rwlock_rdlock F
 GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
diff --git a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
index ccd2decf49..689a70cc5e 100644
--- a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
@@ -95,7 +95,6 @@ GLIBC_2.3.3 pthread_tryjoin_np F
 GLIBC_2.3.4 pthread_attr_getaffinity_np F
 GLIBC_2.3.4 pthread_setaffinity_np F
 GLIBC_2.3.4 pthread_setschedprio F
-GLIBC_2.30 pthread_rwlock_clockrdlock F
 GLIBC_2.30 pthread_rwlock_clockwrlock F
 GLIBC_2.30 sem_clockwait F
 GLIBC_2.31 pthread_clockjoin_np F
diff --git a/sysdeps/unix/sysv/linux/i386/libc.abilist b/sysdeps/unix/sysv/linux/i386/libc.abilist
index cd4e29c056..e73a9cb62f 100644
--- a/sysdeps/unix/sysv/linux/i386/libc.abilist
+++ b/sysdeps/unix/sysv/linux/i386/libc.abilist
@@ -2281,6 +2281,7 @@ GLIBC_2.30 getdents64 F
 GLIBC_2.30 gettid F
 GLIBC_2.30 pthread_cond_clockwait F
 GLIBC_2.30 pthread_mutex_clocklock F
+GLIBC_2.30 pthread_rwlock_clockrdlock F
 GLIBC_2.30 tgkill F
 GLIBC_2.30 twalk_r F
 GLIBC_2.32 __libc_single_threaded D 0x1
@@ -2349,6 +2350,7 @@ GLIBC_2.34 pthread_mutexattr_setpshared F
 GLIBC_2.34 pthread_mutexattr_setrobust F
 GLIBC_2.34 pthread_mutexattr_settype F
 GLIBC_2.34 pthread_once F
+GLIBC_2.34 pthread_rwlock_clockrdlock F
 GLIBC_2.34 pthread_rwlock_rdlock F
 GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
diff --git a/sysdeps/unix/sysv/linux/i386/libpthread.abilist b/sysdeps/unix/sysv/linux/i386/libpthread.abilist
index 5972b30b09..4ab340cf90 100644
--- a/sysdeps/unix/sysv/linux/i386/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/i386/libpthread.abilist
@@ -103,7 +103,6 @@ GLIBC_2.3.3 pthread_tryjoin_np F
 GLIBC_2.3.4 pthread_attr_getaffinity_np F
 GLIBC_2.3.4 pthread_setaffinity_np F
 GLIBC_2.3.4 pthread_setschedprio F
-GLIBC_2.30 pthread_rwlock_clockrdlock F
 GLIBC_2.30 pthread_rwlock_clockwrlock F
 GLIBC_2.30 sem_clockwait F
 GLIBC_2.31 pthread_clockjoin_np F
diff --git a/sysdeps/unix/sysv/linux/ia64/libc.abilist b/sysdeps/unix/sysv/linux/ia64/libc.abilist
index e64d081e88..d7dc742a61 100644
--- a/sysdeps/unix/sysv/linux/ia64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/ia64/libc.abilist
@@ -2139,6 +2139,7 @@ GLIBC_2.30 getdents64 F
 GLIBC_2.30 gettid F
 GLIBC_2.30 pthread_cond_clockwait F
 GLIBC_2.30 pthread_mutex_clocklock F
+GLIBC_2.30 pthread_rwlock_clockrdlock F
 GLIBC_2.30 tgkill F
 GLIBC_2.30 twalk_r F
 GLIBC_2.32 __libc_single_threaded D 0x1
@@ -2206,6 +2207,7 @@ GLIBC_2.34 pthread_mutexattr_setpshared F
 GLIBC_2.34 pthread_mutexattr_setrobust F
 GLIBC_2.34 pthread_mutexattr_settype F
 GLIBC_2.34 pthread_once F
+GLIBC_2.34 pthread_rwlock_clockrdlock F
 GLIBC_2.34 pthread_rwlock_rdlock F
 GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
diff --git a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
index e4fcc373fa..d9af25de90 100644
--- a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
@@ -97,7 +97,6 @@ GLIBC_2.3.3 pthread_tryjoin_np F
 GLIBC_2.3.4 pthread_attr_getaffinity_np F
 GLIBC_2.3.4 pthread_setaffinity_np F
 GLIBC_2.3.4 pthread_setschedprio F
-GLIBC_2.30 pthread_rwlock_clockrdlock F
 GLIBC_2.30 pthread_rwlock_clockwrlock F
 GLIBC_2.30 sem_clockwait F
 GLIBC_2.31 pthread_clockjoin_np F
diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
index 19bb5930fe..ec804150f8 100644
--- a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
@@ -134,6 +134,7 @@ GLIBC_2.30 getdents64 F
 GLIBC_2.30 gettid F
 GLIBC_2.30 pthread_cond_clockwait F
 GLIBC_2.30 pthread_mutex_clocklock F
+GLIBC_2.30 pthread_rwlock_clockrdlock F
 GLIBC_2.30 tgkill F
 GLIBC_2.30 twalk_r F
 GLIBC_2.31 msgctl F
@@ -203,6 +204,7 @@ GLIBC_2.34 pthread_mutexattr_setpshared F
 GLIBC_2.34 pthread_mutexattr_setrobust F
 GLIBC_2.34 pthread_mutexattr_settype F
 GLIBC_2.34 pthread_once F
+GLIBC_2.34 pthread_rwlock_clockrdlock F
 GLIBC_2.34 pthread_rwlock_rdlock F
 GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
index 5be2f9ac79..929969e5eb 100644
--- a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
@@ -24,7 +24,6 @@ GLIBC_2.28 tss_create F
 GLIBC_2.28 tss_delete F
 GLIBC_2.28 tss_get F
 GLIBC_2.28 tss_set F
-GLIBC_2.30 pthread_rwlock_clockrdlock F
 GLIBC_2.30 pthread_rwlock_clockwrlock F
 GLIBC_2.30 sem_clockwait F
 GLIBC_2.31 pthread_clockjoin_np F
diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
index a4cc4f872c..d6b6316e33 100644
--- a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
@@ -2223,6 +2223,7 @@ GLIBC_2.30 getdents64 F
 GLIBC_2.30 gettid F
 GLIBC_2.30 pthread_cond_clockwait F
 GLIBC_2.30 pthread_mutex_clocklock F
+GLIBC_2.30 pthread_rwlock_clockrdlock F
 GLIBC_2.30 tgkill F
 GLIBC_2.30 twalk_r F
 GLIBC_2.31 msgctl F
@@ -2292,6 +2293,7 @@ GLIBC_2.34 pthread_mutexattr_setpshared F
 GLIBC_2.34 pthread_mutexattr_setrobust F
 GLIBC_2.34 pthread_mutexattr_settype F
 GLIBC_2.34 pthread_once F
+GLIBC_2.34 pthread_rwlock_clockrdlock F
 GLIBC_2.34 pthread_rwlock_rdlock F
 GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
index 5972b30b09..4ab340cf90 100644
--- a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
@@ -103,7 +103,6 @@ GLIBC_2.3.3 pthread_tryjoin_np F
 GLIBC_2.3.4 pthread_attr_getaffinity_np F
 GLIBC_2.3.4 pthread_setaffinity_np F
 GLIBC_2.3.4 pthread_setschedprio F
-GLIBC_2.30 pthread_rwlock_clockrdlock F
 GLIBC_2.30 pthread_rwlock_clockwrlock F
 GLIBC_2.30 sem_clockwait F
 GLIBC_2.31 pthread_clockjoin_np F
diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
index e2f65f7ac5..955dd491e2 100644
--- a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
@@ -2203,6 +2203,7 @@ GLIBC_2.30 getdents64 F
 GLIBC_2.30 gettid F
 GLIBC_2.30 pthread_cond_clockwait F
 GLIBC_2.30 pthread_mutex_clocklock F
+GLIBC_2.30 pthread_rwlock_clockrdlock F
 GLIBC_2.30 tgkill F
 GLIBC_2.30 twalk_r F
 GLIBC_2.31 msgctl F
@@ -2272,6 +2273,7 @@ GLIBC_2.34 pthread_mutexattr_setpshared F
 GLIBC_2.34 pthread_mutexattr_setrobust F
 GLIBC_2.34 pthread_mutexattr_settype F
 GLIBC_2.34 pthread_once F
+GLIBC_2.34 pthread_rwlock_clockrdlock F
 GLIBC_2.34 pthread_rwlock_rdlock F
 GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
index df17daaa5e..77f2a9fcb3 100644
--- a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
@@ -90,7 +90,6 @@ GLIBC_2.28 tss_create F
 GLIBC_2.28 tss_delete F
 GLIBC_2.28 tss_get F
 GLIBC_2.28 tss_set F
-GLIBC_2.30 pthread_rwlock_clockrdlock F
 GLIBC_2.30 pthread_rwlock_clockwrlock F
 GLIBC_2.30 sem_clockwait F
 GLIBC_2.31 pthread_clockjoin_np F
diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
index 417c311b51..7bf2999064 100644
--- a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
@@ -2203,6 +2203,7 @@ GLIBC_2.30 getdents64 F
 GLIBC_2.30 gettid F
 GLIBC_2.30 pthread_cond_clockwait F
 GLIBC_2.30 pthread_mutex_clocklock F
+GLIBC_2.30 pthread_rwlock_clockrdlock F
 GLIBC_2.30 tgkill F
 GLIBC_2.30 twalk_r F
 GLIBC_2.32 __libc_single_threaded D 0x1
@@ -2269,6 +2270,7 @@ GLIBC_2.34 pthread_mutexattr_setpshared F
 GLIBC_2.34 pthread_mutexattr_setrobust F
 GLIBC_2.34 pthread_mutexattr_settype F
 GLIBC_2.34 pthread_once F
+GLIBC_2.34 pthread_rwlock_clockrdlock F
 GLIBC_2.34 pthread_rwlock_rdlock F
 GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
index df17daaa5e..77f2a9fcb3 100644
--- a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
@@ -90,7 +90,6 @@ GLIBC_2.28 tss_create F
 GLIBC_2.28 tss_delete F
 GLIBC_2.28 tss_get F
 GLIBC_2.28 tss_set F
-GLIBC_2.30 pthread_rwlock_clockrdlock F
 GLIBC_2.30 pthread_rwlock_clockwrlock F
 GLIBC_2.30 sem_clockwait F
 GLIBC_2.31 pthread_clockjoin_np F
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
index 00b3cf0757..6117a526e2 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
@@ -2189,6 +2189,7 @@ GLIBC_2.30 getdents64 F
 GLIBC_2.30 gettid F
 GLIBC_2.30 pthread_cond_clockwait F
 GLIBC_2.30 pthread_mutex_clocklock F
+GLIBC_2.30 pthread_rwlock_clockrdlock F
 GLIBC_2.30 tgkill F
 GLIBC_2.30 twalk_r F
 GLIBC_2.32 __libc_single_threaded D 0x1
@@ -2255,6 +2256,7 @@ GLIBC_2.34 pthread_mutexattr_setpshared F
 GLIBC_2.34 pthread_mutexattr_setrobust F
 GLIBC_2.34 pthread_mutexattr_settype F
 GLIBC_2.34 pthread_once F
+GLIBC_2.34 pthread_rwlock_clockrdlock F
 GLIBC_2.34 pthread_rwlock_rdlock F
 GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
index 71c79c0a9b..24f02c4170 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
@@ -104,7 +104,6 @@ GLIBC_2.3.3 pthread_tryjoin_np F
 GLIBC_2.3.4 pthread_attr_getaffinity_np F
 GLIBC_2.3.4 pthread_setaffinity_np F
 GLIBC_2.3.4 pthread_setschedprio F
-GLIBC_2.30 pthread_rwlock_clockrdlock F
 GLIBC_2.30 pthread_rwlock_clockwrlock F
 GLIBC_2.30 sem_clockwait F
 GLIBC_2.31 pthread_clockjoin_np F
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
index 8cbc935a95..ba4e9497f7 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
@@ -2187,6 +2187,7 @@ GLIBC_2.30 getdents64 F
 GLIBC_2.30 gettid F
 GLIBC_2.30 pthread_cond_clockwait F
 GLIBC_2.30 pthread_mutex_clocklock F
+GLIBC_2.30 pthread_rwlock_clockrdlock F
 GLIBC_2.30 tgkill F
 GLIBC_2.30 twalk_r F
 GLIBC_2.32 __libc_single_threaded D 0x1
@@ -2253,6 +2254,7 @@ GLIBC_2.34 pthread_mutexattr_setpshared F
 GLIBC_2.34 pthread_mutexattr_setrobust F
 GLIBC_2.34 pthread_mutexattr_settype F
 GLIBC_2.34 pthread_once F
+GLIBC_2.34 pthread_rwlock_clockrdlock F
 GLIBC_2.34 pthread_rwlock_rdlock F
 GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
index 71c79c0a9b..24f02c4170 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
@@ -104,7 +104,6 @@ GLIBC_2.3.3 pthread_tryjoin_np F
 GLIBC_2.3.4 pthread_attr_getaffinity_np F
 GLIBC_2.3.4 pthread_setaffinity_np F
 GLIBC_2.3.4 pthread_setschedprio F
-GLIBC_2.30 pthread_rwlock_clockrdlock F
 GLIBC_2.30 pthread_rwlock_clockwrlock F
 GLIBC_2.30 sem_clockwait F
 GLIBC_2.31 pthread_clockjoin_np F
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
index 1d9f61c7b0..4f4fb5265e 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
@@ -2195,6 +2195,7 @@ GLIBC_2.30 getdents64 F
 GLIBC_2.30 gettid F
 GLIBC_2.30 pthread_cond_clockwait F
 GLIBC_2.30 pthread_mutex_clocklock F
+GLIBC_2.30 pthread_rwlock_clockrdlock F
 GLIBC_2.30 tgkill F
 GLIBC_2.30 twalk_r F
 GLIBC_2.32 __libc_single_threaded D 0x1
@@ -2261,6 +2262,7 @@ GLIBC_2.34 pthread_mutexattr_setpshared F
 GLIBC_2.34 pthread_mutexattr_setrobust F
 GLIBC_2.34 pthread_mutexattr_settype F
 GLIBC_2.34 pthread_once F
+GLIBC_2.34 pthread_rwlock_clockrdlock F
 GLIBC_2.34 pthread_rwlock_rdlock F
 GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
index c41013212d..b7e140bfef 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
@@ -2189,6 +2189,7 @@ GLIBC_2.30 getdents64 F
 GLIBC_2.30 gettid F
 GLIBC_2.30 pthread_cond_clockwait F
 GLIBC_2.30 pthread_mutex_clocklock F
+GLIBC_2.30 pthread_rwlock_clockrdlock F
 GLIBC_2.30 tgkill F
 GLIBC_2.30 twalk_r F
 GLIBC_2.32 __libc_single_threaded D 0x1
@@ -2255,6 +2256,7 @@ GLIBC_2.34 pthread_mutexattr_setpshared F
 GLIBC_2.34 pthread_mutexattr_setrobust F
 GLIBC_2.34 pthread_mutexattr_settype F
 GLIBC_2.34 pthread_once F
+GLIBC_2.34 pthread_rwlock_clockrdlock F
 GLIBC_2.34 pthread_rwlock_rdlock F
 GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
diff --git a/sysdeps/unix/sysv/linux/nios2/libc.abilist b/sysdeps/unix/sysv/linux/nios2/libc.abilist
index 412a99f35f..5f9127b1ca 100644
--- a/sysdeps/unix/sysv/linux/nios2/libc.abilist
+++ b/sysdeps/unix/sysv/linux/nios2/libc.abilist
@@ -2245,6 +2245,7 @@ GLIBC_2.30 getdents64 F
 GLIBC_2.30 gettid F
 GLIBC_2.30 pthread_cond_clockwait F
 GLIBC_2.30 pthread_mutex_clocklock F
+GLIBC_2.30 pthread_rwlock_clockrdlock F
 GLIBC_2.30 tgkill F
 GLIBC_2.30 twalk_r F
 GLIBC_2.32 __libc_single_threaded D 0x1
@@ -2311,6 +2312,7 @@ GLIBC_2.34 pthread_mutexattr_setpshared F
 GLIBC_2.34 pthread_mutexattr_setrobust F
 GLIBC_2.34 pthread_mutexattr_settype F
 GLIBC_2.34 pthread_once F
+GLIBC_2.34 pthread_rwlock_clockrdlock F
 GLIBC_2.34 pthread_rwlock_rdlock F
 GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
diff --git a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
index ace0bff7c6..8704868023 100644
--- a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
@@ -90,7 +90,6 @@ GLIBC_2.28 tss_create F
 GLIBC_2.28 tss_delete F
 GLIBC_2.28 tss_get F
 GLIBC_2.28 tss_set F
-GLIBC_2.30 pthread_rwlock_clockrdlock F
 GLIBC_2.30 pthread_rwlock_clockwrlock F
 GLIBC_2.30 sem_clockwait F
 GLIBC_2.31 pthread_clockjoin_np F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
index 2b4bca90e0..7d04ea07c7 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
@@ -2253,6 +2253,7 @@ GLIBC_2.30 getdents64 F
 GLIBC_2.30 gettid F
 GLIBC_2.30 pthread_cond_clockwait F
 GLIBC_2.30 pthread_mutex_clocklock F
+GLIBC_2.30 pthread_rwlock_clockrdlock F
 GLIBC_2.30 tgkill F
 GLIBC_2.30 twalk_r F
 GLIBC_2.32 __libc_single_threaded D 0x1
@@ -2319,6 +2320,7 @@ GLIBC_2.34 pthread_mutexattr_setpshared F
 GLIBC_2.34 pthread_mutexattr_setrobust F
 GLIBC_2.34 pthread_mutexattr_settype F
 GLIBC_2.34 pthread_once F
+GLIBC_2.34 pthread_rwlock_clockrdlock F
 GLIBC_2.34 pthread_rwlock_rdlock F
 GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
index 0febdfd3e8..08a1eb9cf6 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
@@ -103,7 +103,6 @@ GLIBC_2.3.3 pthread_tryjoin_np F
 GLIBC_2.3.4 pthread_attr_getaffinity_np F
 GLIBC_2.3.4 pthread_setaffinity_np F
 GLIBC_2.3.4 pthread_setschedprio F
-GLIBC_2.30 pthread_rwlock_clockrdlock F
 GLIBC_2.30 pthread_rwlock_clockwrlock F
 GLIBC_2.30 sem_clockwait F
 GLIBC_2.31 pthread_clockjoin_np F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
index 3802eaac60..599790898c 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
@@ -2286,6 +2286,7 @@ GLIBC_2.30 getdents64 F
 GLIBC_2.30 gettid F
 GLIBC_2.30 pthread_cond_clockwait F
 GLIBC_2.30 pthread_mutex_clocklock F
+GLIBC_2.30 pthread_rwlock_clockrdlock F
 GLIBC_2.30 tgkill F
 GLIBC_2.30 twalk_r F
 GLIBC_2.32 __libc_single_threaded D 0x1
@@ -2352,6 +2353,7 @@ GLIBC_2.34 pthread_mutexattr_setpshared F
 GLIBC_2.34 pthread_mutexattr_setrobust F
 GLIBC_2.34 pthread_mutexattr_settype F
 GLIBC_2.34 pthread_once F
+GLIBC_2.34 pthread_rwlock_clockrdlock F
 GLIBC_2.34 pthread_rwlock_rdlock F
 GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
index 4383f4d579..9c0219af57 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
@@ -2107,6 +2107,7 @@ GLIBC_2.30 getdents64 F
 GLIBC_2.30 gettid F
 GLIBC_2.30 pthread_cond_clockwait F
 GLIBC_2.30 pthread_mutex_clocklock F
+GLIBC_2.30 pthread_rwlock_clockrdlock F
 GLIBC_2.30 tgkill F
 GLIBC_2.30 twalk_r F
 GLIBC_2.32 __libc_single_threaded D 0x1
@@ -2173,6 +2174,7 @@ GLIBC_2.34 pthread_mutexattr_setpshared F
 GLIBC_2.34 pthread_mutexattr_setrobust F
 GLIBC_2.34 pthread_mutexattr_settype F
 GLIBC_2.34 pthread_once F
+GLIBC_2.34 pthread_rwlock_clockrdlock F
 GLIBC_2.34 pthread_rwlock_rdlock F
 GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
index fa13a56f55..97679a7e75 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
@@ -93,7 +93,6 @@ GLIBC_2.3.3 pthread_tryjoin_np F
 GLIBC_2.3.4 pthread_attr_getaffinity_np F
 GLIBC_2.3.4 pthread_setaffinity_np F
 GLIBC_2.3.4 pthread_setschedprio F
-GLIBC_2.30 pthread_rwlock_clockrdlock F
 GLIBC_2.30 pthread_rwlock_clockwrlock F
 GLIBC_2.30 sem_clockwait F
 GLIBC_2.31 pthread_clockjoin_np F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
index b272c02184..dc3ec8c4eb 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
@@ -2314,6 +2314,7 @@ GLIBC_2.30 getdents64 F
 GLIBC_2.30 gettid F
 GLIBC_2.30 pthread_cond_clockwait F
 GLIBC_2.30 pthread_mutex_clocklock F
+GLIBC_2.30 pthread_rwlock_clockrdlock F
 GLIBC_2.30 tgkill F
 GLIBC_2.30 twalk_r F
 GLIBC_2.32 __argp_errorieee128 F
@@ -2474,6 +2475,7 @@ GLIBC_2.34 pthread_mutexattr_setpshared F
 GLIBC_2.34 pthread_mutexattr_setrobust F
 GLIBC_2.34 pthread_mutexattr_settype F
 GLIBC_2.34 pthread_once F
+GLIBC_2.34 pthread_rwlock_clockrdlock F
 GLIBC_2.34 pthread_rwlock_rdlock F
 GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
index 2f584deb17..a397e84b0c 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
@@ -90,7 +90,6 @@ GLIBC_2.28 tss_create F
 GLIBC_2.28 tss_delete F
 GLIBC_2.28 tss_get F
 GLIBC_2.28 tss_set F
-GLIBC_2.30 pthread_rwlock_clockrdlock F
 GLIBC_2.30 pthread_rwlock_clockwrlock F
 GLIBC_2.30 sem_clockwait F
 GLIBC_2.31 pthread_clockjoin_np F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
index 27556ad2b0..7064b9adc2 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
@@ -1430,6 +1430,7 @@ GLIBC_2.33 pthread_mutexattr_setrobust F
 GLIBC_2.33 pthread_mutexattr_setrobust_np F
 GLIBC_2.33 pthread_mutexattr_settype F
 GLIBC_2.33 pthread_once F
+GLIBC_2.33 pthread_rwlock_clockrdlock F
 GLIBC_2.33 pthread_rwlock_rdlock F
 GLIBC_2.33 pthread_rwlock_unlock F
 GLIBC_2.33 pthread_rwlock_wrlock F
@@ -2039,6 +2040,7 @@ GLIBC_2.34 pthread_mutexattr_setpshared F
 GLIBC_2.34 pthread_mutexattr_setrobust F
 GLIBC_2.34 pthread_mutexattr_settype F
 GLIBC_2.34 pthread_once F
+GLIBC_2.34 pthread_rwlock_clockrdlock F
 GLIBC_2.34 pthread_rwlock_rdlock F
 GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
index c71a787709..3564a9936d 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
@@ -51,7 +51,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_clockrdlock F
 GLIBC_2.33 pthread_rwlock_clockwrlock F
 GLIBC_2.33 pthread_rwlock_destroy F
 GLIBC_2.33 pthread_rwlock_init F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
index d9b8afedee..0817432271 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
@@ -2173,6 +2173,7 @@ GLIBC_2.30 getdents64 F
 GLIBC_2.30 gettid F
 GLIBC_2.30 pthread_cond_clockwait F
 GLIBC_2.30 pthread_mutex_clocklock F
+GLIBC_2.30 pthread_rwlock_clockrdlock F
 GLIBC_2.30 tgkill F
 GLIBC_2.30 twalk_r F
 GLIBC_2.32 __libc_single_threaded D 0x1
@@ -2239,6 +2240,7 @@ GLIBC_2.34 pthread_mutexattr_setpshared F
 GLIBC_2.34 pthread_mutexattr_setrobust F
 GLIBC_2.34 pthread_mutexattr_settype F
 GLIBC_2.34 pthread_once F
+GLIBC_2.34 pthread_rwlock_clockrdlock F
 GLIBC_2.34 pthread_rwlock_rdlock F
 GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
index 39178c36ff..740afa164b 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
@@ -90,7 +90,6 @@ GLIBC_2.28 tss_create F
 GLIBC_2.28 tss_delete F
 GLIBC_2.28 tss_get F
 GLIBC_2.28 tss_set F
-GLIBC_2.30 pthread_rwlock_clockrdlock F
 GLIBC_2.30 pthread_rwlock_clockwrlock F
 GLIBC_2.30 sem_clockwait F
 GLIBC_2.31 pthread_clockjoin_np F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
index 551a18069c..b7cd423a8b 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
@@ -2248,6 +2248,7 @@ GLIBC_2.30 getdents64 F
 GLIBC_2.30 gettid F
 GLIBC_2.30 pthread_cond_clockwait F
 GLIBC_2.30 pthread_mutex_clocklock F
+GLIBC_2.30 pthread_rwlock_clockrdlock F
 GLIBC_2.30 tgkill F
 GLIBC_2.30 twalk_r F
 GLIBC_2.31 msgctl F
@@ -2317,6 +2318,7 @@ GLIBC_2.34 pthread_mutexattr_setpshared F
 GLIBC_2.34 pthread_mutexattr_setrobust F
 GLIBC_2.34 pthread_mutexattr_settype F
 GLIBC_2.34 pthread_once F
+GLIBC_2.34 pthread_rwlock_clockrdlock F
 GLIBC_2.34 pthread_rwlock_rdlock F
 GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
index 54dc15bdff..71adfe68d3 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
@@ -104,7 +104,6 @@ GLIBC_2.3.3 pthread_tryjoin_np F
 GLIBC_2.3.4 pthread_attr_getaffinity_np F
 GLIBC_2.3.4 pthread_setaffinity_np F
 GLIBC_2.3.4 pthread_setschedprio F
-GLIBC_2.30 pthread_rwlock_clockrdlock F
 GLIBC_2.30 pthread_rwlock_clockwrlock F
 GLIBC_2.30 sem_clockwait F
 GLIBC_2.31 pthread_clockjoin_np F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
index df4c296f13..0fe79b8479 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
@@ -2144,6 +2144,7 @@ GLIBC_2.30 getdents64 F
 GLIBC_2.30 gettid F
 GLIBC_2.30 pthread_cond_clockwait F
 GLIBC_2.30 pthread_mutex_clocklock F
+GLIBC_2.30 pthread_rwlock_clockrdlock F
 GLIBC_2.30 tgkill F
 GLIBC_2.30 twalk_r F
 GLIBC_2.32 __libc_single_threaded D 0x1
@@ -2210,6 +2211,7 @@ GLIBC_2.34 pthread_mutexattr_setpshared F
 GLIBC_2.34 pthread_mutexattr_setrobust F
 GLIBC_2.34 pthread_mutexattr_settype F
 GLIBC_2.34 pthread_once F
+GLIBC_2.34 pthread_rwlock_clockrdlock F
 GLIBC_2.34 pthread_rwlock_rdlock F
 GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
index 7e41af116d..e80b1d31fa 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
@@ -96,7 +96,6 @@ GLIBC_2.3.3 pthread_tryjoin_np F
 GLIBC_2.3.4 pthread_attr_getaffinity_np F
 GLIBC_2.3.4 pthread_setaffinity_np F
 GLIBC_2.3.4 pthread_setschedprio F
-GLIBC_2.30 pthread_rwlock_clockrdlock F
 GLIBC_2.30 pthread_rwlock_clockwrlock F
 GLIBC_2.30 sem_clockwait F
 GLIBC_2.31 pthread_clockjoin_np F
diff --git a/sysdeps/unix/sysv/linux/sh/be/libc.abilist b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
index 94818d5751..730d4097da 100644
--- a/sysdeps/unix/sysv/linux/sh/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
@@ -2110,6 +2110,7 @@ GLIBC_2.30 getdents64 F
 GLIBC_2.30 gettid F
 GLIBC_2.30 pthread_cond_clockwait F
 GLIBC_2.30 pthread_mutex_clocklock F
+GLIBC_2.30 pthread_rwlock_clockrdlock F
 GLIBC_2.30 tgkill F
 GLIBC_2.30 twalk_r F
 GLIBC_2.31 msgctl F
@@ -2179,6 +2180,7 @@ GLIBC_2.34 pthread_mutexattr_setpshared F
 GLIBC_2.34 pthread_mutexattr_setrobust F
 GLIBC_2.34 pthread_mutexattr_settype F
 GLIBC_2.34 pthread_once F
+GLIBC_2.34 pthread_rwlock_clockrdlock F
 GLIBC_2.34 pthread_rwlock_rdlock F
 GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
diff --git a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
index ccd2decf49..689a70cc5e 100644
--- a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
@@ -95,7 +95,6 @@ GLIBC_2.3.3 pthread_tryjoin_np F
 GLIBC_2.3.4 pthread_attr_getaffinity_np F
 GLIBC_2.3.4 pthread_setaffinity_np F
 GLIBC_2.3.4 pthread_setschedprio F
-GLIBC_2.30 pthread_rwlock_clockrdlock F
 GLIBC_2.30 pthread_rwlock_clockwrlock F
 GLIBC_2.30 sem_clockwait F
 GLIBC_2.31 pthread_clockjoin_np F
diff --git a/sysdeps/unix/sysv/linux/sh/le/libc.abilist b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
index b2cc36bc99..4f0bb0c8d0 100644
--- a/sysdeps/unix/sysv/linux/sh/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
@@ -2110,6 +2110,7 @@ GLIBC_2.30 getdents64 F
 GLIBC_2.30 gettid F
 GLIBC_2.30 pthread_cond_clockwait F
 GLIBC_2.30 pthread_mutex_clocklock F
+GLIBC_2.30 pthread_rwlock_clockrdlock F
 GLIBC_2.30 tgkill F
 GLIBC_2.30 twalk_r F
 GLIBC_2.32 __libc_single_threaded D 0x1
@@ -2176,6 +2177,7 @@ GLIBC_2.34 pthread_mutexattr_setpshared F
 GLIBC_2.34 pthread_mutexattr_setrobust F
 GLIBC_2.34 pthread_mutexattr_settype F
 GLIBC_2.34 pthread_once F
+GLIBC_2.34 pthread_rwlock_clockrdlock F
 GLIBC_2.34 pthread_rwlock_rdlock F
 GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
diff --git a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
index ccd2decf49..689a70cc5e 100644
--- a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
@@ -95,7 +95,6 @@ GLIBC_2.3.3 pthread_tryjoin_np F
 GLIBC_2.3.4 pthread_attr_getaffinity_np F
 GLIBC_2.3.4 pthread_setaffinity_np F
 GLIBC_2.3.4 pthread_setschedprio F
-GLIBC_2.30 pthread_rwlock_clockrdlock F
 GLIBC_2.30 pthread_rwlock_clockwrlock F
 GLIBC_2.30 sem_clockwait F
 GLIBC_2.31 pthread_clockjoin_np F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
index fa32910b71..7b70261ad6 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
@@ -2242,6 +2242,7 @@ GLIBC_2.30 getdents64 F
 GLIBC_2.30 gettid F
 GLIBC_2.30 pthread_cond_clockwait F
 GLIBC_2.30 pthread_mutex_clocklock F
+GLIBC_2.30 pthread_rwlock_clockrdlock F
 GLIBC_2.30 tgkill F
 GLIBC_2.30 twalk_r F
 GLIBC_2.32 __libc_single_threaded D 0x1
@@ -2308,6 +2309,7 @@ GLIBC_2.34 pthread_mutexattr_setpshared F
 GLIBC_2.34 pthread_mutexattr_setrobust F
 GLIBC_2.34 pthread_mutexattr_settype F
 GLIBC_2.34 pthread_once F
+GLIBC_2.34 pthread_rwlock_clockrdlock F
 GLIBC_2.34 pthread_rwlock_rdlock F
 GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
index 3871bd7fd1..bdad9b18c1 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
@@ -105,7 +105,6 @@ GLIBC_2.3.3 pthread_tryjoin_np F
 GLIBC_2.3.4 pthread_attr_getaffinity_np F
 GLIBC_2.3.4 pthread_setaffinity_np F
 GLIBC_2.3.4 pthread_setschedprio F
-GLIBC_2.30 pthread_rwlock_clockrdlock F
 GLIBC_2.30 pthread_rwlock_clockwrlock F
 GLIBC_2.30 sem_clockwait F
 GLIBC_2.31 pthread_clockjoin_np F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
index d673ec9d03..75197b2cee 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
@@ -2161,6 +2161,7 @@ GLIBC_2.30 getdents64 F
 GLIBC_2.30 gettid F
 GLIBC_2.30 pthread_cond_clockwait F
 GLIBC_2.30 pthread_mutex_clocklock F
+GLIBC_2.30 pthread_rwlock_clockrdlock F
 GLIBC_2.30 tgkill F
 GLIBC_2.30 twalk_r F
 GLIBC_2.32 __libc_single_threaded D 0x1
@@ -2227,6 +2228,7 @@ GLIBC_2.34 pthread_mutexattr_setpshared F
 GLIBC_2.34 pthread_mutexattr_setrobust F
 GLIBC_2.34 pthread_mutexattr_settype F
 GLIBC_2.34 pthread_once F
+GLIBC_2.34 pthread_rwlock_clockrdlock F
 GLIBC_2.34 pthread_rwlock_rdlock F
 GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
index e4fcc373fa..d9af25de90 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
@@ -97,7 +97,6 @@ GLIBC_2.3.3 pthread_tryjoin_np F
 GLIBC_2.3.4 pthread_attr_getaffinity_np F
 GLIBC_2.3.4 pthread_setaffinity_np F
 GLIBC_2.3.4 pthread_setschedprio F
-GLIBC_2.30 pthread_rwlock_clockrdlock F
 GLIBC_2.30 pthread_rwlock_clockwrlock F
 GLIBC_2.30 sem_clockwait F
 GLIBC_2.31 pthread_clockjoin_np F
diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
index 0a1608dd23..b04db27c56 100644
--- a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
@@ -2120,6 +2120,7 @@ GLIBC_2.30 getdents64 F
 GLIBC_2.30 gettid F
 GLIBC_2.30 pthread_cond_clockwait F
 GLIBC_2.30 pthread_mutex_clocklock F
+GLIBC_2.30 pthread_rwlock_clockrdlock F
 GLIBC_2.30 tgkill F
 GLIBC_2.30 twalk_r F
 GLIBC_2.32 __libc_single_threaded D 0x1
@@ -2188,6 +2189,7 @@ GLIBC_2.34 pthread_mutexattr_setpshared F
 GLIBC_2.34 pthread_mutexattr_setrobust F
 GLIBC_2.34 pthread_mutexattr_settype F
 GLIBC_2.34 pthread_once F
+GLIBC_2.34 pthread_rwlock_clockrdlock F
 GLIBC_2.34 pthread_rwlock_rdlock F
 GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
index df296d9f92..b8005f1ec8 100644
--- a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
@@ -94,7 +94,6 @@ GLIBC_2.3.3 pthread_tryjoin_np F
 GLIBC_2.3.4 pthread_attr_getaffinity_np F
 GLIBC_2.3.4 pthread_setaffinity_np F
 GLIBC_2.3.4 pthread_setschedprio F
-GLIBC_2.30 pthread_rwlock_clockrdlock F
 GLIBC_2.30 pthread_rwlock_clockwrlock F
 GLIBC_2.30 sem_clockwait F
 GLIBC_2.31 pthread_clockjoin_np F
diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
index f49596ec05..e20f48760f 100644
--- a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
@@ -2225,6 +2225,7 @@ GLIBC_2.30 getdents64 F
 GLIBC_2.30 gettid F
 GLIBC_2.30 pthread_cond_clockwait F
 GLIBC_2.30 pthread_mutex_clocklock F
+GLIBC_2.30 pthread_rwlock_clockrdlock F
 GLIBC_2.30 tgkill F
 GLIBC_2.30 twalk_r F
 GLIBC_2.32 __libc_single_threaded D 0x1
@@ -2293,6 +2294,7 @@ GLIBC_2.34 pthread_mutexattr_setpshared F
 GLIBC_2.34 pthread_mutexattr_setrobust F
 GLIBC_2.34 pthread_mutexattr_settype F
 GLIBC_2.34 pthread_once F
+GLIBC_2.34 pthread_rwlock_clockrdlock F
 GLIBC_2.34 pthread_rwlock_rdlock F
 GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
index 85972c43f0..0dbe25b684 100644
--- a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
@@ -90,7 +90,6 @@ GLIBC_2.28 tss_create F
 GLIBC_2.28 tss_delete F
 GLIBC_2.28 tss_get F
 GLIBC_2.28 tss_set F
-GLIBC_2.30 pthread_rwlock_clockrdlock F
 GLIBC_2.30 pthread_rwlock_clockwrlock F
 GLIBC_2.30 sem_clockwait F
 GLIBC_2.31 pthread_clockjoin_np F
-- 
2.30.2



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

* [PATCH 02/14] nptl: Move pthread_rwlock_clockwrlock into libc
  2021-04-23 17:36 [PATCH 00/14] nptl: Move remaining rwlock functions into libc Florian Weimer via Libc-alpha
  2021-04-23 17:36 ` [PATCH 01/14] nptl: Move pthread_rwlock_clockrdlock " Florian Weimer via Libc-alpha
@ 2021-04-23 17:37 ` Florian Weimer via Libc-alpha
  2021-05-02 19:31   ` Carlos O'Donell via Libc-alpha
  2021-04-23 17:37 ` [PATCH 03/14] nptl: Move pthread_rwlock_destroy " Florian Weimer via Libc-alpha
                   ` (12 subsequent siblings)
  14 siblings, 1 reply; 30+ messages in thread
From: Florian Weimer via Libc-alpha @ 2021-04-23 17:37 UTC (permalink / raw)
  To: libc-alpha

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

diff --git a/nptl/Makefile b/nptl/Makefile
index d2c7605bca..556a0720cb 100644
--- a/nptl/Makefile
+++ b/nptl/Makefile
@@ -121,6 +121,7 @@ routines = \
   pthread_mutexattr_settype \
   pthread_once \
   pthread_rwlock_clockrdlock \
+  pthread_rwlock_clockwrlock \
   pthread_rwlock_rdlock \
   pthread_rwlock_unlock \
   pthread_rwlock_wrlock \
@@ -179,7 +180,6 @@ libpthread-routines = \
   pthread_getname \
   pthread_join \
   pthread_join_common \
-  pthread_rwlock_clockwrlock \
   pthread_rwlock_destroy \
   pthread_rwlock_init \
   pthread_rwlock_timedrdlock \
diff --git a/nptl/Versions b/nptl/Versions
index 2ea367631d..3d092bdcf5 100644
--- a/nptl/Versions
+++ b/nptl/Versions
@@ -135,6 +135,7 @@ libc {
     pthread_cond_clockwait;
     pthread_mutex_clocklock;
     pthread_rwlock_clockrdlock;
+    pthread_rwlock_clockwrlock;
   }
   GLIBC_2.32 {
     pthread_attr_getsigmask_np;
@@ -182,6 +183,7 @@ libc {
     pthread_mutexattr_settype;
     pthread_once;
     pthread_rwlock_clockrdlock;
+    pthread_rwlock_clockwrlock;
     pthread_rwlock_rdlock;
     pthread_rwlock_unlock;
     pthread_rwlock_wrlock;
@@ -399,7 +401,6 @@ libpthread {
   }
 
   GLIBC_2.30 {
-    pthread_rwlock_clockwrlock;
     sem_clockwait;
   }
 
diff --git a/nptl/pthreadP.h b/nptl/pthreadP.h
index a7f5bdd061..0b41678adc 100644
--- a/nptl/pthreadP.h
+++ b/nptl/pthreadP.h
@@ -507,7 +507,7 @@ libc_hidden_proto (__pthread_rwlock_clockrdlock64)
 extern int __pthread_rwlock_clockwrlock64 (pthread_rwlock_t *rwlock,
                                            clockid_t clockid,
                                            const struct __timespec64 *abstime);
-libpthread_hidden_proto (__pthread_rwlock_clockwrlock64)
+libc_hidden_proto (__pthread_rwlock_clockwrlock64)
 extern int __pthread_rwlock_timedrdlock64 (pthread_rwlock_t *rwlock,
                                            const struct __timespec64 *abstime);
 libpthread_hidden_proto (__pthread_rwlock_timedrdlock64)
diff --git a/nptl/pthread_rwlock_clockwrlock.c b/nptl/pthread_rwlock_clockwrlock.c
index 22c3a7874d..ca0ebe2a65 100644
--- a/nptl/pthread_rwlock_clockwrlock.c
+++ b/nptl/pthread_rwlock_clockwrlock.c
@@ -18,25 +18,34 @@
    <https://www.gnu.org/licenses/>.  */
 
 #include "pthread_rwlock_common.c"
+#include <shlib-compat.h>
 
 /* See pthread_rwlock_common.c.  */
 int
-__pthread_rwlock_clockwrlock64 (pthread_rwlock_t *rwlock, clockid_t clockid,
-                                const struct __timespec64 *abstime)
+___pthread_rwlock_clockwrlock64 (pthread_rwlock_t *rwlock, clockid_t clockid,
+				 const struct __timespec64 *abstime)
 {
   return __pthread_rwlock_wrlock_full64 (rwlock, clockid, abstime);
 }
 
-#if __TIMESIZE != 64
-libpthread_hidden_def (__pthread_rwlock_clockwrlock64)
+#if __TIMESIZE == 64
+strong_alias (___pthread_rwlock_clockwrlock64, ___pthread_rwlock_clockwrlock)
+#else /* __TIMESPEC64 != 64 */
+libc_hidden_ver (___pthread_rwlock_clockwrlock64,
+		 __pthread_rwlock_clockwrlock64)
 
 int
-__pthread_rwlock_clockwrlock (pthread_rwlock_t *rwlock, clockid_t clockid,
-                              const struct timespec *abstime)
+___pthread_rwlock_clockwrlock (pthread_rwlock_t *rwlock, clockid_t clockid,
+			       const struct timespec *abstime)
 {
   struct __timespec64 ts64 = valid_timespec_to_timespec64 (*abstime);
 
   return __pthread_rwlock_clockwrlock64 (rwlock, clockid, &ts64);
 }
+#endif /* __TIMESPEC64 != 64 */
+versioned_symbol (libc, ___pthread_rwlock_clockwrlock,
+		  pthread_rwlock_clockwrlock, GLIBC_2_34);
+#if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_30, GLIBC_2_34)
+compat_symbol (libpthread, ___pthread_rwlock_clockwrlock,
+	       pthread_rwlock_clockwrlock, GLIBC_2_30);
 #endif
-weak_alias (__pthread_rwlock_clockwrlock, pthread_rwlock_clockwrlock)
diff --git a/sysdeps/unix/sysv/linux/aarch64/libc.abilist b/sysdeps/unix/sysv/linux/aarch64/libc.abilist
index a544add0ac..61124dfcce 100644
--- a/sysdeps/unix/sysv/linux/aarch64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/aarch64/libc.abilist
@@ -2213,6 +2213,7 @@ GLIBC_2.30 gettid F
 GLIBC_2.30 pthread_cond_clockwait F
 GLIBC_2.30 pthread_mutex_clocklock F
 GLIBC_2.30 pthread_rwlock_clockrdlock F
+GLIBC_2.30 pthread_rwlock_clockwrlock F
 GLIBC_2.30 tgkill F
 GLIBC_2.30 twalk_r F
 GLIBC_2.32 __libc_single_threaded D 0x1
@@ -2280,6 +2281,7 @@ GLIBC_2.34 pthread_mutexattr_setrobust F
 GLIBC_2.34 pthread_mutexattr_settype F
 GLIBC_2.34 pthread_once F
 GLIBC_2.34 pthread_rwlock_clockrdlock F
+GLIBC_2.34 pthread_rwlock_clockwrlock F
 GLIBC_2.34 pthread_rwlock_rdlock F
 GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
diff --git a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
index a397e84b0c..dce7c78508 100644
--- a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
@@ -90,6 +90,5 @@ GLIBC_2.28 tss_create F
 GLIBC_2.28 tss_delete F
 GLIBC_2.28 tss_get F
 GLIBC_2.28 tss_set F
-GLIBC_2.30 pthread_rwlock_clockwrlock F
 GLIBC_2.30 sem_clockwait F
 GLIBC_2.31 pthread_clockjoin_np F
diff --git a/sysdeps/unix/sysv/linux/alpha/libc.abilist b/sysdeps/unix/sysv/linux/alpha/libc.abilist
index 8e5060bf36..be5ec9cd87 100644
--- a/sysdeps/unix/sysv/linux/alpha/libc.abilist
+++ b/sysdeps/unix/sysv/linux/alpha/libc.abilist
@@ -2294,6 +2294,7 @@ GLIBC_2.30 gettid F
 GLIBC_2.30 pthread_cond_clockwait F
 GLIBC_2.30 pthread_mutex_clocklock F
 GLIBC_2.30 pthread_rwlock_clockrdlock F
+GLIBC_2.30 pthread_rwlock_clockwrlock F
 GLIBC_2.30 tgkill F
 GLIBC_2.30 twalk_r F
 GLIBC_2.32 __libc_single_threaded D 0x1
@@ -2361,6 +2362,7 @@ GLIBC_2.34 pthread_mutexattr_setrobust F
 GLIBC_2.34 pthread_mutexattr_settype F
 GLIBC_2.34 pthread_once F
 GLIBC_2.34 pthread_rwlock_clockrdlock F
+GLIBC_2.34 pthread_rwlock_clockwrlock F
 GLIBC_2.34 pthread_rwlock_rdlock F
 GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
diff --git a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
index bdad9b18c1..9bbc315658 100644
--- a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
@@ -105,7 +105,6 @@ GLIBC_2.3.3 pthread_tryjoin_np F
 GLIBC_2.3.4 pthread_attr_getaffinity_np F
 GLIBC_2.3.4 pthread_setaffinity_np F
 GLIBC_2.3.4 pthread_setschedprio F
-GLIBC_2.30 pthread_rwlock_clockwrlock F
 GLIBC_2.30 sem_clockwait F
 GLIBC_2.31 pthread_clockjoin_np F
 GLIBC_2.4 __libpthread_version_placeholder F
diff --git a/sysdeps/unix/sysv/linux/arc/libc.abilist b/sysdeps/unix/sysv/linux/arc/libc.abilist
index e30a919462..6f62c5b62d 100644
--- a/sysdeps/unix/sysv/linux/arc/libc.abilist
+++ b/sysdeps/unix/sysv/linux/arc/libc.abilist
@@ -1429,6 +1429,7 @@ GLIBC_2.32 pthread_mutexattr_setrobust_np F
 GLIBC_2.32 pthread_mutexattr_settype F
 GLIBC_2.32 pthread_once F
 GLIBC_2.32 pthread_rwlock_clockrdlock F
+GLIBC_2.32 pthread_rwlock_clockwrlock F
 GLIBC_2.32 pthread_rwlock_rdlock F
 GLIBC_2.32 pthread_rwlock_unlock F
 GLIBC_2.32 pthread_rwlock_wrlock F
@@ -2039,6 +2040,7 @@ GLIBC_2.34 pthread_mutexattr_setrobust F
 GLIBC_2.34 pthread_mutexattr_settype F
 GLIBC_2.34 pthread_once F
 GLIBC_2.34 pthread_rwlock_clockrdlock F
+GLIBC_2.34 pthread_rwlock_clockwrlock F
 GLIBC_2.34 pthread_rwlock_rdlock F
 GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
diff --git a/sysdeps/unix/sysv/linux/arc/libpthread.abilist b/sysdeps/unix/sysv/linux/arc/libpthread.abilist
index 4d52f6cee4..7e336f8242 100644
--- a/sysdeps/unix/sysv/linux/arc/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/arc/libpthread.abilist
@@ -51,7 +51,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_clockwrlock F
 GLIBC_2.32 pthread_rwlock_destroy F
 GLIBC_2.32 pthread_rwlock_init F
 GLIBC_2.32 pthread_rwlock_timedrdlock F
diff --git a/sysdeps/unix/sysv/linux/arm/be/libc.abilist b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
index 3cb32bbc40..9310982698 100644
--- a/sysdeps/unix/sysv/linux/arm/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
@@ -134,6 +134,7 @@ GLIBC_2.30 gettid F
 GLIBC_2.30 pthread_cond_clockwait F
 GLIBC_2.30 pthread_mutex_clocklock F
 GLIBC_2.30 pthread_rwlock_clockrdlock F
+GLIBC_2.30 pthread_rwlock_clockwrlock F
 GLIBC_2.30 tgkill F
 GLIBC_2.30 twalk_r F
 GLIBC_2.31 msgctl F
@@ -204,6 +205,7 @@ GLIBC_2.34 pthread_mutexattr_setrobust F
 GLIBC_2.34 pthread_mutexattr_settype F
 GLIBC_2.34 pthread_once F
 GLIBC_2.34 pthread_rwlock_clockrdlock F
+GLIBC_2.34 pthread_rwlock_clockwrlock F
 GLIBC_2.34 pthread_rwlock_rdlock F
 GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
diff --git a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
index 929969e5eb..6d01194e39 100644
--- a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
@@ -24,7 +24,6 @@ GLIBC_2.28 tss_create F
 GLIBC_2.28 tss_delete F
 GLIBC_2.28 tss_get F
 GLIBC_2.28 tss_set F
-GLIBC_2.30 pthread_rwlock_clockwrlock F
 GLIBC_2.30 sem_clockwait F
 GLIBC_2.31 pthread_clockjoin_np F
 GLIBC_2.4 _IO_flockfile F
diff --git a/sysdeps/unix/sysv/linux/arm/le/libc.abilist b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
index ebfb2cd2b9..8fa52e60f5 100644
--- a/sysdeps/unix/sysv/linux/arm/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
@@ -134,6 +134,7 @@ GLIBC_2.30 gettid F
 GLIBC_2.30 pthread_cond_clockwait F
 GLIBC_2.30 pthread_mutex_clocklock F
 GLIBC_2.30 pthread_rwlock_clockrdlock F
+GLIBC_2.30 pthread_rwlock_clockwrlock F
 GLIBC_2.30 tgkill F
 GLIBC_2.30 twalk_r F
 GLIBC_2.32 __libc_single_threaded D 0x1
@@ -201,6 +202,7 @@ GLIBC_2.34 pthread_mutexattr_setrobust F
 GLIBC_2.34 pthread_mutexattr_settype F
 GLIBC_2.34 pthread_once F
 GLIBC_2.34 pthread_rwlock_clockrdlock F
+GLIBC_2.34 pthread_rwlock_clockwrlock F
 GLIBC_2.34 pthread_rwlock_rdlock F
 GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
diff --git a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
index 929969e5eb..6d01194e39 100644
--- a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
@@ -24,7 +24,6 @@ GLIBC_2.28 tss_create F
 GLIBC_2.28 tss_delete F
 GLIBC_2.28 tss_get F
 GLIBC_2.28 tss_set F
-GLIBC_2.30 pthread_rwlock_clockwrlock F
 GLIBC_2.30 sem_clockwait F
 GLIBC_2.31 pthread_clockjoin_np F
 GLIBC_2.4 _IO_flockfile F
diff --git a/sysdeps/unix/sysv/linux/csky/libc.abilist b/sysdeps/unix/sysv/linux/csky/libc.abilist
index e37f93df4c..8ef5e0d0e2 100644
--- a/sysdeps/unix/sysv/linux/csky/libc.abilist
+++ b/sysdeps/unix/sysv/linux/csky/libc.abilist
@@ -2156,6 +2156,7 @@ GLIBC_2.30 gettid F
 GLIBC_2.30 pthread_cond_clockwait F
 GLIBC_2.30 pthread_mutex_clocklock F
 GLIBC_2.30 pthread_rwlock_clockrdlock F
+GLIBC_2.30 pthread_rwlock_clockwrlock F
 GLIBC_2.30 tgkill F
 GLIBC_2.30 twalk_r F
 GLIBC_2.32 __libc_single_threaded D 0x1
@@ -2223,6 +2224,7 @@ GLIBC_2.34 pthread_mutexattr_setrobust F
 GLIBC_2.34 pthread_mutexattr_settype F
 GLIBC_2.34 pthread_once F
 GLIBC_2.34 pthread_rwlock_clockrdlock F
+GLIBC_2.34 pthread_rwlock_clockwrlock F
 GLIBC_2.34 pthread_rwlock_rdlock F
 GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
diff --git a/sysdeps/unix/sysv/linux/csky/libpthread.abilist b/sysdeps/unix/sysv/linux/csky/libpthread.abilist
index 14e6252740..3cefbb7fdb 100644
--- a/sysdeps/unix/sysv/linux/csky/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/csky/libpthread.abilist
@@ -90,6 +90,5 @@ GLIBC_2.29 tss_create F
 GLIBC_2.29 tss_delete F
 GLIBC_2.29 tss_get F
 GLIBC_2.29 tss_set F
-GLIBC_2.30 pthread_rwlock_clockwrlock F
 GLIBC_2.30 sem_clockwait F
 GLIBC_2.31 pthread_clockjoin_np F
diff --git a/sysdeps/unix/sysv/linux/hppa/libc.abilist b/sysdeps/unix/sysv/linux/hppa/libc.abilist
index c066fea427..b7613795c8 100644
--- a/sysdeps/unix/sysv/linux/hppa/libc.abilist
+++ b/sysdeps/unix/sysv/linux/hppa/libc.abilist
@@ -2107,6 +2107,7 @@ GLIBC_2.30 gettid F
 GLIBC_2.30 pthread_cond_clockwait F
 GLIBC_2.30 pthread_mutex_clocklock F
 GLIBC_2.30 pthread_rwlock_clockrdlock F
+GLIBC_2.30 pthread_rwlock_clockwrlock F
 GLIBC_2.30 tgkill F
 GLIBC_2.30 twalk_r F
 GLIBC_2.32 __libc_single_threaded D 0x1
@@ -2174,6 +2175,7 @@ GLIBC_2.34 pthread_mutexattr_setrobust F
 GLIBC_2.34 pthread_mutexattr_settype F
 GLIBC_2.34 pthread_once F
 GLIBC_2.34 pthread_rwlock_clockrdlock F
+GLIBC_2.34 pthread_rwlock_clockwrlock F
 GLIBC_2.34 pthread_rwlock_rdlock F
 GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
diff --git a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
index 689a70cc5e..124ea6fd8e 100644
--- a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
@@ -95,7 +95,6 @@ GLIBC_2.3.3 pthread_tryjoin_np F
 GLIBC_2.3.4 pthread_attr_getaffinity_np F
 GLIBC_2.3.4 pthread_setaffinity_np F
 GLIBC_2.3.4 pthread_setschedprio F
-GLIBC_2.30 pthread_rwlock_clockwrlock F
 GLIBC_2.30 sem_clockwait F
 GLIBC_2.31 pthread_clockjoin_np F
 GLIBC_2.4 __libpthread_version_placeholder F
diff --git a/sysdeps/unix/sysv/linux/i386/libc.abilist b/sysdeps/unix/sysv/linux/i386/libc.abilist
index e73a9cb62f..6403969f65 100644
--- a/sysdeps/unix/sysv/linux/i386/libc.abilist
+++ b/sysdeps/unix/sysv/linux/i386/libc.abilist
@@ -2282,6 +2282,7 @@ GLIBC_2.30 gettid F
 GLIBC_2.30 pthread_cond_clockwait F
 GLIBC_2.30 pthread_mutex_clocklock F
 GLIBC_2.30 pthread_rwlock_clockrdlock F
+GLIBC_2.30 pthread_rwlock_clockwrlock F
 GLIBC_2.30 tgkill F
 GLIBC_2.30 twalk_r F
 GLIBC_2.32 __libc_single_threaded D 0x1
@@ -2351,6 +2352,7 @@ GLIBC_2.34 pthread_mutexattr_setrobust F
 GLIBC_2.34 pthread_mutexattr_settype F
 GLIBC_2.34 pthread_once F
 GLIBC_2.34 pthread_rwlock_clockrdlock F
+GLIBC_2.34 pthread_rwlock_clockwrlock F
 GLIBC_2.34 pthread_rwlock_rdlock F
 GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
diff --git a/sysdeps/unix/sysv/linux/i386/libpthread.abilist b/sysdeps/unix/sysv/linux/i386/libpthread.abilist
index 4ab340cf90..54aee29fdc 100644
--- a/sysdeps/unix/sysv/linux/i386/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/i386/libpthread.abilist
@@ -103,7 +103,6 @@ GLIBC_2.3.3 pthread_tryjoin_np F
 GLIBC_2.3.4 pthread_attr_getaffinity_np F
 GLIBC_2.3.4 pthread_setaffinity_np F
 GLIBC_2.3.4 pthread_setschedprio F
-GLIBC_2.30 pthread_rwlock_clockwrlock F
 GLIBC_2.30 sem_clockwait F
 GLIBC_2.31 pthread_clockjoin_np F
 GLIBC_2.4 __libpthread_version_placeholder F
diff --git a/sysdeps/unix/sysv/linux/ia64/libc.abilist b/sysdeps/unix/sysv/linux/ia64/libc.abilist
index d7dc742a61..9faf458393 100644
--- a/sysdeps/unix/sysv/linux/ia64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/ia64/libc.abilist
@@ -2140,6 +2140,7 @@ GLIBC_2.30 gettid F
 GLIBC_2.30 pthread_cond_clockwait F
 GLIBC_2.30 pthread_mutex_clocklock F
 GLIBC_2.30 pthread_rwlock_clockrdlock F
+GLIBC_2.30 pthread_rwlock_clockwrlock F
 GLIBC_2.30 tgkill F
 GLIBC_2.30 twalk_r F
 GLIBC_2.32 __libc_single_threaded D 0x1
@@ -2208,6 +2209,7 @@ GLIBC_2.34 pthread_mutexattr_setrobust F
 GLIBC_2.34 pthread_mutexattr_settype F
 GLIBC_2.34 pthread_once F
 GLIBC_2.34 pthread_rwlock_clockrdlock F
+GLIBC_2.34 pthread_rwlock_clockwrlock F
 GLIBC_2.34 pthread_rwlock_rdlock F
 GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
diff --git a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
index d9af25de90..ad3d8c7fc3 100644
--- a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
@@ -97,7 +97,6 @@ GLIBC_2.3.3 pthread_tryjoin_np F
 GLIBC_2.3.4 pthread_attr_getaffinity_np F
 GLIBC_2.3.4 pthread_setaffinity_np F
 GLIBC_2.3.4 pthread_setschedprio F
-GLIBC_2.30 pthread_rwlock_clockwrlock F
 GLIBC_2.30 sem_clockwait F
 GLIBC_2.31 pthread_clockjoin_np F
 GLIBC_2.4 __libpthread_version_placeholder F
diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
index ec804150f8..0063f78a4f 100644
--- a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
@@ -135,6 +135,7 @@ GLIBC_2.30 gettid F
 GLIBC_2.30 pthread_cond_clockwait F
 GLIBC_2.30 pthread_mutex_clocklock F
 GLIBC_2.30 pthread_rwlock_clockrdlock F
+GLIBC_2.30 pthread_rwlock_clockwrlock F
 GLIBC_2.30 tgkill F
 GLIBC_2.30 twalk_r F
 GLIBC_2.31 msgctl F
@@ -205,6 +206,7 @@ GLIBC_2.34 pthread_mutexattr_setrobust F
 GLIBC_2.34 pthread_mutexattr_settype F
 GLIBC_2.34 pthread_once F
 GLIBC_2.34 pthread_rwlock_clockrdlock F
+GLIBC_2.34 pthread_rwlock_clockwrlock F
 GLIBC_2.34 pthread_rwlock_rdlock F
 GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
index 929969e5eb..6d01194e39 100644
--- a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
@@ -24,7 +24,6 @@ GLIBC_2.28 tss_create F
 GLIBC_2.28 tss_delete F
 GLIBC_2.28 tss_get F
 GLIBC_2.28 tss_set F
-GLIBC_2.30 pthread_rwlock_clockwrlock F
 GLIBC_2.30 sem_clockwait F
 GLIBC_2.31 pthread_clockjoin_np F
 GLIBC_2.4 _IO_flockfile F
diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
index d6b6316e33..a5f9727b77 100644
--- a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
@@ -2224,6 +2224,7 @@ GLIBC_2.30 gettid F
 GLIBC_2.30 pthread_cond_clockwait F
 GLIBC_2.30 pthread_mutex_clocklock F
 GLIBC_2.30 pthread_rwlock_clockrdlock F
+GLIBC_2.30 pthread_rwlock_clockwrlock F
 GLIBC_2.30 tgkill F
 GLIBC_2.30 twalk_r F
 GLIBC_2.31 msgctl F
@@ -2294,6 +2295,7 @@ GLIBC_2.34 pthread_mutexattr_setrobust F
 GLIBC_2.34 pthread_mutexattr_settype F
 GLIBC_2.34 pthread_once F
 GLIBC_2.34 pthread_rwlock_clockrdlock F
+GLIBC_2.34 pthread_rwlock_clockwrlock F
 GLIBC_2.34 pthread_rwlock_rdlock F
 GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
index 4ab340cf90..54aee29fdc 100644
--- a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
@@ -103,7 +103,6 @@ GLIBC_2.3.3 pthread_tryjoin_np F
 GLIBC_2.3.4 pthread_attr_getaffinity_np F
 GLIBC_2.3.4 pthread_setaffinity_np F
 GLIBC_2.3.4 pthread_setschedprio F
-GLIBC_2.30 pthread_rwlock_clockwrlock F
 GLIBC_2.30 sem_clockwait F
 GLIBC_2.31 pthread_clockjoin_np F
 GLIBC_2.4 __libpthread_version_placeholder F
diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
index 955dd491e2..73d493e36f 100644
--- a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
@@ -2204,6 +2204,7 @@ GLIBC_2.30 gettid F
 GLIBC_2.30 pthread_cond_clockwait F
 GLIBC_2.30 pthread_mutex_clocklock F
 GLIBC_2.30 pthread_rwlock_clockrdlock F
+GLIBC_2.30 pthread_rwlock_clockwrlock F
 GLIBC_2.30 tgkill F
 GLIBC_2.30 twalk_r F
 GLIBC_2.31 msgctl F
@@ -2274,6 +2275,7 @@ GLIBC_2.34 pthread_mutexattr_setrobust F
 GLIBC_2.34 pthread_mutexattr_settype F
 GLIBC_2.34 pthread_once F
 GLIBC_2.34 pthread_rwlock_clockrdlock F
+GLIBC_2.34 pthread_rwlock_clockwrlock F
 GLIBC_2.34 pthread_rwlock_rdlock F
 GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
index 77f2a9fcb3..489622d126 100644
--- a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
@@ -90,6 +90,5 @@ GLIBC_2.28 tss_create F
 GLIBC_2.28 tss_delete F
 GLIBC_2.28 tss_get F
 GLIBC_2.28 tss_set F
-GLIBC_2.30 pthread_rwlock_clockwrlock F
 GLIBC_2.30 sem_clockwait F
 GLIBC_2.31 pthread_clockjoin_np F
diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
index 7bf2999064..c683536a9a 100644
--- a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
@@ -2204,6 +2204,7 @@ GLIBC_2.30 gettid F
 GLIBC_2.30 pthread_cond_clockwait F
 GLIBC_2.30 pthread_mutex_clocklock F
 GLIBC_2.30 pthread_rwlock_clockrdlock F
+GLIBC_2.30 pthread_rwlock_clockwrlock F
 GLIBC_2.30 tgkill F
 GLIBC_2.30 twalk_r F
 GLIBC_2.32 __libc_single_threaded D 0x1
@@ -2271,6 +2272,7 @@ GLIBC_2.34 pthread_mutexattr_setrobust F
 GLIBC_2.34 pthread_mutexattr_settype F
 GLIBC_2.34 pthread_once F
 GLIBC_2.34 pthread_rwlock_clockrdlock F
+GLIBC_2.34 pthread_rwlock_clockwrlock F
 GLIBC_2.34 pthread_rwlock_rdlock F
 GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
index 77f2a9fcb3..489622d126 100644
--- a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
@@ -90,6 +90,5 @@ GLIBC_2.28 tss_create F
 GLIBC_2.28 tss_delete F
 GLIBC_2.28 tss_get F
 GLIBC_2.28 tss_set F
-GLIBC_2.30 pthread_rwlock_clockwrlock F
 GLIBC_2.30 sem_clockwait F
 GLIBC_2.31 pthread_clockjoin_np F
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
index 6117a526e2..655cb225c2 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
@@ -2190,6 +2190,7 @@ GLIBC_2.30 gettid F
 GLIBC_2.30 pthread_cond_clockwait F
 GLIBC_2.30 pthread_mutex_clocklock F
 GLIBC_2.30 pthread_rwlock_clockrdlock F
+GLIBC_2.30 pthread_rwlock_clockwrlock F
 GLIBC_2.30 tgkill F
 GLIBC_2.30 twalk_r F
 GLIBC_2.32 __libc_single_threaded D 0x1
@@ -2257,6 +2258,7 @@ GLIBC_2.34 pthread_mutexattr_setrobust F
 GLIBC_2.34 pthread_mutexattr_settype F
 GLIBC_2.34 pthread_once F
 GLIBC_2.34 pthread_rwlock_clockrdlock F
+GLIBC_2.34 pthread_rwlock_clockwrlock F
 GLIBC_2.34 pthread_rwlock_rdlock F
 GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
index 24f02c4170..feaafc6ced 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
@@ -104,7 +104,6 @@ GLIBC_2.3.3 pthread_tryjoin_np F
 GLIBC_2.3.4 pthread_attr_getaffinity_np F
 GLIBC_2.3.4 pthread_setaffinity_np F
 GLIBC_2.3.4 pthread_setschedprio F
-GLIBC_2.30 pthread_rwlock_clockwrlock F
 GLIBC_2.30 sem_clockwait F
 GLIBC_2.31 pthread_clockjoin_np F
 GLIBC_2.4 __libpthread_version_placeholder F
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
index ba4e9497f7..3c16f8b783 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
@@ -2188,6 +2188,7 @@ GLIBC_2.30 gettid F
 GLIBC_2.30 pthread_cond_clockwait F
 GLIBC_2.30 pthread_mutex_clocklock F
 GLIBC_2.30 pthread_rwlock_clockrdlock F
+GLIBC_2.30 pthread_rwlock_clockwrlock F
 GLIBC_2.30 tgkill F
 GLIBC_2.30 twalk_r F
 GLIBC_2.32 __libc_single_threaded D 0x1
@@ -2255,6 +2256,7 @@ GLIBC_2.34 pthread_mutexattr_setrobust F
 GLIBC_2.34 pthread_mutexattr_settype F
 GLIBC_2.34 pthread_once F
 GLIBC_2.34 pthread_rwlock_clockrdlock F
+GLIBC_2.34 pthread_rwlock_clockwrlock F
 GLIBC_2.34 pthread_rwlock_rdlock F
 GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
index 24f02c4170..feaafc6ced 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
@@ -104,7 +104,6 @@ GLIBC_2.3.3 pthread_tryjoin_np F
 GLIBC_2.3.4 pthread_attr_getaffinity_np F
 GLIBC_2.3.4 pthread_setaffinity_np F
 GLIBC_2.3.4 pthread_setschedprio F
-GLIBC_2.30 pthread_rwlock_clockwrlock F
 GLIBC_2.30 sem_clockwait F
 GLIBC_2.31 pthread_clockjoin_np F
 GLIBC_2.4 __libpthread_version_placeholder F
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
index 4f4fb5265e..a7988b98a4 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
@@ -2196,6 +2196,7 @@ GLIBC_2.30 gettid F
 GLIBC_2.30 pthread_cond_clockwait F
 GLIBC_2.30 pthread_mutex_clocklock F
 GLIBC_2.30 pthread_rwlock_clockrdlock F
+GLIBC_2.30 pthread_rwlock_clockwrlock F
 GLIBC_2.30 tgkill F
 GLIBC_2.30 twalk_r F
 GLIBC_2.32 __libc_single_threaded D 0x1
@@ -2263,6 +2264,7 @@ GLIBC_2.34 pthread_mutexattr_setrobust F
 GLIBC_2.34 pthread_mutexattr_settype F
 GLIBC_2.34 pthread_once F
 GLIBC_2.34 pthread_rwlock_clockrdlock F
+GLIBC_2.34 pthread_rwlock_clockwrlock F
 GLIBC_2.34 pthread_rwlock_rdlock F
 GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
index b7e140bfef..e2e7b2851e 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
@@ -2190,6 +2190,7 @@ GLIBC_2.30 gettid F
 GLIBC_2.30 pthread_cond_clockwait F
 GLIBC_2.30 pthread_mutex_clocklock F
 GLIBC_2.30 pthread_rwlock_clockrdlock F
+GLIBC_2.30 pthread_rwlock_clockwrlock F
 GLIBC_2.30 tgkill F
 GLIBC_2.30 twalk_r F
 GLIBC_2.32 __libc_single_threaded D 0x1
@@ -2257,6 +2258,7 @@ GLIBC_2.34 pthread_mutexattr_setrobust F
 GLIBC_2.34 pthread_mutexattr_settype F
 GLIBC_2.34 pthread_once F
 GLIBC_2.34 pthread_rwlock_clockrdlock F
+GLIBC_2.34 pthread_rwlock_clockwrlock F
 GLIBC_2.34 pthread_rwlock_rdlock F
 GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
diff --git a/sysdeps/unix/sysv/linux/nios2/libc.abilist b/sysdeps/unix/sysv/linux/nios2/libc.abilist
index 5f9127b1ca..2cf690ec94 100644
--- a/sysdeps/unix/sysv/linux/nios2/libc.abilist
+++ b/sysdeps/unix/sysv/linux/nios2/libc.abilist
@@ -2246,6 +2246,7 @@ GLIBC_2.30 gettid F
 GLIBC_2.30 pthread_cond_clockwait F
 GLIBC_2.30 pthread_mutex_clocklock F
 GLIBC_2.30 pthread_rwlock_clockrdlock F
+GLIBC_2.30 pthread_rwlock_clockwrlock F
 GLIBC_2.30 tgkill F
 GLIBC_2.30 twalk_r F
 GLIBC_2.32 __libc_single_threaded D 0x1
@@ -2313,6 +2314,7 @@ GLIBC_2.34 pthread_mutexattr_setrobust F
 GLIBC_2.34 pthread_mutexattr_settype F
 GLIBC_2.34 pthread_once F
 GLIBC_2.34 pthread_rwlock_clockrdlock F
+GLIBC_2.34 pthread_rwlock_clockwrlock F
 GLIBC_2.34 pthread_rwlock_rdlock F
 GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
diff --git a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
index 8704868023..f3de0e4889 100644
--- a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
@@ -90,6 +90,5 @@ GLIBC_2.28 tss_create F
 GLIBC_2.28 tss_delete F
 GLIBC_2.28 tss_get F
 GLIBC_2.28 tss_set F
-GLIBC_2.30 pthread_rwlock_clockwrlock F
 GLIBC_2.30 sem_clockwait F
 GLIBC_2.31 pthread_clockjoin_np F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
index 7d04ea07c7..a131ac9364 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
@@ -2254,6 +2254,7 @@ GLIBC_2.30 gettid F
 GLIBC_2.30 pthread_cond_clockwait F
 GLIBC_2.30 pthread_mutex_clocklock F
 GLIBC_2.30 pthread_rwlock_clockrdlock F
+GLIBC_2.30 pthread_rwlock_clockwrlock F
 GLIBC_2.30 tgkill F
 GLIBC_2.30 twalk_r F
 GLIBC_2.32 __libc_single_threaded D 0x1
@@ -2321,6 +2322,7 @@ GLIBC_2.34 pthread_mutexattr_setrobust F
 GLIBC_2.34 pthread_mutexattr_settype F
 GLIBC_2.34 pthread_once F
 GLIBC_2.34 pthread_rwlock_clockrdlock F
+GLIBC_2.34 pthread_rwlock_clockwrlock F
 GLIBC_2.34 pthread_rwlock_rdlock F
 GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
index 08a1eb9cf6..6b276ca5d8 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
@@ -103,7 +103,6 @@ GLIBC_2.3.3 pthread_tryjoin_np F
 GLIBC_2.3.4 pthread_attr_getaffinity_np F
 GLIBC_2.3.4 pthread_setaffinity_np F
 GLIBC_2.3.4 pthread_setschedprio F
-GLIBC_2.30 pthread_rwlock_clockwrlock F
 GLIBC_2.30 sem_clockwait F
 GLIBC_2.31 pthread_clockjoin_np F
 GLIBC_2.4 __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 599790898c..060578f3e0 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
@@ -2287,6 +2287,7 @@ GLIBC_2.30 gettid F
 GLIBC_2.30 pthread_cond_clockwait F
 GLIBC_2.30 pthread_mutex_clocklock F
 GLIBC_2.30 pthread_rwlock_clockrdlock F
+GLIBC_2.30 pthread_rwlock_clockwrlock F
 GLIBC_2.30 tgkill F
 GLIBC_2.30 twalk_r F
 GLIBC_2.32 __libc_single_threaded D 0x1
@@ -2354,6 +2355,7 @@ GLIBC_2.34 pthread_mutexattr_setrobust F
 GLIBC_2.34 pthread_mutexattr_settype F
 GLIBC_2.34 pthread_once F
 GLIBC_2.34 pthread_rwlock_clockrdlock F
+GLIBC_2.34 pthread_rwlock_clockwrlock F
 GLIBC_2.34 pthread_rwlock_rdlock F
 GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
index 9c0219af57..fa035697a6 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
@@ -2108,6 +2108,7 @@ GLIBC_2.30 gettid F
 GLIBC_2.30 pthread_cond_clockwait F
 GLIBC_2.30 pthread_mutex_clocklock F
 GLIBC_2.30 pthread_rwlock_clockrdlock F
+GLIBC_2.30 pthread_rwlock_clockwrlock F
 GLIBC_2.30 tgkill F
 GLIBC_2.30 twalk_r F
 GLIBC_2.32 __libc_single_threaded D 0x1
@@ -2175,6 +2176,7 @@ GLIBC_2.34 pthread_mutexattr_setrobust F
 GLIBC_2.34 pthread_mutexattr_settype F
 GLIBC_2.34 pthread_once F
 GLIBC_2.34 pthread_rwlock_clockrdlock F
+GLIBC_2.34 pthread_rwlock_clockwrlock F
 GLIBC_2.34 pthread_rwlock_rdlock F
 GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
index 97679a7e75..dbe8b51aab 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
@@ -93,7 +93,6 @@ GLIBC_2.3.3 pthread_tryjoin_np F
 GLIBC_2.3.4 pthread_attr_getaffinity_np F
 GLIBC_2.3.4 pthread_setaffinity_np F
 GLIBC_2.3.4 pthread_setschedprio F
-GLIBC_2.30 pthread_rwlock_clockwrlock F
 GLIBC_2.30 sem_clockwait F
 GLIBC_2.31 pthread_clockjoin_np F
 GLIBC_2.4 __libpthread_version_placeholder F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
index dc3ec8c4eb..d6bc4e3862 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
@@ -2315,6 +2315,7 @@ GLIBC_2.30 gettid F
 GLIBC_2.30 pthread_cond_clockwait F
 GLIBC_2.30 pthread_mutex_clocklock F
 GLIBC_2.30 pthread_rwlock_clockrdlock F
+GLIBC_2.30 pthread_rwlock_clockwrlock F
 GLIBC_2.30 tgkill F
 GLIBC_2.30 twalk_r F
 GLIBC_2.32 __argp_errorieee128 F
@@ -2476,6 +2477,7 @@ GLIBC_2.34 pthread_mutexattr_setrobust F
 GLIBC_2.34 pthread_mutexattr_settype F
 GLIBC_2.34 pthread_once F
 GLIBC_2.34 pthread_rwlock_clockrdlock F
+GLIBC_2.34 pthread_rwlock_clockwrlock F
 GLIBC_2.34 pthread_rwlock_rdlock F
 GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
index a397e84b0c..dce7c78508 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
@@ -90,6 +90,5 @@ GLIBC_2.28 tss_create F
 GLIBC_2.28 tss_delete F
 GLIBC_2.28 tss_get F
 GLIBC_2.28 tss_set F
-GLIBC_2.30 pthread_rwlock_clockwrlock F
 GLIBC_2.30 sem_clockwait F
 GLIBC_2.31 pthread_clockjoin_np F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
index 7064b9adc2..8608f6bce3 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
@@ -1431,6 +1431,7 @@ GLIBC_2.33 pthread_mutexattr_setrobust_np F
 GLIBC_2.33 pthread_mutexattr_settype F
 GLIBC_2.33 pthread_once F
 GLIBC_2.33 pthread_rwlock_clockrdlock F
+GLIBC_2.33 pthread_rwlock_clockwrlock F
 GLIBC_2.33 pthread_rwlock_rdlock F
 GLIBC_2.33 pthread_rwlock_unlock F
 GLIBC_2.33 pthread_rwlock_wrlock F
@@ -2041,6 +2042,7 @@ GLIBC_2.34 pthread_mutexattr_setrobust F
 GLIBC_2.34 pthread_mutexattr_settype F
 GLIBC_2.34 pthread_once F
 GLIBC_2.34 pthread_rwlock_clockrdlock F
+GLIBC_2.34 pthread_rwlock_clockwrlock F
 GLIBC_2.34 pthread_rwlock_rdlock F
 GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
index 3564a9936d..67bde15c7f 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
@@ -51,7 +51,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_clockwrlock F
 GLIBC_2.33 pthread_rwlock_destroy F
 GLIBC_2.33 pthread_rwlock_init F
 GLIBC_2.33 pthread_rwlock_timedrdlock F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
index 0817432271..5dccf99f67 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
@@ -2174,6 +2174,7 @@ GLIBC_2.30 gettid F
 GLIBC_2.30 pthread_cond_clockwait F
 GLIBC_2.30 pthread_mutex_clocklock F
 GLIBC_2.30 pthread_rwlock_clockrdlock F
+GLIBC_2.30 pthread_rwlock_clockwrlock F
 GLIBC_2.30 tgkill F
 GLIBC_2.30 twalk_r F
 GLIBC_2.32 __libc_single_threaded D 0x1
@@ -2241,6 +2242,7 @@ GLIBC_2.34 pthread_mutexattr_setrobust F
 GLIBC_2.34 pthread_mutexattr_settype F
 GLIBC_2.34 pthread_once F
 GLIBC_2.34 pthread_rwlock_clockrdlock F
+GLIBC_2.34 pthread_rwlock_clockwrlock F
 GLIBC_2.34 pthread_rwlock_rdlock F
 GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
index 740afa164b..83d0cbfaa4 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
@@ -90,6 +90,5 @@ GLIBC_2.28 tss_create F
 GLIBC_2.28 tss_delete F
 GLIBC_2.28 tss_get F
 GLIBC_2.28 tss_set F
-GLIBC_2.30 pthread_rwlock_clockwrlock F
 GLIBC_2.30 sem_clockwait F
 GLIBC_2.31 pthread_clockjoin_np F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
index b7cd423a8b..abaa54cc17 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
@@ -2249,6 +2249,7 @@ GLIBC_2.30 gettid F
 GLIBC_2.30 pthread_cond_clockwait F
 GLIBC_2.30 pthread_mutex_clocklock F
 GLIBC_2.30 pthread_rwlock_clockrdlock F
+GLIBC_2.30 pthread_rwlock_clockwrlock F
 GLIBC_2.30 tgkill F
 GLIBC_2.30 twalk_r F
 GLIBC_2.31 msgctl F
@@ -2319,6 +2320,7 @@ GLIBC_2.34 pthread_mutexattr_setrobust F
 GLIBC_2.34 pthread_mutexattr_settype F
 GLIBC_2.34 pthread_once F
 GLIBC_2.34 pthread_rwlock_clockrdlock F
+GLIBC_2.34 pthread_rwlock_clockwrlock F
 GLIBC_2.34 pthread_rwlock_rdlock F
 GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
index 71adfe68d3..ec4a9d4211 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
@@ -104,7 +104,6 @@ GLIBC_2.3.3 pthread_tryjoin_np F
 GLIBC_2.3.4 pthread_attr_getaffinity_np F
 GLIBC_2.3.4 pthread_setaffinity_np F
 GLIBC_2.3.4 pthread_setschedprio F
-GLIBC_2.30 pthread_rwlock_clockwrlock F
 GLIBC_2.30 sem_clockwait F
 GLIBC_2.31 pthread_clockjoin_np F
 GLIBC_2.4 __libpthread_version_placeholder F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
index 0fe79b8479..3d67cffcea 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
@@ -2145,6 +2145,7 @@ GLIBC_2.30 gettid F
 GLIBC_2.30 pthread_cond_clockwait F
 GLIBC_2.30 pthread_mutex_clocklock F
 GLIBC_2.30 pthread_rwlock_clockrdlock F
+GLIBC_2.30 pthread_rwlock_clockwrlock F
 GLIBC_2.30 tgkill F
 GLIBC_2.30 twalk_r F
 GLIBC_2.32 __libc_single_threaded D 0x1
@@ -2212,6 +2213,7 @@ GLIBC_2.34 pthread_mutexattr_setrobust F
 GLIBC_2.34 pthread_mutexattr_settype F
 GLIBC_2.34 pthread_once F
 GLIBC_2.34 pthread_rwlock_clockrdlock F
+GLIBC_2.34 pthread_rwlock_clockwrlock F
 GLIBC_2.34 pthread_rwlock_rdlock F
 GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
index e80b1d31fa..295500e565 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
@@ -96,7 +96,6 @@ GLIBC_2.3.3 pthread_tryjoin_np F
 GLIBC_2.3.4 pthread_attr_getaffinity_np F
 GLIBC_2.3.4 pthread_setaffinity_np F
 GLIBC_2.3.4 pthread_setschedprio F
-GLIBC_2.30 pthread_rwlock_clockwrlock F
 GLIBC_2.30 sem_clockwait F
 GLIBC_2.31 pthread_clockjoin_np F
 GLIBC_2.4 __libpthread_version_placeholder F
diff --git a/sysdeps/unix/sysv/linux/sh/be/libc.abilist b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
index 730d4097da..4291e96d58 100644
--- a/sysdeps/unix/sysv/linux/sh/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
@@ -2111,6 +2111,7 @@ GLIBC_2.30 gettid F
 GLIBC_2.30 pthread_cond_clockwait F
 GLIBC_2.30 pthread_mutex_clocklock F
 GLIBC_2.30 pthread_rwlock_clockrdlock F
+GLIBC_2.30 pthread_rwlock_clockwrlock F
 GLIBC_2.30 tgkill F
 GLIBC_2.30 twalk_r F
 GLIBC_2.31 msgctl F
@@ -2181,6 +2182,7 @@ GLIBC_2.34 pthread_mutexattr_setrobust F
 GLIBC_2.34 pthread_mutexattr_settype F
 GLIBC_2.34 pthread_once F
 GLIBC_2.34 pthread_rwlock_clockrdlock F
+GLIBC_2.34 pthread_rwlock_clockwrlock F
 GLIBC_2.34 pthread_rwlock_rdlock F
 GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
diff --git a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
index 689a70cc5e..124ea6fd8e 100644
--- a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
@@ -95,7 +95,6 @@ GLIBC_2.3.3 pthread_tryjoin_np F
 GLIBC_2.3.4 pthread_attr_getaffinity_np F
 GLIBC_2.3.4 pthread_setaffinity_np F
 GLIBC_2.3.4 pthread_setschedprio F
-GLIBC_2.30 pthread_rwlock_clockwrlock F
 GLIBC_2.30 sem_clockwait F
 GLIBC_2.31 pthread_clockjoin_np F
 GLIBC_2.4 __libpthread_version_placeholder F
diff --git a/sysdeps/unix/sysv/linux/sh/le/libc.abilist b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
index 4f0bb0c8d0..58e70680f1 100644
--- a/sysdeps/unix/sysv/linux/sh/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
@@ -2111,6 +2111,7 @@ GLIBC_2.30 gettid F
 GLIBC_2.30 pthread_cond_clockwait F
 GLIBC_2.30 pthread_mutex_clocklock F
 GLIBC_2.30 pthread_rwlock_clockrdlock F
+GLIBC_2.30 pthread_rwlock_clockwrlock F
 GLIBC_2.30 tgkill F
 GLIBC_2.30 twalk_r F
 GLIBC_2.32 __libc_single_threaded D 0x1
@@ -2178,6 +2179,7 @@ GLIBC_2.34 pthread_mutexattr_setrobust F
 GLIBC_2.34 pthread_mutexattr_settype F
 GLIBC_2.34 pthread_once F
 GLIBC_2.34 pthread_rwlock_clockrdlock F
+GLIBC_2.34 pthread_rwlock_clockwrlock F
 GLIBC_2.34 pthread_rwlock_rdlock F
 GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
diff --git a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
index 689a70cc5e..124ea6fd8e 100644
--- a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
@@ -95,7 +95,6 @@ GLIBC_2.3.3 pthread_tryjoin_np F
 GLIBC_2.3.4 pthread_attr_getaffinity_np F
 GLIBC_2.3.4 pthread_setaffinity_np F
 GLIBC_2.3.4 pthread_setschedprio F
-GLIBC_2.30 pthread_rwlock_clockwrlock F
 GLIBC_2.30 sem_clockwait F
 GLIBC_2.31 pthread_clockjoin_np F
 GLIBC_2.4 __libpthread_version_placeholder F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
index 7b70261ad6..05e15f9429 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
@@ -2243,6 +2243,7 @@ GLIBC_2.30 gettid F
 GLIBC_2.30 pthread_cond_clockwait F
 GLIBC_2.30 pthread_mutex_clocklock F
 GLIBC_2.30 pthread_rwlock_clockrdlock F
+GLIBC_2.30 pthread_rwlock_clockwrlock F
 GLIBC_2.30 tgkill F
 GLIBC_2.30 twalk_r F
 GLIBC_2.32 __libc_single_threaded D 0x1
@@ -2310,6 +2311,7 @@ GLIBC_2.34 pthread_mutexattr_setrobust F
 GLIBC_2.34 pthread_mutexattr_settype F
 GLIBC_2.34 pthread_once F
 GLIBC_2.34 pthread_rwlock_clockrdlock F
+GLIBC_2.34 pthread_rwlock_clockwrlock F
 GLIBC_2.34 pthread_rwlock_rdlock F
 GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
index bdad9b18c1..9bbc315658 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
@@ -105,7 +105,6 @@ GLIBC_2.3.3 pthread_tryjoin_np F
 GLIBC_2.3.4 pthread_attr_getaffinity_np F
 GLIBC_2.3.4 pthread_setaffinity_np F
 GLIBC_2.3.4 pthread_setschedprio F
-GLIBC_2.30 pthread_rwlock_clockwrlock F
 GLIBC_2.30 sem_clockwait F
 GLIBC_2.31 pthread_clockjoin_np F
 GLIBC_2.4 __libpthread_version_placeholder F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
index 75197b2cee..4a28393b33 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
@@ -2162,6 +2162,7 @@ GLIBC_2.30 gettid F
 GLIBC_2.30 pthread_cond_clockwait F
 GLIBC_2.30 pthread_mutex_clocklock F
 GLIBC_2.30 pthread_rwlock_clockrdlock F
+GLIBC_2.30 pthread_rwlock_clockwrlock F
 GLIBC_2.30 tgkill F
 GLIBC_2.30 twalk_r F
 GLIBC_2.32 __libc_single_threaded D 0x1
@@ -2229,6 +2230,7 @@ GLIBC_2.34 pthread_mutexattr_setrobust F
 GLIBC_2.34 pthread_mutexattr_settype F
 GLIBC_2.34 pthread_once F
 GLIBC_2.34 pthread_rwlock_clockrdlock F
+GLIBC_2.34 pthread_rwlock_clockwrlock F
 GLIBC_2.34 pthread_rwlock_rdlock F
 GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
index d9af25de90..ad3d8c7fc3 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
@@ -97,7 +97,6 @@ GLIBC_2.3.3 pthread_tryjoin_np F
 GLIBC_2.3.4 pthread_attr_getaffinity_np F
 GLIBC_2.3.4 pthread_setaffinity_np F
 GLIBC_2.3.4 pthread_setschedprio F
-GLIBC_2.30 pthread_rwlock_clockwrlock F
 GLIBC_2.30 sem_clockwait F
 GLIBC_2.31 pthread_clockjoin_np F
 GLIBC_2.4 __libpthread_version_placeholder F
diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
index b04db27c56..3693688e5c 100644
--- a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
@@ -2121,6 +2121,7 @@ GLIBC_2.30 gettid F
 GLIBC_2.30 pthread_cond_clockwait F
 GLIBC_2.30 pthread_mutex_clocklock F
 GLIBC_2.30 pthread_rwlock_clockrdlock F
+GLIBC_2.30 pthread_rwlock_clockwrlock F
 GLIBC_2.30 tgkill F
 GLIBC_2.30 twalk_r F
 GLIBC_2.32 __libc_single_threaded D 0x1
@@ -2190,6 +2191,7 @@ GLIBC_2.34 pthread_mutexattr_setrobust F
 GLIBC_2.34 pthread_mutexattr_settype F
 GLIBC_2.34 pthread_once F
 GLIBC_2.34 pthread_rwlock_clockrdlock F
+GLIBC_2.34 pthread_rwlock_clockwrlock F
 GLIBC_2.34 pthread_rwlock_rdlock F
 GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
index b8005f1ec8..d74ddab526 100644
--- a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
@@ -94,7 +94,6 @@ GLIBC_2.3.3 pthread_tryjoin_np F
 GLIBC_2.3.4 pthread_attr_getaffinity_np F
 GLIBC_2.3.4 pthread_setaffinity_np F
 GLIBC_2.3.4 pthread_setschedprio F
-GLIBC_2.30 pthread_rwlock_clockwrlock F
 GLIBC_2.30 sem_clockwait F
 GLIBC_2.31 pthread_clockjoin_np F
 GLIBC_2.4 __libpthread_version_placeholder F
diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
index e20f48760f..2fdedeabd9 100644
--- a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
@@ -2226,6 +2226,7 @@ GLIBC_2.30 gettid F
 GLIBC_2.30 pthread_cond_clockwait F
 GLIBC_2.30 pthread_mutex_clocklock F
 GLIBC_2.30 pthread_rwlock_clockrdlock F
+GLIBC_2.30 pthread_rwlock_clockwrlock F
 GLIBC_2.30 tgkill F
 GLIBC_2.30 twalk_r F
 GLIBC_2.32 __libc_single_threaded D 0x1
@@ -2295,6 +2296,7 @@ GLIBC_2.34 pthread_mutexattr_setrobust F
 GLIBC_2.34 pthread_mutexattr_settype F
 GLIBC_2.34 pthread_once F
 GLIBC_2.34 pthread_rwlock_clockrdlock F
+GLIBC_2.34 pthread_rwlock_clockwrlock F
 GLIBC_2.34 pthread_rwlock_rdlock F
 GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
index 0dbe25b684..5c80afcee2 100644
--- a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
@@ -90,6 +90,5 @@ GLIBC_2.28 tss_create F
 GLIBC_2.28 tss_delete F
 GLIBC_2.28 tss_get F
 GLIBC_2.28 tss_set F
-GLIBC_2.30 pthread_rwlock_clockwrlock F
 GLIBC_2.30 sem_clockwait F
 GLIBC_2.31 pthread_clockjoin_np F
-- 
2.30.2



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

* [PATCH 03/14] nptl: Move pthread_rwlock_destroy into libc
  2021-04-23 17:36 [PATCH 00/14] nptl: Move remaining rwlock functions into libc Florian Weimer via Libc-alpha
  2021-04-23 17:36 ` [PATCH 01/14] nptl: Move pthread_rwlock_clockrdlock " Florian Weimer via Libc-alpha
  2021-04-23 17:37 ` [PATCH 02/14] nptl: Move pthread_rwlock_clockwrlock " Florian Weimer via Libc-alpha
@ 2021-04-23 17:37 ` Florian Weimer via Libc-alpha
  2021-05-02 19:34   ` Carlos O'Donell via Libc-alpha
  2021-04-23 17:37 ` [PATCH 04/14] nptl: Move pthread_rwlock_init " Florian Weimer via Libc-alpha
                   ` (11 subsequent siblings)
  14 siblings, 1 reply; 30+ messages in thread
From: Florian Weimer via Libc-alpha @ 2021-04-23 17:37 UTC (permalink / raw)
  To: libc-alpha

And __pthread_rwlock_destroy as a compatibility symbol.

rwlocks do not need finalization, so change __libc_rwlock_fini to do
nothing.

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

diff --git a/nptl/Makefile b/nptl/Makefile
index 556a0720cb..37c6513f68 100644
--- a/nptl/Makefile
+++ b/nptl/Makefile
@@ -122,6 +122,7 @@ routines = \
   pthread_once \
   pthread_rwlock_clockrdlock \
   pthread_rwlock_clockwrlock \
+  pthread_rwlock_destroy \
   pthread_rwlock_rdlock \
   pthread_rwlock_unlock \
   pthread_rwlock_wrlock \
@@ -180,7 +181,6 @@ libpthread-routines = \
   pthread_getname \
   pthread_join \
   pthread_join_common \
-  pthread_rwlock_destroy \
   pthread_rwlock_init \
   pthread_rwlock_timedrdlock \
   pthread_rwlock_timedwrlock \
diff --git a/nptl/Versions b/nptl/Versions
index 3d092bdcf5..9232a19227 100644
--- a/nptl/Versions
+++ b/nptl/Versions
@@ -66,11 +66,13 @@ libc {
     pthread_attr_init;
     pthread_mutexattr_gettype;
     pthread_mutexattr_settype;
+    pthread_rwlock_destroy;
     pthread_rwlock_rdlock;
     pthread_rwlock_unlock;
     pthread_rwlock_wrlock;
   }
   GLIBC_2.2 {
+    __pthread_rwlock_destroy;
     __pthread_rwlock_rdlock;
     __pthread_rwlock_unlock;
     __pthread_rwlock_wrlock;
@@ -184,6 +186,7 @@ libc {
     pthread_once;
     pthread_rwlock_clockrdlock;
     pthread_rwlock_clockwrlock;
+    pthread_rwlock_destroy;
     pthread_rwlock_rdlock;
     pthread_rwlock_unlock;
     pthread_rwlock_wrlock;
@@ -277,7 +280,6 @@ libpthread {
     pthread_attr_setstacksize;
     pthread_create;
     pthread_getconcurrency;
-    pthread_rwlock_destroy;
     pthread_rwlock_init;
     pthread_rwlock_tryrdlock;
     pthread_rwlock_trywrlock;
@@ -307,7 +309,6 @@ libpthread {
   }
 
   GLIBC_2.2 {
-    __pthread_rwlock_destroy;
     __pthread_rwlock_init;
     __pthread_rwlock_tryrdlock;
     __pthread_rwlock_trywrlock;
diff --git a/nptl/pthread_rwlock_destroy.c b/nptl/pthread_rwlock_destroy.c
index 27725697f7..ebedf298b9 100644
--- a/nptl/pthread_rwlock_destroy.c
+++ b/nptl/pthread_rwlock_destroy.c
@@ -18,14 +18,24 @@
 
 #include "pthreadP.h"
 #include <stap-probe.h>
-
+#include <shlib-compat.h>
 
 int
-__pthread_rwlock_destroy (pthread_rwlock_t *rwlock)
+___pthread_rwlock_destroy (pthread_rwlock_t *rwlock)
 {
   LIBC_PROBE (rwlock_destroy, 1, rwlock);
 
   /* Nothing to be done.  For now.  */
   return 0;
 }
-strong_alias (__pthread_rwlock_destroy, pthread_rwlock_destroy)
+versioned_symbol (libc, ___pthread_rwlock_destroy, pthread_rwlock_destroy,
+                  GLIBC_2_34);
+
+#if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_1, GLIBC_2_34)
+compat_symbol (libpthread, ___pthread_rwlock_destroy, pthread_rwlock_destroy,
+               GLIBC_2_1);
+#endif
+#if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_2, GLIBC_2_34)
+compat_symbol (libpthread, ___pthread_rwlock_destroy, __pthread_rwlock_destroy,
+               GLIBC_2_2);
+#endif
diff --git a/sysdeps/nptl/libc-lockP.h b/sysdeps/nptl/libc-lockP.h
index e573689799..07ead8fb9f 100644
--- a/sysdeps/nptl/libc-lockP.h
+++ b/sysdeps/nptl/libc-lockP.h
@@ -131,12 +131,7 @@ _Static_assert (LLL_LOCK_INITIALIZER == 0, "LLL_LOCK_INITIALIZER != 0");
 #else
 # define __libc_lock_fini(NAME) __pthread_mutex_destroy (&(NAME))
 #endif
-#if defined SHARED && IS_IN (libc)
-# define __libc_rwlock_fini(NAME) ((void) 0)
-#else
-# define __libc_rwlock_fini(NAME) \
-  __libc_maybe_call (__pthread_rwlock_destroy, (&(NAME)), 0)
-#endif
+#define __libc_rwlock_fini(NAME) ((void) 0)
 
 /* Lock the named lock variable.  */
 #if IS_IN (libc) || IS_IN (libpthread)
@@ -305,7 +300,6 @@ weak_extern (__pthread_mutexattr_init)
 weak_extern (__pthread_mutexattr_destroy)
 weak_extern (__pthread_mutexattr_settype)
 weak_extern (__pthread_rwlock_init)
-weak_extern (__pthread_rwlock_destroy)
 weak_extern (__pthread_rwlock_tryrdlock)
 weak_extern (__pthread_rwlock_trywrlock)
 weak_extern (__pthread_initialize)
@@ -315,7 +309,6 @@ weak_extern (__pthread_atfork)
 #  pragma weak __pthread_mutexattr_init
 #  pragma weak __pthread_mutexattr_destroy
 #  pragma weak __pthread_mutexattr_settype
-#  pragma weak __pthread_rwlock_destroy
 #  pragma weak __pthread_rwlock_tryrdlock
 #  pragma weak __pthread_rwlock_trywrlock
 #  pragma weak __pthread_initialize
diff --git a/sysdeps/unix/sysv/linux/aarch64/libc.abilist b/sysdeps/unix/sysv/linux/aarch64/libc.abilist
index 61124dfcce..8e7de61692 100644
--- a/sysdeps/unix/sysv/linux/aarch64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/aarch64/libc.abilist
@@ -350,6 +350,7 @@ GLIBC_2.17 __pthread_mutexattr_destroy F
 GLIBC_2.17 __pthread_mutexattr_init F
 GLIBC_2.17 __pthread_mutexattr_settype F
 GLIBC_2.17 __pthread_once F
+GLIBC_2.17 __pthread_rwlock_destroy F
 GLIBC_2.17 __pthread_rwlock_rdlock F
 GLIBC_2.17 __pthread_rwlock_unlock F
 GLIBC_2.17 __pthread_rwlock_wrlock F
@@ -1500,6 +1501,7 @@ GLIBC_2.17 pthread_mutexattr_setrobust F
 GLIBC_2.17 pthread_mutexattr_setrobust_np F
 GLIBC_2.17 pthread_mutexattr_settype F
 GLIBC_2.17 pthread_once F
+GLIBC_2.17 pthread_rwlock_destroy F
 GLIBC_2.17 pthread_rwlock_rdlock F
 GLIBC_2.17 pthread_rwlock_unlock F
 GLIBC_2.17 pthread_rwlock_wrlock F
@@ -2282,6 +2284,7 @@ GLIBC_2.34 pthread_mutexattr_settype F
 GLIBC_2.34 pthread_once F
 GLIBC_2.34 pthread_rwlock_clockrdlock F
 GLIBC_2.34 pthread_rwlock_clockwrlock F
+GLIBC_2.34 pthread_rwlock_destroy F
 GLIBC_2.34 pthread_rwlock_rdlock F
 GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
diff --git a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
index dce7c78508..ebdbdfa867 100644
--- a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
@@ -4,7 +4,6 @@ GLIBC_2.17 _IO_funlockfile F
 GLIBC_2.17 __errno_location F
 GLIBC_2.17 __pthread_register_cancel F
 GLIBC_2.17 __pthread_register_cancel_defer F
-GLIBC_2.17 __pthread_rwlock_destroy F
 GLIBC_2.17 __pthread_rwlock_init F
 GLIBC_2.17 __pthread_rwlock_tryrdlock F
 GLIBC_2.17 __pthread_rwlock_trywrlock F
@@ -36,7 +35,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_destroy F
 GLIBC_2.17 pthread_rwlock_init F
 GLIBC_2.17 pthread_rwlock_timedrdlock F
 GLIBC_2.17 pthread_rwlock_timedwrlock F
diff --git a/sysdeps/unix/sysv/linux/alpha/libc.abilist b/sysdeps/unix/sysv/linux/alpha/libc.abilist
index be5ec9cd87..396c786557 100644
--- a/sysdeps/unix/sysv/linux/alpha/libc.abilist
+++ b/sysdeps/unix/sysv/linux/alpha/libc.abilist
@@ -1606,6 +1606,7 @@ GLIBC_2.1 printf_size_info F
 GLIBC_2.1 pthread_attr_init F
 GLIBC_2.1 pthread_mutexattr_gettype F
 GLIBC_2.1 pthread_mutexattr_settype F
+GLIBC_2.1 pthread_rwlock_destroy F
 GLIBC_2.1 pthread_rwlock_rdlock F
 GLIBC_2.1 pthread_rwlock_unlock F
 GLIBC_2.1 pthread_rwlock_wrlock F
@@ -1885,6 +1886,7 @@ GLIBC_2.2 __getmntent_r F
 GLIBC_2.2 __nl_langinfo_l F
 GLIBC_2.2 __open64 F
 GLIBC_2.2 __pread64 F
+GLIBC_2.2 __pthread_rwlock_destroy F
 GLIBC_2.2 __pthread_rwlock_rdlock F
 GLIBC_2.2 __pthread_rwlock_unlock F
 GLIBC_2.2 __pthread_rwlock_wrlock F
@@ -2363,6 +2365,7 @@ GLIBC_2.34 pthread_mutexattr_settype F
 GLIBC_2.34 pthread_once F
 GLIBC_2.34 pthread_rwlock_clockrdlock F
 GLIBC_2.34 pthread_rwlock_clockwrlock F
+GLIBC_2.34 pthread_rwlock_destroy F
 GLIBC_2.34 pthread_rwlock_rdlock F
 GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
diff --git a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
index 9bbc315658..b80868c5da 100644
--- a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
@@ -24,7 +24,6 @@ GLIBC_2.1 pthread_attr_setstackaddr F
 GLIBC_2.1 pthread_attr_setstacksize F
 GLIBC_2.1 pthread_create F
 GLIBC_2.1 pthread_getconcurrency F
-GLIBC_2.1 pthread_rwlock_destroy F
 GLIBC_2.1 pthread_rwlock_init F
 GLIBC_2.1 pthread_rwlock_tryrdlock F
 GLIBC_2.1 pthread_rwlock_trywrlock F
@@ -50,7 +49,6 @@ GLIBC_2.12 pthread_getname_np F
 GLIBC_2.12 pthread_setname_np F
 GLIBC_2.18 pthread_getattr_default_np F
 GLIBC_2.18 pthread_setattr_default_np F
-GLIBC_2.2 __pthread_rwlock_destroy F
 GLIBC_2.2 __pthread_rwlock_init F
 GLIBC_2.2 __pthread_rwlock_tryrdlock F
 GLIBC_2.2 __pthread_rwlock_trywrlock F
diff --git a/sysdeps/unix/sysv/linux/arc/libc.abilist b/sysdeps/unix/sysv/linux/arc/libc.abilist
index 6f62c5b62d..832ac4e217 100644
--- a/sysdeps/unix/sysv/linux/arc/libc.abilist
+++ b/sysdeps/unix/sysv/linux/arc/libc.abilist
@@ -339,6 +339,7 @@ GLIBC_2.32 __pthread_mutexattr_destroy F
 GLIBC_2.32 __pthread_mutexattr_init F
 GLIBC_2.32 __pthread_mutexattr_settype F
 GLIBC_2.32 __pthread_once F
+GLIBC_2.32 __pthread_rwlock_destroy F
 GLIBC_2.32 __pthread_rwlock_rdlock F
 GLIBC_2.32 __pthread_rwlock_unlock F
 GLIBC_2.32 __pthread_rwlock_wrlock F
@@ -1430,6 +1431,7 @@ GLIBC_2.32 pthread_mutexattr_settype F
 GLIBC_2.32 pthread_once F
 GLIBC_2.32 pthread_rwlock_clockrdlock F
 GLIBC_2.32 pthread_rwlock_clockwrlock F
+GLIBC_2.32 pthread_rwlock_destroy F
 GLIBC_2.32 pthread_rwlock_rdlock F
 GLIBC_2.32 pthread_rwlock_unlock F
 GLIBC_2.32 pthread_rwlock_wrlock F
@@ -2041,6 +2043,7 @@ GLIBC_2.34 pthread_mutexattr_settype F
 GLIBC_2.34 pthread_once F
 GLIBC_2.34 pthread_rwlock_clockrdlock F
 GLIBC_2.34 pthread_rwlock_clockwrlock F
+GLIBC_2.34 pthread_rwlock_destroy F
 GLIBC_2.34 pthread_rwlock_rdlock F
 GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
diff --git a/sysdeps/unix/sysv/linux/arc/libpthread.abilist b/sysdeps/unix/sysv/linux/arc/libpthread.abilist
index 7e336f8242..0d819a63b1 100644
--- a/sysdeps/unix/sysv/linux/arc/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/arc/libpthread.abilist
@@ -4,7 +4,6 @@ GLIBC_2.32 _IO_funlockfile F
 GLIBC_2.32 __errno_location F
 GLIBC_2.32 __pthread_register_cancel F
 GLIBC_2.32 __pthread_register_cancel_defer F
-GLIBC_2.32 __pthread_rwlock_destroy F
 GLIBC_2.32 __pthread_rwlock_init F
 GLIBC_2.32 __pthread_rwlock_tryrdlock F
 GLIBC_2.32 __pthread_rwlock_trywrlock F
@@ -51,7 +50,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_destroy F
 GLIBC_2.32 pthread_rwlock_init F
 GLIBC_2.32 pthread_rwlock_timedrdlock F
 GLIBC_2.32 pthread_rwlock_timedwrlock F
diff --git a/sysdeps/unix/sysv/linux/arm/be/libc.abilist b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
index 9310982698..dcba73cb45 100644
--- a/sysdeps/unix/sysv/linux/arm/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
@@ -206,6 +206,7 @@ GLIBC_2.34 pthread_mutexattr_settype F
 GLIBC_2.34 pthread_once F
 GLIBC_2.34 pthread_rwlock_clockrdlock F
 GLIBC_2.34 pthread_rwlock_clockwrlock F
+GLIBC_2.34 pthread_rwlock_destroy F
 GLIBC_2.34 pthread_rwlock_rdlock F
 GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
@@ -554,6 +555,7 @@ GLIBC_2.4 __pthread_mutexattr_destroy F
 GLIBC_2.4 __pthread_mutexattr_init F
 GLIBC_2.4 __pthread_mutexattr_settype F
 GLIBC_2.4 __pthread_once F
+GLIBC_2.4 __pthread_rwlock_destroy F
 GLIBC_2.4 __pthread_rwlock_rdlock F
 GLIBC_2.4 __pthread_rwlock_unlock F
 GLIBC_2.4 __pthread_rwlock_wrlock F
@@ -1648,6 +1650,7 @@ GLIBC_2.4 pthread_mutexattr_setpshared F
 GLIBC_2.4 pthread_mutexattr_setrobust_np F
 GLIBC_2.4 pthread_mutexattr_settype F
 GLIBC_2.4 pthread_once F
+GLIBC_2.4 pthread_rwlock_destroy F
 GLIBC_2.4 pthread_rwlock_rdlock F
 GLIBC_2.4 pthread_rwlock_unlock F
 GLIBC_2.4 pthread_rwlock_wrlock F
diff --git a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
index 6d01194e39..85d9816c4e 100644
--- a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
@@ -33,7 +33,6 @@ GLIBC_2.4 __errno_location F
 GLIBC_2.4 __libpthread_version_placeholder F
 GLIBC_2.4 __pthread_register_cancel F
 GLIBC_2.4 __pthread_register_cancel_defer F
-GLIBC_2.4 __pthread_rwlock_destroy F
 GLIBC_2.4 __pthread_rwlock_init F
 GLIBC_2.4 __pthread_rwlock_tryrdlock F
 GLIBC_2.4 __pthread_rwlock_trywrlock F
@@ -64,7 +63,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_destroy F
 GLIBC_2.4 pthread_rwlock_init F
 GLIBC_2.4 pthread_rwlock_timedrdlock F
 GLIBC_2.4 pthread_rwlock_timedwrlock F
diff --git a/sysdeps/unix/sysv/linux/arm/le/libc.abilist b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
index 8fa52e60f5..d401b85fc9 100644
--- a/sysdeps/unix/sysv/linux/arm/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
@@ -203,6 +203,7 @@ GLIBC_2.34 pthread_mutexattr_settype F
 GLIBC_2.34 pthread_once F
 GLIBC_2.34 pthread_rwlock_clockrdlock F
 GLIBC_2.34 pthread_rwlock_clockwrlock F
+GLIBC_2.34 pthread_rwlock_destroy F
 GLIBC_2.34 pthread_rwlock_rdlock F
 GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
@@ -551,6 +552,7 @@ GLIBC_2.4 __pthread_mutexattr_destroy F
 GLIBC_2.4 __pthread_mutexattr_init F
 GLIBC_2.4 __pthread_mutexattr_settype F
 GLIBC_2.4 __pthread_once F
+GLIBC_2.4 __pthread_rwlock_destroy F
 GLIBC_2.4 __pthread_rwlock_rdlock F
 GLIBC_2.4 __pthread_rwlock_unlock F
 GLIBC_2.4 __pthread_rwlock_wrlock F
@@ -1645,6 +1647,7 @@ GLIBC_2.4 pthread_mutexattr_setpshared F
 GLIBC_2.4 pthread_mutexattr_setrobust_np F
 GLIBC_2.4 pthread_mutexattr_settype F
 GLIBC_2.4 pthread_once F
+GLIBC_2.4 pthread_rwlock_destroy F
 GLIBC_2.4 pthread_rwlock_rdlock F
 GLIBC_2.4 pthread_rwlock_unlock F
 GLIBC_2.4 pthread_rwlock_wrlock F
diff --git a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
index 6d01194e39..85d9816c4e 100644
--- a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
@@ -33,7 +33,6 @@ GLIBC_2.4 __errno_location F
 GLIBC_2.4 __libpthread_version_placeholder F
 GLIBC_2.4 __pthread_register_cancel F
 GLIBC_2.4 __pthread_register_cancel_defer F
-GLIBC_2.4 __pthread_rwlock_destroy F
 GLIBC_2.4 __pthread_rwlock_init F
 GLIBC_2.4 __pthread_rwlock_tryrdlock F
 GLIBC_2.4 __pthread_rwlock_trywrlock F
@@ -64,7 +63,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_destroy F
 GLIBC_2.4 pthread_rwlock_init F
 GLIBC_2.4 pthread_rwlock_timedrdlock F
 GLIBC_2.4 pthread_rwlock_timedwrlock F
diff --git a/sysdeps/unix/sysv/linux/csky/libc.abilist b/sysdeps/unix/sysv/linux/csky/libc.abilist
index 8ef5e0d0e2..a99d18b478 100644
--- a/sysdeps/unix/sysv/linux/csky/libc.abilist
+++ b/sysdeps/unix/sysv/linux/csky/libc.abilist
@@ -343,6 +343,7 @@ GLIBC_2.29 __pthread_mutexattr_destroy F
 GLIBC_2.29 __pthread_mutexattr_init F
 GLIBC_2.29 __pthread_mutexattr_settype F
 GLIBC_2.29 __pthread_once F
+GLIBC_2.29 __pthread_rwlock_destroy F
 GLIBC_2.29 __pthread_rwlock_rdlock F
 GLIBC_2.29 __pthread_rwlock_unlock F
 GLIBC_2.29 __pthread_rwlock_wrlock F
@@ -1487,6 +1488,7 @@ GLIBC_2.29 pthread_mutexattr_setrobust F
 GLIBC_2.29 pthread_mutexattr_setrobust_np F
 GLIBC_2.29 pthread_mutexattr_settype F
 GLIBC_2.29 pthread_once F
+GLIBC_2.29 pthread_rwlock_destroy F
 GLIBC_2.29 pthread_rwlock_rdlock F
 GLIBC_2.29 pthread_rwlock_unlock F
 GLIBC_2.29 pthread_rwlock_wrlock F
@@ -2225,6 +2227,7 @@ GLIBC_2.34 pthread_mutexattr_settype F
 GLIBC_2.34 pthread_once F
 GLIBC_2.34 pthread_rwlock_clockrdlock F
 GLIBC_2.34 pthread_rwlock_clockwrlock F
+GLIBC_2.34 pthread_rwlock_destroy F
 GLIBC_2.34 pthread_rwlock_rdlock F
 GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
diff --git a/sysdeps/unix/sysv/linux/csky/libpthread.abilist b/sysdeps/unix/sysv/linux/csky/libpthread.abilist
index 3cefbb7fdb..21d9318f9a 100644
--- a/sysdeps/unix/sysv/linux/csky/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/csky/libpthread.abilist
@@ -4,7 +4,6 @@ GLIBC_2.29 _IO_funlockfile F
 GLIBC_2.29 __errno_location F
 GLIBC_2.29 __pthread_register_cancel F
 GLIBC_2.29 __pthread_register_cancel_defer F
-GLIBC_2.29 __pthread_rwlock_destroy F
 GLIBC_2.29 __pthread_rwlock_init F
 GLIBC_2.29 __pthread_rwlock_tryrdlock F
 GLIBC_2.29 __pthread_rwlock_trywrlock F
@@ -50,7 +49,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_destroy F
 GLIBC_2.29 pthread_rwlock_init F
 GLIBC_2.29 pthread_rwlock_timedrdlock F
 GLIBC_2.29 pthread_rwlock_timedwrlock F
diff --git a/sysdeps/unix/sysv/linux/hppa/libc.abilist b/sysdeps/unix/sysv/linux/hppa/libc.abilist
index b7613795c8..7d0c716a6d 100644
--- a/sysdeps/unix/sysv/linux/hppa/libc.abilist
+++ b/sysdeps/unix/sysv/linux/hppa/libc.abilist
@@ -369,6 +369,7 @@ GLIBC_2.2 __pthread_mutexattr_destroy F
 GLIBC_2.2 __pthread_mutexattr_init F
 GLIBC_2.2 __pthread_mutexattr_settype F
 GLIBC_2.2 __pthread_once F
+GLIBC_2.2 __pthread_rwlock_destroy F
 GLIBC_2.2 __pthread_rwlock_rdlock F
 GLIBC_2.2 __pthread_rwlock_unlock F
 GLIBC_2.2 __pthread_rwlock_wrlock F
@@ -1311,6 +1312,7 @@ GLIBC_2.2 pthread_mutexattr_setkind_np F
 GLIBC_2.2 pthread_mutexattr_setpshared F
 GLIBC_2.2 pthread_mutexattr_settype F
 GLIBC_2.2 pthread_once F
+GLIBC_2.2 pthread_rwlock_destroy F
 GLIBC_2.2 pthread_rwlock_rdlock F
 GLIBC_2.2 pthread_rwlock_unlock F
 GLIBC_2.2 pthread_rwlock_wrlock F
@@ -2176,6 +2178,7 @@ GLIBC_2.34 pthread_mutexattr_settype F
 GLIBC_2.34 pthread_once F
 GLIBC_2.34 pthread_rwlock_clockrdlock F
 GLIBC_2.34 pthread_rwlock_clockwrlock F
+GLIBC_2.34 pthread_rwlock_destroy F
 GLIBC_2.34 pthread_rwlock_rdlock F
 GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
diff --git a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
index 124ea6fd8e..82bc0321f5 100644
--- a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
@@ -7,7 +7,6 @@ GLIBC_2.2 _IO_flockfile F
 GLIBC_2.2 _IO_ftrylockfile F
 GLIBC_2.2 _IO_funlockfile F
 GLIBC_2.2 __errno_location F
-GLIBC_2.2 __pthread_rwlock_destroy F
 GLIBC_2.2 __pthread_rwlock_init F
 GLIBC_2.2 __pthread_rwlock_tryrdlock F
 GLIBC_2.2 __pthread_rwlock_trywrlock F
@@ -34,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_destroy F
 GLIBC_2.2 pthread_rwlock_init F
 GLIBC_2.2 pthread_rwlock_timedrdlock F
 GLIBC_2.2 pthread_rwlock_timedwrlock F
diff --git a/sysdeps/unix/sysv/linux/i386/libc.abilist b/sysdeps/unix/sysv/linux/i386/libc.abilist
index 6403969f65..906baf44bf 100644
--- a/sysdeps/unix/sysv/linux/i386/libc.abilist
+++ b/sysdeps/unix/sysv/linux/i386/libc.abilist
@@ -1574,6 +1574,7 @@ GLIBC_2.1 printf_size_info F
 GLIBC_2.1 pthread_attr_init F
 GLIBC_2.1 pthread_mutexattr_gettype F
 GLIBC_2.1 pthread_mutexattr_settype F
+GLIBC_2.1 pthread_rwlock_destroy F
 GLIBC_2.1 pthread_rwlock_rdlock F
 GLIBC_2.1 pthread_rwlock_unlock F
 GLIBC_2.1 pthread_rwlock_wrlock F
@@ -1889,6 +1890,7 @@ GLIBC_2.2 __lxstat64 F
 GLIBC_2.2 __nl_langinfo_l F
 GLIBC_2.2 __open64 F
 GLIBC_2.2 __pread64 F
+GLIBC_2.2 __pthread_rwlock_destroy F
 GLIBC_2.2 __pthread_rwlock_rdlock F
 GLIBC_2.2 __pthread_rwlock_unlock F
 GLIBC_2.2 __pthread_rwlock_wrlock F
@@ -2353,6 +2355,7 @@ GLIBC_2.34 pthread_mutexattr_settype F
 GLIBC_2.34 pthread_once F
 GLIBC_2.34 pthread_rwlock_clockrdlock F
 GLIBC_2.34 pthread_rwlock_clockwrlock F
+GLIBC_2.34 pthread_rwlock_destroy F
 GLIBC_2.34 pthread_rwlock_rdlock F
 GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
diff --git a/sysdeps/unix/sysv/linux/i386/libpthread.abilist b/sysdeps/unix/sysv/linux/i386/libpthread.abilist
index 54aee29fdc..ad2e81096d 100644
--- a/sysdeps/unix/sysv/linux/i386/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/i386/libpthread.abilist
@@ -24,7 +24,6 @@ GLIBC_2.1 pthread_attr_setstackaddr F
 GLIBC_2.1 pthread_attr_setstacksize F
 GLIBC_2.1 pthread_create F
 GLIBC_2.1 pthread_getconcurrency F
-GLIBC_2.1 pthread_rwlock_destroy F
 GLIBC_2.1 pthread_rwlock_init F
 GLIBC_2.1 pthread_rwlock_tryrdlock F
 GLIBC_2.1 pthread_rwlock_trywrlock F
@@ -50,7 +49,6 @@ GLIBC_2.12 pthread_getname_np F
 GLIBC_2.12 pthread_setname_np F
 GLIBC_2.18 pthread_getattr_default_np F
 GLIBC_2.18 pthread_setattr_default_np F
-GLIBC_2.2 __pthread_rwlock_destroy F
 GLIBC_2.2 __pthread_rwlock_init F
 GLIBC_2.2 __pthread_rwlock_tryrdlock F
 GLIBC_2.2 __pthread_rwlock_trywrlock F
diff --git a/sysdeps/unix/sysv/linux/ia64/libc.abilist b/sysdeps/unix/sysv/linux/ia64/libc.abilist
index 9faf458393..f92ae402f9 100644
--- a/sysdeps/unix/sysv/linux/ia64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/ia64/libc.abilist
@@ -373,6 +373,7 @@ GLIBC_2.2 __pthread_mutexattr_destroy F
 GLIBC_2.2 __pthread_mutexattr_init F
 GLIBC_2.2 __pthread_mutexattr_settype F
 GLIBC_2.2 __pthread_once F
+GLIBC_2.2 __pthread_rwlock_destroy F
 GLIBC_2.2 __pthread_rwlock_rdlock F
 GLIBC_2.2 __pthread_rwlock_unlock F
 GLIBC_2.2 __pthread_rwlock_wrlock F
@@ -1332,6 +1333,7 @@ GLIBC_2.2 pthread_mutexattr_setkind_np F
 GLIBC_2.2 pthread_mutexattr_setpshared F
 GLIBC_2.2 pthread_mutexattr_settype F
 GLIBC_2.2 pthread_once F
+GLIBC_2.2 pthread_rwlock_destroy F
 GLIBC_2.2 pthread_rwlock_rdlock F
 GLIBC_2.2 pthread_rwlock_unlock F
 GLIBC_2.2 pthread_rwlock_wrlock F
@@ -2210,6 +2212,7 @@ GLIBC_2.34 pthread_mutexattr_settype F
 GLIBC_2.34 pthread_once F
 GLIBC_2.34 pthread_rwlock_clockrdlock F
 GLIBC_2.34 pthread_rwlock_clockwrlock F
+GLIBC_2.34 pthread_rwlock_destroy F
 GLIBC_2.34 pthread_rwlock_rdlock F
 GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
diff --git a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
index ad3d8c7fc3..6d11adb7da 100644
--- a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
@@ -7,7 +7,6 @@ GLIBC_2.2 _IO_flockfile F
 GLIBC_2.2 _IO_ftrylockfile F
 GLIBC_2.2 _IO_funlockfile F
 GLIBC_2.2 __errno_location F
-GLIBC_2.2 __pthread_rwlock_destroy F
 GLIBC_2.2 __pthread_rwlock_init F
 GLIBC_2.2 __pthread_rwlock_tryrdlock F
 GLIBC_2.2 __pthread_rwlock_trywrlock F
@@ -34,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_destroy F
 GLIBC_2.2 pthread_rwlock_init F
 GLIBC_2.2 pthread_rwlock_timedrdlock F
 GLIBC_2.2 pthread_rwlock_timedwrlock F
diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
index 0063f78a4f..cb6bd2ec33 100644
--- a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
@@ -207,6 +207,7 @@ GLIBC_2.34 pthread_mutexattr_settype F
 GLIBC_2.34 pthread_once F
 GLIBC_2.34 pthread_rwlock_clockrdlock F
 GLIBC_2.34 pthread_rwlock_clockwrlock F
+GLIBC_2.34 pthread_rwlock_destroy F
 GLIBC_2.34 pthread_rwlock_rdlock F
 GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
@@ -540,6 +541,7 @@ GLIBC_2.4 __pthread_mutexattr_destroy F
 GLIBC_2.4 __pthread_mutexattr_init F
 GLIBC_2.4 __pthread_mutexattr_settype F
 GLIBC_2.4 __pthread_once F
+GLIBC_2.4 __pthread_rwlock_destroy F
 GLIBC_2.4 __pthread_rwlock_rdlock F
 GLIBC_2.4 __pthread_rwlock_unlock F
 GLIBC_2.4 __pthread_rwlock_wrlock F
@@ -1628,6 +1630,7 @@ GLIBC_2.4 pthread_mutexattr_setpshared F
 GLIBC_2.4 pthread_mutexattr_setrobust_np F
 GLIBC_2.4 pthread_mutexattr_settype F
 GLIBC_2.4 pthread_once F
+GLIBC_2.4 pthread_rwlock_destroy F
 GLIBC_2.4 pthread_rwlock_rdlock F
 GLIBC_2.4 pthread_rwlock_unlock F
 GLIBC_2.4 pthread_rwlock_wrlock F
diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
index 6d01194e39..85d9816c4e 100644
--- a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
@@ -33,7 +33,6 @@ GLIBC_2.4 __errno_location F
 GLIBC_2.4 __libpthread_version_placeholder F
 GLIBC_2.4 __pthread_register_cancel F
 GLIBC_2.4 __pthread_register_cancel_defer F
-GLIBC_2.4 __pthread_rwlock_destroy F
 GLIBC_2.4 __pthread_rwlock_init F
 GLIBC_2.4 __pthread_rwlock_tryrdlock F
 GLIBC_2.4 __pthread_rwlock_trywrlock F
@@ -64,7 +63,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_destroy F
 GLIBC_2.4 pthread_rwlock_init F
 GLIBC_2.4 pthread_rwlock_timedrdlock F
 GLIBC_2.4 pthread_rwlock_timedwrlock F
diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
index a5f9727b77..5e1c0c5f92 100644
--- a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
@@ -1570,6 +1570,7 @@ GLIBC_2.1 printf_size_info F
 GLIBC_2.1 pthread_attr_init F
 GLIBC_2.1 pthread_mutexattr_gettype F
 GLIBC_2.1 pthread_mutexattr_settype F
+GLIBC_2.1 pthread_rwlock_destroy F
 GLIBC_2.1 pthread_rwlock_rdlock F
 GLIBC_2.1 pthread_rwlock_unlock F
 GLIBC_2.1 pthread_rwlock_wrlock F
@@ -1845,6 +1846,7 @@ GLIBC_2.2 __lxstat64 F
 GLIBC_2.2 __nl_langinfo_l F
 GLIBC_2.2 __open64 F
 GLIBC_2.2 __pread64 F
+GLIBC_2.2 __pthread_rwlock_destroy F
 GLIBC_2.2 __pthread_rwlock_rdlock F
 GLIBC_2.2 __pthread_rwlock_unlock F
 GLIBC_2.2 __pthread_rwlock_wrlock F
@@ -2296,6 +2298,7 @@ GLIBC_2.34 pthread_mutexattr_settype F
 GLIBC_2.34 pthread_once F
 GLIBC_2.34 pthread_rwlock_clockrdlock F
 GLIBC_2.34 pthread_rwlock_clockwrlock F
+GLIBC_2.34 pthread_rwlock_destroy F
 GLIBC_2.34 pthread_rwlock_rdlock F
 GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
index 54aee29fdc..ad2e81096d 100644
--- a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
@@ -24,7 +24,6 @@ GLIBC_2.1 pthread_attr_setstackaddr F
 GLIBC_2.1 pthread_attr_setstacksize F
 GLIBC_2.1 pthread_create F
 GLIBC_2.1 pthread_getconcurrency F
-GLIBC_2.1 pthread_rwlock_destroy F
 GLIBC_2.1 pthread_rwlock_init F
 GLIBC_2.1 pthread_rwlock_tryrdlock F
 GLIBC_2.1 pthread_rwlock_trywrlock F
@@ -50,7 +49,6 @@ GLIBC_2.12 pthread_getname_np F
 GLIBC_2.12 pthread_setname_np F
 GLIBC_2.18 pthread_getattr_default_np F
 GLIBC_2.18 pthread_setattr_default_np F
-GLIBC_2.2 __pthread_rwlock_destroy F
 GLIBC_2.2 __pthread_rwlock_init F
 GLIBC_2.2 __pthread_rwlock_tryrdlock F
 GLIBC_2.2 __pthread_rwlock_trywrlock F
diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
index 73d493e36f..824dea1e05 100644
--- a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
@@ -351,6 +351,7 @@ GLIBC_2.18 __pthread_mutexattr_destroy F
 GLIBC_2.18 __pthread_mutexattr_init F
 GLIBC_2.18 __pthread_mutexattr_settype F
 GLIBC_2.18 __pthread_once F
+GLIBC_2.18 __pthread_rwlock_destroy F
 GLIBC_2.18 __pthread_rwlock_rdlock F
 GLIBC_2.18 __pthread_rwlock_unlock F
 GLIBC_2.18 __pthread_rwlock_wrlock F
@@ -1502,6 +1503,7 @@ GLIBC_2.18 pthread_mutexattr_setrobust F
 GLIBC_2.18 pthread_mutexattr_setrobust_np F
 GLIBC_2.18 pthread_mutexattr_settype F
 GLIBC_2.18 pthread_once F
+GLIBC_2.18 pthread_rwlock_destroy F
 GLIBC_2.18 pthread_rwlock_rdlock F
 GLIBC_2.18 pthread_rwlock_unlock F
 GLIBC_2.18 pthread_rwlock_wrlock F
@@ -2276,6 +2278,7 @@ GLIBC_2.34 pthread_mutexattr_settype F
 GLIBC_2.34 pthread_once F
 GLIBC_2.34 pthread_rwlock_clockrdlock F
 GLIBC_2.34 pthread_rwlock_clockwrlock F
+GLIBC_2.34 pthread_rwlock_destroy F
 GLIBC_2.34 pthread_rwlock_rdlock F
 GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
index 489622d126..7d0c9cf145 100644
--- a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
@@ -4,7 +4,6 @@ GLIBC_2.18 _IO_funlockfile F
 GLIBC_2.18 __errno_location F
 GLIBC_2.18 __pthread_register_cancel F
 GLIBC_2.18 __pthread_register_cancel_defer F
-GLIBC_2.18 __pthread_rwlock_destroy F
 GLIBC_2.18 __pthread_rwlock_init F
 GLIBC_2.18 __pthread_rwlock_tryrdlock F
 GLIBC_2.18 __pthread_rwlock_trywrlock F
@@ -37,7 +36,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_destroy F
 GLIBC_2.18 pthread_rwlock_init F
 GLIBC_2.18 pthread_rwlock_timedrdlock F
 GLIBC_2.18 pthread_rwlock_timedwrlock F
diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
index c683536a9a..177bd7f5e4 100644
--- a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
@@ -351,6 +351,7 @@ GLIBC_2.18 __pthread_mutexattr_destroy F
 GLIBC_2.18 __pthread_mutexattr_init F
 GLIBC_2.18 __pthread_mutexattr_settype F
 GLIBC_2.18 __pthread_once F
+GLIBC_2.18 __pthread_rwlock_destroy F
 GLIBC_2.18 __pthread_rwlock_rdlock F
 GLIBC_2.18 __pthread_rwlock_unlock F
 GLIBC_2.18 __pthread_rwlock_wrlock F
@@ -1502,6 +1503,7 @@ GLIBC_2.18 pthread_mutexattr_setrobust F
 GLIBC_2.18 pthread_mutexattr_setrobust_np F
 GLIBC_2.18 pthread_mutexattr_settype F
 GLIBC_2.18 pthread_once F
+GLIBC_2.18 pthread_rwlock_destroy F
 GLIBC_2.18 pthread_rwlock_rdlock F
 GLIBC_2.18 pthread_rwlock_unlock F
 GLIBC_2.18 pthread_rwlock_wrlock F
@@ -2273,6 +2275,7 @@ GLIBC_2.34 pthread_mutexattr_settype F
 GLIBC_2.34 pthread_once F
 GLIBC_2.34 pthread_rwlock_clockrdlock F
 GLIBC_2.34 pthread_rwlock_clockwrlock F
+GLIBC_2.34 pthread_rwlock_destroy F
 GLIBC_2.34 pthread_rwlock_rdlock F
 GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
index 489622d126..7d0c9cf145 100644
--- a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
@@ -4,7 +4,6 @@ GLIBC_2.18 _IO_funlockfile F
 GLIBC_2.18 __errno_location F
 GLIBC_2.18 __pthread_register_cancel F
 GLIBC_2.18 __pthread_register_cancel_defer F
-GLIBC_2.18 __pthread_rwlock_destroy F
 GLIBC_2.18 __pthread_rwlock_init F
 GLIBC_2.18 __pthread_rwlock_tryrdlock F
 GLIBC_2.18 __pthread_rwlock_trywrlock F
@@ -37,7 +36,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_destroy F
 GLIBC_2.18 pthread_rwlock_init F
 GLIBC_2.18 pthread_rwlock_timedrdlock F
 GLIBC_2.18 pthread_rwlock_timedwrlock F
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
index 655cb225c2..db80dbe227 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
@@ -1544,6 +1544,7 @@ GLIBC_2.2 __nl_langinfo_l F
 GLIBC_2.2 __open64 F
 GLIBC_2.2 __poll F
 GLIBC_2.2 __pread64 F
+GLIBC_2.2 __pthread_rwlock_destroy F
 GLIBC_2.2 __pthread_rwlock_rdlock F
 GLIBC_2.2 __pthread_rwlock_unlock F
 GLIBC_2.2 __pthread_rwlock_wrlock F
@@ -1841,6 +1842,7 @@ GLIBC_2.2 pthread_mutexattr_getpshared F
 GLIBC_2.2 pthread_mutexattr_gettype F
 GLIBC_2.2 pthread_mutexattr_setpshared F
 GLIBC_2.2 pthread_mutexattr_settype F
+GLIBC_2.2 pthread_rwlock_destroy F
 GLIBC_2.2 pthread_rwlock_rdlock F
 GLIBC_2.2 pthread_rwlock_unlock F
 GLIBC_2.2 pthread_rwlock_wrlock F
@@ -2259,6 +2261,7 @@ GLIBC_2.34 pthread_mutexattr_settype F
 GLIBC_2.34 pthread_once F
 GLIBC_2.34 pthread_rwlock_clockrdlock F
 GLIBC_2.34 pthread_rwlock_clockwrlock F
+GLIBC_2.34 pthread_rwlock_destroy F
 GLIBC_2.34 pthread_rwlock_rdlock F
 GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
index feaafc6ced..14e375c8da 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
@@ -21,7 +21,6 @@ GLIBC_2.12 pthread_getname_np F
 GLIBC_2.12 pthread_setname_np F
 GLIBC_2.18 pthread_getattr_default_np F
 GLIBC_2.18 pthread_setattr_default_np F
-GLIBC_2.2 __pthread_rwlock_destroy F
 GLIBC_2.2 __pthread_rwlock_init F
 GLIBC_2.2 __pthread_rwlock_tryrdlock F
 GLIBC_2.2 __pthread_rwlock_trywrlock F
@@ -42,7 +41,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_destroy F
 GLIBC_2.2 pthread_rwlock_init F
 GLIBC_2.2 pthread_rwlock_timedrdlock F
 GLIBC_2.2 pthread_rwlock_timedwrlock F
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
index 3c16f8b783..46fbef56f2 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
@@ -1542,6 +1542,7 @@ GLIBC_2.2 __nl_langinfo_l F
 GLIBC_2.2 __open64 F
 GLIBC_2.2 __poll F
 GLIBC_2.2 __pread64 F
+GLIBC_2.2 __pthread_rwlock_destroy F
 GLIBC_2.2 __pthread_rwlock_rdlock F
 GLIBC_2.2 __pthread_rwlock_unlock F
 GLIBC_2.2 __pthread_rwlock_wrlock F
@@ -1839,6 +1840,7 @@ GLIBC_2.2 pthread_mutexattr_getpshared F
 GLIBC_2.2 pthread_mutexattr_gettype F
 GLIBC_2.2 pthread_mutexattr_setpshared F
 GLIBC_2.2 pthread_mutexattr_settype F
+GLIBC_2.2 pthread_rwlock_destroy F
 GLIBC_2.2 pthread_rwlock_rdlock F
 GLIBC_2.2 pthread_rwlock_unlock F
 GLIBC_2.2 pthread_rwlock_wrlock F
@@ -2257,6 +2259,7 @@ GLIBC_2.34 pthread_mutexattr_settype F
 GLIBC_2.34 pthread_once F
 GLIBC_2.34 pthread_rwlock_clockrdlock F
 GLIBC_2.34 pthread_rwlock_clockwrlock F
+GLIBC_2.34 pthread_rwlock_destroy F
 GLIBC_2.34 pthread_rwlock_rdlock F
 GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
index feaafc6ced..14e375c8da 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
@@ -21,7 +21,6 @@ GLIBC_2.12 pthread_getname_np F
 GLIBC_2.12 pthread_setname_np F
 GLIBC_2.18 pthread_getattr_default_np F
 GLIBC_2.18 pthread_setattr_default_np F
-GLIBC_2.2 __pthread_rwlock_destroy F
 GLIBC_2.2 __pthread_rwlock_init F
 GLIBC_2.2 __pthread_rwlock_tryrdlock F
 GLIBC_2.2 __pthread_rwlock_trywrlock F
@@ -42,7 +41,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_destroy F
 GLIBC_2.2 pthread_rwlock_init F
 GLIBC_2.2 pthread_rwlock_timedrdlock F
 GLIBC_2.2 pthread_rwlock_timedwrlock F
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
index a7988b98a4..02b3a04e1d 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
@@ -1542,6 +1542,7 @@ GLIBC_2.2 __nl_langinfo_l F
 GLIBC_2.2 __open64 F
 GLIBC_2.2 __poll F
 GLIBC_2.2 __pread64 F
+GLIBC_2.2 __pthread_rwlock_destroy F
 GLIBC_2.2 __pthread_rwlock_rdlock F
 GLIBC_2.2 __pthread_rwlock_unlock F
 GLIBC_2.2 __pthread_rwlock_wrlock F
@@ -1839,6 +1840,7 @@ GLIBC_2.2 pthread_mutexattr_getpshared F
 GLIBC_2.2 pthread_mutexattr_gettype F
 GLIBC_2.2 pthread_mutexattr_setpshared F
 GLIBC_2.2 pthread_mutexattr_settype F
+GLIBC_2.2 pthread_rwlock_destroy F
 GLIBC_2.2 pthread_rwlock_rdlock F
 GLIBC_2.2 pthread_rwlock_unlock F
 GLIBC_2.2 pthread_rwlock_wrlock F
@@ -2265,6 +2267,7 @@ GLIBC_2.34 pthread_mutexattr_settype F
 GLIBC_2.34 pthread_once F
 GLIBC_2.34 pthread_rwlock_clockrdlock F
 GLIBC_2.34 pthread_rwlock_clockwrlock F
+GLIBC_2.34 pthread_rwlock_destroy F
 GLIBC_2.34 pthread_rwlock_rdlock F
 GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
index e2e7b2851e..ffbd2d7e1a 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
@@ -1538,6 +1538,7 @@ GLIBC_2.2 __nl_langinfo_l F
 GLIBC_2.2 __open64 F
 GLIBC_2.2 __poll F
 GLIBC_2.2 __pread64 F
+GLIBC_2.2 __pthread_rwlock_destroy F
 GLIBC_2.2 __pthread_rwlock_rdlock F
 GLIBC_2.2 __pthread_rwlock_unlock F
 GLIBC_2.2 __pthread_rwlock_wrlock F
@@ -1835,6 +1836,7 @@ GLIBC_2.2 pthread_mutexattr_getpshared F
 GLIBC_2.2 pthread_mutexattr_gettype F
 GLIBC_2.2 pthread_mutexattr_setpshared F
 GLIBC_2.2 pthread_mutexattr_settype F
+GLIBC_2.2 pthread_rwlock_destroy F
 GLIBC_2.2 pthread_rwlock_rdlock F
 GLIBC_2.2 pthread_rwlock_unlock F
 GLIBC_2.2 pthread_rwlock_wrlock F
@@ -2259,6 +2261,7 @@ GLIBC_2.34 pthread_mutexattr_settype F
 GLIBC_2.34 pthread_once F
 GLIBC_2.34 pthread_rwlock_clockrdlock F
 GLIBC_2.34 pthread_rwlock_clockwrlock F
+GLIBC_2.34 pthread_rwlock_destroy F
 GLIBC_2.34 pthread_rwlock_rdlock F
 GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
diff --git a/sysdeps/unix/sysv/linux/nios2/libc.abilist b/sysdeps/unix/sysv/linux/nios2/libc.abilist
index 2cf690ec94..5a5b32e243 100644
--- a/sysdeps/unix/sysv/linux/nios2/libc.abilist
+++ b/sysdeps/unix/sysv/linux/nios2/libc.abilist
@@ -388,6 +388,7 @@ GLIBC_2.21 __pthread_mutexattr_destroy F
 GLIBC_2.21 __pthread_mutexattr_init F
 GLIBC_2.21 __pthread_mutexattr_settype F
 GLIBC_2.21 __pthread_once F
+GLIBC_2.21 __pthread_rwlock_destroy F
 GLIBC_2.21 __pthread_rwlock_rdlock F
 GLIBC_2.21 __pthread_rwlock_unlock F
 GLIBC_2.21 __pthread_rwlock_wrlock F
@@ -1545,6 +1546,7 @@ GLIBC_2.21 pthread_mutexattr_setrobust F
 GLIBC_2.21 pthread_mutexattr_setrobust_np F
 GLIBC_2.21 pthread_mutexattr_settype F
 GLIBC_2.21 pthread_once F
+GLIBC_2.21 pthread_rwlock_destroy F
 GLIBC_2.21 pthread_rwlock_rdlock F
 GLIBC_2.21 pthread_rwlock_unlock F
 GLIBC_2.21 pthread_rwlock_wrlock F
@@ -2315,6 +2317,7 @@ GLIBC_2.34 pthread_mutexattr_settype F
 GLIBC_2.34 pthread_once F
 GLIBC_2.34 pthread_rwlock_clockrdlock F
 GLIBC_2.34 pthread_rwlock_clockwrlock F
+GLIBC_2.34 pthread_rwlock_destroy F
 GLIBC_2.34 pthread_rwlock_rdlock F
 GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
diff --git a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
index f3de0e4889..547413fcf0 100644
--- a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
@@ -4,7 +4,6 @@ GLIBC_2.21 _IO_funlockfile F
 GLIBC_2.21 __errno_location F
 GLIBC_2.21 __pthread_register_cancel F
 GLIBC_2.21 __pthread_register_cancel_defer F
-GLIBC_2.21 __pthread_rwlock_destroy F
 GLIBC_2.21 __pthread_rwlock_init F
 GLIBC_2.21 __pthread_rwlock_tryrdlock F
 GLIBC_2.21 __pthread_rwlock_trywrlock F
@@ -37,7 +36,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_destroy F
 GLIBC_2.21 pthread_rwlock_init F
 GLIBC_2.21 pthread_rwlock_timedrdlock F
 GLIBC_2.21 pthread_rwlock_timedwrlock F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
index a131ac9364..80fed3fb6c 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
@@ -1578,6 +1578,7 @@ GLIBC_2.1 printf_size_info F
 GLIBC_2.1 pthread_attr_init F
 GLIBC_2.1 pthread_mutexattr_gettype F
 GLIBC_2.1 pthread_mutexattr_settype F
+GLIBC_2.1 pthread_rwlock_destroy F
 GLIBC_2.1 pthread_rwlock_rdlock F
 GLIBC_2.1 pthread_rwlock_unlock F
 GLIBC_2.1 pthread_rwlock_wrlock F
@@ -1851,6 +1852,7 @@ GLIBC_2.2 __lxstat64 F
 GLIBC_2.2 __nl_langinfo_l F
 GLIBC_2.2 __open64 F
 GLIBC_2.2 __pread64 F
+GLIBC_2.2 __pthread_rwlock_destroy F
 GLIBC_2.2 __pthread_rwlock_rdlock F
 GLIBC_2.2 __pthread_rwlock_unlock F
 GLIBC_2.2 __pthread_rwlock_wrlock F
@@ -2323,6 +2325,7 @@ GLIBC_2.34 pthread_mutexattr_settype F
 GLIBC_2.34 pthread_once F
 GLIBC_2.34 pthread_rwlock_clockrdlock F
 GLIBC_2.34 pthread_rwlock_clockwrlock F
+GLIBC_2.34 pthread_rwlock_destroy F
 GLIBC_2.34 pthread_rwlock_rdlock F
 GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
index 6b276ca5d8..aff96f37d4 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
@@ -24,7 +24,6 @@ GLIBC_2.1 pthread_attr_setstackaddr F
 GLIBC_2.1 pthread_attr_setstacksize F
 GLIBC_2.1 pthread_create F
 GLIBC_2.1 pthread_getconcurrency F
-GLIBC_2.1 pthread_rwlock_destroy F
 GLIBC_2.1 pthread_rwlock_init F
 GLIBC_2.1 pthread_rwlock_tryrdlock F
 GLIBC_2.1 pthread_rwlock_trywrlock F
@@ -50,7 +49,6 @@ GLIBC_2.12 pthread_getname_np F
 GLIBC_2.12 pthread_setname_np F
 GLIBC_2.18 pthread_getattr_default_np F
 GLIBC_2.18 pthread_setattr_default_np F
-GLIBC_2.2 __pthread_rwlock_destroy F
 GLIBC_2.2 __pthread_rwlock_init F
 GLIBC_2.2 __pthread_rwlock_tryrdlock F
 GLIBC_2.2 __pthread_rwlock_trywrlock F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
index 060578f3e0..1673ad274d 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
@@ -1578,6 +1578,7 @@ GLIBC_2.1 printf_size_info F
 GLIBC_2.1 pthread_attr_init F
 GLIBC_2.1 pthread_mutexattr_gettype F
 GLIBC_2.1 pthread_mutexattr_settype F
+GLIBC_2.1 pthread_rwlock_destroy F
 GLIBC_2.1 pthread_rwlock_rdlock F
 GLIBC_2.1 pthread_rwlock_unlock F
 GLIBC_2.1 pthread_rwlock_wrlock F
@@ -1855,6 +1856,7 @@ GLIBC_2.2 __lxstat64 F
 GLIBC_2.2 __nl_langinfo_l F
 GLIBC_2.2 __open64 F
 GLIBC_2.2 __pread64 F
+GLIBC_2.2 __pthread_rwlock_destroy F
 GLIBC_2.2 __pthread_rwlock_rdlock F
 GLIBC_2.2 __pthread_rwlock_unlock F
 GLIBC_2.2 __pthread_rwlock_wrlock F
@@ -2356,6 +2358,7 @@ GLIBC_2.34 pthread_mutexattr_settype F
 GLIBC_2.34 pthread_once F
 GLIBC_2.34 pthread_rwlock_clockrdlock F
 GLIBC_2.34 pthread_rwlock_clockwrlock F
+GLIBC_2.34 pthread_rwlock_destroy F
 GLIBC_2.34 pthread_rwlock_rdlock F
 GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
index fa035697a6..dd4d6d1fcc 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
@@ -422,6 +422,7 @@ GLIBC_2.3 __pthread_mutexattr_destroy F
 GLIBC_2.3 __pthread_mutexattr_init F
 GLIBC_2.3 __pthread_mutexattr_settype F
 GLIBC_2.3 __pthread_once F
+GLIBC_2.3 __pthread_rwlock_destroy F
 GLIBC_2.3 __pthread_rwlock_rdlock F
 GLIBC_2.3 __pthread_rwlock_unlock F
 GLIBC_2.3 __pthread_rwlock_wrlock F
@@ -1417,6 +1418,7 @@ GLIBC_2.3 pthread_mutexattr_setkind_np F
 GLIBC_2.3 pthread_mutexattr_setpshared F
 GLIBC_2.3 pthread_mutexattr_settype F
 GLIBC_2.3 pthread_once F
+GLIBC_2.3 pthread_rwlock_destroy F
 GLIBC_2.3 pthread_rwlock_rdlock F
 GLIBC_2.3 pthread_rwlock_unlock F
 GLIBC_2.3 pthread_rwlock_wrlock F
@@ -2177,6 +2179,7 @@ GLIBC_2.34 pthread_mutexattr_settype F
 GLIBC_2.34 pthread_once F
 GLIBC_2.34 pthread_rwlock_clockrdlock F
 GLIBC_2.34 pthread_rwlock_clockwrlock F
+GLIBC_2.34 pthread_rwlock_destroy F
 GLIBC_2.34 pthread_rwlock_rdlock F
 GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
index dbe8b51aab..558fb1b7db 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
@@ -28,7 +28,6 @@ GLIBC_2.3 _IO_flockfile F
 GLIBC_2.3 _IO_ftrylockfile F
 GLIBC_2.3 _IO_funlockfile F
 GLIBC_2.3 __errno_location F
-GLIBC_2.3 __pthread_rwlock_destroy F
 GLIBC_2.3 __pthread_rwlock_init F
 GLIBC_2.3 __pthread_rwlock_tryrdlock F
 GLIBC_2.3 __pthread_rwlock_trywrlock F
@@ -55,7 +54,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_destroy F
 GLIBC_2.3 pthread_rwlock_init F
 GLIBC_2.3 pthread_rwlock_timedrdlock F
 GLIBC_2.3 pthread_rwlock_timedwrlock F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
index d6bc4e3862..9c3dba4573 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
@@ -436,6 +436,7 @@ GLIBC_2.17 __pthread_mutexattr_destroy F
 GLIBC_2.17 __pthread_mutexattr_init F
 GLIBC_2.17 __pthread_mutexattr_settype F
 GLIBC_2.17 __pthread_once F
+GLIBC_2.17 __pthread_rwlock_destroy F
 GLIBC_2.17 __pthread_rwlock_rdlock F
 GLIBC_2.17 __pthread_rwlock_unlock F
 GLIBC_2.17 __pthread_rwlock_wrlock F
@@ -1588,6 +1589,7 @@ GLIBC_2.17 pthread_mutexattr_setrobust F
 GLIBC_2.17 pthread_mutexattr_setrobust_np F
 GLIBC_2.17 pthread_mutexattr_settype F
 GLIBC_2.17 pthread_once F
+GLIBC_2.17 pthread_rwlock_destroy F
 GLIBC_2.17 pthread_rwlock_rdlock F
 GLIBC_2.17 pthread_rwlock_unlock F
 GLIBC_2.17 pthread_rwlock_wrlock F
@@ -2478,6 +2480,7 @@ GLIBC_2.34 pthread_mutexattr_settype F
 GLIBC_2.34 pthread_once F
 GLIBC_2.34 pthread_rwlock_clockrdlock F
 GLIBC_2.34 pthread_rwlock_clockwrlock F
+GLIBC_2.34 pthread_rwlock_destroy F
 GLIBC_2.34 pthread_rwlock_rdlock F
 GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
index dce7c78508..ebdbdfa867 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
@@ -4,7 +4,6 @@ GLIBC_2.17 _IO_funlockfile F
 GLIBC_2.17 __errno_location F
 GLIBC_2.17 __pthread_register_cancel F
 GLIBC_2.17 __pthread_register_cancel_defer F
-GLIBC_2.17 __pthread_rwlock_destroy F
 GLIBC_2.17 __pthread_rwlock_init F
 GLIBC_2.17 __pthread_rwlock_tryrdlock F
 GLIBC_2.17 __pthread_rwlock_trywrlock F
@@ -36,7 +35,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_destroy F
 GLIBC_2.17 pthread_rwlock_init F
 GLIBC_2.17 pthread_rwlock_timedrdlock F
 GLIBC_2.17 pthread_rwlock_timedwrlock F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
index 8608f6bce3..44ab3eacef 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
@@ -336,6 +336,7 @@ GLIBC_2.33 __pthread_mutexattr_destroy F
 GLIBC_2.33 __pthread_mutexattr_init F
 GLIBC_2.33 __pthread_mutexattr_settype F
 GLIBC_2.33 __pthread_once F
+GLIBC_2.33 __pthread_rwlock_destroy F
 GLIBC_2.33 __pthread_rwlock_rdlock F
 GLIBC_2.33 __pthread_rwlock_unlock F
 GLIBC_2.33 __pthread_rwlock_wrlock F
@@ -1432,6 +1433,7 @@ GLIBC_2.33 pthread_mutexattr_settype F
 GLIBC_2.33 pthread_once F
 GLIBC_2.33 pthread_rwlock_clockrdlock F
 GLIBC_2.33 pthread_rwlock_clockwrlock F
+GLIBC_2.33 pthread_rwlock_destroy F
 GLIBC_2.33 pthread_rwlock_rdlock F
 GLIBC_2.33 pthread_rwlock_unlock F
 GLIBC_2.33 pthread_rwlock_wrlock F
@@ -2043,6 +2045,7 @@ GLIBC_2.34 pthread_mutexattr_settype F
 GLIBC_2.34 pthread_once F
 GLIBC_2.34 pthread_rwlock_clockrdlock F
 GLIBC_2.34 pthread_rwlock_clockwrlock F
+GLIBC_2.34 pthread_rwlock_destroy F
 GLIBC_2.34 pthread_rwlock_rdlock F
 GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
index 67bde15c7f..d2c8879f18 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
@@ -4,7 +4,6 @@ GLIBC_2.33 _IO_funlockfile F
 GLIBC_2.33 __errno_location F
 GLIBC_2.33 __pthread_register_cancel F
 GLIBC_2.33 __pthread_register_cancel_defer F
-GLIBC_2.33 __pthread_rwlock_destroy F
 GLIBC_2.33 __pthread_rwlock_init F
 GLIBC_2.33 __pthread_rwlock_tryrdlock F
 GLIBC_2.33 __pthread_rwlock_trywrlock F
@@ -51,7 +50,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_destroy F
 GLIBC_2.33 pthread_rwlock_init F
 GLIBC_2.33 pthread_rwlock_timedrdlock F
 GLIBC_2.33 pthread_rwlock_timedwrlock F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
index 5dccf99f67..b79b1f6726 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
@@ -347,6 +347,7 @@ GLIBC_2.27 __pthread_mutexattr_destroy F
 GLIBC_2.27 __pthread_mutexattr_init F
 GLIBC_2.27 __pthread_mutexattr_settype F
 GLIBC_2.27 __pthread_once F
+GLIBC_2.27 __pthread_rwlock_destroy F
 GLIBC_2.27 __pthread_rwlock_rdlock F
 GLIBC_2.27 __pthread_rwlock_unlock F
 GLIBC_2.27 __pthread_rwlock_wrlock F
@@ -1490,6 +1491,7 @@ GLIBC_2.27 pthread_mutexattr_setrobust F
 GLIBC_2.27 pthread_mutexattr_setrobust_np F
 GLIBC_2.27 pthread_mutexattr_settype F
 GLIBC_2.27 pthread_once F
+GLIBC_2.27 pthread_rwlock_destroy F
 GLIBC_2.27 pthread_rwlock_rdlock F
 GLIBC_2.27 pthread_rwlock_unlock F
 GLIBC_2.27 pthread_rwlock_wrlock F
@@ -2243,6 +2245,7 @@ GLIBC_2.34 pthread_mutexattr_settype F
 GLIBC_2.34 pthread_once F
 GLIBC_2.34 pthread_rwlock_clockrdlock F
 GLIBC_2.34 pthread_rwlock_clockwrlock F
+GLIBC_2.34 pthread_rwlock_destroy F
 GLIBC_2.34 pthread_rwlock_rdlock F
 GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
index 83d0cbfaa4..48a5bd78f0 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
@@ -4,7 +4,6 @@ GLIBC_2.27 _IO_funlockfile F
 GLIBC_2.27 __errno_location F
 GLIBC_2.27 __pthread_register_cancel F
 GLIBC_2.27 __pthread_register_cancel_defer F
-GLIBC_2.27 __pthread_rwlock_destroy F
 GLIBC_2.27 __pthread_rwlock_init F
 GLIBC_2.27 __pthread_rwlock_tryrdlock F
 GLIBC_2.27 __pthread_rwlock_trywrlock F
@@ -37,7 +36,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_destroy F
 GLIBC_2.27 pthread_rwlock_init F
 GLIBC_2.27 pthread_rwlock_timedrdlock F
 GLIBC_2.27 pthread_rwlock_timedwrlock F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
index abaa54cc17..4c88f1489d 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
@@ -1570,6 +1570,7 @@ GLIBC_2.1 printf_size_info F
 GLIBC_2.1 pthread_attr_init F
 GLIBC_2.1 pthread_mutexattr_gettype F
 GLIBC_2.1 pthread_mutexattr_settype F
+GLIBC_2.1 pthread_rwlock_destroy F
 GLIBC_2.1 pthread_rwlock_rdlock F
 GLIBC_2.1 pthread_rwlock_unlock F
 GLIBC_2.1 pthread_rwlock_wrlock F
@@ -1849,6 +1850,7 @@ GLIBC_2.2 __lxstat64 F
 GLIBC_2.2 __nl_langinfo_l F
 GLIBC_2.2 __open64 F
 GLIBC_2.2 __pread64 F
+GLIBC_2.2 __pthread_rwlock_destroy F
 GLIBC_2.2 __pthread_rwlock_rdlock F
 GLIBC_2.2 __pthread_rwlock_unlock F
 GLIBC_2.2 __pthread_rwlock_wrlock F
@@ -2321,6 +2323,7 @@ GLIBC_2.34 pthread_mutexattr_settype F
 GLIBC_2.34 pthread_once F
 GLIBC_2.34 pthread_rwlock_clockrdlock F
 GLIBC_2.34 pthread_rwlock_clockwrlock F
+GLIBC_2.34 pthread_rwlock_destroy F
 GLIBC_2.34 pthread_rwlock_rdlock F
 GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
index ec4a9d4211..2cac9acdc5 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
@@ -24,7 +24,6 @@ GLIBC_2.1 pthread_attr_setstackaddr F
 GLIBC_2.1 pthread_attr_setstacksize F
 GLIBC_2.1 pthread_create F
 GLIBC_2.1 pthread_getconcurrency F
-GLIBC_2.1 pthread_rwlock_destroy F
 GLIBC_2.1 pthread_rwlock_init F
 GLIBC_2.1 pthread_rwlock_tryrdlock F
 GLIBC_2.1 pthread_rwlock_trywrlock F
@@ -51,7 +50,6 @@ GLIBC_2.12 pthread_setname_np F
 GLIBC_2.18 pthread_getattr_default_np F
 GLIBC_2.18 pthread_setattr_default_np F
 GLIBC_2.19 __libpthread_version_placeholder F
-GLIBC_2.2 __pthread_rwlock_destroy F
 GLIBC_2.2 __pthread_rwlock_init F
 GLIBC_2.2 __pthread_rwlock_tryrdlock F
 GLIBC_2.2 __pthread_rwlock_trywrlock F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
index 3d67cffcea..7b3f066d8c 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
@@ -383,6 +383,7 @@ GLIBC_2.2 __pthread_mutexattr_destroy F
 GLIBC_2.2 __pthread_mutexattr_init F
 GLIBC_2.2 __pthread_mutexattr_settype F
 GLIBC_2.2 __pthread_once F
+GLIBC_2.2 __pthread_rwlock_destroy F
 GLIBC_2.2 __pthread_rwlock_rdlock F
 GLIBC_2.2 __pthread_rwlock_unlock F
 GLIBC_2.2 __pthread_rwlock_wrlock F
@@ -1329,6 +1330,7 @@ GLIBC_2.2 pthread_mutexattr_setkind_np F
 GLIBC_2.2 pthread_mutexattr_setpshared F
 GLIBC_2.2 pthread_mutexattr_settype F
 GLIBC_2.2 pthread_once F
+GLIBC_2.2 pthread_rwlock_destroy F
 GLIBC_2.2 pthread_rwlock_rdlock F
 GLIBC_2.2 pthread_rwlock_unlock F
 GLIBC_2.2 pthread_rwlock_wrlock F
@@ -2214,6 +2216,7 @@ GLIBC_2.34 pthread_mutexattr_settype F
 GLIBC_2.34 pthread_once F
 GLIBC_2.34 pthread_rwlock_clockrdlock F
 GLIBC_2.34 pthread_rwlock_clockwrlock F
+GLIBC_2.34 pthread_rwlock_destroy F
 GLIBC_2.34 pthread_rwlock_rdlock F
 GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
index 295500e565..19792333fe 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
@@ -8,7 +8,6 @@ GLIBC_2.2 _IO_flockfile F
 GLIBC_2.2 _IO_ftrylockfile F
 GLIBC_2.2 _IO_funlockfile F
 GLIBC_2.2 __errno_location F
-GLIBC_2.2 __pthread_rwlock_destroy F
 GLIBC_2.2 __pthread_rwlock_init F
 GLIBC_2.2 __pthread_rwlock_tryrdlock F
 GLIBC_2.2 __pthread_rwlock_trywrlock F
@@ -35,7 +34,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_destroy F
 GLIBC_2.2 pthread_rwlock_init F
 GLIBC_2.2 pthread_rwlock_timedrdlock F
 GLIBC_2.2 pthread_rwlock_timedwrlock F
diff --git a/sysdeps/unix/sysv/linux/sh/be/libc.abilist b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
index 4291e96d58..bda61af088 100644
--- a/sysdeps/unix/sysv/linux/sh/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
@@ -372,6 +372,7 @@ GLIBC_2.2 __pthread_mutexattr_destroy F
 GLIBC_2.2 __pthread_mutexattr_init F
 GLIBC_2.2 __pthread_mutexattr_settype F
 GLIBC_2.2 __pthread_once F
+GLIBC_2.2 __pthread_rwlock_destroy F
 GLIBC_2.2 __pthread_rwlock_rdlock F
 GLIBC_2.2 __pthread_rwlock_unlock F
 GLIBC_2.2 __pthread_rwlock_wrlock F
@@ -1315,6 +1316,7 @@ GLIBC_2.2 pthread_mutexattr_setkind_np F
 GLIBC_2.2 pthread_mutexattr_setpshared F
 GLIBC_2.2 pthread_mutexattr_settype F
 GLIBC_2.2 pthread_once F
+GLIBC_2.2 pthread_rwlock_destroy F
 GLIBC_2.2 pthread_rwlock_rdlock F
 GLIBC_2.2 pthread_rwlock_unlock F
 GLIBC_2.2 pthread_rwlock_wrlock F
@@ -2183,6 +2185,7 @@ GLIBC_2.34 pthread_mutexattr_settype F
 GLIBC_2.34 pthread_once F
 GLIBC_2.34 pthread_rwlock_clockrdlock F
 GLIBC_2.34 pthread_rwlock_clockwrlock F
+GLIBC_2.34 pthread_rwlock_destroy F
 GLIBC_2.34 pthread_rwlock_rdlock F
 GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
diff --git a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
index 124ea6fd8e..82bc0321f5 100644
--- a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
@@ -7,7 +7,6 @@ GLIBC_2.2 _IO_flockfile F
 GLIBC_2.2 _IO_ftrylockfile F
 GLIBC_2.2 _IO_funlockfile F
 GLIBC_2.2 __errno_location F
-GLIBC_2.2 __pthread_rwlock_destroy F
 GLIBC_2.2 __pthread_rwlock_init F
 GLIBC_2.2 __pthread_rwlock_tryrdlock F
 GLIBC_2.2 __pthread_rwlock_trywrlock F
@@ -34,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_destroy F
 GLIBC_2.2 pthread_rwlock_init F
 GLIBC_2.2 pthread_rwlock_timedrdlock F
 GLIBC_2.2 pthread_rwlock_timedwrlock F
diff --git a/sysdeps/unix/sysv/linux/sh/le/libc.abilist b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
index 58e70680f1..7227ced168 100644
--- a/sysdeps/unix/sysv/linux/sh/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
@@ -372,6 +372,7 @@ GLIBC_2.2 __pthread_mutexattr_destroy F
 GLIBC_2.2 __pthread_mutexattr_init F
 GLIBC_2.2 __pthread_mutexattr_settype F
 GLIBC_2.2 __pthread_once F
+GLIBC_2.2 __pthread_rwlock_destroy F
 GLIBC_2.2 __pthread_rwlock_rdlock F
 GLIBC_2.2 __pthread_rwlock_unlock F
 GLIBC_2.2 __pthread_rwlock_wrlock F
@@ -1315,6 +1316,7 @@ GLIBC_2.2 pthread_mutexattr_setkind_np F
 GLIBC_2.2 pthread_mutexattr_setpshared F
 GLIBC_2.2 pthread_mutexattr_settype F
 GLIBC_2.2 pthread_once F
+GLIBC_2.2 pthread_rwlock_destroy F
 GLIBC_2.2 pthread_rwlock_rdlock F
 GLIBC_2.2 pthread_rwlock_unlock F
 GLIBC_2.2 pthread_rwlock_wrlock F
@@ -2180,6 +2182,7 @@ GLIBC_2.34 pthread_mutexattr_settype F
 GLIBC_2.34 pthread_once F
 GLIBC_2.34 pthread_rwlock_clockrdlock F
 GLIBC_2.34 pthread_rwlock_clockwrlock F
+GLIBC_2.34 pthread_rwlock_destroy F
 GLIBC_2.34 pthread_rwlock_rdlock F
 GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
diff --git a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
index 124ea6fd8e..82bc0321f5 100644
--- a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
@@ -7,7 +7,6 @@ GLIBC_2.2 _IO_flockfile F
 GLIBC_2.2 _IO_ftrylockfile F
 GLIBC_2.2 _IO_funlockfile F
 GLIBC_2.2 __errno_location F
-GLIBC_2.2 __pthread_rwlock_destroy F
 GLIBC_2.2 __pthread_rwlock_init F
 GLIBC_2.2 __pthread_rwlock_tryrdlock F
 GLIBC_2.2 __pthread_rwlock_trywrlock F
@@ -34,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_destroy F
 GLIBC_2.2 pthread_rwlock_init F
 GLIBC_2.2 pthread_rwlock_timedrdlock F
 GLIBC_2.2 pthread_rwlock_timedwrlock F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
index 05e15f9429..330715ff71 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
@@ -1571,6 +1571,7 @@ GLIBC_2.1 printf_size_info F
 GLIBC_2.1 pthread_attr_init F
 GLIBC_2.1 pthread_mutexattr_gettype F
 GLIBC_2.1 pthread_mutexattr_settype F
+GLIBC_2.1 pthread_rwlock_destroy F
 GLIBC_2.1 pthread_rwlock_rdlock F
 GLIBC_2.1 pthread_rwlock_unlock F
 GLIBC_2.1 pthread_rwlock_wrlock F
@@ -1847,6 +1848,7 @@ GLIBC_2.2 __lxstat64 F
 GLIBC_2.2 __nl_langinfo_l F
 GLIBC_2.2 __open64 F
 GLIBC_2.2 __pread64 F
+GLIBC_2.2 __pthread_rwlock_destroy F
 GLIBC_2.2 __pthread_rwlock_rdlock F
 GLIBC_2.2 __pthread_rwlock_unlock F
 GLIBC_2.2 __pthread_rwlock_wrlock F
@@ -2312,6 +2314,7 @@ GLIBC_2.34 pthread_mutexattr_settype F
 GLIBC_2.34 pthread_once F
 GLIBC_2.34 pthread_rwlock_clockrdlock F
 GLIBC_2.34 pthread_rwlock_clockwrlock F
+GLIBC_2.34 pthread_rwlock_destroy F
 GLIBC_2.34 pthread_rwlock_rdlock F
 GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
index 9bbc315658..b80868c5da 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
@@ -24,7 +24,6 @@ GLIBC_2.1 pthread_attr_setstackaddr F
 GLIBC_2.1 pthread_attr_setstacksize F
 GLIBC_2.1 pthread_create F
 GLIBC_2.1 pthread_getconcurrency F
-GLIBC_2.1 pthread_rwlock_destroy F
 GLIBC_2.1 pthread_rwlock_init F
 GLIBC_2.1 pthread_rwlock_tryrdlock F
 GLIBC_2.1 pthread_rwlock_trywrlock F
@@ -50,7 +49,6 @@ GLIBC_2.12 pthread_getname_np F
 GLIBC_2.12 pthread_setname_np F
 GLIBC_2.18 pthread_getattr_default_np F
 GLIBC_2.18 pthread_setattr_default_np F
-GLIBC_2.2 __pthread_rwlock_destroy F
 GLIBC_2.2 __pthread_rwlock_init F
 GLIBC_2.2 __pthread_rwlock_tryrdlock F
 GLIBC_2.2 __pthread_rwlock_trywrlock F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
index 4a28393b33..5e4848be27 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
@@ -410,6 +410,7 @@ GLIBC_2.2 __pthread_mutexattr_destroy F
 GLIBC_2.2 __pthread_mutexattr_init F
 GLIBC_2.2 __pthread_mutexattr_settype F
 GLIBC_2.2 __pthread_once F
+GLIBC_2.2 __pthread_rwlock_destroy F
 GLIBC_2.2 __pthread_rwlock_rdlock F
 GLIBC_2.2 __pthread_rwlock_unlock F
 GLIBC_2.2 __pthread_rwlock_wrlock F
@@ -1358,6 +1359,7 @@ GLIBC_2.2 pthread_mutexattr_setkind_np F
 GLIBC_2.2 pthread_mutexattr_setpshared F
 GLIBC_2.2 pthread_mutexattr_settype F
 GLIBC_2.2 pthread_once F
+GLIBC_2.2 pthread_rwlock_destroy F
 GLIBC_2.2 pthread_rwlock_rdlock F
 GLIBC_2.2 pthread_rwlock_unlock F
 GLIBC_2.2 pthread_rwlock_wrlock F
@@ -2231,6 +2233,7 @@ GLIBC_2.34 pthread_mutexattr_settype F
 GLIBC_2.34 pthread_once F
 GLIBC_2.34 pthread_rwlock_clockrdlock F
 GLIBC_2.34 pthread_rwlock_clockwrlock F
+GLIBC_2.34 pthread_rwlock_destroy F
 GLIBC_2.34 pthread_rwlock_rdlock F
 GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
index ad3d8c7fc3..6d11adb7da 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
@@ -7,7 +7,6 @@ GLIBC_2.2 _IO_flockfile F
 GLIBC_2.2 _IO_ftrylockfile F
 GLIBC_2.2 _IO_funlockfile F
 GLIBC_2.2 __errno_location F
-GLIBC_2.2 __pthread_rwlock_destroy F
 GLIBC_2.2 __pthread_rwlock_init F
 GLIBC_2.2 __pthread_rwlock_tryrdlock F
 GLIBC_2.2 __pthread_rwlock_trywrlock F
@@ -34,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_destroy F
 GLIBC_2.2 pthread_rwlock_init F
 GLIBC_2.2 pthread_rwlock_timedrdlock F
 GLIBC_2.2 pthread_rwlock_timedwrlock F
diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
index 3693688e5c..1975808993 100644
--- a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
@@ -371,6 +371,7 @@ GLIBC_2.2.5 __pthread_mutexattr_destroy F
 GLIBC_2.2.5 __pthread_mutexattr_init F
 GLIBC_2.2.5 __pthread_mutexattr_settype F
 GLIBC_2.2.5 __pthread_once F
+GLIBC_2.2.5 __pthread_rwlock_destroy F
 GLIBC_2.2.5 __pthread_rwlock_rdlock F
 GLIBC_2.2.5 __pthread_rwlock_unlock F
 GLIBC_2.2.5 __pthread_rwlock_wrlock F
@@ -1326,6 +1327,7 @@ GLIBC_2.2.5 pthread_mutexattr_setkind_np F
 GLIBC_2.2.5 pthread_mutexattr_setpshared F
 GLIBC_2.2.5 pthread_mutexattr_settype F
 GLIBC_2.2.5 pthread_once F
+GLIBC_2.2.5 pthread_rwlock_destroy F
 GLIBC_2.2.5 pthread_rwlock_rdlock F
 GLIBC_2.2.5 pthread_rwlock_unlock F
 GLIBC_2.2.5 pthread_rwlock_wrlock F
@@ -2192,6 +2194,7 @@ GLIBC_2.34 pthread_mutexattr_settype F
 GLIBC_2.34 pthread_once F
 GLIBC_2.34 pthread_rwlock_clockrdlock F
 GLIBC_2.34 pthread_rwlock_clockwrlock F
+GLIBC_2.34 pthread_rwlock_destroy F
 GLIBC_2.34 pthread_rwlock_rdlock F
 GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
index d74ddab526..06ec562b00 100644
--- a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
@@ -7,7 +7,6 @@ GLIBC_2.2.5 _IO_flockfile F
 GLIBC_2.2.5 _IO_ftrylockfile F
 GLIBC_2.2.5 _IO_funlockfile F
 GLIBC_2.2.5 __errno_location F
-GLIBC_2.2.5 __pthread_rwlock_destroy F
 GLIBC_2.2.5 __pthread_rwlock_init F
 GLIBC_2.2.5 __pthread_rwlock_tryrdlock F
 GLIBC_2.2.5 __pthread_rwlock_trywrlock F
@@ -34,7 +33,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_destroy F
 GLIBC_2.2.5 pthread_rwlock_init F
 GLIBC_2.2.5 pthread_rwlock_timedrdlock F
 GLIBC_2.2.5 pthread_rwlock_timedwrlock F
diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
index 2fdedeabd9..ff5dc484ba 100644
--- a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
@@ -351,6 +351,7 @@ GLIBC_2.16 __pthread_mutexattr_destroy F
 GLIBC_2.16 __pthread_mutexattr_init F
 GLIBC_2.16 __pthread_mutexattr_settype F
 GLIBC_2.16 __pthread_once F
+GLIBC_2.16 __pthread_rwlock_destroy F
 GLIBC_2.16 __pthread_rwlock_rdlock F
 GLIBC_2.16 __pthread_rwlock_unlock F
 GLIBC_2.16 __pthread_rwlock_wrlock F
@@ -1507,6 +1508,7 @@ GLIBC_2.16 pthread_mutexattr_setrobust F
 GLIBC_2.16 pthread_mutexattr_setrobust_np F
 GLIBC_2.16 pthread_mutexattr_settype F
 GLIBC_2.16 pthread_once F
+GLIBC_2.16 pthread_rwlock_destroy F
 GLIBC_2.16 pthread_rwlock_rdlock F
 GLIBC_2.16 pthread_rwlock_unlock F
 GLIBC_2.16 pthread_rwlock_wrlock F
@@ -2297,6 +2299,7 @@ GLIBC_2.34 pthread_mutexattr_settype F
 GLIBC_2.34 pthread_once F
 GLIBC_2.34 pthread_rwlock_clockrdlock F
 GLIBC_2.34 pthread_rwlock_clockwrlock F
+GLIBC_2.34 pthread_rwlock_destroy F
 GLIBC_2.34 pthread_rwlock_rdlock F
 GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
index 5c80afcee2..92d8aa0635 100644
--- a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
@@ -4,7 +4,6 @@ GLIBC_2.16 _IO_funlockfile F
 GLIBC_2.16 __errno_location F
 GLIBC_2.16 __pthread_register_cancel F
 GLIBC_2.16 __pthread_register_cancel_defer F
-GLIBC_2.16 __pthread_rwlock_destroy F
 GLIBC_2.16 __pthread_rwlock_init F
 GLIBC_2.16 __pthread_rwlock_tryrdlock F
 GLIBC_2.16 __pthread_rwlock_trywrlock F
@@ -36,7 +35,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_destroy F
 GLIBC_2.16 pthread_rwlock_init F
 GLIBC_2.16 pthread_rwlock_timedrdlock F
 GLIBC_2.16 pthread_rwlock_timedwrlock F
-- 
2.30.2



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

* [PATCH 04/14] nptl: Move pthread_rwlock_init into libc
  2021-04-23 17:36 [PATCH 00/14] nptl: Move remaining rwlock functions into libc Florian Weimer via Libc-alpha
                   ` (2 preceding siblings ...)
  2021-04-23 17:37 ` [PATCH 03/14] nptl: Move pthread_rwlock_destroy " Florian Weimer via Libc-alpha
@ 2021-04-23 17:37 ` Florian Weimer via Libc-alpha
  2021-05-02 19:34   ` Carlos O'Donell via Libc-alpha
  2021-04-23 17:37 ` [PATCH 05/14] nptl: Move pthread_rwlock_timedrdlock " Florian Weimer via Libc-alpha
                   ` (10 subsequent siblings)
  14 siblings, 1 reply; 30+ messages in thread
From: Florian Weimer via Libc-alpha @ 2021-04-23 17:37 UTC (permalink / raw)
  To: libc-alpha

And __pthread_rwlock_init as a compatibility symbol.

__libc_rwlock_init is changed to call __pthread_rwlock_init directly.

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

diff --git a/nptl/Makefile b/nptl/Makefile
index 37c6513f68..e41459c571 100644
--- a/nptl/Makefile
+++ b/nptl/Makefile
@@ -123,6 +123,7 @@ routines = \
   pthread_rwlock_clockrdlock \
   pthread_rwlock_clockwrlock \
   pthread_rwlock_destroy \
+  pthread_rwlock_init \
   pthread_rwlock_rdlock \
   pthread_rwlock_unlock \
   pthread_rwlock_wrlock \
@@ -181,7 +182,6 @@ libpthread-routines = \
   pthread_getname \
   pthread_join \
   pthread_join_common \
-  pthread_rwlock_init \
   pthread_rwlock_timedrdlock \
   pthread_rwlock_timedwrlock \
   pthread_rwlock_tryrdlock \
diff --git a/nptl/Versions b/nptl/Versions
index 9232a19227..72d20e2117 100644
--- a/nptl/Versions
+++ b/nptl/Versions
@@ -67,12 +67,14 @@ libc {
     pthread_mutexattr_gettype;
     pthread_mutexattr_settype;
     pthread_rwlock_destroy;
+    pthread_rwlock_init;
     pthread_rwlock_rdlock;
     pthread_rwlock_unlock;
     pthread_rwlock_wrlock;
   }
   GLIBC_2.2 {
     __pthread_rwlock_destroy;
+    __pthread_rwlock_init;
     __pthread_rwlock_rdlock;
     __pthread_rwlock_unlock;
     __pthread_rwlock_wrlock;
@@ -280,7 +282,6 @@ libpthread {
     pthread_attr_setstacksize;
     pthread_create;
     pthread_getconcurrency;
-    pthread_rwlock_init;
     pthread_rwlock_tryrdlock;
     pthread_rwlock_trywrlock;
     pthread_rwlockattr_destroy;
@@ -309,7 +310,6 @@ libpthread {
   }
 
   GLIBC_2.2 {
-    __pthread_rwlock_init;
     __pthread_rwlock_tryrdlock;
     __pthread_rwlock_trywrlock;
     pthread_attr_getstack;
diff --git a/nptl/pthread_rwlock_init.c b/nptl/pthread_rwlock_init.c
index c7d8fef687..db8ebee504 100644
--- a/nptl/pthread_rwlock_init.c
+++ b/nptl/pthread_rwlock_init.c
@@ -19,7 +19,7 @@
 #include "pthreadP.h"
 #include <string.h>
 #include <pthread-offsets.h>
-
+#include <shlib-compat.h>
 
 static const struct pthread_rwlockattr default_rwlockattr =
   {
@@ -30,7 +30,7 @@ static const struct pthread_rwlockattr default_rwlockattr =
 
 /* See pthread_rwlock_common.c.  */
 int
-__pthread_rwlock_init (pthread_rwlock_t *rwlock,
+___pthread_rwlock_init (pthread_rwlock_t *rwlock,
 		       const pthread_rwlockattr_t *attr)
 {
   ASSERT_TYPE_SIZE (pthread_rwlock_t, __SIZEOF_PTHREAD_RWLOCK_T);
@@ -55,4 +55,18 @@ __pthread_rwlock_init (pthread_rwlock_t *rwlock,
 
   return 0;
 }
-strong_alias (__pthread_rwlock_init, pthread_rwlock_init)
+versioned_symbol (libc, ___pthread_rwlock_init, pthread_rwlock_init,
+                  GLIBC_2_34);
+libc_hidden_ver (___pthread_rwlock_init, __pthread_rwlock_init)
+#ifndef SHARED
+strong_alias (___pthread_rwlock_init, __pthread_rwlock_init)
+#endif
+
+#if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_1, GLIBC_2_34)
+compat_symbol (libpthread, ___pthread_rwlock_init, pthread_rwlock_init,
+               GLIBC_2_1);
+#endif
+#if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_2, GLIBC_2_34)
+compat_symbol (libpthread, ___pthread_rwlock_init, __pthread_rwlock_init,
+               GLIBC_2_2);
+#endif
diff --git a/sysdeps/nptl/libc-lockP.h b/sysdeps/nptl/libc-lockP.h
index 07ead8fb9f..31ecc4a2c1 100644
--- a/sysdeps/nptl/libc-lockP.h
+++ b/sysdeps/nptl/libc-lockP.h
@@ -114,14 +114,7 @@ _Static_assert (LLL_LOCK_INITIALIZER == 0, "LLL_LOCK_INITIALIZER != 0");
 #else
 # define __libc_lock_init(NAME) __pthread_mutex_init (&(NAME))
 #endif
-#if defined SHARED && IS_IN (libc)
-/* ((NAME) = (__libc_rwlock_t) PTHREAD_RWLOCK_INITIALIZER) is inefficient.  */
-# define __libc_rwlock_init(NAME) \
-  ((void) __builtin_memset (&(NAME), '\0', sizeof (NAME)))
-#else
-# define __libc_rwlock_init(NAME) \
-  __libc_maybe_call (__pthread_rwlock_init, (&(NAME), NULL), 0)
-#endif
+#define __libc_rwlock_init(NAME) __pthread_rwlock_init (&(NAME), NULL)
 
 /* Finalize the named lock variable, which must be locked.  It cannot be
    used again until __libc_lock_init is called again on it.  This must be
@@ -267,6 +260,7 @@ extern int __pthread_mutexattr_settype (pthread_mutexattr_t *__attr,
 
 extern int __pthread_rwlock_init (pthread_rwlock_t *__rwlock,
 				  const pthread_rwlockattr_t *__attr);
+libc_hidden_proto (__pthread_rwlock_init)
 
 extern int __pthread_rwlock_destroy (pthread_rwlock_t *__rwlock);
 
@@ -299,7 +293,6 @@ weak_extern (__pthread_mutex_trylock)
 weak_extern (__pthread_mutexattr_init)
 weak_extern (__pthread_mutexattr_destroy)
 weak_extern (__pthread_mutexattr_settype)
-weak_extern (__pthread_rwlock_init)
 weak_extern (__pthread_rwlock_tryrdlock)
 weak_extern (__pthread_rwlock_trywrlock)
 weak_extern (__pthread_initialize)
diff --git a/sysdeps/unix/sysv/linux/aarch64/libc.abilist b/sysdeps/unix/sysv/linux/aarch64/libc.abilist
index 8e7de61692..49538b3773 100644
--- a/sysdeps/unix/sysv/linux/aarch64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/aarch64/libc.abilist
@@ -351,6 +351,7 @@ GLIBC_2.17 __pthread_mutexattr_init F
 GLIBC_2.17 __pthread_mutexattr_settype F
 GLIBC_2.17 __pthread_once F
 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_unlock F
 GLIBC_2.17 __pthread_rwlock_wrlock F
@@ -1502,6 +1503,7 @@ GLIBC_2.17 pthread_mutexattr_setrobust_np F
 GLIBC_2.17 pthread_mutexattr_settype F
 GLIBC_2.17 pthread_once F
 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_unlock F
 GLIBC_2.17 pthread_rwlock_wrlock F
@@ -2285,6 +2287,7 @@ GLIBC_2.34 pthread_once F
 GLIBC_2.34 pthread_rwlock_clockrdlock F
 GLIBC_2.34 pthread_rwlock_clockwrlock F
 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_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
diff --git a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
index ebdbdfa867..c6dee0cc25 100644
--- a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
@@ -4,7 +4,6 @@ GLIBC_2.17 _IO_funlockfile F
 GLIBC_2.17 __errno_location F
 GLIBC_2.17 __pthread_register_cancel F
 GLIBC_2.17 __pthread_register_cancel_defer F
-GLIBC_2.17 __pthread_rwlock_init F
 GLIBC_2.17 __pthread_rwlock_tryrdlock F
 GLIBC_2.17 __pthread_rwlock_trywrlock F
 GLIBC_2.17 __pthread_unregister_cancel F
@@ -35,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_init F
 GLIBC_2.17 pthread_rwlock_timedrdlock F
 GLIBC_2.17 pthread_rwlock_timedwrlock F
 GLIBC_2.17 pthread_rwlock_tryrdlock F
diff --git a/sysdeps/unix/sysv/linux/alpha/libc.abilist b/sysdeps/unix/sysv/linux/alpha/libc.abilist
index 396c786557..6336e2dd35 100644
--- a/sysdeps/unix/sysv/linux/alpha/libc.abilist
+++ b/sysdeps/unix/sysv/linux/alpha/libc.abilist
@@ -1607,6 +1607,7 @@ GLIBC_2.1 pthread_attr_init F
 GLIBC_2.1 pthread_mutexattr_gettype F
 GLIBC_2.1 pthread_mutexattr_settype F
 GLIBC_2.1 pthread_rwlock_destroy F
+GLIBC_2.1 pthread_rwlock_init F
 GLIBC_2.1 pthread_rwlock_rdlock F
 GLIBC_2.1 pthread_rwlock_unlock F
 GLIBC_2.1 pthread_rwlock_wrlock F
@@ -1887,6 +1888,7 @@ GLIBC_2.2 __nl_langinfo_l F
 GLIBC_2.2 __open64 F
 GLIBC_2.2 __pread64 F
 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_unlock F
 GLIBC_2.2 __pthread_rwlock_wrlock F
@@ -2366,6 +2368,7 @@ GLIBC_2.34 pthread_once F
 GLIBC_2.34 pthread_rwlock_clockrdlock F
 GLIBC_2.34 pthread_rwlock_clockwrlock F
 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_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
diff --git a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
index b80868c5da..0189fc6a88 100644
--- a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
@@ -24,7 +24,6 @@ GLIBC_2.1 pthread_attr_setstackaddr F
 GLIBC_2.1 pthread_attr_setstacksize F
 GLIBC_2.1 pthread_create F
 GLIBC_2.1 pthread_getconcurrency F
-GLIBC_2.1 pthread_rwlock_init F
 GLIBC_2.1 pthread_rwlock_tryrdlock F
 GLIBC_2.1 pthread_rwlock_trywrlock F
 GLIBC_2.1 pthread_rwlockattr_destroy F
@@ -49,7 +48,6 @@ GLIBC_2.12 pthread_getname_np F
 GLIBC_2.12 pthread_setname_np F
 GLIBC_2.18 pthread_getattr_default_np F
 GLIBC_2.18 pthread_setattr_default_np F
-GLIBC_2.2 __pthread_rwlock_init F
 GLIBC_2.2 __pthread_rwlock_tryrdlock F
 GLIBC_2.2 __pthread_rwlock_trywrlock F
 GLIBC_2.2 pthread_attr_getstack F
diff --git a/sysdeps/unix/sysv/linux/arc/libc.abilist b/sysdeps/unix/sysv/linux/arc/libc.abilist
index 832ac4e217..a5fff26d3a 100644
--- a/sysdeps/unix/sysv/linux/arc/libc.abilist
+++ b/sysdeps/unix/sysv/linux/arc/libc.abilist
@@ -340,6 +340,7 @@ GLIBC_2.32 __pthread_mutexattr_init F
 GLIBC_2.32 __pthread_mutexattr_settype F
 GLIBC_2.32 __pthread_once F
 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_unlock F
 GLIBC_2.32 __pthread_rwlock_wrlock F
@@ -1432,6 +1433,7 @@ GLIBC_2.32 pthread_once F
 GLIBC_2.32 pthread_rwlock_clockrdlock F
 GLIBC_2.32 pthread_rwlock_clockwrlock F
 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_unlock F
 GLIBC_2.32 pthread_rwlock_wrlock F
@@ -2044,6 +2046,7 @@ GLIBC_2.34 pthread_once F
 GLIBC_2.34 pthread_rwlock_clockrdlock F
 GLIBC_2.34 pthread_rwlock_clockwrlock F
 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_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
diff --git a/sysdeps/unix/sysv/linux/arc/libpthread.abilist b/sysdeps/unix/sysv/linux/arc/libpthread.abilist
index 0d819a63b1..d71f38bf24 100644
--- a/sysdeps/unix/sysv/linux/arc/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/arc/libpthread.abilist
@@ -4,7 +4,6 @@ GLIBC_2.32 _IO_funlockfile F
 GLIBC_2.32 __errno_location F
 GLIBC_2.32 __pthread_register_cancel F
 GLIBC_2.32 __pthread_register_cancel_defer F
-GLIBC_2.32 __pthread_rwlock_init F
 GLIBC_2.32 __pthread_rwlock_tryrdlock F
 GLIBC_2.32 __pthread_rwlock_trywrlock F
 GLIBC_2.32 __pthread_unregister_cancel F
@@ -50,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_init F
 GLIBC_2.32 pthread_rwlock_timedrdlock F
 GLIBC_2.32 pthread_rwlock_timedwrlock F
 GLIBC_2.32 pthread_rwlock_tryrdlock F
diff --git a/sysdeps/unix/sysv/linux/arm/be/libc.abilist b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
index dcba73cb45..6595cad027 100644
--- a/sysdeps/unix/sysv/linux/arm/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
@@ -207,6 +207,7 @@ GLIBC_2.34 pthread_once F
 GLIBC_2.34 pthread_rwlock_clockrdlock F
 GLIBC_2.34 pthread_rwlock_clockwrlock F
 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_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
@@ -556,6 +557,7 @@ GLIBC_2.4 __pthread_mutexattr_init F
 GLIBC_2.4 __pthread_mutexattr_settype F
 GLIBC_2.4 __pthread_once F
 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_unlock F
 GLIBC_2.4 __pthread_rwlock_wrlock F
@@ -1651,6 +1653,7 @@ GLIBC_2.4 pthread_mutexattr_setrobust_np F
 GLIBC_2.4 pthread_mutexattr_settype F
 GLIBC_2.4 pthread_once F
 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_unlock F
 GLIBC_2.4 pthread_rwlock_wrlock F
diff --git a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
index 85d9816c4e..1340d32c7f 100644
--- a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
@@ -33,7 +33,6 @@ GLIBC_2.4 __errno_location F
 GLIBC_2.4 __libpthread_version_placeholder F
 GLIBC_2.4 __pthread_register_cancel F
 GLIBC_2.4 __pthread_register_cancel_defer F
-GLIBC_2.4 __pthread_rwlock_init F
 GLIBC_2.4 __pthread_rwlock_tryrdlock F
 GLIBC_2.4 __pthread_rwlock_trywrlock F
 GLIBC_2.4 __pthread_unregister_cancel F
@@ -63,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_init F
 GLIBC_2.4 pthread_rwlock_timedrdlock F
 GLIBC_2.4 pthread_rwlock_timedwrlock F
 GLIBC_2.4 pthread_rwlock_tryrdlock F
diff --git a/sysdeps/unix/sysv/linux/arm/le/libc.abilist b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
index d401b85fc9..f4dbe63497 100644
--- a/sysdeps/unix/sysv/linux/arm/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
@@ -204,6 +204,7 @@ GLIBC_2.34 pthread_once F
 GLIBC_2.34 pthread_rwlock_clockrdlock F
 GLIBC_2.34 pthread_rwlock_clockwrlock F
 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_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
@@ -553,6 +554,7 @@ GLIBC_2.4 __pthread_mutexattr_init F
 GLIBC_2.4 __pthread_mutexattr_settype F
 GLIBC_2.4 __pthread_once F
 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_unlock F
 GLIBC_2.4 __pthread_rwlock_wrlock F
@@ -1648,6 +1650,7 @@ GLIBC_2.4 pthread_mutexattr_setrobust_np F
 GLIBC_2.4 pthread_mutexattr_settype F
 GLIBC_2.4 pthread_once F
 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_unlock F
 GLIBC_2.4 pthread_rwlock_wrlock F
diff --git a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
index 85d9816c4e..1340d32c7f 100644
--- a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
@@ -33,7 +33,6 @@ GLIBC_2.4 __errno_location F
 GLIBC_2.4 __libpthread_version_placeholder F
 GLIBC_2.4 __pthread_register_cancel F
 GLIBC_2.4 __pthread_register_cancel_defer F
-GLIBC_2.4 __pthread_rwlock_init F
 GLIBC_2.4 __pthread_rwlock_tryrdlock F
 GLIBC_2.4 __pthread_rwlock_trywrlock F
 GLIBC_2.4 __pthread_unregister_cancel F
@@ -63,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_init F
 GLIBC_2.4 pthread_rwlock_timedrdlock F
 GLIBC_2.4 pthread_rwlock_timedwrlock F
 GLIBC_2.4 pthread_rwlock_tryrdlock F
diff --git a/sysdeps/unix/sysv/linux/csky/libc.abilist b/sysdeps/unix/sysv/linux/csky/libc.abilist
index a99d18b478..c0a28cd1d4 100644
--- a/sysdeps/unix/sysv/linux/csky/libc.abilist
+++ b/sysdeps/unix/sysv/linux/csky/libc.abilist
@@ -344,6 +344,7 @@ GLIBC_2.29 __pthread_mutexattr_init F
 GLIBC_2.29 __pthread_mutexattr_settype F
 GLIBC_2.29 __pthread_once F
 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_unlock F
 GLIBC_2.29 __pthread_rwlock_wrlock F
@@ -1489,6 +1490,7 @@ GLIBC_2.29 pthread_mutexattr_setrobust_np F
 GLIBC_2.29 pthread_mutexattr_settype F
 GLIBC_2.29 pthread_once F
 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_unlock F
 GLIBC_2.29 pthread_rwlock_wrlock F
@@ -2228,6 +2230,7 @@ GLIBC_2.34 pthread_once F
 GLIBC_2.34 pthread_rwlock_clockrdlock F
 GLIBC_2.34 pthread_rwlock_clockwrlock F
 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_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
diff --git a/sysdeps/unix/sysv/linux/csky/libpthread.abilist b/sysdeps/unix/sysv/linux/csky/libpthread.abilist
index 21d9318f9a..8c2eacba71 100644
--- a/sysdeps/unix/sysv/linux/csky/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/csky/libpthread.abilist
@@ -4,7 +4,6 @@ GLIBC_2.29 _IO_funlockfile F
 GLIBC_2.29 __errno_location F
 GLIBC_2.29 __pthread_register_cancel F
 GLIBC_2.29 __pthread_register_cancel_defer F
-GLIBC_2.29 __pthread_rwlock_init F
 GLIBC_2.29 __pthread_rwlock_tryrdlock F
 GLIBC_2.29 __pthread_rwlock_trywrlock F
 GLIBC_2.29 __pthread_unregister_cancel F
@@ -49,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_init F
 GLIBC_2.29 pthread_rwlock_timedrdlock F
 GLIBC_2.29 pthread_rwlock_timedwrlock F
 GLIBC_2.29 pthread_rwlock_tryrdlock F
diff --git a/sysdeps/unix/sysv/linux/hppa/libc.abilist b/sysdeps/unix/sysv/linux/hppa/libc.abilist
index 7d0c716a6d..50253bac3f 100644
--- a/sysdeps/unix/sysv/linux/hppa/libc.abilist
+++ b/sysdeps/unix/sysv/linux/hppa/libc.abilist
@@ -370,6 +370,7 @@ GLIBC_2.2 __pthread_mutexattr_init F
 GLIBC_2.2 __pthread_mutexattr_settype F
 GLIBC_2.2 __pthread_once F
 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_unlock F
 GLIBC_2.2 __pthread_rwlock_wrlock F
@@ -1313,6 +1314,7 @@ GLIBC_2.2 pthread_mutexattr_setpshared F
 GLIBC_2.2 pthread_mutexattr_settype F
 GLIBC_2.2 pthread_once F
 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_unlock F
 GLIBC_2.2 pthread_rwlock_wrlock F
@@ -2179,6 +2181,7 @@ GLIBC_2.34 pthread_once F
 GLIBC_2.34 pthread_rwlock_clockrdlock F
 GLIBC_2.34 pthread_rwlock_clockwrlock F
 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_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
diff --git a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
index 82bc0321f5..52da9c0a32 100644
--- a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
@@ -7,7 +7,6 @@ GLIBC_2.2 _IO_flockfile F
 GLIBC_2.2 _IO_ftrylockfile F
 GLIBC_2.2 _IO_funlockfile F
 GLIBC_2.2 __errno_location F
-GLIBC_2.2 __pthread_rwlock_init F
 GLIBC_2.2 __pthread_rwlock_tryrdlock F
 GLIBC_2.2 __pthread_rwlock_trywrlock F
 GLIBC_2.2 flockfile F
@@ -33,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_init F
 GLIBC_2.2 pthread_rwlock_timedrdlock F
 GLIBC_2.2 pthread_rwlock_timedwrlock F
 GLIBC_2.2 pthread_rwlock_tryrdlock F
diff --git a/sysdeps/unix/sysv/linux/i386/libc.abilist b/sysdeps/unix/sysv/linux/i386/libc.abilist
index 906baf44bf..4a6e8cf210 100644
--- a/sysdeps/unix/sysv/linux/i386/libc.abilist
+++ b/sysdeps/unix/sysv/linux/i386/libc.abilist
@@ -1575,6 +1575,7 @@ GLIBC_2.1 pthread_attr_init F
 GLIBC_2.1 pthread_mutexattr_gettype F
 GLIBC_2.1 pthread_mutexattr_settype F
 GLIBC_2.1 pthread_rwlock_destroy F
+GLIBC_2.1 pthread_rwlock_init F
 GLIBC_2.1 pthread_rwlock_rdlock F
 GLIBC_2.1 pthread_rwlock_unlock F
 GLIBC_2.1 pthread_rwlock_wrlock F
@@ -1891,6 +1892,7 @@ GLIBC_2.2 __nl_langinfo_l F
 GLIBC_2.2 __open64 F
 GLIBC_2.2 __pread64 F
 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_unlock F
 GLIBC_2.2 __pthread_rwlock_wrlock F
@@ -2356,6 +2358,7 @@ GLIBC_2.34 pthread_once F
 GLIBC_2.34 pthread_rwlock_clockrdlock F
 GLIBC_2.34 pthread_rwlock_clockwrlock F
 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_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
diff --git a/sysdeps/unix/sysv/linux/i386/libpthread.abilist b/sysdeps/unix/sysv/linux/i386/libpthread.abilist
index ad2e81096d..a0daef9d41 100644
--- a/sysdeps/unix/sysv/linux/i386/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/i386/libpthread.abilist
@@ -24,7 +24,6 @@ GLIBC_2.1 pthread_attr_setstackaddr F
 GLIBC_2.1 pthread_attr_setstacksize F
 GLIBC_2.1 pthread_create F
 GLIBC_2.1 pthread_getconcurrency F
-GLIBC_2.1 pthread_rwlock_init F
 GLIBC_2.1 pthread_rwlock_tryrdlock F
 GLIBC_2.1 pthread_rwlock_trywrlock F
 GLIBC_2.1 pthread_rwlockattr_destroy F
@@ -49,7 +48,6 @@ GLIBC_2.12 pthread_getname_np F
 GLIBC_2.12 pthread_setname_np F
 GLIBC_2.18 pthread_getattr_default_np F
 GLIBC_2.18 pthread_setattr_default_np F
-GLIBC_2.2 __pthread_rwlock_init F
 GLIBC_2.2 __pthread_rwlock_tryrdlock F
 GLIBC_2.2 __pthread_rwlock_trywrlock F
 GLIBC_2.2 pthread_attr_getstack F
diff --git a/sysdeps/unix/sysv/linux/ia64/libc.abilist b/sysdeps/unix/sysv/linux/ia64/libc.abilist
index f92ae402f9..ba34d9e68f 100644
--- a/sysdeps/unix/sysv/linux/ia64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/ia64/libc.abilist
@@ -374,6 +374,7 @@ GLIBC_2.2 __pthread_mutexattr_init F
 GLIBC_2.2 __pthread_mutexattr_settype F
 GLIBC_2.2 __pthread_once F
 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_unlock F
 GLIBC_2.2 __pthread_rwlock_wrlock F
@@ -1334,6 +1335,7 @@ GLIBC_2.2 pthread_mutexattr_setpshared F
 GLIBC_2.2 pthread_mutexattr_settype F
 GLIBC_2.2 pthread_once F
 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_unlock F
 GLIBC_2.2 pthread_rwlock_wrlock F
@@ -2213,6 +2215,7 @@ GLIBC_2.34 pthread_once F
 GLIBC_2.34 pthread_rwlock_clockrdlock F
 GLIBC_2.34 pthread_rwlock_clockwrlock F
 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_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
diff --git a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
index 6d11adb7da..5d186fc586 100644
--- a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
@@ -7,7 +7,6 @@ GLIBC_2.2 _IO_flockfile F
 GLIBC_2.2 _IO_ftrylockfile F
 GLIBC_2.2 _IO_funlockfile F
 GLIBC_2.2 __errno_location F
-GLIBC_2.2 __pthread_rwlock_init F
 GLIBC_2.2 __pthread_rwlock_tryrdlock F
 GLIBC_2.2 __pthread_rwlock_trywrlock F
 GLIBC_2.2 flockfile F
@@ -33,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_init F
 GLIBC_2.2 pthread_rwlock_timedrdlock F
 GLIBC_2.2 pthread_rwlock_timedwrlock F
 GLIBC_2.2 pthread_rwlock_tryrdlock F
diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
index cb6bd2ec33..2a31f0acd5 100644
--- a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
@@ -208,6 +208,7 @@ GLIBC_2.34 pthread_once F
 GLIBC_2.34 pthread_rwlock_clockrdlock F
 GLIBC_2.34 pthread_rwlock_clockwrlock F
 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_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
@@ -542,6 +543,7 @@ GLIBC_2.4 __pthread_mutexattr_init F
 GLIBC_2.4 __pthread_mutexattr_settype F
 GLIBC_2.4 __pthread_once F
 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_unlock F
 GLIBC_2.4 __pthread_rwlock_wrlock F
@@ -1631,6 +1633,7 @@ GLIBC_2.4 pthread_mutexattr_setrobust_np F
 GLIBC_2.4 pthread_mutexattr_settype F
 GLIBC_2.4 pthread_once F
 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_unlock F
 GLIBC_2.4 pthread_rwlock_wrlock F
diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
index 85d9816c4e..1340d32c7f 100644
--- a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
@@ -33,7 +33,6 @@ GLIBC_2.4 __errno_location F
 GLIBC_2.4 __libpthread_version_placeholder F
 GLIBC_2.4 __pthread_register_cancel F
 GLIBC_2.4 __pthread_register_cancel_defer F
-GLIBC_2.4 __pthread_rwlock_init F
 GLIBC_2.4 __pthread_rwlock_tryrdlock F
 GLIBC_2.4 __pthread_rwlock_trywrlock F
 GLIBC_2.4 __pthread_unregister_cancel F
@@ -63,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_init F
 GLIBC_2.4 pthread_rwlock_timedrdlock F
 GLIBC_2.4 pthread_rwlock_timedwrlock F
 GLIBC_2.4 pthread_rwlock_tryrdlock F
diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
index 5e1c0c5f92..4528a06d6f 100644
--- a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
@@ -1571,6 +1571,7 @@ GLIBC_2.1 pthread_attr_init F
 GLIBC_2.1 pthread_mutexattr_gettype F
 GLIBC_2.1 pthread_mutexattr_settype F
 GLIBC_2.1 pthread_rwlock_destroy F
+GLIBC_2.1 pthread_rwlock_init F
 GLIBC_2.1 pthread_rwlock_rdlock F
 GLIBC_2.1 pthread_rwlock_unlock F
 GLIBC_2.1 pthread_rwlock_wrlock F
@@ -1847,6 +1848,7 @@ GLIBC_2.2 __nl_langinfo_l F
 GLIBC_2.2 __open64 F
 GLIBC_2.2 __pread64 F
 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_unlock F
 GLIBC_2.2 __pthread_rwlock_wrlock F
@@ -2299,6 +2301,7 @@ GLIBC_2.34 pthread_once F
 GLIBC_2.34 pthread_rwlock_clockrdlock F
 GLIBC_2.34 pthread_rwlock_clockwrlock F
 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_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
index ad2e81096d..a0daef9d41 100644
--- a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
@@ -24,7 +24,6 @@ GLIBC_2.1 pthread_attr_setstackaddr F
 GLIBC_2.1 pthread_attr_setstacksize F
 GLIBC_2.1 pthread_create F
 GLIBC_2.1 pthread_getconcurrency F
-GLIBC_2.1 pthread_rwlock_init F
 GLIBC_2.1 pthread_rwlock_tryrdlock F
 GLIBC_2.1 pthread_rwlock_trywrlock F
 GLIBC_2.1 pthread_rwlockattr_destroy F
@@ -49,7 +48,6 @@ GLIBC_2.12 pthread_getname_np F
 GLIBC_2.12 pthread_setname_np F
 GLIBC_2.18 pthread_getattr_default_np F
 GLIBC_2.18 pthread_setattr_default_np F
-GLIBC_2.2 __pthread_rwlock_init F
 GLIBC_2.2 __pthread_rwlock_tryrdlock F
 GLIBC_2.2 __pthread_rwlock_trywrlock F
 GLIBC_2.2 pthread_attr_getstack F
diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
index 824dea1e05..0f6be8c0f2 100644
--- a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
@@ -352,6 +352,7 @@ GLIBC_2.18 __pthread_mutexattr_init F
 GLIBC_2.18 __pthread_mutexattr_settype F
 GLIBC_2.18 __pthread_once F
 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_unlock F
 GLIBC_2.18 __pthread_rwlock_wrlock F
@@ -1504,6 +1505,7 @@ GLIBC_2.18 pthread_mutexattr_setrobust_np F
 GLIBC_2.18 pthread_mutexattr_settype F
 GLIBC_2.18 pthread_once F
 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_unlock F
 GLIBC_2.18 pthread_rwlock_wrlock F
@@ -2279,6 +2281,7 @@ GLIBC_2.34 pthread_once F
 GLIBC_2.34 pthread_rwlock_clockrdlock F
 GLIBC_2.34 pthread_rwlock_clockwrlock F
 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_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
index 7d0c9cf145..968fcfd1df 100644
--- a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
@@ -4,7 +4,6 @@ GLIBC_2.18 _IO_funlockfile F
 GLIBC_2.18 __errno_location F
 GLIBC_2.18 __pthread_register_cancel F
 GLIBC_2.18 __pthread_register_cancel_defer F
-GLIBC_2.18 __pthread_rwlock_init F
 GLIBC_2.18 __pthread_rwlock_tryrdlock F
 GLIBC_2.18 __pthread_rwlock_trywrlock F
 GLIBC_2.18 __pthread_unregister_cancel F
@@ -36,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_init F
 GLIBC_2.18 pthread_rwlock_timedrdlock F
 GLIBC_2.18 pthread_rwlock_timedwrlock F
 GLIBC_2.18 pthread_rwlock_tryrdlock F
diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
index 177bd7f5e4..a024c588b1 100644
--- a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
@@ -352,6 +352,7 @@ GLIBC_2.18 __pthread_mutexattr_init F
 GLIBC_2.18 __pthread_mutexattr_settype F
 GLIBC_2.18 __pthread_once F
 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_unlock F
 GLIBC_2.18 __pthread_rwlock_wrlock F
@@ -1504,6 +1505,7 @@ GLIBC_2.18 pthread_mutexattr_setrobust_np F
 GLIBC_2.18 pthread_mutexattr_settype F
 GLIBC_2.18 pthread_once F
 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_unlock F
 GLIBC_2.18 pthread_rwlock_wrlock F
@@ -2276,6 +2278,7 @@ GLIBC_2.34 pthread_once F
 GLIBC_2.34 pthread_rwlock_clockrdlock F
 GLIBC_2.34 pthread_rwlock_clockwrlock F
 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_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
index 7d0c9cf145..968fcfd1df 100644
--- a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
@@ -4,7 +4,6 @@ GLIBC_2.18 _IO_funlockfile F
 GLIBC_2.18 __errno_location F
 GLIBC_2.18 __pthread_register_cancel F
 GLIBC_2.18 __pthread_register_cancel_defer F
-GLIBC_2.18 __pthread_rwlock_init F
 GLIBC_2.18 __pthread_rwlock_tryrdlock F
 GLIBC_2.18 __pthread_rwlock_trywrlock F
 GLIBC_2.18 __pthread_unregister_cancel F
@@ -36,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_init F
 GLIBC_2.18 pthread_rwlock_timedrdlock F
 GLIBC_2.18 pthread_rwlock_timedwrlock F
 GLIBC_2.18 pthread_rwlock_tryrdlock F
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
index db80dbe227..f70ab56969 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
@@ -1545,6 +1545,7 @@ GLIBC_2.2 __open64 F
 GLIBC_2.2 __poll F
 GLIBC_2.2 __pread64 F
 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_unlock F
 GLIBC_2.2 __pthread_rwlock_wrlock F
@@ -1843,6 +1844,7 @@ GLIBC_2.2 pthread_mutexattr_gettype F
 GLIBC_2.2 pthread_mutexattr_setpshared F
 GLIBC_2.2 pthread_mutexattr_settype F
 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_unlock F
 GLIBC_2.2 pthread_rwlock_wrlock F
@@ -2262,6 +2264,7 @@ GLIBC_2.34 pthread_once F
 GLIBC_2.34 pthread_rwlock_clockrdlock F
 GLIBC_2.34 pthread_rwlock_clockwrlock F
 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_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
index 14e375c8da..a09a4dc5e3 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
@@ -21,7 +21,6 @@ GLIBC_2.12 pthread_getname_np F
 GLIBC_2.12 pthread_setname_np F
 GLIBC_2.18 pthread_getattr_default_np F
 GLIBC_2.18 pthread_setattr_default_np F
-GLIBC_2.2 __pthread_rwlock_init F
 GLIBC_2.2 __pthread_rwlock_tryrdlock F
 GLIBC_2.2 __pthread_rwlock_trywrlock F
 GLIBC_2.2 pthread_attr_getguardsize F
@@ -41,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_init F
 GLIBC_2.2 pthread_rwlock_timedrdlock F
 GLIBC_2.2 pthread_rwlock_timedwrlock F
 GLIBC_2.2 pthread_rwlock_tryrdlock F
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
index 46fbef56f2..996626fc69 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
@@ -1543,6 +1543,7 @@ GLIBC_2.2 __open64 F
 GLIBC_2.2 __poll F
 GLIBC_2.2 __pread64 F
 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_unlock F
 GLIBC_2.2 __pthread_rwlock_wrlock F
@@ -1841,6 +1842,7 @@ GLIBC_2.2 pthread_mutexattr_gettype F
 GLIBC_2.2 pthread_mutexattr_setpshared F
 GLIBC_2.2 pthread_mutexattr_settype F
 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_unlock F
 GLIBC_2.2 pthread_rwlock_wrlock F
@@ -2260,6 +2262,7 @@ GLIBC_2.34 pthread_once F
 GLIBC_2.34 pthread_rwlock_clockrdlock F
 GLIBC_2.34 pthread_rwlock_clockwrlock F
 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_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
index 14e375c8da..a09a4dc5e3 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
@@ -21,7 +21,6 @@ GLIBC_2.12 pthread_getname_np F
 GLIBC_2.12 pthread_setname_np F
 GLIBC_2.18 pthread_getattr_default_np F
 GLIBC_2.18 pthread_setattr_default_np F
-GLIBC_2.2 __pthread_rwlock_init F
 GLIBC_2.2 __pthread_rwlock_tryrdlock F
 GLIBC_2.2 __pthread_rwlock_trywrlock F
 GLIBC_2.2 pthread_attr_getguardsize F
@@ -41,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_init F
 GLIBC_2.2 pthread_rwlock_timedrdlock F
 GLIBC_2.2 pthread_rwlock_timedwrlock F
 GLIBC_2.2 pthread_rwlock_tryrdlock F
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
index 02b3a04e1d..fcef7cf463 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
@@ -1543,6 +1543,7 @@ GLIBC_2.2 __open64 F
 GLIBC_2.2 __poll F
 GLIBC_2.2 __pread64 F
 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_unlock F
 GLIBC_2.2 __pthread_rwlock_wrlock F
@@ -1841,6 +1842,7 @@ GLIBC_2.2 pthread_mutexattr_gettype F
 GLIBC_2.2 pthread_mutexattr_setpshared F
 GLIBC_2.2 pthread_mutexattr_settype F
 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_unlock F
 GLIBC_2.2 pthread_rwlock_wrlock F
@@ -2268,6 +2270,7 @@ GLIBC_2.34 pthread_once F
 GLIBC_2.34 pthread_rwlock_clockrdlock F
 GLIBC_2.34 pthread_rwlock_clockwrlock F
 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_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
index ffbd2d7e1a..e6425649d7 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
@@ -1539,6 +1539,7 @@ GLIBC_2.2 __open64 F
 GLIBC_2.2 __poll F
 GLIBC_2.2 __pread64 F
 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_unlock F
 GLIBC_2.2 __pthread_rwlock_wrlock F
@@ -1837,6 +1838,7 @@ GLIBC_2.2 pthread_mutexattr_gettype F
 GLIBC_2.2 pthread_mutexattr_setpshared F
 GLIBC_2.2 pthread_mutexattr_settype F
 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_unlock F
 GLIBC_2.2 pthread_rwlock_wrlock F
@@ -2262,6 +2264,7 @@ GLIBC_2.34 pthread_once F
 GLIBC_2.34 pthread_rwlock_clockrdlock F
 GLIBC_2.34 pthread_rwlock_clockwrlock F
 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_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
diff --git a/sysdeps/unix/sysv/linux/nios2/libc.abilist b/sysdeps/unix/sysv/linux/nios2/libc.abilist
index 5a5b32e243..28b29918a8 100644
--- a/sysdeps/unix/sysv/linux/nios2/libc.abilist
+++ b/sysdeps/unix/sysv/linux/nios2/libc.abilist
@@ -389,6 +389,7 @@ GLIBC_2.21 __pthread_mutexattr_init F
 GLIBC_2.21 __pthread_mutexattr_settype F
 GLIBC_2.21 __pthread_once F
 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_unlock F
 GLIBC_2.21 __pthread_rwlock_wrlock F
@@ -1547,6 +1548,7 @@ GLIBC_2.21 pthread_mutexattr_setrobust_np F
 GLIBC_2.21 pthread_mutexattr_settype F
 GLIBC_2.21 pthread_once F
 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_unlock F
 GLIBC_2.21 pthread_rwlock_wrlock F
@@ -2318,6 +2320,7 @@ GLIBC_2.34 pthread_once F
 GLIBC_2.34 pthread_rwlock_clockrdlock F
 GLIBC_2.34 pthread_rwlock_clockwrlock F
 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_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
diff --git a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
index 547413fcf0..a13844bb1d 100644
--- a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
@@ -4,7 +4,6 @@ GLIBC_2.21 _IO_funlockfile F
 GLIBC_2.21 __errno_location F
 GLIBC_2.21 __pthread_register_cancel F
 GLIBC_2.21 __pthread_register_cancel_defer F
-GLIBC_2.21 __pthread_rwlock_init F
 GLIBC_2.21 __pthread_rwlock_tryrdlock F
 GLIBC_2.21 __pthread_rwlock_trywrlock F
 GLIBC_2.21 __pthread_unregister_cancel F
@@ -36,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_init F
 GLIBC_2.21 pthread_rwlock_timedrdlock F
 GLIBC_2.21 pthread_rwlock_timedwrlock F
 GLIBC_2.21 pthread_rwlock_tryrdlock F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
index 80fed3fb6c..7ef1e07d22 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
@@ -1579,6 +1579,7 @@ GLIBC_2.1 pthread_attr_init F
 GLIBC_2.1 pthread_mutexattr_gettype F
 GLIBC_2.1 pthread_mutexattr_settype F
 GLIBC_2.1 pthread_rwlock_destroy F
+GLIBC_2.1 pthread_rwlock_init F
 GLIBC_2.1 pthread_rwlock_rdlock F
 GLIBC_2.1 pthread_rwlock_unlock F
 GLIBC_2.1 pthread_rwlock_wrlock F
@@ -1853,6 +1854,7 @@ GLIBC_2.2 __nl_langinfo_l F
 GLIBC_2.2 __open64 F
 GLIBC_2.2 __pread64 F
 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_unlock F
 GLIBC_2.2 __pthread_rwlock_wrlock F
@@ -2326,6 +2328,7 @@ GLIBC_2.34 pthread_once F
 GLIBC_2.34 pthread_rwlock_clockrdlock F
 GLIBC_2.34 pthread_rwlock_clockwrlock F
 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_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
index aff96f37d4..8c16c499ad 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
@@ -24,7 +24,6 @@ GLIBC_2.1 pthread_attr_setstackaddr F
 GLIBC_2.1 pthread_attr_setstacksize F
 GLIBC_2.1 pthread_create F
 GLIBC_2.1 pthread_getconcurrency F
-GLIBC_2.1 pthread_rwlock_init F
 GLIBC_2.1 pthread_rwlock_tryrdlock F
 GLIBC_2.1 pthread_rwlock_trywrlock F
 GLIBC_2.1 pthread_rwlockattr_destroy F
@@ -49,7 +48,6 @@ GLIBC_2.12 pthread_getname_np F
 GLIBC_2.12 pthread_setname_np F
 GLIBC_2.18 pthread_getattr_default_np F
 GLIBC_2.18 pthread_setattr_default_np F
-GLIBC_2.2 __pthread_rwlock_init F
 GLIBC_2.2 __pthread_rwlock_tryrdlock F
 GLIBC_2.2 __pthread_rwlock_trywrlock F
 GLIBC_2.2 pthread_attr_getstack F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
index 1673ad274d..a125dae857 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
@@ -1579,6 +1579,7 @@ GLIBC_2.1 pthread_attr_init F
 GLIBC_2.1 pthread_mutexattr_gettype F
 GLIBC_2.1 pthread_mutexattr_settype F
 GLIBC_2.1 pthread_rwlock_destroy F
+GLIBC_2.1 pthread_rwlock_init F
 GLIBC_2.1 pthread_rwlock_rdlock F
 GLIBC_2.1 pthread_rwlock_unlock F
 GLIBC_2.1 pthread_rwlock_wrlock F
@@ -1857,6 +1858,7 @@ GLIBC_2.2 __nl_langinfo_l F
 GLIBC_2.2 __open64 F
 GLIBC_2.2 __pread64 F
 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_unlock F
 GLIBC_2.2 __pthread_rwlock_wrlock F
@@ -2359,6 +2361,7 @@ GLIBC_2.34 pthread_once F
 GLIBC_2.34 pthread_rwlock_clockrdlock F
 GLIBC_2.34 pthread_rwlock_clockwrlock F
 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_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
index dd4d6d1fcc..90f7f52f9b 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
@@ -423,6 +423,7 @@ GLIBC_2.3 __pthread_mutexattr_init F
 GLIBC_2.3 __pthread_mutexattr_settype F
 GLIBC_2.3 __pthread_once F
 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_unlock F
 GLIBC_2.3 __pthread_rwlock_wrlock F
@@ -1419,6 +1420,7 @@ GLIBC_2.3 pthread_mutexattr_setpshared F
 GLIBC_2.3 pthread_mutexattr_settype F
 GLIBC_2.3 pthread_once F
 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_unlock F
 GLIBC_2.3 pthread_rwlock_wrlock F
@@ -2180,6 +2182,7 @@ GLIBC_2.34 pthread_once F
 GLIBC_2.34 pthread_rwlock_clockrdlock F
 GLIBC_2.34 pthread_rwlock_clockwrlock F
 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_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
index 558fb1b7db..099a75abb3 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
@@ -28,7 +28,6 @@ GLIBC_2.3 _IO_flockfile F
 GLIBC_2.3 _IO_ftrylockfile F
 GLIBC_2.3 _IO_funlockfile F
 GLIBC_2.3 __errno_location F
-GLIBC_2.3 __pthread_rwlock_init F
 GLIBC_2.3 __pthread_rwlock_tryrdlock F
 GLIBC_2.3 __pthread_rwlock_trywrlock F
 GLIBC_2.3 flockfile F
@@ -54,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_init F
 GLIBC_2.3 pthread_rwlock_timedrdlock F
 GLIBC_2.3 pthread_rwlock_timedwrlock F
 GLIBC_2.3 pthread_rwlock_tryrdlock F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
index 9c3dba4573..203e333287 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
@@ -437,6 +437,7 @@ GLIBC_2.17 __pthread_mutexattr_init F
 GLIBC_2.17 __pthread_mutexattr_settype F
 GLIBC_2.17 __pthread_once F
 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_unlock F
 GLIBC_2.17 __pthread_rwlock_wrlock F
@@ -1590,6 +1591,7 @@ GLIBC_2.17 pthread_mutexattr_setrobust_np F
 GLIBC_2.17 pthread_mutexattr_settype F
 GLIBC_2.17 pthread_once F
 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_unlock F
 GLIBC_2.17 pthread_rwlock_wrlock F
@@ -2481,6 +2483,7 @@ GLIBC_2.34 pthread_once F
 GLIBC_2.34 pthread_rwlock_clockrdlock F
 GLIBC_2.34 pthread_rwlock_clockwrlock F
 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_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
index ebdbdfa867..c6dee0cc25 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
@@ -4,7 +4,6 @@ GLIBC_2.17 _IO_funlockfile F
 GLIBC_2.17 __errno_location F
 GLIBC_2.17 __pthread_register_cancel F
 GLIBC_2.17 __pthread_register_cancel_defer F
-GLIBC_2.17 __pthread_rwlock_init F
 GLIBC_2.17 __pthread_rwlock_tryrdlock F
 GLIBC_2.17 __pthread_rwlock_trywrlock F
 GLIBC_2.17 __pthread_unregister_cancel F
@@ -35,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_init F
 GLIBC_2.17 pthread_rwlock_timedrdlock F
 GLIBC_2.17 pthread_rwlock_timedwrlock F
 GLIBC_2.17 pthread_rwlock_tryrdlock F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
index 44ab3eacef..5754bd09b5 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
@@ -337,6 +337,7 @@ GLIBC_2.33 __pthread_mutexattr_init F
 GLIBC_2.33 __pthread_mutexattr_settype F
 GLIBC_2.33 __pthread_once F
 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_unlock F
 GLIBC_2.33 __pthread_rwlock_wrlock F
@@ -1434,6 +1435,7 @@ GLIBC_2.33 pthread_once F
 GLIBC_2.33 pthread_rwlock_clockrdlock F
 GLIBC_2.33 pthread_rwlock_clockwrlock F
 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_unlock F
 GLIBC_2.33 pthread_rwlock_wrlock F
@@ -2046,6 +2048,7 @@ GLIBC_2.34 pthread_once F
 GLIBC_2.34 pthread_rwlock_clockrdlock F
 GLIBC_2.34 pthread_rwlock_clockwrlock F
 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_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
index d2c8879f18..5774e8e989 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
@@ -4,7 +4,6 @@ GLIBC_2.33 _IO_funlockfile F
 GLIBC_2.33 __errno_location F
 GLIBC_2.33 __pthread_register_cancel F
 GLIBC_2.33 __pthread_register_cancel_defer F
-GLIBC_2.33 __pthread_rwlock_init F
 GLIBC_2.33 __pthread_rwlock_tryrdlock F
 GLIBC_2.33 __pthread_rwlock_trywrlock F
 GLIBC_2.33 __pthread_unregister_cancel F
@@ -50,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_init F
 GLIBC_2.33 pthread_rwlock_timedrdlock F
 GLIBC_2.33 pthread_rwlock_timedwrlock F
 GLIBC_2.33 pthread_rwlock_tryrdlock F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
index b79b1f6726..a63dc8cf06 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
@@ -348,6 +348,7 @@ GLIBC_2.27 __pthread_mutexattr_init F
 GLIBC_2.27 __pthread_mutexattr_settype F
 GLIBC_2.27 __pthread_once F
 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_unlock F
 GLIBC_2.27 __pthread_rwlock_wrlock F
@@ -1492,6 +1493,7 @@ GLIBC_2.27 pthread_mutexattr_setrobust_np F
 GLIBC_2.27 pthread_mutexattr_settype F
 GLIBC_2.27 pthread_once F
 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_unlock F
 GLIBC_2.27 pthread_rwlock_wrlock F
@@ -2246,6 +2248,7 @@ GLIBC_2.34 pthread_once F
 GLIBC_2.34 pthread_rwlock_clockrdlock F
 GLIBC_2.34 pthread_rwlock_clockwrlock F
 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_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
index 48a5bd78f0..aafc83b0c1 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
@@ -4,7 +4,6 @@ GLIBC_2.27 _IO_funlockfile F
 GLIBC_2.27 __errno_location F
 GLIBC_2.27 __pthread_register_cancel F
 GLIBC_2.27 __pthread_register_cancel_defer F
-GLIBC_2.27 __pthread_rwlock_init F
 GLIBC_2.27 __pthread_rwlock_tryrdlock F
 GLIBC_2.27 __pthread_rwlock_trywrlock F
 GLIBC_2.27 __pthread_unregister_cancel F
@@ -36,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_init F
 GLIBC_2.27 pthread_rwlock_timedrdlock F
 GLIBC_2.27 pthread_rwlock_timedwrlock F
 GLIBC_2.27 pthread_rwlock_tryrdlock F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
index 4c88f1489d..d77f798688 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
@@ -1571,6 +1571,7 @@ GLIBC_2.1 pthread_attr_init F
 GLIBC_2.1 pthread_mutexattr_gettype F
 GLIBC_2.1 pthread_mutexattr_settype F
 GLIBC_2.1 pthread_rwlock_destroy F
+GLIBC_2.1 pthread_rwlock_init F
 GLIBC_2.1 pthread_rwlock_rdlock F
 GLIBC_2.1 pthread_rwlock_unlock F
 GLIBC_2.1 pthread_rwlock_wrlock F
@@ -1851,6 +1852,7 @@ GLIBC_2.2 __nl_langinfo_l F
 GLIBC_2.2 __open64 F
 GLIBC_2.2 __pread64 F
 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_unlock F
 GLIBC_2.2 __pthread_rwlock_wrlock F
@@ -2324,6 +2326,7 @@ GLIBC_2.34 pthread_once F
 GLIBC_2.34 pthread_rwlock_clockrdlock F
 GLIBC_2.34 pthread_rwlock_clockwrlock F
 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_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
index 2cac9acdc5..67f28adcac 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
@@ -24,7 +24,6 @@ GLIBC_2.1 pthread_attr_setstackaddr F
 GLIBC_2.1 pthread_attr_setstacksize F
 GLIBC_2.1 pthread_create F
 GLIBC_2.1 pthread_getconcurrency F
-GLIBC_2.1 pthread_rwlock_init F
 GLIBC_2.1 pthread_rwlock_tryrdlock F
 GLIBC_2.1 pthread_rwlock_trywrlock F
 GLIBC_2.1 pthread_rwlockattr_destroy F
@@ -50,7 +49,6 @@ GLIBC_2.12 pthread_setname_np F
 GLIBC_2.18 pthread_getattr_default_np F
 GLIBC_2.18 pthread_setattr_default_np F
 GLIBC_2.19 __libpthread_version_placeholder F
-GLIBC_2.2 __pthread_rwlock_init F
 GLIBC_2.2 __pthread_rwlock_tryrdlock F
 GLIBC_2.2 __pthread_rwlock_trywrlock F
 GLIBC_2.2 pthread_attr_getstack F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
index 7b3f066d8c..0c2b2b80c9 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
@@ -384,6 +384,7 @@ GLIBC_2.2 __pthread_mutexattr_init F
 GLIBC_2.2 __pthread_mutexattr_settype F
 GLIBC_2.2 __pthread_once F
 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_unlock F
 GLIBC_2.2 __pthread_rwlock_wrlock F
@@ -1331,6 +1332,7 @@ GLIBC_2.2 pthread_mutexattr_setpshared F
 GLIBC_2.2 pthread_mutexattr_settype F
 GLIBC_2.2 pthread_once F
 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_unlock F
 GLIBC_2.2 pthread_rwlock_wrlock F
@@ -2217,6 +2219,7 @@ GLIBC_2.34 pthread_once F
 GLIBC_2.34 pthread_rwlock_clockrdlock F
 GLIBC_2.34 pthread_rwlock_clockwrlock F
 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_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
index 19792333fe..e8c053292d 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
@@ -8,7 +8,6 @@ GLIBC_2.2 _IO_flockfile F
 GLIBC_2.2 _IO_ftrylockfile F
 GLIBC_2.2 _IO_funlockfile F
 GLIBC_2.2 __errno_location F
-GLIBC_2.2 __pthread_rwlock_init F
 GLIBC_2.2 __pthread_rwlock_tryrdlock F
 GLIBC_2.2 __pthread_rwlock_trywrlock F
 GLIBC_2.2 flockfile F
@@ -34,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_init F
 GLIBC_2.2 pthread_rwlock_timedrdlock F
 GLIBC_2.2 pthread_rwlock_timedwrlock F
 GLIBC_2.2 pthread_rwlock_tryrdlock F
diff --git a/sysdeps/unix/sysv/linux/sh/be/libc.abilist b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
index bda61af088..2383629b95 100644
--- a/sysdeps/unix/sysv/linux/sh/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
@@ -373,6 +373,7 @@ GLIBC_2.2 __pthread_mutexattr_init F
 GLIBC_2.2 __pthread_mutexattr_settype F
 GLIBC_2.2 __pthread_once F
 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_unlock F
 GLIBC_2.2 __pthread_rwlock_wrlock F
@@ -1317,6 +1318,7 @@ GLIBC_2.2 pthread_mutexattr_setpshared F
 GLIBC_2.2 pthread_mutexattr_settype F
 GLIBC_2.2 pthread_once F
 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_unlock F
 GLIBC_2.2 pthread_rwlock_wrlock F
@@ -2186,6 +2188,7 @@ GLIBC_2.34 pthread_once F
 GLIBC_2.34 pthread_rwlock_clockrdlock F
 GLIBC_2.34 pthread_rwlock_clockwrlock F
 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_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
diff --git a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
index 82bc0321f5..52da9c0a32 100644
--- a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
@@ -7,7 +7,6 @@ GLIBC_2.2 _IO_flockfile F
 GLIBC_2.2 _IO_ftrylockfile F
 GLIBC_2.2 _IO_funlockfile F
 GLIBC_2.2 __errno_location F
-GLIBC_2.2 __pthread_rwlock_init F
 GLIBC_2.2 __pthread_rwlock_tryrdlock F
 GLIBC_2.2 __pthread_rwlock_trywrlock F
 GLIBC_2.2 flockfile F
@@ -33,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_init F
 GLIBC_2.2 pthread_rwlock_timedrdlock F
 GLIBC_2.2 pthread_rwlock_timedwrlock F
 GLIBC_2.2 pthread_rwlock_tryrdlock F
diff --git a/sysdeps/unix/sysv/linux/sh/le/libc.abilist b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
index 7227ced168..66b504e002 100644
--- a/sysdeps/unix/sysv/linux/sh/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
@@ -373,6 +373,7 @@ GLIBC_2.2 __pthread_mutexattr_init F
 GLIBC_2.2 __pthread_mutexattr_settype F
 GLIBC_2.2 __pthread_once F
 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_unlock F
 GLIBC_2.2 __pthread_rwlock_wrlock F
@@ -1317,6 +1318,7 @@ GLIBC_2.2 pthread_mutexattr_setpshared F
 GLIBC_2.2 pthread_mutexattr_settype F
 GLIBC_2.2 pthread_once F
 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_unlock F
 GLIBC_2.2 pthread_rwlock_wrlock F
@@ -2183,6 +2185,7 @@ GLIBC_2.34 pthread_once F
 GLIBC_2.34 pthread_rwlock_clockrdlock F
 GLIBC_2.34 pthread_rwlock_clockwrlock F
 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_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
diff --git a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
index 82bc0321f5..52da9c0a32 100644
--- a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
@@ -7,7 +7,6 @@ GLIBC_2.2 _IO_flockfile F
 GLIBC_2.2 _IO_ftrylockfile F
 GLIBC_2.2 _IO_funlockfile F
 GLIBC_2.2 __errno_location F
-GLIBC_2.2 __pthread_rwlock_init F
 GLIBC_2.2 __pthread_rwlock_tryrdlock F
 GLIBC_2.2 __pthread_rwlock_trywrlock F
 GLIBC_2.2 flockfile F
@@ -33,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_init F
 GLIBC_2.2 pthread_rwlock_timedrdlock F
 GLIBC_2.2 pthread_rwlock_timedwrlock F
 GLIBC_2.2 pthread_rwlock_tryrdlock F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
index 330715ff71..4638a6dc22 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
@@ -1572,6 +1572,7 @@ GLIBC_2.1 pthread_attr_init F
 GLIBC_2.1 pthread_mutexattr_gettype F
 GLIBC_2.1 pthread_mutexattr_settype F
 GLIBC_2.1 pthread_rwlock_destroy F
+GLIBC_2.1 pthread_rwlock_init F
 GLIBC_2.1 pthread_rwlock_rdlock F
 GLIBC_2.1 pthread_rwlock_unlock F
 GLIBC_2.1 pthread_rwlock_wrlock F
@@ -1849,6 +1850,7 @@ GLIBC_2.2 __nl_langinfo_l F
 GLIBC_2.2 __open64 F
 GLIBC_2.2 __pread64 F
 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_unlock F
 GLIBC_2.2 __pthread_rwlock_wrlock F
@@ -2315,6 +2317,7 @@ GLIBC_2.34 pthread_once F
 GLIBC_2.34 pthread_rwlock_clockrdlock F
 GLIBC_2.34 pthread_rwlock_clockwrlock F
 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_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
index b80868c5da..0189fc6a88 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
@@ -24,7 +24,6 @@ GLIBC_2.1 pthread_attr_setstackaddr F
 GLIBC_2.1 pthread_attr_setstacksize F
 GLIBC_2.1 pthread_create F
 GLIBC_2.1 pthread_getconcurrency F
-GLIBC_2.1 pthread_rwlock_init F
 GLIBC_2.1 pthread_rwlock_tryrdlock F
 GLIBC_2.1 pthread_rwlock_trywrlock F
 GLIBC_2.1 pthread_rwlockattr_destroy F
@@ -49,7 +48,6 @@ GLIBC_2.12 pthread_getname_np F
 GLIBC_2.12 pthread_setname_np F
 GLIBC_2.18 pthread_getattr_default_np F
 GLIBC_2.18 pthread_setattr_default_np F
-GLIBC_2.2 __pthread_rwlock_init F
 GLIBC_2.2 __pthread_rwlock_tryrdlock F
 GLIBC_2.2 __pthread_rwlock_trywrlock F
 GLIBC_2.2 pthread_attr_getstack F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
index 5e4848be27..3b6fe85339 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
@@ -411,6 +411,7 @@ GLIBC_2.2 __pthread_mutexattr_init F
 GLIBC_2.2 __pthread_mutexattr_settype F
 GLIBC_2.2 __pthread_once F
 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_unlock F
 GLIBC_2.2 __pthread_rwlock_wrlock F
@@ -1360,6 +1361,7 @@ GLIBC_2.2 pthread_mutexattr_setpshared F
 GLIBC_2.2 pthread_mutexattr_settype F
 GLIBC_2.2 pthread_once F
 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_unlock F
 GLIBC_2.2 pthread_rwlock_wrlock F
@@ -2234,6 +2236,7 @@ GLIBC_2.34 pthread_once F
 GLIBC_2.34 pthread_rwlock_clockrdlock F
 GLIBC_2.34 pthread_rwlock_clockwrlock F
 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_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
index 6d11adb7da..5d186fc586 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
@@ -7,7 +7,6 @@ GLIBC_2.2 _IO_flockfile F
 GLIBC_2.2 _IO_ftrylockfile F
 GLIBC_2.2 _IO_funlockfile F
 GLIBC_2.2 __errno_location F
-GLIBC_2.2 __pthread_rwlock_init F
 GLIBC_2.2 __pthread_rwlock_tryrdlock F
 GLIBC_2.2 __pthread_rwlock_trywrlock F
 GLIBC_2.2 flockfile F
@@ -33,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_init F
 GLIBC_2.2 pthread_rwlock_timedrdlock F
 GLIBC_2.2 pthread_rwlock_timedwrlock F
 GLIBC_2.2 pthread_rwlock_tryrdlock F
diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
index 1975808993..764a2f71b1 100644
--- a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
@@ -372,6 +372,7 @@ GLIBC_2.2.5 __pthread_mutexattr_init F
 GLIBC_2.2.5 __pthread_mutexattr_settype F
 GLIBC_2.2.5 __pthread_once F
 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_unlock F
 GLIBC_2.2.5 __pthread_rwlock_wrlock F
@@ -1328,6 +1329,7 @@ GLIBC_2.2.5 pthread_mutexattr_setpshared F
 GLIBC_2.2.5 pthread_mutexattr_settype F
 GLIBC_2.2.5 pthread_once F
 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_unlock F
 GLIBC_2.2.5 pthread_rwlock_wrlock F
@@ -2195,6 +2197,7 @@ GLIBC_2.34 pthread_once F
 GLIBC_2.34 pthread_rwlock_clockrdlock F
 GLIBC_2.34 pthread_rwlock_clockwrlock F
 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_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
index 06ec562b00..8805d613fd 100644
--- a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
@@ -7,7 +7,6 @@ GLIBC_2.2.5 _IO_flockfile F
 GLIBC_2.2.5 _IO_ftrylockfile F
 GLIBC_2.2.5 _IO_funlockfile F
 GLIBC_2.2.5 __errno_location F
-GLIBC_2.2.5 __pthread_rwlock_init F
 GLIBC_2.2.5 __pthread_rwlock_tryrdlock F
 GLIBC_2.2.5 __pthread_rwlock_trywrlock F
 GLIBC_2.2.5 flockfile F
@@ -33,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_init F
 GLIBC_2.2.5 pthread_rwlock_timedrdlock F
 GLIBC_2.2.5 pthread_rwlock_timedwrlock F
 GLIBC_2.2.5 pthread_rwlock_tryrdlock F
diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
index ff5dc484ba..cce82949fd 100644
--- a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
@@ -352,6 +352,7 @@ GLIBC_2.16 __pthread_mutexattr_init F
 GLIBC_2.16 __pthread_mutexattr_settype F
 GLIBC_2.16 __pthread_once F
 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_unlock F
 GLIBC_2.16 __pthread_rwlock_wrlock F
@@ -1509,6 +1510,7 @@ GLIBC_2.16 pthread_mutexattr_setrobust_np F
 GLIBC_2.16 pthread_mutexattr_settype F
 GLIBC_2.16 pthread_once F
 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_unlock F
 GLIBC_2.16 pthread_rwlock_wrlock F
@@ -2300,6 +2302,7 @@ GLIBC_2.34 pthread_once F
 GLIBC_2.34 pthread_rwlock_clockrdlock F
 GLIBC_2.34 pthread_rwlock_clockwrlock F
 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_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
index 92d8aa0635..6a9a29ec4b 100644
--- a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
@@ -4,7 +4,6 @@ GLIBC_2.16 _IO_funlockfile F
 GLIBC_2.16 __errno_location F
 GLIBC_2.16 __pthread_register_cancel F
 GLIBC_2.16 __pthread_register_cancel_defer F
-GLIBC_2.16 __pthread_rwlock_init F
 GLIBC_2.16 __pthread_rwlock_tryrdlock F
 GLIBC_2.16 __pthread_rwlock_trywrlock F
 GLIBC_2.16 __pthread_unregister_cancel F
@@ -35,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_init F
 GLIBC_2.16 pthread_rwlock_timedrdlock F
 GLIBC_2.16 pthread_rwlock_timedwrlock F
 GLIBC_2.16 pthread_rwlock_tryrdlock F
-- 
2.30.2



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

* [PATCH 05/14] nptl: Move pthread_rwlock_timedrdlock into libc
  2021-04-23 17:36 [PATCH 00/14] nptl: Move remaining rwlock functions into libc Florian Weimer via Libc-alpha
                   ` (3 preceding siblings ...)
  2021-04-23 17:37 ` [PATCH 04/14] nptl: Move pthread_rwlock_init " Florian Weimer via Libc-alpha
@ 2021-04-23 17:37 ` Florian Weimer via Libc-alpha
  2021-05-02 19:35   ` Carlos O'Donell via Libc-alpha
  2021-04-23 17:37 ` [PATCH 06/14] nptl: Move pthread_rwlock_timedwrlock " Florian Weimer via Libc-alpha
                   ` (9 subsequent siblings)
  14 siblings, 1 reply; 30+ messages in thread
From: Florian Weimer via Libc-alpha @ 2021-04-23 17:37 UTC (permalink / raw)
  To: libc-alpha

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

diff --git a/nptl/Makefile b/nptl/Makefile
index e41459c571..392aa3bdf2 100644
--- a/nptl/Makefile
+++ b/nptl/Makefile
@@ -125,6 +125,7 @@ routines = \
   pthread_rwlock_destroy \
   pthread_rwlock_init \
   pthread_rwlock_rdlock \
+  pthread_rwlock_timedrdlock \
   pthread_rwlock_unlock \
   pthread_rwlock_wrlock \
   pthread_self \
@@ -182,7 +183,6 @@ libpthread-routines = \
   pthread_getname \
   pthread_join \
   pthread_join_common \
-  pthread_rwlock_timedrdlock \
   pthread_rwlock_timedwrlock \
   pthread_rwlock_tryrdlock \
   pthread_rwlock_trywrlock \
diff --git a/nptl/Versions b/nptl/Versions
index 72d20e2117..8abf147e22 100644
--- a/nptl/Versions
+++ b/nptl/Versions
@@ -88,6 +88,7 @@ libc {
     pthread_spin_lock;
     pthread_spin_trylock;
     pthread_spin_unlock;
+    pthread_rwlock_timedrdlock;
   }
   GLIBC_2.2.3 {
     pthread_getattr_np;
@@ -190,6 +191,7 @@ libc {
     pthread_rwlock_clockwrlock;
     pthread_rwlock_destroy;
     pthread_rwlock_rdlock;
+    pthread_rwlock_timedrdlock;
     pthread_rwlock_unlock;
     pthread_rwlock_wrlock;
     pthread_setspecific;
@@ -321,7 +323,6 @@ libpthread {
     pthread_barrierattr_init;
     pthread_barrierattr_setpshared;
     pthread_getcpuclockid;
-    pthread_rwlock_timedrdlock;
     pthread_rwlock_timedwrlock;
     pthread_yield;
     sem_timedwait;
diff --git a/nptl/pthreadP.h b/nptl/pthreadP.h
index 0b41678adc..5d0b4cf56e 100644
--- a/nptl/pthreadP.h
+++ b/nptl/pthreadP.h
@@ -510,7 +510,7 @@ extern int __pthread_rwlock_clockwrlock64 (pthread_rwlock_t *rwlock,
 libc_hidden_proto (__pthread_rwlock_clockwrlock64)
 extern int __pthread_rwlock_timedrdlock64 (pthread_rwlock_t *rwlock,
                                            const struct __timespec64 *abstime);
-libpthread_hidden_proto (__pthread_rwlock_timedrdlock64)
+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)
diff --git a/nptl/pthread_rwlock_timedrdlock.c b/nptl/pthread_rwlock_timedrdlock.c
index db02ee7f5c..dd9b7cb0a2 100644
--- a/nptl/pthread_rwlock_timedrdlock.c
+++ b/nptl/pthread_rwlock_timedrdlock.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_timedrdlock64 (pthread_rwlock_t *rwlock,
-                                const struct __timespec64 *abstime)
+___pthread_rwlock_timedrdlock64 (pthread_rwlock_t *rwlock,
+				 const struct __timespec64 *abstime)
 {
   return __pthread_rwlock_rdlock_full64 (rwlock, CLOCK_REALTIME, abstime);
 }
 
-#if __TIMESIZE != 64
-libpthread_hidden_def (__pthread_rwlock_timedrdlock64)
+#if __TIMESIZE == 64
+strong_alias (___pthread_rwlock_timedrdlock64, ___pthread_rwlock_timedrdlock)
+#else /* __TIMESPEC64 != 64 */
+libc_hidden_ver (___pthread_rwlock_timedrdlock64,
+		 __pthread_rwlock_timedrdlock64)
 
 int
-__pthread_rwlock_timedrdlock (pthread_rwlock_t *rwlock,
-                              const struct timespec *abstime)
+___pthread_rwlock_timedrdlock (pthread_rwlock_t *rwlock,
+			       const struct timespec *abstime)
 {
   struct __timespec64 ts64 = valid_timespec_to_timespec64 (*abstime);
 
   return __pthread_rwlock_timedrdlock64 (rwlock, &ts64);
 }
+#endif /* __TIMESPEC64 != 64 */
+versioned_symbol (libc, ___pthread_rwlock_timedrdlock,
+		  pthread_rwlock_timedrdlock, GLIBC_2_34);
+#if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_2, GLIBC_2_34)
+compat_symbol (libpthread, ___pthread_rwlock_timedrdlock,
+	       pthread_rwlock_timedrdlock, GLIBC_2_2);
 #endif
-weak_alias (__pthread_rwlock_timedrdlock, pthread_rwlock_timedrdlock)
diff --git a/sysdeps/unix/sysv/linux/aarch64/libc.abilist b/sysdeps/unix/sysv/linux/aarch64/libc.abilist
index 49538b3773..ae7f4a210d 100644
--- a/sysdeps/unix/sysv/linux/aarch64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/aarch64/libc.abilist
@@ -1505,6 +1505,7 @@ GLIBC_2.17 pthread_once F
 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_unlock F
 GLIBC_2.17 pthread_rwlock_wrlock F
 GLIBC_2.17 pthread_self F
@@ -2289,6 +2290,7 @@ GLIBC_2.34 pthread_rwlock_clockwrlock F
 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_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 c6dee0cc25..d881d4e128 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_timedrdlock F
 GLIBC_2.17 pthread_rwlock_timedwrlock F
 GLIBC_2.17 pthread_rwlock_tryrdlock F
 GLIBC_2.17 pthread_rwlock_trywrlock F
diff --git a/sysdeps/unix/sysv/linux/alpha/libc.abilist b/sysdeps/unix/sysv/linux/alpha/libc.abilist
index 6336e2dd35..3ec5c47428 100644
--- a/sysdeps/unix/sysv/linux/alpha/libc.abilist
+++ b/sysdeps/unix/sysv/linux/alpha/libc.abilist
@@ -1987,6 +1987,7 @@ GLIBC_2.2 pthread_condattr_setpshared F
 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_spin_destroy F
 GLIBC_2.2 pthread_spin_init F
 GLIBC_2.2 pthread_spin_lock F
@@ -2370,6 +2371,7 @@ GLIBC_2.34 pthread_rwlock_clockwrlock F
 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_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 0189fc6a88..6ab60c7fba 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_timedrdlock F
 GLIBC_2.2 pthread_rwlock_timedwrlock F
 GLIBC_2.2 pthread_yield F
 GLIBC_2.2 sem_timedwait F
diff --git a/sysdeps/unix/sysv/linux/arc/libc.abilist b/sysdeps/unix/sysv/linux/arc/libc.abilist
index a5fff26d3a..f8bcc0475d 100644
--- a/sysdeps/unix/sysv/linux/arc/libc.abilist
+++ b/sysdeps/unix/sysv/linux/arc/libc.abilist
@@ -1435,6 +1435,7 @@ GLIBC_2.32 pthread_rwlock_clockwrlock F
 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_unlock F
 GLIBC_2.32 pthread_rwlock_wrlock F
 GLIBC_2.32 pthread_self F
@@ -2048,6 +2049,7 @@ GLIBC_2.34 pthread_rwlock_clockwrlock F
 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_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 d71f38bf24..5317b62d6e 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_timedrdlock F
 GLIBC_2.32 pthread_rwlock_timedwrlock F
 GLIBC_2.32 pthread_rwlock_tryrdlock F
 GLIBC_2.32 pthread_rwlock_trywrlock F
diff --git a/sysdeps/unix/sysv/linux/arm/be/libc.abilist b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
index 6595cad027..8ab83d973f 100644
--- a/sysdeps/unix/sysv/linux/arm/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
@@ -209,6 +209,7 @@ GLIBC_2.34 pthread_rwlock_clockwrlock F
 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_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
 GLIBC_2.34 pthread_setspecific F
@@ -1655,6 +1656,7 @@ GLIBC_2.4 pthread_once F
 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_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 1340d32c7f..92f908f49a 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_timedrdlock F
 GLIBC_2.4 pthread_rwlock_timedwrlock F
 GLIBC_2.4 pthread_rwlock_tryrdlock F
 GLIBC_2.4 pthread_rwlock_trywrlock F
diff --git a/sysdeps/unix/sysv/linux/arm/le/libc.abilist b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
index f4dbe63497..de9f269a53 100644
--- a/sysdeps/unix/sysv/linux/arm/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
@@ -206,6 +206,7 @@ GLIBC_2.34 pthread_rwlock_clockwrlock F
 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_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
 GLIBC_2.34 pthread_setspecific F
@@ -1652,6 +1653,7 @@ GLIBC_2.4 pthread_once F
 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_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 1340d32c7f..92f908f49a 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_timedrdlock F
 GLIBC_2.4 pthread_rwlock_timedwrlock F
 GLIBC_2.4 pthread_rwlock_tryrdlock F
 GLIBC_2.4 pthread_rwlock_trywrlock F
diff --git a/sysdeps/unix/sysv/linux/csky/libc.abilist b/sysdeps/unix/sysv/linux/csky/libc.abilist
index c0a28cd1d4..710ab385e4 100644
--- a/sysdeps/unix/sysv/linux/csky/libc.abilist
+++ b/sysdeps/unix/sysv/linux/csky/libc.abilist
@@ -1492,6 +1492,7 @@ GLIBC_2.29 pthread_once F
 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_unlock F
 GLIBC_2.29 pthread_rwlock_wrlock F
 GLIBC_2.29 pthread_self F
@@ -2232,6 +2233,7 @@ GLIBC_2.34 pthread_rwlock_clockwrlock F
 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_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 8c2eacba71..76b52b11c4 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_timedrdlock F
 GLIBC_2.29 pthread_rwlock_timedwrlock F
 GLIBC_2.29 pthread_rwlock_tryrdlock F
 GLIBC_2.29 pthread_rwlock_trywrlock F
diff --git a/sysdeps/unix/sysv/linux/hppa/libc.abilist b/sysdeps/unix/sysv/linux/hppa/libc.abilist
index 50253bac3f..a825c7d112 100644
--- a/sysdeps/unix/sysv/linux/hppa/libc.abilist
+++ b/sysdeps/unix/sysv/linux/hppa/libc.abilist
@@ -1316,6 +1316,7 @@ GLIBC_2.2 pthread_once F
 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_unlock F
 GLIBC_2.2 pthread_rwlock_wrlock F
 GLIBC_2.2 pthread_self F
@@ -2183,6 +2184,7 @@ GLIBC_2.34 pthread_rwlock_clockwrlock F
 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_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 52da9c0a32..100d01628b 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_timedrdlock F
 GLIBC_2.2 pthread_rwlock_timedwrlock F
 GLIBC_2.2 pthread_rwlock_tryrdlock F
 GLIBC_2.2 pthread_rwlock_trywrlock F
diff --git a/sysdeps/unix/sysv/linux/i386/libc.abilist b/sysdeps/unix/sysv/linux/i386/libc.abilist
index 4a6e8cf210..901f4cc2ff 100644
--- a/sysdeps/unix/sysv/linux/i386/libc.abilist
+++ b/sysdeps/unix/sysv/linux/i386/libc.abilist
@@ -1996,6 +1996,7 @@ GLIBC_2.2 pthread_condattr_setpshared F
 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_spin_destroy F
 GLIBC_2.2 pthread_spin_init F
 GLIBC_2.2 pthread_spin_lock F
@@ -2360,6 +2361,7 @@ GLIBC_2.34 pthread_rwlock_clockwrlock F
 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_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 a0daef9d41..6c64e6a794 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_timedrdlock F
 GLIBC_2.2 pthread_rwlock_timedwrlock F
 GLIBC_2.2 pthread_yield F
 GLIBC_2.2 sem_timedwait F
diff --git a/sysdeps/unix/sysv/linux/ia64/libc.abilist b/sysdeps/unix/sysv/linux/ia64/libc.abilist
index ba34d9e68f..180e99973b 100644
--- a/sysdeps/unix/sysv/linux/ia64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/ia64/libc.abilist
@@ -1337,6 +1337,7 @@ GLIBC_2.2 pthread_once F
 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_unlock F
 GLIBC_2.2 pthread_rwlock_wrlock F
 GLIBC_2.2 pthread_self F
@@ -2217,6 +2218,7 @@ GLIBC_2.34 pthread_rwlock_clockwrlock F
 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_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 5d186fc586..bdfded821a 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_timedrdlock F
 GLIBC_2.2 pthread_rwlock_timedwrlock F
 GLIBC_2.2 pthread_rwlock_tryrdlock F
 GLIBC_2.2 pthread_rwlock_trywrlock F
diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
index 2a31f0acd5..8484f3fcad 100644
--- a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
@@ -210,6 +210,7 @@ GLIBC_2.34 pthread_rwlock_clockwrlock F
 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_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
 GLIBC_2.34 pthread_setspecific F
@@ -1635,6 +1636,7 @@ GLIBC_2.4 pthread_once F
 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_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 1340d32c7f..92f908f49a 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_timedrdlock F
 GLIBC_2.4 pthread_rwlock_timedwrlock F
 GLIBC_2.4 pthread_rwlock_tryrdlock F
 GLIBC_2.4 pthread_rwlock_trywrlock F
diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
index 4528a06d6f..7ad59ac5f5 100644
--- a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
@@ -1952,6 +1952,7 @@ GLIBC_2.2 pthread_condattr_setpshared F
 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_spin_destroy F
 GLIBC_2.2 pthread_spin_init F
 GLIBC_2.2 pthread_spin_lock F
@@ -2303,6 +2304,7 @@ GLIBC_2.34 pthread_rwlock_clockwrlock F
 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_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 a0daef9d41..6c64e6a794 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_timedrdlock F
 GLIBC_2.2 pthread_rwlock_timedwrlock F
 GLIBC_2.2 pthread_yield F
 GLIBC_2.2 sem_timedwait F
diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
index 0f6be8c0f2..1187d98593 100644
--- a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
@@ -1507,6 +1507,7 @@ GLIBC_2.18 pthread_once F
 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_unlock F
 GLIBC_2.18 pthread_rwlock_wrlock F
 GLIBC_2.18 pthread_self F
@@ -2283,6 +2284,7 @@ GLIBC_2.34 pthread_rwlock_clockwrlock F
 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_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 968fcfd1df..22a5f51945 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_timedrdlock F
 GLIBC_2.18 pthread_rwlock_timedwrlock F
 GLIBC_2.18 pthread_rwlock_tryrdlock F
 GLIBC_2.18 pthread_rwlock_trywrlock F
diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
index a024c588b1..0b05fb3fe1 100644
--- a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
@@ -1507,6 +1507,7 @@ GLIBC_2.18 pthread_once F
 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_unlock F
 GLIBC_2.18 pthread_rwlock_wrlock F
 GLIBC_2.18 pthread_self F
@@ -2280,6 +2281,7 @@ GLIBC_2.34 pthread_rwlock_clockwrlock F
 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_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 968fcfd1df..22a5f51945 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_timedrdlock F
 GLIBC_2.18 pthread_rwlock_timedwrlock F
 GLIBC_2.18 pthread_rwlock_tryrdlock F
 GLIBC_2.18 pthread_rwlock_trywrlock F
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
index f70ab56969..0fa75400b1 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
@@ -1846,6 +1846,7 @@ GLIBC_2.2 pthread_mutexattr_settype F
 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_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_clockwrlock F
 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_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 a09a4dc5e3..c6256cb6b2 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_timedrdlock F
 GLIBC_2.2 pthread_rwlock_timedwrlock F
 GLIBC_2.2 pthread_rwlock_tryrdlock F
 GLIBC_2.2 pthread_rwlock_trywrlock F
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
index 996626fc69..4fa17449b8 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
@@ -1844,6 +1844,7 @@ GLIBC_2.2 pthread_mutexattr_settype F
 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_unlock F
 GLIBC_2.2 pthread_rwlock_wrlock F
 GLIBC_2.2 pthread_spin_destroy F
@@ -2264,6 +2265,7 @@ GLIBC_2.34 pthread_rwlock_clockwrlock F
 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_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 a09a4dc5e3..c6256cb6b2 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_timedrdlock F
 GLIBC_2.2 pthread_rwlock_timedwrlock F
 GLIBC_2.2 pthread_rwlock_tryrdlock F
 GLIBC_2.2 pthread_rwlock_trywrlock F
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
index fcef7cf463..a1138eeec7 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
@@ -1844,6 +1844,7 @@ GLIBC_2.2 pthread_mutexattr_settype F
 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_unlock F
 GLIBC_2.2 pthread_rwlock_wrlock F
 GLIBC_2.2 pthread_spin_destroy F
@@ -2272,6 +2273,7 @@ GLIBC_2.34 pthread_rwlock_clockwrlock F
 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_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 e6425649d7..cd069fa6e3 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
@@ -1840,6 +1840,7 @@ GLIBC_2.2 pthread_mutexattr_settype F
 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_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_clockwrlock F
 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_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 28b29918a8..c18892e973 100644
--- a/sysdeps/unix/sysv/linux/nios2/libc.abilist
+++ b/sysdeps/unix/sysv/linux/nios2/libc.abilist
@@ -1550,6 +1550,7 @@ GLIBC_2.21 pthread_once F
 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_unlock F
 GLIBC_2.21 pthread_rwlock_wrlock F
 GLIBC_2.21 pthread_self F
@@ -2322,6 +2323,7 @@ GLIBC_2.34 pthread_rwlock_clockwrlock F
 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_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 a13844bb1d..23a3717ef3 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_timedrdlock F
 GLIBC_2.21 pthread_rwlock_timedwrlock F
 GLIBC_2.21 pthread_rwlock_tryrdlock F
 GLIBC_2.21 pthread_rwlock_trywrlock F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
index 7ef1e07d22..540711d228 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
@@ -1957,6 +1957,7 @@ GLIBC_2.2 pthread_condattr_setpshared F
 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_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_clockwrlock F
 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_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 8c16c499ad..c274945af5 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_timedrdlock F
 GLIBC_2.2 pthread_rwlock_timedwrlock F
 GLIBC_2.2 pthread_yield F
 GLIBC_2.2 sem_timedwait F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
index a125dae857..a215d46657 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
@@ -1961,6 +1961,7 @@ GLIBC_2.2 pthread_condattr_setpshared F
 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_spin_destroy F
 GLIBC_2.2 pthread_spin_init F
 GLIBC_2.2 pthread_spin_lock F
@@ -2363,6 +2364,7 @@ GLIBC_2.34 pthread_rwlock_clockwrlock F
 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_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 90f7f52f9b..88e9ceb7be 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
@@ -1422,6 +1422,7 @@ GLIBC_2.3 pthread_once F
 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_unlock F
 GLIBC_2.3 pthread_rwlock_wrlock F
 GLIBC_2.3 pthread_self F
@@ -2184,6 +2185,7 @@ GLIBC_2.34 pthread_rwlock_clockwrlock F
 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_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 099a75abb3..f4fbda6cd8 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_timedrdlock F
 GLIBC_2.3 pthread_rwlock_timedwrlock F
 GLIBC_2.3 pthread_rwlock_tryrdlock F
 GLIBC_2.3 pthread_rwlock_trywrlock F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
index 203e333287..c510e8721e 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
@@ -1593,6 +1593,7 @@ GLIBC_2.17 pthread_once F
 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_unlock F
 GLIBC_2.17 pthread_rwlock_wrlock F
 GLIBC_2.17 pthread_self F
@@ -2485,6 +2486,7 @@ GLIBC_2.34 pthread_rwlock_clockwrlock F
 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_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 c6dee0cc25..d881d4e128 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_timedrdlock F
 GLIBC_2.17 pthread_rwlock_timedwrlock F
 GLIBC_2.17 pthread_rwlock_tryrdlock F
 GLIBC_2.17 pthread_rwlock_trywrlock F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
index 5754bd09b5..6e487295f0 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
@@ -1437,6 +1437,7 @@ GLIBC_2.33 pthread_rwlock_clockwrlock F
 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_unlock F
 GLIBC_2.33 pthread_rwlock_wrlock F
 GLIBC_2.33 pthread_self F
@@ -2050,6 +2051,7 @@ GLIBC_2.34 pthread_rwlock_clockwrlock F
 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_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 5774e8e989..fc899b5779 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_timedrdlock F
 GLIBC_2.33 pthread_rwlock_timedwrlock F
 GLIBC_2.33 pthread_rwlock_tryrdlock F
 GLIBC_2.33 pthread_rwlock_trywrlock F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
index a63dc8cf06..770b8fa9e9 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
@@ -1495,6 +1495,7 @@ GLIBC_2.27 pthread_once F
 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_unlock F
 GLIBC_2.27 pthread_rwlock_wrlock F
 GLIBC_2.27 pthread_self F
@@ -2250,6 +2251,7 @@ GLIBC_2.34 pthread_rwlock_clockwrlock F
 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_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 aafc83b0c1..9071607ea7 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_timedrdlock F
 GLIBC_2.27 pthread_rwlock_timedwrlock F
 GLIBC_2.27 pthread_rwlock_tryrdlock F
 GLIBC_2.27 pthread_rwlock_trywrlock F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
index d77f798688..4dd850e5b4 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
@@ -1955,6 +1955,7 @@ GLIBC_2.2 pthread_condattr_setpshared F
 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_spin_destroy F
 GLIBC_2.2 pthread_spin_init F
 GLIBC_2.2 pthread_spin_lock F
@@ -2328,6 +2329,7 @@ GLIBC_2.34 pthread_rwlock_clockwrlock F
 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_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 67f28adcac..62924771ff 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_timedrdlock F
 GLIBC_2.2 pthread_rwlock_timedwrlock F
 GLIBC_2.2 pthread_yield F
 GLIBC_2.2 sem_timedwait F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
index 0c2b2b80c9..fe4543393c 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
@@ -1334,6 +1334,7 @@ GLIBC_2.2 pthread_once F
 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_unlock F
 GLIBC_2.2 pthread_rwlock_wrlock F
 GLIBC_2.2 pthread_self F
@@ -2221,6 +2222,7 @@ GLIBC_2.34 pthread_rwlock_clockwrlock F
 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_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 e8c053292d..30a43ccfe6 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_timedrdlock F
 GLIBC_2.2 pthread_rwlock_timedwrlock F
 GLIBC_2.2 pthread_rwlock_tryrdlock F
 GLIBC_2.2 pthread_rwlock_trywrlock F
diff --git a/sysdeps/unix/sysv/linux/sh/be/libc.abilist b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
index 2383629b95..f73645251d 100644
--- a/sysdeps/unix/sysv/linux/sh/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
@@ -1320,6 +1320,7 @@ GLIBC_2.2 pthread_once F
 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_unlock F
 GLIBC_2.2 pthread_rwlock_wrlock F
 GLIBC_2.2 pthread_self F
@@ -2190,6 +2191,7 @@ GLIBC_2.34 pthread_rwlock_clockwrlock F
 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_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 52da9c0a32..100d01628b 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_timedrdlock F
 GLIBC_2.2 pthread_rwlock_timedwrlock F
 GLIBC_2.2 pthread_rwlock_tryrdlock F
 GLIBC_2.2 pthread_rwlock_trywrlock F
diff --git a/sysdeps/unix/sysv/linux/sh/le/libc.abilist b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
index 66b504e002..fed3fd509c 100644
--- a/sysdeps/unix/sysv/linux/sh/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
@@ -1320,6 +1320,7 @@ GLIBC_2.2 pthread_once F
 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_unlock F
 GLIBC_2.2 pthread_rwlock_wrlock F
 GLIBC_2.2 pthread_self F
@@ -2187,6 +2188,7 @@ GLIBC_2.34 pthread_rwlock_clockwrlock F
 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_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 52da9c0a32..100d01628b 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_timedrdlock F
 GLIBC_2.2 pthread_rwlock_timedwrlock F
 GLIBC_2.2 pthread_rwlock_tryrdlock F
 GLIBC_2.2 pthread_rwlock_trywrlock F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
index 4638a6dc22..7defd524bf 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
@@ -1951,6 +1951,7 @@ GLIBC_2.2 pthread_condattr_setpshared F
 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_spin_destroy F
 GLIBC_2.2 pthread_spin_init F
 GLIBC_2.2 pthread_spin_lock F
@@ -2319,6 +2320,7 @@ GLIBC_2.34 pthread_rwlock_clockwrlock F
 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_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 0189fc6a88..6ab60c7fba 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_timedrdlock F
 GLIBC_2.2 pthread_rwlock_timedwrlock F
 GLIBC_2.2 pthread_yield F
 GLIBC_2.2 sem_timedwait F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
index 3b6fe85339..2dbe34345e 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
@@ -1363,6 +1363,7 @@ GLIBC_2.2 pthread_once F
 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_unlock F
 GLIBC_2.2 pthread_rwlock_wrlock F
 GLIBC_2.2 pthread_self F
@@ -2238,6 +2239,7 @@ GLIBC_2.34 pthread_rwlock_clockwrlock F
 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_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 5d186fc586..bdfded821a 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_timedrdlock F
 GLIBC_2.2 pthread_rwlock_timedwrlock F
 GLIBC_2.2 pthread_rwlock_tryrdlock F
 GLIBC_2.2 pthread_rwlock_trywrlock F
diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
index 764a2f71b1..2550864957 100644
--- a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
@@ -1331,6 +1331,7 @@ GLIBC_2.2.5 pthread_once F
 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_unlock F
 GLIBC_2.2.5 pthread_rwlock_wrlock F
 GLIBC_2.2.5 pthread_self F
@@ -2199,6 +2200,7 @@ GLIBC_2.34 pthread_rwlock_clockwrlock F
 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_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 8805d613fd..3db4a6ba56 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_timedrdlock 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
diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
index cce82949fd..7a0248df2a 100644
--- a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
@@ -1512,6 +1512,7 @@ GLIBC_2.16 pthread_once F
 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_unlock F
 GLIBC_2.16 pthread_rwlock_wrlock F
 GLIBC_2.16 pthread_self F
@@ -2304,6 +2305,7 @@ GLIBC_2.34 pthread_rwlock_clockwrlock F
 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_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 6a9a29ec4b..7b3cc0668d 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_timedrdlock F
 GLIBC_2.16 pthread_rwlock_timedwrlock F
 GLIBC_2.16 pthread_rwlock_tryrdlock F
 GLIBC_2.16 pthread_rwlock_trywrlock F
-- 
2.30.2



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

* [PATCH 06/14] nptl: Move pthread_rwlock_timedwrlock into libc
  2021-04-23 17:36 [PATCH 00/14] nptl: Move remaining rwlock functions into libc Florian Weimer via Libc-alpha
                   ` (4 preceding siblings ...)
  2021-04-23 17:37 ` [PATCH 05/14] nptl: Move pthread_rwlock_timedrdlock " Florian Weimer via Libc-alpha
@ 2021-04-23 17:37 ` Florian Weimer via Libc-alpha
  2021-05-02 19:35   ` Carlos O'Donell via Libc-alpha
  2021-04-23 17:37 ` [PATCH 07/14] nptl: Move pthread_rwlock_tryrdlock " Florian Weimer via Libc-alpha
                   ` (8 subsequent siblings)
  14 siblings, 1 reply; 30+ messages in thread
From: Florian Weimer via Libc-alpha @ 2021-04-23 17:37 UTC (permalink / raw)
  To: libc-alpha

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

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



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

* [PATCH 07/14] nptl: Move pthread_rwlock_tryrdlock into libc
  2021-04-23 17:36 [PATCH 00/14] nptl: Move remaining rwlock functions into libc Florian Weimer via Libc-alpha
                   ` (5 preceding siblings ...)
  2021-04-23 17:37 ` [PATCH 06/14] nptl: Move pthread_rwlock_timedwrlock " Florian Weimer via Libc-alpha
@ 2021-04-23 17:37 ` Florian Weimer via Libc-alpha
  2021-05-02 19:36   ` Carlos O'Donell via Libc-alpha
  2021-04-23 17:37 ` [PATCH 08/14] nptl: Move pthread_rwlock_trywrlock " Florian Weimer via Libc-alpha
                   ` (7 subsequent siblings)
  14 siblings, 1 reply; 30+ messages in thread
From: Florian Weimer via Libc-alpha @ 2021-04-23 17:37 UTC (permalink / raw)
  To: libc-alpha

And __pthread_rwlock_tryrdlock as a compatibility symbol.

Remove the unused __libc_rwlock_tryrdlock macro.

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

diff --git a/nptl/Makefile b/nptl/Makefile
index 9f89f2886e..492a59586d 100644
--- a/nptl/Makefile
+++ b/nptl/Makefile
@@ -127,6 +127,7 @@ routines = \
   pthread_rwlock_rdlock \
   pthread_rwlock_timedrdlock \
   pthread_rwlock_timedwrlock \
+  pthread_rwlock_tryrdlock \
   pthread_rwlock_unlock \
   pthread_rwlock_wrlock \
   pthread_self \
@@ -184,7 +185,6 @@ libpthread-routines = \
   pthread_getname \
   pthread_join \
   pthread_join_common \
-  pthread_rwlock_tryrdlock \
   pthread_rwlock_trywrlock \
   pthread_rwlockattr_destroy \
   pthread_rwlockattr_getkind_np \
diff --git a/nptl/Versions b/nptl/Versions
index 4d100f33db..2793b0d9b2 100644
--- a/nptl/Versions
+++ b/nptl/Versions
@@ -69,6 +69,7 @@ libc {
     pthread_rwlock_destroy;
     pthread_rwlock_init;
     pthread_rwlock_rdlock;
+    pthread_rwlock_tryrdlock;
     pthread_rwlock_unlock;
     pthread_rwlock_wrlock;
   }
@@ -76,6 +77,7 @@ libc {
     __pthread_rwlock_destroy;
     __pthread_rwlock_init;
     __pthread_rwlock_rdlock;
+    __pthread_rwlock_tryrdlock;
     __pthread_rwlock_unlock;
     __pthread_rwlock_wrlock;
     pthread_condattr_getpshared;
@@ -194,6 +196,7 @@ libc {
     pthread_rwlock_rdlock;
     pthread_rwlock_timedrdlock;
     pthread_rwlock_timedwrlock;
+    pthread_rwlock_tryrdlock;
     pthread_rwlock_unlock;
     pthread_rwlock_wrlock;
     pthread_setspecific;
@@ -286,7 +289,6 @@ libpthread {
     pthread_attr_setstacksize;
     pthread_create;
     pthread_getconcurrency;
-    pthread_rwlock_tryrdlock;
     pthread_rwlock_trywrlock;
     pthread_rwlockattr_destroy;
     pthread_rwlockattr_getkind_np;
@@ -314,7 +316,6 @@ libpthread {
   }
 
   GLIBC_2.2 {
-    __pthread_rwlock_tryrdlock;
     __pthread_rwlock_trywrlock;
     pthread_attr_getstack;
     pthread_attr_setstack;
diff --git a/nptl/pthread_rwlock_tryrdlock.c b/nptl/pthread_rwlock_tryrdlock.c
index f01012f86a..495541fc78 100644
--- a/nptl/pthread_rwlock_tryrdlock.c
+++ b/nptl/pthread_rwlock_tryrdlock.c
@@ -25,7 +25,7 @@
 
 /* See pthread_rwlock_common.c for an overview.  */
 int
-__pthread_rwlock_tryrdlock (pthread_rwlock_t *rwlock)
+___pthread_rwlock_tryrdlock (pthread_rwlock_t *rwlock)
 {
   /* For tryrdlock, we could speculate that we will succeed and go ahead and
      register as a reader.  However, if we misspeculate, we have to do the
@@ -116,4 +116,15 @@ __pthread_rwlock_tryrdlock (pthread_rwlock_t *rwlock)
 
 
 }
-strong_alias (__pthread_rwlock_tryrdlock, pthread_rwlock_tryrdlock)
+versioned_symbol (libc, ___pthread_rwlock_tryrdlock,
+		  pthread_rwlock_tryrdlock, GLIBC_2_34);
+libc_hidden_ver (___pthread_rwlock_tryrdlock, __pthread_rwlock_tryrdlock)
+
+#if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_1, GLIBC_2_34)
+compat_symbol (libpthread, ___pthread_rwlock_tryrdlock,
+	       pthread_rwlock_tryrdlock, GLIBC_2_1);
+#endif
+#if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_2, GLIBC_2_34)
+compat_symbol (libpthread, ___pthread_rwlock_tryrdlock,
+	       __pthread_rwlock_tryrdlock, GLIBC_2_2);
+#endif
diff --git a/sysdeps/nptl/libc-lockP.h b/sysdeps/nptl/libc-lockP.h
index 31ecc4a2c1..d1a7ac2a3f 100644
--- a/sysdeps/nptl/libc-lockP.h
+++ b/sysdeps/nptl/libc-lockP.h
@@ -150,8 +150,6 @@ _Static_assert (LLL_LOCK_INITIALIZER == 0, "LLL_LOCK_INITIALIZER != 0");
 # define __libc_lock_trylock(NAME) \
   __libc_maybe_call (__pthread_mutex_trylock, (&(NAME)), 0)
 #endif
-#define __libc_rwlock_tryrdlock(NAME) \
-  __libc_maybe_call (__pthread_rwlock_tryrdlock, (&(NAME)), 0)
 #define __libc_rwlock_trywrlock(NAME) \
   __libc_maybe_call (__pthread_rwlock_trywrlock, (&(NAME)), 0)
 
@@ -266,7 +264,6 @@ extern int __pthread_rwlock_destroy (pthread_rwlock_t *__rwlock);
 
 extern int __pthread_rwlock_rdlock (pthread_rwlock_t *__rwlock);
 libc_hidden_proto (__pthread_rwlock_rdlock)
-extern int __pthread_rwlock_tryrdlock (pthread_rwlock_t *__rwlock);
 
 extern int __pthread_rwlock_wrlock (pthread_rwlock_t *__rwlock);
 libc_hidden_proto (__pthread_rwlock_wrlock)
@@ -293,7 +290,6 @@ weak_extern (__pthread_mutex_trylock)
 weak_extern (__pthread_mutexattr_init)
 weak_extern (__pthread_mutexattr_destroy)
 weak_extern (__pthread_mutexattr_settype)
-weak_extern (__pthread_rwlock_tryrdlock)
 weak_extern (__pthread_rwlock_trywrlock)
 weak_extern (__pthread_initialize)
 weak_extern (__pthread_atfork)
@@ -302,7 +298,6 @@ weak_extern (__pthread_atfork)
 #  pragma weak __pthread_mutexattr_init
 #  pragma weak __pthread_mutexattr_destroy
 #  pragma weak __pthread_mutexattr_settype
-#  pragma weak __pthread_rwlock_tryrdlock
 #  pragma weak __pthread_rwlock_trywrlock
 #  pragma weak __pthread_initialize
 #  pragma weak __pthread_atfork
diff --git a/sysdeps/unix/sysv/linux/aarch64/libc.abilist b/sysdeps/unix/sysv/linux/aarch64/libc.abilist
index 759666e6f1..c9e785cc8f 100644
--- a/sysdeps/unix/sysv/linux/aarch64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/aarch64/libc.abilist
@@ -353,6 +353,7 @@ GLIBC_2.17 __pthread_once F
 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_tryrdlock F
 GLIBC_2.17 __pthread_rwlock_unlock F
 GLIBC_2.17 __pthread_rwlock_wrlock F
 GLIBC_2.17 __pthread_setspecific F
@@ -1507,6 +1508,7 @@ 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_tryrdlock F
 GLIBC_2.17 pthread_rwlock_unlock F
 GLIBC_2.17 pthread_rwlock_wrlock F
 GLIBC_2.17 pthread_self F
@@ -2293,6 +2295,7 @@ 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_tryrdlock 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 539d0a9105..e4014619e7 100644
--- a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
@@ -4,7 +4,6 @@ GLIBC_2.17 _IO_funlockfile F
 GLIBC_2.17 __errno_location F
 GLIBC_2.17 __pthread_register_cancel F
 GLIBC_2.17 __pthread_register_cancel_defer F
-GLIBC_2.17 __pthread_rwlock_tryrdlock F
 GLIBC_2.17 __pthread_rwlock_trywrlock F
 GLIBC_2.17 __pthread_unregister_cancel F
 GLIBC_2.17 __pthread_unregister_cancel_restore F
@@ -34,7 +33,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_tryrdlock F
 GLIBC_2.17 pthread_rwlock_trywrlock F
 GLIBC_2.17 pthread_rwlockattr_destroy F
 GLIBC_2.17 pthread_rwlockattr_getkind_np F
diff --git a/sysdeps/unix/sysv/linux/alpha/libc.abilist b/sysdeps/unix/sysv/linux/alpha/libc.abilist
index 90252cf57d..031f3123f2 100644
--- a/sysdeps/unix/sysv/linux/alpha/libc.abilist
+++ b/sysdeps/unix/sysv/linux/alpha/libc.abilist
@@ -1609,6 +1609,7 @@ GLIBC_2.1 pthread_mutexattr_settype F
 GLIBC_2.1 pthread_rwlock_destroy F
 GLIBC_2.1 pthread_rwlock_init F
 GLIBC_2.1 pthread_rwlock_rdlock F
+GLIBC_2.1 pthread_rwlock_tryrdlock F
 GLIBC_2.1 pthread_rwlock_unlock F
 GLIBC_2.1 pthread_rwlock_wrlock F
 GLIBC_2.1 ptsname F
@@ -1890,6 +1891,7 @@ GLIBC_2.2 __pread64 F
 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_tryrdlock F
 GLIBC_2.2 __pthread_rwlock_unlock F
 GLIBC_2.2 __pthread_rwlock_wrlock F
 GLIBC_2.2 __pwrite64 F
@@ -2374,6 +2376,7 @@ 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_tryrdlock 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 50166f48e2..f7bda4bb9b 100644
--- a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
@@ -24,7 +24,6 @@ GLIBC_2.1 pthread_attr_setstackaddr F
 GLIBC_2.1 pthread_attr_setstacksize F
 GLIBC_2.1 pthread_create F
 GLIBC_2.1 pthread_getconcurrency F
-GLIBC_2.1 pthread_rwlock_tryrdlock F
 GLIBC_2.1 pthread_rwlock_trywrlock F
 GLIBC_2.1 pthread_rwlockattr_destroy F
 GLIBC_2.1 pthread_rwlockattr_getkind_np F
@@ -48,7 +47,6 @@ GLIBC_2.12 pthread_getname_np F
 GLIBC_2.12 pthread_setname_np F
 GLIBC_2.18 pthread_getattr_default_np F
 GLIBC_2.18 pthread_setattr_default_np F
-GLIBC_2.2 __pthread_rwlock_tryrdlock F
 GLIBC_2.2 __pthread_rwlock_trywrlock F
 GLIBC_2.2 pthread_attr_getstack F
 GLIBC_2.2 pthread_attr_setstack F
diff --git a/sysdeps/unix/sysv/linux/arc/libc.abilist b/sysdeps/unix/sysv/linux/arc/libc.abilist
index 7fdc592a5a..e6cf475ced 100644
--- a/sysdeps/unix/sysv/linux/arc/libc.abilist
+++ b/sysdeps/unix/sysv/linux/arc/libc.abilist
@@ -342,6 +342,7 @@ GLIBC_2.32 __pthread_once F
 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_tryrdlock F
 GLIBC_2.32 __pthread_rwlock_unlock F
 GLIBC_2.32 __pthread_rwlock_wrlock F
 GLIBC_2.32 __pthread_setspecific F
@@ -1437,6 +1438,7 @@ 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_tryrdlock F
 GLIBC_2.32 pthread_rwlock_unlock F
 GLIBC_2.32 pthread_rwlock_wrlock F
 GLIBC_2.32 pthread_self F
@@ -2052,6 +2054,7 @@ 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_tryrdlock 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 9ed76b8a64..ae63d7aeb3 100644
--- a/sysdeps/unix/sysv/linux/arc/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/arc/libpthread.abilist
@@ -4,7 +4,6 @@ GLIBC_2.32 _IO_funlockfile F
 GLIBC_2.32 __errno_location F
 GLIBC_2.32 __pthread_register_cancel F
 GLIBC_2.32 __pthread_register_cancel_defer F
-GLIBC_2.32 __pthread_rwlock_tryrdlock F
 GLIBC_2.32 __pthread_rwlock_trywrlock F
 GLIBC_2.32 __pthread_unregister_cancel F
 GLIBC_2.32 __pthread_unregister_cancel_restore F
@@ -49,7 +48,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_tryrdlock F
 GLIBC_2.32 pthread_rwlock_trywrlock F
 GLIBC_2.32 pthread_rwlockattr_destroy F
 GLIBC_2.32 pthread_rwlockattr_getkind_np F
diff --git a/sysdeps/unix/sysv/linux/arm/be/libc.abilist b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
index 6ace2c0c13..bfec42ead9 100644
--- a/sysdeps/unix/sysv/linux/arm/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
@@ -211,6 +211,7 @@ 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_tryrdlock F
 GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
 GLIBC_2.34 pthread_setspecific F
@@ -561,6 +562,7 @@ GLIBC_2.4 __pthread_once F
 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_tryrdlock F
 GLIBC_2.4 __pthread_rwlock_unlock F
 GLIBC_2.4 __pthread_rwlock_wrlock F
 GLIBC_2.4 __pthread_setspecific F
@@ -1659,6 +1661,7 @@ 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_tryrdlock 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 a9ece5fcb7..e5de765bbc 100644
--- a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
@@ -33,7 +33,6 @@ GLIBC_2.4 __errno_location F
 GLIBC_2.4 __libpthread_version_placeholder F
 GLIBC_2.4 __pthread_register_cancel F
 GLIBC_2.4 __pthread_register_cancel_defer F
-GLIBC_2.4 __pthread_rwlock_tryrdlock F
 GLIBC_2.4 __pthread_rwlock_trywrlock F
 GLIBC_2.4 __pthread_unregister_cancel F
 GLIBC_2.4 __pthread_unregister_cancel_restore F
@@ -62,7 +61,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_tryrdlock F
 GLIBC_2.4 pthread_rwlock_trywrlock F
 GLIBC_2.4 pthread_rwlockattr_destroy F
 GLIBC_2.4 pthread_rwlockattr_getkind_np F
diff --git a/sysdeps/unix/sysv/linux/arm/le/libc.abilist b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
index 474a472d8e..f0bade32ef 100644
--- a/sysdeps/unix/sysv/linux/arm/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
@@ -208,6 +208,7 @@ 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_tryrdlock F
 GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
 GLIBC_2.34 pthread_setspecific F
@@ -558,6 +559,7 @@ GLIBC_2.4 __pthread_once F
 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_tryrdlock F
 GLIBC_2.4 __pthread_rwlock_unlock F
 GLIBC_2.4 __pthread_rwlock_wrlock F
 GLIBC_2.4 __pthread_setspecific F
@@ -1656,6 +1658,7 @@ 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_tryrdlock 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 a9ece5fcb7..e5de765bbc 100644
--- a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
@@ -33,7 +33,6 @@ GLIBC_2.4 __errno_location F
 GLIBC_2.4 __libpthread_version_placeholder F
 GLIBC_2.4 __pthread_register_cancel F
 GLIBC_2.4 __pthread_register_cancel_defer F
-GLIBC_2.4 __pthread_rwlock_tryrdlock F
 GLIBC_2.4 __pthread_rwlock_trywrlock F
 GLIBC_2.4 __pthread_unregister_cancel F
 GLIBC_2.4 __pthread_unregister_cancel_restore F
@@ -62,7 +61,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_tryrdlock F
 GLIBC_2.4 pthread_rwlock_trywrlock F
 GLIBC_2.4 pthread_rwlockattr_destroy F
 GLIBC_2.4 pthread_rwlockattr_getkind_np F
diff --git a/sysdeps/unix/sysv/linux/csky/libc.abilist b/sysdeps/unix/sysv/linux/csky/libc.abilist
index 761d723f7d..98a7f9a864 100644
--- a/sysdeps/unix/sysv/linux/csky/libc.abilist
+++ b/sysdeps/unix/sysv/linux/csky/libc.abilist
@@ -346,6 +346,7 @@ GLIBC_2.29 __pthread_once F
 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_tryrdlock F
 GLIBC_2.29 __pthread_rwlock_unlock F
 GLIBC_2.29 __pthread_rwlock_wrlock F
 GLIBC_2.29 __pthread_setspecific F
@@ -1494,6 +1495,7 @@ 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_tryrdlock F
 GLIBC_2.29 pthread_rwlock_unlock F
 GLIBC_2.29 pthread_rwlock_wrlock F
 GLIBC_2.29 pthread_self F
@@ -2236,6 +2238,7 @@ 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_tryrdlock 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 29c4199949..05c2ea5ad5 100644
--- a/sysdeps/unix/sysv/linux/csky/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/csky/libpthread.abilist
@@ -4,7 +4,6 @@ GLIBC_2.29 _IO_funlockfile F
 GLIBC_2.29 __errno_location F
 GLIBC_2.29 __pthread_register_cancel F
 GLIBC_2.29 __pthread_register_cancel_defer F
-GLIBC_2.29 __pthread_rwlock_tryrdlock F
 GLIBC_2.29 __pthread_rwlock_trywrlock F
 GLIBC_2.29 __pthread_unregister_cancel F
 GLIBC_2.29 __pthread_unregister_cancel_restore F
@@ -48,7 +47,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_tryrdlock F
 GLIBC_2.29 pthread_rwlock_trywrlock F
 GLIBC_2.29 pthread_rwlockattr_destroy F
 GLIBC_2.29 pthread_rwlockattr_getkind_np F
diff --git a/sysdeps/unix/sysv/linux/hppa/libc.abilist b/sysdeps/unix/sysv/linux/hppa/libc.abilist
index 1fe99788cb..2e180f5385 100644
--- a/sysdeps/unix/sysv/linux/hppa/libc.abilist
+++ b/sysdeps/unix/sysv/linux/hppa/libc.abilist
@@ -372,6 +372,7 @@ GLIBC_2.2 __pthread_once F
 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_tryrdlock F
 GLIBC_2.2 __pthread_rwlock_unlock F
 GLIBC_2.2 __pthread_rwlock_wrlock F
 GLIBC_2.2 __pthread_setspecific F
@@ -1318,6 +1319,7 @@ 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_tryrdlock F
 GLIBC_2.2 pthread_rwlock_unlock F
 GLIBC_2.2 pthread_rwlock_wrlock F
 GLIBC_2.2 pthread_self F
@@ -2187,6 +2189,7 @@ 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_tryrdlock 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 594f9c40a4..73866e12f3 100644
--- a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
@@ -7,7 +7,6 @@ GLIBC_2.2 _IO_flockfile F
 GLIBC_2.2 _IO_ftrylockfile F
 GLIBC_2.2 _IO_funlockfile F
 GLIBC_2.2 __errno_location F
-GLIBC_2.2 __pthread_rwlock_tryrdlock F
 GLIBC_2.2 __pthread_rwlock_trywrlock F
 GLIBC_2.2 flockfile F
 GLIBC_2.2 ftrylockfile F
@@ -32,7 +31,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_tryrdlock F
 GLIBC_2.2 pthread_rwlock_trywrlock F
 GLIBC_2.2 pthread_rwlockattr_destroy F
 GLIBC_2.2 pthread_rwlockattr_getkind_np F
diff --git a/sysdeps/unix/sysv/linux/i386/libc.abilist b/sysdeps/unix/sysv/linux/i386/libc.abilist
index 369b6d011c..3bf80f24d6 100644
--- a/sysdeps/unix/sysv/linux/i386/libc.abilist
+++ b/sysdeps/unix/sysv/linux/i386/libc.abilist
@@ -1577,6 +1577,7 @@ GLIBC_2.1 pthread_mutexattr_settype F
 GLIBC_2.1 pthread_rwlock_destroy F
 GLIBC_2.1 pthread_rwlock_init F
 GLIBC_2.1 pthread_rwlock_rdlock F
+GLIBC_2.1 pthread_rwlock_tryrdlock F
 GLIBC_2.1 pthread_rwlock_unlock F
 GLIBC_2.1 pthread_rwlock_wrlock F
 GLIBC_2.1 ptsname F
@@ -1894,6 +1895,7 @@ GLIBC_2.2 __pread64 F
 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_tryrdlock F
 GLIBC_2.2 __pthread_rwlock_unlock F
 GLIBC_2.2 __pthread_rwlock_wrlock F
 GLIBC_2.2 __pwrite64 F
@@ -2364,6 +2366,7 @@ 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_tryrdlock 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 fa1e4a9a0a..0f76b104ac 100644
--- a/sysdeps/unix/sysv/linux/i386/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/i386/libpthread.abilist
@@ -24,7 +24,6 @@ GLIBC_2.1 pthread_attr_setstackaddr F
 GLIBC_2.1 pthread_attr_setstacksize F
 GLIBC_2.1 pthread_create F
 GLIBC_2.1 pthread_getconcurrency F
-GLIBC_2.1 pthread_rwlock_tryrdlock F
 GLIBC_2.1 pthread_rwlock_trywrlock F
 GLIBC_2.1 pthread_rwlockattr_destroy F
 GLIBC_2.1 pthread_rwlockattr_getkind_np F
@@ -48,7 +47,6 @@ GLIBC_2.12 pthread_getname_np F
 GLIBC_2.12 pthread_setname_np F
 GLIBC_2.18 pthread_getattr_default_np F
 GLIBC_2.18 pthread_setattr_default_np F
-GLIBC_2.2 __pthread_rwlock_tryrdlock F
 GLIBC_2.2 __pthread_rwlock_trywrlock F
 GLIBC_2.2 pthread_attr_getstack F
 GLIBC_2.2 pthread_attr_setstack F
diff --git a/sysdeps/unix/sysv/linux/ia64/libc.abilist b/sysdeps/unix/sysv/linux/ia64/libc.abilist
index 2eaa5e822a..c6acf24faf 100644
--- a/sysdeps/unix/sysv/linux/ia64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/ia64/libc.abilist
@@ -376,6 +376,7 @@ GLIBC_2.2 __pthread_once F
 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_tryrdlock F
 GLIBC_2.2 __pthread_rwlock_unlock F
 GLIBC_2.2 __pthread_rwlock_wrlock F
 GLIBC_2.2 __pthread_setspecific F
@@ -1339,6 +1340,7 @@ 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_tryrdlock F
 GLIBC_2.2 pthread_rwlock_unlock F
 GLIBC_2.2 pthread_rwlock_wrlock F
 GLIBC_2.2 pthread_self F
@@ -2221,6 +2223,7 @@ 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_tryrdlock 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 3064b2c36c..d9988168e7 100644
--- a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
@@ -7,7 +7,6 @@ GLIBC_2.2 _IO_flockfile F
 GLIBC_2.2 _IO_ftrylockfile F
 GLIBC_2.2 _IO_funlockfile F
 GLIBC_2.2 __errno_location F
-GLIBC_2.2 __pthread_rwlock_tryrdlock F
 GLIBC_2.2 __pthread_rwlock_trywrlock F
 GLIBC_2.2 flockfile F
 GLIBC_2.2 ftrylockfile F
@@ -32,7 +31,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_tryrdlock F
 GLIBC_2.2 pthread_rwlock_trywrlock F
 GLIBC_2.2 pthread_rwlockattr_destroy F
 GLIBC_2.2 pthread_rwlockattr_getkind_np F
diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
index 4b00019000..7404e14471 100644
--- a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
@@ -212,6 +212,7 @@ 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_tryrdlock F
 GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
 GLIBC_2.34 pthread_setspecific F
@@ -547,6 +548,7 @@ GLIBC_2.4 __pthread_once F
 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_tryrdlock F
 GLIBC_2.4 __pthread_rwlock_unlock F
 GLIBC_2.4 __pthread_rwlock_wrlock F
 GLIBC_2.4 __pthread_setspecific F
@@ -1639,6 +1641,7 @@ 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_tryrdlock 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 a9ece5fcb7..e5de765bbc 100644
--- a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
@@ -33,7 +33,6 @@ GLIBC_2.4 __errno_location F
 GLIBC_2.4 __libpthread_version_placeholder F
 GLIBC_2.4 __pthread_register_cancel F
 GLIBC_2.4 __pthread_register_cancel_defer F
-GLIBC_2.4 __pthread_rwlock_tryrdlock F
 GLIBC_2.4 __pthread_rwlock_trywrlock F
 GLIBC_2.4 __pthread_unregister_cancel F
 GLIBC_2.4 __pthread_unregister_cancel_restore F
@@ -62,7 +61,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_tryrdlock F
 GLIBC_2.4 pthread_rwlock_trywrlock F
 GLIBC_2.4 pthread_rwlockattr_destroy F
 GLIBC_2.4 pthread_rwlockattr_getkind_np F
diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
index 22bd60eaea..28a0e6222b 100644
--- a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
@@ -1573,6 +1573,7 @@ GLIBC_2.1 pthread_mutexattr_settype F
 GLIBC_2.1 pthread_rwlock_destroy F
 GLIBC_2.1 pthread_rwlock_init F
 GLIBC_2.1 pthread_rwlock_rdlock F
+GLIBC_2.1 pthread_rwlock_tryrdlock F
 GLIBC_2.1 pthread_rwlock_unlock F
 GLIBC_2.1 pthread_rwlock_wrlock F
 GLIBC_2.1 ptsname F
@@ -1850,6 +1851,7 @@ GLIBC_2.2 __pread64 F
 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_tryrdlock F
 GLIBC_2.2 __pthread_rwlock_unlock F
 GLIBC_2.2 __pthread_rwlock_wrlock F
 GLIBC_2.2 __pwrite64 F
@@ -2307,6 +2309,7 @@ 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_tryrdlock 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 fa1e4a9a0a..0f76b104ac 100644
--- a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
@@ -24,7 +24,6 @@ GLIBC_2.1 pthread_attr_setstackaddr F
 GLIBC_2.1 pthread_attr_setstacksize F
 GLIBC_2.1 pthread_create F
 GLIBC_2.1 pthread_getconcurrency F
-GLIBC_2.1 pthread_rwlock_tryrdlock F
 GLIBC_2.1 pthread_rwlock_trywrlock F
 GLIBC_2.1 pthread_rwlockattr_destroy F
 GLIBC_2.1 pthread_rwlockattr_getkind_np F
@@ -48,7 +47,6 @@ GLIBC_2.12 pthread_getname_np F
 GLIBC_2.12 pthread_setname_np F
 GLIBC_2.18 pthread_getattr_default_np F
 GLIBC_2.18 pthread_setattr_default_np F
-GLIBC_2.2 __pthread_rwlock_tryrdlock F
 GLIBC_2.2 __pthread_rwlock_trywrlock F
 GLIBC_2.2 pthread_attr_getstack F
 GLIBC_2.2 pthread_attr_setstack F
diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
index 8383460d5b..3f31384d7b 100644
--- a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
@@ -354,6 +354,7 @@ GLIBC_2.18 __pthread_once F
 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_tryrdlock F
 GLIBC_2.18 __pthread_rwlock_unlock F
 GLIBC_2.18 __pthread_rwlock_wrlock F
 GLIBC_2.18 __pthread_setspecific F
@@ -1509,6 +1510,7 @@ 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_tryrdlock F
 GLIBC_2.18 pthread_rwlock_unlock F
 GLIBC_2.18 pthread_rwlock_wrlock F
 GLIBC_2.18 pthread_self F
@@ -2287,6 +2289,7 @@ 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_tryrdlock 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 2048dfa987..d9bc0713c0 100644
--- a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
@@ -4,7 +4,6 @@ GLIBC_2.18 _IO_funlockfile F
 GLIBC_2.18 __errno_location F
 GLIBC_2.18 __pthread_register_cancel F
 GLIBC_2.18 __pthread_register_cancel_defer F
-GLIBC_2.18 __pthread_rwlock_tryrdlock F
 GLIBC_2.18 __pthread_rwlock_trywrlock F
 GLIBC_2.18 __pthread_unregister_cancel F
 GLIBC_2.18 __pthread_unregister_cancel_restore F
@@ -35,7 +34,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_tryrdlock F
 GLIBC_2.18 pthread_rwlock_trywrlock F
 GLIBC_2.18 pthread_rwlockattr_destroy F
 GLIBC_2.18 pthread_rwlockattr_getkind_np F
diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
index d8c75fba97..a8a128fd6e 100644
--- a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
@@ -354,6 +354,7 @@ GLIBC_2.18 __pthread_once F
 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_tryrdlock F
 GLIBC_2.18 __pthread_rwlock_unlock F
 GLIBC_2.18 __pthread_rwlock_wrlock F
 GLIBC_2.18 __pthread_setspecific F
@@ -1509,6 +1510,7 @@ 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_tryrdlock F
 GLIBC_2.18 pthread_rwlock_unlock F
 GLIBC_2.18 pthread_rwlock_wrlock F
 GLIBC_2.18 pthread_self F
@@ -2284,6 +2286,7 @@ 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_tryrdlock 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 2048dfa987..d9bc0713c0 100644
--- a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
@@ -4,7 +4,6 @@ GLIBC_2.18 _IO_funlockfile F
 GLIBC_2.18 __errno_location F
 GLIBC_2.18 __pthread_register_cancel F
 GLIBC_2.18 __pthread_register_cancel_defer F
-GLIBC_2.18 __pthread_rwlock_tryrdlock F
 GLIBC_2.18 __pthread_rwlock_trywrlock F
 GLIBC_2.18 __pthread_unregister_cancel F
 GLIBC_2.18 __pthread_unregister_cancel_restore F
@@ -35,7 +34,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_tryrdlock F
 GLIBC_2.18 pthread_rwlock_trywrlock F
 GLIBC_2.18 pthread_rwlockattr_destroy F
 GLIBC_2.18 pthread_rwlockattr_getkind_np F
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
index d5388fe63b..fc3dbb2129 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
@@ -1547,6 +1547,7 @@ GLIBC_2.2 __pread64 F
 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_tryrdlock F
 GLIBC_2.2 __pthread_rwlock_unlock F
 GLIBC_2.2 __pthread_rwlock_wrlock F
 GLIBC_2.2 __pwrite64 F
@@ -1848,6 +1849,7 @@ 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_tryrdlock F
 GLIBC_2.2 pthread_rwlock_unlock F
 GLIBC_2.2 pthread_rwlock_wrlock F
 GLIBC_2.2 pthread_spin_destroy F
@@ -2270,6 +2272,7 @@ 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_tryrdlock 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 6a2fdb32ef..98a4af149a 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
@@ -21,7 +21,6 @@ GLIBC_2.12 pthread_getname_np F
 GLIBC_2.12 pthread_setname_np F
 GLIBC_2.18 pthread_getattr_default_np F
 GLIBC_2.18 pthread_setattr_default_np F
-GLIBC_2.2 __pthread_rwlock_tryrdlock F
 GLIBC_2.2 __pthread_rwlock_trywrlock F
 GLIBC_2.2 pthread_attr_getguardsize F
 GLIBC_2.2 pthread_attr_getstack F
@@ -40,7 +39,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_tryrdlock F
 GLIBC_2.2 pthread_rwlock_trywrlock F
 GLIBC_2.2 pthread_rwlockattr_destroy F
 GLIBC_2.2 pthread_rwlockattr_getkind_np F
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
index a40864332c..6164cdf470 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
@@ -1545,6 +1545,7 @@ GLIBC_2.2 __pread64 F
 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_tryrdlock F
 GLIBC_2.2 __pthread_rwlock_unlock F
 GLIBC_2.2 __pthread_rwlock_wrlock F
 GLIBC_2.2 __pwrite64 F
@@ -1846,6 +1847,7 @@ 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_tryrdlock F
 GLIBC_2.2 pthread_rwlock_unlock F
 GLIBC_2.2 pthread_rwlock_wrlock F
 GLIBC_2.2 pthread_spin_destroy F
@@ -2268,6 +2270,7 @@ 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_tryrdlock 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 6a2fdb32ef..98a4af149a 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
@@ -21,7 +21,6 @@ GLIBC_2.12 pthread_getname_np F
 GLIBC_2.12 pthread_setname_np F
 GLIBC_2.18 pthread_getattr_default_np F
 GLIBC_2.18 pthread_setattr_default_np F
-GLIBC_2.2 __pthread_rwlock_tryrdlock F
 GLIBC_2.2 __pthread_rwlock_trywrlock F
 GLIBC_2.2 pthread_attr_getguardsize F
 GLIBC_2.2 pthread_attr_getstack F
@@ -40,7 +39,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_tryrdlock F
 GLIBC_2.2 pthread_rwlock_trywrlock F
 GLIBC_2.2 pthread_rwlockattr_destroy F
 GLIBC_2.2 pthread_rwlockattr_getkind_np F
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
index de5414f722..c0c545eaba 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
@@ -1545,6 +1545,7 @@ GLIBC_2.2 __pread64 F
 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_tryrdlock F
 GLIBC_2.2 __pthread_rwlock_unlock F
 GLIBC_2.2 __pthread_rwlock_wrlock F
 GLIBC_2.2 __pwrite64 F
@@ -1846,6 +1847,7 @@ 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_tryrdlock F
 GLIBC_2.2 pthread_rwlock_unlock F
 GLIBC_2.2 pthread_rwlock_wrlock F
 GLIBC_2.2 pthread_spin_destroy F
@@ -2276,6 +2278,7 @@ 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_tryrdlock 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 c9c92faf61..c247f75f5d 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
@@ -1541,6 +1541,7 @@ GLIBC_2.2 __pread64 F
 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_tryrdlock F
 GLIBC_2.2 __pthread_rwlock_unlock F
 GLIBC_2.2 __pthread_rwlock_wrlock F
 GLIBC_2.2 __pwrite64 F
@@ -1842,6 +1843,7 @@ 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_tryrdlock F
 GLIBC_2.2 pthread_rwlock_unlock F
 GLIBC_2.2 pthread_rwlock_wrlock F
 GLIBC_2.2 pthread_spin_destroy F
@@ -2270,6 +2272,7 @@ 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_tryrdlock 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 3f46e027dd..953f80462e 100644
--- a/sysdeps/unix/sysv/linux/nios2/libc.abilist
+++ b/sysdeps/unix/sysv/linux/nios2/libc.abilist
@@ -391,6 +391,7 @@ GLIBC_2.21 __pthread_once F
 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_tryrdlock F
 GLIBC_2.21 __pthread_rwlock_unlock F
 GLIBC_2.21 __pthread_rwlock_wrlock F
 GLIBC_2.21 __pthread_setspecific F
@@ -1552,6 +1553,7 @@ 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_tryrdlock F
 GLIBC_2.21 pthread_rwlock_unlock F
 GLIBC_2.21 pthread_rwlock_wrlock F
 GLIBC_2.21 pthread_self F
@@ -2326,6 +2328,7 @@ 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_tryrdlock 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 0ee9bc8358..22f6c11f86 100644
--- a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
@@ -4,7 +4,6 @@ GLIBC_2.21 _IO_funlockfile F
 GLIBC_2.21 __errno_location F
 GLIBC_2.21 __pthread_register_cancel F
 GLIBC_2.21 __pthread_register_cancel_defer F
-GLIBC_2.21 __pthread_rwlock_tryrdlock F
 GLIBC_2.21 __pthread_rwlock_trywrlock F
 GLIBC_2.21 __pthread_unregister_cancel F
 GLIBC_2.21 __pthread_unregister_cancel_restore F
@@ -35,7 +34,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_tryrdlock F
 GLIBC_2.21 pthread_rwlock_trywrlock F
 GLIBC_2.21 pthread_rwlockattr_destroy F
 GLIBC_2.21 pthread_rwlockattr_getkind_np F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
index b020ad8b04..25ce30e612 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
@@ -1581,6 +1581,7 @@ GLIBC_2.1 pthread_mutexattr_settype F
 GLIBC_2.1 pthread_rwlock_destroy F
 GLIBC_2.1 pthread_rwlock_init F
 GLIBC_2.1 pthread_rwlock_rdlock F
+GLIBC_2.1 pthread_rwlock_tryrdlock F
 GLIBC_2.1 pthread_rwlock_unlock F
 GLIBC_2.1 pthread_rwlock_wrlock F
 GLIBC_2.1 ptsname F
@@ -1856,6 +1857,7 @@ GLIBC_2.2 __pread64 F
 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_tryrdlock F
 GLIBC_2.2 __pthread_rwlock_unlock F
 GLIBC_2.2 __pthread_rwlock_wrlock F
 GLIBC_2.2 __pwrite64 F
@@ -2334,6 +2336,7 @@ 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_tryrdlock 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 d293553ad6..192449a99e 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
@@ -24,7 +24,6 @@ GLIBC_2.1 pthread_attr_setstackaddr F
 GLIBC_2.1 pthread_attr_setstacksize F
 GLIBC_2.1 pthread_create F
 GLIBC_2.1 pthread_getconcurrency F
-GLIBC_2.1 pthread_rwlock_tryrdlock F
 GLIBC_2.1 pthread_rwlock_trywrlock F
 GLIBC_2.1 pthread_rwlockattr_destroy F
 GLIBC_2.1 pthread_rwlockattr_getkind_np F
@@ -48,7 +47,6 @@ GLIBC_2.12 pthread_getname_np F
 GLIBC_2.12 pthread_setname_np F
 GLIBC_2.18 pthread_getattr_default_np F
 GLIBC_2.18 pthread_setattr_default_np F
-GLIBC_2.2 __pthread_rwlock_tryrdlock F
 GLIBC_2.2 __pthread_rwlock_trywrlock F
 GLIBC_2.2 pthread_attr_getstack F
 GLIBC_2.2 pthread_attr_setstack F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
index c8303013f4..db33644bd8 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
@@ -1581,6 +1581,7 @@ GLIBC_2.1 pthread_mutexattr_settype F
 GLIBC_2.1 pthread_rwlock_destroy F
 GLIBC_2.1 pthread_rwlock_init F
 GLIBC_2.1 pthread_rwlock_rdlock F
+GLIBC_2.1 pthread_rwlock_tryrdlock F
 GLIBC_2.1 pthread_rwlock_unlock F
 GLIBC_2.1 pthread_rwlock_wrlock F
 GLIBC_2.1 ptsname F
@@ -1860,6 +1861,7 @@ GLIBC_2.2 __pread64 F
 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_tryrdlock F
 GLIBC_2.2 __pthread_rwlock_unlock F
 GLIBC_2.2 __pthread_rwlock_wrlock F
 GLIBC_2.2 __pwrite64 F
@@ -2367,6 +2369,7 @@ 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_tryrdlock 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 d0eeba3839..ba850f3a58 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
@@ -425,6 +425,7 @@ GLIBC_2.3 __pthread_once F
 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_tryrdlock F
 GLIBC_2.3 __pthread_rwlock_unlock F
 GLIBC_2.3 __pthread_rwlock_wrlock F
 GLIBC_2.3 __pthread_setspecific F
@@ -1424,6 +1425,7 @@ 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_tryrdlock F
 GLIBC_2.3 pthread_rwlock_unlock F
 GLIBC_2.3 pthread_rwlock_wrlock F
 GLIBC_2.3 pthread_self F
@@ -2188,6 +2190,7 @@ 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_tryrdlock 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 5982f6aac4..3e46195d50 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
@@ -28,7 +28,6 @@ GLIBC_2.3 _IO_flockfile F
 GLIBC_2.3 _IO_ftrylockfile F
 GLIBC_2.3 _IO_funlockfile F
 GLIBC_2.3 __errno_location F
-GLIBC_2.3 __pthread_rwlock_tryrdlock F
 GLIBC_2.3 __pthread_rwlock_trywrlock F
 GLIBC_2.3 flockfile F
 GLIBC_2.3 ftrylockfile F
@@ -53,7 +52,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_tryrdlock F
 GLIBC_2.3 pthread_rwlock_trywrlock F
 GLIBC_2.3 pthread_rwlockattr_destroy F
 GLIBC_2.3 pthread_rwlockattr_getkind_np F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
index 58c13b3e34..fb5b760364 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
@@ -439,6 +439,7 @@ GLIBC_2.17 __pthread_once F
 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_tryrdlock F
 GLIBC_2.17 __pthread_rwlock_unlock F
 GLIBC_2.17 __pthread_rwlock_wrlock F
 GLIBC_2.17 __pthread_setspecific F
@@ -1595,6 +1596,7 @@ 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_tryrdlock F
 GLIBC_2.17 pthread_rwlock_unlock F
 GLIBC_2.17 pthread_rwlock_wrlock F
 GLIBC_2.17 pthread_self F
@@ -2489,6 +2491,7 @@ 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_tryrdlock 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 539d0a9105..e4014619e7 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
@@ -4,7 +4,6 @@ GLIBC_2.17 _IO_funlockfile F
 GLIBC_2.17 __errno_location F
 GLIBC_2.17 __pthread_register_cancel F
 GLIBC_2.17 __pthread_register_cancel_defer F
-GLIBC_2.17 __pthread_rwlock_tryrdlock F
 GLIBC_2.17 __pthread_rwlock_trywrlock F
 GLIBC_2.17 __pthread_unregister_cancel F
 GLIBC_2.17 __pthread_unregister_cancel_restore F
@@ -34,7 +33,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_tryrdlock F
 GLIBC_2.17 pthread_rwlock_trywrlock F
 GLIBC_2.17 pthread_rwlockattr_destroy F
 GLIBC_2.17 pthread_rwlockattr_getkind_np F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
index 895a116445..e14c088f8a 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
@@ -339,6 +339,7 @@ GLIBC_2.33 __pthread_once F
 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_tryrdlock F
 GLIBC_2.33 __pthread_rwlock_unlock F
 GLIBC_2.33 __pthread_rwlock_wrlock F
 GLIBC_2.33 __pthread_setspecific F
@@ -1439,6 +1440,7 @@ 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_tryrdlock F
 GLIBC_2.33 pthread_rwlock_unlock F
 GLIBC_2.33 pthread_rwlock_wrlock F
 GLIBC_2.33 pthread_self F
@@ -2054,6 +2056,7 @@ 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_tryrdlock 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 e21dfe4fce..e42feeb16e 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
@@ -4,7 +4,6 @@ GLIBC_2.33 _IO_funlockfile F
 GLIBC_2.33 __errno_location F
 GLIBC_2.33 __pthread_register_cancel F
 GLIBC_2.33 __pthread_register_cancel_defer F
-GLIBC_2.33 __pthread_rwlock_tryrdlock F
 GLIBC_2.33 __pthread_rwlock_trywrlock F
 GLIBC_2.33 __pthread_unregister_cancel F
 GLIBC_2.33 __pthread_unregister_cancel_restore F
@@ -49,7 +48,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_tryrdlock F
 GLIBC_2.33 pthread_rwlock_trywrlock F
 GLIBC_2.33 pthread_rwlockattr_destroy F
 GLIBC_2.33 pthread_rwlockattr_getkind_np F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
index dd802fb0d0..4d17db5800 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
@@ -350,6 +350,7 @@ GLIBC_2.27 __pthread_once F
 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_tryrdlock F
 GLIBC_2.27 __pthread_rwlock_unlock F
 GLIBC_2.27 __pthread_rwlock_wrlock F
 GLIBC_2.27 __pthread_setspecific F
@@ -1497,6 +1498,7 @@ 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_tryrdlock F
 GLIBC_2.27 pthread_rwlock_unlock F
 GLIBC_2.27 pthread_rwlock_wrlock F
 GLIBC_2.27 pthread_self F
@@ -2254,6 +2256,7 @@ 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_tryrdlock 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 25f5bd3707..600ea5a00f 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
@@ -4,7 +4,6 @@ GLIBC_2.27 _IO_funlockfile F
 GLIBC_2.27 __errno_location F
 GLIBC_2.27 __pthread_register_cancel F
 GLIBC_2.27 __pthread_register_cancel_defer F
-GLIBC_2.27 __pthread_rwlock_tryrdlock F
 GLIBC_2.27 __pthread_rwlock_trywrlock F
 GLIBC_2.27 __pthread_unregister_cancel F
 GLIBC_2.27 __pthread_unregister_cancel_restore F
@@ -35,7 +34,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_tryrdlock F
 GLIBC_2.27 pthread_rwlock_trywrlock F
 GLIBC_2.27 pthread_rwlockattr_destroy F
 GLIBC_2.27 pthread_rwlockattr_getkind_np F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
index 8d7c07ffa0..da77bab930 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
@@ -1573,6 +1573,7 @@ GLIBC_2.1 pthread_mutexattr_settype F
 GLIBC_2.1 pthread_rwlock_destroy F
 GLIBC_2.1 pthread_rwlock_init F
 GLIBC_2.1 pthread_rwlock_rdlock F
+GLIBC_2.1 pthread_rwlock_tryrdlock F
 GLIBC_2.1 pthread_rwlock_unlock F
 GLIBC_2.1 pthread_rwlock_wrlock F
 GLIBC_2.1 ptsname F
@@ -1854,6 +1855,7 @@ GLIBC_2.2 __pread64 F
 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_tryrdlock F
 GLIBC_2.2 __pthread_rwlock_unlock F
 GLIBC_2.2 __pthread_rwlock_wrlock F
 GLIBC_2.2 __pwrite64 F
@@ -2332,6 +2334,7 @@ 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_tryrdlock 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 2f4676b825..f2b083901d 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
@@ -24,7 +24,6 @@ GLIBC_2.1 pthread_attr_setstackaddr F
 GLIBC_2.1 pthread_attr_setstacksize F
 GLIBC_2.1 pthread_create F
 GLIBC_2.1 pthread_getconcurrency F
-GLIBC_2.1 pthread_rwlock_tryrdlock F
 GLIBC_2.1 pthread_rwlock_trywrlock F
 GLIBC_2.1 pthread_rwlockattr_destroy F
 GLIBC_2.1 pthread_rwlockattr_getkind_np F
@@ -49,7 +48,6 @@ GLIBC_2.12 pthread_setname_np F
 GLIBC_2.18 pthread_getattr_default_np F
 GLIBC_2.18 pthread_setattr_default_np F
 GLIBC_2.19 __libpthread_version_placeholder F
-GLIBC_2.2 __pthread_rwlock_tryrdlock F
 GLIBC_2.2 __pthread_rwlock_trywrlock F
 GLIBC_2.2 pthread_attr_getstack F
 GLIBC_2.2 pthread_attr_setstack F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
index 9557487426..bf68e980bf 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
@@ -386,6 +386,7 @@ GLIBC_2.2 __pthread_once F
 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_tryrdlock F
 GLIBC_2.2 __pthread_rwlock_unlock F
 GLIBC_2.2 __pthread_rwlock_wrlock F
 GLIBC_2.2 __pthread_setspecific F
@@ -1336,6 +1337,7 @@ 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_tryrdlock F
 GLIBC_2.2 pthread_rwlock_unlock F
 GLIBC_2.2 pthread_rwlock_wrlock F
 GLIBC_2.2 pthread_self F
@@ -2225,6 +2227,7 @@ 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_tryrdlock 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 c7dd59c419..ceb764752d 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
@@ -8,7 +8,6 @@ GLIBC_2.2 _IO_flockfile F
 GLIBC_2.2 _IO_ftrylockfile F
 GLIBC_2.2 _IO_funlockfile F
 GLIBC_2.2 __errno_location F
-GLIBC_2.2 __pthread_rwlock_tryrdlock F
 GLIBC_2.2 __pthread_rwlock_trywrlock F
 GLIBC_2.2 flockfile F
 GLIBC_2.2 ftrylockfile F
@@ -33,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_tryrdlock F
 GLIBC_2.2 pthread_rwlock_trywrlock F
 GLIBC_2.2 pthread_rwlockattr_destroy F
 GLIBC_2.2 pthread_rwlockattr_getkind_np F
diff --git a/sysdeps/unix/sysv/linux/sh/be/libc.abilist b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
index 357bc17232..cc512fc917 100644
--- a/sysdeps/unix/sysv/linux/sh/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
@@ -375,6 +375,7 @@ GLIBC_2.2 __pthread_once F
 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_tryrdlock F
 GLIBC_2.2 __pthread_rwlock_unlock F
 GLIBC_2.2 __pthread_rwlock_wrlock F
 GLIBC_2.2 __pthread_setspecific F
@@ -1322,6 +1323,7 @@ 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_tryrdlock F
 GLIBC_2.2 pthread_rwlock_unlock F
 GLIBC_2.2 pthread_rwlock_wrlock F
 GLIBC_2.2 pthread_self F
@@ -2194,6 +2196,7 @@ 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_tryrdlock 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 594f9c40a4..73866e12f3 100644
--- a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
@@ -7,7 +7,6 @@ GLIBC_2.2 _IO_flockfile F
 GLIBC_2.2 _IO_ftrylockfile F
 GLIBC_2.2 _IO_funlockfile F
 GLIBC_2.2 __errno_location F
-GLIBC_2.2 __pthread_rwlock_tryrdlock F
 GLIBC_2.2 __pthread_rwlock_trywrlock F
 GLIBC_2.2 flockfile F
 GLIBC_2.2 ftrylockfile F
@@ -32,7 +31,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_tryrdlock F
 GLIBC_2.2 pthread_rwlock_trywrlock F
 GLIBC_2.2 pthread_rwlockattr_destroy F
 GLIBC_2.2 pthread_rwlockattr_getkind_np F
diff --git a/sysdeps/unix/sysv/linux/sh/le/libc.abilist b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
index a70a58218f..aa235c7344 100644
--- a/sysdeps/unix/sysv/linux/sh/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
@@ -375,6 +375,7 @@ GLIBC_2.2 __pthread_once F
 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_tryrdlock F
 GLIBC_2.2 __pthread_rwlock_unlock F
 GLIBC_2.2 __pthread_rwlock_wrlock F
 GLIBC_2.2 __pthread_setspecific F
@@ -1322,6 +1323,7 @@ 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_tryrdlock F
 GLIBC_2.2 pthread_rwlock_unlock F
 GLIBC_2.2 pthread_rwlock_wrlock F
 GLIBC_2.2 pthread_self F
@@ -2191,6 +2193,7 @@ 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_tryrdlock 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 594f9c40a4..73866e12f3 100644
--- a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
@@ -7,7 +7,6 @@ GLIBC_2.2 _IO_flockfile F
 GLIBC_2.2 _IO_ftrylockfile F
 GLIBC_2.2 _IO_funlockfile F
 GLIBC_2.2 __errno_location F
-GLIBC_2.2 __pthread_rwlock_tryrdlock F
 GLIBC_2.2 __pthread_rwlock_trywrlock F
 GLIBC_2.2 flockfile F
 GLIBC_2.2 ftrylockfile F
@@ -32,7 +31,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_tryrdlock F
 GLIBC_2.2 pthread_rwlock_trywrlock F
 GLIBC_2.2 pthread_rwlockattr_destroy F
 GLIBC_2.2 pthread_rwlockattr_getkind_np F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
index 14931e13ac..16a1268fd3 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
@@ -1574,6 +1574,7 @@ GLIBC_2.1 pthread_mutexattr_settype F
 GLIBC_2.1 pthread_rwlock_destroy F
 GLIBC_2.1 pthread_rwlock_init F
 GLIBC_2.1 pthread_rwlock_rdlock F
+GLIBC_2.1 pthread_rwlock_tryrdlock F
 GLIBC_2.1 pthread_rwlock_unlock F
 GLIBC_2.1 pthread_rwlock_wrlock F
 GLIBC_2.1 ptsname F
@@ -1852,6 +1853,7 @@ GLIBC_2.2 __pread64 F
 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_tryrdlock F
 GLIBC_2.2 __pthread_rwlock_unlock F
 GLIBC_2.2 __pthread_rwlock_wrlock F
 GLIBC_2.2 __pwrite64 F
@@ -2323,6 +2325,7 @@ 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_tryrdlock 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 50166f48e2..f7bda4bb9b 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
@@ -24,7 +24,6 @@ GLIBC_2.1 pthread_attr_setstackaddr F
 GLIBC_2.1 pthread_attr_setstacksize F
 GLIBC_2.1 pthread_create F
 GLIBC_2.1 pthread_getconcurrency F
-GLIBC_2.1 pthread_rwlock_tryrdlock F
 GLIBC_2.1 pthread_rwlock_trywrlock F
 GLIBC_2.1 pthread_rwlockattr_destroy F
 GLIBC_2.1 pthread_rwlockattr_getkind_np F
@@ -48,7 +47,6 @@ GLIBC_2.12 pthread_getname_np F
 GLIBC_2.12 pthread_setname_np F
 GLIBC_2.18 pthread_getattr_default_np F
 GLIBC_2.18 pthread_setattr_default_np F
-GLIBC_2.2 __pthread_rwlock_tryrdlock F
 GLIBC_2.2 __pthread_rwlock_trywrlock F
 GLIBC_2.2 pthread_attr_getstack F
 GLIBC_2.2 pthread_attr_setstack F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
index f9d184a6e8..d8f6584046 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
@@ -413,6 +413,7 @@ GLIBC_2.2 __pthread_once F
 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_tryrdlock F
 GLIBC_2.2 __pthread_rwlock_unlock F
 GLIBC_2.2 __pthread_rwlock_wrlock F
 GLIBC_2.2 __pthread_setspecific F
@@ -1365,6 +1366,7 @@ 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_tryrdlock F
 GLIBC_2.2 pthread_rwlock_unlock F
 GLIBC_2.2 pthread_rwlock_wrlock F
 GLIBC_2.2 pthread_self F
@@ -2242,6 +2244,7 @@ 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_tryrdlock 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 3064b2c36c..d9988168e7 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
@@ -7,7 +7,6 @@ GLIBC_2.2 _IO_flockfile F
 GLIBC_2.2 _IO_ftrylockfile F
 GLIBC_2.2 _IO_funlockfile F
 GLIBC_2.2 __errno_location F
-GLIBC_2.2 __pthread_rwlock_tryrdlock F
 GLIBC_2.2 __pthread_rwlock_trywrlock F
 GLIBC_2.2 flockfile F
 GLIBC_2.2 ftrylockfile F
@@ -32,7 +31,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_tryrdlock F
 GLIBC_2.2 pthread_rwlock_trywrlock F
 GLIBC_2.2 pthread_rwlockattr_destroy F
 GLIBC_2.2 pthread_rwlockattr_getkind_np F
diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
index e0c940714e..26e1f0da98 100644
--- a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
@@ -374,6 +374,7 @@ GLIBC_2.2.5 __pthread_once F
 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_tryrdlock F
 GLIBC_2.2.5 __pthread_rwlock_unlock F
 GLIBC_2.2.5 __pthread_rwlock_wrlock F
 GLIBC_2.2.5 __pthread_setspecific F
@@ -1333,6 +1334,7 @@ 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_tryrdlock F
 GLIBC_2.2.5 pthread_rwlock_unlock F
 GLIBC_2.2.5 pthread_rwlock_wrlock F
 GLIBC_2.2.5 pthread_self F
@@ -2203,6 +2205,7 @@ 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_tryrdlock 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 7e9477da8d..9c9553be6c 100644
--- a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
@@ -7,7 +7,6 @@ GLIBC_2.2.5 _IO_flockfile F
 GLIBC_2.2.5 _IO_ftrylockfile F
 GLIBC_2.2.5 _IO_funlockfile F
 GLIBC_2.2.5 __errno_location F
-GLIBC_2.2.5 __pthread_rwlock_tryrdlock F
 GLIBC_2.2.5 __pthread_rwlock_trywrlock F
 GLIBC_2.2.5 flockfile F
 GLIBC_2.2.5 ftrylockfile F
@@ -32,7 +31,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_tryrdlock F
 GLIBC_2.2.5 pthread_rwlock_trywrlock F
 GLIBC_2.2.5 pthread_rwlockattr_destroy F
 GLIBC_2.2.5 pthread_rwlockattr_getkind_np F
diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
index 23a14b102a..9ea2ffd03c 100644
--- a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
@@ -354,6 +354,7 @@ GLIBC_2.16 __pthread_once F
 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_tryrdlock F
 GLIBC_2.16 __pthread_rwlock_unlock F
 GLIBC_2.16 __pthread_rwlock_wrlock F
 GLIBC_2.16 __pthread_setspecific F
@@ -1514,6 +1515,7 @@ 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_tryrdlock F
 GLIBC_2.16 pthread_rwlock_unlock F
 GLIBC_2.16 pthread_rwlock_wrlock F
 GLIBC_2.16 pthread_self F
@@ -2308,6 +2310,7 @@ 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_tryrdlock 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 c60f350d26..f9dad30a95 100644
--- a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
@@ -4,7 +4,6 @@ GLIBC_2.16 _IO_funlockfile F
 GLIBC_2.16 __errno_location F
 GLIBC_2.16 __pthread_register_cancel F
 GLIBC_2.16 __pthread_register_cancel_defer F
-GLIBC_2.16 __pthread_rwlock_tryrdlock F
 GLIBC_2.16 __pthread_rwlock_trywrlock F
 GLIBC_2.16 __pthread_unregister_cancel F
 GLIBC_2.16 __pthread_unregister_cancel_restore F
@@ -34,7 +33,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_tryrdlock F
 GLIBC_2.16 pthread_rwlock_trywrlock F
 GLIBC_2.16 pthread_rwlockattr_destroy F
 GLIBC_2.16 pthread_rwlockattr_getkind_np F
-- 
2.30.2



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

* [PATCH 08/14] nptl: Move pthread_rwlock_trywrlock into libc
  2021-04-23 17:36 [PATCH 00/14] nptl: Move remaining rwlock functions into libc Florian Weimer via Libc-alpha
                   ` (6 preceding siblings ...)
  2021-04-23 17:37 ` [PATCH 07/14] nptl: Move pthread_rwlock_tryrdlock " Florian Weimer via Libc-alpha
@ 2021-04-23 17:37 ` Florian Weimer via Libc-alpha
  2021-05-02 19:37   ` Carlos O'Donell via Libc-alpha
  2021-04-23 17:37 ` [PATCH 09/14] nptl: Move pthread_rwlockattr_destroy " Florian Weimer via Libc-alpha
                   ` (6 subsequent siblings)
  14 siblings, 1 reply; 30+ messages in thread
From: Florian Weimer via Libc-alpha @ 2021-04-23 17:37 UTC (permalink / raw)
  To: libc-alpha

And __pthread_rwlock_trywrlock as a compatibility symbol.

Remove the unused __libc_rwlock_trywrlock macro.

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

diff --git a/nptl/Makefile b/nptl/Makefile
index 492a59586d..9fc1007e9a 100644
--- a/nptl/Makefile
+++ b/nptl/Makefile
@@ -128,6 +128,7 @@ routines = \
   pthread_rwlock_timedrdlock \
   pthread_rwlock_timedwrlock \
   pthread_rwlock_tryrdlock \
+  pthread_rwlock_trywrlock \
   pthread_rwlock_unlock \
   pthread_rwlock_wrlock \
   pthread_self \
@@ -185,7 +186,6 @@ libpthread-routines = \
   pthread_getname \
   pthread_join \
   pthread_join_common \
-  pthread_rwlock_trywrlock \
   pthread_rwlockattr_destroy \
   pthread_rwlockattr_getkind_np \
   pthread_rwlockattr_getpshared \
diff --git a/nptl/Versions b/nptl/Versions
index 2793b0d9b2..f84f74dbee 100644
--- a/nptl/Versions
+++ b/nptl/Versions
@@ -70,6 +70,7 @@ libc {
     pthread_rwlock_init;
     pthread_rwlock_rdlock;
     pthread_rwlock_tryrdlock;
+    pthread_rwlock_trywrlock;
     pthread_rwlock_unlock;
     pthread_rwlock_wrlock;
   }
@@ -78,6 +79,7 @@ libc {
     __pthread_rwlock_init;
     __pthread_rwlock_rdlock;
     __pthread_rwlock_tryrdlock;
+    __pthread_rwlock_trywrlock;
     __pthread_rwlock_unlock;
     __pthread_rwlock_wrlock;
     pthread_condattr_getpshared;
@@ -197,6 +199,7 @@ libc {
     pthread_rwlock_timedrdlock;
     pthread_rwlock_timedwrlock;
     pthread_rwlock_tryrdlock;
+    pthread_rwlock_trywrlock;
     pthread_rwlock_unlock;
     pthread_rwlock_wrlock;
     pthread_setspecific;
@@ -289,7 +292,6 @@ libpthread {
     pthread_attr_setstacksize;
     pthread_create;
     pthread_getconcurrency;
-    pthread_rwlock_trywrlock;
     pthread_rwlockattr_destroy;
     pthread_rwlockattr_getkind_np;
     pthread_rwlockattr_getpshared;
@@ -316,7 +318,6 @@ libpthread {
   }
 
   GLIBC_2.2 {
-    __pthread_rwlock_trywrlock;
     pthread_attr_getstack;
     pthread_attr_setstack;
     pthread_barrier_destroy;
diff --git a/nptl/pthread_rwlock_trywrlock.c b/nptl/pthread_rwlock_trywrlock.c
index 642fa724f2..242c0a1c5c 100644
--- a/nptl/pthread_rwlock_trywrlock.c
+++ b/nptl/pthread_rwlock_trywrlock.c
@@ -19,10 +19,11 @@
 #include <errno.h>
 #include "pthreadP.h"
 #include <atomic.h>
+#include <shlib-compat.h>
 
 /* See pthread_rwlock_common.c for an overview.  */
 int
-__pthread_rwlock_trywrlock (pthread_rwlock_t *rwlock)
+___pthread_rwlock_trywrlock (pthread_rwlock_t *rwlock)
 {
   /* When in a trywrlock, we can acquire the write lock if it is in states
      #1 (idle and read phase) and #5 (idle and write phase), and also in #6
@@ -64,5 +65,15 @@ __pthread_rwlock_trywrlock (pthread_rwlock_t *rwlock)
     }
   return EBUSY;
 }
+versioned_symbol (libc, ___pthread_rwlock_trywrlock,
+		  pthread_rwlock_trywrlock, GLIBC_2_34);
+libc_hidden_ver (___pthread_rwlock_trywrlock, __pthread_rwlock_trywrlock)
 
-strong_alias (__pthread_rwlock_trywrlock, pthread_rwlock_trywrlock)
+#if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_1, GLIBC_2_34)
+compat_symbol (libpthread, ___pthread_rwlock_trywrlock,
+	       pthread_rwlock_trywrlock, GLIBC_2_1);
+#endif
+#if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_2, GLIBC_2_34)
+compat_symbol (libpthread, ___pthread_rwlock_trywrlock,
+	       __pthread_rwlock_trywrlock, GLIBC_2_2);
+#endif
diff --git a/sysdeps/nptl/libc-lockP.h b/sysdeps/nptl/libc-lockP.h
index d1a7ac2a3f..0fd4ba99f2 100644
--- a/sysdeps/nptl/libc-lockP.h
+++ b/sysdeps/nptl/libc-lockP.h
@@ -150,8 +150,6 @@ _Static_assert (LLL_LOCK_INITIALIZER == 0, "LLL_LOCK_INITIALIZER != 0");
 # define __libc_lock_trylock(NAME) \
   __libc_maybe_call (__pthread_mutex_trylock, (&(NAME)), 0)
 #endif
-#define __libc_rwlock_trywrlock(NAME) \
-  __libc_maybe_call (__pthread_rwlock_trywrlock, (&(NAME)), 0)
 
 #define __rtld_lock_trylock_recursive(NAME) \
   __libc_maybe_call (__pthread_mutex_trylock, (&(NAME).mutex), 0)
@@ -267,7 +265,6 @@ libc_hidden_proto (__pthread_rwlock_rdlock)
 
 extern int __pthread_rwlock_wrlock (pthread_rwlock_t *__rwlock);
 libc_hidden_proto (__pthread_rwlock_wrlock)
-extern int __pthread_rwlock_trywrlock (pthread_rwlock_t *__rwlock);
 
 extern int __pthread_rwlock_unlock (pthread_rwlock_t *__rwlock);
 libc_hidden_proto (__pthread_rwlock_unlock)
@@ -290,7 +287,6 @@ weak_extern (__pthread_mutex_trylock)
 weak_extern (__pthread_mutexattr_init)
 weak_extern (__pthread_mutexattr_destroy)
 weak_extern (__pthread_mutexattr_settype)
-weak_extern (__pthread_rwlock_trywrlock)
 weak_extern (__pthread_initialize)
 weak_extern (__pthread_atfork)
 # else
@@ -298,7 +294,6 @@ weak_extern (__pthread_atfork)
 #  pragma weak __pthread_mutexattr_init
 #  pragma weak __pthread_mutexattr_destroy
 #  pragma weak __pthread_mutexattr_settype
-#  pragma weak __pthread_rwlock_trywrlock
 #  pragma weak __pthread_initialize
 #  pragma weak __pthread_atfork
 # endif
diff --git a/sysdeps/unix/sysv/linux/aarch64/libc.abilist b/sysdeps/unix/sysv/linux/aarch64/libc.abilist
index c9e785cc8f..b4a06c6299 100644
--- a/sysdeps/unix/sysv/linux/aarch64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/aarch64/libc.abilist
@@ -354,6 +354,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_tryrdlock F
+GLIBC_2.17 __pthread_rwlock_trywrlock F
 GLIBC_2.17 __pthread_rwlock_unlock F
 GLIBC_2.17 __pthread_rwlock_wrlock F
 GLIBC_2.17 __pthread_setspecific F
@@ -1509,6 +1510,7 @@ 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_tryrdlock F
+GLIBC_2.17 pthread_rwlock_trywrlock F
 GLIBC_2.17 pthread_rwlock_unlock F
 GLIBC_2.17 pthread_rwlock_wrlock F
 GLIBC_2.17 pthread_self F
@@ -2296,6 +2298,7 @@ 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_tryrdlock F
+GLIBC_2.34 pthread_rwlock_trywrlock 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 e4014619e7..11e21afc40 100644
--- a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
@@ -4,7 +4,6 @@ GLIBC_2.17 _IO_funlockfile F
 GLIBC_2.17 __errno_location F
 GLIBC_2.17 __pthread_register_cancel F
 GLIBC_2.17 __pthread_register_cancel_defer F
-GLIBC_2.17 __pthread_rwlock_trywrlock F
 GLIBC_2.17 __pthread_unregister_cancel F
 GLIBC_2.17 __pthread_unregister_cancel_restore F
 GLIBC_2.17 flockfile F
@@ -33,7 +32,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_trywrlock F
 GLIBC_2.17 pthread_rwlockattr_destroy F
 GLIBC_2.17 pthread_rwlockattr_getkind_np F
 GLIBC_2.17 pthread_rwlockattr_getpshared F
diff --git a/sysdeps/unix/sysv/linux/alpha/libc.abilist b/sysdeps/unix/sysv/linux/alpha/libc.abilist
index 031f3123f2..8cc6c01293 100644
--- a/sysdeps/unix/sysv/linux/alpha/libc.abilist
+++ b/sysdeps/unix/sysv/linux/alpha/libc.abilist
@@ -1610,6 +1610,7 @@ GLIBC_2.1 pthread_rwlock_destroy F
 GLIBC_2.1 pthread_rwlock_init F
 GLIBC_2.1 pthread_rwlock_rdlock F
 GLIBC_2.1 pthread_rwlock_tryrdlock F
+GLIBC_2.1 pthread_rwlock_trywrlock F
 GLIBC_2.1 pthread_rwlock_unlock F
 GLIBC_2.1 pthread_rwlock_wrlock F
 GLIBC_2.1 ptsname F
@@ -1892,6 +1893,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_tryrdlock F
+GLIBC_2.2 __pthread_rwlock_trywrlock F
 GLIBC_2.2 __pthread_rwlock_unlock F
 GLIBC_2.2 __pthread_rwlock_wrlock F
 GLIBC_2.2 __pwrite64 F
@@ -2377,6 +2379,7 @@ 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_tryrdlock F
+GLIBC_2.34 pthread_rwlock_trywrlock 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 f7bda4bb9b..ab854bbc77 100644
--- a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
@@ -24,7 +24,6 @@ GLIBC_2.1 pthread_attr_setstackaddr F
 GLIBC_2.1 pthread_attr_setstacksize F
 GLIBC_2.1 pthread_create F
 GLIBC_2.1 pthread_getconcurrency F
-GLIBC_2.1 pthread_rwlock_trywrlock F
 GLIBC_2.1 pthread_rwlockattr_destroy F
 GLIBC_2.1 pthread_rwlockattr_getkind_np F
 GLIBC_2.1 pthread_rwlockattr_getpshared F
@@ -47,7 +46,6 @@ GLIBC_2.12 pthread_getname_np F
 GLIBC_2.12 pthread_setname_np F
 GLIBC_2.18 pthread_getattr_default_np F
 GLIBC_2.18 pthread_setattr_default_np F
-GLIBC_2.2 __pthread_rwlock_trywrlock F
 GLIBC_2.2 pthread_attr_getstack F
 GLIBC_2.2 pthread_attr_setstack F
 GLIBC_2.2 pthread_barrier_destroy F
diff --git a/sysdeps/unix/sysv/linux/arc/libc.abilist b/sysdeps/unix/sysv/linux/arc/libc.abilist
index e6cf475ced..82fa9a1b2c 100644
--- a/sysdeps/unix/sysv/linux/arc/libc.abilist
+++ b/sysdeps/unix/sysv/linux/arc/libc.abilist
@@ -343,6 +343,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_tryrdlock F
+GLIBC_2.32 __pthread_rwlock_trywrlock F
 GLIBC_2.32 __pthread_rwlock_unlock F
 GLIBC_2.32 __pthread_rwlock_wrlock F
 GLIBC_2.32 __pthread_setspecific F
@@ -1439,6 +1440,7 @@ 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_tryrdlock F
+GLIBC_2.32 pthread_rwlock_trywrlock F
 GLIBC_2.32 pthread_rwlock_unlock F
 GLIBC_2.32 pthread_rwlock_wrlock F
 GLIBC_2.32 pthread_self F
@@ -2055,6 +2057,7 @@ 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_tryrdlock F
+GLIBC_2.34 pthread_rwlock_trywrlock 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 ae63d7aeb3..b029764706 100644
--- a/sysdeps/unix/sysv/linux/arc/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/arc/libpthread.abilist
@@ -4,7 +4,6 @@ GLIBC_2.32 _IO_funlockfile F
 GLIBC_2.32 __errno_location F
 GLIBC_2.32 __pthread_register_cancel F
 GLIBC_2.32 __pthread_register_cancel_defer F
-GLIBC_2.32 __pthread_rwlock_trywrlock F
 GLIBC_2.32 __pthread_unregister_cancel F
 GLIBC_2.32 __pthread_unregister_cancel_restore F
 GLIBC_2.32 call_once F
@@ -48,7 +47,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_trywrlock F
 GLIBC_2.32 pthread_rwlockattr_destroy F
 GLIBC_2.32 pthread_rwlockattr_getkind_np F
 GLIBC_2.32 pthread_rwlockattr_getpshared F
diff --git a/sysdeps/unix/sysv/linux/arm/be/libc.abilist b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
index bfec42ead9..ca8c1d3c08 100644
--- a/sysdeps/unix/sysv/linux/arm/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
@@ -212,6 +212,7 @@ 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_tryrdlock F
+GLIBC_2.34 pthread_rwlock_trywrlock F
 GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
 GLIBC_2.34 pthread_setspecific F
@@ -563,6 +564,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_tryrdlock F
+GLIBC_2.4 __pthread_rwlock_trywrlock F
 GLIBC_2.4 __pthread_rwlock_unlock F
 GLIBC_2.4 __pthread_rwlock_wrlock F
 GLIBC_2.4 __pthread_setspecific F
@@ -1662,6 +1664,7 @@ 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_tryrdlock F
+GLIBC_2.4 pthread_rwlock_trywrlock 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 e5de765bbc..a62e8fe20a 100644
--- a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
@@ -33,7 +33,6 @@ GLIBC_2.4 __errno_location F
 GLIBC_2.4 __libpthread_version_placeholder F
 GLIBC_2.4 __pthread_register_cancel F
 GLIBC_2.4 __pthread_register_cancel_defer F
-GLIBC_2.4 __pthread_rwlock_trywrlock F
 GLIBC_2.4 __pthread_unregister_cancel F
 GLIBC_2.4 __pthread_unregister_cancel_restore F
 GLIBC_2.4 flockfile F
@@ -61,7 +60,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_trywrlock F
 GLIBC_2.4 pthread_rwlockattr_destroy F
 GLIBC_2.4 pthread_rwlockattr_getkind_np F
 GLIBC_2.4 pthread_rwlockattr_getpshared F
diff --git a/sysdeps/unix/sysv/linux/arm/le/libc.abilist b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
index f0bade32ef..5d3a1cde7c 100644
--- a/sysdeps/unix/sysv/linux/arm/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
@@ -209,6 +209,7 @@ 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_tryrdlock F
+GLIBC_2.34 pthread_rwlock_trywrlock F
 GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
 GLIBC_2.34 pthread_setspecific F
@@ -560,6 +561,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_tryrdlock F
+GLIBC_2.4 __pthread_rwlock_trywrlock F
 GLIBC_2.4 __pthread_rwlock_unlock F
 GLIBC_2.4 __pthread_rwlock_wrlock F
 GLIBC_2.4 __pthread_setspecific F
@@ -1659,6 +1661,7 @@ 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_tryrdlock F
+GLIBC_2.4 pthread_rwlock_trywrlock 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 e5de765bbc..a62e8fe20a 100644
--- a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
@@ -33,7 +33,6 @@ GLIBC_2.4 __errno_location F
 GLIBC_2.4 __libpthread_version_placeholder F
 GLIBC_2.4 __pthread_register_cancel F
 GLIBC_2.4 __pthread_register_cancel_defer F
-GLIBC_2.4 __pthread_rwlock_trywrlock F
 GLIBC_2.4 __pthread_unregister_cancel F
 GLIBC_2.4 __pthread_unregister_cancel_restore F
 GLIBC_2.4 flockfile F
@@ -61,7 +60,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_trywrlock F
 GLIBC_2.4 pthread_rwlockattr_destroy F
 GLIBC_2.4 pthread_rwlockattr_getkind_np F
 GLIBC_2.4 pthread_rwlockattr_getpshared F
diff --git a/sysdeps/unix/sysv/linux/csky/libc.abilist b/sysdeps/unix/sysv/linux/csky/libc.abilist
index 98a7f9a864..066afc9db7 100644
--- a/sysdeps/unix/sysv/linux/csky/libc.abilist
+++ b/sysdeps/unix/sysv/linux/csky/libc.abilist
@@ -347,6 +347,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_tryrdlock F
+GLIBC_2.29 __pthread_rwlock_trywrlock F
 GLIBC_2.29 __pthread_rwlock_unlock F
 GLIBC_2.29 __pthread_rwlock_wrlock F
 GLIBC_2.29 __pthread_setspecific F
@@ -1496,6 +1497,7 @@ 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_tryrdlock F
+GLIBC_2.29 pthread_rwlock_trywrlock F
 GLIBC_2.29 pthread_rwlock_unlock F
 GLIBC_2.29 pthread_rwlock_wrlock F
 GLIBC_2.29 pthread_self F
@@ -2239,6 +2241,7 @@ 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_tryrdlock F
+GLIBC_2.34 pthread_rwlock_trywrlock 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 05c2ea5ad5..c1a34db9fd 100644
--- a/sysdeps/unix/sysv/linux/csky/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/csky/libpthread.abilist
@@ -4,7 +4,6 @@ GLIBC_2.29 _IO_funlockfile F
 GLIBC_2.29 __errno_location F
 GLIBC_2.29 __pthread_register_cancel F
 GLIBC_2.29 __pthread_register_cancel_defer F
-GLIBC_2.29 __pthread_rwlock_trywrlock F
 GLIBC_2.29 __pthread_unregister_cancel F
 GLIBC_2.29 __pthread_unregister_cancel_restore F
 GLIBC_2.29 call_once F
@@ -47,7 +46,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_trywrlock F
 GLIBC_2.29 pthread_rwlockattr_destroy F
 GLIBC_2.29 pthread_rwlockattr_getkind_np F
 GLIBC_2.29 pthread_rwlockattr_getpshared F
diff --git a/sysdeps/unix/sysv/linux/hppa/libc.abilist b/sysdeps/unix/sysv/linux/hppa/libc.abilist
index 2e180f5385..958ab24e89 100644
--- a/sysdeps/unix/sysv/linux/hppa/libc.abilist
+++ b/sysdeps/unix/sysv/linux/hppa/libc.abilist
@@ -373,6 +373,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_tryrdlock F
+GLIBC_2.2 __pthread_rwlock_trywrlock F
 GLIBC_2.2 __pthread_rwlock_unlock F
 GLIBC_2.2 __pthread_rwlock_wrlock F
 GLIBC_2.2 __pthread_setspecific F
@@ -1320,6 +1321,7 @@ 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_tryrdlock F
+GLIBC_2.2 pthread_rwlock_trywrlock F
 GLIBC_2.2 pthread_rwlock_unlock F
 GLIBC_2.2 pthread_rwlock_wrlock F
 GLIBC_2.2 pthread_self F
@@ -2190,6 +2192,7 @@ 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_tryrdlock F
+GLIBC_2.34 pthread_rwlock_trywrlock 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 73866e12f3..7a3432551e 100644
--- a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
@@ -7,7 +7,6 @@ GLIBC_2.2 _IO_flockfile F
 GLIBC_2.2 _IO_ftrylockfile F
 GLIBC_2.2 _IO_funlockfile F
 GLIBC_2.2 __errno_location F
-GLIBC_2.2 __pthread_rwlock_trywrlock F
 GLIBC_2.2 flockfile F
 GLIBC_2.2 ftrylockfile F
 GLIBC_2.2 funlockfile F
@@ -31,7 +30,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_trywrlock F
 GLIBC_2.2 pthread_rwlockattr_destroy F
 GLIBC_2.2 pthread_rwlockattr_getkind_np F
 GLIBC_2.2 pthread_rwlockattr_getpshared F
diff --git a/sysdeps/unix/sysv/linux/i386/libc.abilist b/sysdeps/unix/sysv/linux/i386/libc.abilist
index 3bf80f24d6..ee8809b6e4 100644
--- a/sysdeps/unix/sysv/linux/i386/libc.abilist
+++ b/sysdeps/unix/sysv/linux/i386/libc.abilist
@@ -1578,6 +1578,7 @@ GLIBC_2.1 pthread_rwlock_destroy F
 GLIBC_2.1 pthread_rwlock_init F
 GLIBC_2.1 pthread_rwlock_rdlock F
 GLIBC_2.1 pthread_rwlock_tryrdlock F
+GLIBC_2.1 pthread_rwlock_trywrlock F
 GLIBC_2.1 pthread_rwlock_unlock F
 GLIBC_2.1 pthread_rwlock_wrlock F
 GLIBC_2.1 ptsname F
@@ -1896,6 +1897,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_tryrdlock F
+GLIBC_2.2 __pthread_rwlock_trywrlock F
 GLIBC_2.2 __pthread_rwlock_unlock F
 GLIBC_2.2 __pthread_rwlock_wrlock F
 GLIBC_2.2 __pwrite64 F
@@ -2367,6 +2369,7 @@ 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_tryrdlock F
+GLIBC_2.34 pthread_rwlock_trywrlock 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 0f76b104ac..4aecfccc11 100644
--- a/sysdeps/unix/sysv/linux/i386/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/i386/libpthread.abilist
@@ -24,7 +24,6 @@ GLIBC_2.1 pthread_attr_setstackaddr F
 GLIBC_2.1 pthread_attr_setstacksize F
 GLIBC_2.1 pthread_create F
 GLIBC_2.1 pthread_getconcurrency F
-GLIBC_2.1 pthread_rwlock_trywrlock F
 GLIBC_2.1 pthread_rwlockattr_destroy F
 GLIBC_2.1 pthread_rwlockattr_getkind_np F
 GLIBC_2.1 pthread_rwlockattr_getpshared F
@@ -47,7 +46,6 @@ GLIBC_2.12 pthread_getname_np F
 GLIBC_2.12 pthread_setname_np F
 GLIBC_2.18 pthread_getattr_default_np F
 GLIBC_2.18 pthread_setattr_default_np F
-GLIBC_2.2 __pthread_rwlock_trywrlock F
 GLIBC_2.2 pthread_attr_getstack F
 GLIBC_2.2 pthread_attr_setstack F
 GLIBC_2.2 pthread_barrier_destroy F
diff --git a/sysdeps/unix/sysv/linux/ia64/libc.abilist b/sysdeps/unix/sysv/linux/ia64/libc.abilist
index c6acf24faf..0517cf4eb4 100644
--- a/sysdeps/unix/sysv/linux/ia64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/ia64/libc.abilist
@@ -377,6 +377,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_tryrdlock F
+GLIBC_2.2 __pthread_rwlock_trywrlock F
 GLIBC_2.2 __pthread_rwlock_unlock F
 GLIBC_2.2 __pthread_rwlock_wrlock F
 GLIBC_2.2 __pthread_setspecific F
@@ -1341,6 +1342,7 @@ 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_tryrdlock F
+GLIBC_2.2 pthread_rwlock_trywrlock F
 GLIBC_2.2 pthread_rwlock_unlock F
 GLIBC_2.2 pthread_rwlock_wrlock F
 GLIBC_2.2 pthread_self F
@@ -2224,6 +2226,7 @@ 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_tryrdlock F
+GLIBC_2.34 pthread_rwlock_trywrlock 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 d9988168e7..012cab4a86 100644
--- a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
@@ -7,7 +7,6 @@ GLIBC_2.2 _IO_flockfile F
 GLIBC_2.2 _IO_ftrylockfile F
 GLIBC_2.2 _IO_funlockfile F
 GLIBC_2.2 __errno_location F
-GLIBC_2.2 __pthread_rwlock_trywrlock F
 GLIBC_2.2 flockfile F
 GLIBC_2.2 ftrylockfile F
 GLIBC_2.2 funlockfile F
@@ -31,7 +30,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_trywrlock F
 GLIBC_2.2 pthread_rwlockattr_destroy F
 GLIBC_2.2 pthread_rwlockattr_getkind_np F
 GLIBC_2.2 pthread_rwlockattr_getpshared F
diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
index 7404e14471..a6c351494b 100644
--- a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
@@ -213,6 +213,7 @@ 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_tryrdlock F
+GLIBC_2.34 pthread_rwlock_trywrlock F
 GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
 GLIBC_2.34 pthread_setspecific F
@@ -549,6 +550,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_tryrdlock F
+GLIBC_2.4 __pthread_rwlock_trywrlock F
 GLIBC_2.4 __pthread_rwlock_unlock F
 GLIBC_2.4 __pthread_rwlock_wrlock F
 GLIBC_2.4 __pthread_setspecific F
@@ -1642,6 +1644,7 @@ 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_tryrdlock F
+GLIBC_2.4 pthread_rwlock_trywrlock 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 e5de765bbc..a62e8fe20a 100644
--- a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
@@ -33,7 +33,6 @@ GLIBC_2.4 __errno_location F
 GLIBC_2.4 __libpthread_version_placeholder F
 GLIBC_2.4 __pthread_register_cancel F
 GLIBC_2.4 __pthread_register_cancel_defer F
-GLIBC_2.4 __pthread_rwlock_trywrlock F
 GLIBC_2.4 __pthread_unregister_cancel F
 GLIBC_2.4 __pthread_unregister_cancel_restore F
 GLIBC_2.4 flockfile F
@@ -61,7 +60,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_trywrlock F
 GLIBC_2.4 pthread_rwlockattr_destroy F
 GLIBC_2.4 pthread_rwlockattr_getkind_np F
 GLIBC_2.4 pthread_rwlockattr_getpshared F
diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
index 28a0e6222b..1061625a6e 100644
--- a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
@@ -1574,6 +1574,7 @@ GLIBC_2.1 pthread_rwlock_destroy F
 GLIBC_2.1 pthread_rwlock_init F
 GLIBC_2.1 pthread_rwlock_rdlock F
 GLIBC_2.1 pthread_rwlock_tryrdlock F
+GLIBC_2.1 pthread_rwlock_trywrlock F
 GLIBC_2.1 pthread_rwlock_unlock F
 GLIBC_2.1 pthread_rwlock_wrlock F
 GLIBC_2.1 ptsname F
@@ -1852,6 +1853,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_tryrdlock F
+GLIBC_2.2 __pthread_rwlock_trywrlock F
 GLIBC_2.2 __pthread_rwlock_unlock F
 GLIBC_2.2 __pthread_rwlock_wrlock F
 GLIBC_2.2 __pwrite64 F
@@ -2310,6 +2312,7 @@ 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_tryrdlock F
+GLIBC_2.34 pthread_rwlock_trywrlock 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 0f76b104ac..4aecfccc11 100644
--- a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
@@ -24,7 +24,6 @@ GLIBC_2.1 pthread_attr_setstackaddr F
 GLIBC_2.1 pthread_attr_setstacksize F
 GLIBC_2.1 pthread_create F
 GLIBC_2.1 pthread_getconcurrency F
-GLIBC_2.1 pthread_rwlock_trywrlock F
 GLIBC_2.1 pthread_rwlockattr_destroy F
 GLIBC_2.1 pthread_rwlockattr_getkind_np F
 GLIBC_2.1 pthread_rwlockattr_getpshared F
@@ -47,7 +46,6 @@ GLIBC_2.12 pthread_getname_np F
 GLIBC_2.12 pthread_setname_np F
 GLIBC_2.18 pthread_getattr_default_np F
 GLIBC_2.18 pthread_setattr_default_np F
-GLIBC_2.2 __pthread_rwlock_trywrlock F
 GLIBC_2.2 pthread_attr_getstack F
 GLIBC_2.2 pthread_attr_setstack F
 GLIBC_2.2 pthread_barrier_destroy F
diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
index 3f31384d7b..27dbe7bb4b 100644
--- a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
@@ -355,6 +355,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_tryrdlock F
+GLIBC_2.18 __pthread_rwlock_trywrlock F
 GLIBC_2.18 __pthread_rwlock_unlock F
 GLIBC_2.18 __pthread_rwlock_wrlock F
 GLIBC_2.18 __pthread_setspecific F
@@ -1511,6 +1512,7 @@ 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_tryrdlock F
+GLIBC_2.18 pthread_rwlock_trywrlock F
 GLIBC_2.18 pthread_rwlock_unlock F
 GLIBC_2.18 pthread_rwlock_wrlock F
 GLIBC_2.18 pthread_self F
@@ -2290,6 +2292,7 @@ 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_tryrdlock F
+GLIBC_2.34 pthread_rwlock_trywrlock 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 d9bc0713c0..2f1a659cfa 100644
--- a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
@@ -4,7 +4,6 @@ GLIBC_2.18 _IO_funlockfile F
 GLIBC_2.18 __errno_location F
 GLIBC_2.18 __pthread_register_cancel F
 GLIBC_2.18 __pthread_register_cancel_defer F
-GLIBC_2.18 __pthread_rwlock_trywrlock F
 GLIBC_2.18 __pthread_unregister_cancel F
 GLIBC_2.18 __pthread_unregister_cancel_restore F
 GLIBC_2.18 flockfile F
@@ -34,7 +33,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_trywrlock F
 GLIBC_2.18 pthread_rwlockattr_destroy F
 GLIBC_2.18 pthread_rwlockattr_getkind_np F
 GLIBC_2.18 pthread_rwlockattr_getpshared F
diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
index a8a128fd6e..2d1b16f48a 100644
--- a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
@@ -355,6 +355,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_tryrdlock F
+GLIBC_2.18 __pthread_rwlock_trywrlock F
 GLIBC_2.18 __pthread_rwlock_unlock F
 GLIBC_2.18 __pthread_rwlock_wrlock F
 GLIBC_2.18 __pthread_setspecific F
@@ -1511,6 +1512,7 @@ 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_tryrdlock F
+GLIBC_2.18 pthread_rwlock_trywrlock F
 GLIBC_2.18 pthread_rwlock_unlock F
 GLIBC_2.18 pthread_rwlock_wrlock F
 GLIBC_2.18 pthread_self F
@@ -2287,6 +2289,7 @@ 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_tryrdlock F
+GLIBC_2.34 pthread_rwlock_trywrlock 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 d9bc0713c0..2f1a659cfa 100644
--- a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
@@ -4,7 +4,6 @@ GLIBC_2.18 _IO_funlockfile F
 GLIBC_2.18 __errno_location F
 GLIBC_2.18 __pthread_register_cancel F
 GLIBC_2.18 __pthread_register_cancel_defer F
-GLIBC_2.18 __pthread_rwlock_trywrlock F
 GLIBC_2.18 __pthread_unregister_cancel F
 GLIBC_2.18 __pthread_unregister_cancel_restore F
 GLIBC_2.18 flockfile F
@@ -34,7 +33,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_trywrlock F
 GLIBC_2.18 pthread_rwlockattr_destroy F
 GLIBC_2.18 pthread_rwlockattr_getkind_np F
 GLIBC_2.18 pthread_rwlockattr_getpshared F
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
index fc3dbb2129..ac357e888d 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
@@ -1548,6 +1548,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_tryrdlock F
+GLIBC_2.2 __pthread_rwlock_trywrlock F
 GLIBC_2.2 __pthread_rwlock_unlock F
 GLIBC_2.2 __pthread_rwlock_wrlock F
 GLIBC_2.2 __pwrite64 F
@@ -1850,6 +1851,7 @@ 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_tryrdlock F
+GLIBC_2.2 pthread_rwlock_trywrlock F
 GLIBC_2.2 pthread_rwlock_unlock F
 GLIBC_2.2 pthread_rwlock_wrlock F
 GLIBC_2.2 pthread_spin_destroy F
@@ -2273,6 +2275,7 @@ 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_tryrdlock F
+GLIBC_2.34 pthread_rwlock_trywrlock 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 98a4af149a..dd860526ec 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
@@ -21,7 +21,6 @@ GLIBC_2.12 pthread_getname_np F
 GLIBC_2.12 pthread_setname_np F
 GLIBC_2.18 pthread_getattr_default_np F
 GLIBC_2.18 pthread_setattr_default_np F
-GLIBC_2.2 __pthread_rwlock_trywrlock F
 GLIBC_2.2 pthread_attr_getguardsize F
 GLIBC_2.2 pthread_attr_getstack F
 GLIBC_2.2 pthread_attr_getstackaddr F
@@ -39,7 +38,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_trywrlock F
 GLIBC_2.2 pthread_rwlockattr_destroy F
 GLIBC_2.2 pthread_rwlockattr_getkind_np F
 GLIBC_2.2 pthread_rwlockattr_getpshared F
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
index 6164cdf470..a89c2ffc79 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
@@ -1546,6 +1546,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_tryrdlock F
+GLIBC_2.2 __pthread_rwlock_trywrlock F
 GLIBC_2.2 __pthread_rwlock_unlock F
 GLIBC_2.2 __pthread_rwlock_wrlock F
 GLIBC_2.2 __pwrite64 F
@@ -1848,6 +1849,7 @@ 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_tryrdlock F
+GLIBC_2.2 pthread_rwlock_trywrlock F
 GLIBC_2.2 pthread_rwlock_unlock F
 GLIBC_2.2 pthread_rwlock_wrlock F
 GLIBC_2.2 pthread_spin_destroy F
@@ -2271,6 +2273,7 @@ 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_tryrdlock F
+GLIBC_2.34 pthread_rwlock_trywrlock 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 98a4af149a..dd860526ec 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
@@ -21,7 +21,6 @@ GLIBC_2.12 pthread_getname_np F
 GLIBC_2.12 pthread_setname_np F
 GLIBC_2.18 pthread_getattr_default_np F
 GLIBC_2.18 pthread_setattr_default_np F
-GLIBC_2.2 __pthread_rwlock_trywrlock F
 GLIBC_2.2 pthread_attr_getguardsize F
 GLIBC_2.2 pthread_attr_getstack F
 GLIBC_2.2 pthread_attr_getstackaddr F
@@ -39,7 +38,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_trywrlock F
 GLIBC_2.2 pthread_rwlockattr_destroy F
 GLIBC_2.2 pthread_rwlockattr_getkind_np F
 GLIBC_2.2 pthread_rwlockattr_getpshared F
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
index c0c545eaba..189dd55a43 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
@@ -1546,6 +1546,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_tryrdlock F
+GLIBC_2.2 __pthread_rwlock_trywrlock F
 GLIBC_2.2 __pthread_rwlock_unlock F
 GLIBC_2.2 __pthread_rwlock_wrlock F
 GLIBC_2.2 __pwrite64 F
@@ -1848,6 +1849,7 @@ 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_tryrdlock F
+GLIBC_2.2 pthread_rwlock_trywrlock F
 GLIBC_2.2 pthread_rwlock_unlock F
 GLIBC_2.2 pthread_rwlock_wrlock F
 GLIBC_2.2 pthread_spin_destroy F
@@ -2279,6 +2281,7 @@ 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_tryrdlock F
+GLIBC_2.34 pthread_rwlock_trywrlock 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 c247f75f5d..e6fa79c017 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
@@ -1542,6 +1542,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_tryrdlock F
+GLIBC_2.2 __pthread_rwlock_trywrlock F
 GLIBC_2.2 __pthread_rwlock_unlock F
 GLIBC_2.2 __pthread_rwlock_wrlock F
 GLIBC_2.2 __pwrite64 F
@@ -1844,6 +1845,7 @@ 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_tryrdlock F
+GLIBC_2.2 pthread_rwlock_trywrlock F
 GLIBC_2.2 pthread_rwlock_unlock F
 GLIBC_2.2 pthread_rwlock_wrlock F
 GLIBC_2.2 pthread_spin_destroy F
@@ -2273,6 +2275,7 @@ 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_tryrdlock F
+GLIBC_2.34 pthread_rwlock_trywrlock 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 953f80462e..659332aad1 100644
--- a/sysdeps/unix/sysv/linux/nios2/libc.abilist
+++ b/sysdeps/unix/sysv/linux/nios2/libc.abilist
@@ -392,6 +392,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_tryrdlock F
+GLIBC_2.21 __pthread_rwlock_trywrlock F
 GLIBC_2.21 __pthread_rwlock_unlock F
 GLIBC_2.21 __pthread_rwlock_wrlock F
 GLIBC_2.21 __pthread_setspecific F
@@ -1554,6 +1555,7 @@ 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_tryrdlock F
+GLIBC_2.21 pthread_rwlock_trywrlock F
 GLIBC_2.21 pthread_rwlock_unlock F
 GLIBC_2.21 pthread_rwlock_wrlock F
 GLIBC_2.21 pthread_self F
@@ -2329,6 +2331,7 @@ 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_tryrdlock F
+GLIBC_2.34 pthread_rwlock_trywrlock 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 22f6c11f86..954d6a6ce9 100644
--- a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
@@ -4,7 +4,6 @@ GLIBC_2.21 _IO_funlockfile F
 GLIBC_2.21 __errno_location F
 GLIBC_2.21 __pthread_register_cancel F
 GLIBC_2.21 __pthread_register_cancel_defer F
-GLIBC_2.21 __pthread_rwlock_trywrlock F
 GLIBC_2.21 __pthread_unregister_cancel F
 GLIBC_2.21 __pthread_unregister_cancel_restore F
 GLIBC_2.21 flockfile F
@@ -34,7 +33,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_trywrlock F
 GLIBC_2.21 pthread_rwlockattr_destroy F
 GLIBC_2.21 pthread_rwlockattr_getkind_np F
 GLIBC_2.21 pthread_rwlockattr_getpshared F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
index 25ce30e612..19d5decb2b 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
@@ -1582,6 +1582,7 @@ GLIBC_2.1 pthread_rwlock_destroy F
 GLIBC_2.1 pthread_rwlock_init F
 GLIBC_2.1 pthread_rwlock_rdlock F
 GLIBC_2.1 pthread_rwlock_tryrdlock F
+GLIBC_2.1 pthread_rwlock_trywrlock F
 GLIBC_2.1 pthread_rwlock_unlock F
 GLIBC_2.1 pthread_rwlock_wrlock F
 GLIBC_2.1 ptsname F
@@ -1858,6 +1859,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_tryrdlock F
+GLIBC_2.2 __pthread_rwlock_trywrlock F
 GLIBC_2.2 __pthread_rwlock_unlock F
 GLIBC_2.2 __pthread_rwlock_wrlock F
 GLIBC_2.2 __pwrite64 F
@@ -2337,6 +2339,7 @@ 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_tryrdlock F
+GLIBC_2.34 pthread_rwlock_trywrlock 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 192449a99e..db1e6ae07f 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
@@ -24,7 +24,6 @@ GLIBC_2.1 pthread_attr_setstackaddr F
 GLIBC_2.1 pthread_attr_setstacksize F
 GLIBC_2.1 pthread_create F
 GLIBC_2.1 pthread_getconcurrency F
-GLIBC_2.1 pthread_rwlock_trywrlock F
 GLIBC_2.1 pthread_rwlockattr_destroy F
 GLIBC_2.1 pthread_rwlockattr_getkind_np F
 GLIBC_2.1 pthread_rwlockattr_getpshared F
@@ -47,7 +46,6 @@ GLIBC_2.12 pthread_getname_np F
 GLIBC_2.12 pthread_setname_np F
 GLIBC_2.18 pthread_getattr_default_np F
 GLIBC_2.18 pthread_setattr_default_np F
-GLIBC_2.2 __pthread_rwlock_trywrlock F
 GLIBC_2.2 pthread_attr_getstack F
 GLIBC_2.2 pthread_attr_setstack F
 GLIBC_2.2 pthread_barrier_destroy F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
index db33644bd8..f0d3ec8603 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
@@ -1582,6 +1582,7 @@ GLIBC_2.1 pthread_rwlock_destroy F
 GLIBC_2.1 pthread_rwlock_init F
 GLIBC_2.1 pthread_rwlock_rdlock F
 GLIBC_2.1 pthread_rwlock_tryrdlock F
+GLIBC_2.1 pthread_rwlock_trywrlock F
 GLIBC_2.1 pthread_rwlock_unlock F
 GLIBC_2.1 pthread_rwlock_wrlock F
 GLIBC_2.1 ptsname F
@@ -1862,6 +1863,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_tryrdlock F
+GLIBC_2.2 __pthread_rwlock_trywrlock F
 GLIBC_2.2 __pthread_rwlock_unlock F
 GLIBC_2.2 __pthread_rwlock_wrlock F
 GLIBC_2.2 __pwrite64 F
@@ -2370,6 +2372,7 @@ 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_tryrdlock F
+GLIBC_2.34 pthread_rwlock_trywrlock 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 ba850f3a58..dec5e3ca8d 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
@@ -426,6 +426,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_tryrdlock F
+GLIBC_2.3 __pthread_rwlock_trywrlock F
 GLIBC_2.3 __pthread_rwlock_unlock F
 GLIBC_2.3 __pthread_rwlock_wrlock F
 GLIBC_2.3 __pthread_setspecific F
@@ -1426,6 +1427,7 @@ 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_tryrdlock F
+GLIBC_2.3 pthread_rwlock_trywrlock F
 GLIBC_2.3 pthread_rwlock_unlock F
 GLIBC_2.3 pthread_rwlock_wrlock F
 GLIBC_2.3 pthread_self F
@@ -2191,6 +2193,7 @@ 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_tryrdlock F
+GLIBC_2.34 pthread_rwlock_trywrlock 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 3e46195d50..f3f4ebe64a 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
@@ -28,7 +28,6 @@ GLIBC_2.3 _IO_flockfile F
 GLIBC_2.3 _IO_ftrylockfile F
 GLIBC_2.3 _IO_funlockfile F
 GLIBC_2.3 __errno_location F
-GLIBC_2.3 __pthread_rwlock_trywrlock F
 GLIBC_2.3 flockfile F
 GLIBC_2.3 ftrylockfile F
 GLIBC_2.3 funlockfile F
@@ -52,7 +51,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_trywrlock F
 GLIBC_2.3 pthread_rwlockattr_destroy F
 GLIBC_2.3 pthread_rwlockattr_getkind_np F
 GLIBC_2.3 pthread_rwlockattr_getpshared F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
index fb5b760364..08269bd380 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
@@ -440,6 +440,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_tryrdlock F
+GLIBC_2.17 __pthread_rwlock_trywrlock F
 GLIBC_2.17 __pthread_rwlock_unlock F
 GLIBC_2.17 __pthread_rwlock_wrlock F
 GLIBC_2.17 __pthread_setspecific F
@@ -1597,6 +1598,7 @@ 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_tryrdlock F
+GLIBC_2.17 pthread_rwlock_trywrlock F
 GLIBC_2.17 pthread_rwlock_unlock F
 GLIBC_2.17 pthread_rwlock_wrlock F
 GLIBC_2.17 pthread_self F
@@ -2492,6 +2494,7 @@ 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_tryrdlock F
+GLIBC_2.34 pthread_rwlock_trywrlock 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 e4014619e7..11e21afc40 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
@@ -4,7 +4,6 @@ GLIBC_2.17 _IO_funlockfile F
 GLIBC_2.17 __errno_location F
 GLIBC_2.17 __pthread_register_cancel F
 GLIBC_2.17 __pthread_register_cancel_defer F
-GLIBC_2.17 __pthread_rwlock_trywrlock F
 GLIBC_2.17 __pthread_unregister_cancel F
 GLIBC_2.17 __pthread_unregister_cancel_restore F
 GLIBC_2.17 flockfile F
@@ -33,7 +32,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_trywrlock F
 GLIBC_2.17 pthread_rwlockattr_destroy F
 GLIBC_2.17 pthread_rwlockattr_getkind_np F
 GLIBC_2.17 pthread_rwlockattr_getpshared F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
index e14c088f8a..11f173ca7c 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
@@ -340,6 +340,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_tryrdlock F
+GLIBC_2.33 __pthread_rwlock_trywrlock F
 GLIBC_2.33 __pthread_rwlock_unlock F
 GLIBC_2.33 __pthread_rwlock_wrlock F
 GLIBC_2.33 __pthread_setspecific F
@@ -1441,6 +1442,7 @@ 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_tryrdlock F
+GLIBC_2.33 pthread_rwlock_trywrlock F
 GLIBC_2.33 pthread_rwlock_unlock F
 GLIBC_2.33 pthread_rwlock_wrlock F
 GLIBC_2.33 pthread_self F
@@ -2057,6 +2059,7 @@ 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_tryrdlock F
+GLIBC_2.34 pthread_rwlock_trywrlock 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 e42feeb16e..cde399da81 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
@@ -4,7 +4,6 @@ GLIBC_2.33 _IO_funlockfile F
 GLIBC_2.33 __errno_location F
 GLIBC_2.33 __pthread_register_cancel F
 GLIBC_2.33 __pthread_register_cancel_defer F
-GLIBC_2.33 __pthread_rwlock_trywrlock F
 GLIBC_2.33 __pthread_unregister_cancel F
 GLIBC_2.33 __pthread_unregister_cancel_restore F
 GLIBC_2.33 call_once F
@@ -48,7 +47,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_trywrlock F
 GLIBC_2.33 pthread_rwlockattr_destroy F
 GLIBC_2.33 pthread_rwlockattr_getkind_np F
 GLIBC_2.33 pthread_rwlockattr_getpshared F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
index 4d17db5800..517414bbe2 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
@@ -351,6 +351,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_tryrdlock F
+GLIBC_2.27 __pthread_rwlock_trywrlock F
 GLIBC_2.27 __pthread_rwlock_unlock F
 GLIBC_2.27 __pthread_rwlock_wrlock F
 GLIBC_2.27 __pthread_setspecific F
@@ -1499,6 +1500,7 @@ 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_tryrdlock F
+GLIBC_2.27 pthread_rwlock_trywrlock F
 GLIBC_2.27 pthread_rwlock_unlock F
 GLIBC_2.27 pthread_rwlock_wrlock F
 GLIBC_2.27 pthread_self F
@@ -2257,6 +2259,7 @@ 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_tryrdlock F
+GLIBC_2.34 pthread_rwlock_trywrlock 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 600ea5a00f..8fd09649b6 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
@@ -4,7 +4,6 @@ GLIBC_2.27 _IO_funlockfile F
 GLIBC_2.27 __errno_location F
 GLIBC_2.27 __pthread_register_cancel F
 GLIBC_2.27 __pthread_register_cancel_defer F
-GLIBC_2.27 __pthread_rwlock_trywrlock F
 GLIBC_2.27 __pthread_unregister_cancel F
 GLIBC_2.27 __pthread_unregister_cancel_restore F
 GLIBC_2.27 flockfile F
@@ -34,7 +33,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_trywrlock F
 GLIBC_2.27 pthread_rwlockattr_destroy F
 GLIBC_2.27 pthread_rwlockattr_getkind_np F
 GLIBC_2.27 pthread_rwlockattr_getpshared F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
index da77bab930..1e6e648de4 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
@@ -1574,6 +1574,7 @@ GLIBC_2.1 pthread_rwlock_destroy F
 GLIBC_2.1 pthread_rwlock_init F
 GLIBC_2.1 pthread_rwlock_rdlock F
 GLIBC_2.1 pthread_rwlock_tryrdlock F
+GLIBC_2.1 pthread_rwlock_trywrlock F
 GLIBC_2.1 pthread_rwlock_unlock F
 GLIBC_2.1 pthread_rwlock_wrlock F
 GLIBC_2.1 ptsname F
@@ -1856,6 +1857,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_tryrdlock F
+GLIBC_2.2 __pthread_rwlock_trywrlock F
 GLIBC_2.2 __pthread_rwlock_unlock F
 GLIBC_2.2 __pthread_rwlock_wrlock F
 GLIBC_2.2 __pwrite64 F
@@ -2335,6 +2337,7 @@ 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_tryrdlock F
+GLIBC_2.34 pthread_rwlock_trywrlock 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 f2b083901d..dbbdd159bd 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
@@ -24,7 +24,6 @@ GLIBC_2.1 pthread_attr_setstackaddr F
 GLIBC_2.1 pthread_attr_setstacksize F
 GLIBC_2.1 pthread_create F
 GLIBC_2.1 pthread_getconcurrency F
-GLIBC_2.1 pthread_rwlock_trywrlock F
 GLIBC_2.1 pthread_rwlockattr_destroy F
 GLIBC_2.1 pthread_rwlockattr_getkind_np F
 GLIBC_2.1 pthread_rwlockattr_getpshared F
@@ -48,7 +47,6 @@ GLIBC_2.12 pthread_setname_np F
 GLIBC_2.18 pthread_getattr_default_np F
 GLIBC_2.18 pthread_setattr_default_np F
 GLIBC_2.19 __libpthread_version_placeholder F
-GLIBC_2.2 __pthread_rwlock_trywrlock F
 GLIBC_2.2 pthread_attr_getstack F
 GLIBC_2.2 pthread_attr_setstack F
 GLIBC_2.2 pthread_barrier_destroy F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
index bf68e980bf..dd741f5686 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
@@ -387,6 +387,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_tryrdlock F
+GLIBC_2.2 __pthread_rwlock_trywrlock F
 GLIBC_2.2 __pthread_rwlock_unlock F
 GLIBC_2.2 __pthread_rwlock_wrlock F
 GLIBC_2.2 __pthread_setspecific F
@@ -1338,6 +1339,7 @@ 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_tryrdlock F
+GLIBC_2.2 pthread_rwlock_trywrlock F
 GLIBC_2.2 pthread_rwlock_unlock F
 GLIBC_2.2 pthread_rwlock_wrlock F
 GLIBC_2.2 pthread_self F
@@ -2228,6 +2230,7 @@ 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_tryrdlock F
+GLIBC_2.34 pthread_rwlock_trywrlock 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 ceb764752d..de35dec9d8 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
@@ -8,7 +8,6 @@ GLIBC_2.2 _IO_flockfile F
 GLIBC_2.2 _IO_ftrylockfile F
 GLIBC_2.2 _IO_funlockfile F
 GLIBC_2.2 __errno_location F
-GLIBC_2.2 __pthread_rwlock_trywrlock F
 GLIBC_2.2 flockfile F
 GLIBC_2.2 ftrylockfile F
 GLIBC_2.2 funlockfile F
@@ -32,7 +31,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_trywrlock F
 GLIBC_2.2 pthread_rwlockattr_destroy F
 GLIBC_2.2 pthread_rwlockattr_getkind_np F
 GLIBC_2.2 pthread_rwlockattr_getpshared F
diff --git a/sysdeps/unix/sysv/linux/sh/be/libc.abilist b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
index cc512fc917..2cbbfd746b 100644
--- a/sysdeps/unix/sysv/linux/sh/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
@@ -376,6 +376,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_tryrdlock F
+GLIBC_2.2 __pthread_rwlock_trywrlock F
 GLIBC_2.2 __pthread_rwlock_unlock F
 GLIBC_2.2 __pthread_rwlock_wrlock F
 GLIBC_2.2 __pthread_setspecific F
@@ -1324,6 +1325,7 @@ 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_tryrdlock F
+GLIBC_2.2 pthread_rwlock_trywrlock F
 GLIBC_2.2 pthread_rwlock_unlock F
 GLIBC_2.2 pthread_rwlock_wrlock F
 GLIBC_2.2 pthread_self F
@@ -2197,6 +2199,7 @@ 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_tryrdlock F
+GLIBC_2.34 pthread_rwlock_trywrlock 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 73866e12f3..7a3432551e 100644
--- a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
@@ -7,7 +7,6 @@ GLIBC_2.2 _IO_flockfile F
 GLIBC_2.2 _IO_ftrylockfile F
 GLIBC_2.2 _IO_funlockfile F
 GLIBC_2.2 __errno_location F
-GLIBC_2.2 __pthread_rwlock_trywrlock F
 GLIBC_2.2 flockfile F
 GLIBC_2.2 ftrylockfile F
 GLIBC_2.2 funlockfile F
@@ -31,7 +30,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_trywrlock F
 GLIBC_2.2 pthread_rwlockattr_destroy F
 GLIBC_2.2 pthread_rwlockattr_getkind_np F
 GLIBC_2.2 pthread_rwlockattr_getpshared F
diff --git a/sysdeps/unix/sysv/linux/sh/le/libc.abilist b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
index aa235c7344..0ec36636fd 100644
--- a/sysdeps/unix/sysv/linux/sh/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
@@ -376,6 +376,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_tryrdlock F
+GLIBC_2.2 __pthread_rwlock_trywrlock F
 GLIBC_2.2 __pthread_rwlock_unlock F
 GLIBC_2.2 __pthread_rwlock_wrlock F
 GLIBC_2.2 __pthread_setspecific F
@@ -1324,6 +1325,7 @@ 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_tryrdlock F
+GLIBC_2.2 pthread_rwlock_trywrlock F
 GLIBC_2.2 pthread_rwlock_unlock F
 GLIBC_2.2 pthread_rwlock_wrlock F
 GLIBC_2.2 pthread_self F
@@ -2194,6 +2196,7 @@ 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_tryrdlock F
+GLIBC_2.34 pthread_rwlock_trywrlock 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 73866e12f3..7a3432551e 100644
--- a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
@@ -7,7 +7,6 @@ GLIBC_2.2 _IO_flockfile F
 GLIBC_2.2 _IO_ftrylockfile F
 GLIBC_2.2 _IO_funlockfile F
 GLIBC_2.2 __errno_location F
-GLIBC_2.2 __pthread_rwlock_trywrlock F
 GLIBC_2.2 flockfile F
 GLIBC_2.2 ftrylockfile F
 GLIBC_2.2 funlockfile F
@@ -31,7 +30,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_trywrlock F
 GLIBC_2.2 pthread_rwlockattr_destroy F
 GLIBC_2.2 pthread_rwlockattr_getkind_np F
 GLIBC_2.2 pthread_rwlockattr_getpshared F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
index 16a1268fd3..67b12ee201 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
@@ -1575,6 +1575,7 @@ GLIBC_2.1 pthread_rwlock_destroy F
 GLIBC_2.1 pthread_rwlock_init F
 GLIBC_2.1 pthread_rwlock_rdlock F
 GLIBC_2.1 pthread_rwlock_tryrdlock F
+GLIBC_2.1 pthread_rwlock_trywrlock F
 GLIBC_2.1 pthread_rwlock_unlock F
 GLIBC_2.1 pthread_rwlock_wrlock F
 GLIBC_2.1 ptsname F
@@ -1854,6 +1855,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_tryrdlock F
+GLIBC_2.2 __pthread_rwlock_trywrlock F
 GLIBC_2.2 __pthread_rwlock_unlock F
 GLIBC_2.2 __pthread_rwlock_wrlock F
 GLIBC_2.2 __pwrite64 F
@@ -2326,6 +2328,7 @@ 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_tryrdlock F
+GLIBC_2.34 pthread_rwlock_trywrlock 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 f7bda4bb9b..ab854bbc77 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
@@ -24,7 +24,6 @@ GLIBC_2.1 pthread_attr_setstackaddr F
 GLIBC_2.1 pthread_attr_setstacksize F
 GLIBC_2.1 pthread_create F
 GLIBC_2.1 pthread_getconcurrency F
-GLIBC_2.1 pthread_rwlock_trywrlock F
 GLIBC_2.1 pthread_rwlockattr_destroy F
 GLIBC_2.1 pthread_rwlockattr_getkind_np F
 GLIBC_2.1 pthread_rwlockattr_getpshared F
@@ -47,7 +46,6 @@ GLIBC_2.12 pthread_getname_np F
 GLIBC_2.12 pthread_setname_np F
 GLIBC_2.18 pthread_getattr_default_np F
 GLIBC_2.18 pthread_setattr_default_np F
-GLIBC_2.2 __pthread_rwlock_trywrlock F
 GLIBC_2.2 pthread_attr_getstack F
 GLIBC_2.2 pthread_attr_setstack F
 GLIBC_2.2 pthread_barrier_destroy F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
index d8f6584046..c529ccc949 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
@@ -414,6 +414,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_tryrdlock F
+GLIBC_2.2 __pthread_rwlock_trywrlock F
 GLIBC_2.2 __pthread_rwlock_unlock F
 GLIBC_2.2 __pthread_rwlock_wrlock F
 GLIBC_2.2 __pthread_setspecific F
@@ -1367,6 +1368,7 @@ 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_tryrdlock F
+GLIBC_2.2 pthread_rwlock_trywrlock F
 GLIBC_2.2 pthread_rwlock_unlock F
 GLIBC_2.2 pthread_rwlock_wrlock F
 GLIBC_2.2 pthread_self F
@@ -2245,6 +2247,7 @@ 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_tryrdlock F
+GLIBC_2.34 pthread_rwlock_trywrlock 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 d9988168e7..012cab4a86 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
@@ -7,7 +7,6 @@ GLIBC_2.2 _IO_flockfile F
 GLIBC_2.2 _IO_ftrylockfile F
 GLIBC_2.2 _IO_funlockfile F
 GLIBC_2.2 __errno_location F
-GLIBC_2.2 __pthread_rwlock_trywrlock F
 GLIBC_2.2 flockfile F
 GLIBC_2.2 ftrylockfile F
 GLIBC_2.2 funlockfile F
@@ -31,7 +30,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_trywrlock F
 GLIBC_2.2 pthread_rwlockattr_destroy F
 GLIBC_2.2 pthread_rwlockattr_getkind_np F
 GLIBC_2.2 pthread_rwlockattr_getpshared F
diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
index 26e1f0da98..550993a4a1 100644
--- a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
@@ -375,6 +375,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_tryrdlock F
+GLIBC_2.2.5 __pthread_rwlock_trywrlock F
 GLIBC_2.2.5 __pthread_rwlock_unlock F
 GLIBC_2.2.5 __pthread_rwlock_wrlock F
 GLIBC_2.2.5 __pthread_setspecific F
@@ -1335,6 +1336,7 @@ 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_tryrdlock F
+GLIBC_2.2.5 pthread_rwlock_trywrlock F
 GLIBC_2.2.5 pthread_rwlock_unlock F
 GLIBC_2.2.5 pthread_rwlock_wrlock F
 GLIBC_2.2.5 pthread_self F
@@ -2206,6 +2208,7 @@ 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_tryrdlock F
+GLIBC_2.34 pthread_rwlock_trywrlock 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 9c9553be6c..97e5f5ba51 100644
--- a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
@@ -7,7 +7,6 @@ GLIBC_2.2.5 _IO_flockfile F
 GLIBC_2.2.5 _IO_ftrylockfile F
 GLIBC_2.2.5 _IO_funlockfile F
 GLIBC_2.2.5 __errno_location F
-GLIBC_2.2.5 __pthread_rwlock_trywrlock F
 GLIBC_2.2.5 flockfile F
 GLIBC_2.2.5 ftrylockfile F
 GLIBC_2.2.5 funlockfile F
@@ -31,7 +30,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_trywrlock F
 GLIBC_2.2.5 pthread_rwlockattr_destroy F
 GLIBC_2.2.5 pthread_rwlockattr_getkind_np F
 GLIBC_2.2.5 pthread_rwlockattr_getpshared F
diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
index 9ea2ffd03c..ab5b94842e 100644
--- a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
@@ -355,6 +355,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_tryrdlock F
+GLIBC_2.16 __pthread_rwlock_trywrlock F
 GLIBC_2.16 __pthread_rwlock_unlock F
 GLIBC_2.16 __pthread_rwlock_wrlock F
 GLIBC_2.16 __pthread_setspecific F
@@ -1516,6 +1517,7 @@ 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_tryrdlock F
+GLIBC_2.16 pthread_rwlock_trywrlock F
 GLIBC_2.16 pthread_rwlock_unlock F
 GLIBC_2.16 pthread_rwlock_wrlock F
 GLIBC_2.16 pthread_self F
@@ -2311,6 +2313,7 @@ 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_tryrdlock F
+GLIBC_2.34 pthread_rwlock_trywrlock 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 f9dad30a95..a1ce2b26fd 100644
--- a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
@@ -4,7 +4,6 @@ GLIBC_2.16 _IO_funlockfile F
 GLIBC_2.16 __errno_location F
 GLIBC_2.16 __pthread_register_cancel F
 GLIBC_2.16 __pthread_register_cancel_defer F
-GLIBC_2.16 __pthread_rwlock_trywrlock F
 GLIBC_2.16 __pthread_unregister_cancel F
 GLIBC_2.16 __pthread_unregister_cancel_restore F
 GLIBC_2.16 flockfile F
@@ -33,7 +32,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_trywrlock F
 GLIBC_2.16 pthread_rwlockattr_destroy F
 GLIBC_2.16 pthread_rwlockattr_getkind_np F
 GLIBC_2.16 pthread_rwlockattr_getpshared F
-- 
2.30.2



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

* [PATCH 09/14] nptl: Move pthread_rwlockattr_destroy into libc
  2021-04-23 17:36 [PATCH 00/14] nptl: Move remaining rwlock functions into libc Florian Weimer via Libc-alpha
                   ` (7 preceding siblings ...)
  2021-04-23 17:37 ` [PATCH 08/14] nptl: Move pthread_rwlock_trywrlock " Florian Weimer via Libc-alpha
@ 2021-04-23 17:37 ` Florian Weimer via Libc-alpha
  2021-05-02 19:38   ` Carlos O'Donell via Libc-alpha
  2021-04-23 17:37 ` [PATCH 10/14] nptl: Move pthread_rwlockattr_getkind_np " Florian Weimer via Libc-alpha
                   ` (5 subsequent siblings)
  14 siblings, 1 reply; 30+ messages in thread
From: Florian Weimer via Libc-alpha @ 2021-04-23 17:37 UTC (permalink / raw)
  To: libc-alpha

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

diff --git a/nptl/Makefile b/nptl/Makefile
index 9fc1007e9a..10456cb99c 100644
--- a/nptl/Makefile
+++ b/nptl/Makefile
@@ -131,6 +131,7 @@ routines = \
   pthread_rwlock_trywrlock \
   pthread_rwlock_unlock \
   pthread_rwlock_wrlock \
+  pthread_rwlockattr_destroy \
   pthread_self \
   pthread_setcancelstate \
   pthread_setcanceltype \
@@ -186,7 +187,6 @@ libpthread-routines = \
   pthread_getname \
   pthread_join \
   pthread_join_common \
-  pthread_rwlockattr_destroy \
   pthread_rwlockattr_getkind_np \
   pthread_rwlockattr_getpshared \
   pthread_rwlockattr_init \
diff --git a/nptl/Versions b/nptl/Versions
index f84f74dbee..dfdc2dad78 100644
--- a/nptl/Versions
+++ b/nptl/Versions
@@ -73,6 +73,7 @@ libc {
     pthread_rwlock_trywrlock;
     pthread_rwlock_unlock;
     pthread_rwlock_wrlock;
+    pthread_rwlockattr_destroy;
   }
   GLIBC_2.2 {
     __pthread_rwlock_destroy;
@@ -202,6 +203,7 @@ libc {
     pthread_rwlock_trywrlock;
     pthread_rwlock_unlock;
     pthread_rwlock_wrlock;
+    pthread_rwlockattr_destroy;
     pthread_setspecific;
     pthread_spin_destroy;
     pthread_spin_init;
@@ -292,7 +294,6 @@ libpthread {
     pthread_attr_setstacksize;
     pthread_create;
     pthread_getconcurrency;
-    pthread_rwlockattr_destroy;
     pthread_rwlockattr_getkind_np;
     pthread_rwlockattr_getpshared;
     pthread_rwlockattr_init;
diff --git a/nptl/pthread_rwlockattr_destroy.c b/nptl/pthread_rwlockattr_destroy.c
index fefe022760..3ed19f8ac7 100644
--- a/nptl/pthread_rwlockattr_destroy.c
+++ b/nptl/pthread_rwlockattr_destroy.c
@@ -17,12 +17,19 @@
    <https://www.gnu.org/licenses/>.  */
 
 #include "pthreadP.h"
-
+#include <shlib-compat.h>
 
 int
-pthread_rwlockattr_destroy (pthread_rwlockattr_t *attr)
+__pthread_rwlockattr_destroy (pthread_rwlockattr_t *attr)
 {
   /* Nothing to do.  For now.  */
 
   return 0;
 }
+versioned_symbol (libc, __pthread_rwlockattr_destroy,
+                  pthread_rwlockattr_destroy, GLIBC_2_34);
+
+#if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_1, GLIBC_2_34)
+compat_symbol (libpthread, __pthread_rwlockattr_destroy,
+               pthread_rwlockattr_destroy, GLIBC_2_1);
+#endif
diff --git a/sysdeps/unix/sysv/linux/aarch64/libc.abilist b/sysdeps/unix/sysv/linux/aarch64/libc.abilist
index b4a06c6299..fa41d5edb7 100644
--- a/sysdeps/unix/sysv/linux/aarch64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/aarch64/libc.abilist
@@ -1513,6 +1513,7 @@ GLIBC_2.17 pthread_rwlock_tryrdlock F
 GLIBC_2.17 pthread_rwlock_trywrlock F
 GLIBC_2.17 pthread_rwlock_unlock F
 GLIBC_2.17 pthread_rwlock_wrlock F
+GLIBC_2.17 pthread_rwlockattr_destroy F
 GLIBC_2.17 pthread_self F
 GLIBC_2.17 pthread_setcancelstate F
 GLIBC_2.17 pthread_setcanceltype F
@@ -2301,6 +2302,7 @@ GLIBC_2.34 pthread_rwlock_tryrdlock F
 GLIBC_2.34 pthread_rwlock_trywrlock F
 GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
+GLIBC_2.34 pthread_rwlockattr_destroy F
 GLIBC_2.34 pthread_setspecific F
 GLIBC_2.34 pthread_spin_destroy F
 GLIBC_2.34 pthread_spin_init F
diff --git a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
index 11e21afc40..1415f4c40f 100644
--- a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
@@ -32,7 +32,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_rwlockattr_destroy F
 GLIBC_2.17 pthread_rwlockattr_getkind_np F
 GLIBC_2.17 pthread_rwlockattr_getpshared F
 GLIBC_2.17 pthread_rwlockattr_init F
diff --git a/sysdeps/unix/sysv/linux/alpha/libc.abilist b/sysdeps/unix/sysv/linux/alpha/libc.abilist
index 8cc6c01293..e32da83a4e 100644
--- a/sysdeps/unix/sysv/linux/alpha/libc.abilist
+++ b/sysdeps/unix/sysv/linux/alpha/libc.abilist
@@ -1613,6 +1613,7 @@ GLIBC_2.1 pthread_rwlock_tryrdlock F
 GLIBC_2.1 pthread_rwlock_trywrlock F
 GLIBC_2.1 pthread_rwlock_unlock F
 GLIBC_2.1 pthread_rwlock_wrlock F
+GLIBC_2.1 pthread_rwlockattr_destroy F
 GLIBC_2.1 ptsname F
 GLIBC_2.1 ptsname_r F
 GLIBC_2.1 putgrent F
@@ -2382,6 +2383,7 @@ GLIBC_2.34 pthread_rwlock_tryrdlock F
 GLIBC_2.34 pthread_rwlock_trywrlock F
 GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
+GLIBC_2.34 pthread_rwlockattr_destroy F
 GLIBC_2.34 pthread_setspecific F
 GLIBC_2.34 pthread_spin_destroy F
 GLIBC_2.34 pthread_spin_init F
diff --git a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
index ab854bbc77..8cd2286856 100644
--- a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
@@ -24,7 +24,6 @@ GLIBC_2.1 pthread_attr_setstackaddr F
 GLIBC_2.1 pthread_attr_setstacksize F
 GLIBC_2.1 pthread_create F
 GLIBC_2.1 pthread_getconcurrency F
-GLIBC_2.1 pthread_rwlockattr_destroy F
 GLIBC_2.1 pthread_rwlockattr_getkind_np F
 GLIBC_2.1 pthread_rwlockattr_getpshared F
 GLIBC_2.1 pthread_rwlockattr_init F
diff --git a/sysdeps/unix/sysv/linux/arc/libc.abilist b/sysdeps/unix/sysv/linux/arc/libc.abilist
index 82fa9a1b2c..e022e9c56d 100644
--- a/sysdeps/unix/sysv/linux/arc/libc.abilist
+++ b/sysdeps/unix/sysv/linux/arc/libc.abilist
@@ -1443,6 +1443,7 @@ GLIBC_2.32 pthread_rwlock_tryrdlock F
 GLIBC_2.32 pthread_rwlock_trywrlock F
 GLIBC_2.32 pthread_rwlock_unlock F
 GLIBC_2.32 pthread_rwlock_wrlock F
+GLIBC_2.32 pthread_rwlockattr_destroy F
 GLIBC_2.32 pthread_self F
 GLIBC_2.32 pthread_setcancelstate F
 GLIBC_2.32 pthread_setcanceltype F
@@ -2060,6 +2061,7 @@ GLIBC_2.34 pthread_rwlock_tryrdlock F
 GLIBC_2.34 pthread_rwlock_trywrlock F
 GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
+GLIBC_2.34 pthread_rwlockattr_destroy F
 GLIBC_2.34 pthread_setspecific F
 GLIBC_2.34 pthread_spin_destroy F
 GLIBC_2.34 pthread_spin_init F
diff --git a/sysdeps/unix/sysv/linux/arc/libpthread.abilist b/sysdeps/unix/sysv/linux/arc/libpthread.abilist
index b029764706..d0b3e723af 100644
--- a/sysdeps/unix/sysv/linux/arc/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/arc/libpthread.abilist
@@ -47,7 +47,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_rwlockattr_destroy F
 GLIBC_2.32 pthread_rwlockattr_getkind_np F
 GLIBC_2.32 pthread_rwlockattr_getpshared F
 GLIBC_2.32 pthread_rwlockattr_init F
diff --git a/sysdeps/unix/sysv/linux/arm/be/libc.abilist b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
index ca8c1d3c08..a9e0db7fab 100644
--- a/sysdeps/unix/sysv/linux/arm/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
@@ -215,6 +215,7 @@ GLIBC_2.34 pthread_rwlock_tryrdlock F
 GLIBC_2.34 pthread_rwlock_trywrlock F
 GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
+GLIBC_2.34 pthread_rwlockattr_destroy F
 GLIBC_2.34 pthread_setspecific F
 GLIBC_2.34 pthread_spin_destroy F
 GLIBC_2.34 pthread_spin_init F
@@ -1667,6 +1668,7 @@ GLIBC_2.4 pthread_rwlock_tryrdlock F
 GLIBC_2.4 pthread_rwlock_trywrlock F
 GLIBC_2.4 pthread_rwlock_unlock F
 GLIBC_2.4 pthread_rwlock_wrlock F
+GLIBC_2.4 pthread_rwlockattr_destroy F
 GLIBC_2.4 pthread_self F
 GLIBC_2.4 pthread_setcancelstate F
 GLIBC_2.4 pthread_setcanceltype F
diff --git a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
index a62e8fe20a..619ac6f5ef 100644
--- a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
@@ -60,7 +60,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_rwlockattr_destroy F
 GLIBC_2.4 pthread_rwlockattr_getkind_np F
 GLIBC_2.4 pthread_rwlockattr_getpshared F
 GLIBC_2.4 pthread_rwlockattr_init F
diff --git a/sysdeps/unix/sysv/linux/arm/le/libc.abilist b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
index 5d3a1cde7c..eb5a14c904 100644
--- a/sysdeps/unix/sysv/linux/arm/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
@@ -212,6 +212,7 @@ GLIBC_2.34 pthread_rwlock_tryrdlock F
 GLIBC_2.34 pthread_rwlock_trywrlock F
 GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
+GLIBC_2.34 pthread_rwlockattr_destroy F
 GLIBC_2.34 pthread_setspecific F
 GLIBC_2.34 pthread_spin_destroy F
 GLIBC_2.34 pthread_spin_init F
@@ -1664,6 +1665,7 @@ GLIBC_2.4 pthread_rwlock_tryrdlock F
 GLIBC_2.4 pthread_rwlock_trywrlock F
 GLIBC_2.4 pthread_rwlock_unlock F
 GLIBC_2.4 pthread_rwlock_wrlock F
+GLIBC_2.4 pthread_rwlockattr_destroy F
 GLIBC_2.4 pthread_self F
 GLIBC_2.4 pthread_setcancelstate F
 GLIBC_2.4 pthread_setcanceltype F
diff --git a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
index a62e8fe20a..619ac6f5ef 100644
--- a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
@@ -60,7 +60,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_rwlockattr_destroy F
 GLIBC_2.4 pthread_rwlockattr_getkind_np F
 GLIBC_2.4 pthread_rwlockattr_getpshared F
 GLIBC_2.4 pthread_rwlockattr_init F
diff --git a/sysdeps/unix/sysv/linux/csky/libc.abilist b/sysdeps/unix/sysv/linux/csky/libc.abilist
index 066afc9db7..b544f92eaf 100644
--- a/sysdeps/unix/sysv/linux/csky/libc.abilist
+++ b/sysdeps/unix/sysv/linux/csky/libc.abilist
@@ -1500,6 +1500,7 @@ GLIBC_2.29 pthread_rwlock_tryrdlock F
 GLIBC_2.29 pthread_rwlock_trywrlock F
 GLIBC_2.29 pthread_rwlock_unlock F
 GLIBC_2.29 pthread_rwlock_wrlock F
+GLIBC_2.29 pthread_rwlockattr_destroy F
 GLIBC_2.29 pthread_self F
 GLIBC_2.29 pthread_setcancelstate F
 GLIBC_2.29 pthread_setcanceltype F
@@ -2244,6 +2245,7 @@ GLIBC_2.34 pthread_rwlock_tryrdlock F
 GLIBC_2.34 pthread_rwlock_trywrlock F
 GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
+GLIBC_2.34 pthread_rwlockattr_destroy F
 GLIBC_2.34 pthread_setspecific F
 GLIBC_2.34 pthread_spin_destroy F
 GLIBC_2.34 pthread_spin_init F
diff --git a/sysdeps/unix/sysv/linux/csky/libpthread.abilist b/sysdeps/unix/sysv/linux/csky/libpthread.abilist
index c1a34db9fd..563594d37f 100644
--- a/sysdeps/unix/sysv/linux/csky/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/csky/libpthread.abilist
@@ -46,7 +46,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_rwlockattr_destroy F
 GLIBC_2.29 pthread_rwlockattr_getkind_np F
 GLIBC_2.29 pthread_rwlockattr_getpshared F
 GLIBC_2.29 pthread_rwlockattr_init F
diff --git a/sysdeps/unix/sysv/linux/hppa/libc.abilist b/sysdeps/unix/sysv/linux/hppa/libc.abilist
index 958ab24e89..7fee07949d 100644
--- a/sysdeps/unix/sysv/linux/hppa/libc.abilist
+++ b/sysdeps/unix/sysv/linux/hppa/libc.abilist
@@ -1324,6 +1324,7 @@ GLIBC_2.2 pthread_rwlock_tryrdlock F
 GLIBC_2.2 pthread_rwlock_trywrlock F
 GLIBC_2.2 pthread_rwlock_unlock F
 GLIBC_2.2 pthread_rwlock_wrlock F
+GLIBC_2.2 pthread_rwlockattr_destroy F
 GLIBC_2.2 pthread_self F
 GLIBC_2.2 pthread_setcancelstate F
 GLIBC_2.2 pthread_setcanceltype F
@@ -2195,6 +2196,7 @@ GLIBC_2.34 pthread_rwlock_tryrdlock F
 GLIBC_2.34 pthread_rwlock_trywrlock F
 GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
+GLIBC_2.34 pthread_rwlockattr_destroy F
 GLIBC_2.34 pthread_setspecific F
 GLIBC_2.34 pthread_spin_destroy F
 GLIBC_2.34 pthread_spin_init F
diff --git a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
index 7a3432551e..480a0db78c 100644
--- a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
@@ -30,7 +30,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_rwlockattr_destroy F
 GLIBC_2.2 pthread_rwlockattr_getkind_np F
 GLIBC_2.2 pthread_rwlockattr_getpshared F
 GLIBC_2.2 pthread_rwlockattr_init F
diff --git a/sysdeps/unix/sysv/linux/i386/libc.abilist b/sysdeps/unix/sysv/linux/i386/libc.abilist
index ee8809b6e4..7a6f4b1673 100644
--- a/sysdeps/unix/sysv/linux/i386/libc.abilist
+++ b/sysdeps/unix/sysv/linux/i386/libc.abilist
@@ -1581,6 +1581,7 @@ GLIBC_2.1 pthread_rwlock_tryrdlock F
 GLIBC_2.1 pthread_rwlock_trywrlock F
 GLIBC_2.1 pthread_rwlock_unlock F
 GLIBC_2.1 pthread_rwlock_wrlock F
+GLIBC_2.1 pthread_rwlockattr_destroy F
 GLIBC_2.1 ptsname F
 GLIBC_2.1 ptsname_r F
 GLIBC_2.1 putgrent F
@@ -2372,6 +2373,7 @@ GLIBC_2.34 pthread_rwlock_tryrdlock F
 GLIBC_2.34 pthread_rwlock_trywrlock F
 GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
+GLIBC_2.34 pthread_rwlockattr_destroy F
 GLIBC_2.34 pthread_setspecific F
 GLIBC_2.34 pthread_spin_destroy F
 GLIBC_2.34 pthread_spin_init F
diff --git a/sysdeps/unix/sysv/linux/i386/libpthread.abilist b/sysdeps/unix/sysv/linux/i386/libpthread.abilist
index 4aecfccc11..f33d710837 100644
--- a/sysdeps/unix/sysv/linux/i386/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/i386/libpthread.abilist
@@ -24,7 +24,6 @@ GLIBC_2.1 pthread_attr_setstackaddr F
 GLIBC_2.1 pthread_attr_setstacksize F
 GLIBC_2.1 pthread_create F
 GLIBC_2.1 pthread_getconcurrency F
-GLIBC_2.1 pthread_rwlockattr_destroy F
 GLIBC_2.1 pthread_rwlockattr_getkind_np F
 GLIBC_2.1 pthread_rwlockattr_getpshared F
 GLIBC_2.1 pthread_rwlockattr_init F
diff --git a/sysdeps/unix/sysv/linux/ia64/libc.abilist b/sysdeps/unix/sysv/linux/ia64/libc.abilist
index 0517cf4eb4..6f31faf03c 100644
--- a/sysdeps/unix/sysv/linux/ia64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/ia64/libc.abilist
@@ -1345,6 +1345,7 @@ GLIBC_2.2 pthread_rwlock_tryrdlock F
 GLIBC_2.2 pthread_rwlock_trywrlock F
 GLIBC_2.2 pthread_rwlock_unlock F
 GLIBC_2.2 pthread_rwlock_wrlock F
+GLIBC_2.2 pthread_rwlockattr_destroy F
 GLIBC_2.2 pthread_self F
 GLIBC_2.2 pthread_setcancelstate F
 GLIBC_2.2 pthread_setcanceltype F
@@ -2229,6 +2230,7 @@ GLIBC_2.34 pthread_rwlock_tryrdlock F
 GLIBC_2.34 pthread_rwlock_trywrlock F
 GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
+GLIBC_2.34 pthread_rwlockattr_destroy F
 GLIBC_2.34 pthread_setspecific F
 GLIBC_2.34 pthread_spin_destroy F
 GLIBC_2.34 pthread_spin_init F
diff --git a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
index 012cab4a86..9d003c3a4b 100644
--- a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
@@ -30,7 +30,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_rwlockattr_destroy F
 GLIBC_2.2 pthread_rwlockattr_getkind_np F
 GLIBC_2.2 pthread_rwlockattr_getpshared F
 GLIBC_2.2 pthread_rwlockattr_init F
diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
index a6c351494b..e0ff4bd8b3 100644
--- a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
@@ -216,6 +216,7 @@ GLIBC_2.34 pthread_rwlock_tryrdlock F
 GLIBC_2.34 pthread_rwlock_trywrlock F
 GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
+GLIBC_2.34 pthread_rwlockattr_destroy F
 GLIBC_2.34 pthread_setspecific F
 GLIBC_2.34 pthread_spin_destroy F
 GLIBC_2.34 pthread_spin_init F
@@ -1647,6 +1648,7 @@ GLIBC_2.4 pthread_rwlock_tryrdlock F
 GLIBC_2.4 pthread_rwlock_trywrlock F
 GLIBC_2.4 pthread_rwlock_unlock F
 GLIBC_2.4 pthread_rwlock_wrlock F
+GLIBC_2.4 pthread_rwlockattr_destroy F
 GLIBC_2.4 pthread_self F
 GLIBC_2.4 pthread_setcancelstate F
 GLIBC_2.4 pthread_setcanceltype F
diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
index a62e8fe20a..619ac6f5ef 100644
--- a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
@@ -60,7 +60,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_rwlockattr_destroy F
 GLIBC_2.4 pthread_rwlockattr_getkind_np F
 GLIBC_2.4 pthread_rwlockattr_getpshared F
 GLIBC_2.4 pthread_rwlockattr_init F
diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
index 1061625a6e..16a4650d2d 100644
--- a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
@@ -1577,6 +1577,7 @@ GLIBC_2.1 pthread_rwlock_tryrdlock F
 GLIBC_2.1 pthread_rwlock_trywrlock F
 GLIBC_2.1 pthread_rwlock_unlock F
 GLIBC_2.1 pthread_rwlock_wrlock F
+GLIBC_2.1 pthread_rwlockattr_destroy F
 GLIBC_2.1 ptsname F
 GLIBC_2.1 ptsname_r F
 GLIBC_2.1 putgrent F
@@ -2315,6 +2316,7 @@ GLIBC_2.34 pthread_rwlock_tryrdlock F
 GLIBC_2.34 pthread_rwlock_trywrlock F
 GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
+GLIBC_2.34 pthread_rwlockattr_destroy F
 GLIBC_2.34 pthread_setspecific F
 GLIBC_2.34 pthread_spin_destroy F
 GLIBC_2.34 pthread_spin_init F
diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
index 4aecfccc11..f33d710837 100644
--- a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
@@ -24,7 +24,6 @@ GLIBC_2.1 pthread_attr_setstackaddr F
 GLIBC_2.1 pthread_attr_setstacksize F
 GLIBC_2.1 pthread_create F
 GLIBC_2.1 pthread_getconcurrency F
-GLIBC_2.1 pthread_rwlockattr_destroy F
 GLIBC_2.1 pthread_rwlockattr_getkind_np F
 GLIBC_2.1 pthread_rwlockattr_getpshared F
 GLIBC_2.1 pthread_rwlockattr_init F
diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
index 27dbe7bb4b..a20737e513 100644
--- a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
@@ -1515,6 +1515,7 @@ GLIBC_2.18 pthread_rwlock_tryrdlock F
 GLIBC_2.18 pthread_rwlock_trywrlock F
 GLIBC_2.18 pthread_rwlock_unlock F
 GLIBC_2.18 pthread_rwlock_wrlock F
+GLIBC_2.18 pthread_rwlockattr_destroy F
 GLIBC_2.18 pthread_self F
 GLIBC_2.18 pthread_setcancelstate F
 GLIBC_2.18 pthread_setcanceltype F
@@ -2295,6 +2296,7 @@ GLIBC_2.34 pthread_rwlock_tryrdlock F
 GLIBC_2.34 pthread_rwlock_trywrlock F
 GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
+GLIBC_2.34 pthread_rwlockattr_destroy F
 GLIBC_2.34 pthread_setspecific F
 GLIBC_2.34 pthread_spin_destroy F
 GLIBC_2.34 pthread_spin_init F
diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
index 2f1a659cfa..72a5377377 100644
--- a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
@@ -33,7 +33,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_rwlockattr_destroy F
 GLIBC_2.18 pthread_rwlockattr_getkind_np F
 GLIBC_2.18 pthread_rwlockattr_getpshared F
 GLIBC_2.18 pthread_rwlockattr_init F
diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
index 2d1b16f48a..f9feb17895 100644
--- a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
@@ -1515,6 +1515,7 @@ GLIBC_2.18 pthread_rwlock_tryrdlock F
 GLIBC_2.18 pthread_rwlock_trywrlock F
 GLIBC_2.18 pthread_rwlock_unlock F
 GLIBC_2.18 pthread_rwlock_wrlock F
+GLIBC_2.18 pthread_rwlockattr_destroy F
 GLIBC_2.18 pthread_self F
 GLIBC_2.18 pthread_setcancelstate F
 GLIBC_2.18 pthread_setcanceltype F
@@ -2292,6 +2293,7 @@ GLIBC_2.34 pthread_rwlock_tryrdlock F
 GLIBC_2.34 pthread_rwlock_trywrlock F
 GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
+GLIBC_2.34 pthread_rwlockattr_destroy F
 GLIBC_2.34 pthread_setspecific F
 GLIBC_2.34 pthread_spin_destroy F
 GLIBC_2.34 pthread_spin_init F
diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
index 2f1a659cfa..72a5377377 100644
--- a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
@@ -33,7 +33,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_rwlockattr_destroy F
 GLIBC_2.18 pthread_rwlockattr_getkind_np F
 GLIBC_2.18 pthread_rwlockattr_getpshared F
 GLIBC_2.18 pthread_rwlockattr_init F
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
index ac357e888d..e0c3fdf71f 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
@@ -1854,6 +1854,7 @@ GLIBC_2.2 pthread_rwlock_tryrdlock F
 GLIBC_2.2 pthread_rwlock_trywrlock F
 GLIBC_2.2 pthread_rwlock_unlock F
 GLIBC_2.2 pthread_rwlock_wrlock F
+GLIBC_2.2 pthread_rwlockattr_destroy F
 GLIBC_2.2 pthread_spin_destroy F
 GLIBC_2.2 pthread_spin_init F
 GLIBC_2.2 pthread_spin_lock F
@@ -2278,6 +2279,7 @@ GLIBC_2.34 pthread_rwlock_tryrdlock F
 GLIBC_2.34 pthread_rwlock_trywrlock F
 GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
+GLIBC_2.34 pthread_rwlockattr_destroy F
 GLIBC_2.34 pthread_setspecific F
 GLIBC_2.34 pthread_spin_destroy F
 GLIBC_2.34 pthread_spin_init F
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
index dd860526ec..d3e3ec6e1d 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
@@ -38,7 +38,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_rwlockattr_destroy F
 GLIBC_2.2 pthread_rwlockattr_getkind_np F
 GLIBC_2.2 pthread_rwlockattr_getpshared F
 GLIBC_2.2 pthread_rwlockattr_init F
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
index a89c2ffc79..624e34a5ab 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
@@ -1852,6 +1852,7 @@ GLIBC_2.2 pthread_rwlock_tryrdlock F
 GLIBC_2.2 pthread_rwlock_trywrlock F
 GLIBC_2.2 pthread_rwlock_unlock F
 GLIBC_2.2 pthread_rwlock_wrlock F
+GLIBC_2.2 pthread_rwlockattr_destroy F
 GLIBC_2.2 pthread_spin_destroy F
 GLIBC_2.2 pthread_spin_init F
 GLIBC_2.2 pthread_spin_lock F
@@ -2276,6 +2277,7 @@ GLIBC_2.34 pthread_rwlock_tryrdlock F
 GLIBC_2.34 pthread_rwlock_trywrlock F
 GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
+GLIBC_2.34 pthread_rwlockattr_destroy F
 GLIBC_2.34 pthread_setspecific F
 GLIBC_2.34 pthread_spin_destroy F
 GLIBC_2.34 pthread_spin_init F
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
index dd860526ec..d3e3ec6e1d 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
@@ -38,7 +38,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_rwlockattr_destroy F
 GLIBC_2.2 pthread_rwlockattr_getkind_np F
 GLIBC_2.2 pthread_rwlockattr_getpshared F
 GLIBC_2.2 pthread_rwlockattr_init F
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
index 189dd55a43..b83ad2db71 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
@@ -1852,6 +1852,7 @@ GLIBC_2.2 pthread_rwlock_tryrdlock F
 GLIBC_2.2 pthread_rwlock_trywrlock F
 GLIBC_2.2 pthread_rwlock_unlock F
 GLIBC_2.2 pthread_rwlock_wrlock F
+GLIBC_2.2 pthread_rwlockattr_destroy F
 GLIBC_2.2 pthread_spin_destroy F
 GLIBC_2.2 pthread_spin_init F
 GLIBC_2.2 pthread_spin_lock F
@@ -2284,6 +2285,7 @@ GLIBC_2.34 pthread_rwlock_tryrdlock F
 GLIBC_2.34 pthread_rwlock_trywrlock F
 GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
+GLIBC_2.34 pthread_rwlockattr_destroy F
 GLIBC_2.34 pthread_setspecific F
 GLIBC_2.34 pthread_spin_destroy F
 GLIBC_2.34 pthread_spin_init F
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
index e6fa79c017..f590d7fc2a 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
@@ -1848,6 +1848,7 @@ GLIBC_2.2 pthread_rwlock_tryrdlock F
 GLIBC_2.2 pthread_rwlock_trywrlock F
 GLIBC_2.2 pthread_rwlock_unlock F
 GLIBC_2.2 pthread_rwlock_wrlock F
+GLIBC_2.2 pthread_rwlockattr_destroy F
 GLIBC_2.2 pthread_spin_destroy F
 GLIBC_2.2 pthread_spin_init F
 GLIBC_2.2 pthread_spin_lock F
@@ -2278,6 +2279,7 @@ GLIBC_2.34 pthread_rwlock_tryrdlock F
 GLIBC_2.34 pthread_rwlock_trywrlock F
 GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
+GLIBC_2.34 pthread_rwlockattr_destroy F
 GLIBC_2.34 pthread_setspecific F
 GLIBC_2.34 pthread_spin_destroy F
 GLIBC_2.34 pthread_spin_init F
diff --git a/sysdeps/unix/sysv/linux/nios2/libc.abilist b/sysdeps/unix/sysv/linux/nios2/libc.abilist
index 659332aad1..c63bc2c760 100644
--- a/sysdeps/unix/sysv/linux/nios2/libc.abilist
+++ b/sysdeps/unix/sysv/linux/nios2/libc.abilist
@@ -1558,6 +1558,7 @@ GLIBC_2.21 pthread_rwlock_tryrdlock F
 GLIBC_2.21 pthread_rwlock_trywrlock F
 GLIBC_2.21 pthread_rwlock_unlock F
 GLIBC_2.21 pthread_rwlock_wrlock F
+GLIBC_2.21 pthread_rwlockattr_destroy F
 GLIBC_2.21 pthread_self F
 GLIBC_2.21 pthread_setcancelstate F
 GLIBC_2.21 pthread_setcanceltype F
@@ -2334,6 +2335,7 @@ GLIBC_2.34 pthread_rwlock_tryrdlock F
 GLIBC_2.34 pthread_rwlock_trywrlock F
 GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
+GLIBC_2.34 pthread_rwlockattr_destroy F
 GLIBC_2.34 pthread_setspecific F
 GLIBC_2.34 pthread_spin_destroy F
 GLIBC_2.34 pthread_spin_init F
diff --git a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
index 954d6a6ce9..00e19b085d 100644
--- a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
@@ -33,7 +33,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_rwlockattr_destroy F
 GLIBC_2.21 pthread_rwlockattr_getkind_np F
 GLIBC_2.21 pthread_rwlockattr_getpshared F
 GLIBC_2.21 pthread_rwlockattr_init F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
index 19d5decb2b..433bdf49cc 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
@@ -1585,6 +1585,7 @@ GLIBC_2.1 pthread_rwlock_tryrdlock F
 GLIBC_2.1 pthread_rwlock_trywrlock F
 GLIBC_2.1 pthread_rwlock_unlock F
 GLIBC_2.1 pthread_rwlock_wrlock F
+GLIBC_2.1 pthread_rwlockattr_destroy F
 GLIBC_2.1 ptsname F
 GLIBC_2.1 ptsname_r F
 GLIBC_2.1 putgrent F
@@ -2342,6 +2343,7 @@ GLIBC_2.34 pthread_rwlock_tryrdlock F
 GLIBC_2.34 pthread_rwlock_trywrlock F
 GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
+GLIBC_2.34 pthread_rwlockattr_destroy F
 GLIBC_2.34 pthread_setspecific F
 GLIBC_2.34 pthread_spin_destroy F
 GLIBC_2.34 pthread_spin_init F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
index db1e6ae07f..0deffd98ab 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
@@ -24,7 +24,6 @@ GLIBC_2.1 pthread_attr_setstackaddr F
 GLIBC_2.1 pthread_attr_setstacksize F
 GLIBC_2.1 pthread_create F
 GLIBC_2.1 pthread_getconcurrency F
-GLIBC_2.1 pthread_rwlockattr_destroy F
 GLIBC_2.1 pthread_rwlockattr_getkind_np F
 GLIBC_2.1 pthread_rwlockattr_getpshared F
 GLIBC_2.1 pthread_rwlockattr_init F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
index f0d3ec8603..2f59667873 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
@@ -1585,6 +1585,7 @@ GLIBC_2.1 pthread_rwlock_tryrdlock F
 GLIBC_2.1 pthread_rwlock_trywrlock F
 GLIBC_2.1 pthread_rwlock_unlock F
 GLIBC_2.1 pthread_rwlock_wrlock F
+GLIBC_2.1 pthread_rwlockattr_destroy F
 GLIBC_2.1 ptsname F
 GLIBC_2.1 ptsname_r F
 GLIBC_2.1 putgrent F
@@ -2375,6 +2376,7 @@ GLIBC_2.34 pthread_rwlock_tryrdlock F
 GLIBC_2.34 pthread_rwlock_trywrlock F
 GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
+GLIBC_2.34 pthread_rwlockattr_destroy F
 GLIBC_2.34 pthread_setspecific F
 GLIBC_2.34 pthread_spin_destroy F
 GLIBC_2.34 pthread_spin_init F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
index dec5e3ca8d..424ca2b972 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
@@ -1430,6 +1430,7 @@ GLIBC_2.3 pthread_rwlock_tryrdlock F
 GLIBC_2.3 pthread_rwlock_trywrlock F
 GLIBC_2.3 pthread_rwlock_unlock F
 GLIBC_2.3 pthread_rwlock_wrlock F
+GLIBC_2.3 pthread_rwlockattr_destroy F
 GLIBC_2.3 pthread_self F
 GLIBC_2.3 pthread_setcancelstate F
 GLIBC_2.3 pthread_setcanceltype F
@@ -2196,6 +2197,7 @@ GLIBC_2.34 pthread_rwlock_tryrdlock F
 GLIBC_2.34 pthread_rwlock_trywrlock F
 GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
+GLIBC_2.34 pthread_rwlockattr_destroy F
 GLIBC_2.34 pthread_setspecific F
 GLIBC_2.34 pthread_spin_destroy F
 GLIBC_2.34 pthread_spin_init F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
index f3f4ebe64a..094ab23990 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
@@ -51,7 +51,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_rwlockattr_destroy F
 GLIBC_2.3 pthread_rwlockattr_getkind_np F
 GLIBC_2.3 pthread_rwlockattr_getpshared F
 GLIBC_2.3 pthread_rwlockattr_init F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
index 08269bd380..872f36ff24 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
@@ -1601,6 +1601,7 @@ GLIBC_2.17 pthread_rwlock_tryrdlock F
 GLIBC_2.17 pthread_rwlock_trywrlock F
 GLIBC_2.17 pthread_rwlock_unlock F
 GLIBC_2.17 pthread_rwlock_wrlock F
+GLIBC_2.17 pthread_rwlockattr_destroy F
 GLIBC_2.17 pthread_self F
 GLIBC_2.17 pthread_setcancelstate F
 GLIBC_2.17 pthread_setcanceltype F
@@ -2497,6 +2498,7 @@ GLIBC_2.34 pthread_rwlock_tryrdlock F
 GLIBC_2.34 pthread_rwlock_trywrlock F
 GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
+GLIBC_2.34 pthread_rwlockattr_destroy F
 GLIBC_2.34 pthread_setspecific F
 GLIBC_2.34 pthread_spin_destroy F
 GLIBC_2.34 pthread_spin_init F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
index 11e21afc40..1415f4c40f 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
@@ -32,7 +32,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_rwlockattr_destroy F
 GLIBC_2.17 pthread_rwlockattr_getkind_np F
 GLIBC_2.17 pthread_rwlockattr_getpshared F
 GLIBC_2.17 pthread_rwlockattr_init F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
index 11f173ca7c..38395e4caa 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
@@ -1445,6 +1445,7 @@ GLIBC_2.33 pthread_rwlock_tryrdlock F
 GLIBC_2.33 pthread_rwlock_trywrlock F
 GLIBC_2.33 pthread_rwlock_unlock F
 GLIBC_2.33 pthread_rwlock_wrlock F
+GLIBC_2.33 pthread_rwlockattr_destroy F
 GLIBC_2.33 pthread_self F
 GLIBC_2.33 pthread_setcancelstate F
 GLIBC_2.33 pthread_setcanceltype F
@@ -2062,6 +2063,7 @@ GLIBC_2.34 pthread_rwlock_tryrdlock F
 GLIBC_2.34 pthread_rwlock_trywrlock F
 GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
+GLIBC_2.34 pthread_rwlockattr_destroy F
 GLIBC_2.34 pthread_setspecific F
 GLIBC_2.34 pthread_spin_destroy F
 GLIBC_2.34 pthread_spin_init F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
index cde399da81..28e5a34117 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
@@ -47,7 +47,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_rwlockattr_destroy F
 GLIBC_2.33 pthread_rwlockattr_getkind_np F
 GLIBC_2.33 pthread_rwlockattr_getpshared F
 GLIBC_2.33 pthread_rwlockattr_init F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
index 517414bbe2..ec46479c11 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
@@ -1503,6 +1503,7 @@ GLIBC_2.27 pthread_rwlock_tryrdlock F
 GLIBC_2.27 pthread_rwlock_trywrlock F
 GLIBC_2.27 pthread_rwlock_unlock F
 GLIBC_2.27 pthread_rwlock_wrlock F
+GLIBC_2.27 pthread_rwlockattr_destroy F
 GLIBC_2.27 pthread_self F
 GLIBC_2.27 pthread_setcancelstate F
 GLIBC_2.27 pthread_setcanceltype F
@@ -2262,6 +2263,7 @@ GLIBC_2.34 pthread_rwlock_tryrdlock F
 GLIBC_2.34 pthread_rwlock_trywrlock F
 GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
+GLIBC_2.34 pthread_rwlockattr_destroy F
 GLIBC_2.34 pthread_setspecific F
 GLIBC_2.34 pthread_spin_destroy F
 GLIBC_2.34 pthread_spin_init F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
index 8fd09649b6..622f6c3156 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
@@ -33,7 +33,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_rwlockattr_destroy F
 GLIBC_2.27 pthread_rwlockattr_getkind_np F
 GLIBC_2.27 pthread_rwlockattr_getpshared F
 GLIBC_2.27 pthread_rwlockattr_init F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
index 1e6e648de4..4a070a45d4 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
@@ -1577,6 +1577,7 @@ GLIBC_2.1 pthread_rwlock_tryrdlock F
 GLIBC_2.1 pthread_rwlock_trywrlock F
 GLIBC_2.1 pthread_rwlock_unlock F
 GLIBC_2.1 pthread_rwlock_wrlock F
+GLIBC_2.1 pthread_rwlockattr_destroy F
 GLIBC_2.1 ptsname F
 GLIBC_2.1 ptsname_r F
 GLIBC_2.1 putgrent F
@@ -2340,6 +2341,7 @@ GLIBC_2.34 pthread_rwlock_tryrdlock F
 GLIBC_2.34 pthread_rwlock_trywrlock F
 GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
+GLIBC_2.34 pthread_rwlockattr_destroy F
 GLIBC_2.34 pthread_setspecific F
 GLIBC_2.34 pthread_spin_destroy F
 GLIBC_2.34 pthread_spin_init F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
index dbbdd159bd..1cd03a263e 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
@@ -24,7 +24,6 @@ GLIBC_2.1 pthread_attr_setstackaddr F
 GLIBC_2.1 pthread_attr_setstacksize F
 GLIBC_2.1 pthread_create F
 GLIBC_2.1 pthread_getconcurrency F
-GLIBC_2.1 pthread_rwlockattr_destroy F
 GLIBC_2.1 pthread_rwlockattr_getkind_np F
 GLIBC_2.1 pthread_rwlockattr_getpshared F
 GLIBC_2.1 pthread_rwlockattr_init F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
index dd741f5686..bd8ed93bc5 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
@@ -1342,6 +1342,7 @@ GLIBC_2.2 pthread_rwlock_tryrdlock F
 GLIBC_2.2 pthread_rwlock_trywrlock F
 GLIBC_2.2 pthread_rwlock_unlock F
 GLIBC_2.2 pthread_rwlock_wrlock F
+GLIBC_2.2 pthread_rwlockattr_destroy F
 GLIBC_2.2 pthread_self F
 GLIBC_2.2 pthread_setcancelstate F
 GLIBC_2.2 pthread_setcanceltype F
@@ -2233,6 +2234,7 @@ GLIBC_2.34 pthread_rwlock_tryrdlock F
 GLIBC_2.34 pthread_rwlock_trywrlock F
 GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
+GLIBC_2.34 pthread_rwlockattr_destroy F
 GLIBC_2.34 pthread_setspecific F
 GLIBC_2.34 pthread_spin_destroy F
 GLIBC_2.34 pthread_spin_init F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
index de35dec9d8..e567c3fa1b 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
@@ -31,7 +31,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_rwlockattr_destroy F
 GLIBC_2.2 pthread_rwlockattr_getkind_np F
 GLIBC_2.2 pthread_rwlockattr_getpshared F
 GLIBC_2.2 pthread_rwlockattr_init F
diff --git a/sysdeps/unix/sysv/linux/sh/be/libc.abilist b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
index 2cbbfd746b..1eb744b8d6 100644
--- a/sysdeps/unix/sysv/linux/sh/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
@@ -1328,6 +1328,7 @@ GLIBC_2.2 pthread_rwlock_tryrdlock F
 GLIBC_2.2 pthread_rwlock_trywrlock F
 GLIBC_2.2 pthread_rwlock_unlock F
 GLIBC_2.2 pthread_rwlock_wrlock F
+GLIBC_2.2 pthread_rwlockattr_destroy F
 GLIBC_2.2 pthread_self F
 GLIBC_2.2 pthread_setcancelstate F
 GLIBC_2.2 pthread_setcanceltype F
@@ -2202,6 +2203,7 @@ GLIBC_2.34 pthread_rwlock_tryrdlock F
 GLIBC_2.34 pthread_rwlock_trywrlock F
 GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
+GLIBC_2.34 pthread_rwlockattr_destroy F
 GLIBC_2.34 pthread_setspecific F
 GLIBC_2.34 pthread_spin_destroy F
 GLIBC_2.34 pthread_spin_init F
diff --git a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
index 7a3432551e..480a0db78c 100644
--- a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
@@ -30,7 +30,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_rwlockattr_destroy F
 GLIBC_2.2 pthread_rwlockattr_getkind_np F
 GLIBC_2.2 pthread_rwlockattr_getpshared F
 GLIBC_2.2 pthread_rwlockattr_init F
diff --git a/sysdeps/unix/sysv/linux/sh/le/libc.abilist b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
index 0ec36636fd..a53cfbfcf0 100644
--- a/sysdeps/unix/sysv/linux/sh/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
@@ -1328,6 +1328,7 @@ GLIBC_2.2 pthread_rwlock_tryrdlock F
 GLIBC_2.2 pthread_rwlock_trywrlock F
 GLIBC_2.2 pthread_rwlock_unlock F
 GLIBC_2.2 pthread_rwlock_wrlock F
+GLIBC_2.2 pthread_rwlockattr_destroy F
 GLIBC_2.2 pthread_self F
 GLIBC_2.2 pthread_setcancelstate F
 GLIBC_2.2 pthread_setcanceltype F
@@ -2199,6 +2200,7 @@ GLIBC_2.34 pthread_rwlock_tryrdlock F
 GLIBC_2.34 pthread_rwlock_trywrlock F
 GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
+GLIBC_2.34 pthread_rwlockattr_destroy F
 GLIBC_2.34 pthread_setspecific F
 GLIBC_2.34 pthread_spin_destroy F
 GLIBC_2.34 pthread_spin_init F
diff --git a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
index 7a3432551e..480a0db78c 100644
--- a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
@@ -30,7 +30,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_rwlockattr_destroy F
 GLIBC_2.2 pthread_rwlockattr_getkind_np F
 GLIBC_2.2 pthread_rwlockattr_getpshared F
 GLIBC_2.2 pthread_rwlockattr_init F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
index 67b12ee201..701a606375 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
@@ -1578,6 +1578,7 @@ GLIBC_2.1 pthread_rwlock_tryrdlock F
 GLIBC_2.1 pthread_rwlock_trywrlock F
 GLIBC_2.1 pthread_rwlock_unlock F
 GLIBC_2.1 pthread_rwlock_wrlock F
+GLIBC_2.1 pthread_rwlockattr_destroy F
 GLIBC_2.1 ptsname F
 GLIBC_2.1 ptsname_r F
 GLIBC_2.1 putgrent F
@@ -2331,6 +2332,7 @@ GLIBC_2.34 pthread_rwlock_tryrdlock F
 GLIBC_2.34 pthread_rwlock_trywrlock F
 GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
+GLIBC_2.34 pthread_rwlockattr_destroy F
 GLIBC_2.34 pthread_setspecific F
 GLIBC_2.34 pthread_spin_destroy F
 GLIBC_2.34 pthread_spin_init F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
index ab854bbc77..8cd2286856 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
@@ -24,7 +24,6 @@ GLIBC_2.1 pthread_attr_setstackaddr F
 GLIBC_2.1 pthread_attr_setstacksize F
 GLIBC_2.1 pthread_create F
 GLIBC_2.1 pthread_getconcurrency F
-GLIBC_2.1 pthread_rwlockattr_destroy F
 GLIBC_2.1 pthread_rwlockattr_getkind_np F
 GLIBC_2.1 pthread_rwlockattr_getpshared F
 GLIBC_2.1 pthread_rwlockattr_init F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
index c529ccc949..d31f26fda2 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
@@ -1371,6 +1371,7 @@ GLIBC_2.2 pthread_rwlock_tryrdlock F
 GLIBC_2.2 pthread_rwlock_trywrlock F
 GLIBC_2.2 pthread_rwlock_unlock F
 GLIBC_2.2 pthread_rwlock_wrlock F
+GLIBC_2.2 pthread_rwlockattr_destroy F
 GLIBC_2.2 pthread_self F
 GLIBC_2.2 pthread_setcancelstate F
 GLIBC_2.2 pthread_setcanceltype F
@@ -2250,6 +2251,7 @@ GLIBC_2.34 pthread_rwlock_tryrdlock F
 GLIBC_2.34 pthread_rwlock_trywrlock F
 GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
+GLIBC_2.34 pthread_rwlockattr_destroy F
 GLIBC_2.34 pthread_setspecific F
 GLIBC_2.34 pthread_spin_destroy F
 GLIBC_2.34 pthread_spin_init F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
index 012cab4a86..9d003c3a4b 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
@@ -30,7 +30,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_rwlockattr_destroy F
 GLIBC_2.2 pthread_rwlockattr_getkind_np F
 GLIBC_2.2 pthread_rwlockattr_getpshared F
 GLIBC_2.2 pthread_rwlockattr_init F
diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
index 550993a4a1..c09f8b6c71 100644
--- a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
@@ -1339,6 +1339,7 @@ GLIBC_2.2.5 pthread_rwlock_tryrdlock F
 GLIBC_2.2.5 pthread_rwlock_trywrlock F
 GLIBC_2.2.5 pthread_rwlock_unlock F
 GLIBC_2.2.5 pthread_rwlock_wrlock F
+GLIBC_2.2.5 pthread_rwlockattr_destroy F
 GLIBC_2.2.5 pthread_self F
 GLIBC_2.2.5 pthread_setcancelstate F
 GLIBC_2.2.5 pthread_setcanceltype F
@@ -2211,6 +2212,7 @@ GLIBC_2.34 pthread_rwlock_tryrdlock F
 GLIBC_2.34 pthread_rwlock_trywrlock F
 GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
+GLIBC_2.34 pthread_rwlockattr_destroy F
 GLIBC_2.34 pthread_setspecific F
 GLIBC_2.34 pthread_spin_destroy F
 GLIBC_2.34 pthread_spin_init F
diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
index 97e5f5ba51..4a16b3a6af 100644
--- a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
@@ -30,7 +30,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_rwlockattr_destroy F
 GLIBC_2.2.5 pthread_rwlockattr_getkind_np F
 GLIBC_2.2.5 pthread_rwlockattr_getpshared F
 GLIBC_2.2.5 pthread_rwlockattr_init F
diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
index ab5b94842e..016d8df8bd 100644
--- a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
@@ -1520,6 +1520,7 @@ GLIBC_2.16 pthread_rwlock_tryrdlock F
 GLIBC_2.16 pthread_rwlock_trywrlock F
 GLIBC_2.16 pthread_rwlock_unlock F
 GLIBC_2.16 pthread_rwlock_wrlock F
+GLIBC_2.16 pthread_rwlockattr_destroy F
 GLIBC_2.16 pthread_self F
 GLIBC_2.16 pthread_setcancelstate F
 GLIBC_2.16 pthread_setcanceltype F
@@ -2316,6 +2317,7 @@ GLIBC_2.34 pthread_rwlock_tryrdlock F
 GLIBC_2.34 pthread_rwlock_trywrlock F
 GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
+GLIBC_2.34 pthread_rwlockattr_destroy F
 GLIBC_2.34 pthread_setspecific F
 GLIBC_2.34 pthread_spin_destroy F
 GLIBC_2.34 pthread_spin_init F
diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
index a1ce2b26fd..d82d85438a 100644
--- a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
@@ -32,7 +32,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_rwlockattr_destroy F
 GLIBC_2.16 pthread_rwlockattr_getkind_np F
 GLIBC_2.16 pthread_rwlockattr_getpshared F
 GLIBC_2.16 pthread_rwlockattr_init F
-- 
2.30.2



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

* [PATCH 10/14] nptl: Move pthread_rwlockattr_getkind_np into libc
  2021-04-23 17:36 [PATCH 00/14] nptl: Move remaining rwlock functions into libc Florian Weimer via Libc-alpha
                   ` (8 preceding siblings ...)
  2021-04-23 17:37 ` [PATCH 09/14] nptl: Move pthread_rwlockattr_destroy " Florian Weimer via Libc-alpha
@ 2021-04-23 17:37 ` Florian Weimer via Libc-alpha
  2021-05-02 19:38   ` Carlos O'Donell via Libc-alpha
  2021-04-23 17:38 ` [PATCH 11/14] nptl: Move pthread_rwlockattr_getpshared " Florian Weimer via Libc-alpha
                   ` (4 subsequent siblings)
  14 siblings, 1 reply; 30+ messages in thread
From: Florian Weimer via Libc-alpha @ 2021-04-23 17:37 UTC (permalink / raw)
  To: libc-alpha

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

diff --git a/nptl/Makefile b/nptl/Makefile
index 10456cb99c..86cd7da0f9 100644
--- a/nptl/Makefile
+++ b/nptl/Makefile
@@ -132,6 +132,7 @@ routines = \
   pthread_rwlock_unlock \
   pthread_rwlock_wrlock \
   pthread_rwlockattr_destroy \
+  pthread_rwlockattr_getkind_np \
   pthread_self \
   pthread_setcancelstate \
   pthread_setcanceltype \
@@ -187,7 +188,6 @@ libpthread-routines = \
   pthread_getname \
   pthread_join \
   pthread_join_common \
-  pthread_rwlockattr_getkind_np \
   pthread_rwlockattr_getpshared \
   pthread_rwlockattr_init \
   pthread_rwlockattr_setkind_np \
diff --git a/nptl/Versions b/nptl/Versions
index dfdc2dad78..01f7d590a9 100644
--- a/nptl/Versions
+++ b/nptl/Versions
@@ -74,6 +74,7 @@ libc {
     pthread_rwlock_unlock;
     pthread_rwlock_wrlock;
     pthread_rwlockattr_destroy;
+    pthread_rwlockattr_getkind_np;
   }
   GLIBC_2.2 {
     __pthread_rwlock_destroy;
@@ -204,6 +205,7 @@ libc {
     pthread_rwlock_unlock;
     pthread_rwlock_wrlock;
     pthread_rwlockattr_destroy;
+    pthread_rwlockattr_getkind_np;
     pthread_setspecific;
     pthread_spin_destroy;
     pthread_spin_init;
@@ -294,7 +296,6 @@ libpthread {
     pthread_attr_setstacksize;
     pthread_create;
     pthread_getconcurrency;
-    pthread_rwlockattr_getkind_np;
     pthread_rwlockattr_getpshared;
     pthread_rwlockattr_init;
     pthread_rwlockattr_setkind_np;
diff --git a/nptl/pthread_rwlockattr_getkind_np.c b/nptl/pthread_rwlockattr_getkind_np.c
index 840b3874c2..53cecf5b99 100644
--- a/nptl/pthread_rwlockattr_getkind_np.c
+++ b/nptl/pthread_rwlockattr_getkind_np.c
@@ -17,12 +17,19 @@
    <https://www.gnu.org/licenses/>.  */
 
 #include "pthreadP.h"
-
+#include <shlib-compat.h>
 
 int
-pthread_rwlockattr_getkind_np (const pthread_rwlockattr_t *attr, int *pref)
+__pthread_rwlockattr_getkind_np (const pthread_rwlockattr_t *attr, int *pref)
 {
   *pref = ((const struct pthread_rwlockattr *) attr)->lockkind;
 
   return 0;
 }
+versioned_symbol (libc, __pthread_rwlockattr_getkind_np,
+                  pthread_rwlockattr_getkind_np, GLIBC_2_34);
+
+#if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_1, GLIBC_2_34)
+compat_symbol (libpthread, __pthread_rwlockattr_getkind_np,
+               pthread_rwlockattr_getkind_np, GLIBC_2_1);
+#endif
diff --git a/sysdeps/unix/sysv/linux/aarch64/libc.abilist b/sysdeps/unix/sysv/linux/aarch64/libc.abilist
index fa41d5edb7..b709cc514e 100644
--- a/sysdeps/unix/sysv/linux/aarch64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/aarch64/libc.abilist
@@ -1514,6 +1514,7 @@ GLIBC_2.17 pthread_rwlock_trywrlock F
 GLIBC_2.17 pthread_rwlock_unlock F
 GLIBC_2.17 pthread_rwlock_wrlock F
 GLIBC_2.17 pthread_rwlockattr_destroy F
+GLIBC_2.17 pthread_rwlockattr_getkind_np F
 GLIBC_2.17 pthread_self F
 GLIBC_2.17 pthread_setcancelstate F
 GLIBC_2.17 pthread_setcanceltype F
@@ -2303,6 +2304,7 @@ GLIBC_2.34 pthread_rwlock_trywrlock F
 GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
 GLIBC_2.34 pthread_rwlockattr_destroy F
+GLIBC_2.34 pthread_rwlockattr_getkind_np F
 GLIBC_2.34 pthread_setspecific F
 GLIBC_2.34 pthread_spin_destroy F
 GLIBC_2.34 pthread_spin_init F
diff --git a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
index 1415f4c40f..7c1aa12896 100644
--- a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
@@ -32,7 +32,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_rwlockattr_getkind_np F
 GLIBC_2.17 pthread_rwlockattr_getpshared F
 GLIBC_2.17 pthread_rwlockattr_init F
 GLIBC_2.17 pthread_rwlockattr_setkind_np F
diff --git a/sysdeps/unix/sysv/linux/alpha/libc.abilist b/sysdeps/unix/sysv/linux/alpha/libc.abilist
index e32da83a4e..7f6083a1d6 100644
--- a/sysdeps/unix/sysv/linux/alpha/libc.abilist
+++ b/sysdeps/unix/sysv/linux/alpha/libc.abilist
@@ -1614,6 +1614,7 @@ GLIBC_2.1 pthread_rwlock_trywrlock F
 GLIBC_2.1 pthread_rwlock_unlock F
 GLIBC_2.1 pthread_rwlock_wrlock F
 GLIBC_2.1 pthread_rwlockattr_destroy F
+GLIBC_2.1 pthread_rwlockattr_getkind_np F
 GLIBC_2.1 ptsname F
 GLIBC_2.1 ptsname_r F
 GLIBC_2.1 putgrent F
@@ -2384,6 +2385,7 @@ GLIBC_2.34 pthread_rwlock_trywrlock F
 GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
 GLIBC_2.34 pthread_rwlockattr_destroy F
+GLIBC_2.34 pthread_rwlockattr_getkind_np F
 GLIBC_2.34 pthread_setspecific F
 GLIBC_2.34 pthread_spin_destroy F
 GLIBC_2.34 pthread_spin_init F
diff --git a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
index 8cd2286856..64316f12de 100644
--- a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
@@ -24,7 +24,6 @@ GLIBC_2.1 pthread_attr_setstackaddr F
 GLIBC_2.1 pthread_attr_setstacksize F
 GLIBC_2.1 pthread_create F
 GLIBC_2.1 pthread_getconcurrency F
-GLIBC_2.1 pthread_rwlockattr_getkind_np F
 GLIBC_2.1 pthread_rwlockattr_getpshared F
 GLIBC_2.1 pthread_rwlockattr_init F
 GLIBC_2.1 pthread_rwlockattr_setkind_np F
diff --git a/sysdeps/unix/sysv/linux/arc/libc.abilist b/sysdeps/unix/sysv/linux/arc/libc.abilist
index e022e9c56d..b07db49baa 100644
--- a/sysdeps/unix/sysv/linux/arc/libc.abilist
+++ b/sysdeps/unix/sysv/linux/arc/libc.abilist
@@ -1444,6 +1444,7 @@ GLIBC_2.32 pthread_rwlock_trywrlock F
 GLIBC_2.32 pthread_rwlock_unlock F
 GLIBC_2.32 pthread_rwlock_wrlock F
 GLIBC_2.32 pthread_rwlockattr_destroy F
+GLIBC_2.32 pthread_rwlockattr_getkind_np F
 GLIBC_2.32 pthread_self F
 GLIBC_2.32 pthread_setcancelstate F
 GLIBC_2.32 pthread_setcanceltype F
@@ -2062,6 +2063,7 @@ GLIBC_2.34 pthread_rwlock_trywrlock F
 GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
 GLIBC_2.34 pthread_rwlockattr_destroy F
+GLIBC_2.34 pthread_rwlockattr_getkind_np F
 GLIBC_2.34 pthread_setspecific F
 GLIBC_2.34 pthread_spin_destroy F
 GLIBC_2.34 pthread_spin_init F
diff --git a/sysdeps/unix/sysv/linux/arc/libpthread.abilist b/sysdeps/unix/sysv/linux/arc/libpthread.abilist
index d0b3e723af..0cf81c597e 100644
--- a/sysdeps/unix/sysv/linux/arc/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/arc/libpthread.abilist
@@ -47,7 +47,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_rwlockattr_getkind_np F
 GLIBC_2.32 pthread_rwlockattr_getpshared F
 GLIBC_2.32 pthread_rwlockattr_init F
 GLIBC_2.32 pthread_rwlockattr_setkind_np F
diff --git a/sysdeps/unix/sysv/linux/arm/be/libc.abilist b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
index a9e0db7fab..3e41789185 100644
--- a/sysdeps/unix/sysv/linux/arm/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
@@ -216,6 +216,7 @@ GLIBC_2.34 pthread_rwlock_trywrlock F
 GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
 GLIBC_2.34 pthread_rwlockattr_destroy F
+GLIBC_2.34 pthread_rwlockattr_getkind_np F
 GLIBC_2.34 pthread_setspecific F
 GLIBC_2.34 pthread_spin_destroy F
 GLIBC_2.34 pthread_spin_init F
@@ -1669,6 +1670,7 @@ GLIBC_2.4 pthread_rwlock_trywrlock F
 GLIBC_2.4 pthread_rwlock_unlock F
 GLIBC_2.4 pthread_rwlock_wrlock F
 GLIBC_2.4 pthread_rwlockattr_destroy F
+GLIBC_2.4 pthread_rwlockattr_getkind_np F
 GLIBC_2.4 pthread_self F
 GLIBC_2.4 pthread_setcancelstate F
 GLIBC_2.4 pthread_setcanceltype F
diff --git a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
index 619ac6f5ef..b1d92ccb14 100644
--- a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
@@ -60,7 +60,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_rwlockattr_getkind_np F
 GLIBC_2.4 pthread_rwlockattr_getpshared F
 GLIBC_2.4 pthread_rwlockattr_init F
 GLIBC_2.4 pthread_rwlockattr_setkind_np F
diff --git a/sysdeps/unix/sysv/linux/arm/le/libc.abilist b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
index eb5a14c904..a48ea6c97a 100644
--- a/sysdeps/unix/sysv/linux/arm/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
@@ -213,6 +213,7 @@ GLIBC_2.34 pthread_rwlock_trywrlock F
 GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
 GLIBC_2.34 pthread_rwlockattr_destroy F
+GLIBC_2.34 pthread_rwlockattr_getkind_np F
 GLIBC_2.34 pthread_setspecific F
 GLIBC_2.34 pthread_spin_destroy F
 GLIBC_2.34 pthread_spin_init F
@@ -1666,6 +1667,7 @@ GLIBC_2.4 pthread_rwlock_trywrlock F
 GLIBC_2.4 pthread_rwlock_unlock F
 GLIBC_2.4 pthread_rwlock_wrlock F
 GLIBC_2.4 pthread_rwlockattr_destroy F
+GLIBC_2.4 pthread_rwlockattr_getkind_np F
 GLIBC_2.4 pthread_self F
 GLIBC_2.4 pthread_setcancelstate F
 GLIBC_2.4 pthread_setcanceltype F
diff --git a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
index 619ac6f5ef..b1d92ccb14 100644
--- a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
@@ -60,7 +60,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_rwlockattr_getkind_np F
 GLIBC_2.4 pthread_rwlockattr_getpshared F
 GLIBC_2.4 pthread_rwlockattr_init F
 GLIBC_2.4 pthread_rwlockattr_setkind_np F
diff --git a/sysdeps/unix/sysv/linux/csky/libc.abilist b/sysdeps/unix/sysv/linux/csky/libc.abilist
index b544f92eaf..b2f5ce7d52 100644
--- a/sysdeps/unix/sysv/linux/csky/libc.abilist
+++ b/sysdeps/unix/sysv/linux/csky/libc.abilist
@@ -1501,6 +1501,7 @@ GLIBC_2.29 pthread_rwlock_trywrlock F
 GLIBC_2.29 pthread_rwlock_unlock F
 GLIBC_2.29 pthread_rwlock_wrlock F
 GLIBC_2.29 pthread_rwlockattr_destroy F
+GLIBC_2.29 pthread_rwlockattr_getkind_np F
 GLIBC_2.29 pthread_self F
 GLIBC_2.29 pthread_setcancelstate F
 GLIBC_2.29 pthread_setcanceltype F
@@ -2246,6 +2247,7 @@ GLIBC_2.34 pthread_rwlock_trywrlock F
 GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
 GLIBC_2.34 pthread_rwlockattr_destroy F
+GLIBC_2.34 pthread_rwlockattr_getkind_np F
 GLIBC_2.34 pthread_setspecific F
 GLIBC_2.34 pthread_spin_destroy F
 GLIBC_2.34 pthread_spin_init F
diff --git a/sysdeps/unix/sysv/linux/csky/libpthread.abilist b/sysdeps/unix/sysv/linux/csky/libpthread.abilist
index 563594d37f..b05557e290 100644
--- a/sysdeps/unix/sysv/linux/csky/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/csky/libpthread.abilist
@@ -46,7 +46,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_rwlockattr_getkind_np F
 GLIBC_2.29 pthread_rwlockattr_getpshared F
 GLIBC_2.29 pthread_rwlockattr_init F
 GLIBC_2.29 pthread_rwlockattr_setkind_np F
diff --git a/sysdeps/unix/sysv/linux/hppa/libc.abilist b/sysdeps/unix/sysv/linux/hppa/libc.abilist
index 7fee07949d..c3c8d72bf3 100644
--- a/sysdeps/unix/sysv/linux/hppa/libc.abilist
+++ b/sysdeps/unix/sysv/linux/hppa/libc.abilist
@@ -1325,6 +1325,7 @@ GLIBC_2.2 pthread_rwlock_trywrlock F
 GLIBC_2.2 pthread_rwlock_unlock F
 GLIBC_2.2 pthread_rwlock_wrlock F
 GLIBC_2.2 pthread_rwlockattr_destroy F
+GLIBC_2.2 pthread_rwlockattr_getkind_np F
 GLIBC_2.2 pthread_self F
 GLIBC_2.2 pthread_setcancelstate F
 GLIBC_2.2 pthread_setcanceltype F
@@ -2197,6 +2198,7 @@ GLIBC_2.34 pthread_rwlock_trywrlock F
 GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
 GLIBC_2.34 pthread_rwlockattr_destroy F
+GLIBC_2.34 pthread_rwlockattr_getkind_np F
 GLIBC_2.34 pthread_setspecific F
 GLIBC_2.34 pthread_spin_destroy F
 GLIBC_2.34 pthread_spin_init F
diff --git a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
index 480a0db78c..84154ef796 100644
--- a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
@@ -30,7 +30,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_rwlockattr_getkind_np F
 GLIBC_2.2 pthread_rwlockattr_getpshared F
 GLIBC_2.2 pthread_rwlockattr_init F
 GLIBC_2.2 pthread_rwlockattr_setkind_np F
diff --git a/sysdeps/unix/sysv/linux/i386/libc.abilist b/sysdeps/unix/sysv/linux/i386/libc.abilist
index 7a6f4b1673..f3dd46694d 100644
--- a/sysdeps/unix/sysv/linux/i386/libc.abilist
+++ b/sysdeps/unix/sysv/linux/i386/libc.abilist
@@ -1582,6 +1582,7 @@ GLIBC_2.1 pthread_rwlock_trywrlock F
 GLIBC_2.1 pthread_rwlock_unlock F
 GLIBC_2.1 pthread_rwlock_wrlock F
 GLIBC_2.1 pthread_rwlockattr_destroy F
+GLIBC_2.1 pthread_rwlockattr_getkind_np F
 GLIBC_2.1 ptsname F
 GLIBC_2.1 ptsname_r F
 GLIBC_2.1 putgrent F
@@ -2374,6 +2375,7 @@ GLIBC_2.34 pthread_rwlock_trywrlock F
 GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
 GLIBC_2.34 pthread_rwlockattr_destroy F
+GLIBC_2.34 pthread_rwlockattr_getkind_np F
 GLIBC_2.34 pthread_setspecific F
 GLIBC_2.34 pthread_spin_destroy F
 GLIBC_2.34 pthread_spin_init F
diff --git a/sysdeps/unix/sysv/linux/i386/libpthread.abilist b/sysdeps/unix/sysv/linux/i386/libpthread.abilist
index f33d710837..a1b95e75e4 100644
--- a/sysdeps/unix/sysv/linux/i386/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/i386/libpthread.abilist
@@ -24,7 +24,6 @@ GLIBC_2.1 pthread_attr_setstackaddr F
 GLIBC_2.1 pthread_attr_setstacksize F
 GLIBC_2.1 pthread_create F
 GLIBC_2.1 pthread_getconcurrency F
-GLIBC_2.1 pthread_rwlockattr_getkind_np F
 GLIBC_2.1 pthread_rwlockattr_getpshared F
 GLIBC_2.1 pthread_rwlockattr_init F
 GLIBC_2.1 pthread_rwlockattr_setkind_np F
diff --git a/sysdeps/unix/sysv/linux/ia64/libc.abilist b/sysdeps/unix/sysv/linux/ia64/libc.abilist
index 6f31faf03c..72cd50c7ec 100644
--- a/sysdeps/unix/sysv/linux/ia64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/ia64/libc.abilist
@@ -1346,6 +1346,7 @@ GLIBC_2.2 pthread_rwlock_trywrlock F
 GLIBC_2.2 pthread_rwlock_unlock F
 GLIBC_2.2 pthread_rwlock_wrlock F
 GLIBC_2.2 pthread_rwlockattr_destroy F
+GLIBC_2.2 pthread_rwlockattr_getkind_np F
 GLIBC_2.2 pthread_self F
 GLIBC_2.2 pthread_setcancelstate F
 GLIBC_2.2 pthread_setcanceltype F
@@ -2231,6 +2232,7 @@ GLIBC_2.34 pthread_rwlock_trywrlock F
 GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
 GLIBC_2.34 pthread_rwlockattr_destroy F
+GLIBC_2.34 pthread_rwlockattr_getkind_np F
 GLIBC_2.34 pthread_setspecific F
 GLIBC_2.34 pthread_spin_destroy F
 GLIBC_2.34 pthread_spin_init F
diff --git a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
index 9d003c3a4b..8ede4b3f59 100644
--- a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
@@ -30,7 +30,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_rwlockattr_getkind_np F
 GLIBC_2.2 pthread_rwlockattr_getpshared F
 GLIBC_2.2 pthread_rwlockattr_init F
 GLIBC_2.2 pthread_rwlockattr_setkind_np F
diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
index e0ff4bd8b3..c00daf02c4 100644
--- a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
@@ -217,6 +217,7 @@ GLIBC_2.34 pthread_rwlock_trywrlock F
 GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
 GLIBC_2.34 pthread_rwlockattr_destroy F
+GLIBC_2.34 pthread_rwlockattr_getkind_np F
 GLIBC_2.34 pthread_setspecific F
 GLIBC_2.34 pthread_spin_destroy F
 GLIBC_2.34 pthread_spin_init F
@@ -1649,6 +1650,7 @@ GLIBC_2.4 pthread_rwlock_trywrlock F
 GLIBC_2.4 pthread_rwlock_unlock F
 GLIBC_2.4 pthread_rwlock_wrlock F
 GLIBC_2.4 pthread_rwlockattr_destroy F
+GLIBC_2.4 pthread_rwlockattr_getkind_np F
 GLIBC_2.4 pthread_self F
 GLIBC_2.4 pthread_setcancelstate F
 GLIBC_2.4 pthread_setcanceltype F
diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
index 619ac6f5ef..b1d92ccb14 100644
--- a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
@@ -60,7 +60,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_rwlockattr_getkind_np F
 GLIBC_2.4 pthread_rwlockattr_getpshared F
 GLIBC_2.4 pthread_rwlockattr_init F
 GLIBC_2.4 pthread_rwlockattr_setkind_np F
diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
index 16a4650d2d..833e56d670 100644
--- a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
@@ -1578,6 +1578,7 @@ GLIBC_2.1 pthread_rwlock_trywrlock F
 GLIBC_2.1 pthread_rwlock_unlock F
 GLIBC_2.1 pthread_rwlock_wrlock F
 GLIBC_2.1 pthread_rwlockattr_destroy F
+GLIBC_2.1 pthread_rwlockattr_getkind_np F
 GLIBC_2.1 ptsname F
 GLIBC_2.1 ptsname_r F
 GLIBC_2.1 putgrent F
@@ -2317,6 +2318,7 @@ GLIBC_2.34 pthread_rwlock_trywrlock F
 GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
 GLIBC_2.34 pthread_rwlockattr_destroy F
+GLIBC_2.34 pthread_rwlockattr_getkind_np F
 GLIBC_2.34 pthread_setspecific F
 GLIBC_2.34 pthread_spin_destroy F
 GLIBC_2.34 pthread_spin_init F
diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
index f33d710837..a1b95e75e4 100644
--- a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
@@ -24,7 +24,6 @@ GLIBC_2.1 pthread_attr_setstackaddr F
 GLIBC_2.1 pthread_attr_setstacksize F
 GLIBC_2.1 pthread_create F
 GLIBC_2.1 pthread_getconcurrency F
-GLIBC_2.1 pthread_rwlockattr_getkind_np F
 GLIBC_2.1 pthread_rwlockattr_getpshared F
 GLIBC_2.1 pthread_rwlockattr_init F
 GLIBC_2.1 pthread_rwlockattr_setkind_np F
diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
index a20737e513..c9a070f967 100644
--- a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
@@ -1516,6 +1516,7 @@ GLIBC_2.18 pthread_rwlock_trywrlock F
 GLIBC_2.18 pthread_rwlock_unlock F
 GLIBC_2.18 pthread_rwlock_wrlock F
 GLIBC_2.18 pthread_rwlockattr_destroy F
+GLIBC_2.18 pthread_rwlockattr_getkind_np F
 GLIBC_2.18 pthread_self F
 GLIBC_2.18 pthread_setcancelstate F
 GLIBC_2.18 pthread_setcanceltype F
@@ -2297,6 +2298,7 @@ GLIBC_2.34 pthread_rwlock_trywrlock F
 GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
 GLIBC_2.34 pthread_rwlockattr_destroy F
+GLIBC_2.34 pthread_rwlockattr_getkind_np F
 GLIBC_2.34 pthread_setspecific F
 GLIBC_2.34 pthread_spin_destroy F
 GLIBC_2.34 pthread_spin_init F
diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
index 72a5377377..ef826e17b3 100644
--- a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
@@ -33,7 +33,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_rwlockattr_getkind_np F
 GLIBC_2.18 pthread_rwlockattr_getpshared F
 GLIBC_2.18 pthread_rwlockattr_init F
 GLIBC_2.18 pthread_rwlockattr_setkind_np F
diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
index f9feb17895..3ea9d59892 100644
--- a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
@@ -1516,6 +1516,7 @@ GLIBC_2.18 pthread_rwlock_trywrlock F
 GLIBC_2.18 pthread_rwlock_unlock F
 GLIBC_2.18 pthread_rwlock_wrlock F
 GLIBC_2.18 pthread_rwlockattr_destroy F
+GLIBC_2.18 pthread_rwlockattr_getkind_np F
 GLIBC_2.18 pthread_self F
 GLIBC_2.18 pthread_setcancelstate F
 GLIBC_2.18 pthread_setcanceltype F
@@ -2294,6 +2295,7 @@ GLIBC_2.34 pthread_rwlock_trywrlock F
 GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
 GLIBC_2.34 pthread_rwlockattr_destroy F
+GLIBC_2.34 pthread_rwlockattr_getkind_np F
 GLIBC_2.34 pthread_setspecific F
 GLIBC_2.34 pthread_spin_destroy F
 GLIBC_2.34 pthread_spin_init F
diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
index 72a5377377..ef826e17b3 100644
--- a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
@@ -33,7 +33,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_rwlockattr_getkind_np F
 GLIBC_2.18 pthread_rwlockattr_getpshared F
 GLIBC_2.18 pthread_rwlockattr_init F
 GLIBC_2.18 pthread_rwlockattr_setkind_np F
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
index e0c3fdf71f..f831cebc4a 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
@@ -1855,6 +1855,7 @@ GLIBC_2.2 pthread_rwlock_trywrlock F
 GLIBC_2.2 pthread_rwlock_unlock F
 GLIBC_2.2 pthread_rwlock_wrlock F
 GLIBC_2.2 pthread_rwlockattr_destroy F
+GLIBC_2.2 pthread_rwlockattr_getkind_np F
 GLIBC_2.2 pthread_spin_destroy F
 GLIBC_2.2 pthread_spin_init F
 GLIBC_2.2 pthread_spin_lock F
@@ -2280,6 +2281,7 @@ GLIBC_2.34 pthread_rwlock_trywrlock F
 GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
 GLIBC_2.34 pthread_rwlockattr_destroy F
+GLIBC_2.34 pthread_rwlockattr_getkind_np F
 GLIBC_2.34 pthread_setspecific F
 GLIBC_2.34 pthread_spin_destroy F
 GLIBC_2.34 pthread_spin_init F
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
index d3e3ec6e1d..2bcaf1bc61 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
@@ -38,7 +38,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_rwlockattr_getkind_np F
 GLIBC_2.2 pthread_rwlockattr_getpshared F
 GLIBC_2.2 pthread_rwlockattr_init F
 GLIBC_2.2 pthread_rwlockattr_setkind_np F
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
index 624e34a5ab..038cad09d9 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
@@ -1853,6 +1853,7 @@ GLIBC_2.2 pthread_rwlock_trywrlock F
 GLIBC_2.2 pthread_rwlock_unlock F
 GLIBC_2.2 pthread_rwlock_wrlock F
 GLIBC_2.2 pthread_rwlockattr_destroy F
+GLIBC_2.2 pthread_rwlockattr_getkind_np F
 GLIBC_2.2 pthread_spin_destroy F
 GLIBC_2.2 pthread_spin_init F
 GLIBC_2.2 pthread_spin_lock F
@@ -2278,6 +2279,7 @@ GLIBC_2.34 pthread_rwlock_trywrlock F
 GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
 GLIBC_2.34 pthread_rwlockattr_destroy F
+GLIBC_2.34 pthread_rwlockattr_getkind_np F
 GLIBC_2.34 pthread_setspecific F
 GLIBC_2.34 pthread_spin_destroy F
 GLIBC_2.34 pthread_spin_init F
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
index d3e3ec6e1d..2bcaf1bc61 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
@@ -38,7 +38,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_rwlockattr_getkind_np F
 GLIBC_2.2 pthread_rwlockattr_getpshared F
 GLIBC_2.2 pthread_rwlockattr_init F
 GLIBC_2.2 pthread_rwlockattr_setkind_np F
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
index b83ad2db71..2c92a0fe8e 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
@@ -1853,6 +1853,7 @@ GLIBC_2.2 pthread_rwlock_trywrlock F
 GLIBC_2.2 pthread_rwlock_unlock F
 GLIBC_2.2 pthread_rwlock_wrlock F
 GLIBC_2.2 pthread_rwlockattr_destroy F
+GLIBC_2.2 pthread_rwlockattr_getkind_np F
 GLIBC_2.2 pthread_spin_destroy F
 GLIBC_2.2 pthread_spin_init F
 GLIBC_2.2 pthread_spin_lock F
@@ -2286,6 +2287,7 @@ GLIBC_2.34 pthread_rwlock_trywrlock F
 GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
 GLIBC_2.34 pthread_rwlockattr_destroy F
+GLIBC_2.34 pthread_rwlockattr_getkind_np F
 GLIBC_2.34 pthread_setspecific F
 GLIBC_2.34 pthread_spin_destroy F
 GLIBC_2.34 pthread_spin_init F
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
index f590d7fc2a..e71a468aa6 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
@@ -1849,6 +1849,7 @@ GLIBC_2.2 pthread_rwlock_trywrlock F
 GLIBC_2.2 pthread_rwlock_unlock F
 GLIBC_2.2 pthread_rwlock_wrlock F
 GLIBC_2.2 pthread_rwlockattr_destroy F
+GLIBC_2.2 pthread_rwlockattr_getkind_np F
 GLIBC_2.2 pthread_spin_destroy F
 GLIBC_2.2 pthread_spin_init F
 GLIBC_2.2 pthread_spin_lock F
@@ -2280,6 +2281,7 @@ GLIBC_2.34 pthread_rwlock_trywrlock F
 GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
 GLIBC_2.34 pthread_rwlockattr_destroy F
+GLIBC_2.34 pthread_rwlockattr_getkind_np F
 GLIBC_2.34 pthread_setspecific F
 GLIBC_2.34 pthread_spin_destroy F
 GLIBC_2.34 pthread_spin_init F
diff --git a/sysdeps/unix/sysv/linux/nios2/libc.abilist b/sysdeps/unix/sysv/linux/nios2/libc.abilist
index c63bc2c760..bbc6f578fc 100644
--- a/sysdeps/unix/sysv/linux/nios2/libc.abilist
+++ b/sysdeps/unix/sysv/linux/nios2/libc.abilist
@@ -1559,6 +1559,7 @@ GLIBC_2.21 pthread_rwlock_trywrlock F
 GLIBC_2.21 pthread_rwlock_unlock F
 GLIBC_2.21 pthread_rwlock_wrlock F
 GLIBC_2.21 pthread_rwlockattr_destroy F
+GLIBC_2.21 pthread_rwlockattr_getkind_np F
 GLIBC_2.21 pthread_self F
 GLIBC_2.21 pthread_setcancelstate F
 GLIBC_2.21 pthread_setcanceltype F
@@ -2336,6 +2337,7 @@ GLIBC_2.34 pthread_rwlock_trywrlock F
 GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
 GLIBC_2.34 pthread_rwlockattr_destroy F
+GLIBC_2.34 pthread_rwlockattr_getkind_np F
 GLIBC_2.34 pthread_setspecific F
 GLIBC_2.34 pthread_spin_destroy F
 GLIBC_2.34 pthread_spin_init F
diff --git a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
index 00e19b085d..27344b0e1d 100644
--- a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
@@ -33,7 +33,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_rwlockattr_getkind_np F
 GLIBC_2.21 pthread_rwlockattr_getpshared F
 GLIBC_2.21 pthread_rwlockattr_init F
 GLIBC_2.21 pthread_rwlockattr_setkind_np F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
index 433bdf49cc..4c58fc3981 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
@@ -1586,6 +1586,7 @@ GLIBC_2.1 pthread_rwlock_trywrlock F
 GLIBC_2.1 pthread_rwlock_unlock F
 GLIBC_2.1 pthread_rwlock_wrlock F
 GLIBC_2.1 pthread_rwlockattr_destroy F
+GLIBC_2.1 pthread_rwlockattr_getkind_np F
 GLIBC_2.1 ptsname F
 GLIBC_2.1 ptsname_r F
 GLIBC_2.1 putgrent F
@@ -2344,6 +2345,7 @@ GLIBC_2.34 pthread_rwlock_trywrlock F
 GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
 GLIBC_2.34 pthread_rwlockattr_destroy F
+GLIBC_2.34 pthread_rwlockattr_getkind_np F
 GLIBC_2.34 pthread_setspecific F
 GLIBC_2.34 pthread_spin_destroy F
 GLIBC_2.34 pthread_spin_init F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
index 0deffd98ab..73b5f25b96 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
@@ -24,7 +24,6 @@ GLIBC_2.1 pthread_attr_setstackaddr F
 GLIBC_2.1 pthread_attr_setstacksize F
 GLIBC_2.1 pthread_create F
 GLIBC_2.1 pthread_getconcurrency F
-GLIBC_2.1 pthread_rwlockattr_getkind_np F
 GLIBC_2.1 pthread_rwlockattr_getpshared F
 GLIBC_2.1 pthread_rwlockattr_init F
 GLIBC_2.1 pthread_rwlockattr_setkind_np F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
index 2f59667873..5209786002 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
@@ -1586,6 +1586,7 @@ GLIBC_2.1 pthread_rwlock_trywrlock F
 GLIBC_2.1 pthread_rwlock_unlock F
 GLIBC_2.1 pthread_rwlock_wrlock F
 GLIBC_2.1 pthread_rwlockattr_destroy F
+GLIBC_2.1 pthread_rwlockattr_getkind_np F
 GLIBC_2.1 ptsname F
 GLIBC_2.1 ptsname_r F
 GLIBC_2.1 putgrent F
@@ -2377,6 +2378,7 @@ GLIBC_2.34 pthread_rwlock_trywrlock F
 GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
 GLIBC_2.34 pthread_rwlockattr_destroy F
+GLIBC_2.34 pthread_rwlockattr_getkind_np F
 GLIBC_2.34 pthread_setspecific F
 GLIBC_2.34 pthread_spin_destroy F
 GLIBC_2.34 pthread_spin_init F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
index 424ca2b972..4d43ea86b8 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
@@ -1431,6 +1431,7 @@ GLIBC_2.3 pthread_rwlock_trywrlock F
 GLIBC_2.3 pthread_rwlock_unlock F
 GLIBC_2.3 pthread_rwlock_wrlock F
 GLIBC_2.3 pthread_rwlockattr_destroy F
+GLIBC_2.3 pthread_rwlockattr_getkind_np F
 GLIBC_2.3 pthread_self F
 GLIBC_2.3 pthread_setcancelstate F
 GLIBC_2.3 pthread_setcanceltype F
@@ -2198,6 +2199,7 @@ GLIBC_2.34 pthread_rwlock_trywrlock F
 GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
 GLIBC_2.34 pthread_rwlockattr_destroy F
+GLIBC_2.34 pthread_rwlockattr_getkind_np F
 GLIBC_2.34 pthread_setspecific F
 GLIBC_2.34 pthread_spin_destroy F
 GLIBC_2.34 pthread_spin_init F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
index 094ab23990..1f07235c43 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
@@ -51,7 +51,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_rwlockattr_getkind_np F
 GLIBC_2.3 pthread_rwlockattr_getpshared F
 GLIBC_2.3 pthread_rwlockattr_init F
 GLIBC_2.3 pthread_rwlockattr_setkind_np F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
index 872f36ff24..9d9dd2992f 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
@@ -1602,6 +1602,7 @@ GLIBC_2.17 pthread_rwlock_trywrlock F
 GLIBC_2.17 pthread_rwlock_unlock F
 GLIBC_2.17 pthread_rwlock_wrlock F
 GLIBC_2.17 pthread_rwlockattr_destroy F
+GLIBC_2.17 pthread_rwlockattr_getkind_np F
 GLIBC_2.17 pthread_self F
 GLIBC_2.17 pthread_setcancelstate F
 GLIBC_2.17 pthread_setcanceltype F
@@ -2499,6 +2500,7 @@ GLIBC_2.34 pthread_rwlock_trywrlock F
 GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
 GLIBC_2.34 pthread_rwlockattr_destroy F
+GLIBC_2.34 pthread_rwlockattr_getkind_np F
 GLIBC_2.34 pthread_setspecific F
 GLIBC_2.34 pthread_spin_destroy F
 GLIBC_2.34 pthread_spin_init F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
index 1415f4c40f..7c1aa12896 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
@@ -32,7 +32,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_rwlockattr_getkind_np F
 GLIBC_2.17 pthread_rwlockattr_getpshared F
 GLIBC_2.17 pthread_rwlockattr_init F
 GLIBC_2.17 pthread_rwlockattr_setkind_np F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
index 38395e4caa..559e0f8c6c 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
@@ -1446,6 +1446,7 @@ GLIBC_2.33 pthread_rwlock_trywrlock F
 GLIBC_2.33 pthread_rwlock_unlock F
 GLIBC_2.33 pthread_rwlock_wrlock F
 GLIBC_2.33 pthread_rwlockattr_destroy F
+GLIBC_2.33 pthread_rwlockattr_getkind_np F
 GLIBC_2.33 pthread_self F
 GLIBC_2.33 pthread_setcancelstate F
 GLIBC_2.33 pthread_setcanceltype F
@@ -2064,6 +2065,7 @@ GLIBC_2.34 pthread_rwlock_trywrlock F
 GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
 GLIBC_2.34 pthread_rwlockattr_destroy F
+GLIBC_2.34 pthread_rwlockattr_getkind_np F
 GLIBC_2.34 pthread_setspecific F
 GLIBC_2.34 pthread_spin_destroy F
 GLIBC_2.34 pthread_spin_init F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
index 28e5a34117..e34c755922 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
@@ -47,7 +47,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_rwlockattr_getkind_np F
 GLIBC_2.33 pthread_rwlockattr_getpshared F
 GLIBC_2.33 pthread_rwlockattr_init F
 GLIBC_2.33 pthread_rwlockattr_setkind_np F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
index ec46479c11..df48f0831b 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
@@ -1504,6 +1504,7 @@ GLIBC_2.27 pthread_rwlock_trywrlock F
 GLIBC_2.27 pthread_rwlock_unlock F
 GLIBC_2.27 pthread_rwlock_wrlock F
 GLIBC_2.27 pthread_rwlockattr_destroy F
+GLIBC_2.27 pthread_rwlockattr_getkind_np F
 GLIBC_2.27 pthread_self F
 GLIBC_2.27 pthread_setcancelstate F
 GLIBC_2.27 pthread_setcanceltype F
@@ -2264,6 +2265,7 @@ GLIBC_2.34 pthread_rwlock_trywrlock F
 GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
 GLIBC_2.34 pthread_rwlockattr_destroy F
+GLIBC_2.34 pthread_rwlockattr_getkind_np F
 GLIBC_2.34 pthread_setspecific F
 GLIBC_2.34 pthread_spin_destroy F
 GLIBC_2.34 pthread_spin_init F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
index 622f6c3156..e64db22a41 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
@@ -33,7 +33,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_rwlockattr_getkind_np F
 GLIBC_2.27 pthread_rwlockattr_getpshared F
 GLIBC_2.27 pthread_rwlockattr_init F
 GLIBC_2.27 pthread_rwlockattr_setkind_np F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
index 4a070a45d4..84cbdd978e 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
@@ -1578,6 +1578,7 @@ GLIBC_2.1 pthread_rwlock_trywrlock F
 GLIBC_2.1 pthread_rwlock_unlock F
 GLIBC_2.1 pthread_rwlock_wrlock F
 GLIBC_2.1 pthread_rwlockattr_destroy F
+GLIBC_2.1 pthread_rwlockattr_getkind_np F
 GLIBC_2.1 ptsname F
 GLIBC_2.1 ptsname_r F
 GLIBC_2.1 putgrent F
@@ -2342,6 +2343,7 @@ GLIBC_2.34 pthread_rwlock_trywrlock F
 GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
 GLIBC_2.34 pthread_rwlockattr_destroy F
+GLIBC_2.34 pthread_rwlockattr_getkind_np F
 GLIBC_2.34 pthread_setspecific F
 GLIBC_2.34 pthread_spin_destroy F
 GLIBC_2.34 pthread_spin_init F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
index 1cd03a263e..a2b97cf168 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
@@ -24,7 +24,6 @@ GLIBC_2.1 pthread_attr_setstackaddr F
 GLIBC_2.1 pthread_attr_setstacksize F
 GLIBC_2.1 pthread_create F
 GLIBC_2.1 pthread_getconcurrency F
-GLIBC_2.1 pthread_rwlockattr_getkind_np F
 GLIBC_2.1 pthread_rwlockattr_getpshared F
 GLIBC_2.1 pthread_rwlockattr_init F
 GLIBC_2.1 pthread_rwlockattr_setkind_np F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
index bd8ed93bc5..6ff4976362 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
@@ -1343,6 +1343,7 @@ GLIBC_2.2 pthread_rwlock_trywrlock F
 GLIBC_2.2 pthread_rwlock_unlock F
 GLIBC_2.2 pthread_rwlock_wrlock F
 GLIBC_2.2 pthread_rwlockattr_destroy F
+GLIBC_2.2 pthread_rwlockattr_getkind_np F
 GLIBC_2.2 pthread_self F
 GLIBC_2.2 pthread_setcancelstate F
 GLIBC_2.2 pthread_setcanceltype F
@@ -2235,6 +2236,7 @@ GLIBC_2.34 pthread_rwlock_trywrlock F
 GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
 GLIBC_2.34 pthread_rwlockattr_destroy F
+GLIBC_2.34 pthread_rwlockattr_getkind_np F
 GLIBC_2.34 pthread_setspecific F
 GLIBC_2.34 pthread_spin_destroy F
 GLIBC_2.34 pthread_spin_init F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
index e567c3fa1b..3f56ea109e 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
@@ -31,7 +31,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_rwlockattr_getkind_np F
 GLIBC_2.2 pthread_rwlockattr_getpshared F
 GLIBC_2.2 pthread_rwlockattr_init F
 GLIBC_2.2 pthread_rwlockattr_setkind_np F
diff --git a/sysdeps/unix/sysv/linux/sh/be/libc.abilist b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
index 1eb744b8d6..919634c280 100644
--- a/sysdeps/unix/sysv/linux/sh/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
@@ -1329,6 +1329,7 @@ GLIBC_2.2 pthread_rwlock_trywrlock F
 GLIBC_2.2 pthread_rwlock_unlock F
 GLIBC_2.2 pthread_rwlock_wrlock F
 GLIBC_2.2 pthread_rwlockattr_destroy F
+GLIBC_2.2 pthread_rwlockattr_getkind_np F
 GLIBC_2.2 pthread_self F
 GLIBC_2.2 pthread_setcancelstate F
 GLIBC_2.2 pthread_setcanceltype F
@@ -2204,6 +2205,7 @@ GLIBC_2.34 pthread_rwlock_trywrlock F
 GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
 GLIBC_2.34 pthread_rwlockattr_destroy F
+GLIBC_2.34 pthread_rwlockattr_getkind_np F
 GLIBC_2.34 pthread_setspecific F
 GLIBC_2.34 pthread_spin_destroy F
 GLIBC_2.34 pthread_spin_init F
diff --git a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
index 480a0db78c..84154ef796 100644
--- a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
@@ -30,7 +30,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_rwlockattr_getkind_np F
 GLIBC_2.2 pthread_rwlockattr_getpshared F
 GLIBC_2.2 pthread_rwlockattr_init F
 GLIBC_2.2 pthread_rwlockattr_setkind_np F
diff --git a/sysdeps/unix/sysv/linux/sh/le/libc.abilist b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
index a53cfbfcf0..4cd67df38b 100644
--- a/sysdeps/unix/sysv/linux/sh/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
@@ -1329,6 +1329,7 @@ GLIBC_2.2 pthread_rwlock_trywrlock F
 GLIBC_2.2 pthread_rwlock_unlock F
 GLIBC_2.2 pthread_rwlock_wrlock F
 GLIBC_2.2 pthread_rwlockattr_destroy F
+GLIBC_2.2 pthread_rwlockattr_getkind_np F
 GLIBC_2.2 pthread_self F
 GLIBC_2.2 pthread_setcancelstate F
 GLIBC_2.2 pthread_setcanceltype F
@@ -2201,6 +2202,7 @@ GLIBC_2.34 pthread_rwlock_trywrlock F
 GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
 GLIBC_2.34 pthread_rwlockattr_destroy F
+GLIBC_2.34 pthread_rwlockattr_getkind_np F
 GLIBC_2.34 pthread_setspecific F
 GLIBC_2.34 pthread_spin_destroy F
 GLIBC_2.34 pthread_spin_init F
diff --git a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
index 480a0db78c..84154ef796 100644
--- a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
@@ -30,7 +30,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_rwlockattr_getkind_np F
 GLIBC_2.2 pthread_rwlockattr_getpshared F
 GLIBC_2.2 pthread_rwlockattr_init F
 GLIBC_2.2 pthread_rwlockattr_setkind_np F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
index 701a606375..361ed1ac06 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
@@ -1579,6 +1579,7 @@ GLIBC_2.1 pthread_rwlock_trywrlock F
 GLIBC_2.1 pthread_rwlock_unlock F
 GLIBC_2.1 pthread_rwlock_wrlock F
 GLIBC_2.1 pthread_rwlockattr_destroy F
+GLIBC_2.1 pthread_rwlockattr_getkind_np F
 GLIBC_2.1 ptsname F
 GLIBC_2.1 ptsname_r F
 GLIBC_2.1 putgrent F
@@ -2333,6 +2334,7 @@ GLIBC_2.34 pthread_rwlock_trywrlock F
 GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
 GLIBC_2.34 pthread_rwlockattr_destroy F
+GLIBC_2.34 pthread_rwlockattr_getkind_np F
 GLIBC_2.34 pthread_setspecific F
 GLIBC_2.34 pthread_spin_destroy F
 GLIBC_2.34 pthread_spin_init F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
index 8cd2286856..64316f12de 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
@@ -24,7 +24,6 @@ GLIBC_2.1 pthread_attr_setstackaddr F
 GLIBC_2.1 pthread_attr_setstacksize F
 GLIBC_2.1 pthread_create F
 GLIBC_2.1 pthread_getconcurrency F
-GLIBC_2.1 pthread_rwlockattr_getkind_np F
 GLIBC_2.1 pthread_rwlockattr_getpshared F
 GLIBC_2.1 pthread_rwlockattr_init F
 GLIBC_2.1 pthread_rwlockattr_setkind_np F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
index d31f26fda2..ce8218eb4f 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
@@ -1372,6 +1372,7 @@ GLIBC_2.2 pthread_rwlock_trywrlock F
 GLIBC_2.2 pthread_rwlock_unlock F
 GLIBC_2.2 pthread_rwlock_wrlock F
 GLIBC_2.2 pthread_rwlockattr_destroy F
+GLIBC_2.2 pthread_rwlockattr_getkind_np F
 GLIBC_2.2 pthread_self F
 GLIBC_2.2 pthread_setcancelstate F
 GLIBC_2.2 pthread_setcanceltype F
@@ -2252,6 +2253,7 @@ GLIBC_2.34 pthread_rwlock_trywrlock F
 GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
 GLIBC_2.34 pthread_rwlockattr_destroy F
+GLIBC_2.34 pthread_rwlockattr_getkind_np F
 GLIBC_2.34 pthread_setspecific F
 GLIBC_2.34 pthread_spin_destroy F
 GLIBC_2.34 pthread_spin_init F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
index 9d003c3a4b..8ede4b3f59 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
@@ -30,7 +30,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_rwlockattr_getkind_np F
 GLIBC_2.2 pthread_rwlockattr_getpshared F
 GLIBC_2.2 pthread_rwlockattr_init F
 GLIBC_2.2 pthread_rwlockattr_setkind_np F
diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
index c09f8b6c71..851be23314 100644
--- a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
@@ -1340,6 +1340,7 @@ GLIBC_2.2.5 pthread_rwlock_trywrlock F
 GLIBC_2.2.5 pthread_rwlock_unlock F
 GLIBC_2.2.5 pthread_rwlock_wrlock F
 GLIBC_2.2.5 pthread_rwlockattr_destroy F
+GLIBC_2.2.5 pthread_rwlockattr_getkind_np F
 GLIBC_2.2.5 pthread_self F
 GLIBC_2.2.5 pthread_setcancelstate F
 GLIBC_2.2.5 pthread_setcanceltype F
@@ -2213,6 +2214,7 @@ GLIBC_2.34 pthread_rwlock_trywrlock F
 GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
 GLIBC_2.34 pthread_rwlockattr_destroy F
+GLIBC_2.34 pthread_rwlockattr_getkind_np F
 GLIBC_2.34 pthread_setspecific F
 GLIBC_2.34 pthread_spin_destroy F
 GLIBC_2.34 pthread_spin_init F
diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
index 4a16b3a6af..22f4fbaee9 100644
--- a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
@@ -30,7 +30,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_rwlockattr_getkind_np F
 GLIBC_2.2.5 pthread_rwlockattr_getpshared F
 GLIBC_2.2.5 pthread_rwlockattr_init F
 GLIBC_2.2.5 pthread_rwlockattr_setkind_np F
diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
index 016d8df8bd..17d4a83993 100644
--- a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
@@ -1521,6 +1521,7 @@ GLIBC_2.16 pthread_rwlock_trywrlock F
 GLIBC_2.16 pthread_rwlock_unlock F
 GLIBC_2.16 pthread_rwlock_wrlock F
 GLIBC_2.16 pthread_rwlockattr_destroy F
+GLIBC_2.16 pthread_rwlockattr_getkind_np F
 GLIBC_2.16 pthread_self F
 GLIBC_2.16 pthread_setcancelstate F
 GLIBC_2.16 pthread_setcanceltype F
@@ -2318,6 +2319,7 @@ GLIBC_2.34 pthread_rwlock_trywrlock F
 GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
 GLIBC_2.34 pthread_rwlockattr_destroy F
+GLIBC_2.34 pthread_rwlockattr_getkind_np F
 GLIBC_2.34 pthread_setspecific F
 GLIBC_2.34 pthread_spin_destroy F
 GLIBC_2.34 pthread_spin_init F
diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
index d82d85438a..8e40a92e20 100644
--- a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
@@ -32,7 +32,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_rwlockattr_getkind_np F
 GLIBC_2.16 pthread_rwlockattr_getpshared F
 GLIBC_2.16 pthread_rwlockattr_init F
 GLIBC_2.16 pthread_rwlockattr_setkind_np F
-- 
2.30.2



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

* [PATCH 11/14] nptl: Move pthread_rwlockattr_getpshared into libc
  2021-04-23 17:36 [PATCH 00/14] nptl: Move remaining rwlock functions into libc Florian Weimer via Libc-alpha
                   ` (9 preceding siblings ...)
  2021-04-23 17:37 ` [PATCH 10/14] nptl: Move pthread_rwlockattr_getkind_np " Florian Weimer via Libc-alpha
@ 2021-04-23 17:38 ` Florian Weimer via Libc-alpha
  2021-05-02 19:39   ` Carlos O'Donell via Libc-alpha
  2021-04-23 17:38 ` [PATCH 12/14] nptl: Move pthread_rwlockattr_init " Florian Weimer via Libc-alpha
                   ` (3 subsequent siblings)
  14 siblings, 1 reply; 30+ messages in thread
From: Florian Weimer via Libc-alpha @ 2021-04-23 17:38 UTC (permalink / raw)
  To: libc-alpha

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

diff --git a/nptl/Makefile b/nptl/Makefile
index 86cd7da0f9..f60107d0cd 100644
--- a/nptl/Makefile
+++ b/nptl/Makefile
@@ -133,6 +133,7 @@ routines = \
   pthread_rwlock_wrlock \
   pthread_rwlockattr_destroy \
   pthread_rwlockattr_getkind_np \
+  pthread_rwlockattr_getpshared \
   pthread_self \
   pthread_setcancelstate \
   pthread_setcanceltype \
@@ -188,7 +189,6 @@ libpthread-routines = \
   pthread_getname \
   pthread_join \
   pthread_join_common \
-  pthread_rwlockattr_getpshared \
   pthread_rwlockattr_init \
   pthread_rwlockattr_setkind_np \
   pthread_rwlockattr_setpshared \
diff --git a/nptl/Versions b/nptl/Versions
index 01f7d590a9..f6db087610 100644
--- a/nptl/Versions
+++ b/nptl/Versions
@@ -75,6 +75,7 @@ libc {
     pthread_rwlock_wrlock;
     pthread_rwlockattr_destroy;
     pthread_rwlockattr_getkind_np;
+    pthread_rwlockattr_getpshared;
   }
   GLIBC_2.2 {
     __pthread_rwlock_destroy;
@@ -206,6 +207,7 @@ libc {
     pthread_rwlock_wrlock;
     pthread_rwlockattr_destroy;
     pthread_rwlockattr_getkind_np;
+    pthread_rwlockattr_getpshared;
     pthread_setspecific;
     pthread_spin_destroy;
     pthread_spin_init;
@@ -296,7 +298,6 @@ libpthread {
     pthread_attr_setstacksize;
     pthread_create;
     pthread_getconcurrency;
-    pthread_rwlockattr_getpshared;
     pthread_rwlockattr_init;
     pthread_rwlockattr_setkind_np;
     pthread_rwlockattr_setpshared;
diff --git a/nptl/pthread_rwlockattr_getpshared.c b/nptl/pthread_rwlockattr_getpshared.c
index bf62eeec94..3e126e720e 100644
--- a/nptl/pthread_rwlockattr_getpshared.c
+++ b/nptl/pthread_rwlockattr_getpshared.c
@@ -17,12 +17,20 @@
    <https://www.gnu.org/licenses/>.  */
 
 #include "pthreadP.h"
-
+#include <shlib-compat.h>
 
 int
-pthread_rwlockattr_getpshared (const pthread_rwlockattr_t *attr, int *pshared)
+__pthread_rwlockattr_getpshared (const pthread_rwlockattr_t *attr,
+                                  int *pshared)
 {
   *pshared = ((const struct pthread_rwlockattr *) attr)->pshared;
 
   return 0;
 }
+versioned_symbol (libc, __pthread_rwlockattr_getpshared,
+                  pthread_rwlockattr_getpshared, GLIBC_2_34);
+
+#if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_1, GLIBC_2_34)
+compat_symbol (libpthread, __pthread_rwlockattr_getpshared,
+               pthread_rwlockattr_getpshared, GLIBC_2_1);
+#endif
diff --git a/sysdeps/unix/sysv/linux/aarch64/libc.abilist b/sysdeps/unix/sysv/linux/aarch64/libc.abilist
index b709cc514e..bf4a51615b 100644
--- a/sysdeps/unix/sysv/linux/aarch64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/aarch64/libc.abilist
@@ -1515,6 +1515,7 @@ GLIBC_2.17 pthread_rwlock_unlock F
 GLIBC_2.17 pthread_rwlock_wrlock F
 GLIBC_2.17 pthread_rwlockattr_destroy F
 GLIBC_2.17 pthread_rwlockattr_getkind_np F
+GLIBC_2.17 pthread_rwlockattr_getpshared F
 GLIBC_2.17 pthread_self F
 GLIBC_2.17 pthread_setcancelstate F
 GLIBC_2.17 pthread_setcanceltype F
@@ -2305,6 +2306,7 @@ GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
 GLIBC_2.34 pthread_rwlockattr_destroy F
 GLIBC_2.34 pthread_rwlockattr_getkind_np F
+GLIBC_2.34 pthread_rwlockattr_getpshared F
 GLIBC_2.34 pthread_setspecific F
 GLIBC_2.34 pthread_spin_destroy F
 GLIBC_2.34 pthread_spin_init F
diff --git a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
index 7c1aa12896..bdf0f22f05 100644
--- a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
@@ -32,7 +32,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_rwlockattr_getpshared F
 GLIBC_2.17 pthread_rwlockattr_init F
 GLIBC_2.17 pthread_rwlockattr_setkind_np F
 GLIBC_2.17 pthread_rwlockattr_setpshared F
diff --git a/sysdeps/unix/sysv/linux/alpha/libc.abilist b/sysdeps/unix/sysv/linux/alpha/libc.abilist
index 7f6083a1d6..ed98ffcf83 100644
--- a/sysdeps/unix/sysv/linux/alpha/libc.abilist
+++ b/sysdeps/unix/sysv/linux/alpha/libc.abilist
@@ -1615,6 +1615,7 @@ GLIBC_2.1 pthread_rwlock_unlock F
 GLIBC_2.1 pthread_rwlock_wrlock F
 GLIBC_2.1 pthread_rwlockattr_destroy F
 GLIBC_2.1 pthread_rwlockattr_getkind_np F
+GLIBC_2.1 pthread_rwlockattr_getpshared F
 GLIBC_2.1 ptsname F
 GLIBC_2.1 ptsname_r F
 GLIBC_2.1 putgrent F
@@ -2386,6 +2387,7 @@ GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
 GLIBC_2.34 pthread_rwlockattr_destroy F
 GLIBC_2.34 pthread_rwlockattr_getkind_np F
+GLIBC_2.34 pthread_rwlockattr_getpshared F
 GLIBC_2.34 pthread_setspecific F
 GLIBC_2.34 pthread_spin_destroy F
 GLIBC_2.34 pthread_spin_init F
diff --git a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
index 64316f12de..14fdab028b 100644
--- a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
@@ -24,7 +24,6 @@ GLIBC_2.1 pthread_attr_setstackaddr F
 GLIBC_2.1 pthread_attr_setstacksize F
 GLIBC_2.1 pthread_create F
 GLIBC_2.1 pthread_getconcurrency F
-GLIBC_2.1 pthread_rwlockattr_getpshared F
 GLIBC_2.1 pthread_rwlockattr_init F
 GLIBC_2.1 pthread_rwlockattr_setkind_np F
 GLIBC_2.1 pthread_rwlockattr_setpshared F
diff --git a/sysdeps/unix/sysv/linux/arc/libc.abilist b/sysdeps/unix/sysv/linux/arc/libc.abilist
index b07db49baa..36dbc8e9a8 100644
--- a/sysdeps/unix/sysv/linux/arc/libc.abilist
+++ b/sysdeps/unix/sysv/linux/arc/libc.abilist
@@ -1445,6 +1445,7 @@ GLIBC_2.32 pthread_rwlock_unlock F
 GLIBC_2.32 pthread_rwlock_wrlock F
 GLIBC_2.32 pthread_rwlockattr_destroy F
 GLIBC_2.32 pthread_rwlockattr_getkind_np F
+GLIBC_2.32 pthread_rwlockattr_getpshared F
 GLIBC_2.32 pthread_self F
 GLIBC_2.32 pthread_setcancelstate F
 GLIBC_2.32 pthread_setcanceltype F
@@ -2064,6 +2065,7 @@ GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
 GLIBC_2.34 pthread_rwlockattr_destroy F
 GLIBC_2.34 pthread_rwlockattr_getkind_np F
+GLIBC_2.34 pthread_rwlockattr_getpshared F
 GLIBC_2.34 pthread_setspecific F
 GLIBC_2.34 pthread_spin_destroy F
 GLIBC_2.34 pthread_spin_init F
diff --git a/sysdeps/unix/sysv/linux/arc/libpthread.abilist b/sysdeps/unix/sysv/linux/arc/libpthread.abilist
index 0cf81c597e..c8464bcfb2 100644
--- a/sysdeps/unix/sysv/linux/arc/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/arc/libpthread.abilist
@@ -47,7 +47,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_rwlockattr_getpshared F
 GLIBC_2.32 pthread_rwlockattr_init F
 GLIBC_2.32 pthread_rwlockattr_setkind_np F
 GLIBC_2.32 pthread_rwlockattr_setpshared F
diff --git a/sysdeps/unix/sysv/linux/arm/be/libc.abilist b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
index 3e41789185..2883babacd 100644
--- a/sysdeps/unix/sysv/linux/arm/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
@@ -217,6 +217,7 @@ GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
 GLIBC_2.34 pthread_rwlockattr_destroy F
 GLIBC_2.34 pthread_rwlockattr_getkind_np F
+GLIBC_2.34 pthread_rwlockattr_getpshared F
 GLIBC_2.34 pthread_setspecific F
 GLIBC_2.34 pthread_spin_destroy F
 GLIBC_2.34 pthread_spin_init F
@@ -1671,6 +1672,7 @@ GLIBC_2.4 pthread_rwlock_unlock F
 GLIBC_2.4 pthread_rwlock_wrlock F
 GLIBC_2.4 pthread_rwlockattr_destroy F
 GLIBC_2.4 pthread_rwlockattr_getkind_np F
+GLIBC_2.4 pthread_rwlockattr_getpshared F
 GLIBC_2.4 pthread_self F
 GLIBC_2.4 pthread_setcancelstate F
 GLIBC_2.4 pthread_setcanceltype F
diff --git a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
index b1d92ccb14..5734a3e35b 100644
--- a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
@@ -60,7 +60,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_rwlockattr_getpshared F
 GLIBC_2.4 pthread_rwlockattr_init F
 GLIBC_2.4 pthread_rwlockattr_setkind_np F
 GLIBC_2.4 pthread_rwlockattr_setpshared F
diff --git a/sysdeps/unix/sysv/linux/arm/le/libc.abilist b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
index a48ea6c97a..1128ef57dd 100644
--- a/sysdeps/unix/sysv/linux/arm/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
@@ -214,6 +214,7 @@ GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
 GLIBC_2.34 pthread_rwlockattr_destroy F
 GLIBC_2.34 pthread_rwlockattr_getkind_np F
+GLIBC_2.34 pthread_rwlockattr_getpshared F
 GLIBC_2.34 pthread_setspecific F
 GLIBC_2.34 pthread_spin_destroy F
 GLIBC_2.34 pthread_spin_init F
@@ -1668,6 +1669,7 @@ GLIBC_2.4 pthread_rwlock_unlock F
 GLIBC_2.4 pthread_rwlock_wrlock F
 GLIBC_2.4 pthread_rwlockattr_destroy F
 GLIBC_2.4 pthread_rwlockattr_getkind_np F
+GLIBC_2.4 pthread_rwlockattr_getpshared F
 GLIBC_2.4 pthread_self F
 GLIBC_2.4 pthread_setcancelstate F
 GLIBC_2.4 pthread_setcanceltype F
diff --git a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
index b1d92ccb14..5734a3e35b 100644
--- a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
@@ -60,7 +60,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_rwlockattr_getpshared F
 GLIBC_2.4 pthread_rwlockattr_init F
 GLIBC_2.4 pthread_rwlockattr_setkind_np F
 GLIBC_2.4 pthread_rwlockattr_setpshared F
diff --git a/sysdeps/unix/sysv/linux/csky/libc.abilist b/sysdeps/unix/sysv/linux/csky/libc.abilist
index b2f5ce7d52..96b5da8d2c 100644
--- a/sysdeps/unix/sysv/linux/csky/libc.abilist
+++ b/sysdeps/unix/sysv/linux/csky/libc.abilist
@@ -1502,6 +1502,7 @@ GLIBC_2.29 pthread_rwlock_unlock F
 GLIBC_2.29 pthread_rwlock_wrlock F
 GLIBC_2.29 pthread_rwlockattr_destroy F
 GLIBC_2.29 pthread_rwlockattr_getkind_np F
+GLIBC_2.29 pthread_rwlockattr_getpshared F
 GLIBC_2.29 pthread_self F
 GLIBC_2.29 pthread_setcancelstate F
 GLIBC_2.29 pthread_setcanceltype F
@@ -2248,6 +2249,7 @@ GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
 GLIBC_2.34 pthread_rwlockattr_destroy F
 GLIBC_2.34 pthread_rwlockattr_getkind_np F
+GLIBC_2.34 pthread_rwlockattr_getpshared F
 GLIBC_2.34 pthread_setspecific F
 GLIBC_2.34 pthread_spin_destroy F
 GLIBC_2.34 pthread_spin_init F
diff --git a/sysdeps/unix/sysv/linux/csky/libpthread.abilist b/sysdeps/unix/sysv/linux/csky/libpthread.abilist
index b05557e290..37b32390a9 100644
--- a/sysdeps/unix/sysv/linux/csky/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/csky/libpthread.abilist
@@ -46,7 +46,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_rwlockattr_getpshared F
 GLIBC_2.29 pthread_rwlockattr_init F
 GLIBC_2.29 pthread_rwlockattr_setkind_np F
 GLIBC_2.29 pthread_rwlockattr_setpshared F
diff --git a/sysdeps/unix/sysv/linux/hppa/libc.abilist b/sysdeps/unix/sysv/linux/hppa/libc.abilist
index c3c8d72bf3..f20a4ec42a 100644
--- a/sysdeps/unix/sysv/linux/hppa/libc.abilist
+++ b/sysdeps/unix/sysv/linux/hppa/libc.abilist
@@ -1326,6 +1326,7 @@ GLIBC_2.2 pthread_rwlock_unlock F
 GLIBC_2.2 pthread_rwlock_wrlock F
 GLIBC_2.2 pthread_rwlockattr_destroy F
 GLIBC_2.2 pthread_rwlockattr_getkind_np F
+GLIBC_2.2 pthread_rwlockattr_getpshared F
 GLIBC_2.2 pthread_self F
 GLIBC_2.2 pthread_setcancelstate F
 GLIBC_2.2 pthread_setcanceltype F
@@ -2199,6 +2200,7 @@ GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
 GLIBC_2.34 pthread_rwlockattr_destroy F
 GLIBC_2.34 pthread_rwlockattr_getkind_np F
+GLIBC_2.34 pthread_rwlockattr_getpshared F
 GLIBC_2.34 pthread_setspecific F
 GLIBC_2.34 pthread_spin_destroy F
 GLIBC_2.34 pthread_spin_init F
diff --git a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
index 84154ef796..bbadf8d6c5 100644
--- a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
@@ -30,7 +30,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_rwlockattr_getpshared F
 GLIBC_2.2 pthread_rwlockattr_init F
 GLIBC_2.2 pthread_rwlockattr_setkind_np F
 GLIBC_2.2 pthread_rwlockattr_setpshared F
diff --git a/sysdeps/unix/sysv/linux/i386/libc.abilist b/sysdeps/unix/sysv/linux/i386/libc.abilist
index f3dd46694d..e6546b9d62 100644
--- a/sysdeps/unix/sysv/linux/i386/libc.abilist
+++ b/sysdeps/unix/sysv/linux/i386/libc.abilist
@@ -1583,6 +1583,7 @@ GLIBC_2.1 pthread_rwlock_unlock F
 GLIBC_2.1 pthread_rwlock_wrlock F
 GLIBC_2.1 pthread_rwlockattr_destroy F
 GLIBC_2.1 pthread_rwlockattr_getkind_np F
+GLIBC_2.1 pthread_rwlockattr_getpshared F
 GLIBC_2.1 ptsname F
 GLIBC_2.1 ptsname_r F
 GLIBC_2.1 putgrent F
@@ -2376,6 +2377,7 @@ GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
 GLIBC_2.34 pthread_rwlockattr_destroy F
 GLIBC_2.34 pthread_rwlockattr_getkind_np F
+GLIBC_2.34 pthread_rwlockattr_getpshared F
 GLIBC_2.34 pthread_setspecific F
 GLIBC_2.34 pthread_spin_destroy F
 GLIBC_2.34 pthread_spin_init F
diff --git a/sysdeps/unix/sysv/linux/i386/libpthread.abilist b/sysdeps/unix/sysv/linux/i386/libpthread.abilist
index a1b95e75e4..5eadc40bc8 100644
--- a/sysdeps/unix/sysv/linux/i386/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/i386/libpthread.abilist
@@ -24,7 +24,6 @@ GLIBC_2.1 pthread_attr_setstackaddr F
 GLIBC_2.1 pthread_attr_setstacksize F
 GLIBC_2.1 pthread_create F
 GLIBC_2.1 pthread_getconcurrency F
-GLIBC_2.1 pthread_rwlockattr_getpshared F
 GLIBC_2.1 pthread_rwlockattr_init F
 GLIBC_2.1 pthread_rwlockattr_setkind_np F
 GLIBC_2.1 pthread_rwlockattr_setpshared F
diff --git a/sysdeps/unix/sysv/linux/ia64/libc.abilist b/sysdeps/unix/sysv/linux/ia64/libc.abilist
index 72cd50c7ec..e24fee9f34 100644
--- a/sysdeps/unix/sysv/linux/ia64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/ia64/libc.abilist
@@ -1347,6 +1347,7 @@ GLIBC_2.2 pthread_rwlock_unlock F
 GLIBC_2.2 pthread_rwlock_wrlock F
 GLIBC_2.2 pthread_rwlockattr_destroy F
 GLIBC_2.2 pthread_rwlockattr_getkind_np F
+GLIBC_2.2 pthread_rwlockattr_getpshared F
 GLIBC_2.2 pthread_self F
 GLIBC_2.2 pthread_setcancelstate F
 GLIBC_2.2 pthread_setcanceltype F
@@ -2233,6 +2234,7 @@ GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
 GLIBC_2.34 pthread_rwlockattr_destroy F
 GLIBC_2.34 pthread_rwlockattr_getkind_np F
+GLIBC_2.34 pthread_rwlockattr_getpshared F
 GLIBC_2.34 pthread_setspecific F
 GLIBC_2.34 pthread_spin_destroy F
 GLIBC_2.34 pthread_spin_init F
diff --git a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
index 8ede4b3f59..363a00611a 100644
--- a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
@@ -30,7 +30,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_rwlockattr_getpshared F
 GLIBC_2.2 pthread_rwlockattr_init F
 GLIBC_2.2 pthread_rwlockattr_setkind_np F
 GLIBC_2.2 pthread_rwlockattr_setpshared F
diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
index c00daf02c4..69b80f390e 100644
--- a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
@@ -218,6 +218,7 @@ GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
 GLIBC_2.34 pthread_rwlockattr_destroy F
 GLIBC_2.34 pthread_rwlockattr_getkind_np F
+GLIBC_2.34 pthread_rwlockattr_getpshared F
 GLIBC_2.34 pthread_setspecific F
 GLIBC_2.34 pthread_spin_destroy F
 GLIBC_2.34 pthread_spin_init F
@@ -1651,6 +1652,7 @@ GLIBC_2.4 pthread_rwlock_unlock F
 GLIBC_2.4 pthread_rwlock_wrlock F
 GLIBC_2.4 pthread_rwlockattr_destroy F
 GLIBC_2.4 pthread_rwlockattr_getkind_np F
+GLIBC_2.4 pthread_rwlockattr_getpshared F
 GLIBC_2.4 pthread_self F
 GLIBC_2.4 pthread_setcancelstate F
 GLIBC_2.4 pthread_setcanceltype F
diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
index b1d92ccb14..5734a3e35b 100644
--- a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
@@ -60,7 +60,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_rwlockattr_getpshared F
 GLIBC_2.4 pthread_rwlockattr_init F
 GLIBC_2.4 pthread_rwlockattr_setkind_np F
 GLIBC_2.4 pthread_rwlockattr_setpshared F
diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
index 833e56d670..ad72065956 100644
--- a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
@@ -1579,6 +1579,7 @@ GLIBC_2.1 pthread_rwlock_unlock F
 GLIBC_2.1 pthread_rwlock_wrlock F
 GLIBC_2.1 pthread_rwlockattr_destroy F
 GLIBC_2.1 pthread_rwlockattr_getkind_np F
+GLIBC_2.1 pthread_rwlockattr_getpshared F
 GLIBC_2.1 ptsname F
 GLIBC_2.1 ptsname_r F
 GLIBC_2.1 putgrent F
@@ -2319,6 +2320,7 @@ GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
 GLIBC_2.34 pthread_rwlockattr_destroy F
 GLIBC_2.34 pthread_rwlockattr_getkind_np F
+GLIBC_2.34 pthread_rwlockattr_getpshared F
 GLIBC_2.34 pthread_setspecific F
 GLIBC_2.34 pthread_spin_destroy F
 GLIBC_2.34 pthread_spin_init F
diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
index a1b95e75e4..5eadc40bc8 100644
--- a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
@@ -24,7 +24,6 @@ GLIBC_2.1 pthread_attr_setstackaddr F
 GLIBC_2.1 pthread_attr_setstacksize F
 GLIBC_2.1 pthread_create F
 GLIBC_2.1 pthread_getconcurrency F
-GLIBC_2.1 pthread_rwlockattr_getpshared F
 GLIBC_2.1 pthread_rwlockattr_init F
 GLIBC_2.1 pthread_rwlockattr_setkind_np F
 GLIBC_2.1 pthread_rwlockattr_setpshared F
diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
index c9a070f967..d6a1eb459e 100644
--- a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
@@ -1517,6 +1517,7 @@ GLIBC_2.18 pthread_rwlock_unlock F
 GLIBC_2.18 pthread_rwlock_wrlock F
 GLIBC_2.18 pthread_rwlockattr_destroy F
 GLIBC_2.18 pthread_rwlockattr_getkind_np F
+GLIBC_2.18 pthread_rwlockattr_getpshared F
 GLIBC_2.18 pthread_self F
 GLIBC_2.18 pthread_setcancelstate F
 GLIBC_2.18 pthread_setcanceltype F
@@ -2299,6 +2300,7 @@ GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
 GLIBC_2.34 pthread_rwlockattr_destroy F
 GLIBC_2.34 pthread_rwlockattr_getkind_np F
+GLIBC_2.34 pthread_rwlockattr_getpshared F
 GLIBC_2.34 pthread_setspecific F
 GLIBC_2.34 pthread_spin_destroy F
 GLIBC_2.34 pthread_spin_init F
diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
index ef826e17b3..cc57750616 100644
--- a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
@@ -33,7 +33,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_rwlockattr_getpshared F
 GLIBC_2.18 pthread_rwlockattr_init F
 GLIBC_2.18 pthread_rwlockattr_setkind_np F
 GLIBC_2.18 pthread_rwlockattr_setpshared F
diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
index 3ea9d59892..3da6064fe0 100644
--- a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
@@ -1517,6 +1517,7 @@ GLIBC_2.18 pthread_rwlock_unlock F
 GLIBC_2.18 pthread_rwlock_wrlock F
 GLIBC_2.18 pthread_rwlockattr_destroy F
 GLIBC_2.18 pthread_rwlockattr_getkind_np F
+GLIBC_2.18 pthread_rwlockattr_getpshared F
 GLIBC_2.18 pthread_self F
 GLIBC_2.18 pthread_setcancelstate F
 GLIBC_2.18 pthread_setcanceltype F
@@ -2296,6 +2297,7 @@ GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
 GLIBC_2.34 pthread_rwlockattr_destroy F
 GLIBC_2.34 pthread_rwlockattr_getkind_np F
+GLIBC_2.34 pthread_rwlockattr_getpshared F
 GLIBC_2.34 pthread_setspecific F
 GLIBC_2.34 pthread_spin_destroy F
 GLIBC_2.34 pthread_spin_init F
diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
index ef826e17b3..cc57750616 100644
--- a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
@@ -33,7 +33,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_rwlockattr_getpshared F
 GLIBC_2.18 pthread_rwlockattr_init F
 GLIBC_2.18 pthread_rwlockattr_setkind_np F
 GLIBC_2.18 pthread_rwlockattr_setpshared F
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
index f831cebc4a..966cefd4a4 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
@@ -1856,6 +1856,7 @@ GLIBC_2.2 pthread_rwlock_unlock F
 GLIBC_2.2 pthread_rwlock_wrlock F
 GLIBC_2.2 pthread_rwlockattr_destroy F
 GLIBC_2.2 pthread_rwlockattr_getkind_np F
+GLIBC_2.2 pthread_rwlockattr_getpshared F
 GLIBC_2.2 pthread_spin_destroy F
 GLIBC_2.2 pthread_spin_init F
 GLIBC_2.2 pthread_spin_lock F
@@ -2282,6 +2283,7 @@ GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
 GLIBC_2.34 pthread_rwlockattr_destroy F
 GLIBC_2.34 pthread_rwlockattr_getkind_np F
+GLIBC_2.34 pthread_rwlockattr_getpshared F
 GLIBC_2.34 pthread_setspecific F
 GLIBC_2.34 pthread_spin_destroy F
 GLIBC_2.34 pthread_spin_init F
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
index 2bcaf1bc61..99a6b20a7f 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
@@ -38,7 +38,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_rwlockattr_getpshared F
 GLIBC_2.2 pthread_rwlockattr_init F
 GLIBC_2.2 pthread_rwlockattr_setkind_np F
 GLIBC_2.2 pthread_rwlockattr_setpshared F
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
index 038cad09d9..1f4867ccce 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
@@ -1854,6 +1854,7 @@ GLIBC_2.2 pthread_rwlock_unlock F
 GLIBC_2.2 pthread_rwlock_wrlock F
 GLIBC_2.2 pthread_rwlockattr_destroy F
 GLIBC_2.2 pthread_rwlockattr_getkind_np F
+GLIBC_2.2 pthread_rwlockattr_getpshared F
 GLIBC_2.2 pthread_spin_destroy F
 GLIBC_2.2 pthread_spin_init F
 GLIBC_2.2 pthread_spin_lock F
@@ -2280,6 +2281,7 @@ GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
 GLIBC_2.34 pthread_rwlockattr_destroy F
 GLIBC_2.34 pthread_rwlockattr_getkind_np F
+GLIBC_2.34 pthread_rwlockattr_getpshared F
 GLIBC_2.34 pthread_setspecific F
 GLIBC_2.34 pthread_spin_destroy F
 GLIBC_2.34 pthread_spin_init F
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
index 2bcaf1bc61..99a6b20a7f 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
@@ -38,7 +38,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_rwlockattr_getpshared F
 GLIBC_2.2 pthread_rwlockattr_init F
 GLIBC_2.2 pthread_rwlockattr_setkind_np F
 GLIBC_2.2 pthread_rwlockattr_setpshared F
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
index 2c92a0fe8e..bdcfd8448b 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
@@ -1854,6 +1854,7 @@ GLIBC_2.2 pthread_rwlock_unlock F
 GLIBC_2.2 pthread_rwlock_wrlock F
 GLIBC_2.2 pthread_rwlockattr_destroy F
 GLIBC_2.2 pthread_rwlockattr_getkind_np F
+GLIBC_2.2 pthread_rwlockattr_getpshared F
 GLIBC_2.2 pthread_spin_destroy F
 GLIBC_2.2 pthread_spin_init F
 GLIBC_2.2 pthread_spin_lock F
@@ -2288,6 +2289,7 @@ GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
 GLIBC_2.34 pthread_rwlockattr_destroy F
 GLIBC_2.34 pthread_rwlockattr_getkind_np F
+GLIBC_2.34 pthread_rwlockattr_getpshared F
 GLIBC_2.34 pthread_setspecific F
 GLIBC_2.34 pthread_spin_destroy F
 GLIBC_2.34 pthread_spin_init F
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
index e71a468aa6..1dd6209fec 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
@@ -1850,6 +1850,7 @@ GLIBC_2.2 pthread_rwlock_unlock F
 GLIBC_2.2 pthread_rwlock_wrlock F
 GLIBC_2.2 pthread_rwlockattr_destroy F
 GLIBC_2.2 pthread_rwlockattr_getkind_np F
+GLIBC_2.2 pthread_rwlockattr_getpshared F
 GLIBC_2.2 pthread_spin_destroy F
 GLIBC_2.2 pthread_spin_init F
 GLIBC_2.2 pthread_spin_lock F
@@ -2282,6 +2283,7 @@ GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
 GLIBC_2.34 pthread_rwlockattr_destroy F
 GLIBC_2.34 pthread_rwlockattr_getkind_np F
+GLIBC_2.34 pthread_rwlockattr_getpshared F
 GLIBC_2.34 pthread_setspecific F
 GLIBC_2.34 pthread_spin_destroy F
 GLIBC_2.34 pthread_spin_init F
diff --git a/sysdeps/unix/sysv/linux/nios2/libc.abilist b/sysdeps/unix/sysv/linux/nios2/libc.abilist
index bbc6f578fc..db7ab7bff8 100644
--- a/sysdeps/unix/sysv/linux/nios2/libc.abilist
+++ b/sysdeps/unix/sysv/linux/nios2/libc.abilist
@@ -1560,6 +1560,7 @@ GLIBC_2.21 pthread_rwlock_unlock F
 GLIBC_2.21 pthread_rwlock_wrlock F
 GLIBC_2.21 pthread_rwlockattr_destroy F
 GLIBC_2.21 pthread_rwlockattr_getkind_np F
+GLIBC_2.21 pthread_rwlockattr_getpshared F
 GLIBC_2.21 pthread_self F
 GLIBC_2.21 pthread_setcancelstate F
 GLIBC_2.21 pthread_setcanceltype F
@@ -2338,6 +2339,7 @@ GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
 GLIBC_2.34 pthread_rwlockattr_destroy F
 GLIBC_2.34 pthread_rwlockattr_getkind_np F
+GLIBC_2.34 pthread_rwlockattr_getpshared F
 GLIBC_2.34 pthread_setspecific F
 GLIBC_2.34 pthread_spin_destroy F
 GLIBC_2.34 pthread_spin_init F
diff --git a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
index 27344b0e1d..e91492f4b8 100644
--- a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
@@ -33,7 +33,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_rwlockattr_getpshared F
 GLIBC_2.21 pthread_rwlockattr_init F
 GLIBC_2.21 pthread_rwlockattr_setkind_np F
 GLIBC_2.21 pthread_rwlockattr_setpshared F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
index 4c58fc3981..5280bec0dd 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
@@ -1587,6 +1587,7 @@ GLIBC_2.1 pthread_rwlock_unlock F
 GLIBC_2.1 pthread_rwlock_wrlock F
 GLIBC_2.1 pthread_rwlockattr_destroy F
 GLIBC_2.1 pthread_rwlockattr_getkind_np F
+GLIBC_2.1 pthread_rwlockattr_getpshared F
 GLIBC_2.1 ptsname F
 GLIBC_2.1 ptsname_r F
 GLIBC_2.1 putgrent F
@@ -2346,6 +2347,7 @@ GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
 GLIBC_2.34 pthread_rwlockattr_destroy F
 GLIBC_2.34 pthread_rwlockattr_getkind_np F
+GLIBC_2.34 pthread_rwlockattr_getpshared F
 GLIBC_2.34 pthread_setspecific F
 GLIBC_2.34 pthread_spin_destroy F
 GLIBC_2.34 pthread_spin_init F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
index 73b5f25b96..3567b433e6 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
@@ -24,7 +24,6 @@ GLIBC_2.1 pthread_attr_setstackaddr F
 GLIBC_2.1 pthread_attr_setstacksize F
 GLIBC_2.1 pthread_create F
 GLIBC_2.1 pthread_getconcurrency F
-GLIBC_2.1 pthread_rwlockattr_getpshared F
 GLIBC_2.1 pthread_rwlockattr_init F
 GLIBC_2.1 pthread_rwlockattr_setkind_np F
 GLIBC_2.1 pthread_rwlockattr_setpshared F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
index 5209786002..cbb09a657b 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
@@ -1587,6 +1587,7 @@ GLIBC_2.1 pthread_rwlock_unlock F
 GLIBC_2.1 pthread_rwlock_wrlock F
 GLIBC_2.1 pthread_rwlockattr_destroy F
 GLIBC_2.1 pthread_rwlockattr_getkind_np F
+GLIBC_2.1 pthread_rwlockattr_getpshared F
 GLIBC_2.1 ptsname F
 GLIBC_2.1 ptsname_r F
 GLIBC_2.1 putgrent F
@@ -2379,6 +2380,7 @@ GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
 GLIBC_2.34 pthread_rwlockattr_destroy F
 GLIBC_2.34 pthread_rwlockattr_getkind_np F
+GLIBC_2.34 pthread_rwlockattr_getpshared F
 GLIBC_2.34 pthread_setspecific F
 GLIBC_2.34 pthread_spin_destroy F
 GLIBC_2.34 pthread_spin_init F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
index 4d43ea86b8..8831dc0534 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
@@ -1432,6 +1432,7 @@ GLIBC_2.3 pthread_rwlock_unlock F
 GLIBC_2.3 pthread_rwlock_wrlock F
 GLIBC_2.3 pthread_rwlockattr_destroy F
 GLIBC_2.3 pthread_rwlockattr_getkind_np F
+GLIBC_2.3 pthread_rwlockattr_getpshared F
 GLIBC_2.3 pthread_self F
 GLIBC_2.3 pthread_setcancelstate F
 GLIBC_2.3 pthread_setcanceltype F
@@ -2200,6 +2201,7 @@ GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
 GLIBC_2.34 pthread_rwlockattr_destroy F
 GLIBC_2.34 pthread_rwlockattr_getkind_np F
+GLIBC_2.34 pthread_rwlockattr_getpshared F
 GLIBC_2.34 pthread_setspecific F
 GLIBC_2.34 pthread_spin_destroy F
 GLIBC_2.34 pthread_spin_init F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
index 1f07235c43..ab30e9bf37 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
@@ -51,7 +51,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_rwlockattr_getpshared F
 GLIBC_2.3 pthread_rwlockattr_init F
 GLIBC_2.3 pthread_rwlockattr_setkind_np F
 GLIBC_2.3 pthread_rwlockattr_setpshared F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
index 9d9dd2992f..c58ce82cd3 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
@@ -1603,6 +1603,7 @@ GLIBC_2.17 pthread_rwlock_unlock F
 GLIBC_2.17 pthread_rwlock_wrlock F
 GLIBC_2.17 pthread_rwlockattr_destroy F
 GLIBC_2.17 pthread_rwlockattr_getkind_np F
+GLIBC_2.17 pthread_rwlockattr_getpshared F
 GLIBC_2.17 pthread_self F
 GLIBC_2.17 pthread_setcancelstate F
 GLIBC_2.17 pthread_setcanceltype F
@@ -2501,6 +2502,7 @@ GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
 GLIBC_2.34 pthread_rwlockattr_destroy F
 GLIBC_2.34 pthread_rwlockattr_getkind_np F
+GLIBC_2.34 pthread_rwlockattr_getpshared F
 GLIBC_2.34 pthread_setspecific F
 GLIBC_2.34 pthread_spin_destroy F
 GLIBC_2.34 pthread_spin_init F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
index 7c1aa12896..bdf0f22f05 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
@@ -32,7 +32,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_rwlockattr_getpshared F
 GLIBC_2.17 pthread_rwlockattr_init F
 GLIBC_2.17 pthread_rwlockattr_setkind_np F
 GLIBC_2.17 pthread_rwlockattr_setpshared F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
index 559e0f8c6c..79134951a0 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
@@ -1447,6 +1447,7 @@ GLIBC_2.33 pthread_rwlock_unlock F
 GLIBC_2.33 pthread_rwlock_wrlock F
 GLIBC_2.33 pthread_rwlockattr_destroy F
 GLIBC_2.33 pthread_rwlockattr_getkind_np F
+GLIBC_2.33 pthread_rwlockattr_getpshared F
 GLIBC_2.33 pthread_self F
 GLIBC_2.33 pthread_setcancelstate F
 GLIBC_2.33 pthread_setcanceltype F
@@ -2066,6 +2067,7 @@ GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
 GLIBC_2.34 pthread_rwlockattr_destroy F
 GLIBC_2.34 pthread_rwlockattr_getkind_np F
+GLIBC_2.34 pthread_rwlockattr_getpshared F
 GLIBC_2.34 pthread_setspecific F
 GLIBC_2.34 pthread_spin_destroy F
 GLIBC_2.34 pthread_spin_init F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
index e34c755922..76542efd0c 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
@@ -47,7 +47,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_rwlockattr_getpshared F
 GLIBC_2.33 pthread_rwlockattr_init F
 GLIBC_2.33 pthread_rwlockattr_setkind_np F
 GLIBC_2.33 pthread_rwlockattr_setpshared F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
index df48f0831b..d0d9bb5146 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
@@ -1505,6 +1505,7 @@ GLIBC_2.27 pthread_rwlock_unlock F
 GLIBC_2.27 pthread_rwlock_wrlock F
 GLIBC_2.27 pthread_rwlockattr_destroy F
 GLIBC_2.27 pthread_rwlockattr_getkind_np F
+GLIBC_2.27 pthread_rwlockattr_getpshared F
 GLIBC_2.27 pthread_self F
 GLIBC_2.27 pthread_setcancelstate F
 GLIBC_2.27 pthread_setcanceltype F
@@ -2266,6 +2267,7 @@ GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
 GLIBC_2.34 pthread_rwlockattr_destroy F
 GLIBC_2.34 pthread_rwlockattr_getkind_np F
+GLIBC_2.34 pthread_rwlockattr_getpshared F
 GLIBC_2.34 pthread_setspecific F
 GLIBC_2.34 pthread_spin_destroy F
 GLIBC_2.34 pthread_spin_init F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
index e64db22a41..9c8d67349f 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
@@ -33,7 +33,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_rwlockattr_getpshared F
 GLIBC_2.27 pthread_rwlockattr_init F
 GLIBC_2.27 pthread_rwlockattr_setkind_np F
 GLIBC_2.27 pthread_rwlockattr_setpshared F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
index 84cbdd978e..0b9f799055 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
@@ -1579,6 +1579,7 @@ GLIBC_2.1 pthread_rwlock_unlock F
 GLIBC_2.1 pthread_rwlock_wrlock F
 GLIBC_2.1 pthread_rwlockattr_destroy F
 GLIBC_2.1 pthread_rwlockattr_getkind_np F
+GLIBC_2.1 pthread_rwlockattr_getpshared F
 GLIBC_2.1 ptsname F
 GLIBC_2.1 ptsname_r F
 GLIBC_2.1 putgrent F
@@ -2344,6 +2345,7 @@ GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
 GLIBC_2.34 pthread_rwlockattr_destroy F
 GLIBC_2.34 pthread_rwlockattr_getkind_np F
+GLIBC_2.34 pthread_rwlockattr_getpshared F
 GLIBC_2.34 pthread_setspecific F
 GLIBC_2.34 pthread_spin_destroy F
 GLIBC_2.34 pthread_spin_init F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
index a2b97cf168..9e7c4018bf 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
@@ -24,7 +24,6 @@ GLIBC_2.1 pthread_attr_setstackaddr F
 GLIBC_2.1 pthread_attr_setstacksize F
 GLIBC_2.1 pthread_create F
 GLIBC_2.1 pthread_getconcurrency F
-GLIBC_2.1 pthread_rwlockattr_getpshared F
 GLIBC_2.1 pthread_rwlockattr_init F
 GLIBC_2.1 pthread_rwlockattr_setkind_np F
 GLIBC_2.1 pthread_rwlockattr_setpshared F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
index 6ff4976362..18d92aedce 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
@@ -1344,6 +1344,7 @@ GLIBC_2.2 pthread_rwlock_unlock F
 GLIBC_2.2 pthread_rwlock_wrlock F
 GLIBC_2.2 pthread_rwlockattr_destroy F
 GLIBC_2.2 pthread_rwlockattr_getkind_np F
+GLIBC_2.2 pthread_rwlockattr_getpshared F
 GLIBC_2.2 pthread_self F
 GLIBC_2.2 pthread_setcancelstate F
 GLIBC_2.2 pthread_setcanceltype F
@@ -2237,6 +2238,7 @@ GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
 GLIBC_2.34 pthread_rwlockattr_destroy F
 GLIBC_2.34 pthread_rwlockattr_getkind_np F
+GLIBC_2.34 pthread_rwlockattr_getpshared F
 GLIBC_2.34 pthread_setspecific F
 GLIBC_2.34 pthread_spin_destroy F
 GLIBC_2.34 pthread_spin_init F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
index 3f56ea109e..b20551588f 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
@@ -31,7 +31,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_rwlockattr_getpshared F
 GLIBC_2.2 pthread_rwlockattr_init F
 GLIBC_2.2 pthread_rwlockattr_setkind_np F
 GLIBC_2.2 pthread_rwlockattr_setpshared F
diff --git a/sysdeps/unix/sysv/linux/sh/be/libc.abilist b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
index 919634c280..66ddceff76 100644
--- a/sysdeps/unix/sysv/linux/sh/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
@@ -1330,6 +1330,7 @@ GLIBC_2.2 pthread_rwlock_unlock F
 GLIBC_2.2 pthread_rwlock_wrlock F
 GLIBC_2.2 pthread_rwlockattr_destroy F
 GLIBC_2.2 pthread_rwlockattr_getkind_np F
+GLIBC_2.2 pthread_rwlockattr_getpshared F
 GLIBC_2.2 pthread_self F
 GLIBC_2.2 pthread_setcancelstate F
 GLIBC_2.2 pthread_setcanceltype F
@@ -2206,6 +2207,7 @@ GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
 GLIBC_2.34 pthread_rwlockattr_destroy F
 GLIBC_2.34 pthread_rwlockattr_getkind_np F
+GLIBC_2.34 pthread_rwlockattr_getpshared F
 GLIBC_2.34 pthread_setspecific F
 GLIBC_2.34 pthread_spin_destroy F
 GLIBC_2.34 pthread_spin_init F
diff --git a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
index 84154ef796..bbadf8d6c5 100644
--- a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
@@ -30,7 +30,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_rwlockattr_getpshared F
 GLIBC_2.2 pthread_rwlockattr_init F
 GLIBC_2.2 pthread_rwlockattr_setkind_np F
 GLIBC_2.2 pthread_rwlockattr_setpshared F
diff --git a/sysdeps/unix/sysv/linux/sh/le/libc.abilist b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
index 4cd67df38b..da6034db4d 100644
--- a/sysdeps/unix/sysv/linux/sh/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
@@ -1330,6 +1330,7 @@ GLIBC_2.2 pthread_rwlock_unlock F
 GLIBC_2.2 pthread_rwlock_wrlock F
 GLIBC_2.2 pthread_rwlockattr_destroy F
 GLIBC_2.2 pthread_rwlockattr_getkind_np F
+GLIBC_2.2 pthread_rwlockattr_getpshared F
 GLIBC_2.2 pthread_self F
 GLIBC_2.2 pthread_setcancelstate F
 GLIBC_2.2 pthread_setcanceltype F
@@ -2203,6 +2204,7 @@ GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
 GLIBC_2.34 pthread_rwlockattr_destroy F
 GLIBC_2.34 pthread_rwlockattr_getkind_np F
+GLIBC_2.34 pthread_rwlockattr_getpshared F
 GLIBC_2.34 pthread_setspecific F
 GLIBC_2.34 pthread_spin_destroy F
 GLIBC_2.34 pthread_spin_init F
diff --git a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
index 84154ef796..bbadf8d6c5 100644
--- a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
@@ -30,7 +30,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_rwlockattr_getpshared F
 GLIBC_2.2 pthread_rwlockattr_init F
 GLIBC_2.2 pthread_rwlockattr_setkind_np F
 GLIBC_2.2 pthread_rwlockattr_setpshared F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
index 361ed1ac06..ce237f0622 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
@@ -1580,6 +1580,7 @@ GLIBC_2.1 pthread_rwlock_unlock F
 GLIBC_2.1 pthread_rwlock_wrlock F
 GLIBC_2.1 pthread_rwlockattr_destroy F
 GLIBC_2.1 pthread_rwlockattr_getkind_np F
+GLIBC_2.1 pthread_rwlockattr_getpshared F
 GLIBC_2.1 ptsname F
 GLIBC_2.1 ptsname_r F
 GLIBC_2.1 putgrent F
@@ -2335,6 +2336,7 @@ GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
 GLIBC_2.34 pthread_rwlockattr_destroy F
 GLIBC_2.34 pthread_rwlockattr_getkind_np F
+GLIBC_2.34 pthread_rwlockattr_getpshared F
 GLIBC_2.34 pthread_setspecific F
 GLIBC_2.34 pthread_spin_destroy F
 GLIBC_2.34 pthread_spin_init F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
index 64316f12de..14fdab028b 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
@@ -24,7 +24,6 @@ GLIBC_2.1 pthread_attr_setstackaddr F
 GLIBC_2.1 pthread_attr_setstacksize F
 GLIBC_2.1 pthread_create F
 GLIBC_2.1 pthread_getconcurrency F
-GLIBC_2.1 pthread_rwlockattr_getpshared F
 GLIBC_2.1 pthread_rwlockattr_init F
 GLIBC_2.1 pthread_rwlockattr_setkind_np F
 GLIBC_2.1 pthread_rwlockattr_setpshared F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
index ce8218eb4f..7e3a70fab5 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
@@ -1373,6 +1373,7 @@ GLIBC_2.2 pthread_rwlock_unlock F
 GLIBC_2.2 pthread_rwlock_wrlock F
 GLIBC_2.2 pthread_rwlockattr_destroy F
 GLIBC_2.2 pthread_rwlockattr_getkind_np F
+GLIBC_2.2 pthread_rwlockattr_getpshared F
 GLIBC_2.2 pthread_self F
 GLIBC_2.2 pthread_setcancelstate F
 GLIBC_2.2 pthread_setcanceltype F
@@ -2254,6 +2255,7 @@ GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
 GLIBC_2.34 pthread_rwlockattr_destroy F
 GLIBC_2.34 pthread_rwlockattr_getkind_np F
+GLIBC_2.34 pthread_rwlockattr_getpshared F
 GLIBC_2.34 pthread_setspecific F
 GLIBC_2.34 pthread_spin_destroy F
 GLIBC_2.34 pthread_spin_init F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
index 8ede4b3f59..363a00611a 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
@@ -30,7 +30,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_rwlockattr_getpshared F
 GLIBC_2.2 pthread_rwlockattr_init F
 GLIBC_2.2 pthread_rwlockattr_setkind_np F
 GLIBC_2.2 pthread_rwlockattr_setpshared F
diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
index 851be23314..a7d1df0fb4 100644
--- a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
@@ -1341,6 +1341,7 @@ GLIBC_2.2.5 pthread_rwlock_unlock F
 GLIBC_2.2.5 pthread_rwlock_wrlock F
 GLIBC_2.2.5 pthread_rwlockattr_destroy F
 GLIBC_2.2.5 pthread_rwlockattr_getkind_np F
+GLIBC_2.2.5 pthread_rwlockattr_getpshared F
 GLIBC_2.2.5 pthread_self F
 GLIBC_2.2.5 pthread_setcancelstate F
 GLIBC_2.2.5 pthread_setcanceltype F
@@ -2215,6 +2216,7 @@ GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
 GLIBC_2.34 pthread_rwlockattr_destroy F
 GLIBC_2.34 pthread_rwlockattr_getkind_np F
+GLIBC_2.34 pthread_rwlockattr_getpshared F
 GLIBC_2.34 pthread_setspecific F
 GLIBC_2.34 pthread_spin_destroy F
 GLIBC_2.34 pthread_spin_init F
diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
index 22f4fbaee9..8446bb75c6 100644
--- a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
@@ -30,7 +30,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_rwlockattr_getpshared F
 GLIBC_2.2.5 pthread_rwlockattr_init F
 GLIBC_2.2.5 pthread_rwlockattr_setkind_np F
 GLIBC_2.2.5 pthread_rwlockattr_setpshared F
diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
index 17d4a83993..ffc8af4417 100644
--- a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
@@ -1522,6 +1522,7 @@ GLIBC_2.16 pthread_rwlock_unlock F
 GLIBC_2.16 pthread_rwlock_wrlock F
 GLIBC_2.16 pthread_rwlockattr_destroy F
 GLIBC_2.16 pthread_rwlockattr_getkind_np F
+GLIBC_2.16 pthread_rwlockattr_getpshared F
 GLIBC_2.16 pthread_self F
 GLIBC_2.16 pthread_setcancelstate F
 GLIBC_2.16 pthread_setcanceltype F
@@ -2320,6 +2321,7 @@ GLIBC_2.34 pthread_rwlock_unlock F
 GLIBC_2.34 pthread_rwlock_wrlock F
 GLIBC_2.34 pthread_rwlockattr_destroy F
 GLIBC_2.34 pthread_rwlockattr_getkind_np F
+GLIBC_2.34 pthread_rwlockattr_getpshared F
 GLIBC_2.34 pthread_setspecific F
 GLIBC_2.34 pthread_spin_destroy F
 GLIBC_2.34 pthread_spin_init F
diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
index 8e40a92e20..c828dcde04 100644
--- a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
@@ -32,7 +32,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_rwlockattr_getpshared F
 GLIBC_2.16 pthread_rwlockattr_init F
 GLIBC_2.16 pthread_rwlockattr_setkind_np F
 GLIBC_2.16 pthread_rwlockattr_setpshared F
-- 
2.30.2



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

* [PATCH 12/14] nptl: Move pthread_rwlockattr_init into libc
  2021-04-23 17:36 [PATCH 00/14] nptl: Move remaining rwlock functions into libc Florian Weimer via Libc-alpha
                   ` (10 preceding siblings ...)
  2021-04-23 17:38 ` [PATCH 11/14] nptl: Move pthread_rwlockattr_getpshared " Florian Weimer via Libc-alpha
@ 2021-04-23 17:38 ` Florian Weimer via Libc-alpha
  2021-05-02 19:39   ` Carlos O'Donell via Libc-alpha
  2021-04-23 17:38 ` [PATCH 13/14] nptl: Move pthread_rwlockattr_setkind_np " Florian Weimer via Libc-alpha
                   ` (2 subsequent siblings)
  14 siblings, 1 reply; 30+ messages in thread
From: Florian Weimer via Libc-alpha @ 2021-04-23 17:38 UTC (permalink / raw)
  To: libc-alpha

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

diff --git a/nptl/Makefile b/nptl/Makefile
index f60107d0cd..c36d2baa8e 100644
--- a/nptl/Makefile
+++ b/nptl/Makefile
@@ -134,6 +134,7 @@ routines = \
   pthread_rwlockattr_destroy \
   pthread_rwlockattr_getkind_np \
   pthread_rwlockattr_getpshared \
+  pthread_rwlockattr_init \
   pthread_self \
   pthread_setcancelstate \
   pthread_setcanceltype \
@@ -189,7 +190,6 @@ libpthread-routines = \
   pthread_getname \
   pthread_join \
   pthread_join_common \
-  pthread_rwlockattr_init \
   pthread_rwlockattr_setkind_np \
   pthread_rwlockattr_setpshared \
   pthread_setaffinity \
diff --git a/nptl/Versions b/nptl/Versions
index f6db087610..b546ca9f81 100644
--- a/nptl/Versions
+++ b/nptl/Versions
@@ -76,6 +76,7 @@ libc {
     pthread_rwlockattr_destroy;
     pthread_rwlockattr_getkind_np;
     pthread_rwlockattr_getpshared;
+    pthread_rwlockattr_init;
   }
   GLIBC_2.2 {
     __pthread_rwlock_destroy;
@@ -208,6 +209,7 @@ libc {
     pthread_rwlockattr_destroy;
     pthread_rwlockattr_getkind_np;
     pthread_rwlockattr_getpshared;
+    pthread_rwlockattr_init;
     pthread_setspecific;
     pthread_spin_destroy;
     pthread_spin_init;
@@ -298,7 +300,6 @@ libpthread {
     pthread_attr_setstacksize;
     pthread_create;
     pthread_getconcurrency;
-    pthread_rwlockattr_init;
     pthread_rwlockattr_setkind_np;
     pthread_rwlockattr_setpshared;
     pthread_setconcurrency;
diff --git a/nptl/pthread_rwlockattr_init.c b/nptl/pthread_rwlockattr_init.c
index 0df2ddbcd2..3949a0698d 100644
--- a/nptl/pthread_rwlockattr_init.c
+++ b/nptl/pthread_rwlockattr_init.c
@@ -17,10 +17,10 @@
    <https://www.gnu.org/licenses/>.  */
 
 #include "pthreadP.h"
-
+#include <shlib-compat.h>
 
 int
-pthread_rwlockattr_init (pthread_rwlockattr_t *attr)
+__pthread_rwlockattr_init (pthread_rwlockattr_t *attr)
 {
   ASSERT_TYPE_SIZE (pthread_rwlockattr_t, __SIZEOF_PTHREAD_RWLOCKATTR_T);
   ASSERT_PTHREAD_INTERNAL_SIZE (pthread_rwlockattr_t,
@@ -35,3 +35,10 @@ pthread_rwlockattr_init (pthread_rwlockattr_t *attr)
 
   return 0;
 }
+versioned_symbol (libc, __pthread_rwlockattr_init,
+                  pthread_rwlockattr_init, GLIBC_2_34);
+
+#if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_1, GLIBC_2_34)
+compat_symbol (libpthread, __pthread_rwlockattr_init,
+               pthread_rwlockattr_init, GLIBC_2_1);
+#endif
diff --git a/sysdeps/unix/sysv/linux/aarch64/libc.abilist b/sysdeps/unix/sysv/linux/aarch64/libc.abilist
index bf4a51615b..47094762ae 100644
--- a/sysdeps/unix/sysv/linux/aarch64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/aarch64/libc.abilist
@@ -1516,6 +1516,7 @@ GLIBC_2.17 pthread_rwlock_wrlock F
 GLIBC_2.17 pthread_rwlockattr_destroy F
 GLIBC_2.17 pthread_rwlockattr_getkind_np F
 GLIBC_2.17 pthread_rwlockattr_getpshared F
+GLIBC_2.17 pthread_rwlockattr_init F
 GLIBC_2.17 pthread_self F
 GLIBC_2.17 pthread_setcancelstate F
 GLIBC_2.17 pthread_setcanceltype F
@@ -2307,6 +2308,7 @@ GLIBC_2.34 pthread_rwlock_wrlock F
 GLIBC_2.34 pthread_rwlockattr_destroy F
 GLIBC_2.34 pthread_rwlockattr_getkind_np F
 GLIBC_2.34 pthread_rwlockattr_getpshared F
+GLIBC_2.34 pthread_rwlockattr_init F
 GLIBC_2.34 pthread_setspecific F
 GLIBC_2.34 pthread_spin_destroy F
 GLIBC_2.34 pthread_spin_init F
diff --git a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
index bdf0f22f05..ab858909d5 100644
--- a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
@@ -32,7 +32,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_rwlockattr_init F
 GLIBC_2.17 pthread_rwlockattr_setkind_np F
 GLIBC_2.17 pthread_rwlockattr_setpshared F
 GLIBC_2.17 pthread_setaffinity_np F
diff --git a/sysdeps/unix/sysv/linux/alpha/libc.abilist b/sysdeps/unix/sysv/linux/alpha/libc.abilist
index ed98ffcf83..b31a5c2ab0 100644
--- a/sysdeps/unix/sysv/linux/alpha/libc.abilist
+++ b/sysdeps/unix/sysv/linux/alpha/libc.abilist
@@ -1616,6 +1616,7 @@ GLIBC_2.1 pthread_rwlock_wrlock F
 GLIBC_2.1 pthread_rwlockattr_destroy F
 GLIBC_2.1 pthread_rwlockattr_getkind_np F
 GLIBC_2.1 pthread_rwlockattr_getpshared F
+GLIBC_2.1 pthread_rwlockattr_init F
 GLIBC_2.1 ptsname F
 GLIBC_2.1 ptsname_r F
 GLIBC_2.1 putgrent F
@@ -2388,6 +2389,7 @@ GLIBC_2.34 pthread_rwlock_wrlock F
 GLIBC_2.34 pthread_rwlockattr_destroy F
 GLIBC_2.34 pthread_rwlockattr_getkind_np F
 GLIBC_2.34 pthread_rwlockattr_getpshared F
+GLIBC_2.34 pthread_rwlockattr_init F
 GLIBC_2.34 pthread_setspecific F
 GLIBC_2.34 pthread_spin_destroy F
 GLIBC_2.34 pthread_spin_init F
diff --git a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
index 14fdab028b..cddd311735 100644
--- a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
@@ -24,7 +24,6 @@ GLIBC_2.1 pthread_attr_setstackaddr F
 GLIBC_2.1 pthread_attr_setstacksize F
 GLIBC_2.1 pthread_create F
 GLIBC_2.1 pthread_getconcurrency F
-GLIBC_2.1 pthread_rwlockattr_init F
 GLIBC_2.1 pthread_rwlockattr_setkind_np F
 GLIBC_2.1 pthread_rwlockattr_setpshared F
 GLIBC_2.1 pthread_setconcurrency F
diff --git a/sysdeps/unix/sysv/linux/arc/libc.abilist b/sysdeps/unix/sysv/linux/arc/libc.abilist
index 36dbc8e9a8..49e43e2cf6 100644
--- a/sysdeps/unix/sysv/linux/arc/libc.abilist
+++ b/sysdeps/unix/sysv/linux/arc/libc.abilist
@@ -1446,6 +1446,7 @@ GLIBC_2.32 pthread_rwlock_wrlock F
 GLIBC_2.32 pthread_rwlockattr_destroy F
 GLIBC_2.32 pthread_rwlockattr_getkind_np F
 GLIBC_2.32 pthread_rwlockattr_getpshared F
+GLIBC_2.32 pthread_rwlockattr_init F
 GLIBC_2.32 pthread_self F
 GLIBC_2.32 pthread_setcancelstate F
 GLIBC_2.32 pthread_setcanceltype F
@@ -2066,6 +2067,7 @@ GLIBC_2.34 pthread_rwlock_wrlock F
 GLIBC_2.34 pthread_rwlockattr_destroy F
 GLIBC_2.34 pthread_rwlockattr_getkind_np F
 GLIBC_2.34 pthread_rwlockattr_getpshared F
+GLIBC_2.34 pthread_rwlockattr_init F
 GLIBC_2.34 pthread_setspecific F
 GLIBC_2.34 pthread_spin_destroy F
 GLIBC_2.34 pthread_spin_init F
diff --git a/sysdeps/unix/sysv/linux/arc/libpthread.abilist b/sysdeps/unix/sysv/linux/arc/libpthread.abilist
index c8464bcfb2..6354dc37c2 100644
--- a/sysdeps/unix/sysv/linux/arc/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/arc/libpthread.abilist
@@ -47,7 +47,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_rwlockattr_init F
 GLIBC_2.32 pthread_rwlockattr_setkind_np F
 GLIBC_2.32 pthread_rwlockattr_setpshared F
 GLIBC_2.32 pthread_setaffinity_np F
diff --git a/sysdeps/unix/sysv/linux/arm/be/libc.abilist b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
index 2883babacd..bdcdb6ee4f 100644
--- a/sysdeps/unix/sysv/linux/arm/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
@@ -218,6 +218,7 @@ GLIBC_2.34 pthread_rwlock_wrlock F
 GLIBC_2.34 pthread_rwlockattr_destroy F
 GLIBC_2.34 pthread_rwlockattr_getkind_np F
 GLIBC_2.34 pthread_rwlockattr_getpshared F
+GLIBC_2.34 pthread_rwlockattr_init F
 GLIBC_2.34 pthread_setspecific F
 GLIBC_2.34 pthread_spin_destroy F
 GLIBC_2.34 pthread_spin_init F
@@ -1673,6 +1674,7 @@ GLIBC_2.4 pthread_rwlock_wrlock F
 GLIBC_2.4 pthread_rwlockattr_destroy F
 GLIBC_2.4 pthread_rwlockattr_getkind_np F
 GLIBC_2.4 pthread_rwlockattr_getpshared F
+GLIBC_2.4 pthread_rwlockattr_init F
 GLIBC_2.4 pthread_self F
 GLIBC_2.4 pthread_setcancelstate F
 GLIBC_2.4 pthread_setcanceltype F
diff --git a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
index 5734a3e35b..ece7df9256 100644
--- a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
@@ -60,7 +60,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_rwlockattr_init F
 GLIBC_2.4 pthread_rwlockattr_setkind_np F
 GLIBC_2.4 pthread_rwlockattr_setpshared F
 GLIBC_2.4 pthread_setaffinity_np F
diff --git a/sysdeps/unix/sysv/linux/arm/le/libc.abilist b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
index 1128ef57dd..9033a872e2 100644
--- a/sysdeps/unix/sysv/linux/arm/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
@@ -215,6 +215,7 @@ GLIBC_2.34 pthread_rwlock_wrlock F
 GLIBC_2.34 pthread_rwlockattr_destroy F
 GLIBC_2.34 pthread_rwlockattr_getkind_np F
 GLIBC_2.34 pthread_rwlockattr_getpshared F
+GLIBC_2.34 pthread_rwlockattr_init F
 GLIBC_2.34 pthread_setspecific F
 GLIBC_2.34 pthread_spin_destroy F
 GLIBC_2.34 pthread_spin_init F
@@ -1670,6 +1671,7 @@ GLIBC_2.4 pthread_rwlock_wrlock F
 GLIBC_2.4 pthread_rwlockattr_destroy F
 GLIBC_2.4 pthread_rwlockattr_getkind_np F
 GLIBC_2.4 pthread_rwlockattr_getpshared F
+GLIBC_2.4 pthread_rwlockattr_init F
 GLIBC_2.4 pthread_self F
 GLIBC_2.4 pthread_setcancelstate F
 GLIBC_2.4 pthread_setcanceltype F
diff --git a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
index 5734a3e35b..ece7df9256 100644
--- a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
@@ -60,7 +60,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_rwlockattr_init F
 GLIBC_2.4 pthread_rwlockattr_setkind_np F
 GLIBC_2.4 pthread_rwlockattr_setpshared F
 GLIBC_2.4 pthread_setaffinity_np F
diff --git a/sysdeps/unix/sysv/linux/csky/libc.abilist b/sysdeps/unix/sysv/linux/csky/libc.abilist
index 96b5da8d2c..47648f4887 100644
--- a/sysdeps/unix/sysv/linux/csky/libc.abilist
+++ b/sysdeps/unix/sysv/linux/csky/libc.abilist
@@ -1503,6 +1503,7 @@ GLIBC_2.29 pthread_rwlock_wrlock F
 GLIBC_2.29 pthread_rwlockattr_destroy F
 GLIBC_2.29 pthread_rwlockattr_getkind_np F
 GLIBC_2.29 pthread_rwlockattr_getpshared F
+GLIBC_2.29 pthread_rwlockattr_init F
 GLIBC_2.29 pthread_self F
 GLIBC_2.29 pthread_setcancelstate F
 GLIBC_2.29 pthread_setcanceltype F
@@ -2250,6 +2251,7 @@ GLIBC_2.34 pthread_rwlock_wrlock F
 GLIBC_2.34 pthread_rwlockattr_destroy F
 GLIBC_2.34 pthread_rwlockattr_getkind_np F
 GLIBC_2.34 pthread_rwlockattr_getpshared F
+GLIBC_2.34 pthread_rwlockattr_init F
 GLIBC_2.34 pthread_setspecific F
 GLIBC_2.34 pthread_spin_destroy F
 GLIBC_2.34 pthread_spin_init F
diff --git a/sysdeps/unix/sysv/linux/csky/libpthread.abilist b/sysdeps/unix/sysv/linux/csky/libpthread.abilist
index 37b32390a9..6efc6197cc 100644
--- a/sysdeps/unix/sysv/linux/csky/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/csky/libpthread.abilist
@@ -46,7 +46,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_rwlockattr_init F
 GLIBC_2.29 pthread_rwlockattr_setkind_np F
 GLIBC_2.29 pthread_rwlockattr_setpshared F
 GLIBC_2.29 pthread_setaffinity_np F
diff --git a/sysdeps/unix/sysv/linux/hppa/libc.abilist b/sysdeps/unix/sysv/linux/hppa/libc.abilist
index f20a4ec42a..f05ed8a742 100644
--- a/sysdeps/unix/sysv/linux/hppa/libc.abilist
+++ b/sysdeps/unix/sysv/linux/hppa/libc.abilist
@@ -1327,6 +1327,7 @@ GLIBC_2.2 pthread_rwlock_wrlock F
 GLIBC_2.2 pthread_rwlockattr_destroy F
 GLIBC_2.2 pthread_rwlockattr_getkind_np F
 GLIBC_2.2 pthread_rwlockattr_getpshared F
+GLIBC_2.2 pthread_rwlockattr_init F
 GLIBC_2.2 pthread_self F
 GLIBC_2.2 pthread_setcancelstate F
 GLIBC_2.2 pthread_setcanceltype F
@@ -2201,6 +2202,7 @@ GLIBC_2.34 pthread_rwlock_wrlock F
 GLIBC_2.34 pthread_rwlockattr_destroy F
 GLIBC_2.34 pthread_rwlockattr_getkind_np F
 GLIBC_2.34 pthread_rwlockattr_getpshared F
+GLIBC_2.34 pthread_rwlockattr_init F
 GLIBC_2.34 pthread_setspecific F
 GLIBC_2.34 pthread_spin_destroy F
 GLIBC_2.34 pthread_spin_init F
diff --git a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
index bbadf8d6c5..b5c9fad576 100644
--- a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
@@ -30,7 +30,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_rwlockattr_init F
 GLIBC_2.2 pthread_rwlockattr_setkind_np F
 GLIBC_2.2 pthread_rwlockattr_setpshared F
 GLIBC_2.2 pthread_setconcurrency F
diff --git a/sysdeps/unix/sysv/linux/i386/libc.abilist b/sysdeps/unix/sysv/linux/i386/libc.abilist
index e6546b9d62..222e495feb 100644
--- a/sysdeps/unix/sysv/linux/i386/libc.abilist
+++ b/sysdeps/unix/sysv/linux/i386/libc.abilist
@@ -1584,6 +1584,7 @@ GLIBC_2.1 pthread_rwlock_wrlock F
 GLIBC_2.1 pthread_rwlockattr_destroy F
 GLIBC_2.1 pthread_rwlockattr_getkind_np F
 GLIBC_2.1 pthread_rwlockattr_getpshared F
+GLIBC_2.1 pthread_rwlockattr_init F
 GLIBC_2.1 ptsname F
 GLIBC_2.1 ptsname_r F
 GLIBC_2.1 putgrent F
@@ -2378,6 +2379,7 @@ GLIBC_2.34 pthread_rwlock_wrlock F
 GLIBC_2.34 pthread_rwlockattr_destroy F
 GLIBC_2.34 pthread_rwlockattr_getkind_np F
 GLIBC_2.34 pthread_rwlockattr_getpshared F
+GLIBC_2.34 pthread_rwlockattr_init F
 GLIBC_2.34 pthread_setspecific F
 GLIBC_2.34 pthread_spin_destroy F
 GLIBC_2.34 pthread_spin_init F
diff --git a/sysdeps/unix/sysv/linux/i386/libpthread.abilist b/sysdeps/unix/sysv/linux/i386/libpthread.abilist
index 5eadc40bc8..24d09710bc 100644
--- a/sysdeps/unix/sysv/linux/i386/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/i386/libpthread.abilist
@@ -24,7 +24,6 @@ GLIBC_2.1 pthread_attr_setstackaddr F
 GLIBC_2.1 pthread_attr_setstacksize F
 GLIBC_2.1 pthread_create F
 GLIBC_2.1 pthread_getconcurrency F
-GLIBC_2.1 pthread_rwlockattr_init F
 GLIBC_2.1 pthread_rwlockattr_setkind_np F
 GLIBC_2.1 pthread_rwlockattr_setpshared F
 GLIBC_2.1 pthread_setconcurrency F
diff --git a/sysdeps/unix/sysv/linux/ia64/libc.abilist b/sysdeps/unix/sysv/linux/ia64/libc.abilist
index e24fee9f34..6d34dcb899 100644
--- a/sysdeps/unix/sysv/linux/ia64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/ia64/libc.abilist
@@ -1348,6 +1348,7 @@ GLIBC_2.2 pthread_rwlock_wrlock F
 GLIBC_2.2 pthread_rwlockattr_destroy F
 GLIBC_2.2 pthread_rwlockattr_getkind_np F
 GLIBC_2.2 pthread_rwlockattr_getpshared F
+GLIBC_2.2 pthread_rwlockattr_init F
 GLIBC_2.2 pthread_self F
 GLIBC_2.2 pthread_setcancelstate F
 GLIBC_2.2 pthread_setcanceltype F
@@ -2235,6 +2236,7 @@ GLIBC_2.34 pthread_rwlock_wrlock F
 GLIBC_2.34 pthread_rwlockattr_destroy F
 GLIBC_2.34 pthread_rwlockattr_getkind_np F
 GLIBC_2.34 pthread_rwlockattr_getpshared F
+GLIBC_2.34 pthread_rwlockattr_init F
 GLIBC_2.34 pthread_setspecific F
 GLIBC_2.34 pthread_spin_destroy F
 GLIBC_2.34 pthread_spin_init F
diff --git a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
index 363a00611a..3e575bf89b 100644
--- a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
@@ -30,7 +30,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_rwlockattr_init F
 GLIBC_2.2 pthread_rwlockattr_setkind_np F
 GLIBC_2.2 pthread_rwlockattr_setpshared F
 GLIBC_2.2 pthread_setconcurrency F
diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
index 69b80f390e..1b13100fae 100644
--- a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
@@ -219,6 +219,7 @@ GLIBC_2.34 pthread_rwlock_wrlock F
 GLIBC_2.34 pthread_rwlockattr_destroy F
 GLIBC_2.34 pthread_rwlockattr_getkind_np F
 GLIBC_2.34 pthread_rwlockattr_getpshared F
+GLIBC_2.34 pthread_rwlockattr_init F
 GLIBC_2.34 pthread_setspecific F
 GLIBC_2.34 pthread_spin_destroy F
 GLIBC_2.34 pthread_spin_init F
@@ -1653,6 +1654,7 @@ GLIBC_2.4 pthread_rwlock_wrlock F
 GLIBC_2.4 pthread_rwlockattr_destroy F
 GLIBC_2.4 pthread_rwlockattr_getkind_np F
 GLIBC_2.4 pthread_rwlockattr_getpshared F
+GLIBC_2.4 pthread_rwlockattr_init F
 GLIBC_2.4 pthread_self F
 GLIBC_2.4 pthread_setcancelstate F
 GLIBC_2.4 pthread_setcanceltype F
diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
index 5734a3e35b..ece7df9256 100644
--- a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
@@ -60,7 +60,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_rwlockattr_init F
 GLIBC_2.4 pthread_rwlockattr_setkind_np F
 GLIBC_2.4 pthread_rwlockattr_setpshared F
 GLIBC_2.4 pthread_setaffinity_np F
diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
index ad72065956..38426c8b8c 100644
--- a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
@@ -1580,6 +1580,7 @@ GLIBC_2.1 pthread_rwlock_wrlock F
 GLIBC_2.1 pthread_rwlockattr_destroy F
 GLIBC_2.1 pthread_rwlockattr_getkind_np F
 GLIBC_2.1 pthread_rwlockattr_getpshared F
+GLIBC_2.1 pthread_rwlockattr_init F
 GLIBC_2.1 ptsname F
 GLIBC_2.1 ptsname_r F
 GLIBC_2.1 putgrent F
@@ -2321,6 +2322,7 @@ GLIBC_2.34 pthread_rwlock_wrlock F
 GLIBC_2.34 pthread_rwlockattr_destroy F
 GLIBC_2.34 pthread_rwlockattr_getkind_np F
 GLIBC_2.34 pthread_rwlockattr_getpshared F
+GLIBC_2.34 pthread_rwlockattr_init F
 GLIBC_2.34 pthread_setspecific F
 GLIBC_2.34 pthread_spin_destroy F
 GLIBC_2.34 pthread_spin_init F
diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
index 5eadc40bc8..24d09710bc 100644
--- a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
@@ -24,7 +24,6 @@ GLIBC_2.1 pthread_attr_setstackaddr F
 GLIBC_2.1 pthread_attr_setstacksize F
 GLIBC_2.1 pthread_create F
 GLIBC_2.1 pthread_getconcurrency F
-GLIBC_2.1 pthread_rwlockattr_init F
 GLIBC_2.1 pthread_rwlockattr_setkind_np F
 GLIBC_2.1 pthread_rwlockattr_setpshared F
 GLIBC_2.1 pthread_setconcurrency F
diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
index d6a1eb459e..143dc94842 100644
--- a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
@@ -1518,6 +1518,7 @@ GLIBC_2.18 pthread_rwlock_wrlock F
 GLIBC_2.18 pthread_rwlockattr_destroy F
 GLIBC_2.18 pthread_rwlockattr_getkind_np F
 GLIBC_2.18 pthread_rwlockattr_getpshared F
+GLIBC_2.18 pthread_rwlockattr_init F
 GLIBC_2.18 pthread_self F
 GLIBC_2.18 pthread_setcancelstate F
 GLIBC_2.18 pthread_setcanceltype F
@@ -2301,6 +2302,7 @@ GLIBC_2.34 pthread_rwlock_wrlock F
 GLIBC_2.34 pthread_rwlockattr_destroy F
 GLIBC_2.34 pthread_rwlockattr_getkind_np F
 GLIBC_2.34 pthread_rwlockattr_getpshared F
+GLIBC_2.34 pthread_rwlockattr_init F
 GLIBC_2.34 pthread_setspecific F
 GLIBC_2.34 pthread_spin_destroy F
 GLIBC_2.34 pthread_spin_init F
diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
index cc57750616..d886b68411 100644
--- a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
@@ -33,7 +33,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_rwlockattr_init F
 GLIBC_2.18 pthread_rwlockattr_setkind_np F
 GLIBC_2.18 pthread_rwlockattr_setpshared F
 GLIBC_2.18 pthread_setaffinity_np F
diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
index 3da6064fe0..d19b65cd47 100644
--- a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
@@ -1518,6 +1518,7 @@ GLIBC_2.18 pthread_rwlock_wrlock F
 GLIBC_2.18 pthread_rwlockattr_destroy F
 GLIBC_2.18 pthread_rwlockattr_getkind_np F
 GLIBC_2.18 pthread_rwlockattr_getpshared F
+GLIBC_2.18 pthread_rwlockattr_init F
 GLIBC_2.18 pthread_self F
 GLIBC_2.18 pthread_setcancelstate F
 GLIBC_2.18 pthread_setcanceltype F
@@ -2298,6 +2299,7 @@ GLIBC_2.34 pthread_rwlock_wrlock F
 GLIBC_2.34 pthread_rwlockattr_destroy F
 GLIBC_2.34 pthread_rwlockattr_getkind_np F
 GLIBC_2.34 pthread_rwlockattr_getpshared F
+GLIBC_2.34 pthread_rwlockattr_init F
 GLIBC_2.34 pthread_setspecific F
 GLIBC_2.34 pthread_spin_destroy F
 GLIBC_2.34 pthread_spin_init F
diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
index cc57750616..d886b68411 100644
--- a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
@@ -33,7 +33,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_rwlockattr_init F
 GLIBC_2.18 pthread_rwlockattr_setkind_np F
 GLIBC_2.18 pthread_rwlockattr_setpshared F
 GLIBC_2.18 pthread_setaffinity_np F
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
index 966cefd4a4..458846b0fc 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
@@ -1857,6 +1857,7 @@ GLIBC_2.2 pthread_rwlock_wrlock F
 GLIBC_2.2 pthread_rwlockattr_destroy F
 GLIBC_2.2 pthread_rwlockattr_getkind_np F
 GLIBC_2.2 pthread_rwlockattr_getpshared F
+GLIBC_2.2 pthread_rwlockattr_init F
 GLIBC_2.2 pthread_spin_destroy F
 GLIBC_2.2 pthread_spin_init F
 GLIBC_2.2 pthread_spin_lock F
@@ -2284,6 +2285,7 @@ GLIBC_2.34 pthread_rwlock_wrlock F
 GLIBC_2.34 pthread_rwlockattr_destroy F
 GLIBC_2.34 pthread_rwlockattr_getkind_np F
 GLIBC_2.34 pthread_rwlockattr_getpshared F
+GLIBC_2.34 pthread_rwlockattr_init F
 GLIBC_2.34 pthread_setspecific F
 GLIBC_2.34 pthread_spin_destroy F
 GLIBC_2.34 pthread_spin_init F
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
index 99a6b20a7f..0acdb4f035 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
@@ -38,7 +38,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_rwlockattr_init F
 GLIBC_2.2 pthread_rwlockattr_setkind_np F
 GLIBC_2.2 pthread_rwlockattr_setpshared F
 GLIBC_2.2 pthread_setconcurrency F
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
index 1f4867ccce..0390badae0 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
@@ -1855,6 +1855,7 @@ GLIBC_2.2 pthread_rwlock_wrlock F
 GLIBC_2.2 pthread_rwlockattr_destroy F
 GLIBC_2.2 pthread_rwlockattr_getkind_np F
 GLIBC_2.2 pthread_rwlockattr_getpshared F
+GLIBC_2.2 pthread_rwlockattr_init F
 GLIBC_2.2 pthread_spin_destroy F
 GLIBC_2.2 pthread_spin_init F
 GLIBC_2.2 pthread_spin_lock F
@@ -2282,6 +2283,7 @@ GLIBC_2.34 pthread_rwlock_wrlock F
 GLIBC_2.34 pthread_rwlockattr_destroy F
 GLIBC_2.34 pthread_rwlockattr_getkind_np F
 GLIBC_2.34 pthread_rwlockattr_getpshared F
+GLIBC_2.34 pthread_rwlockattr_init F
 GLIBC_2.34 pthread_setspecific F
 GLIBC_2.34 pthread_spin_destroy F
 GLIBC_2.34 pthread_spin_init F
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
index 99a6b20a7f..0acdb4f035 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
@@ -38,7 +38,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_rwlockattr_init F
 GLIBC_2.2 pthread_rwlockattr_setkind_np F
 GLIBC_2.2 pthread_rwlockattr_setpshared F
 GLIBC_2.2 pthread_setconcurrency F
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
index bdcfd8448b..8df0ed994a 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
@@ -1855,6 +1855,7 @@ GLIBC_2.2 pthread_rwlock_wrlock F
 GLIBC_2.2 pthread_rwlockattr_destroy F
 GLIBC_2.2 pthread_rwlockattr_getkind_np F
 GLIBC_2.2 pthread_rwlockattr_getpshared F
+GLIBC_2.2 pthread_rwlockattr_init F
 GLIBC_2.2 pthread_spin_destroy F
 GLIBC_2.2 pthread_spin_init F
 GLIBC_2.2 pthread_spin_lock F
@@ -2290,6 +2291,7 @@ GLIBC_2.34 pthread_rwlock_wrlock F
 GLIBC_2.34 pthread_rwlockattr_destroy F
 GLIBC_2.34 pthread_rwlockattr_getkind_np F
 GLIBC_2.34 pthread_rwlockattr_getpshared F
+GLIBC_2.34 pthread_rwlockattr_init F
 GLIBC_2.34 pthread_setspecific F
 GLIBC_2.34 pthread_spin_destroy F
 GLIBC_2.34 pthread_spin_init F
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
index 1dd6209fec..f6eb792ada 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
@@ -1851,6 +1851,7 @@ GLIBC_2.2 pthread_rwlock_wrlock F
 GLIBC_2.2 pthread_rwlockattr_destroy F
 GLIBC_2.2 pthread_rwlockattr_getkind_np F
 GLIBC_2.2 pthread_rwlockattr_getpshared F
+GLIBC_2.2 pthread_rwlockattr_init F
 GLIBC_2.2 pthread_spin_destroy F
 GLIBC_2.2 pthread_spin_init F
 GLIBC_2.2 pthread_spin_lock F
@@ -2284,6 +2285,7 @@ GLIBC_2.34 pthread_rwlock_wrlock F
 GLIBC_2.34 pthread_rwlockattr_destroy F
 GLIBC_2.34 pthread_rwlockattr_getkind_np F
 GLIBC_2.34 pthread_rwlockattr_getpshared F
+GLIBC_2.34 pthread_rwlockattr_init F
 GLIBC_2.34 pthread_setspecific F
 GLIBC_2.34 pthread_spin_destroy F
 GLIBC_2.34 pthread_spin_init F
diff --git a/sysdeps/unix/sysv/linux/nios2/libc.abilist b/sysdeps/unix/sysv/linux/nios2/libc.abilist
index db7ab7bff8..ca8eb9fd07 100644
--- a/sysdeps/unix/sysv/linux/nios2/libc.abilist
+++ b/sysdeps/unix/sysv/linux/nios2/libc.abilist
@@ -1561,6 +1561,7 @@ GLIBC_2.21 pthread_rwlock_wrlock F
 GLIBC_2.21 pthread_rwlockattr_destroy F
 GLIBC_2.21 pthread_rwlockattr_getkind_np F
 GLIBC_2.21 pthread_rwlockattr_getpshared F
+GLIBC_2.21 pthread_rwlockattr_init F
 GLIBC_2.21 pthread_self F
 GLIBC_2.21 pthread_setcancelstate F
 GLIBC_2.21 pthread_setcanceltype F
@@ -2340,6 +2341,7 @@ GLIBC_2.34 pthread_rwlock_wrlock F
 GLIBC_2.34 pthread_rwlockattr_destroy F
 GLIBC_2.34 pthread_rwlockattr_getkind_np F
 GLIBC_2.34 pthread_rwlockattr_getpshared F
+GLIBC_2.34 pthread_rwlockattr_init F
 GLIBC_2.34 pthread_setspecific F
 GLIBC_2.34 pthread_spin_destroy F
 GLIBC_2.34 pthread_spin_init F
diff --git a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
index e91492f4b8..b3536149b9 100644
--- a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
@@ -33,7 +33,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_rwlockattr_init F
 GLIBC_2.21 pthread_rwlockattr_setkind_np F
 GLIBC_2.21 pthread_rwlockattr_setpshared F
 GLIBC_2.21 pthread_setaffinity_np F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
index 5280bec0dd..34e4a13a2d 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
@@ -1588,6 +1588,7 @@ GLIBC_2.1 pthread_rwlock_wrlock F
 GLIBC_2.1 pthread_rwlockattr_destroy F
 GLIBC_2.1 pthread_rwlockattr_getkind_np F
 GLIBC_2.1 pthread_rwlockattr_getpshared F
+GLIBC_2.1 pthread_rwlockattr_init F
 GLIBC_2.1 ptsname F
 GLIBC_2.1 ptsname_r F
 GLIBC_2.1 putgrent F
@@ -2348,6 +2349,7 @@ GLIBC_2.34 pthread_rwlock_wrlock F
 GLIBC_2.34 pthread_rwlockattr_destroy F
 GLIBC_2.34 pthread_rwlockattr_getkind_np F
 GLIBC_2.34 pthread_rwlockattr_getpshared F
+GLIBC_2.34 pthread_rwlockattr_init F
 GLIBC_2.34 pthread_setspecific F
 GLIBC_2.34 pthread_spin_destroy F
 GLIBC_2.34 pthread_spin_init F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
index 3567b433e6..c0470dd94f 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
@@ -24,7 +24,6 @@ GLIBC_2.1 pthread_attr_setstackaddr F
 GLIBC_2.1 pthread_attr_setstacksize F
 GLIBC_2.1 pthread_create F
 GLIBC_2.1 pthread_getconcurrency F
-GLIBC_2.1 pthread_rwlockattr_init F
 GLIBC_2.1 pthread_rwlockattr_setkind_np F
 GLIBC_2.1 pthread_rwlockattr_setpshared F
 GLIBC_2.1 pthread_setconcurrency F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
index cbb09a657b..89b78a6779 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
@@ -1588,6 +1588,7 @@ GLIBC_2.1 pthread_rwlock_wrlock F
 GLIBC_2.1 pthread_rwlockattr_destroy F
 GLIBC_2.1 pthread_rwlockattr_getkind_np F
 GLIBC_2.1 pthread_rwlockattr_getpshared F
+GLIBC_2.1 pthread_rwlockattr_init F
 GLIBC_2.1 ptsname F
 GLIBC_2.1 ptsname_r F
 GLIBC_2.1 putgrent F
@@ -2381,6 +2382,7 @@ GLIBC_2.34 pthread_rwlock_wrlock F
 GLIBC_2.34 pthread_rwlockattr_destroy F
 GLIBC_2.34 pthread_rwlockattr_getkind_np F
 GLIBC_2.34 pthread_rwlockattr_getpshared F
+GLIBC_2.34 pthread_rwlockattr_init F
 GLIBC_2.34 pthread_setspecific F
 GLIBC_2.34 pthread_spin_destroy F
 GLIBC_2.34 pthread_spin_init F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
index 8831dc0534..d6f6861a0b 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
@@ -1433,6 +1433,7 @@ GLIBC_2.3 pthread_rwlock_wrlock F
 GLIBC_2.3 pthread_rwlockattr_destroy F
 GLIBC_2.3 pthread_rwlockattr_getkind_np F
 GLIBC_2.3 pthread_rwlockattr_getpshared F
+GLIBC_2.3 pthread_rwlockattr_init F
 GLIBC_2.3 pthread_self F
 GLIBC_2.3 pthread_setcancelstate F
 GLIBC_2.3 pthread_setcanceltype F
@@ -2202,6 +2203,7 @@ GLIBC_2.34 pthread_rwlock_wrlock F
 GLIBC_2.34 pthread_rwlockattr_destroy F
 GLIBC_2.34 pthread_rwlockattr_getkind_np F
 GLIBC_2.34 pthread_rwlockattr_getpshared F
+GLIBC_2.34 pthread_rwlockattr_init F
 GLIBC_2.34 pthread_setspecific F
 GLIBC_2.34 pthread_spin_destroy F
 GLIBC_2.34 pthread_spin_init F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
index ab30e9bf37..8e82511999 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
@@ -51,7 +51,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_rwlockattr_init F
 GLIBC_2.3 pthread_rwlockattr_setkind_np F
 GLIBC_2.3 pthread_rwlockattr_setpshared F
 GLIBC_2.3 pthread_setconcurrency F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
index c58ce82cd3..7522e7631b 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
@@ -1604,6 +1604,7 @@ GLIBC_2.17 pthread_rwlock_wrlock F
 GLIBC_2.17 pthread_rwlockattr_destroy F
 GLIBC_2.17 pthread_rwlockattr_getkind_np F
 GLIBC_2.17 pthread_rwlockattr_getpshared F
+GLIBC_2.17 pthread_rwlockattr_init F
 GLIBC_2.17 pthread_self F
 GLIBC_2.17 pthread_setcancelstate F
 GLIBC_2.17 pthread_setcanceltype F
@@ -2503,6 +2504,7 @@ GLIBC_2.34 pthread_rwlock_wrlock F
 GLIBC_2.34 pthread_rwlockattr_destroy F
 GLIBC_2.34 pthread_rwlockattr_getkind_np F
 GLIBC_2.34 pthread_rwlockattr_getpshared F
+GLIBC_2.34 pthread_rwlockattr_init F
 GLIBC_2.34 pthread_setspecific F
 GLIBC_2.34 pthread_spin_destroy F
 GLIBC_2.34 pthread_spin_init F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
index bdf0f22f05..ab858909d5 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
@@ -32,7 +32,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_rwlockattr_init F
 GLIBC_2.17 pthread_rwlockattr_setkind_np F
 GLIBC_2.17 pthread_rwlockattr_setpshared F
 GLIBC_2.17 pthread_setaffinity_np F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
index 79134951a0..25cc488252 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
@@ -1448,6 +1448,7 @@ GLIBC_2.33 pthread_rwlock_wrlock F
 GLIBC_2.33 pthread_rwlockattr_destroy F
 GLIBC_2.33 pthread_rwlockattr_getkind_np F
 GLIBC_2.33 pthread_rwlockattr_getpshared F
+GLIBC_2.33 pthread_rwlockattr_init F
 GLIBC_2.33 pthread_self F
 GLIBC_2.33 pthread_setcancelstate F
 GLIBC_2.33 pthread_setcanceltype F
@@ -2068,6 +2069,7 @@ GLIBC_2.34 pthread_rwlock_wrlock F
 GLIBC_2.34 pthread_rwlockattr_destroy F
 GLIBC_2.34 pthread_rwlockattr_getkind_np F
 GLIBC_2.34 pthread_rwlockattr_getpshared F
+GLIBC_2.34 pthread_rwlockattr_init F
 GLIBC_2.34 pthread_setspecific F
 GLIBC_2.34 pthread_spin_destroy F
 GLIBC_2.34 pthread_spin_init F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
index 76542efd0c..931a50ab83 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
@@ -47,7 +47,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_rwlockattr_init F
 GLIBC_2.33 pthread_rwlockattr_setkind_np F
 GLIBC_2.33 pthread_rwlockattr_setpshared F
 GLIBC_2.33 pthread_setaffinity_np F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
index d0d9bb5146..b35dfdd918 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
@@ -1506,6 +1506,7 @@ GLIBC_2.27 pthread_rwlock_wrlock F
 GLIBC_2.27 pthread_rwlockattr_destroy F
 GLIBC_2.27 pthread_rwlockattr_getkind_np F
 GLIBC_2.27 pthread_rwlockattr_getpshared F
+GLIBC_2.27 pthread_rwlockattr_init F
 GLIBC_2.27 pthread_self F
 GLIBC_2.27 pthread_setcancelstate F
 GLIBC_2.27 pthread_setcanceltype F
@@ -2268,6 +2269,7 @@ GLIBC_2.34 pthread_rwlock_wrlock F
 GLIBC_2.34 pthread_rwlockattr_destroy F
 GLIBC_2.34 pthread_rwlockattr_getkind_np F
 GLIBC_2.34 pthread_rwlockattr_getpshared F
+GLIBC_2.34 pthread_rwlockattr_init F
 GLIBC_2.34 pthread_setspecific F
 GLIBC_2.34 pthread_spin_destroy F
 GLIBC_2.34 pthread_spin_init F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
index 9c8d67349f..ca76a3be0f 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
@@ -33,7 +33,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_rwlockattr_init F
 GLIBC_2.27 pthread_rwlockattr_setkind_np F
 GLIBC_2.27 pthread_rwlockattr_setpshared F
 GLIBC_2.27 pthread_setaffinity_np F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
index 0b9f799055..6b46845260 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
@@ -1580,6 +1580,7 @@ GLIBC_2.1 pthread_rwlock_wrlock F
 GLIBC_2.1 pthread_rwlockattr_destroy F
 GLIBC_2.1 pthread_rwlockattr_getkind_np F
 GLIBC_2.1 pthread_rwlockattr_getpshared F
+GLIBC_2.1 pthread_rwlockattr_init F
 GLIBC_2.1 ptsname F
 GLIBC_2.1 ptsname_r F
 GLIBC_2.1 putgrent F
@@ -2346,6 +2347,7 @@ GLIBC_2.34 pthread_rwlock_wrlock F
 GLIBC_2.34 pthread_rwlockattr_destroy F
 GLIBC_2.34 pthread_rwlockattr_getkind_np F
 GLIBC_2.34 pthread_rwlockattr_getpshared F
+GLIBC_2.34 pthread_rwlockattr_init F
 GLIBC_2.34 pthread_setspecific F
 GLIBC_2.34 pthread_spin_destroy F
 GLIBC_2.34 pthread_spin_init F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
index 9e7c4018bf..7997715c0f 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
@@ -24,7 +24,6 @@ GLIBC_2.1 pthread_attr_setstackaddr F
 GLIBC_2.1 pthread_attr_setstacksize F
 GLIBC_2.1 pthread_create F
 GLIBC_2.1 pthread_getconcurrency F
-GLIBC_2.1 pthread_rwlockattr_init F
 GLIBC_2.1 pthread_rwlockattr_setkind_np F
 GLIBC_2.1 pthread_rwlockattr_setpshared F
 GLIBC_2.1 pthread_setconcurrency F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
index 18d92aedce..ab59ba576b 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
@@ -1345,6 +1345,7 @@ GLIBC_2.2 pthread_rwlock_wrlock F
 GLIBC_2.2 pthread_rwlockattr_destroy F
 GLIBC_2.2 pthread_rwlockattr_getkind_np F
 GLIBC_2.2 pthread_rwlockattr_getpshared F
+GLIBC_2.2 pthread_rwlockattr_init F
 GLIBC_2.2 pthread_self F
 GLIBC_2.2 pthread_setcancelstate F
 GLIBC_2.2 pthread_setcanceltype F
@@ -2239,6 +2240,7 @@ GLIBC_2.34 pthread_rwlock_wrlock F
 GLIBC_2.34 pthread_rwlockattr_destroy F
 GLIBC_2.34 pthread_rwlockattr_getkind_np F
 GLIBC_2.34 pthread_rwlockattr_getpshared F
+GLIBC_2.34 pthread_rwlockattr_init F
 GLIBC_2.34 pthread_setspecific F
 GLIBC_2.34 pthread_spin_destroy F
 GLIBC_2.34 pthread_spin_init F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
index b20551588f..cfadf59cec 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
@@ -31,7 +31,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_rwlockattr_init F
 GLIBC_2.2 pthread_rwlockattr_setkind_np F
 GLIBC_2.2 pthread_rwlockattr_setpshared F
 GLIBC_2.2 pthread_setconcurrency F
diff --git a/sysdeps/unix/sysv/linux/sh/be/libc.abilist b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
index 66ddceff76..52a904bece 100644
--- a/sysdeps/unix/sysv/linux/sh/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
@@ -1331,6 +1331,7 @@ GLIBC_2.2 pthread_rwlock_wrlock F
 GLIBC_2.2 pthread_rwlockattr_destroy F
 GLIBC_2.2 pthread_rwlockattr_getkind_np F
 GLIBC_2.2 pthread_rwlockattr_getpshared F
+GLIBC_2.2 pthread_rwlockattr_init F
 GLIBC_2.2 pthread_self F
 GLIBC_2.2 pthread_setcancelstate F
 GLIBC_2.2 pthread_setcanceltype F
@@ -2208,6 +2209,7 @@ GLIBC_2.34 pthread_rwlock_wrlock F
 GLIBC_2.34 pthread_rwlockattr_destroy F
 GLIBC_2.34 pthread_rwlockattr_getkind_np F
 GLIBC_2.34 pthread_rwlockattr_getpshared F
+GLIBC_2.34 pthread_rwlockattr_init F
 GLIBC_2.34 pthread_setspecific F
 GLIBC_2.34 pthread_spin_destroy F
 GLIBC_2.34 pthread_spin_init F
diff --git a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
index bbadf8d6c5..b5c9fad576 100644
--- a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
@@ -30,7 +30,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_rwlockattr_init F
 GLIBC_2.2 pthread_rwlockattr_setkind_np F
 GLIBC_2.2 pthread_rwlockattr_setpshared F
 GLIBC_2.2 pthread_setconcurrency F
diff --git a/sysdeps/unix/sysv/linux/sh/le/libc.abilist b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
index da6034db4d..7c635de1a9 100644
--- a/sysdeps/unix/sysv/linux/sh/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
@@ -1331,6 +1331,7 @@ GLIBC_2.2 pthread_rwlock_wrlock F
 GLIBC_2.2 pthread_rwlockattr_destroy F
 GLIBC_2.2 pthread_rwlockattr_getkind_np F
 GLIBC_2.2 pthread_rwlockattr_getpshared F
+GLIBC_2.2 pthread_rwlockattr_init F
 GLIBC_2.2 pthread_self F
 GLIBC_2.2 pthread_setcancelstate F
 GLIBC_2.2 pthread_setcanceltype F
@@ -2205,6 +2206,7 @@ GLIBC_2.34 pthread_rwlock_wrlock F
 GLIBC_2.34 pthread_rwlockattr_destroy F
 GLIBC_2.34 pthread_rwlockattr_getkind_np F
 GLIBC_2.34 pthread_rwlockattr_getpshared F
+GLIBC_2.34 pthread_rwlockattr_init F
 GLIBC_2.34 pthread_setspecific F
 GLIBC_2.34 pthread_spin_destroy F
 GLIBC_2.34 pthread_spin_init F
diff --git a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
index bbadf8d6c5..b5c9fad576 100644
--- a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
@@ -30,7 +30,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_rwlockattr_init F
 GLIBC_2.2 pthread_rwlockattr_setkind_np F
 GLIBC_2.2 pthread_rwlockattr_setpshared F
 GLIBC_2.2 pthread_setconcurrency F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
index ce237f0622..d22861fedc 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
@@ -1581,6 +1581,7 @@ GLIBC_2.1 pthread_rwlock_wrlock F
 GLIBC_2.1 pthread_rwlockattr_destroy F
 GLIBC_2.1 pthread_rwlockattr_getkind_np F
 GLIBC_2.1 pthread_rwlockattr_getpshared F
+GLIBC_2.1 pthread_rwlockattr_init F
 GLIBC_2.1 ptsname F
 GLIBC_2.1 ptsname_r F
 GLIBC_2.1 putgrent F
@@ -2337,6 +2338,7 @@ GLIBC_2.34 pthread_rwlock_wrlock F
 GLIBC_2.34 pthread_rwlockattr_destroy F
 GLIBC_2.34 pthread_rwlockattr_getkind_np F
 GLIBC_2.34 pthread_rwlockattr_getpshared F
+GLIBC_2.34 pthread_rwlockattr_init F
 GLIBC_2.34 pthread_setspecific F
 GLIBC_2.34 pthread_spin_destroy F
 GLIBC_2.34 pthread_spin_init F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
index 14fdab028b..cddd311735 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
@@ -24,7 +24,6 @@ GLIBC_2.1 pthread_attr_setstackaddr F
 GLIBC_2.1 pthread_attr_setstacksize F
 GLIBC_2.1 pthread_create F
 GLIBC_2.1 pthread_getconcurrency F
-GLIBC_2.1 pthread_rwlockattr_init F
 GLIBC_2.1 pthread_rwlockattr_setkind_np F
 GLIBC_2.1 pthread_rwlockattr_setpshared F
 GLIBC_2.1 pthread_setconcurrency F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
index 7e3a70fab5..1321e3778b 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
@@ -1374,6 +1374,7 @@ GLIBC_2.2 pthread_rwlock_wrlock F
 GLIBC_2.2 pthread_rwlockattr_destroy F
 GLIBC_2.2 pthread_rwlockattr_getkind_np F
 GLIBC_2.2 pthread_rwlockattr_getpshared F
+GLIBC_2.2 pthread_rwlockattr_init F
 GLIBC_2.2 pthread_self F
 GLIBC_2.2 pthread_setcancelstate F
 GLIBC_2.2 pthread_setcanceltype F
@@ -2256,6 +2257,7 @@ GLIBC_2.34 pthread_rwlock_wrlock F
 GLIBC_2.34 pthread_rwlockattr_destroy F
 GLIBC_2.34 pthread_rwlockattr_getkind_np F
 GLIBC_2.34 pthread_rwlockattr_getpshared F
+GLIBC_2.34 pthread_rwlockattr_init F
 GLIBC_2.34 pthread_setspecific F
 GLIBC_2.34 pthread_spin_destroy F
 GLIBC_2.34 pthread_spin_init F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
index 363a00611a..3e575bf89b 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
@@ -30,7 +30,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_rwlockattr_init F
 GLIBC_2.2 pthread_rwlockattr_setkind_np F
 GLIBC_2.2 pthread_rwlockattr_setpshared F
 GLIBC_2.2 pthread_setconcurrency F
diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
index a7d1df0fb4..34dd905b5d 100644
--- a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
@@ -1342,6 +1342,7 @@ GLIBC_2.2.5 pthread_rwlock_wrlock F
 GLIBC_2.2.5 pthread_rwlockattr_destroy F
 GLIBC_2.2.5 pthread_rwlockattr_getkind_np F
 GLIBC_2.2.5 pthread_rwlockattr_getpshared F
+GLIBC_2.2.5 pthread_rwlockattr_init F
 GLIBC_2.2.5 pthread_self F
 GLIBC_2.2.5 pthread_setcancelstate F
 GLIBC_2.2.5 pthread_setcanceltype F
@@ -2217,6 +2218,7 @@ GLIBC_2.34 pthread_rwlock_wrlock F
 GLIBC_2.34 pthread_rwlockattr_destroy F
 GLIBC_2.34 pthread_rwlockattr_getkind_np F
 GLIBC_2.34 pthread_rwlockattr_getpshared F
+GLIBC_2.34 pthread_rwlockattr_init F
 GLIBC_2.34 pthread_setspecific F
 GLIBC_2.34 pthread_spin_destroy F
 GLIBC_2.34 pthread_spin_init F
diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
index 8446bb75c6..eddd339dcf 100644
--- a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
@@ -30,7 +30,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_rwlockattr_init F
 GLIBC_2.2.5 pthread_rwlockattr_setkind_np F
 GLIBC_2.2.5 pthread_rwlockattr_setpshared F
 GLIBC_2.2.5 pthread_setconcurrency F
diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
index ffc8af4417..24fd00a5ac 100644
--- a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
@@ -1523,6 +1523,7 @@ GLIBC_2.16 pthread_rwlock_wrlock F
 GLIBC_2.16 pthread_rwlockattr_destroy F
 GLIBC_2.16 pthread_rwlockattr_getkind_np F
 GLIBC_2.16 pthread_rwlockattr_getpshared F
+GLIBC_2.16 pthread_rwlockattr_init F
 GLIBC_2.16 pthread_self F
 GLIBC_2.16 pthread_setcancelstate F
 GLIBC_2.16 pthread_setcanceltype F
@@ -2322,6 +2323,7 @@ GLIBC_2.34 pthread_rwlock_wrlock F
 GLIBC_2.34 pthread_rwlockattr_destroy F
 GLIBC_2.34 pthread_rwlockattr_getkind_np F
 GLIBC_2.34 pthread_rwlockattr_getpshared F
+GLIBC_2.34 pthread_rwlockattr_init F
 GLIBC_2.34 pthread_setspecific F
 GLIBC_2.34 pthread_spin_destroy F
 GLIBC_2.34 pthread_spin_init F
diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
index c828dcde04..bda04a7cc7 100644
--- a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
@@ -32,7 +32,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_rwlockattr_init F
 GLIBC_2.16 pthread_rwlockattr_setkind_np F
 GLIBC_2.16 pthread_rwlockattr_setpshared F
 GLIBC_2.16 pthread_setaffinity_np F
-- 
2.30.2



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

* [PATCH 13/14] nptl: Move pthread_rwlockattr_setkind_np into libc
  2021-04-23 17:36 [PATCH 00/14] nptl: Move remaining rwlock functions into libc Florian Weimer via Libc-alpha
                   ` (11 preceding siblings ...)
  2021-04-23 17:38 ` [PATCH 12/14] nptl: Move pthread_rwlockattr_init " Florian Weimer via Libc-alpha
@ 2021-04-23 17:38 ` Florian Weimer via Libc-alpha
  2021-05-02 19:39   ` Carlos O'Donell via Libc-alpha
  2021-04-23 17:38 ` [PATCH 14/14] nptl: Move pthread_rwlockattr_setpshared " Florian Weimer via Libc-alpha
  2021-05-02 19:30 ` [PATCH 00/14] nptl: Move remaining rwlock functions " Carlos O'Donell via Libc-alpha
  14 siblings, 1 reply; 30+ messages in thread
From: Florian Weimer via Libc-alpha @ 2021-04-23 17:38 UTC (permalink / raw)
  To: libc-alpha

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

diff --git a/nptl/Makefile b/nptl/Makefile
index c36d2baa8e..71c698b4f5 100644
--- a/nptl/Makefile
+++ b/nptl/Makefile
@@ -135,6 +135,7 @@ routines = \
   pthread_rwlockattr_getkind_np \
   pthread_rwlockattr_getpshared \
   pthread_rwlockattr_init \
+  pthread_rwlockattr_setkind_np \
   pthread_self \
   pthread_setcancelstate \
   pthread_setcanceltype \
@@ -190,7 +191,6 @@ libpthread-routines = \
   pthread_getname \
   pthread_join \
   pthread_join_common \
-  pthread_rwlockattr_setkind_np \
   pthread_rwlockattr_setpshared \
   pthread_setaffinity \
   pthread_setattr_default_np \
diff --git a/nptl/Versions b/nptl/Versions
index b546ca9f81..235060101e 100644
--- a/nptl/Versions
+++ b/nptl/Versions
@@ -77,6 +77,7 @@ libc {
     pthread_rwlockattr_getkind_np;
     pthread_rwlockattr_getpshared;
     pthread_rwlockattr_init;
+    pthread_rwlockattr_setkind_np;
   }
   GLIBC_2.2 {
     __pthread_rwlock_destroy;
@@ -210,6 +211,7 @@ libc {
     pthread_rwlockattr_getkind_np;
     pthread_rwlockattr_getpshared;
     pthread_rwlockattr_init;
+    pthread_rwlockattr_setkind_np;
     pthread_setspecific;
     pthread_spin_destroy;
     pthread_spin_init;
@@ -300,7 +302,6 @@ libpthread {
     pthread_attr_setstacksize;
     pthread_create;
     pthread_getconcurrency;
-    pthread_rwlockattr_setkind_np;
     pthread_rwlockattr_setpshared;
     pthread_setconcurrency;
     sem_destroy;
diff --git a/nptl/pthread_rwlockattr_setkind_np.c b/nptl/pthread_rwlockattr_setkind_np.c
index eda7b54bc8..9e13665470 100644
--- a/nptl/pthread_rwlockattr_setkind_np.c
+++ b/nptl/pthread_rwlockattr_setkind_np.c
@@ -18,10 +18,10 @@
 
 #include <errno.h>
 #include "pthreadP.h"
-
+#include <shlib-compat.h>
 
 int
-pthread_rwlockattr_setkind_np (pthread_rwlockattr_t *attr, int pref)
+__pthread_rwlockattr_setkind_np (pthread_rwlockattr_t *attr, int pref)
 {
   struct pthread_rwlockattr *iattr;
 
@@ -36,3 +36,10 @@ pthread_rwlockattr_setkind_np (pthread_rwlockattr_t *attr, int pref)
 
   return 0;
 }
+versioned_symbol (libc, __pthread_rwlockattr_setkind_np,
+                  pthread_rwlockattr_setkind_np, GLIBC_2_34);
+
+#if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_1, GLIBC_2_34)
+compat_symbol (libpthread, __pthread_rwlockattr_setkind_np,
+               pthread_rwlockattr_setkind_np, GLIBC_2_1);
+#endif
diff --git a/sysdeps/unix/sysv/linux/aarch64/libc.abilist b/sysdeps/unix/sysv/linux/aarch64/libc.abilist
index 47094762ae..6c33e2d488 100644
--- a/sysdeps/unix/sysv/linux/aarch64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/aarch64/libc.abilist
@@ -1517,6 +1517,7 @@ GLIBC_2.17 pthread_rwlockattr_destroy F
 GLIBC_2.17 pthread_rwlockattr_getkind_np F
 GLIBC_2.17 pthread_rwlockattr_getpshared F
 GLIBC_2.17 pthread_rwlockattr_init F
+GLIBC_2.17 pthread_rwlockattr_setkind_np F
 GLIBC_2.17 pthread_self F
 GLIBC_2.17 pthread_setcancelstate F
 GLIBC_2.17 pthread_setcanceltype F
@@ -2309,6 +2310,7 @@ GLIBC_2.34 pthread_rwlockattr_destroy F
 GLIBC_2.34 pthread_rwlockattr_getkind_np F
 GLIBC_2.34 pthread_rwlockattr_getpshared F
 GLIBC_2.34 pthread_rwlockattr_init F
+GLIBC_2.34 pthread_rwlockattr_setkind_np F
 GLIBC_2.34 pthread_setspecific F
 GLIBC_2.34 pthread_spin_destroy F
 GLIBC_2.34 pthread_spin_init F
diff --git a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
index ab858909d5..78fd215f41 100644
--- a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
@@ -32,7 +32,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_rwlockattr_setkind_np F
 GLIBC_2.17 pthread_rwlockattr_setpshared F
 GLIBC_2.17 pthread_setaffinity_np F
 GLIBC_2.17 pthread_setconcurrency F
diff --git a/sysdeps/unix/sysv/linux/alpha/libc.abilist b/sysdeps/unix/sysv/linux/alpha/libc.abilist
index b31a5c2ab0..0827b4897c 100644
--- a/sysdeps/unix/sysv/linux/alpha/libc.abilist
+++ b/sysdeps/unix/sysv/linux/alpha/libc.abilist
@@ -1617,6 +1617,7 @@ GLIBC_2.1 pthread_rwlockattr_destroy F
 GLIBC_2.1 pthread_rwlockattr_getkind_np F
 GLIBC_2.1 pthread_rwlockattr_getpshared F
 GLIBC_2.1 pthread_rwlockattr_init F
+GLIBC_2.1 pthread_rwlockattr_setkind_np F
 GLIBC_2.1 ptsname F
 GLIBC_2.1 ptsname_r F
 GLIBC_2.1 putgrent F
@@ -2390,6 +2391,7 @@ GLIBC_2.34 pthread_rwlockattr_destroy F
 GLIBC_2.34 pthread_rwlockattr_getkind_np F
 GLIBC_2.34 pthread_rwlockattr_getpshared F
 GLIBC_2.34 pthread_rwlockattr_init F
+GLIBC_2.34 pthread_rwlockattr_setkind_np F
 GLIBC_2.34 pthread_setspecific F
 GLIBC_2.34 pthread_spin_destroy F
 GLIBC_2.34 pthread_spin_init F
diff --git a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
index cddd311735..25c6d113d8 100644
--- a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
@@ -24,7 +24,6 @@ GLIBC_2.1 pthread_attr_setstackaddr F
 GLIBC_2.1 pthread_attr_setstacksize F
 GLIBC_2.1 pthread_create F
 GLIBC_2.1 pthread_getconcurrency F
-GLIBC_2.1 pthread_rwlockattr_setkind_np F
 GLIBC_2.1 pthread_rwlockattr_setpshared F
 GLIBC_2.1 pthread_setconcurrency F
 GLIBC_2.1 sem_destroy F
diff --git a/sysdeps/unix/sysv/linux/arc/libc.abilist b/sysdeps/unix/sysv/linux/arc/libc.abilist
index 49e43e2cf6..4a964150d4 100644
--- a/sysdeps/unix/sysv/linux/arc/libc.abilist
+++ b/sysdeps/unix/sysv/linux/arc/libc.abilist
@@ -1447,6 +1447,7 @@ GLIBC_2.32 pthread_rwlockattr_destroy F
 GLIBC_2.32 pthread_rwlockattr_getkind_np F
 GLIBC_2.32 pthread_rwlockattr_getpshared F
 GLIBC_2.32 pthread_rwlockattr_init F
+GLIBC_2.32 pthread_rwlockattr_setkind_np F
 GLIBC_2.32 pthread_self F
 GLIBC_2.32 pthread_setcancelstate F
 GLIBC_2.32 pthread_setcanceltype F
@@ -2068,6 +2069,7 @@ GLIBC_2.34 pthread_rwlockattr_destroy F
 GLIBC_2.34 pthread_rwlockattr_getkind_np F
 GLIBC_2.34 pthread_rwlockattr_getpshared F
 GLIBC_2.34 pthread_rwlockattr_init F
+GLIBC_2.34 pthread_rwlockattr_setkind_np F
 GLIBC_2.34 pthread_setspecific F
 GLIBC_2.34 pthread_spin_destroy F
 GLIBC_2.34 pthread_spin_init F
diff --git a/sysdeps/unix/sysv/linux/arc/libpthread.abilist b/sysdeps/unix/sysv/linux/arc/libpthread.abilist
index 6354dc37c2..490200a117 100644
--- a/sysdeps/unix/sysv/linux/arc/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/arc/libpthread.abilist
@@ -47,7 +47,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_rwlockattr_setkind_np F
 GLIBC_2.32 pthread_rwlockattr_setpshared F
 GLIBC_2.32 pthread_setaffinity_np F
 GLIBC_2.32 pthread_setattr_default_np F
diff --git a/sysdeps/unix/sysv/linux/arm/be/libc.abilist b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
index bdcdb6ee4f..fc64aeb74d 100644
--- a/sysdeps/unix/sysv/linux/arm/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
@@ -219,6 +219,7 @@ GLIBC_2.34 pthread_rwlockattr_destroy F
 GLIBC_2.34 pthread_rwlockattr_getkind_np F
 GLIBC_2.34 pthread_rwlockattr_getpshared F
 GLIBC_2.34 pthread_rwlockattr_init F
+GLIBC_2.34 pthread_rwlockattr_setkind_np F
 GLIBC_2.34 pthread_setspecific F
 GLIBC_2.34 pthread_spin_destroy F
 GLIBC_2.34 pthread_spin_init F
@@ -1675,6 +1676,7 @@ GLIBC_2.4 pthread_rwlockattr_destroy F
 GLIBC_2.4 pthread_rwlockattr_getkind_np F
 GLIBC_2.4 pthread_rwlockattr_getpshared F
 GLIBC_2.4 pthread_rwlockattr_init F
+GLIBC_2.4 pthread_rwlockattr_setkind_np F
 GLIBC_2.4 pthread_self F
 GLIBC_2.4 pthread_setcancelstate F
 GLIBC_2.4 pthread_setcanceltype F
diff --git a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
index ece7df9256..407b8b52c9 100644
--- a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
@@ -60,7 +60,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_rwlockattr_setkind_np F
 GLIBC_2.4 pthread_rwlockattr_setpshared F
 GLIBC_2.4 pthread_setaffinity_np F
 GLIBC_2.4 pthread_setconcurrency F
diff --git a/sysdeps/unix/sysv/linux/arm/le/libc.abilist b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
index 9033a872e2..4d8f0921f0 100644
--- a/sysdeps/unix/sysv/linux/arm/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
@@ -216,6 +216,7 @@ GLIBC_2.34 pthread_rwlockattr_destroy F
 GLIBC_2.34 pthread_rwlockattr_getkind_np F
 GLIBC_2.34 pthread_rwlockattr_getpshared F
 GLIBC_2.34 pthread_rwlockattr_init F
+GLIBC_2.34 pthread_rwlockattr_setkind_np F
 GLIBC_2.34 pthread_setspecific F
 GLIBC_2.34 pthread_spin_destroy F
 GLIBC_2.34 pthread_spin_init F
@@ -1672,6 +1673,7 @@ GLIBC_2.4 pthread_rwlockattr_destroy F
 GLIBC_2.4 pthread_rwlockattr_getkind_np F
 GLIBC_2.4 pthread_rwlockattr_getpshared F
 GLIBC_2.4 pthread_rwlockattr_init F
+GLIBC_2.4 pthread_rwlockattr_setkind_np F
 GLIBC_2.4 pthread_self F
 GLIBC_2.4 pthread_setcancelstate F
 GLIBC_2.4 pthread_setcanceltype F
diff --git a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
index ece7df9256..407b8b52c9 100644
--- a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
@@ -60,7 +60,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_rwlockattr_setkind_np F
 GLIBC_2.4 pthread_rwlockattr_setpshared F
 GLIBC_2.4 pthread_setaffinity_np F
 GLIBC_2.4 pthread_setconcurrency F
diff --git a/sysdeps/unix/sysv/linux/csky/libc.abilist b/sysdeps/unix/sysv/linux/csky/libc.abilist
index 47648f4887..d64664bc47 100644
--- a/sysdeps/unix/sysv/linux/csky/libc.abilist
+++ b/sysdeps/unix/sysv/linux/csky/libc.abilist
@@ -1504,6 +1504,7 @@ GLIBC_2.29 pthread_rwlockattr_destroy F
 GLIBC_2.29 pthread_rwlockattr_getkind_np F
 GLIBC_2.29 pthread_rwlockattr_getpshared F
 GLIBC_2.29 pthread_rwlockattr_init F
+GLIBC_2.29 pthread_rwlockattr_setkind_np F
 GLIBC_2.29 pthread_self F
 GLIBC_2.29 pthread_setcancelstate F
 GLIBC_2.29 pthread_setcanceltype F
@@ -2252,6 +2253,7 @@ GLIBC_2.34 pthread_rwlockattr_destroy F
 GLIBC_2.34 pthread_rwlockattr_getkind_np F
 GLIBC_2.34 pthread_rwlockattr_getpshared F
 GLIBC_2.34 pthread_rwlockattr_init F
+GLIBC_2.34 pthread_rwlockattr_setkind_np F
 GLIBC_2.34 pthread_setspecific F
 GLIBC_2.34 pthread_spin_destroy F
 GLIBC_2.34 pthread_spin_init F
diff --git a/sysdeps/unix/sysv/linux/csky/libpthread.abilist b/sysdeps/unix/sysv/linux/csky/libpthread.abilist
index 6efc6197cc..f74ba640b8 100644
--- a/sysdeps/unix/sysv/linux/csky/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/csky/libpthread.abilist
@@ -46,7 +46,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_rwlockattr_setkind_np F
 GLIBC_2.29 pthread_rwlockattr_setpshared F
 GLIBC_2.29 pthread_setaffinity_np F
 GLIBC_2.29 pthread_setattr_default_np F
diff --git a/sysdeps/unix/sysv/linux/hppa/libc.abilist b/sysdeps/unix/sysv/linux/hppa/libc.abilist
index f05ed8a742..ecfe3a62fe 100644
--- a/sysdeps/unix/sysv/linux/hppa/libc.abilist
+++ b/sysdeps/unix/sysv/linux/hppa/libc.abilist
@@ -1328,6 +1328,7 @@ GLIBC_2.2 pthread_rwlockattr_destroy F
 GLIBC_2.2 pthread_rwlockattr_getkind_np F
 GLIBC_2.2 pthread_rwlockattr_getpshared F
 GLIBC_2.2 pthread_rwlockattr_init F
+GLIBC_2.2 pthread_rwlockattr_setkind_np F
 GLIBC_2.2 pthread_self F
 GLIBC_2.2 pthread_setcancelstate F
 GLIBC_2.2 pthread_setcanceltype F
@@ -2203,6 +2204,7 @@ GLIBC_2.34 pthread_rwlockattr_destroy F
 GLIBC_2.34 pthread_rwlockattr_getkind_np F
 GLIBC_2.34 pthread_rwlockattr_getpshared F
 GLIBC_2.34 pthread_rwlockattr_init F
+GLIBC_2.34 pthread_rwlockattr_setkind_np F
 GLIBC_2.34 pthread_setspecific F
 GLIBC_2.34 pthread_spin_destroy F
 GLIBC_2.34 pthread_spin_init F
diff --git a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
index b5c9fad576..0e0b33dd4f 100644
--- a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
@@ -30,7 +30,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_rwlockattr_setkind_np F
 GLIBC_2.2 pthread_rwlockattr_setpshared F
 GLIBC_2.2 pthread_setconcurrency F
 GLIBC_2.2 pthread_testcancel F
diff --git a/sysdeps/unix/sysv/linux/i386/libc.abilist b/sysdeps/unix/sysv/linux/i386/libc.abilist
index 222e495feb..77baa063c8 100644
--- a/sysdeps/unix/sysv/linux/i386/libc.abilist
+++ b/sysdeps/unix/sysv/linux/i386/libc.abilist
@@ -1585,6 +1585,7 @@ GLIBC_2.1 pthread_rwlockattr_destroy F
 GLIBC_2.1 pthread_rwlockattr_getkind_np F
 GLIBC_2.1 pthread_rwlockattr_getpshared F
 GLIBC_2.1 pthread_rwlockattr_init F
+GLIBC_2.1 pthread_rwlockattr_setkind_np F
 GLIBC_2.1 ptsname F
 GLIBC_2.1 ptsname_r F
 GLIBC_2.1 putgrent F
@@ -2380,6 +2381,7 @@ GLIBC_2.34 pthread_rwlockattr_destroy F
 GLIBC_2.34 pthread_rwlockattr_getkind_np F
 GLIBC_2.34 pthread_rwlockattr_getpshared F
 GLIBC_2.34 pthread_rwlockattr_init F
+GLIBC_2.34 pthread_rwlockattr_setkind_np F
 GLIBC_2.34 pthread_setspecific F
 GLIBC_2.34 pthread_spin_destroy F
 GLIBC_2.34 pthread_spin_init F
diff --git a/sysdeps/unix/sysv/linux/i386/libpthread.abilist b/sysdeps/unix/sysv/linux/i386/libpthread.abilist
index 24d09710bc..27a09876c2 100644
--- a/sysdeps/unix/sysv/linux/i386/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/i386/libpthread.abilist
@@ -24,7 +24,6 @@ GLIBC_2.1 pthread_attr_setstackaddr F
 GLIBC_2.1 pthread_attr_setstacksize F
 GLIBC_2.1 pthread_create F
 GLIBC_2.1 pthread_getconcurrency F
-GLIBC_2.1 pthread_rwlockattr_setkind_np F
 GLIBC_2.1 pthread_rwlockattr_setpshared F
 GLIBC_2.1 pthread_setconcurrency F
 GLIBC_2.1 sem_destroy F
diff --git a/sysdeps/unix/sysv/linux/ia64/libc.abilist b/sysdeps/unix/sysv/linux/ia64/libc.abilist
index 6d34dcb899..e7cbb60624 100644
--- a/sysdeps/unix/sysv/linux/ia64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/ia64/libc.abilist
@@ -1349,6 +1349,7 @@ GLIBC_2.2 pthread_rwlockattr_destroy F
 GLIBC_2.2 pthread_rwlockattr_getkind_np F
 GLIBC_2.2 pthread_rwlockattr_getpshared F
 GLIBC_2.2 pthread_rwlockattr_init F
+GLIBC_2.2 pthread_rwlockattr_setkind_np F
 GLIBC_2.2 pthread_self F
 GLIBC_2.2 pthread_setcancelstate F
 GLIBC_2.2 pthread_setcanceltype F
@@ -2237,6 +2238,7 @@ GLIBC_2.34 pthread_rwlockattr_destroy F
 GLIBC_2.34 pthread_rwlockattr_getkind_np F
 GLIBC_2.34 pthread_rwlockattr_getpshared F
 GLIBC_2.34 pthread_rwlockattr_init F
+GLIBC_2.34 pthread_rwlockattr_setkind_np F
 GLIBC_2.34 pthread_setspecific F
 GLIBC_2.34 pthread_spin_destroy F
 GLIBC_2.34 pthread_spin_init F
diff --git a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
index 3e575bf89b..8c4aedda72 100644
--- a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
@@ -30,7 +30,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_rwlockattr_setkind_np F
 GLIBC_2.2 pthread_rwlockattr_setpshared F
 GLIBC_2.2 pthread_setconcurrency F
 GLIBC_2.2 pthread_testcancel F
diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
index 1b13100fae..6ce10020cd 100644
--- a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
@@ -220,6 +220,7 @@ GLIBC_2.34 pthread_rwlockattr_destroy F
 GLIBC_2.34 pthread_rwlockattr_getkind_np F
 GLIBC_2.34 pthread_rwlockattr_getpshared F
 GLIBC_2.34 pthread_rwlockattr_init F
+GLIBC_2.34 pthread_rwlockattr_setkind_np F
 GLIBC_2.34 pthread_setspecific F
 GLIBC_2.34 pthread_spin_destroy F
 GLIBC_2.34 pthread_spin_init F
@@ -1655,6 +1656,7 @@ GLIBC_2.4 pthread_rwlockattr_destroy F
 GLIBC_2.4 pthread_rwlockattr_getkind_np F
 GLIBC_2.4 pthread_rwlockattr_getpshared F
 GLIBC_2.4 pthread_rwlockattr_init F
+GLIBC_2.4 pthread_rwlockattr_setkind_np F
 GLIBC_2.4 pthread_self F
 GLIBC_2.4 pthread_setcancelstate F
 GLIBC_2.4 pthread_setcanceltype F
diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
index ece7df9256..407b8b52c9 100644
--- a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
@@ -60,7 +60,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_rwlockattr_setkind_np F
 GLIBC_2.4 pthread_rwlockattr_setpshared F
 GLIBC_2.4 pthread_setaffinity_np F
 GLIBC_2.4 pthread_setconcurrency F
diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
index 38426c8b8c..d4221acb1f 100644
--- a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
@@ -1581,6 +1581,7 @@ GLIBC_2.1 pthread_rwlockattr_destroy F
 GLIBC_2.1 pthread_rwlockattr_getkind_np F
 GLIBC_2.1 pthread_rwlockattr_getpshared F
 GLIBC_2.1 pthread_rwlockattr_init F
+GLIBC_2.1 pthread_rwlockattr_setkind_np F
 GLIBC_2.1 ptsname F
 GLIBC_2.1 ptsname_r F
 GLIBC_2.1 putgrent F
@@ -2323,6 +2324,7 @@ GLIBC_2.34 pthread_rwlockattr_destroy F
 GLIBC_2.34 pthread_rwlockattr_getkind_np F
 GLIBC_2.34 pthread_rwlockattr_getpshared F
 GLIBC_2.34 pthread_rwlockattr_init F
+GLIBC_2.34 pthread_rwlockattr_setkind_np F
 GLIBC_2.34 pthread_setspecific F
 GLIBC_2.34 pthread_spin_destroy F
 GLIBC_2.34 pthread_spin_init F
diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
index 24d09710bc..27a09876c2 100644
--- a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
@@ -24,7 +24,6 @@ GLIBC_2.1 pthread_attr_setstackaddr F
 GLIBC_2.1 pthread_attr_setstacksize F
 GLIBC_2.1 pthread_create F
 GLIBC_2.1 pthread_getconcurrency F
-GLIBC_2.1 pthread_rwlockattr_setkind_np F
 GLIBC_2.1 pthread_rwlockattr_setpshared F
 GLIBC_2.1 pthread_setconcurrency F
 GLIBC_2.1 sem_destroy F
diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
index 143dc94842..ddca43520f 100644
--- a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
@@ -1519,6 +1519,7 @@ GLIBC_2.18 pthread_rwlockattr_destroy F
 GLIBC_2.18 pthread_rwlockattr_getkind_np F
 GLIBC_2.18 pthread_rwlockattr_getpshared F
 GLIBC_2.18 pthread_rwlockattr_init F
+GLIBC_2.18 pthread_rwlockattr_setkind_np F
 GLIBC_2.18 pthread_self F
 GLIBC_2.18 pthread_setcancelstate F
 GLIBC_2.18 pthread_setcanceltype F
@@ -2303,6 +2304,7 @@ GLIBC_2.34 pthread_rwlockattr_destroy F
 GLIBC_2.34 pthread_rwlockattr_getkind_np F
 GLIBC_2.34 pthread_rwlockattr_getpshared F
 GLIBC_2.34 pthread_rwlockattr_init F
+GLIBC_2.34 pthread_rwlockattr_setkind_np F
 GLIBC_2.34 pthread_setspecific F
 GLIBC_2.34 pthread_spin_destroy F
 GLIBC_2.34 pthread_spin_init F
diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
index d886b68411..be7e874a39 100644
--- a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
@@ -33,7 +33,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_rwlockattr_setkind_np F
 GLIBC_2.18 pthread_rwlockattr_setpshared F
 GLIBC_2.18 pthread_setaffinity_np F
 GLIBC_2.18 pthread_setattr_default_np F
diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
index d19b65cd47..8ac2cedd2f 100644
--- a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
@@ -1519,6 +1519,7 @@ GLIBC_2.18 pthread_rwlockattr_destroy F
 GLIBC_2.18 pthread_rwlockattr_getkind_np F
 GLIBC_2.18 pthread_rwlockattr_getpshared F
 GLIBC_2.18 pthread_rwlockattr_init F
+GLIBC_2.18 pthread_rwlockattr_setkind_np F
 GLIBC_2.18 pthread_self F
 GLIBC_2.18 pthread_setcancelstate F
 GLIBC_2.18 pthread_setcanceltype F
@@ -2300,6 +2301,7 @@ GLIBC_2.34 pthread_rwlockattr_destroy F
 GLIBC_2.34 pthread_rwlockattr_getkind_np F
 GLIBC_2.34 pthread_rwlockattr_getpshared F
 GLIBC_2.34 pthread_rwlockattr_init F
+GLIBC_2.34 pthread_rwlockattr_setkind_np F
 GLIBC_2.34 pthread_setspecific F
 GLIBC_2.34 pthread_spin_destroy F
 GLIBC_2.34 pthread_spin_init F
diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
index d886b68411..be7e874a39 100644
--- a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
@@ -33,7 +33,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_rwlockattr_setkind_np F
 GLIBC_2.18 pthread_rwlockattr_setpshared F
 GLIBC_2.18 pthread_setaffinity_np F
 GLIBC_2.18 pthread_setattr_default_np F
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
index 458846b0fc..b1272c8d40 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
@@ -1858,6 +1858,7 @@ GLIBC_2.2 pthread_rwlockattr_destroy F
 GLIBC_2.2 pthread_rwlockattr_getkind_np F
 GLIBC_2.2 pthread_rwlockattr_getpshared F
 GLIBC_2.2 pthread_rwlockattr_init F
+GLIBC_2.2 pthread_rwlockattr_setkind_np F
 GLIBC_2.2 pthread_spin_destroy F
 GLIBC_2.2 pthread_spin_init F
 GLIBC_2.2 pthread_spin_lock F
@@ -2286,6 +2287,7 @@ GLIBC_2.34 pthread_rwlockattr_destroy F
 GLIBC_2.34 pthread_rwlockattr_getkind_np F
 GLIBC_2.34 pthread_rwlockattr_getpshared F
 GLIBC_2.34 pthread_rwlockattr_init F
+GLIBC_2.34 pthread_rwlockattr_setkind_np F
 GLIBC_2.34 pthread_setspecific F
 GLIBC_2.34 pthread_spin_destroy F
 GLIBC_2.34 pthread_spin_init F
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
index 0acdb4f035..137cc270e0 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
@@ -38,7 +38,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_rwlockattr_setkind_np F
 GLIBC_2.2 pthread_rwlockattr_setpshared F
 GLIBC_2.2 pthread_setconcurrency F
 GLIBC_2.2 pthread_yield F
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
index 0390badae0..73c6f52416 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
@@ -1856,6 +1856,7 @@ GLIBC_2.2 pthread_rwlockattr_destroy F
 GLIBC_2.2 pthread_rwlockattr_getkind_np F
 GLIBC_2.2 pthread_rwlockattr_getpshared F
 GLIBC_2.2 pthread_rwlockattr_init F
+GLIBC_2.2 pthread_rwlockattr_setkind_np F
 GLIBC_2.2 pthread_spin_destroy F
 GLIBC_2.2 pthread_spin_init F
 GLIBC_2.2 pthread_spin_lock F
@@ -2284,6 +2285,7 @@ GLIBC_2.34 pthread_rwlockattr_destroy F
 GLIBC_2.34 pthread_rwlockattr_getkind_np F
 GLIBC_2.34 pthread_rwlockattr_getpshared F
 GLIBC_2.34 pthread_rwlockattr_init F
+GLIBC_2.34 pthread_rwlockattr_setkind_np F
 GLIBC_2.34 pthread_setspecific F
 GLIBC_2.34 pthread_spin_destroy F
 GLIBC_2.34 pthread_spin_init F
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
index 0acdb4f035..137cc270e0 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
@@ -38,7 +38,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_rwlockattr_setkind_np F
 GLIBC_2.2 pthread_rwlockattr_setpshared F
 GLIBC_2.2 pthread_setconcurrency F
 GLIBC_2.2 pthread_yield F
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
index 8df0ed994a..1791cf1e87 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
@@ -1856,6 +1856,7 @@ GLIBC_2.2 pthread_rwlockattr_destroy F
 GLIBC_2.2 pthread_rwlockattr_getkind_np F
 GLIBC_2.2 pthread_rwlockattr_getpshared F
 GLIBC_2.2 pthread_rwlockattr_init F
+GLIBC_2.2 pthread_rwlockattr_setkind_np F
 GLIBC_2.2 pthread_spin_destroy F
 GLIBC_2.2 pthread_spin_init F
 GLIBC_2.2 pthread_spin_lock F
@@ -2292,6 +2293,7 @@ GLIBC_2.34 pthread_rwlockattr_destroy F
 GLIBC_2.34 pthread_rwlockattr_getkind_np F
 GLIBC_2.34 pthread_rwlockattr_getpshared F
 GLIBC_2.34 pthread_rwlockattr_init F
+GLIBC_2.34 pthread_rwlockattr_setkind_np F
 GLIBC_2.34 pthread_setspecific F
 GLIBC_2.34 pthread_spin_destroy F
 GLIBC_2.34 pthread_spin_init F
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
index f6eb792ada..c7c68b7247 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
@@ -1852,6 +1852,7 @@ GLIBC_2.2 pthread_rwlockattr_destroy F
 GLIBC_2.2 pthread_rwlockattr_getkind_np F
 GLIBC_2.2 pthread_rwlockattr_getpshared F
 GLIBC_2.2 pthread_rwlockattr_init F
+GLIBC_2.2 pthread_rwlockattr_setkind_np F
 GLIBC_2.2 pthread_spin_destroy F
 GLIBC_2.2 pthread_spin_init F
 GLIBC_2.2 pthread_spin_lock F
@@ -2286,6 +2287,7 @@ GLIBC_2.34 pthread_rwlockattr_destroy F
 GLIBC_2.34 pthread_rwlockattr_getkind_np F
 GLIBC_2.34 pthread_rwlockattr_getpshared F
 GLIBC_2.34 pthread_rwlockattr_init F
+GLIBC_2.34 pthread_rwlockattr_setkind_np F
 GLIBC_2.34 pthread_setspecific F
 GLIBC_2.34 pthread_spin_destroy F
 GLIBC_2.34 pthread_spin_init F
diff --git a/sysdeps/unix/sysv/linux/nios2/libc.abilist b/sysdeps/unix/sysv/linux/nios2/libc.abilist
index ca8eb9fd07..5a5bf9ecd9 100644
--- a/sysdeps/unix/sysv/linux/nios2/libc.abilist
+++ b/sysdeps/unix/sysv/linux/nios2/libc.abilist
@@ -1562,6 +1562,7 @@ GLIBC_2.21 pthread_rwlockattr_destroy F
 GLIBC_2.21 pthread_rwlockattr_getkind_np F
 GLIBC_2.21 pthread_rwlockattr_getpshared F
 GLIBC_2.21 pthread_rwlockattr_init F
+GLIBC_2.21 pthread_rwlockattr_setkind_np F
 GLIBC_2.21 pthread_self F
 GLIBC_2.21 pthread_setcancelstate F
 GLIBC_2.21 pthread_setcanceltype F
@@ -2342,6 +2343,7 @@ GLIBC_2.34 pthread_rwlockattr_destroy F
 GLIBC_2.34 pthread_rwlockattr_getkind_np F
 GLIBC_2.34 pthread_rwlockattr_getpshared F
 GLIBC_2.34 pthread_rwlockattr_init F
+GLIBC_2.34 pthread_rwlockattr_setkind_np F
 GLIBC_2.34 pthread_setspecific F
 GLIBC_2.34 pthread_spin_destroy F
 GLIBC_2.34 pthread_spin_init F
diff --git a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
index b3536149b9..33bc9c4189 100644
--- a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
@@ -33,7 +33,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_rwlockattr_setkind_np F
 GLIBC_2.21 pthread_rwlockattr_setpshared F
 GLIBC_2.21 pthread_setaffinity_np F
 GLIBC_2.21 pthread_setattr_default_np F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
index 34e4a13a2d..1bd3207525 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
@@ -1589,6 +1589,7 @@ GLIBC_2.1 pthread_rwlockattr_destroy F
 GLIBC_2.1 pthread_rwlockattr_getkind_np F
 GLIBC_2.1 pthread_rwlockattr_getpshared F
 GLIBC_2.1 pthread_rwlockattr_init F
+GLIBC_2.1 pthread_rwlockattr_setkind_np F
 GLIBC_2.1 ptsname F
 GLIBC_2.1 ptsname_r F
 GLIBC_2.1 putgrent F
@@ -2350,6 +2351,7 @@ GLIBC_2.34 pthread_rwlockattr_destroy F
 GLIBC_2.34 pthread_rwlockattr_getkind_np F
 GLIBC_2.34 pthread_rwlockattr_getpshared F
 GLIBC_2.34 pthread_rwlockattr_init F
+GLIBC_2.34 pthread_rwlockattr_setkind_np F
 GLIBC_2.34 pthread_setspecific F
 GLIBC_2.34 pthread_spin_destroy F
 GLIBC_2.34 pthread_spin_init F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
index c0470dd94f..1687b2643c 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
@@ -24,7 +24,6 @@ GLIBC_2.1 pthread_attr_setstackaddr F
 GLIBC_2.1 pthread_attr_setstacksize F
 GLIBC_2.1 pthread_create F
 GLIBC_2.1 pthread_getconcurrency F
-GLIBC_2.1 pthread_rwlockattr_setkind_np F
 GLIBC_2.1 pthread_rwlockattr_setpshared F
 GLIBC_2.1 pthread_setconcurrency F
 GLIBC_2.1 sem_destroy F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
index 89b78a6779..1e6b0bb015 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
@@ -1589,6 +1589,7 @@ GLIBC_2.1 pthread_rwlockattr_destroy F
 GLIBC_2.1 pthread_rwlockattr_getkind_np F
 GLIBC_2.1 pthread_rwlockattr_getpshared F
 GLIBC_2.1 pthread_rwlockattr_init F
+GLIBC_2.1 pthread_rwlockattr_setkind_np F
 GLIBC_2.1 ptsname F
 GLIBC_2.1 ptsname_r F
 GLIBC_2.1 putgrent F
@@ -2383,6 +2384,7 @@ GLIBC_2.34 pthread_rwlockattr_destroy F
 GLIBC_2.34 pthread_rwlockattr_getkind_np F
 GLIBC_2.34 pthread_rwlockattr_getpshared F
 GLIBC_2.34 pthread_rwlockattr_init F
+GLIBC_2.34 pthread_rwlockattr_setkind_np F
 GLIBC_2.34 pthread_setspecific F
 GLIBC_2.34 pthread_spin_destroy F
 GLIBC_2.34 pthread_spin_init F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
index d6f6861a0b..6f8d7a493b 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
@@ -1434,6 +1434,7 @@ GLIBC_2.3 pthread_rwlockattr_destroy F
 GLIBC_2.3 pthread_rwlockattr_getkind_np F
 GLIBC_2.3 pthread_rwlockattr_getpshared F
 GLIBC_2.3 pthread_rwlockattr_init F
+GLIBC_2.3 pthread_rwlockattr_setkind_np F
 GLIBC_2.3 pthread_self F
 GLIBC_2.3 pthread_setcancelstate F
 GLIBC_2.3 pthread_setcanceltype F
@@ -2204,6 +2205,7 @@ GLIBC_2.34 pthread_rwlockattr_destroy F
 GLIBC_2.34 pthread_rwlockattr_getkind_np F
 GLIBC_2.34 pthread_rwlockattr_getpshared F
 GLIBC_2.34 pthread_rwlockattr_init F
+GLIBC_2.34 pthread_rwlockattr_setkind_np F
 GLIBC_2.34 pthread_setspecific F
 GLIBC_2.34 pthread_spin_destroy F
 GLIBC_2.34 pthread_spin_init F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
index 8e82511999..cf196e295b 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
@@ -51,7 +51,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_rwlockattr_setkind_np F
 GLIBC_2.3 pthread_rwlockattr_setpshared F
 GLIBC_2.3 pthread_setconcurrency F
 GLIBC_2.3 pthread_testcancel F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
index 7522e7631b..453479d34d 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
@@ -1605,6 +1605,7 @@ GLIBC_2.17 pthread_rwlockattr_destroy F
 GLIBC_2.17 pthread_rwlockattr_getkind_np F
 GLIBC_2.17 pthread_rwlockattr_getpshared F
 GLIBC_2.17 pthread_rwlockattr_init F
+GLIBC_2.17 pthread_rwlockattr_setkind_np F
 GLIBC_2.17 pthread_self F
 GLIBC_2.17 pthread_setcancelstate F
 GLIBC_2.17 pthread_setcanceltype F
@@ -2505,6 +2506,7 @@ GLIBC_2.34 pthread_rwlockattr_destroy F
 GLIBC_2.34 pthread_rwlockattr_getkind_np F
 GLIBC_2.34 pthread_rwlockattr_getpshared F
 GLIBC_2.34 pthread_rwlockattr_init F
+GLIBC_2.34 pthread_rwlockattr_setkind_np F
 GLIBC_2.34 pthread_setspecific F
 GLIBC_2.34 pthread_spin_destroy F
 GLIBC_2.34 pthread_spin_init F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
index ab858909d5..78fd215f41 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
@@ -32,7 +32,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_rwlockattr_setkind_np F
 GLIBC_2.17 pthread_rwlockattr_setpshared F
 GLIBC_2.17 pthread_setaffinity_np F
 GLIBC_2.17 pthread_setconcurrency F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
index 25cc488252..f370e23d42 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
@@ -1449,6 +1449,7 @@ GLIBC_2.33 pthread_rwlockattr_destroy F
 GLIBC_2.33 pthread_rwlockattr_getkind_np F
 GLIBC_2.33 pthread_rwlockattr_getpshared F
 GLIBC_2.33 pthread_rwlockattr_init F
+GLIBC_2.33 pthread_rwlockattr_setkind_np F
 GLIBC_2.33 pthread_self F
 GLIBC_2.33 pthread_setcancelstate F
 GLIBC_2.33 pthread_setcanceltype F
@@ -2070,6 +2071,7 @@ GLIBC_2.34 pthread_rwlockattr_destroy F
 GLIBC_2.34 pthread_rwlockattr_getkind_np F
 GLIBC_2.34 pthread_rwlockattr_getpshared F
 GLIBC_2.34 pthread_rwlockattr_init F
+GLIBC_2.34 pthread_rwlockattr_setkind_np F
 GLIBC_2.34 pthread_setspecific F
 GLIBC_2.34 pthread_spin_destroy F
 GLIBC_2.34 pthread_spin_init F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
index 931a50ab83..120577addb 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
@@ -47,7 +47,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_rwlockattr_setkind_np F
 GLIBC_2.33 pthread_rwlockattr_setpshared F
 GLIBC_2.33 pthread_setaffinity_np F
 GLIBC_2.33 pthread_setattr_default_np F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
index b35dfdd918..9adfffe06a 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
@@ -1507,6 +1507,7 @@ GLIBC_2.27 pthread_rwlockattr_destroy F
 GLIBC_2.27 pthread_rwlockattr_getkind_np F
 GLIBC_2.27 pthread_rwlockattr_getpshared F
 GLIBC_2.27 pthread_rwlockattr_init F
+GLIBC_2.27 pthread_rwlockattr_setkind_np F
 GLIBC_2.27 pthread_self F
 GLIBC_2.27 pthread_setcancelstate F
 GLIBC_2.27 pthread_setcanceltype F
@@ -2270,6 +2271,7 @@ GLIBC_2.34 pthread_rwlockattr_destroy F
 GLIBC_2.34 pthread_rwlockattr_getkind_np F
 GLIBC_2.34 pthread_rwlockattr_getpshared F
 GLIBC_2.34 pthread_rwlockattr_init F
+GLIBC_2.34 pthread_rwlockattr_setkind_np F
 GLIBC_2.34 pthread_setspecific F
 GLIBC_2.34 pthread_spin_destroy F
 GLIBC_2.34 pthread_spin_init F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
index ca76a3be0f..d3a180f6b0 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
@@ -33,7 +33,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_rwlockattr_setkind_np F
 GLIBC_2.27 pthread_rwlockattr_setpshared F
 GLIBC_2.27 pthread_setaffinity_np F
 GLIBC_2.27 pthread_setattr_default_np F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
index 6b46845260..fba5894e2d 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
@@ -1581,6 +1581,7 @@ GLIBC_2.1 pthread_rwlockattr_destroy F
 GLIBC_2.1 pthread_rwlockattr_getkind_np F
 GLIBC_2.1 pthread_rwlockattr_getpshared F
 GLIBC_2.1 pthread_rwlockattr_init F
+GLIBC_2.1 pthread_rwlockattr_setkind_np F
 GLIBC_2.1 ptsname F
 GLIBC_2.1 ptsname_r F
 GLIBC_2.1 putgrent F
@@ -2348,6 +2349,7 @@ GLIBC_2.34 pthread_rwlockattr_destroy F
 GLIBC_2.34 pthread_rwlockattr_getkind_np F
 GLIBC_2.34 pthread_rwlockattr_getpshared F
 GLIBC_2.34 pthread_rwlockattr_init F
+GLIBC_2.34 pthread_rwlockattr_setkind_np F
 GLIBC_2.34 pthread_setspecific F
 GLIBC_2.34 pthread_spin_destroy F
 GLIBC_2.34 pthread_spin_init F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
index 7997715c0f..8d1b6afd40 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
@@ -24,7 +24,6 @@ GLIBC_2.1 pthread_attr_setstackaddr F
 GLIBC_2.1 pthread_attr_setstacksize F
 GLIBC_2.1 pthread_create F
 GLIBC_2.1 pthread_getconcurrency F
-GLIBC_2.1 pthread_rwlockattr_setkind_np F
 GLIBC_2.1 pthread_rwlockattr_setpshared F
 GLIBC_2.1 pthread_setconcurrency F
 GLIBC_2.1 sem_destroy F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
index ab59ba576b..ad5b0f36c9 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
@@ -1346,6 +1346,7 @@ GLIBC_2.2 pthread_rwlockattr_destroy F
 GLIBC_2.2 pthread_rwlockattr_getkind_np F
 GLIBC_2.2 pthread_rwlockattr_getpshared F
 GLIBC_2.2 pthread_rwlockattr_init F
+GLIBC_2.2 pthread_rwlockattr_setkind_np F
 GLIBC_2.2 pthread_self F
 GLIBC_2.2 pthread_setcancelstate F
 GLIBC_2.2 pthread_setcanceltype F
@@ -2241,6 +2242,7 @@ GLIBC_2.34 pthread_rwlockattr_destroy F
 GLIBC_2.34 pthread_rwlockattr_getkind_np F
 GLIBC_2.34 pthread_rwlockattr_getpshared F
 GLIBC_2.34 pthread_rwlockattr_init F
+GLIBC_2.34 pthread_rwlockattr_setkind_np F
 GLIBC_2.34 pthread_setspecific F
 GLIBC_2.34 pthread_spin_destroy F
 GLIBC_2.34 pthread_spin_init F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
index cfadf59cec..ad71f3903e 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
@@ -31,7 +31,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_rwlockattr_setkind_np F
 GLIBC_2.2 pthread_rwlockattr_setpshared F
 GLIBC_2.2 pthread_setconcurrency F
 GLIBC_2.2 pthread_testcancel F
diff --git a/sysdeps/unix/sysv/linux/sh/be/libc.abilist b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
index 52a904bece..97542cca5f 100644
--- a/sysdeps/unix/sysv/linux/sh/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
@@ -1332,6 +1332,7 @@ GLIBC_2.2 pthread_rwlockattr_destroy F
 GLIBC_2.2 pthread_rwlockattr_getkind_np F
 GLIBC_2.2 pthread_rwlockattr_getpshared F
 GLIBC_2.2 pthread_rwlockattr_init F
+GLIBC_2.2 pthread_rwlockattr_setkind_np F
 GLIBC_2.2 pthread_self F
 GLIBC_2.2 pthread_setcancelstate F
 GLIBC_2.2 pthread_setcanceltype F
@@ -2210,6 +2211,7 @@ GLIBC_2.34 pthread_rwlockattr_destroy F
 GLIBC_2.34 pthread_rwlockattr_getkind_np F
 GLIBC_2.34 pthread_rwlockattr_getpshared F
 GLIBC_2.34 pthread_rwlockattr_init F
+GLIBC_2.34 pthread_rwlockattr_setkind_np F
 GLIBC_2.34 pthread_setspecific F
 GLIBC_2.34 pthread_spin_destroy F
 GLIBC_2.34 pthread_spin_init F
diff --git a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
index b5c9fad576..0e0b33dd4f 100644
--- a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
@@ -30,7 +30,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_rwlockattr_setkind_np F
 GLIBC_2.2 pthread_rwlockattr_setpshared F
 GLIBC_2.2 pthread_setconcurrency F
 GLIBC_2.2 pthread_testcancel F
diff --git a/sysdeps/unix/sysv/linux/sh/le/libc.abilist b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
index 7c635de1a9..3cd818e245 100644
--- a/sysdeps/unix/sysv/linux/sh/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
@@ -1332,6 +1332,7 @@ GLIBC_2.2 pthread_rwlockattr_destroy F
 GLIBC_2.2 pthread_rwlockattr_getkind_np F
 GLIBC_2.2 pthread_rwlockattr_getpshared F
 GLIBC_2.2 pthread_rwlockattr_init F
+GLIBC_2.2 pthread_rwlockattr_setkind_np F
 GLIBC_2.2 pthread_self F
 GLIBC_2.2 pthread_setcancelstate F
 GLIBC_2.2 pthread_setcanceltype F
@@ -2207,6 +2208,7 @@ GLIBC_2.34 pthread_rwlockattr_destroy F
 GLIBC_2.34 pthread_rwlockattr_getkind_np F
 GLIBC_2.34 pthread_rwlockattr_getpshared F
 GLIBC_2.34 pthread_rwlockattr_init F
+GLIBC_2.34 pthread_rwlockattr_setkind_np F
 GLIBC_2.34 pthread_setspecific F
 GLIBC_2.34 pthread_spin_destroy F
 GLIBC_2.34 pthread_spin_init F
diff --git a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
index b5c9fad576..0e0b33dd4f 100644
--- a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
@@ -30,7 +30,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_rwlockattr_setkind_np F
 GLIBC_2.2 pthread_rwlockattr_setpshared F
 GLIBC_2.2 pthread_setconcurrency F
 GLIBC_2.2 pthread_testcancel F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
index d22861fedc..c065335dc5 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
@@ -1582,6 +1582,7 @@ GLIBC_2.1 pthread_rwlockattr_destroy F
 GLIBC_2.1 pthread_rwlockattr_getkind_np F
 GLIBC_2.1 pthread_rwlockattr_getpshared F
 GLIBC_2.1 pthread_rwlockattr_init F
+GLIBC_2.1 pthread_rwlockattr_setkind_np F
 GLIBC_2.1 ptsname F
 GLIBC_2.1 ptsname_r F
 GLIBC_2.1 putgrent F
@@ -2339,6 +2340,7 @@ GLIBC_2.34 pthread_rwlockattr_destroy F
 GLIBC_2.34 pthread_rwlockattr_getkind_np F
 GLIBC_2.34 pthread_rwlockattr_getpshared F
 GLIBC_2.34 pthread_rwlockattr_init F
+GLIBC_2.34 pthread_rwlockattr_setkind_np F
 GLIBC_2.34 pthread_setspecific F
 GLIBC_2.34 pthread_spin_destroy F
 GLIBC_2.34 pthread_spin_init F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
index cddd311735..25c6d113d8 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
@@ -24,7 +24,6 @@ GLIBC_2.1 pthread_attr_setstackaddr F
 GLIBC_2.1 pthread_attr_setstacksize F
 GLIBC_2.1 pthread_create F
 GLIBC_2.1 pthread_getconcurrency F
-GLIBC_2.1 pthread_rwlockattr_setkind_np F
 GLIBC_2.1 pthread_rwlockattr_setpshared F
 GLIBC_2.1 pthread_setconcurrency F
 GLIBC_2.1 sem_destroy F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
index 1321e3778b..9a72b1a42f 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
@@ -1375,6 +1375,7 @@ GLIBC_2.2 pthread_rwlockattr_destroy F
 GLIBC_2.2 pthread_rwlockattr_getkind_np F
 GLIBC_2.2 pthread_rwlockattr_getpshared F
 GLIBC_2.2 pthread_rwlockattr_init F
+GLIBC_2.2 pthread_rwlockattr_setkind_np F
 GLIBC_2.2 pthread_self F
 GLIBC_2.2 pthread_setcancelstate F
 GLIBC_2.2 pthread_setcanceltype F
@@ -2258,6 +2259,7 @@ GLIBC_2.34 pthread_rwlockattr_destroy F
 GLIBC_2.34 pthread_rwlockattr_getkind_np F
 GLIBC_2.34 pthread_rwlockattr_getpshared F
 GLIBC_2.34 pthread_rwlockattr_init F
+GLIBC_2.34 pthread_rwlockattr_setkind_np F
 GLIBC_2.34 pthread_setspecific F
 GLIBC_2.34 pthread_spin_destroy F
 GLIBC_2.34 pthread_spin_init F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
index 3e575bf89b..8c4aedda72 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
@@ -30,7 +30,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_rwlockattr_setkind_np F
 GLIBC_2.2 pthread_rwlockattr_setpshared F
 GLIBC_2.2 pthread_setconcurrency F
 GLIBC_2.2 pthread_testcancel F
diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
index 34dd905b5d..96e9b63861 100644
--- a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
@@ -1343,6 +1343,7 @@ GLIBC_2.2.5 pthread_rwlockattr_destroy F
 GLIBC_2.2.5 pthread_rwlockattr_getkind_np F
 GLIBC_2.2.5 pthread_rwlockattr_getpshared F
 GLIBC_2.2.5 pthread_rwlockattr_init F
+GLIBC_2.2.5 pthread_rwlockattr_setkind_np F
 GLIBC_2.2.5 pthread_self F
 GLIBC_2.2.5 pthread_setcancelstate F
 GLIBC_2.2.5 pthread_setcanceltype F
@@ -2219,6 +2220,7 @@ GLIBC_2.34 pthread_rwlockattr_destroy F
 GLIBC_2.34 pthread_rwlockattr_getkind_np F
 GLIBC_2.34 pthread_rwlockattr_getpshared F
 GLIBC_2.34 pthread_rwlockattr_init F
+GLIBC_2.34 pthread_rwlockattr_setkind_np F
 GLIBC_2.34 pthread_setspecific F
 GLIBC_2.34 pthread_spin_destroy F
 GLIBC_2.34 pthread_spin_init F
diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
index eddd339dcf..2ffea619e9 100644
--- a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
@@ -30,7 +30,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_rwlockattr_setkind_np F
 GLIBC_2.2.5 pthread_rwlockattr_setpshared F
 GLIBC_2.2.5 pthread_setconcurrency F
 GLIBC_2.2.5 pthread_testcancel F
diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
index 24fd00a5ac..2b2d6f62cd 100644
--- a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
@@ -1524,6 +1524,7 @@ GLIBC_2.16 pthread_rwlockattr_destroy F
 GLIBC_2.16 pthread_rwlockattr_getkind_np F
 GLIBC_2.16 pthread_rwlockattr_getpshared F
 GLIBC_2.16 pthread_rwlockattr_init F
+GLIBC_2.16 pthread_rwlockattr_setkind_np F
 GLIBC_2.16 pthread_self F
 GLIBC_2.16 pthread_setcancelstate F
 GLIBC_2.16 pthread_setcanceltype F
@@ -2324,6 +2325,7 @@ GLIBC_2.34 pthread_rwlockattr_destroy F
 GLIBC_2.34 pthread_rwlockattr_getkind_np F
 GLIBC_2.34 pthread_rwlockattr_getpshared F
 GLIBC_2.34 pthread_rwlockattr_init F
+GLIBC_2.34 pthread_rwlockattr_setkind_np F
 GLIBC_2.34 pthread_setspecific F
 GLIBC_2.34 pthread_spin_destroy F
 GLIBC_2.34 pthread_spin_init F
diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
index bda04a7cc7..18496f7378 100644
--- a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
@@ -32,7 +32,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_rwlockattr_setkind_np F
 GLIBC_2.16 pthread_rwlockattr_setpshared F
 GLIBC_2.16 pthread_setaffinity_np F
 GLIBC_2.16 pthread_setconcurrency F
-- 
2.30.2



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

* [PATCH 14/14] nptl: Move pthread_rwlockattr_setpshared into libc
  2021-04-23 17:36 [PATCH 00/14] nptl: Move remaining rwlock functions into libc Florian Weimer via Libc-alpha
                   ` (12 preceding siblings ...)
  2021-04-23 17:38 ` [PATCH 13/14] nptl: Move pthread_rwlockattr_setkind_np " Florian Weimer via Libc-alpha
@ 2021-04-23 17:38 ` Florian Weimer via Libc-alpha
  2021-05-02 19:40   ` Carlos O'Donell via Libc-alpha
  2021-05-02 19:30 ` [PATCH 00/14] nptl: Move remaining rwlock functions " Carlos O'Donell via Libc-alpha
  14 siblings, 1 reply; 30+ messages in thread
From: Florian Weimer via Libc-alpha @ 2021-04-23 17:38 UTC (permalink / raw)
  To: libc-alpha

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

diff --git a/nptl/Makefile b/nptl/Makefile
index 71c698b4f5..c0f820b44d 100644
--- a/nptl/Makefile
+++ b/nptl/Makefile
@@ -136,6 +136,7 @@ routines = \
   pthread_rwlockattr_getpshared \
   pthread_rwlockattr_init \
   pthread_rwlockattr_setkind_np \
+  pthread_rwlockattr_setpshared \
   pthread_self \
   pthread_setcancelstate \
   pthread_setcanceltype \
@@ -191,7 +192,6 @@ libpthread-routines = \
   pthread_getname \
   pthread_join \
   pthread_join_common \
-  pthread_rwlockattr_setpshared \
   pthread_setaffinity \
   pthread_setattr_default_np \
   pthread_setconcurrency \
diff --git a/nptl/Versions b/nptl/Versions
index 235060101e..645ab4ba83 100644
--- a/nptl/Versions
+++ b/nptl/Versions
@@ -78,6 +78,7 @@ libc {
     pthread_rwlockattr_getpshared;
     pthread_rwlockattr_init;
     pthread_rwlockattr_setkind_np;
+    pthread_rwlockattr_setpshared;
   }
   GLIBC_2.2 {
     __pthread_rwlock_destroy;
@@ -212,6 +213,7 @@ libc {
     pthread_rwlockattr_getpshared;
     pthread_rwlockattr_init;
     pthread_rwlockattr_setkind_np;
+    pthread_rwlockattr_setpshared;
     pthread_setspecific;
     pthread_spin_destroy;
     pthread_spin_init;
@@ -302,7 +304,6 @@ libpthread {
     pthread_attr_setstacksize;
     pthread_create;
     pthread_getconcurrency;
-    pthread_rwlockattr_setpshared;
     pthread_setconcurrency;
     sem_destroy;
     sem_getvalue;
diff --git a/nptl/pthread_rwlockattr_setpshared.c b/nptl/pthread_rwlockattr_setpshared.c
index 2e42754466..e8f603788e 100644
--- a/nptl/pthread_rwlockattr_setpshared.c
+++ b/nptl/pthread_rwlockattr_setpshared.c
@@ -19,10 +19,10 @@
 #include <errno.h>
 #include "pthreadP.h"
 #include <futex-internal.h>
-
+#include <shlib-compat.h>
 
 int
-pthread_rwlockattr_setpshared (pthread_rwlockattr_t *attr, int pshared)
+__pthread_rwlockattr_setpshared (pthread_rwlockattr_t *attr, int pshared)
 {
   struct pthread_rwlockattr *iattr;
 
@@ -36,3 +36,10 @@ pthread_rwlockattr_setpshared (pthread_rwlockattr_t *attr, int pshared)
 
   return 0;
 }
+versioned_symbol (libc, __pthread_rwlockattr_setpshared,
+                  pthread_rwlockattr_setpshared, GLIBC_2_34);
+
+#if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_1, GLIBC_2_34)
+compat_symbol (libpthread, __pthread_rwlockattr_setpshared,
+               pthread_rwlockattr_setpshared, GLIBC_2_1);
+#endif
diff --git a/sysdeps/unix/sysv/linux/aarch64/libc.abilist b/sysdeps/unix/sysv/linux/aarch64/libc.abilist
index 6c33e2d488..3d16f7c749 100644
--- a/sysdeps/unix/sysv/linux/aarch64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/aarch64/libc.abilist
@@ -1518,6 +1518,7 @@ GLIBC_2.17 pthread_rwlockattr_getkind_np F
 GLIBC_2.17 pthread_rwlockattr_getpshared F
 GLIBC_2.17 pthread_rwlockattr_init F
 GLIBC_2.17 pthread_rwlockattr_setkind_np F
+GLIBC_2.17 pthread_rwlockattr_setpshared F
 GLIBC_2.17 pthread_self F
 GLIBC_2.17 pthread_setcancelstate F
 GLIBC_2.17 pthread_setcanceltype F
@@ -2311,6 +2312,7 @@ GLIBC_2.34 pthread_rwlockattr_getkind_np F
 GLIBC_2.34 pthread_rwlockattr_getpshared F
 GLIBC_2.34 pthread_rwlockattr_init F
 GLIBC_2.34 pthread_rwlockattr_setkind_np F
+GLIBC_2.34 pthread_rwlockattr_setpshared F
 GLIBC_2.34 pthread_setspecific F
 GLIBC_2.34 pthread_spin_destroy F
 GLIBC_2.34 pthread_spin_init F
diff --git a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
index 78fd215f41..5ba7924a4b 100644
--- a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
@@ -32,7 +32,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_rwlockattr_setpshared F
 GLIBC_2.17 pthread_setaffinity_np F
 GLIBC_2.17 pthread_setconcurrency F
 GLIBC_2.17 pthread_setname_np F
diff --git a/sysdeps/unix/sysv/linux/alpha/libc.abilist b/sysdeps/unix/sysv/linux/alpha/libc.abilist
index 0827b4897c..96e72ed747 100644
--- a/sysdeps/unix/sysv/linux/alpha/libc.abilist
+++ b/sysdeps/unix/sysv/linux/alpha/libc.abilist
@@ -1618,6 +1618,7 @@ GLIBC_2.1 pthread_rwlockattr_getkind_np F
 GLIBC_2.1 pthread_rwlockattr_getpshared F
 GLIBC_2.1 pthread_rwlockattr_init F
 GLIBC_2.1 pthread_rwlockattr_setkind_np F
+GLIBC_2.1 pthread_rwlockattr_setpshared F
 GLIBC_2.1 ptsname F
 GLIBC_2.1 ptsname_r F
 GLIBC_2.1 putgrent F
@@ -2392,6 +2393,7 @@ GLIBC_2.34 pthread_rwlockattr_getkind_np F
 GLIBC_2.34 pthread_rwlockattr_getpshared F
 GLIBC_2.34 pthread_rwlockattr_init F
 GLIBC_2.34 pthread_rwlockattr_setkind_np F
+GLIBC_2.34 pthread_rwlockattr_setpshared F
 GLIBC_2.34 pthread_setspecific F
 GLIBC_2.34 pthread_spin_destroy F
 GLIBC_2.34 pthread_spin_init F
diff --git a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
index 25c6d113d8..060d40755c 100644
--- a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
@@ -24,7 +24,6 @@ GLIBC_2.1 pthread_attr_setstackaddr F
 GLIBC_2.1 pthread_attr_setstacksize F
 GLIBC_2.1 pthread_create F
 GLIBC_2.1 pthread_getconcurrency F
-GLIBC_2.1 pthread_rwlockattr_setpshared F
 GLIBC_2.1 pthread_setconcurrency F
 GLIBC_2.1 sem_destroy F
 GLIBC_2.1 sem_getvalue F
diff --git a/sysdeps/unix/sysv/linux/arc/libc.abilist b/sysdeps/unix/sysv/linux/arc/libc.abilist
index 4a964150d4..6b3605407b 100644
--- a/sysdeps/unix/sysv/linux/arc/libc.abilist
+++ b/sysdeps/unix/sysv/linux/arc/libc.abilist
@@ -1448,6 +1448,7 @@ GLIBC_2.32 pthread_rwlockattr_getkind_np F
 GLIBC_2.32 pthread_rwlockattr_getpshared F
 GLIBC_2.32 pthread_rwlockattr_init F
 GLIBC_2.32 pthread_rwlockattr_setkind_np F
+GLIBC_2.32 pthread_rwlockattr_setpshared F
 GLIBC_2.32 pthread_self F
 GLIBC_2.32 pthread_setcancelstate F
 GLIBC_2.32 pthread_setcanceltype F
@@ -2070,6 +2071,7 @@ GLIBC_2.34 pthread_rwlockattr_getkind_np F
 GLIBC_2.34 pthread_rwlockattr_getpshared F
 GLIBC_2.34 pthread_rwlockattr_init F
 GLIBC_2.34 pthread_rwlockattr_setkind_np F
+GLIBC_2.34 pthread_rwlockattr_setpshared F
 GLIBC_2.34 pthread_setspecific F
 GLIBC_2.34 pthread_spin_destroy F
 GLIBC_2.34 pthread_spin_init F
diff --git a/sysdeps/unix/sysv/linux/arc/libpthread.abilist b/sysdeps/unix/sysv/linux/arc/libpthread.abilist
index 490200a117..7c6181f479 100644
--- a/sysdeps/unix/sysv/linux/arc/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/arc/libpthread.abilist
@@ -47,7 +47,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_rwlockattr_setpshared F
 GLIBC_2.32 pthread_setaffinity_np F
 GLIBC_2.32 pthread_setattr_default_np F
 GLIBC_2.32 pthread_setconcurrency F
diff --git a/sysdeps/unix/sysv/linux/arm/be/libc.abilist b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
index fc64aeb74d..49a0e00006 100644
--- a/sysdeps/unix/sysv/linux/arm/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
@@ -220,6 +220,7 @@ GLIBC_2.34 pthread_rwlockattr_getkind_np F
 GLIBC_2.34 pthread_rwlockattr_getpshared F
 GLIBC_2.34 pthread_rwlockattr_init F
 GLIBC_2.34 pthread_rwlockattr_setkind_np F
+GLIBC_2.34 pthread_rwlockattr_setpshared F
 GLIBC_2.34 pthread_setspecific F
 GLIBC_2.34 pthread_spin_destroy F
 GLIBC_2.34 pthread_spin_init F
@@ -1677,6 +1678,7 @@ GLIBC_2.4 pthread_rwlockattr_getkind_np F
 GLIBC_2.4 pthread_rwlockattr_getpshared F
 GLIBC_2.4 pthread_rwlockattr_init F
 GLIBC_2.4 pthread_rwlockattr_setkind_np F
+GLIBC_2.4 pthread_rwlockattr_setpshared F
 GLIBC_2.4 pthread_self F
 GLIBC_2.4 pthread_setcancelstate F
 GLIBC_2.4 pthread_setcanceltype F
diff --git a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
index 407b8b52c9..c43ff16332 100644
--- a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
@@ -60,7 +60,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_rwlockattr_setpshared F
 GLIBC_2.4 pthread_setaffinity_np F
 GLIBC_2.4 pthread_setconcurrency F
 GLIBC_2.4 pthread_setschedprio F
diff --git a/sysdeps/unix/sysv/linux/arm/le/libc.abilist b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
index 4d8f0921f0..8f7abcf6e7 100644
--- a/sysdeps/unix/sysv/linux/arm/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
@@ -217,6 +217,7 @@ GLIBC_2.34 pthread_rwlockattr_getkind_np F
 GLIBC_2.34 pthread_rwlockattr_getpshared F
 GLIBC_2.34 pthread_rwlockattr_init F
 GLIBC_2.34 pthread_rwlockattr_setkind_np F
+GLIBC_2.34 pthread_rwlockattr_setpshared F
 GLIBC_2.34 pthread_setspecific F
 GLIBC_2.34 pthread_spin_destroy F
 GLIBC_2.34 pthread_spin_init F
@@ -1674,6 +1675,7 @@ GLIBC_2.4 pthread_rwlockattr_getkind_np F
 GLIBC_2.4 pthread_rwlockattr_getpshared F
 GLIBC_2.4 pthread_rwlockattr_init F
 GLIBC_2.4 pthread_rwlockattr_setkind_np F
+GLIBC_2.4 pthread_rwlockattr_setpshared F
 GLIBC_2.4 pthread_self F
 GLIBC_2.4 pthread_setcancelstate F
 GLIBC_2.4 pthread_setcanceltype F
diff --git a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
index 407b8b52c9..c43ff16332 100644
--- a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
@@ -60,7 +60,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_rwlockattr_setpshared F
 GLIBC_2.4 pthread_setaffinity_np F
 GLIBC_2.4 pthread_setconcurrency F
 GLIBC_2.4 pthread_setschedprio F
diff --git a/sysdeps/unix/sysv/linux/csky/libc.abilist b/sysdeps/unix/sysv/linux/csky/libc.abilist
index d64664bc47..eafaf62118 100644
--- a/sysdeps/unix/sysv/linux/csky/libc.abilist
+++ b/sysdeps/unix/sysv/linux/csky/libc.abilist
@@ -1505,6 +1505,7 @@ GLIBC_2.29 pthread_rwlockattr_getkind_np F
 GLIBC_2.29 pthread_rwlockattr_getpshared F
 GLIBC_2.29 pthread_rwlockattr_init F
 GLIBC_2.29 pthread_rwlockattr_setkind_np F
+GLIBC_2.29 pthread_rwlockattr_setpshared F
 GLIBC_2.29 pthread_self F
 GLIBC_2.29 pthread_setcancelstate F
 GLIBC_2.29 pthread_setcanceltype F
@@ -2254,6 +2255,7 @@ GLIBC_2.34 pthread_rwlockattr_getkind_np F
 GLIBC_2.34 pthread_rwlockattr_getpshared F
 GLIBC_2.34 pthread_rwlockattr_init F
 GLIBC_2.34 pthread_rwlockattr_setkind_np F
+GLIBC_2.34 pthread_rwlockattr_setpshared F
 GLIBC_2.34 pthread_setspecific F
 GLIBC_2.34 pthread_spin_destroy F
 GLIBC_2.34 pthread_spin_init F
diff --git a/sysdeps/unix/sysv/linux/csky/libpthread.abilist b/sysdeps/unix/sysv/linux/csky/libpthread.abilist
index f74ba640b8..141b065f99 100644
--- a/sysdeps/unix/sysv/linux/csky/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/csky/libpthread.abilist
@@ -46,7 +46,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_rwlockattr_setpshared F
 GLIBC_2.29 pthread_setaffinity_np F
 GLIBC_2.29 pthread_setattr_default_np F
 GLIBC_2.29 pthread_setconcurrency F
diff --git a/sysdeps/unix/sysv/linux/hppa/libc.abilist b/sysdeps/unix/sysv/linux/hppa/libc.abilist
index ecfe3a62fe..d06e1f65ea 100644
--- a/sysdeps/unix/sysv/linux/hppa/libc.abilist
+++ b/sysdeps/unix/sysv/linux/hppa/libc.abilist
@@ -1329,6 +1329,7 @@ GLIBC_2.2 pthread_rwlockattr_getkind_np F
 GLIBC_2.2 pthread_rwlockattr_getpshared F
 GLIBC_2.2 pthread_rwlockattr_init F
 GLIBC_2.2 pthread_rwlockattr_setkind_np F
+GLIBC_2.2 pthread_rwlockattr_setpshared F
 GLIBC_2.2 pthread_self F
 GLIBC_2.2 pthread_setcancelstate F
 GLIBC_2.2 pthread_setcanceltype F
@@ -2205,6 +2206,7 @@ GLIBC_2.34 pthread_rwlockattr_getkind_np F
 GLIBC_2.34 pthread_rwlockattr_getpshared F
 GLIBC_2.34 pthread_rwlockattr_init F
 GLIBC_2.34 pthread_rwlockattr_setkind_np F
+GLIBC_2.34 pthread_rwlockattr_setpshared F
 GLIBC_2.34 pthread_setspecific F
 GLIBC_2.34 pthread_spin_destroy F
 GLIBC_2.34 pthread_spin_init F
diff --git a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
index 0e0b33dd4f..430069d2a9 100644
--- a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
@@ -30,7 +30,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_rwlockattr_setpshared F
 GLIBC_2.2 pthread_setconcurrency F
 GLIBC_2.2 pthread_testcancel F
 GLIBC_2.2 pthread_yield F
diff --git a/sysdeps/unix/sysv/linux/i386/libc.abilist b/sysdeps/unix/sysv/linux/i386/libc.abilist
index 77baa063c8..30bfbdb1e7 100644
--- a/sysdeps/unix/sysv/linux/i386/libc.abilist
+++ b/sysdeps/unix/sysv/linux/i386/libc.abilist
@@ -1586,6 +1586,7 @@ GLIBC_2.1 pthread_rwlockattr_getkind_np F
 GLIBC_2.1 pthread_rwlockattr_getpshared F
 GLIBC_2.1 pthread_rwlockattr_init F
 GLIBC_2.1 pthread_rwlockattr_setkind_np F
+GLIBC_2.1 pthread_rwlockattr_setpshared F
 GLIBC_2.1 ptsname F
 GLIBC_2.1 ptsname_r F
 GLIBC_2.1 putgrent F
@@ -2382,6 +2383,7 @@ GLIBC_2.34 pthread_rwlockattr_getkind_np F
 GLIBC_2.34 pthread_rwlockattr_getpshared F
 GLIBC_2.34 pthread_rwlockattr_init F
 GLIBC_2.34 pthread_rwlockattr_setkind_np F
+GLIBC_2.34 pthread_rwlockattr_setpshared F
 GLIBC_2.34 pthread_setspecific F
 GLIBC_2.34 pthread_spin_destroy F
 GLIBC_2.34 pthread_spin_init F
diff --git a/sysdeps/unix/sysv/linux/i386/libpthread.abilist b/sysdeps/unix/sysv/linux/i386/libpthread.abilist
index 27a09876c2..8c16a683c5 100644
--- a/sysdeps/unix/sysv/linux/i386/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/i386/libpthread.abilist
@@ -24,7 +24,6 @@ GLIBC_2.1 pthread_attr_setstackaddr F
 GLIBC_2.1 pthread_attr_setstacksize F
 GLIBC_2.1 pthread_create F
 GLIBC_2.1 pthread_getconcurrency F
-GLIBC_2.1 pthread_rwlockattr_setpshared F
 GLIBC_2.1 pthread_setconcurrency F
 GLIBC_2.1 sem_destroy F
 GLIBC_2.1 sem_getvalue F
diff --git a/sysdeps/unix/sysv/linux/ia64/libc.abilist b/sysdeps/unix/sysv/linux/ia64/libc.abilist
index e7cbb60624..84b9ab7d07 100644
--- a/sysdeps/unix/sysv/linux/ia64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/ia64/libc.abilist
@@ -1350,6 +1350,7 @@ GLIBC_2.2 pthread_rwlockattr_getkind_np F
 GLIBC_2.2 pthread_rwlockattr_getpshared F
 GLIBC_2.2 pthread_rwlockattr_init F
 GLIBC_2.2 pthread_rwlockattr_setkind_np F
+GLIBC_2.2 pthread_rwlockattr_setpshared F
 GLIBC_2.2 pthread_self F
 GLIBC_2.2 pthread_setcancelstate F
 GLIBC_2.2 pthread_setcanceltype F
@@ -2239,6 +2240,7 @@ GLIBC_2.34 pthread_rwlockattr_getkind_np F
 GLIBC_2.34 pthread_rwlockattr_getpshared F
 GLIBC_2.34 pthread_rwlockattr_init F
 GLIBC_2.34 pthread_rwlockattr_setkind_np F
+GLIBC_2.34 pthread_rwlockattr_setpshared F
 GLIBC_2.34 pthread_setspecific F
 GLIBC_2.34 pthread_spin_destroy F
 GLIBC_2.34 pthread_spin_init F
diff --git a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
index 8c4aedda72..cc2b7f9767 100644
--- a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
@@ -30,7 +30,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_rwlockattr_setpshared F
 GLIBC_2.2 pthread_setconcurrency F
 GLIBC_2.2 pthread_testcancel F
 GLIBC_2.2 pthread_yield F
diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
index 6ce10020cd..503b3d31c3 100644
--- a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
@@ -221,6 +221,7 @@ GLIBC_2.34 pthread_rwlockattr_getkind_np F
 GLIBC_2.34 pthread_rwlockattr_getpshared F
 GLIBC_2.34 pthread_rwlockattr_init F
 GLIBC_2.34 pthread_rwlockattr_setkind_np F
+GLIBC_2.34 pthread_rwlockattr_setpshared F
 GLIBC_2.34 pthread_setspecific F
 GLIBC_2.34 pthread_spin_destroy F
 GLIBC_2.34 pthread_spin_init F
@@ -1657,6 +1658,7 @@ GLIBC_2.4 pthread_rwlockattr_getkind_np F
 GLIBC_2.4 pthread_rwlockattr_getpshared F
 GLIBC_2.4 pthread_rwlockattr_init F
 GLIBC_2.4 pthread_rwlockattr_setkind_np F
+GLIBC_2.4 pthread_rwlockattr_setpshared F
 GLIBC_2.4 pthread_self F
 GLIBC_2.4 pthread_setcancelstate F
 GLIBC_2.4 pthread_setcanceltype F
diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
index 407b8b52c9..c43ff16332 100644
--- a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
@@ -60,7 +60,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_rwlockattr_setpshared F
 GLIBC_2.4 pthread_setaffinity_np F
 GLIBC_2.4 pthread_setconcurrency F
 GLIBC_2.4 pthread_setschedprio F
diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
index d4221acb1f..4c5e2b2c49 100644
--- a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
@@ -1582,6 +1582,7 @@ GLIBC_2.1 pthread_rwlockattr_getkind_np F
 GLIBC_2.1 pthread_rwlockattr_getpshared F
 GLIBC_2.1 pthread_rwlockattr_init F
 GLIBC_2.1 pthread_rwlockattr_setkind_np F
+GLIBC_2.1 pthread_rwlockattr_setpshared F
 GLIBC_2.1 ptsname F
 GLIBC_2.1 ptsname_r F
 GLIBC_2.1 putgrent F
@@ -2325,6 +2326,7 @@ GLIBC_2.34 pthread_rwlockattr_getkind_np F
 GLIBC_2.34 pthread_rwlockattr_getpshared F
 GLIBC_2.34 pthread_rwlockattr_init F
 GLIBC_2.34 pthread_rwlockattr_setkind_np F
+GLIBC_2.34 pthread_rwlockattr_setpshared F
 GLIBC_2.34 pthread_setspecific F
 GLIBC_2.34 pthread_spin_destroy F
 GLIBC_2.34 pthread_spin_init F
diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
index 27a09876c2..8c16a683c5 100644
--- a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
@@ -24,7 +24,6 @@ GLIBC_2.1 pthread_attr_setstackaddr F
 GLIBC_2.1 pthread_attr_setstacksize F
 GLIBC_2.1 pthread_create F
 GLIBC_2.1 pthread_getconcurrency F
-GLIBC_2.1 pthread_rwlockattr_setpshared F
 GLIBC_2.1 pthread_setconcurrency F
 GLIBC_2.1 sem_destroy F
 GLIBC_2.1 sem_getvalue F
diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
index ddca43520f..92c79a7851 100644
--- a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
@@ -1520,6 +1520,7 @@ GLIBC_2.18 pthread_rwlockattr_getkind_np F
 GLIBC_2.18 pthread_rwlockattr_getpshared F
 GLIBC_2.18 pthread_rwlockattr_init F
 GLIBC_2.18 pthread_rwlockattr_setkind_np F
+GLIBC_2.18 pthread_rwlockattr_setpshared F
 GLIBC_2.18 pthread_self F
 GLIBC_2.18 pthread_setcancelstate F
 GLIBC_2.18 pthread_setcanceltype F
@@ -2305,6 +2306,7 @@ GLIBC_2.34 pthread_rwlockattr_getkind_np F
 GLIBC_2.34 pthread_rwlockattr_getpshared F
 GLIBC_2.34 pthread_rwlockattr_init F
 GLIBC_2.34 pthread_rwlockattr_setkind_np F
+GLIBC_2.34 pthread_rwlockattr_setpshared F
 GLIBC_2.34 pthread_setspecific F
 GLIBC_2.34 pthread_spin_destroy F
 GLIBC_2.34 pthread_spin_init F
diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
index be7e874a39..81b2693e2d 100644
--- a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
@@ -33,7 +33,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_rwlockattr_setpshared F
 GLIBC_2.18 pthread_setaffinity_np F
 GLIBC_2.18 pthread_setattr_default_np F
 GLIBC_2.18 pthread_setconcurrency F
diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
index 8ac2cedd2f..d259ef963c 100644
--- a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
@@ -1520,6 +1520,7 @@ GLIBC_2.18 pthread_rwlockattr_getkind_np F
 GLIBC_2.18 pthread_rwlockattr_getpshared F
 GLIBC_2.18 pthread_rwlockattr_init F
 GLIBC_2.18 pthread_rwlockattr_setkind_np F
+GLIBC_2.18 pthread_rwlockattr_setpshared F
 GLIBC_2.18 pthread_self F
 GLIBC_2.18 pthread_setcancelstate F
 GLIBC_2.18 pthread_setcanceltype F
@@ -2302,6 +2303,7 @@ GLIBC_2.34 pthread_rwlockattr_getkind_np F
 GLIBC_2.34 pthread_rwlockattr_getpshared F
 GLIBC_2.34 pthread_rwlockattr_init F
 GLIBC_2.34 pthread_rwlockattr_setkind_np F
+GLIBC_2.34 pthread_rwlockattr_setpshared F
 GLIBC_2.34 pthread_setspecific F
 GLIBC_2.34 pthread_spin_destroy F
 GLIBC_2.34 pthread_spin_init F
diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
index be7e874a39..81b2693e2d 100644
--- a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
@@ -33,7 +33,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_rwlockattr_setpshared F
 GLIBC_2.18 pthread_setaffinity_np F
 GLIBC_2.18 pthread_setattr_default_np F
 GLIBC_2.18 pthread_setconcurrency F
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
index b1272c8d40..048d075d21 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
@@ -1859,6 +1859,7 @@ GLIBC_2.2 pthread_rwlockattr_getkind_np F
 GLIBC_2.2 pthread_rwlockattr_getpshared F
 GLIBC_2.2 pthread_rwlockattr_init F
 GLIBC_2.2 pthread_rwlockattr_setkind_np F
+GLIBC_2.2 pthread_rwlockattr_setpshared F
 GLIBC_2.2 pthread_spin_destroy F
 GLIBC_2.2 pthread_spin_init F
 GLIBC_2.2 pthread_spin_lock F
@@ -2288,6 +2289,7 @@ GLIBC_2.34 pthread_rwlockattr_getkind_np F
 GLIBC_2.34 pthread_rwlockattr_getpshared F
 GLIBC_2.34 pthread_rwlockattr_init F
 GLIBC_2.34 pthread_rwlockattr_setkind_np F
+GLIBC_2.34 pthread_rwlockattr_setpshared F
 GLIBC_2.34 pthread_setspecific F
 GLIBC_2.34 pthread_spin_destroy F
 GLIBC_2.34 pthread_spin_init F
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
index 137cc270e0..5ae9c6d24f 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
@@ -38,7 +38,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_rwlockattr_setpshared F
 GLIBC_2.2 pthread_setconcurrency F
 GLIBC_2.2 pthread_yield F
 GLIBC_2.2 sem_close F
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
index 73c6f52416..4196a7d058 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
@@ -1857,6 +1857,7 @@ GLIBC_2.2 pthread_rwlockattr_getkind_np F
 GLIBC_2.2 pthread_rwlockattr_getpshared F
 GLIBC_2.2 pthread_rwlockattr_init F
 GLIBC_2.2 pthread_rwlockattr_setkind_np F
+GLIBC_2.2 pthread_rwlockattr_setpshared F
 GLIBC_2.2 pthread_spin_destroy F
 GLIBC_2.2 pthread_spin_init F
 GLIBC_2.2 pthread_spin_lock F
@@ -2286,6 +2287,7 @@ GLIBC_2.34 pthread_rwlockattr_getkind_np F
 GLIBC_2.34 pthread_rwlockattr_getpshared F
 GLIBC_2.34 pthread_rwlockattr_init F
 GLIBC_2.34 pthread_rwlockattr_setkind_np F
+GLIBC_2.34 pthread_rwlockattr_setpshared F
 GLIBC_2.34 pthread_setspecific F
 GLIBC_2.34 pthread_spin_destroy F
 GLIBC_2.34 pthread_spin_init F
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
index 137cc270e0..5ae9c6d24f 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
@@ -38,7 +38,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_rwlockattr_setpshared F
 GLIBC_2.2 pthread_setconcurrency F
 GLIBC_2.2 pthread_yield F
 GLIBC_2.2 sem_close F
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
index 1791cf1e87..abfecf20f9 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
@@ -1857,6 +1857,7 @@ GLIBC_2.2 pthread_rwlockattr_getkind_np F
 GLIBC_2.2 pthread_rwlockattr_getpshared F
 GLIBC_2.2 pthread_rwlockattr_init F
 GLIBC_2.2 pthread_rwlockattr_setkind_np F
+GLIBC_2.2 pthread_rwlockattr_setpshared F
 GLIBC_2.2 pthread_spin_destroy F
 GLIBC_2.2 pthread_spin_init F
 GLIBC_2.2 pthread_spin_lock F
@@ -2294,6 +2295,7 @@ GLIBC_2.34 pthread_rwlockattr_getkind_np F
 GLIBC_2.34 pthread_rwlockattr_getpshared F
 GLIBC_2.34 pthread_rwlockattr_init F
 GLIBC_2.34 pthread_rwlockattr_setkind_np F
+GLIBC_2.34 pthread_rwlockattr_setpshared F
 GLIBC_2.34 pthread_setspecific F
 GLIBC_2.34 pthread_spin_destroy F
 GLIBC_2.34 pthread_spin_init F
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
index c7c68b7247..e8678ca796 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
@@ -1853,6 +1853,7 @@ GLIBC_2.2 pthread_rwlockattr_getkind_np F
 GLIBC_2.2 pthread_rwlockattr_getpshared F
 GLIBC_2.2 pthread_rwlockattr_init F
 GLIBC_2.2 pthread_rwlockattr_setkind_np F
+GLIBC_2.2 pthread_rwlockattr_setpshared F
 GLIBC_2.2 pthread_spin_destroy F
 GLIBC_2.2 pthread_spin_init F
 GLIBC_2.2 pthread_spin_lock F
@@ -2288,6 +2289,7 @@ GLIBC_2.34 pthread_rwlockattr_getkind_np F
 GLIBC_2.34 pthread_rwlockattr_getpshared F
 GLIBC_2.34 pthread_rwlockattr_init F
 GLIBC_2.34 pthread_rwlockattr_setkind_np F
+GLIBC_2.34 pthread_rwlockattr_setpshared F
 GLIBC_2.34 pthread_setspecific F
 GLIBC_2.34 pthread_spin_destroy F
 GLIBC_2.34 pthread_spin_init F
diff --git a/sysdeps/unix/sysv/linux/nios2/libc.abilist b/sysdeps/unix/sysv/linux/nios2/libc.abilist
index 5a5bf9ecd9..a03fe31d6c 100644
--- a/sysdeps/unix/sysv/linux/nios2/libc.abilist
+++ b/sysdeps/unix/sysv/linux/nios2/libc.abilist
@@ -1563,6 +1563,7 @@ GLIBC_2.21 pthread_rwlockattr_getkind_np F
 GLIBC_2.21 pthread_rwlockattr_getpshared F
 GLIBC_2.21 pthread_rwlockattr_init F
 GLIBC_2.21 pthread_rwlockattr_setkind_np F
+GLIBC_2.21 pthread_rwlockattr_setpshared F
 GLIBC_2.21 pthread_self F
 GLIBC_2.21 pthread_setcancelstate F
 GLIBC_2.21 pthread_setcanceltype F
@@ -2344,6 +2345,7 @@ GLIBC_2.34 pthread_rwlockattr_getkind_np F
 GLIBC_2.34 pthread_rwlockattr_getpshared F
 GLIBC_2.34 pthread_rwlockattr_init F
 GLIBC_2.34 pthread_rwlockattr_setkind_np F
+GLIBC_2.34 pthread_rwlockattr_setpshared F
 GLIBC_2.34 pthread_setspecific F
 GLIBC_2.34 pthread_spin_destroy F
 GLIBC_2.34 pthread_spin_init F
diff --git a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
index 33bc9c4189..c806ceb521 100644
--- a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
@@ -33,7 +33,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_rwlockattr_setpshared F
 GLIBC_2.21 pthread_setaffinity_np F
 GLIBC_2.21 pthread_setattr_default_np F
 GLIBC_2.21 pthread_setconcurrency F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
index 1bd3207525..4bc12f388c 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
@@ -1590,6 +1590,7 @@ GLIBC_2.1 pthread_rwlockattr_getkind_np F
 GLIBC_2.1 pthread_rwlockattr_getpshared F
 GLIBC_2.1 pthread_rwlockattr_init F
 GLIBC_2.1 pthread_rwlockattr_setkind_np F
+GLIBC_2.1 pthread_rwlockattr_setpshared F
 GLIBC_2.1 ptsname F
 GLIBC_2.1 ptsname_r F
 GLIBC_2.1 putgrent F
@@ -2352,6 +2353,7 @@ GLIBC_2.34 pthread_rwlockattr_getkind_np F
 GLIBC_2.34 pthread_rwlockattr_getpshared F
 GLIBC_2.34 pthread_rwlockattr_init F
 GLIBC_2.34 pthread_rwlockattr_setkind_np F
+GLIBC_2.34 pthread_rwlockattr_setpshared F
 GLIBC_2.34 pthread_setspecific F
 GLIBC_2.34 pthread_spin_destroy F
 GLIBC_2.34 pthread_spin_init F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
index 1687b2643c..1d4816cb10 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
@@ -24,7 +24,6 @@ GLIBC_2.1 pthread_attr_setstackaddr F
 GLIBC_2.1 pthread_attr_setstacksize F
 GLIBC_2.1 pthread_create F
 GLIBC_2.1 pthread_getconcurrency F
-GLIBC_2.1 pthread_rwlockattr_setpshared F
 GLIBC_2.1 pthread_setconcurrency F
 GLIBC_2.1 sem_destroy F
 GLIBC_2.1 sem_getvalue F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
index 1e6b0bb015..5259152699 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
@@ -1590,6 +1590,7 @@ GLIBC_2.1 pthread_rwlockattr_getkind_np F
 GLIBC_2.1 pthread_rwlockattr_getpshared F
 GLIBC_2.1 pthread_rwlockattr_init F
 GLIBC_2.1 pthread_rwlockattr_setkind_np F
+GLIBC_2.1 pthread_rwlockattr_setpshared F
 GLIBC_2.1 ptsname F
 GLIBC_2.1 ptsname_r F
 GLIBC_2.1 putgrent F
@@ -2385,6 +2386,7 @@ GLIBC_2.34 pthread_rwlockattr_getkind_np F
 GLIBC_2.34 pthread_rwlockattr_getpshared F
 GLIBC_2.34 pthread_rwlockattr_init F
 GLIBC_2.34 pthread_rwlockattr_setkind_np F
+GLIBC_2.34 pthread_rwlockattr_setpshared F
 GLIBC_2.34 pthread_setspecific F
 GLIBC_2.34 pthread_spin_destroy F
 GLIBC_2.34 pthread_spin_init F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
index 6f8d7a493b..3f636ae388 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
@@ -1435,6 +1435,7 @@ GLIBC_2.3 pthread_rwlockattr_getkind_np F
 GLIBC_2.3 pthread_rwlockattr_getpshared F
 GLIBC_2.3 pthread_rwlockattr_init F
 GLIBC_2.3 pthread_rwlockattr_setkind_np F
+GLIBC_2.3 pthread_rwlockattr_setpshared F
 GLIBC_2.3 pthread_self F
 GLIBC_2.3 pthread_setcancelstate F
 GLIBC_2.3 pthread_setcanceltype F
@@ -2206,6 +2207,7 @@ GLIBC_2.34 pthread_rwlockattr_getkind_np F
 GLIBC_2.34 pthread_rwlockattr_getpshared F
 GLIBC_2.34 pthread_rwlockattr_init F
 GLIBC_2.34 pthread_rwlockattr_setkind_np F
+GLIBC_2.34 pthread_rwlockattr_setpshared F
 GLIBC_2.34 pthread_setspecific F
 GLIBC_2.34 pthread_spin_destroy F
 GLIBC_2.34 pthread_spin_init F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
index cf196e295b..1b8593ce79 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
@@ -51,7 +51,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_rwlockattr_setpshared F
 GLIBC_2.3 pthread_setconcurrency F
 GLIBC_2.3 pthread_testcancel F
 GLIBC_2.3 pthread_yield F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
index 453479d34d..a8ab8da8b5 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
@@ -1606,6 +1606,7 @@ GLIBC_2.17 pthread_rwlockattr_getkind_np F
 GLIBC_2.17 pthread_rwlockattr_getpshared F
 GLIBC_2.17 pthread_rwlockattr_init F
 GLIBC_2.17 pthread_rwlockattr_setkind_np F
+GLIBC_2.17 pthread_rwlockattr_setpshared F
 GLIBC_2.17 pthread_self F
 GLIBC_2.17 pthread_setcancelstate F
 GLIBC_2.17 pthread_setcanceltype F
@@ -2507,6 +2508,7 @@ GLIBC_2.34 pthread_rwlockattr_getkind_np F
 GLIBC_2.34 pthread_rwlockattr_getpshared F
 GLIBC_2.34 pthread_rwlockattr_init F
 GLIBC_2.34 pthread_rwlockattr_setkind_np F
+GLIBC_2.34 pthread_rwlockattr_setpshared F
 GLIBC_2.34 pthread_setspecific F
 GLIBC_2.34 pthread_spin_destroy F
 GLIBC_2.34 pthread_spin_init F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
index 78fd215f41..5ba7924a4b 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
@@ -32,7 +32,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_rwlockattr_setpshared F
 GLIBC_2.17 pthread_setaffinity_np F
 GLIBC_2.17 pthread_setconcurrency F
 GLIBC_2.17 pthread_setname_np F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
index f370e23d42..3320e627c6 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
@@ -1450,6 +1450,7 @@ GLIBC_2.33 pthread_rwlockattr_getkind_np F
 GLIBC_2.33 pthread_rwlockattr_getpshared F
 GLIBC_2.33 pthread_rwlockattr_init F
 GLIBC_2.33 pthread_rwlockattr_setkind_np F
+GLIBC_2.33 pthread_rwlockattr_setpshared F
 GLIBC_2.33 pthread_self F
 GLIBC_2.33 pthread_setcancelstate F
 GLIBC_2.33 pthread_setcanceltype F
@@ -2072,6 +2073,7 @@ GLIBC_2.34 pthread_rwlockattr_getkind_np F
 GLIBC_2.34 pthread_rwlockattr_getpshared F
 GLIBC_2.34 pthread_rwlockattr_init F
 GLIBC_2.34 pthread_rwlockattr_setkind_np F
+GLIBC_2.34 pthread_rwlockattr_setpshared F
 GLIBC_2.34 pthread_setspecific F
 GLIBC_2.34 pthread_spin_destroy F
 GLIBC_2.34 pthread_spin_init F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
index 120577addb..7857c710ef 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
@@ -47,7 +47,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_rwlockattr_setpshared F
 GLIBC_2.33 pthread_setaffinity_np F
 GLIBC_2.33 pthread_setattr_default_np F
 GLIBC_2.33 pthread_setconcurrency F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
index 9adfffe06a..dd05e42875 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
@@ -1508,6 +1508,7 @@ GLIBC_2.27 pthread_rwlockattr_getkind_np F
 GLIBC_2.27 pthread_rwlockattr_getpshared F
 GLIBC_2.27 pthread_rwlockattr_init F
 GLIBC_2.27 pthread_rwlockattr_setkind_np F
+GLIBC_2.27 pthread_rwlockattr_setpshared F
 GLIBC_2.27 pthread_self F
 GLIBC_2.27 pthread_setcancelstate F
 GLIBC_2.27 pthread_setcanceltype F
@@ -2272,6 +2273,7 @@ GLIBC_2.34 pthread_rwlockattr_getkind_np F
 GLIBC_2.34 pthread_rwlockattr_getpshared F
 GLIBC_2.34 pthread_rwlockattr_init F
 GLIBC_2.34 pthread_rwlockattr_setkind_np F
+GLIBC_2.34 pthread_rwlockattr_setpshared F
 GLIBC_2.34 pthread_setspecific F
 GLIBC_2.34 pthread_spin_destroy F
 GLIBC_2.34 pthread_spin_init F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
index d3a180f6b0..dea83367c6 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
@@ -33,7 +33,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_rwlockattr_setpshared F
 GLIBC_2.27 pthread_setaffinity_np F
 GLIBC_2.27 pthread_setattr_default_np F
 GLIBC_2.27 pthread_setconcurrency F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
index fba5894e2d..22a2cbf852 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
@@ -1582,6 +1582,7 @@ GLIBC_2.1 pthread_rwlockattr_getkind_np F
 GLIBC_2.1 pthread_rwlockattr_getpshared F
 GLIBC_2.1 pthread_rwlockattr_init F
 GLIBC_2.1 pthread_rwlockattr_setkind_np F
+GLIBC_2.1 pthread_rwlockattr_setpshared F
 GLIBC_2.1 ptsname F
 GLIBC_2.1 ptsname_r F
 GLIBC_2.1 putgrent F
@@ -2350,6 +2351,7 @@ GLIBC_2.34 pthread_rwlockattr_getkind_np F
 GLIBC_2.34 pthread_rwlockattr_getpshared F
 GLIBC_2.34 pthread_rwlockattr_init F
 GLIBC_2.34 pthread_rwlockattr_setkind_np F
+GLIBC_2.34 pthread_rwlockattr_setpshared F
 GLIBC_2.34 pthread_setspecific F
 GLIBC_2.34 pthread_spin_destroy F
 GLIBC_2.34 pthread_spin_init F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
index 8d1b6afd40..98a51539a9 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
@@ -24,7 +24,6 @@ GLIBC_2.1 pthread_attr_setstackaddr F
 GLIBC_2.1 pthread_attr_setstacksize F
 GLIBC_2.1 pthread_create F
 GLIBC_2.1 pthread_getconcurrency F
-GLIBC_2.1 pthread_rwlockattr_setpshared F
 GLIBC_2.1 pthread_setconcurrency F
 GLIBC_2.1 sem_destroy F
 GLIBC_2.1 sem_getvalue F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
index ad5b0f36c9..ccefbdf8c2 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
@@ -1347,6 +1347,7 @@ GLIBC_2.2 pthread_rwlockattr_getkind_np F
 GLIBC_2.2 pthread_rwlockattr_getpshared F
 GLIBC_2.2 pthread_rwlockattr_init F
 GLIBC_2.2 pthread_rwlockattr_setkind_np F
+GLIBC_2.2 pthread_rwlockattr_setpshared F
 GLIBC_2.2 pthread_self F
 GLIBC_2.2 pthread_setcancelstate F
 GLIBC_2.2 pthread_setcanceltype F
@@ -2243,6 +2244,7 @@ GLIBC_2.34 pthread_rwlockattr_getkind_np F
 GLIBC_2.34 pthread_rwlockattr_getpshared F
 GLIBC_2.34 pthread_rwlockattr_init F
 GLIBC_2.34 pthread_rwlockattr_setkind_np F
+GLIBC_2.34 pthread_rwlockattr_setpshared F
 GLIBC_2.34 pthread_setspecific F
 GLIBC_2.34 pthread_spin_destroy F
 GLIBC_2.34 pthread_spin_init F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
index ad71f3903e..a7c31a78ed 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
@@ -31,7 +31,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_rwlockattr_setpshared F
 GLIBC_2.2 pthread_setconcurrency F
 GLIBC_2.2 pthread_testcancel F
 GLIBC_2.2 pthread_yield F
diff --git a/sysdeps/unix/sysv/linux/sh/be/libc.abilist b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
index 97542cca5f..5eda2777d2 100644
--- a/sysdeps/unix/sysv/linux/sh/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
@@ -1333,6 +1333,7 @@ GLIBC_2.2 pthread_rwlockattr_getkind_np F
 GLIBC_2.2 pthread_rwlockattr_getpshared F
 GLIBC_2.2 pthread_rwlockattr_init F
 GLIBC_2.2 pthread_rwlockattr_setkind_np F
+GLIBC_2.2 pthread_rwlockattr_setpshared F
 GLIBC_2.2 pthread_self F
 GLIBC_2.2 pthread_setcancelstate F
 GLIBC_2.2 pthread_setcanceltype F
@@ -2212,6 +2213,7 @@ GLIBC_2.34 pthread_rwlockattr_getkind_np F
 GLIBC_2.34 pthread_rwlockattr_getpshared F
 GLIBC_2.34 pthread_rwlockattr_init F
 GLIBC_2.34 pthread_rwlockattr_setkind_np F
+GLIBC_2.34 pthread_rwlockattr_setpshared F
 GLIBC_2.34 pthread_setspecific F
 GLIBC_2.34 pthread_spin_destroy F
 GLIBC_2.34 pthread_spin_init F
diff --git a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
index 0e0b33dd4f..430069d2a9 100644
--- a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
@@ -30,7 +30,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_rwlockattr_setpshared F
 GLIBC_2.2 pthread_setconcurrency F
 GLIBC_2.2 pthread_testcancel F
 GLIBC_2.2 pthread_yield F
diff --git a/sysdeps/unix/sysv/linux/sh/le/libc.abilist b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
index 3cd818e245..4c215edaf5 100644
--- a/sysdeps/unix/sysv/linux/sh/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
@@ -1333,6 +1333,7 @@ GLIBC_2.2 pthread_rwlockattr_getkind_np F
 GLIBC_2.2 pthread_rwlockattr_getpshared F
 GLIBC_2.2 pthread_rwlockattr_init F
 GLIBC_2.2 pthread_rwlockattr_setkind_np F
+GLIBC_2.2 pthread_rwlockattr_setpshared F
 GLIBC_2.2 pthread_self F
 GLIBC_2.2 pthread_setcancelstate F
 GLIBC_2.2 pthread_setcanceltype F
@@ -2209,6 +2210,7 @@ GLIBC_2.34 pthread_rwlockattr_getkind_np F
 GLIBC_2.34 pthread_rwlockattr_getpshared F
 GLIBC_2.34 pthread_rwlockattr_init F
 GLIBC_2.34 pthread_rwlockattr_setkind_np F
+GLIBC_2.34 pthread_rwlockattr_setpshared F
 GLIBC_2.34 pthread_setspecific F
 GLIBC_2.34 pthread_spin_destroy F
 GLIBC_2.34 pthread_spin_init F
diff --git a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
index 0e0b33dd4f..430069d2a9 100644
--- a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
@@ -30,7 +30,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_rwlockattr_setpshared F
 GLIBC_2.2 pthread_setconcurrency F
 GLIBC_2.2 pthread_testcancel F
 GLIBC_2.2 pthread_yield F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
index c065335dc5..1c30a0baa2 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
@@ -1583,6 +1583,7 @@ GLIBC_2.1 pthread_rwlockattr_getkind_np F
 GLIBC_2.1 pthread_rwlockattr_getpshared F
 GLIBC_2.1 pthread_rwlockattr_init F
 GLIBC_2.1 pthread_rwlockattr_setkind_np F
+GLIBC_2.1 pthread_rwlockattr_setpshared F
 GLIBC_2.1 ptsname F
 GLIBC_2.1 ptsname_r F
 GLIBC_2.1 putgrent F
@@ -2341,6 +2342,7 @@ GLIBC_2.34 pthread_rwlockattr_getkind_np F
 GLIBC_2.34 pthread_rwlockattr_getpshared F
 GLIBC_2.34 pthread_rwlockattr_init F
 GLIBC_2.34 pthread_rwlockattr_setkind_np F
+GLIBC_2.34 pthread_rwlockattr_setpshared F
 GLIBC_2.34 pthread_setspecific F
 GLIBC_2.34 pthread_spin_destroy F
 GLIBC_2.34 pthread_spin_init F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
index 25c6d113d8..060d40755c 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
@@ -24,7 +24,6 @@ GLIBC_2.1 pthread_attr_setstackaddr F
 GLIBC_2.1 pthread_attr_setstacksize F
 GLIBC_2.1 pthread_create F
 GLIBC_2.1 pthread_getconcurrency F
-GLIBC_2.1 pthread_rwlockattr_setpshared F
 GLIBC_2.1 pthread_setconcurrency F
 GLIBC_2.1 sem_destroy F
 GLIBC_2.1 sem_getvalue F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
index 9a72b1a42f..fad41a0cb6 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
@@ -1376,6 +1376,7 @@ GLIBC_2.2 pthread_rwlockattr_getkind_np F
 GLIBC_2.2 pthread_rwlockattr_getpshared F
 GLIBC_2.2 pthread_rwlockattr_init F
 GLIBC_2.2 pthread_rwlockattr_setkind_np F
+GLIBC_2.2 pthread_rwlockattr_setpshared F
 GLIBC_2.2 pthread_self F
 GLIBC_2.2 pthread_setcancelstate F
 GLIBC_2.2 pthread_setcanceltype F
@@ -2260,6 +2261,7 @@ GLIBC_2.34 pthread_rwlockattr_getkind_np F
 GLIBC_2.34 pthread_rwlockattr_getpshared F
 GLIBC_2.34 pthread_rwlockattr_init F
 GLIBC_2.34 pthread_rwlockattr_setkind_np F
+GLIBC_2.34 pthread_rwlockattr_setpshared F
 GLIBC_2.34 pthread_setspecific F
 GLIBC_2.34 pthread_spin_destroy F
 GLIBC_2.34 pthread_spin_init F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
index 8c4aedda72..cc2b7f9767 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
@@ -30,7 +30,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_rwlockattr_setpshared F
 GLIBC_2.2 pthread_setconcurrency F
 GLIBC_2.2 pthread_testcancel F
 GLIBC_2.2 pthread_yield F
diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
index 96e9b63861..03980a77f8 100644
--- a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
@@ -1344,6 +1344,7 @@ GLIBC_2.2.5 pthread_rwlockattr_getkind_np F
 GLIBC_2.2.5 pthread_rwlockattr_getpshared F
 GLIBC_2.2.5 pthread_rwlockattr_init F
 GLIBC_2.2.5 pthread_rwlockattr_setkind_np F
+GLIBC_2.2.5 pthread_rwlockattr_setpshared F
 GLIBC_2.2.5 pthread_self F
 GLIBC_2.2.5 pthread_setcancelstate F
 GLIBC_2.2.5 pthread_setcanceltype F
@@ -2221,6 +2222,7 @@ GLIBC_2.34 pthread_rwlockattr_getkind_np F
 GLIBC_2.34 pthread_rwlockattr_getpshared F
 GLIBC_2.34 pthread_rwlockattr_init F
 GLIBC_2.34 pthread_rwlockattr_setkind_np F
+GLIBC_2.34 pthread_rwlockattr_setpshared F
 GLIBC_2.34 pthread_setspecific F
 GLIBC_2.34 pthread_spin_destroy F
 GLIBC_2.34 pthread_spin_init F
diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
index 2ffea619e9..fa269b076b 100644
--- a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
@@ -30,7 +30,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_rwlockattr_setpshared F
 GLIBC_2.2.5 pthread_setconcurrency F
 GLIBC_2.2.5 pthread_testcancel F
 GLIBC_2.2.5 pthread_yield F
diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
index 2b2d6f62cd..c8c7d9d71e 100644
--- a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
@@ -1525,6 +1525,7 @@ GLIBC_2.16 pthread_rwlockattr_getkind_np F
 GLIBC_2.16 pthread_rwlockattr_getpshared F
 GLIBC_2.16 pthread_rwlockattr_init F
 GLIBC_2.16 pthread_rwlockattr_setkind_np F
+GLIBC_2.16 pthread_rwlockattr_setpshared F
 GLIBC_2.16 pthread_self F
 GLIBC_2.16 pthread_setcancelstate F
 GLIBC_2.16 pthread_setcanceltype F
@@ -2326,6 +2327,7 @@ GLIBC_2.34 pthread_rwlockattr_getkind_np F
 GLIBC_2.34 pthread_rwlockattr_getpshared F
 GLIBC_2.34 pthread_rwlockattr_init F
 GLIBC_2.34 pthread_rwlockattr_setkind_np F
+GLIBC_2.34 pthread_rwlockattr_setpshared F
 GLIBC_2.34 pthread_setspecific F
 GLIBC_2.34 pthread_spin_destroy F
 GLIBC_2.34 pthread_spin_init F
diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
index 18496f7378..c95efe2950 100644
--- a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
@@ -32,7 +32,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_rwlockattr_setpshared F
 GLIBC_2.16 pthread_setaffinity_np F
 GLIBC_2.16 pthread_setconcurrency F
 GLIBC_2.16 pthread_setname_np F
-- 
2.30.2


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

* Re: [PATCH 00/14] nptl: Move remaining rwlock functions into libc
  2021-04-23 17:36 [PATCH 00/14] nptl: Move remaining rwlock functions into libc Florian Weimer via Libc-alpha
                   ` (13 preceding siblings ...)
  2021-04-23 17:38 ` [PATCH 14/14] nptl: Move pthread_rwlockattr_setpshared " Florian Weimer via Libc-alpha
@ 2021-05-02 19:30 ` Carlos O'Donell via Libc-alpha
  14 siblings, 0 replies; 30+ messages in thread
From: Carlos O'Donell via Libc-alpha @ 2021-05-02 19:30 UTC (permalink / raw)
  To: Florian Weimer, libc-alpha

On 4/23/21 1:36 PM, Florian Weimer via Libc-alpha wrote:
> The clock*lock are a bit more complex, and I followed what I did in the
> mutex and condition variable cases.  I also removed some unsued
> <libc-lock.h> functionality.
> 
> Tested on i686-linux-gnu and x86_64-linux-gnu.  Built with
> build-many-glibcs.py.

Overall tested and reviewed on x86_64 and i686.

LGTM.

Reviewed-by: Carlos O'Donell <carlos@redhat.com>
Tested-by: Carlos O'Donell <carlos@redhat.com>

 
> Thanks,
> Florian
> 
> Florian Weimer (14):
>   nptl: Move pthread_rwlock_clockrdlock into libc
>   nptl: Move pthread_rwlock_clockwrlock into libc
>   nptl: Move pthread_rwlock_destroy into libc
>   nptl: Move pthread_rwlock_init into libc
>   nptl: Move pthread_rwlock_timedrdlock into libc
>   nptl: Move pthread_rwlock_timedwrlock into libc
>   nptl: Move pthread_rwlock_tryrdlock into libc
>   nptl: Move pthread_rwlock_trywrlock into libc
>   nptl: Move pthread_rwlockattr_destroy into libc
>   nptl: Move pthread_rwlockattr_getkind_np into libc
>   nptl: Move pthread_rwlockattr_getpshared into libc
>   nptl: Move pthread_rwlockattr_init into libc
>   nptl: Move pthread_rwlockattr_setkind_np into libc
>   nptl: Move pthread_rwlockattr_setpshared into libc
> 
>  nptl/Makefile                                 | 28 +++++------
>  nptl/Versions                                 | 49 ++++++++++++-------
>  nptl/pthreadP.h                               |  8 +--
>  nptl/pthread_rwlock_clockrdlock.c             | 23 ++++++---
>  nptl/pthread_rwlock_clockwrlock.c             | 23 ++++++---
>  nptl/pthread_rwlock_destroy.c                 | 16 ++++--
>  nptl/pthread_rwlock_init.c                    | 20 ++++++--
>  nptl/pthread_rwlock_timedrdlock.c             | 23 ++++++---
>  nptl/pthread_rwlock_timedwrlock.c             | 23 ++++++---
>  nptl/pthread_rwlock_tryrdlock.c               | 15 +++++-
>  nptl/pthread_rwlock_trywrlock.c               | 15 +++++-
>  nptl/pthread_rwlockattr_destroy.c             | 11 ++++-
>  nptl/pthread_rwlockattr_getkind_np.c          | 11 ++++-
>  nptl/pthread_rwlockattr_getpshared.c          | 12 ++++-
>  nptl/pthread_rwlockattr_init.c                | 11 ++++-
>  nptl/pthread_rwlockattr_setkind_np.c          | 11 ++++-
>  nptl/pthread_rwlockattr_setpshared.c          | 11 ++++-
>  sysdeps/nptl/libc-lockP.h                     | 30 ++----------
>  sysdeps/unix/sysv/linux/aarch64/libc.abilist  | 32 ++++++++++++
>  .../sysv/linux/aarch64/libpthread.abilist     | 18 -------
>  sysdeps/unix/sysv/linux/alpha/libc.abilist    | 32 ++++++++++++
>  .../unix/sysv/linux/alpha/libpthread.abilist  | 18 -------
>  sysdeps/unix/sysv/linux/arc/libc.abilist      | 32 ++++++++++++
>  .../unix/sysv/linux/arc/libpthread.abilist    | 18 -------
>  sysdeps/unix/sysv/linux/arm/be/libc.abilist   | 32 ++++++++++++
>  .../unix/sysv/linux/arm/be/libpthread.abilist | 18 -------
>  sysdeps/unix/sysv/linux/arm/le/libc.abilist   | 32 ++++++++++++
>  .../unix/sysv/linux/arm/le/libpthread.abilist | 18 -------
>  sysdeps/unix/sysv/linux/csky/libc.abilist     | 32 ++++++++++++
>  .../unix/sysv/linux/csky/libpthread.abilist   | 18 -------
>  sysdeps/unix/sysv/linux/hppa/libc.abilist     | 32 ++++++++++++
>  .../unix/sysv/linux/hppa/libpthread.abilist   | 18 -------
>  sysdeps/unix/sysv/linux/i386/libc.abilist     | 32 ++++++++++++
>  .../unix/sysv/linux/i386/libpthread.abilist   | 18 -------
>  sysdeps/unix/sysv/linux/ia64/libc.abilist     | 32 ++++++++++++
>  .../unix/sysv/linux/ia64/libpthread.abilist   | 18 -------
>  .../sysv/linux/m68k/coldfire/libc.abilist     | 32 ++++++++++++
>  .../linux/m68k/coldfire/libpthread.abilist    | 18 -------
>  .../unix/sysv/linux/m68k/m680x0/libc.abilist  | 32 ++++++++++++
>  .../sysv/linux/m68k/m680x0/libpthread.abilist | 18 -------
>  .../sysv/linux/microblaze/be/libc.abilist     | 32 ++++++++++++
>  .../linux/microblaze/be/libpthread.abilist    | 18 -------
>  .../sysv/linux/microblaze/le/libc.abilist     | 32 ++++++++++++
>  .../linux/microblaze/le/libpthread.abilist    | 18 -------
>  .../sysv/linux/mips/mips32/fpu/libc.abilist   | 32 ++++++++++++
>  .../sysv/linux/mips/mips32/libpthread.abilist | 18 -------
>  .../sysv/linux/mips/mips32/nofpu/libc.abilist | 32 ++++++++++++
>  .../sysv/linux/mips/mips64/libpthread.abilist | 18 -------
>  .../sysv/linux/mips/mips64/n32/libc.abilist   | 32 ++++++++++++
>  .../sysv/linux/mips/mips64/n64/libc.abilist   | 32 ++++++++++++
>  sysdeps/unix/sysv/linux/nios2/libc.abilist    | 32 ++++++++++++
>  .../unix/sysv/linux/nios2/libpthread.abilist  | 18 -------
>  .../linux/powerpc/powerpc32/fpu/libc.abilist  | 32 ++++++++++++
>  .../powerpc/powerpc32/libpthread.abilist      | 18 -------
>  .../powerpc/powerpc32/nofpu/libc.abilist      | 32 ++++++++++++
>  .../linux/powerpc/powerpc64/be/libc.abilist   | 32 ++++++++++++
>  .../powerpc/powerpc64/be/libpthread.abilist   | 18 -------
>  .../linux/powerpc/powerpc64/le/libc.abilist   | 32 ++++++++++++
>  .../powerpc/powerpc64/le/libpthread.abilist   | 18 -------
>  .../unix/sysv/linux/riscv/rv32/libc.abilist   | 32 ++++++++++++
>  .../sysv/linux/riscv/rv32/libpthread.abilist  | 18 -------
>  .../unix/sysv/linux/riscv/rv64/libc.abilist   | 32 ++++++++++++
>  .../sysv/linux/riscv/rv64/libpthread.abilist  | 18 -------
>  .../unix/sysv/linux/s390/s390-32/libc.abilist | 32 ++++++++++++
>  .../linux/s390/s390-32/libpthread.abilist     | 18 -------
>  .../unix/sysv/linux/s390/s390-64/libc.abilist | 32 ++++++++++++
>  .../linux/s390/s390-64/libpthread.abilist     | 18 -------
>  sysdeps/unix/sysv/linux/sh/be/libc.abilist    | 32 ++++++++++++
>  .../unix/sysv/linux/sh/be/libpthread.abilist  | 18 -------
>  sysdeps/unix/sysv/linux/sh/le/libc.abilist    | 32 ++++++++++++
>  .../unix/sysv/linux/sh/le/libpthread.abilist  | 18 -------
>  .../sysv/linux/sparc/sparc32/libc.abilist     | 32 ++++++++++++
>  .../linux/sparc/sparc32/libpthread.abilist    | 18 -------
>  .../sysv/linux/sparc/sparc64/libc.abilist     | 32 ++++++++++++
>  .../linux/sparc/sparc64/libpthread.abilist    | 18 -------
>  .../unix/sysv/linux/x86_64/64/libc.abilist    | 32 ++++++++++++
>  .../sysv/linux/x86_64/64/libpthread.abilist   | 18 -------
>  .../unix/sysv/linux/x86_64/x32/libc.abilist   | 32 ++++++++++++
>  .../sysv/linux/x86_64/x32/libpthread.abilist  | 18 -------
>  79 files changed, 1251 insertions(+), 635 deletions(-)
> 


-- 
Cheers,
Carlos.


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

* Re: [PATCH 01/14] nptl: Move pthread_rwlock_clockrdlock into libc
  2021-04-23 17:36 ` [PATCH 01/14] nptl: Move pthread_rwlock_clockrdlock " Florian Weimer via Libc-alpha
@ 2021-05-02 19:30   ` Carlos O'Donell via Libc-alpha
  0 siblings, 0 replies; 30+ messages in thread
From: Carlos O'Donell via Libc-alpha @ 2021-05-02 19:30 UTC (permalink / raw)
  To: Florian Weimer, libc-alpha

On 4/23/21 1:36 PM, Florian Weimer via Libc-alpha wrote:
> The symbol was moved using scripts/move-symbol-to-libc.py.

Tested and reviewed on x86_64 and i686.

LGTM.

Reviewed-by: Carlos O'Donell <carlos@redhat.com>
Tested-by: Carlos O'Donell <carlos@redhat.com>

> ---
>  nptl/Makefile                                 |  2 +-
>  nptl/Versions                                 |  3 ++-
>  nptl/pthreadP.h                               |  2 +-
>  nptl/pthread_rwlock_clockrdlock.c             | 23 +++++++++++++------
>  sysdeps/unix/sysv/linux/aarch64/libc.abilist  |  2 ++
>  .../sysv/linux/aarch64/libpthread.abilist     |  1 -
>  sysdeps/unix/sysv/linux/alpha/libc.abilist    |  2 ++
>  .../unix/sysv/linux/alpha/libpthread.abilist  |  1 -
>  sysdeps/unix/sysv/linux/arc/libc.abilist      |  2 ++
>  .../unix/sysv/linux/arc/libpthread.abilist    |  1 -
>  sysdeps/unix/sysv/linux/arm/be/libc.abilist   |  2 ++
>  .../unix/sysv/linux/arm/be/libpthread.abilist |  1 -
>  sysdeps/unix/sysv/linux/arm/le/libc.abilist   |  2 ++
>  .../unix/sysv/linux/arm/le/libpthread.abilist |  1 -
>  sysdeps/unix/sysv/linux/csky/libc.abilist     |  2 ++
>  .../unix/sysv/linux/csky/libpthread.abilist   |  1 -
>  sysdeps/unix/sysv/linux/hppa/libc.abilist     |  2 ++
>  .../unix/sysv/linux/hppa/libpthread.abilist   |  1 -
>  sysdeps/unix/sysv/linux/i386/libc.abilist     |  2 ++
>  .../unix/sysv/linux/i386/libpthread.abilist   |  1 -
>  sysdeps/unix/sysv/linux/ia64/libc.abilist     |  2 ++
>  .../unix/sysv/linux/ia64/libpthread.abilist   |  1 -
>  .../sysv/linux/m68k/coldfire/libc.abilist     |  2 ++
>  .../linux/m68k/coldfire/libpthread.abilist    |  1 -
>  .../unix/sysv/linux/m68k/m680x0/libc.abilist  |  2 ++
>  .../sysv/linux/m68k/m680x0/libpthread.abilist |  1 -
>  .../sysv/linux/microblaze/be/libc.abilist     |  2 ++
>  .../linux/microblaze/be/libpthread.abilist    |  1 -
>  .../sysv/linux/microblaze/le/libc.abilist     |  2 ++
>  .../linux/microblaze/le/libpthread.abilist    |  1 -
>  .../sysv/linux/mips/mips32/fpu/libc.abilist   |  2 ++
>  .../sysv/linux/mips/mips32/libpthread.abilist |  1 -
>  .../sysv/linux/mips/mips32/nofpu/libc.abilist |  2 ++
>  .../sysv/linux/mips/mips64/libpthread.abilist |  1 -
>  .../sysv/linux/mips/mips64/n32/libc.abilist   |  2 ++
>  .../sysv/linux/mips/mips64/n64/libc.abilist   |  2 ++
>  sysdeps/unix/sysv/linux/nios2/libc.abilist    |  2 ++
>  .../unix/sysv/linux/nios2/libpthread.abilist  |  1 -
>  .../linux/powerpc/powerpc32/fpu/libc.abilist  |  2 ++
>  .../powerpc/powerpc32/libpthread.abilist      |  1 -
>  .../powerpc/powerpc32/nofpu/libc.abilist      |  2 ++
>  .../linux/powerpc/powerpc64/be/libc.abilist   |  2 ++
>  .../powerpc/powerpc64/be/libpthread.abilist   |  1 -
>  .../linux/powerpc/powerpc64/le/libc.abilist   |  2 ++
>  .../powerpc/powerpc64/le/libpthread.abilist   |  1 -
>  .../unix/sysv/linux/riscv/rv32/libc.abilist   |  2 ++
>  .../sysv/linux/riscv/rv32/libpthread.abilist  |  1 -
>  .../unix/sysv/linux/riscv/rv64/libc.abilist   |  2 ++
>  .../sysv/linux/riscv/rv64/libpthread.abilist  |  1 -
>  .../unix/sysv/linux/s390/s390-32/libc.abilist |  2 ++
>  .../linux/s390/s390-32/libpthread.abilist     |  1 -
>  .../unix/sysv/linux/s390/s390-64/libc.abilist |  2 ++
>  .../linux/s390/s390-64/libpthread.abilist     |  1 -
>  sysdeps/unix/sysv/linux/sh/be/libc.abilist    |  2 ++
>  .../unix/sysv/linux/sh/be/libpthread.abilist  |  1 -
>  sysdeps/unix/sysv/linux/sh/le/libc.abilist    |  2 ++
>  .../unix/sysv/linux/sh/le/libpthread.abilist  |  1 -
>  .../sysv/linux/sparc/sparc32/libc.abilist     |  2 ++
>  .../linux/sparc/sparc32/libpthread.abilist    |  1 -
>  .../sysv/linux/sparc/sparc64/libc.abilist     |  2 ++
>  .../linux/sparc/sparc64/libpthread.abilist    |  1 -
>  .../unix/sysv/linux/x86_64/64/libc.abilist    |  2 ++
>  .../sysv/linux/x86_64/64/libpthread.abilist   |  1 -
>  .../unix/sysv/linux/x86_64/x32/libc.abilist   |  2 ++
>  .../sysv/linux/x86_64/x32/libpthread.abilist  |  1 -
>  65 files changed, 84 insertions(+), 39 deletions(-)
> 
> diff --git a/nptl/Makefile b/nptl/Makefile
> index fba3c8153e..d2c7605bca 100644
> --- a/nptl/Makefile
> +++ b/nptl/Makefile
> @@ -120,6 +120,7 @@ routines = \
>    pthread_mutexattr_setrobust \
>    pthread_mutexattr_settype \
>    pthread_once \
> +  pthread_rwlock_clockrdlock \
>    pthread_rwlock_rdlock \
>    pthread_rwlock_unlock \
>    pthread_rwlock_wrlock \
> @@ -178,7 +179,6 @@ libpthread-routines = \
>    pthread_getname \
>    pthread_join \
>    pthread_join_common \
> -  pthread_rwlock_clockrdlock \
>    pthread_rwlock_clockwrlock \
>    pthread_rwlock_destroy \
>    pthread_rwlock_init \
> diff --git a/nptl/Versions b/nptl/Versions
> index 03e159ee0f..2ea367631d 100644
> --- a/nptl/Versions
> +++ b/nptl/Versions
> @@ -134,6 +134,7 @@ libc {
>    GLIBC_2.30 {
>      pthread_cond_clockwait;
>      pthread_mutex_clocklock;
> +    pthread_rwlock_clockrdlock;
>    }
>    GLIBC_2.32 {
>      pthread_attr_getsigmask_np;
> @@ -180,6 +181,7 @@ libc {
>      pthread_mutexattr_setrobust;
>      pthread_mutexattr_settype;
>      pthread_once;
> +    pthread_rwlock_clockrdlock;
>      pthread_rwlock_rdlock;
>      pthread_rwlock_unlock;
>      pthread_rwlock_wrlock;
> @@ -397,7 +399,6 @@ libpthread {
>    }
>  
>    GLIBC_2.30 {
> -    pthread_rwlock_clockrdlock;
>      pthread_rwlock_clockwrlock;
>      sem_clockwait;
>    }
> diff --git a/nptl/pthreadP.h b/nptl/pthreadP.h
> index db8983c711..a7f5bdd061 100644
> --- a/nptl/pthreadP.h
> +++ b/nptl/pthreadP.h
> @@ -503,7 +503,7 @@ libc_hidden_proto (__pthread_cond_clockwait64)
>  extern int __pthread_rwlock_clockrdlock64 (pthread_rwlock_t *rwlock,
>                                             clockid_t clockid,
>                                             const struct __timespec64 *abstime);
> -libpthread_hidden_proto (__pthread_rwlock_clockrdlock64)
> +libc_hidden_proto (__pthread_rwlock_clockrdlock64)
>  extern int __pthread_rwlock_clockwrlock64 (pthread_rwlock_t *rwlock,
>                                             clockid_t clockid,
>                                             const struct __timespec64 *abstime);
> diff --git a/nptl/pthread_rwlock_clockrdlock.c b/nptl/pthread_rwlock_clockrdlock.c
> index 6c8e50a6b3..9db96b9904 100644
> --- a/nptl/pthread_rwlock_clockrdlock.c
> +++ b/nptl/pthread_rwlock_clockrdlock.c
> @@ -18,25 +18,34 @@
>     <https://www.gnu.org/licenses/>.  */
>  
>  #include "pthread_rwlock_common.c"
> +#include <shlib-compat.h>
>  
>  /* See pthread_rwlock_common.c.  */
>  int
> -__pthread_rwlock_clockrdlock64 (pthread_rwlock_t *rwlock, clockid_t clockid,
> -                                const struct __timespec64 *abstime)
> +___pthread_rwlock_clockrdlock64 (pthread_rwlock_t *rwlock, clockid_t clockid,
> +				 const struct __timespec64 *abstime)
>  {
>    return __pthread_rwlock_rdlock_full64 (rwlock, clockid, abstime);
>  }
>  
> -#if __TIMESIZE != 64
> -libpthread_hidden_def (__pthread_rwlock_clockrdlock64)
> +#if __TIMESIZE == 64
> +strong_alias (___pthread_rwlock_clockrdlock64, ___pthread_rwlock_clockrdlock)
> +#else /* __TIMESPEC64 != 64 */
> +libc_hidden_ver (___pthread_rwlock_clockrdlock64,
> +		 __pthread_rwlock_clockrdlock64)
>  
>  int
> -__pthread_rwlock_clockrdlock (pthread_rwlock_t *rwlock, clockid_t clockid,
> -                              const struct timespec *abstime)
> +___pthread_rwlock_clockrdlock (pthread_rwlock_t *rwlock, clockid_t clockid,
> +			       const struct timespec *abstime)
>  {
>    struct __timespec64 ts64 = valid_timespec_to_timespec64 (*abstime);
>  
>    return __pthread_rwlock_clockrdlock64 (rwlock, clockid, &ts64);
>  }
> +#endif /* __TIMESPEC64 != 64 */
> +versioned_symbol (libc, ___pthread_rwlock_clockrdlock,
> +		  pthread_rwlock_clockrdlock, GLIBC_2_34);
> +#if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_30, GLIBC_2_34)
> +compat_symbol (libpthread, ___pthread_rwlock_clockrdlock,
> +	       pthread_rwlock_clockrdlock, GLIBC_2_30);
>  #endif
> -weak_alias (__pthread_rwlock_clockrdlock, pthread_rwlock_clockrdlock)
> diff --git a/sysdeps/unix/sysv/linux/aarch64/libc.abilist b/sysdeps/unix/sysv/linux/aarch64/libc.abilist
> index 96f61e91b5..a544add0ac 100644
> --- a/sysdeps/unix/sysv/linux/aarch64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/aarch64/libc.abilist
> @@ -2212,6 +2212,7 @@ GLIBC_2.30 getdents64 F
>  GLIBC_2.30 gettid F
>  GLIBC_2.30 pthread_cond_clockwait F
>  GLIBC_2.30 pthread_mutex_clocklock F
> +GLIBC_2.30 pthread_rwlock_clockrdlock F
>  GLIBC_2.30 tgkill F
>  GLIBC_2.30 twalk_r F
>  GLIBC_2.32 __libc_single_threaded D 0x1
> @@ -2278,6 +2279,7 @@ GLIBC_2.34 pthread_mutexattr_setpshared F
>  GLIBC_2.34 pthread_mutexattr_setrobust F
>  GLIBC_2.34 pthread_mutexattr_settype F
>  GLIBC_2.34 pthread_once F
> +GLIBC_2.34 pthread_rwlock_clockrdlock F
>  GLIBC_2.34 pthread_rwlock_rdlock F
>  GLIBC_2.34 pthread_rwlock_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
> diff --git a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
> index 2f584deb17..a397e84b0c 100644
> --- a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
> @@ -90,7 +90,6 @@ GLIBC_2.28 tss_create F
>  GLIBC_2.28 tss_delete F
>  GLIBC_2.28 tss_get F
>  GLIBC_2.28 tss_set F
> -GLIBC_2.30 pthread_rwlock_clockrdlock F
>  GLIBC_2.30 pthread_rwlock_clockwrlock F
>  GLIBC_2.30 sem_clockwait F
>  GLIBC_2.31 pthread_clockjoin_np F
> diff --git a/sysdeps/unix/sysv/linux/alpha/libc.abilist b/sysdeps/unix/sysv/linux/alpha/libc.abilist
> index 46e59e73f8..8e5060bf36 100644
> --- a/sysdeps/unix/sysv/linux/alpha/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/alpha/libc.abilist
> @@ -2293,6 +2293,7 @@ GLIBC_2.30 getdents64 F
>  GLIBC_2.30 gettid F
>  GLIBC_2.30 pthread_cond_clockwait F
>  GLIBC_2.30 pthread_mutex_clocklock F
> +GLIBC_2.30 pthread_rwlock_clockrdlock F
>  GLIBC_2.30 tgkill F
>  GLIBC_2.30 twalk_r F
>  GLIBC_2.32 __libc_single_threaded D 0x1
> @@ -2359,6 +2360,7 @@ GLIBC_2.34 pthread_mutexattr_setpshared F
>  GLIBC_2.34 pthread_mutexattr_setrobust F
>  GLIBC_2.34 pthread_mutexattr_settype F
>  GLIBC_2.34 pthread_once F
> +GLIBC_2.34 pthread_rwlock_clockrdlock F
>  GLIBC_2.34 pthread_rwlock_rdlock F
>  GLIBC_2.34 pthread_rwlock_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
> diff --git a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
> index 3871bd7fd1..bdad9b18c1 100644
> --- a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
> @@ -105,7 +105,6 @@ GLIBC_2.3.3 pthread_tryjoin_np F
>  GLIBC_2.3.4 pthread_attr_getaffinity_np F
>  GLIBC_2.3.4 pthread_setaffinity_np F
>  GLIBC_2.3.4 pthread_setschedprio F
> -GLIBC_2.30 pthread_rwlock_clockrdlock F
>  GLIBC_2.30 pthread_rwlock_clockwrlock F
>  GLIBC_2.30 sem_clockwait F
>  GLIBC_2.31 pthread_clockjoin_np F
> diff --git a/sysdeps/unix/sysv/linux/arc/libc.abilist b/sysdeps/unix/sysv/linux/arc/libc.abilist
> index 49687f093c..e30a919462 100644
> --- a/sysdeps/unix/sysv/linux/arc/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/arc/libc.abilist
> @@ -1428,6 +1428,7 @@ GLIBC_2.32 pthread_mutexattr_setrobust F
>  GLIBC_2.32 pthread_mutexattr_setrobust_np F
>  GLIBC_2.32 pthread_mutexattr_settype F
>  GLIBC_2.32 pthread_once F
> +GLIBC_2.32 pthread_rwlock_clockrdlock F
>  GLIBC_2.32 pthread_rwlock_rdlock F
>  GLIBC_2.32 pthread_rwlock_unlock F
>  GLIBC_2.32 pthread_rwlock_wrlock F
> @@ -2037,6 +2038,7 @@ GLIBC_2.34 pthread_mutexattr_setpshared F
>  GLIBC_2.34 pthread_mutexattr_setrobust F
>  GLIBC_2.34 pthread_mutexattr_settype F
>  GLIBC_2.34 pthread_once F
> +GLIBC_2.34 pthread_rwlock_clockrdlock F
>  GLIBC_2.34 pthread_rwlock_rdlock F
>  GLIBC_2.34 pthread_rwlock_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
> diff --git a/sysdeps/unix/sysv/linux/arc/libpthread.abilist b/sysdeps/unix/sysv/linux/arc/libpthread.abilist
> index c4bad742a2..4d52f6cee4 100644
> --- a/sysdeps/unix/sysv/linux/arc/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/arc/libpthread.abilist
> @@ -51,7 +51,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_clockrdlock F
>  GLIBC_2.32 pthread_rwlock_clockwrlock F
>  GLIBC_2.32 pthread_rwlock_destroy F
>  GLIBC_2.32 pthread_rwlock_init F
> diff --git a/sysdeps/unix/sysv/linux/arm/be/libc.abilist b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
> index 4d6abeeb42..3cb32bbc40 100644
> --- a/sysdeps/unix/sysv/linux/arm/be/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
> @@ -133,6 +133,7 @@ GLIBC_2.30 getdents64 F
>  GLIBC_2.30 gettid F
>  GLIBC_2.30 pthread_cond_clockwait F
>  GLIBC_2.30 pthread_mutex_clocklock F
> +GLIBC_2.30 pthread_rwlock_clockrdlock F
>  GLIBC_2.30 tgkill F
>  GLIBC_2.30 twalk_r F
>  GLIBC_2.31 msgctl F
> @@ -202,6 +203,7 @@ GLIBC_2.34 pthread_mutexattr_setpshared F
>  GLIBC_2.34 pthread_mutexattr_setrobust F
>  GLIBC_2.34 pthread_mutexattr_settype F
>  GLIBC_2.34 pthread_once F
> +GLIBC_2.34 pthread_rwlock_clockrdlock F
>  GLIBC_2.34 pthread_rwlock_rdlock F
>  GLIBC_2.34 pthread_rwlock_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
> diff --git a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
> index 5be2f9ac79..929969e5eb 100644
> --- a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
> @@ -24,7 +24,6 @@ GLIBC_2.28 tss_create F
>  GLIBC_2.28 tss_delete F
>  GLIBC_2.28 tss_get F
>  GLIBC_2.28 tss_set F
> -GLIBC_2.30 pthread_rwlock_clockrdlock F
>  GLIBC_2.30 pthread_rwlock_clockwrlock F
>  GLIBC_2.30 sem_clockwait F
>  GLIBC_2.31 pthread_clockjoin_np F
> diff --git a/sysdeps/unix/sysv/linux/arm/le/libc.abilist b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
> index 91243f33b8..ebfb2cd2b9 100644
> --- a/sysdeps/unix/sysv/linux/arm/le/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
> @@ -133,6 +133,7 @@ GLIBC_2.30 getdents64 F
>  GLIBC_2.30 gettid F
>  GLIBC_2.30 pthread_cond_clockwait F
>  GLIBC_2.30 pthread_mutex_clocklock F
> +GLIBC_2.30 pthread_rwlock_clockrdlock F
>  GLIBC_2.30 tgkill F
>  GLIBC_2.30 twalk_r F
>  GLIBC_2.32 __libc_single_threaded D 0x1
> @@ -199,6 +200,7 @@ GLIBC_2.34 pthread_mutexattr_setpshared F
>  GLIBC_2.34 pthread_mutexattr_setrobust F
>  GLIBC_2.34 pthread_mutexattr_settype F
>  GLIBC_2.34 pthread_once F
> +GLIBC_2.34 pthread_rwlock_clockrdlock F
>  GLIBC_2.34 pthread_rwlock_rdlock F
>  GLIBC_2.34 pthread_rwlock_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
> diff --git a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
> index 5be2f9ac79..929969e5eb 100644
> --- a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
> @@ -24,7 +24,6 @@ GLIBC_2.28 tss_create F
>  GLIBC_2.28 tss_delete F
>  GLIBC_2.28 tss_get F
>  GLIBC_2.28 tss_set F
> -GLIBC_2.30 pthread_rwlock_clockrdlock F
>  GLIBC_2.30 pthread_rwlock_clockwrlock F
>  GLIBC_2.30 sem_clockwait F
>  GLIBC_2.31 pthread_clockjoin_np F
> diff --git a/sysdeps/unix/sysv/linux/csky/libc.abilist b/sysdeps/unix/sysv/linux/csky/libc.abilist
> index c7cec5e1a6..e37f93df4c 100644
> --- a/sysdeps/unix/sysv/linux/csky/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/csky/libc.abilist
> @@ -2155,6 +2155,7 @@ GLIBC_2.30 getdents64 F
>  GLIBC_2.30 gettid F
>  GLIBC_2.30 pthread_cond_clockwait F
>  GLIBC_2.30 pthread_mutex_clocklock F
> +GLIBC_2.30 pthread_rwlock_clockrdlock F
>  GLIBC_2.30 tgkill F
>  GLIBC_2.30 twalk_r F
>  GLIBC_2.32 __libc_single_threaded D 0x1
> @@ -2221,6 +2222,7 @@ GLIBC_2.34 pthread_mutexattr_setpshared F
>  GLIBC_2.34 pthread_mutexattr_setrobust F
>  GLIBC_2.34 pthread_mutexattr_settype F
>  GLIBC_2.34 pthread_once F
> +GLIBC_2.34 pthread_rwlock_clockrdlock F
>  GLIBC_2.34 pthread_rwlock_rdlock F
>  GLIBC_2.34 pthread_rwlock_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
> diff --git a/sysdeps/unix/sysv/linux/csky/libpthread.abilist b/sysdeps/unix/sysv/linux/csky/libpthread.abilist
> index 99dae41dc5..14e6252740 100644
> --- a/sysdeps/unix/sysv/linux/csky/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/csky/libpthread.abilist
> @@ -90,7 +90,6 @@ GLIBC_2.29 tss_create F
>  GLIBC_2.29 tss_delete F
>  GLIBC_2.29 tss_get F
>  GLIBC_2.29 tss_set F
> -GLIBC_2.30 pthread_rwlock_clockrdlock F
>  GLIBC_2.30 pthread_rwlock_clockwrlock F
>  GLIBC_2.30 sem_clockwait F
>  GLIBC_2.31 pthread_clockjoin_np F
> diff --git a/sysdeps/unix/sysv/linux/hppa/libc.abilist b/sysdeps/unix/sysv/linux/hppa/libc.abilist
> index 69d2d7f3e1..c066fea427 100644
> --- a/sysdeps/unix/sysv/linux/hppa/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/hppa/libc.abilist
> @@ -2106,6 +2106,7 @@ GLIBC_2.30 getdents64 F
>  GLIBC_2.30 gettid F
>  GLIBC_2.30 pthread_cond_clockwait F
>  GLIBC_2.30 pthread_mutex_clocklock F
> +GLIBC_2.30 pthread_rwlock_clockrdlock F
>  GLIBC_2.30 tgkill F
>  GLIBC_2.30 twalk_r F
>  GLIBC_2.32 __libc_single_threaded D 0x1
> @@ -2172,6 +2173,7 @@ GLIBC_2.34 pthread_mutexattr_setpshared F
>  GLIBC_2.34 pthread_mutexattr_setrobust F
>  GLIBC_2.34 pthread_mutexattr_settype F
>  GLIBC_2.34 pthread_once F
> +GLIBC_2.34 pthread_rwlock_clockrdlock F
>  GLIBC_2.34 pthread_rwlock_rdlock F
>  GLIBC_2.34 pthread_rwlock_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
> diff --git a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
> index ccd2decf49..689a70cc5e 100644
> --- a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
> @@ -95,7 +95,6 @@ GLIBC_2.3.3 pthread_tryjoin_np F
>  GLIBC_2.3.4 pthread_attr_getaffinity_np F
>  GLIBC_2.3.4 pthread_setaffinity_np F
>  GLIBC_2.3.4 pthread_setschedprio F
> -GLIBC_2.30 pthread_rwlock_clockrdlock F
>  GLIBC_2.30 pthread_rwlock_clockwrlock F
>  GLIBC_2.30 sem_clockwait F
>  GLIBC_2.31 pthread_clockjoin_np F
> diff --git a/sysdeps/unix/sysv/linux/i386/libc.abilist b/sysdeps/unix/sysv/linux/i386/libc.abilist
> index cd4e29c056..e73a9cb62f 100644
> --- a/sysdeps/unix/sysv/linux/i386/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/i386/libc.abilist
> @@ -2281,6 +2281,7 @@ GLIBC_2.30 getdents64 F
>  GLIBC_2.30 gettid F
>  GLIBC_2.30 pthread_cond_clockwait F
>  GLIBC_2.30 pthread_mutex_clocklock F
> +GLIBC_2.30 pthread_rwlock_clockrdlock F
>  GLIBC_2.30 tgkill F
>  GLIBC_2.30 twalk_r F
>  GLIBC_2.32 __libc_single_threaded D 0x1
> @@ -2349,6 +2350,7 @@ GLIBC_2.34 pthread_mutexattr_setpshared F
>  GLIBC_2.34 pthread_mutexattr_setrobust F
>  GLIBC_2.34 pthread_mutexattr_settype F
>  GLIBC_2.34 pthread_once F
> +GLIBC_2.34 pthread_rwlock_clockrdlock F
>  GLIBC_2.34 pthread_rwlock_rdlock F
>  GLIBC_2.34 pthread_rwlock_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
> diff --git a/sysdeps/unix/sysv/linux/i386/libpthread.abilist b/sysdeps/unix/sysv/linux/i386/libpthread.abilist
> index 5972b30b09..4ab340cf90 100644
> --- a/sysdeps/unix/sysv/linux/i386/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/i386/libpthread.abilist
> @@ -103,7 +103,6 @@ GLIBC_2.3.3 pthread_tryjoin_np F
>  GLIBC_2.3.4 pthread_attr_getaffinity_np F
>  GLIBC_2.3.4 pthread_setaffinity_np F
>  GLIBC_2.3.4 pthread_setschedprio F
> -GLIBC_2.30 pthread_rwlock_clockrdlock F
>  GLIBC_2.30 pthread_rwlock_clockwrlock F
>  GLIBC_2.30 sem_clockwait F
>  GLIBC_2.31 pthread_clockjoin_np F
> diff --git a/sysdeps/unix/sysv/linux/ia64/libc.abilist b/sysdeps/unix/sysv/linux/ia64/libc.abilist
> index e64d081e88..d7dc742a61 100644
> --- a/sysdeps/unix/sysv/linux/ia64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/ia64/libc.abilist
> @@ -2139,6 +2139,7 @@ GLIBC_2.30 getdents64 F
>  GLIBC_2.30 gettid F
>  GLIBC_2.30 pthread_cond_clockwait F
>  GLIBC_2.30 pthread_mutex_clocklock F
> +GLIBC_2.30 pthread_rwlock_clockrdlock F
>  GLIBC_2.30 tgkill F
>  GLIBC_2.30 twalk_r F
>  GLIBC_2.32 __libc_single_threaded D 0x1
> @@ -2206,6 +2207,7 @@ GLIBC_2.34 pthread_mutexattr_setpshared F
>  GLIBC_2.34 pthread_mutexattr_setrobust F
>  GLIBC_2.34 pthread_mutexattr_settype F
>  GLIBC_2.34 pthread_once F
> +GLIBC_2.34 pthread_rwlock_clockrdlock F
>  GLIBC_2.34 pthread_rwlock_rdlock F
>  GLIBC_2.34 pthread_rwlock_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
> diff --git a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
> index e4fcc373fa..d9af25de90 100644
> --- a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
> @@ -97,7 +97,6 @@ GLIBC_2.3.3 pthread_tryjoin_np F
>  GLIBC_2.3.4 pthread_attr_getaffinity_np F
>  GLIBC_2.3.4 pthread_setaffinity_np F
>  GLIBC_2.3.4 pthread_setschedprio F
> -GLIBC_2.30 pthread_rwlock_clockrdlock F
>  GLIBC_2.30 pthread_rwlock_clockwrlock F
>  GLIBC_2.30 sem_clockwait F
>  GLIBC_2.31 pthread_clockjoin_np F
> diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
> index 19bb5930fe..ec804150f8 100644
> --- a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
> @@ -134,6 +134,7 @@ GLIBC_2.30 getdents64 F
>  GLIBC_2.30 gettid F
>  GLIBC_2.30 pthread_cond_clockwait F
>  GLIBC_2.30 pthread_mutex_clocklock F
> +GLIBC_2.30 pthread_rwlock_clockrdlock F
>  GLIBC_2.30 tgkill F
>  GLIBC_2.30 twalk_r F
>  GLIBC_2.31 msgctl F
> @@ -203,6 +204,7 @@ GLIBC_2.34 pthread_mutexattr_setpshared F
>  GLIBC_2.34 pthread_mutexattr_setrobust F
>  GLIBC_2.34 pthread_mutexattr_settype F
>  GLIBC_2.34 pthread_once F
> +GLIBC_2.34 pthread_rwlock_clockrdlock F
>  GLIBC_2.34 pthread_rwlock_rdlock F
>  GLIBC_2.34 pthread_rwlock_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
> diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
> index 5be2f9ac79..929969e5eb 100644
> --- a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
> @@ -24,7 +24,6 @@ GLIBC_2.28 tss_create F
>  GLIBC_2.28 tss_delete F
>  GLIBC_2.28 tss_get F
>  GLIBC_2.28 tss_set F
> -GLIBC_2.30 pthread_rwlock_clockrdlock F
>  GLIBC_2.30 pthread_rwlock_clockwrlock F
>  GLIBC_2.30 sem_clockwait F
>  GLIBC_2.31 pthread_clockjoin_np F
> diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
> index a4cc4f872c..d6b6316e33 100644
> --- a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
> @@ -2223,6 +2223,7 @@ GLIBC_2.30 getdents64 F
>  GLIBC_2.30 gettid F
>  GLIBC_2.30 pthread_cond_clockwait F
>  GLIBC_2.30 pthread_mutex_clocklock F
> +GLIBC_2.30 pthread_rwlock_clockrdlock F
>  GLIBC_2.30 tgkill F
>  GLIBC_2.30 twalk_r F
>  GLIBC_2.31 msgctl F
> @@ -2292,6 +2293,7 @@ GLIBC_2.34 pthread_mutexattr_setpshared F
>  GLIBC_2.34 pthread_mutexattr_setrobust F
>  GLIBC_2.34 pthread_mutexattr_settype F
>  GLIBC_2.34 pthread_once F
> +GLIBC_2.34 pthread_rwlock_clockrdlock F
>  GLIBC_2.34 pthread_rwlock_rdlock F
>  GLIBC_2.34 pthread_rwlock_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
> diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
> index 5972b30b09..4ab340cf90 100644
> --- a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
> @@ -103,7 +103,6 @@ GLIBC_2.3.3 pthread_tryjoin_np F
>  GLIBC_2.3.4 pthread_attr_getaffinity_np F
>  GLIBC_2.3.4 pthread_setaffinity_np F
>  GLIBC_2.3.4 pthread_setschedprio F
> -GLIBC_2.30 pthread_rwlock_clockrdlock F
>  GLIBC_2.30 pthread_rwlock_clockwrlock F
>  GLIBC_2.30 sem_clockwait F
>  GLIBC_2.31 pthread_clockjoin_np F
> diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
> index e2f65f7ac5..955dd491e2 100644
> --- a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
> @@ -2203,6 +2203,7 @@ GLIBC_2.30 getdents64 F
>  GLIBC_2.30 gettid F
>  GLIBC_2.30 pthread_cond_clockwait F
>  GLIBC_2.30 pthread_mutex_clocklock F
> +GLIBC_2.30 pthread_rwlock_clockrdlock F
>  GLIBC_2.30 tgkill F
>  GLIBC_2.30 twalk_r F
>  GLIBC_2.31 msgctl F
> @@ -2272,6 +2273,7 @@ GLIBC_2.34 pthread_mutexattr_setpshared F
>  GLIBC_2.34 pthread_mutexattr_setrobust F
>  GLIBC_2.34 pthread_mutexattr_settype F
>  GLIBC_2.34 pthread_once F
> +GLIBC_2.34 pthread_rwlock_clockrdlock F
>  GLIBC_2.34 pthread_rwlock_rdlock F
>  GLIBC_2.34 pthread_rwlock_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
> diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
> index df17daaa5e..77f2a9fcb3 100644
> --- a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
> @@ -90,7 +90,6 @@ GLIBC_2.28 tss_create F
>  GLIBC_2.28 tss_delete F
>  GLIBC_2.28 tss_get F
>  GLIBC_2.28 tss_set F
> -GLIBC_2.30 pthread_rwlock_clockrdlock F
>  GLIBC_2.30 pthread_rwlock_clockwrlock F
>  GLIBC_2.30 sem_clockwait F
>  GLIBC_2.31 pthread_clockjoin_np F
> diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
> index 417c311b51..7bf2999064 100644
> --- a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
> @@ -2203,6 +2203,7 @@ GLIBC_2.30 getdents64 F
>  GLIBC_2.30 gettid F
>  GLIBC_2.30 pthread_cond_clockwait F
>  GLIBC_2.30 pthread_mutex_clocklock F
> +GLIBC_2.30 pthread_rwlock_clockrdlock F
>  GLIBC_2.30 tgkill F
>  GLIBC_2.30 twalk_r F
>  GLIBC_2.32 __libc_single_threaded D 0x1
> @@ -2269,6 +2270,7 @@ GLIBC_2.34 pthread_mutexattr_setpshared F
>  GLIBC_2.34 pthread_mutexattr_setrobust F
>  GLIBC_2.34 pthread_mutexattr_settype F
>  GLIBC_2.34 pthread_once F
> +GLIBC_2.34 pthread_rwlock_clockrdlock F
>  GLIBC_2.34 pthread_rwlock_rdlock F
>  GLIBC_2.34 pthread_rwlock_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
> diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
> index df17daaa5e..77f2a9fcb3 100644
> --- a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
> @@ -90,7 +90,6 @@ GLIBC_2.28 tss_create F
>  GLIBC_2.28 tss_delete F
>  GLIBC_2.28 tss_get F
>  GLIBC_2.28 tss_set F
> -GLIBC_2.30 pthread_rwlock_clockrdlock F
>  GLIBC_2.30 pthread_rwlock_clockwrlock F
>  GLIBC_2.30 sem_clockwait F
>  GLIBC_2.31 pthread_clockjoin_np F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
> index 00b3cf0757..6117a526e2 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
> @@ -2189,6 +2189,7 @@ GLIBC_2.30 getdents64 F
>  GLIBC_2.30 gettid F
>  GLIBC_2.30 pthread_cond_clockwait F
>  GLIBC_2.30 pthread_mutex_clocklock F
> +GLIBC_2.30 pthread_rwlock_clockrdlock F
>  GLIBC_2.30 tgkill F
>  GLIBC_2.30 twalk_r F
>  GLIBC_2.32 __libc_single_threaded D 0x1
> @@ -2255,6 +2256,7 @@ GLIBC_2.34 pthread_mutexattr_setpshared F
>  GLIBC_2.34 pthread_mutexattr_setrobust F
>  GLIBC_2.34 pthread_mutexattr_settype F
>  GLIBC_2.34 pthread_once F
> +GLIBC_2.34 pthread_rwlock_clockrdlock F
>  GLIBC_2.34 pthread_rwlock_rdlock F
>  GLIBC_2.34 pthread_rwlock_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
> index 71c79c0a9b..24f02c4170 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
> @@ -104,7 +104,6 @@ GLIBC_2.3.3 pthread_tryjoin_np F
>  GLIBC_2.3.4 pthread_attr_getaffinity_np F
>  GLIBC_2.3.4 pthread_setaffinity_np F
>  GLIBC_2.3.4 pthread_setschedprio F
> -GLIBC_2.30 pthread_rwlock_clockrdlock F
>  GLIBC_2.30 pthread_rwlock_clockwrlock F
>  GLIBC_2.30 sem_clockwait F
>  GLIBC_2.31 pthread_clockjoin_np F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
> index 8cbc935a95..ba4e9497f7 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
> @@ -2187,6 +2187,7 @@ GLIBC_2.30 getdents64 F
>  GLIBC_2.30 gettid F
>  GLIBC_2.30 pthread_cond_clockwait F
>  GLIBC_2.30 pthread_mutex_clocklock F
> +GLIBC_2.30 pthread_rwlock_clockrdlock F
>  GLIBC_2.30 tgkill F
>  GLIBC_2.30 twalk_r F
>  GLIBC_2.32 __libc_single_threaded D 0x1
> @@ -2253,6 +2254,7 @@ GLIBC_2.34 pthread_mutexattr_setpshared F
>  GLIBC_2.34 pthread_mutexattr_setrobust F
>  GLIBC_2.34 pthread_mutexattr_settype F
>  GLIBC_2.34 pthread_once F
> +GLIBC_2.34 pthread_rwlock_clockrdlock F
>  GLIBC_2.34 pthread_rwlock_rdlock F
>  GLIBC_2.34 pthread_rwlock_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
> index 71c79c0a9b..24f02c4170 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
> @@ -104,7 +104,6 @@ GLIBC_2.3.3 pthread_tryjoin_np F
>  GLIBC_2.3.4 pthread_attr_getaffinity_np F
>  GLIBC_2.3.4 pthread_setaffinity_np F
>  GLIBC_2.3.4 pthread_setschedprio F
> -GLIBC_2.30 pthread_rwlock_clockrdlock F
>  GLIBC_2.30 pthread_rwlock_clockwrlock F
>  GLIBC_2.30 sem_clockwait F
>  GLIBC_2.31 pthread_clockjoin_np F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
> index 1d9f61c7b0..4f4fb5265e 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
> @@ -2195,6 +2195,7 @@ GLIBC_2.30 getdents64 F
>  GLIBC_2.30 gettid F
>  GLIBC_2.30 pthread_cond_clockwait F
>  GLIBC_2.30 pthread_mutex_clocklock F
> +GLIBC_2.30 pthread_rwlock_clockrdlock F
>  GLIBC_2.30 tgkill F
>  GLIBC_2.30 twalk_r F
>  GLIBC_2.32 __libc_single_threaded D 0x1
> @@ -2261,6 +2262,7 @@ GLIBC_2.34 pthread_mutexattr_setpshared F
>  GLIBC_2.34 pthread_mutexattr_setrobust F
>  GLIBC_2.34 pthread_mutexattr_settype F
>  GLIBC_2.34 pthread_once F
> +GLIBC_2.34 pthread_rwlock_clockrdlock F
>  GLIBC_2.34 pthread_rwlock_rdlock F
>  GLIBC_2.34 pthread_rwlock_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
> index c41013212d..b7e140bfef 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
> @@ -2189,6 +2189,7 @@ GLIBC_2.30 getdents64 F
>  GLIBC_2.30 gettid F
>  GLIBC_2.30 pthread_cond_clockwait F
>  GLIBC_2.30 pthread_mutex_clocklock F
> +GLIBC_2.30 pthread_rwlock_clockrdlock F
>  GLIBC_2.30 tgkill F
>  GLIBC_2.30 twalk_r F
>  GLIBC_2.32 __libc_single_threaded D 0x1
> @@ -2255,6 +2256,7 @@ GLIBC_2.34 pthread_mutexattr_setpshared F
>  GLIBC_2.34 pthread_mutexattr_setrobust F
>  GLIBC_2.34 pthread_mutexattr_settype F
>  GLIBC_2.34 pthread_once F
> +GLIBC_2.34 pthread_rwlock_clockrdlock F
>  GLIBC_2.34 pthread_rwlock_rdlock F
>  GLIBC_2.34 pthread_rwlock_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
> diff --git a/sysdeps/unix/sysv/linux/nios2/libc.abilist b/sysdeps/unix/sysv/linux/nios2/libc.abilist
> index 412a99f35f..5f9127b1ca 100644
> --- a/sysdeps/unix/sysv/linux/nios2/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/nios2/libc.abilist
> @@ -2245,6 +2245,7 @@ GLIBC_2.30 getdents64 F
>  GLIBC_2.30 gettid F
>  GLIBC_2.30 pthread_cond_clockwait F
>  GLIBC_2.30 pthread_mutex_clocklock F
> +GLIBC_2.30 pthread_rwlock_clockrdlock F
>  GLIBC_2.30 tgkill F
>  GLIBC_2.30 twalk_r F
>  GLIBC_2.32 __libc_single_threaded D 0x1
> @@ -2311,6 +2312,7 @@ GLIBC_2.34 pthread_mutexattr_setpshared F
>  GLIBC_2.34 pthread_mutexattr_setrobust F
>  GLIBC_2.34 pthread_mutexattr_settype F
>  GLIBC_2.34 pthread_once F
> +GLIBC_2.34 pthread_rwlock_clockrdlock F
>  GLIBC_2.34 pthread_rwlock_rdlock F
>  GLIBC_2.34 pthread_rwlock_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
> diff --git a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
> index ace0bff7c6..8704868023 100644
> --- a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
> @@ -90,7 +90,6 @@ GLIBC_2.28 tss_create F
>  GLIBC_2.28 tss_delete F
>  GLIBC_2.28 tss_get F
>  GLIBC_2.28 tss_set F
> -GLIBC_2.30 pthread_rwlock_clockrdlock F
>  GLIBC_2.30 pthread_rwlock_clockwrlock F
>  GLIBC_2.30 sem_clockwait F
>  GLIBC_2.31 pthread_clockjoin_np F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
> index 2b4bca90e0..7d04ea07c7 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
> @@ -2253,6 +2253,7 @@ GLIBC_2.30 getdents64 F
>  GLIBC_2.30 gettid F
>  GLIBC_2.30 pthread_cond_clockwait F
>  GLIBC_2.30 pthread_mutex_clocklock F
> +GLIBC_2.30 pthread_rwlock_clockrdlock F
>  GLIBC_2.30 tgkill F
>  GLIBC_2.30 twalk_r F
>  GLIBC_2.32 __libc_single_threaded D 0x1
> @@ -2319,6 +2320,7 @@ GLIBC_2.34 pthread_mutexattr_setpshared F
>  GLIBC_2.34 pthread_mutexattr_setrobust F
>  GLIBC_2.34 pthread_mutexattr_settype F
>  GLIBC_2.34 pthread_once F
> +GLIBC_2.34 pthread_rwlock_clockrdlock F
>  GLIBC_2.34 pthread_rwlock_rdlock F
>  GLIBC_2.34 pthread_rwlock_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
> index 0febdfd3e8..08a1eb9cf6 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
> @@ -103,7 +103,6 @@ GLIBC_2.3.3 pthread_tryjoin_np F
>  GLIBC_2.3.4 pthread_attr_getaffinity_np F
>  GLIBC_2.3.4 pthread_setaffinity_np F
>  GLIBC_2.3.4 pthread_setschedprio F
> -GLIBC_2.30 pthread_rwlock_clockrdlock F
>  GLIBC_2.30 pthread_rwlock_clockwrlock F
>  GLIBC_2.30 sem_clockwait F
>  GLIBC_2.31 pthread_clockjoin_np F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
> index 3802eaac60..599790898c 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
> @@ -2286,6 +2286,7 @@ GLIBC_2.30 getdents64 F
>  GLIBC_2.30 gettid F
>  GLIBC_2.30 pthread_cond_clockwait F
>  GLIBC_2.30 pthread_mutex_clocklock F
> +GLIBC_2.30 pthread_rwlock_clockrdlock F
>  GLIBC_2.30 tgkill F
>  GLIBC_2.30 twalk_r F
>  GLIBC_2.32 __libc_single_threaded D 0x1
> @@ -2352,6 +2353,7 @@ GLIBC_2.34 pthread_mutexattr_setpshared F
>  GLIBC_2.34 pthread_mutexattr_setrobust F
>  GLIBC_2.34 pthread_mutexattr_settype F
>  GLIBC_2.34 pthread_once F
> +GLIBC_2.34 pthread_rwlock_clockrdlock F
>  GLIBC_2.34 pthread_rwlock_rdlock F
>  GLIBC_2.34 pthread_rwlock_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
> index 4383f4d579..9c0219af57 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
> @@ -2107,6 +2107,7 @@ GLIBC_2.30 getdents64 F
>  GLIBC_2.30 gettid F
>  GLIBC_2.30 pthread_cond_clockwait F
>  GLIBC_2.30 pthread_mutex_clocklock F
> +GLIBC_2.30 pthread_rwlock_clockrdlock F
>  GLIBC_2.30 tgkill F
>  GLIBC_2.30 twalk_r F
>  GLIBC_2.32 __libc_single_threaded D 0x1
> @@ -2173,6 +2174,7 @@ GLIBC_2.34 pthread_mutexattr_setpshared F
>  GLIBC_2.34 pthread_mutexattr_setrobust F
>  GLIBC_2.34 pthread_mutexattr_settype F
>  GLIBC_2.34 pthread_once F
> +GLIBC_2.34 pthread_rwlock_clockrdlock F
>  GLIBC_2.34 pthread_rwlock_rdlock F
>  GLIBC_2.34 pthread_rwlock_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
> index fa13a56f55..97679a7e75 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
> @@ -93,7 +93,6 @@ GLIBC_2.3.3 pthread_tryjoin_np F
>  GLIBC_2.3.4 pthread_attr_getaffinity_np F
>  GLIBC_2.3.4 pthread_setaffinity_np F
>  GLIBC_2.3.4 pthread_setschedprio F
> -GLIBC_2.30 pthread_rwlock_clockrdlock F
>  GLIBC_2.30 pthread_rwlock_clockwrlock F
>  GLIBC_2.30 sem_clockwait F
>  GLIBC_2.31 pthread_clockjoin_np F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
> index b272c02184..dc3ec8c4eb 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
> @@ -2314,6 +2314,7 @@ GLIBC_2.30 getdents64 F
>  GLIBC_2.30 gettid F
>  GLIBC_2.30 pthread_cond_clockwait F
>  GLIBC_2.30 pthread_mutex_clocklock F
> +GLIBC_2.30 pthread_rwlock_clockrdlock F
>  GLIBC_2.30 tgkill F
>  GLIBC_2.30 twalk_r F
>  GLIBC_2.32 __argp_errorieee128 F
> @@ -2474,6 +2475,7 @@ GLIBC_2.34 pthread_mutexattr_setpshared F
>  GLIBC_2.34 pthread_mutexattr_setrobust F
>  GLIBC_2.34 pthread_mutexattr_settype F
>  GLIBC_2.34 pthread_once F
> +GLIBC_2.34 pthread_rwlock_clockrdlock F
>  GLIBC_2.34 pthread_rwlock_rdlock F
>  GLIBC_2.34 pthread_rwlock_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
> index 2f584deb17..a397e84b0c 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
> @@ -90,7 +90,6 @@ GLIBC_2.28 tss_create F
>  GLIBC_2.28 tss_delete F
>  GLIBC_2.28 tss_get F
>  GLIBC_2.28 tss_set F
> -GLIBC_2.30 pthread_rwlock_clockrdlock F
>  GLIBC_2.30 pthread_rwlock_clockwrlock F
>  GLIBC_2.30 sem_clockwait F
>  GLIBC_2.31 pthread_clockjoin_np F
> diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
> index 27556ad2b0..7064b9adc2 100644
> --- a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
> @@ -1430,6 +1430,7 @@ GLIBC_2.33 pthread_mutexattr_setrobust F
>  GLIBC_2.33 pthread_mutexattr_setrobust_np F
>  GLIBC_2.33 pthread_mutexattr_settype F
>  GLIBC_2.33 pthread_once F
> +GLIBC_2.33 pthread_rwlock_clockrdlock F
>  GLIBC_2.33 pthread_rwlock_rdlock F
>  GLIBC_2.33 pthread_rwlock_unlock F
>  GLIBC_2.33 pthread_rwlock_wrlock F
> @@ -2039,6 +2040,7 @@ GLIBC_2.34 pthread_mutexattr_setpshared F
>  GLIBC_2.34 pthread_mutexattr_setrobust F
>  GLIBC_2.34 pthread_mutexattr_settype F
>  GLIBC_2.34 pthread_once F
> +GLIBC_2.34 pthread_rwlock_clockrdlock F
>  GLIBC_2.34 pthread_rwlock_rdlock F
>  GLIBC_2.34 pthread_rwlock_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
> diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
> index c71a787709..3564a9936d 100644
> --- a/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
> @@ -51,7 +51,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_clockrdlock F
>  GLIBC_2.33 pthread_rwlock_clockwrlock F
>  GLIBC_2.33 pthread_rwlock_destroy F
>  GLIBC_2.33 pthread_rwlock_init F
> diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
> index d9b8afedee..0817432271 100644
> --- a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
> @@ -2173,6 +2173,7 @@ GLIBC_2.30 getdents64 F
>  GLIBC_2.30 gettid F
>  GLIBC_2.30 pthread_cond_clockwait F
>  GLIBC_2.30 pthread_mutex_clocklock F
> +GLIBC_2.30 pthread_rwlock_clockrdlock F
>  GLIBC_2.30 tgkill F
>  GLIBC_2.30 twalk_r F
>  GLIBC_2.32 __libc_single_threaded D 0x1
> @@ -2239,6 +2240,7 @@ GLIBC_2.34 pthread_mutexattr_setpshared F
>  GLIBC_2.34 pthread_mutexattr_setrobust F
>  GLIBC_2.34 pthread_mutexattr_settype F
>  GLIBC_2.34 pthread_once F
> +GLIBC_2.34 pthread_rwlock_clockrdlock F
>  GLIBC_2.34 pthread_rwlock_rdlock F
>  GLIBC_2.34 pthread_rwlock_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
> diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
> index 39178c36ff..740afa164b 100644
> --- a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
> @@ -90,7 +90,6 @@ GLIBC_2.28 tss_create F
>  GLIBC_2.28 tss_delete F
>  GLIBC_2.28 tss_get F
>  GLIBC_2.28 tss_set F
> -GLIBC_2.30 pthread_rwlock_clockrdlock F
>  GLIBC_2.30 pthread_rwlock_clockwrlock F
>  GLIBC_2.30 sem_clockwait F
>  GLIBC_2.31 pthread_clockjoin_np F
> diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
> index 551a18069c..b7cd423a8b 100644
> --- a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
> @@ -2248,6 +2248,7 @@ GLIBC_2.30 getdents64 F
>  GLIBC_2.30 gettid F
>  GLIBC_2.30 pthread_cond_clockwait F
>  GLIBC_2.30 pthread_mutex_clocklock F
> +GLIBC_2.30 pthread_rwlock_clockrdlock F
>  GLIBC_2.30 tgkill F
>  GLIBC_2.30 twalk_r F
>  GLIBC_2.31 msgctl F
> @@ -2317,6 +2318,7 @@ GLIBC_2.34 pthread_mutexattr_setpshared F
>  GLIBC_2.34 pthread_mutexattr_setrobust F
>  GLIBC_2.34 pthread_mutexattr_settype F
>  GLIBC_2.34 pthread_once F
> +GLIBC_2.34 pthread_rwlock_clockrdlock F
>  GLIBC_2.34 pthread_rwlock_rdlock F
>  GLIBC_2.34 pthread_rwlock_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
> diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
> index 54dc15bdff..71adfe68d3 100644
> --- a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
> @@ -104,7 +104,6 @@ GLIBC_2.3.3 pthread_tryjoin_np F
>  GLIBC_2.3.4 pthread_attr_getaffinity_np F
>  GLIBC_2.3.4 pthread_setaffinity_np F
>  GLIBC_2.3.4 pthread_setschedprio F
> -GLIBC_2.30 pthread_rwlock_clockrdlock F
>  GLIBC_2.30 pthread_rwlock_clockwrlock F
>  GLIBC_2.30 sem_clockwait F
>  GLIBC_2.31 pthread_clockjoin_np F
> diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
> index df4c296f13..0fe79b8479 100644
> --- a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
> @@ -2144,6 +2144,7 @@ GLIBC_2.30 getdents64 F
>  GLIBC_2.30 gettid F
>  GLIBC_2.30 pthread_cond_clockwait F
>  GLIBC_2.30 pthread_mutex_clocklock F
> +GLIBC_2.30 pthread_rwlock_clockrdlock F
>  GLIBC_2.30 tgkill F
>  GLIBC_2.30 twalk_r F
>  GLIBC_2.32 __libc_single_threaded D 0x1
> @@ -2210,6 +2211,7 @@ GLIBC_2.34 pthread_mutexattr_setpshared F
>  GLIBC_2.34 pthread_mutexattr_setrobust F
>  GLIBC_2.34 pthread_mutexattr_settype F
>  GLIBC_2.34 pthread_once F
> +GLIBC_2.34 pthread_rwlock_clockrdlock F
>  GLIBC_2.34 pthread_rwlock_rdlock F
>  GLIBC_2.34 pthread_rwlock_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
> diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
> index 7e41af116d..e80b1d31fa 100644
> --- a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
> @@ -96,7 +96,6 @@ GLIBC_2.3.3 pthread_tryjoin_np F
>  GLIBC_2.3.4 pthread_attr_getaffinity_np F
>  GLIBC_2.3.4 pthread_setaffinity_np F
>  GLIBC_2.3.4 pthread_setschedprio F
> -GLIBC_2.30 pthread_rwlock_clockrdlock F
>  GLIBC_2.30 pthread_rwlock_clockwrlock F
>  GLIBC_2.30 sem_clockwait F
>  GLIBC_2.31 pthread_clockjoin_np F
> diff --git a/sysdeps/unix/sysv/linux/sh/be/libc.abilist b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
> index 94818d5751..730d4097da 100644
> --- a/sysdeps/unix/sysv/linux/sh/be/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
> @@ -2110,6 +2110,7 @@ GLIBC_2.30 getdents64 F
>  GLIBC_2.30 gettid F
>  GLIBC_2.30 pthread_cond_clockwait F
>  GLIBC_2.30 pthread_mutex_clocklock F
> +GLIBC_2.30 pthread_rwlock_clockrdlock F
>  GLIBC_2.30 tgkill F
>  GLIBC_2.30 twalk_r F
>  GLIBC_2.31 msgctl F
> @@ -2179,6 +2180,7 @@ GLIBC_2.34 pthread_mutexattr_setpshared F
>  GLIBC_2.34 pthread_mutexattr_setrobust F
>  GLIBC_2.34 pthread_mutexattr_settype F
>  GLIBC_2.34 pthread_once F
> +GLIBC_2.34 pthread_rwlock_clockrdlock F
>  GLIBC_2.34 pthread_rwlock_rdlock F
>  GLIBC_2.34 pthread_rwlock_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
> diff --git a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
> index ccd2decf49..689a70cc5e 100644
> --- a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
> @@ -95,7 +95,6 @@ GLIBC_2.3.3 pthread_tryjoin_np F
>  GLIBC_2.3.4 pthread_attr_getaffinity_np F
>  GLIBC_2.3.4 pthread_setaffinity_np F
>  GLIBC_2.3.4 pthread_setschedprio F
> -GLIBC_2.30 pthread_rwlock_clockrdlock F
>  GLIBC_2.30 pthread_rwlock_clockwrlock F
>  GLIBC_2.30 sem_clockwait F
>  GLIBC_2.31 pthread_clockjoin_np F
> diff --git a/sysdeps/unix/sysv/linux/sh/le/libc.abilist b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
> index b2cc36bc99..4f0bb0c8d0 100644
> --- a/sysdeps/unix/sysv/linux/sh/le/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
> @@ -2110,6 +2110,7 @@ GLIBC_2.30 getdents64 F
>  GLIBC_2.30 gettid F
>  GLIBC_2.30 pthread_cond_clockwait F
>  GLIBC_2.30 pthread_mutex_clocklock F
> +GLIBC_2.30 pthread_rwlock_clockrdlock F
>  GLIBC_2.30 tgkill F
>  GLIBC_2.30 twalk_r F
>  GLIBC_2.32 __libc_single_threaded D 0x1
> @@ -2176,6 +2177,7 @@ GLIBC_2.34 pthread_mutexattr_setpshared F
>  GLIBC_2.34 pthread_mutexattr_setrobust F
>  GLIBC_2.34 pthread_mutexattr_settype F
>  GLIBC_2.34 pthread_once F
> +GLIBC_2.34 pthread_rwlock_clockrdlock F
>  GLIBC_2.34 pthread_rwlock_rdlock F
>  GLIBC_2.34 pthread_rwlock_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
> diff --git a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
> index ccd2decf49..689a70cc5e 100644
> --- a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
> @@ -95,7 +95,6 @@ GLIBC_2.3.3 pthread_tryjoin_np F
>  GLIBC_2.3.4 pthread_attr_getaffinity_np F
>  GLIBC_2.3.4 pthread_setaffinity_np F
>  GLIBC_2.3.4 pthread_setschedprio F
> -GLIBC_2.30 pthread_rwlock_clockrdlock F
>  GLIBC_2.30 pthread_rwlock_clockwrlock F
>  GLIBC_2.30 sem_clockwait F
>  GLIBC_2.31 pthread_clockjoin_np F
> diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
> index fa32910b71..7b70261ad6 100644
> --- a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
> @@ -2242,6 +2242,7 @@ GLIBC_2.30 getdents64 F
>  GLIBC_2.30 gettid F
>  GLIBC_2.30 pthread_cond_clockwait F
>  GLIBC_2.30 pthread_mutex_clocklock F
> +GLIBC_2.30 pthread_rwlock_clockrdlock F
>  GLIBC_2.30 tgkill F
>  GLIBC_2.30 twalk_r F
>  GLIBC_2.32 __libc_single_threaded D 0x1
> @@ -2308,6 +2309,7 @@ GLIBC_2.34 pthread_mutexattr_setpshared F
>  GLIBC_2.34 pthread_mutexattr_setrobust F
>  GLIBC_2.34 pthread_mutexattr_settype F
>  GLIBC_2.34 pthread_once F
> +GLIBC_2.34 pthread_rwlock_clockrdlock F
>  GLIBC_2.34 pthread_rwlock_rdlock F
>  GLIBC_2.34 pthread_rwlock_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
> diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
> index 3871bd7fd1..bdad9b18c1 100644
> --- a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
> @@ -105,7 +105,6 @@ GLIBC_2.3.3 pthread_tryjoin_np F
>  GLIBC_2.3.4 pthread_attr_getaffinity_np F
>  GLIBC_2.3.4 pthread_setaffinity_np F
>  GLIBC_2.3.4 pthread_setschedprio F
> -GLIBC_2.30 pthread_rwlock_clockrdlock F
>  GLIBC_2.30 pthread_rwlock_clockwrlock F
>  GLIBC_2.30 sem_clockwait F
>  GLIBC_2.31 pthread_clockjoin_np F
> diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
> index d673ec9d03..75197b2cee 100644
> --- a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
> @@ -2161,6 +2161,7 @@ GLIBC_2.30 getdents64 F
>  GLIBC_2.30 gettid F
>  GLIBC_2.30 pthread_cond_clockwait F
>  GLIBC_2.30 pthread_mutex_clocklock F
> +GLIBC_2.30 pthread_rwlock_clockrdlock F
>  GLIBC_2.30 tgkill F
>  GLIBC_2.30 twalk_r F
>  GLIBC_2.32 __libc_single_threaded D 0x1
> @@ -2227,6 +2228,7 @@ GLIBC_2.34 pthread_mutexattr_setpshared F
>  GLIBC_2.34 pthread_mutexattr_setrobust F
>  GLIBC_2.34 pthread_mutexattr_settype F
>  GLIBC_2.34 pthread_once F
> +GLIBC_2.34 pthread_rwlock_clockrdlock F
>  GLIBC_2.34 pthread_rwlock_rdlock F
>  GLIBC_2.34 pthread_rwlock_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
> diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
> index e4fcc373fa..d9af25de90 100644
> --- a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
> @@ -97,7 +97,6 @@ GLIBC_2.3.3 pthread_tryjoin_np F
>  GLIBC_2.3.4 pthread_attr_getaffinity_np F
>  GLIBC_2.3.4 pthread_setaffinity_np F
>  GLIBC_2.3.4 pthread_setschedprio F
> -GLIBC_2.30 pthread_rwlock_clockrdlock F
>  GLIBC_2.30 pthread_rwlock_clockwrlock F
>  GLIBC_2.30 sem_clockwait F
>  GLIBC_2.31 pthread_clockjoin_np F
> diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
> index 0a1608dd23..b04db27c56 100644
> --- a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
> @@ -2120,6 +2120,7 @@ GLIBC_2.30 getdents64 F
>  GLIBC_2.30 gettid F
>  GLIBC_2.30 pthread_cond_clockwait F
>  GLIBC_2.30 pthread_mutex_clocklock F
> +GLIBC_2.30 pthread_rwlock_clockrdlock F
>  GLIBC_2.30 tgkill F
>  GLIBC_2.30 twalk_r F
>  GLIBC_2.32 __libc_single_threaded D 0x1
> @@ -2188,6 +2189,7 @@ GLIBC_2.34 pthread_mutexattr_setpshared F
>  GLIBC_2.34 pthread_mutexattr_setrobust F
>  GLIBC_2.34 pthread_mutexattr_settype F
>  GLIBC_2.34 pthread_once F
> +GLIBC_2.34 pthread_rwlock_clockrdlock F
>  GLIBC_2.34 pthread_rwlock_rdlock F
>  GLIBC_2.34 pthread_rwlock_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
> diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
> index df296d9f92..b8005f1ec8 100644
> --- a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
> @@ -94,7 +94,6 @@ GLIBC_2.3.3 pthread_tryjoin_np F
>  GLIBC_2.3.4 pthread_attr_getaffinity_np F
>  GLIBC_2.3.4 pthread_setaffinity_np F
>  GLIBC_2.3.4 pthread_setschedprio F
> -GLIBC_2.30 pthread_rwlock_clockrdlock F
>  GLIBC_2.30 pthread_rwlock_clockwrlock F
>  GLIBC_2.30 sem_clockwait F
>  GLIBC_2.31 pthread_clockjoin_np F
> diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
> index f49596ec05..e20f48760f 100644
> --- a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
> @@ -2225,6 +2225,7 @@ GLIBC_2.30 getdents64 F
>  GLIBC_2.30 gettid F
>  GLIBC_2.30 pthread_cond_clockwait F
>  GLIBC_2.30 pthread_mutex_clocklock F
> +GLIBC_2.30 pthread_rwlock_clockrdlock F
>  GLIBC_2.30 tgkill F
>  GLIBC_2.30 twalk_r F
>  GLIBC_2.32 __libc_single_threaded D 0x1
> @@ -2293,6 +2294,7 @@ GLIBC_2.34 pthread_mutexattr_setpshared F
>  GLIBC_2.34 pthread_mutexattr_setrobust F
>  GLIBC_2.34 pthread_mutexattr_settype F
>  GLIBC_2.34 pthread_once F
> +GLIBC_2.34 pthread_rwlock_clockrdlock F
>  GLIBC_2.34 pthread_rwlock_rdlock F
>  GLIBC_2.34 pthread_rwlock_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
> diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
> index 85972c43f0..0dbe25b684 100644
> --- a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
> @@ -90,7 +90,6 @@ GLIBC_2.28 tss_create F
>  GLIBC_2.28 tss_delete F
>  GLIBC_2.28 tss_get F
>  GLIBC_2.28 tss_set F
> -GLIBC_2.30 pthread_rwlock_clockrdlock F
>  GLIBC_2.30 pthread_rwlock_clockwrlock F
>  GLIBC_2.30 sem_clockwait F
>  GLIBC_2.31 pthread_clockjoin_np F
> 


-- 
Cheers,
Carlos.


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

* Re: [PATCH 02/14] nptl: Move pthread_rwlock_clockwrlock into libc
  2021-04-23 17:37 ` [PATCH 02/14] nptl: Move pthread_rwlock_clockwrlock " Florian Weimer via Libc-alpha
@ 2021-05-02 19:31   ` Carlos O'Donell via Libc-alpha
  0 siblings, 0 replies; 30+ messages in thread
From: Carlos O'Donell via Libc-alpha @ 2021-05-02 19:31 UTC (permalink / raw)
  To: Florian Weimer, libc-alpha

On 4/23/21 1:37 PM, Florian Weimer via Libc-alpha wrote:
> The symbol was moved using scripts/move-symbol-to-libc.py.

Tested and reviewed on x86_64 and i686.

LGTM.

Reviewed-by: Carlos O'Donell <carlos@redhat.com>
Tested-by: Carlos O'Donell <carlos@redhat.com>

> ---
>  nptl/Makefile                                 |  2 +-
>  nptl/Versions                                 |  3 ++-
>  nptl/pthreadP.h                               |  2 +-
>  nptl/pthread_rwlock_clockwrlock.c             | 23 +++++++++++++------
>  sysdeps/unix/sysv/linux/aarch64/libc.abilist  |  2 ++
>  .../sysv/linux/aarch64/libpthread.abilist     |  1 -
>  sysdeps/unix/sysv/linux/alpha/libc.abilist    |  2 ++
>  .../unix/sysv/linux/alpha/libpthread.abilist  |  1 -
>  sysdeps/unix/sysv/linux/arc/libc.abilist      |  2 ++
>  .../unix/sysv/linux/arc/libpthread.abilist    |  1 -
>  sysdeps/unix/sysv/linux/arm/be/libc.abilist   |  2 ++
>  .../unix/sysv/linux/arm/be/libpthread.abilist |  1 -
>  sysdeps/unix/sysv/linux/arm/le/libc.abilist   |  2 ++
>  .../unix/sysv/linux/arm/le/libpthread.abilist |  1 -
>  sysdeps/unix/sysv/linux/csky/libc.abilist     |  2 ++
>  .../unix/sysv/linux/csky/libpthread.abilist   |  1 -
>  sysdeps/unix/sysv/linux/hppa/libc.abilist     |  2 ++
>  .../unix/sysv/linux/hppa/libpthread.abilist   |  1 -
>  sysdeps/unix/sysv/linux/i386/libc.abilist     |  2 ++
>  .../unix/sysv/linux/i386/libpthread.abilist   |  1 -
>  sysdeps/unix/sysv/linux/ia64/libc.abilist     |  2 ++
>  .../unix/sysv/linux/ia64/libpthread.abilist   |  1 -
>  .../sysv/linux/m68k/coldfire/libc.abilist     |  2 ++
>  .../linux/m68k/coldfire/libpthread.abilist    |  1 -
>  .../unix/sysv/linux/m68k/m680x0/libc.abilist  |  2 ++
>  .../sysv/linux/m68k/m680x0/libpthread.abilist |  1 -
>  .../sysv/linux/microblaze/be/libc.abilist     |  2 ++
>  .../linux/microblaze/be/libpthread.abilist    |  1 -
>  .../sysv/linux/microblaze/le/libc.abilist     |  2 ++
>  .../linux/microblaze/le/libpthread.abilist    |  1 -
>  .../sysv/linux/mips/mips32/fpu/libc.abilist   |  2 ++
>  .../sysv/linux/mips/mips32/libpthread.abilist |  1 -
>  .../sysv/linux/mips/mips32/nofpu/libc.abilist |  2 ++
>  .../sysv/linux/mips/mips64/libpthread.abilist |  1 -
>  .../sysv/linux/mips/mips64/n32/libc.abilist   |  2 ++
>  .../sysv/linux/mips/mips64/n64/libc.abilist   |  2 ++
>  sysdeps/unix/sysv/linux/nios2/libc.abilist    |  2 ++
>  .../unix/sysv/linux/nios2/libpthread.abilist  |  1 -
>  .../linux/powerpc/powerpc32/fpu/libc.abilist  |  2 ++
>  .../powerpc/powerpc32/libpthread.abilist      |  1 -
>  .../powerpc/powerpc32/nofpu/libc.abilist      |  2 ++
>  .../linux/powerpc/powerpc64/be/libc.abilist   |  2 ++
>  .../powerpc/powerpc64/be/libpthread.abilist   |  1 -
>  .../linux/powerpc/powerpc64/le/libc.abilist   |  2 ++
>  .../powerpc/powerpc64/le/libpthread.abilist   |  1 -
>  .../unix/sysv/linux/riscv/rv32/libc.abilist   |  2 ++
>  .../sysv/linux/riscv/rv32/libpthread.abilist  |  1 -
>  .../unix/sysv/linux/riscv/rv64/libc.abilist   |  2 ++
>  .../sysv/linux/riscv/rv64/libpthread.abilist  |  1 -
>  .../unix/sysv/linux/s390/s390-32/libc.abilist |  2 ++
>  .../linux/s390/s390-32/libpthread.abilist     |  1 -
>  .../unix/sysv/linux/s390/s390-64/libc.abilist |  2 ++
>  .../linux/s390/s390-64/libpthread.abilist     |  1 -
>  sysdeps/unix/sysv/linux/sh/be/libc.abilist    |  2 ++
>  .../unix/sysv/linux/sh/be/libpthread.abilist  |  1 -
>  sysdeps/unix/sysv/linux/sh/le/libc.abilist    |  2 ++
>  .../unix/sysv/linux/sh/le/libpthread.abilist  |  1 -
>  .../sysv/linux/sparc/sparc32/libc.abilist     |  2 ++
>  .../linux/sparc/sparc32/libpthread.abilist    |  1 -
>  .../sysv/linux/sparc/sparc64/libc.abilist     |  2 ++
>  .../linux/sparc/sparc64/libpthread.abilist    |  1 -
>  .../unix/sysv/linux/x86_64/64/libc.abilist    |  2 ++
>  .../sysv/linux/x86_64/64/libpthread.abilist   |  1 -
>  .../unix/sysv/linux/x86_64/x32/libc.abilist   |  2 ++
>  .../sysv/linux/x86_64/x32/libpthread.abilist  |  1 -
>  65 files changed, 84 insertions(+), 39 deletions(-)
> 
> diff --git a/nptl/Makefile b/nptl/Makefile
> index d2c7605bca..556a0720cb 100644
> --- a/nptl/Makefile
> +++ b/nptl/Makefile
> @@ -121,6 +121,7 @@ routines = \
>    pthread_mutexattr_settype \
>    pthread_once \
>    pthread_rwlock_clockrdlock \
> +  pthread_rwlock_clockwrlock \
>    pthread_rwlock_rdlock \
>    pthread_rwlock_unlock \
>    pthread_rwlock_wrlock \
> @@ -179,7 +180,6 @@ libpthread-routines = \
>    pthread_getname \
>    pthread_join \
>    pthread_join_common \
> -  pthread_rwlock_clockwrlock \
>    pthread_rwlock_destroy \
>    pthread_rwlock_init \
>    pthread_rwlock_timedrdlock \
> diff --git a/nptl/Versions b/nptl/Versions
> index 2ea367631d..3d092bdcf5 100644
> --- a/nptl/Versions
> +++ b/nptl/Versions
> @@ -135,6 +135,7 @@ libc {
>      pthread_cond_clockwait;
>      pthread_mutex_clocklock;
>      pthread_rwlock_clockrdlock;
> +    pthread_rwlock_clockwrlock;
>    }
>    GLIBC_2.32 {
>      pthread_attr_getsigmask_np;
> @@ -182,6 +183,7 @@ libc {
>      pthread_mutexattr_settype;
>      pthread_once;
>      pthread_rwlock_clockrdlock;
> +    pthread_rwlock_clockwrlock;
>      pthread_rwlock_rdlock;
>      pthread_rwlock_unlock;
>      pthread_rwlock_wrlock;
> @@ -399,7 +401,6 @@ libpthread {
>    }
>  
>    GLIBC_2.30 {
> -    pthread_rwlock_clockwrlock;
>      sem_clockwait;
>    }
>  
> diff --git a/nptl/pthreadP.h b/nptl/pthreadP.h
> index a7f5bdd061..0b41678adc 100644
> --- a/nptl/pthreadP.h
> +++ b/nptl/pthreadP.h
> @@ -507,7 +507,7 @@ libc_hidden_proto (__pthread_rwlock_clockrdlock64)
>  extern int __pthread_rwlock_clockwrlock64 (pthread_rwlock_t *rwlock,
>                                             clockid_t clockid,
>                                             const struct __timespec64 *abstime);
> -libpthread_hidden_proto (__pthread_rwlock_clockwrlock64)
> +libc_hidden_proto (__pthread_rwlock_clockwrlock64)
>  extern int __pthread_rwlock_timedrdlock64 (pthread_rwlock_t *rwlock,
>                                             const struct __timespec64 *abstime);
>  libpthread_hidden_proto (__pthread_rwlock_timedrdlock64)
> diff --git a/nptl/pthread_rwlock_clockwrlock.c b/nptl/pthread_rwlock_clockwrlock.c
> index 22c3a7874d..ca0ebe2a65 100644
> --- a/nptl/pthread_rwlock_clockwrlock.c
> +++ b/nptl/pthread_rwlock_clockwrlock.c
> @@ -18,25 +18,34 @@
>     <https://www.gnu.org/licenses/>.  */
>  
>  #include "pthread_rwlock_common.c"
> +#include <shlib-compat.h>
>  
>  /* See pthread_rwlock_common.c.  */
>  int
> -__pthread_rwlock_clockwrlock64 (pthread_rwlock_t *rwlock, clockid_t clockid,
> -                                const struct __timespec64 *abstime)
> +___pthread_rwlock_clockwrlock64 (pthread_rwlock_t *rwlock, clockid_t clockid,
> +				 const struct __timespec64 *abstime)
>  {
>    return __pthread_rwlock_wrlock_full64 (rwlock, clockid, abstime);
>  }
>  
> -#if __TIMESIZE != 64
> -libpthread_hidden_def (__pthread_rwlock_clockwrlock64)
> +#if __TIMESIZE == 64
> +strong_alias (___pthread_rwlock_clockwrlock64, ___pthread_rwlock_clockwrlock)
> +#else /* __TIMESPEC64 != 64 */
> +libc_hidden_ver (___pthread_rwlock_clockwrlock64,
> +		 __pthread_rwlock_clockwrlock64)
>  
>  int
> -__pthread_rwlock_clockwrlock (pthread_rwlock_t *rwlock, clockid_t clockid,
> -                              const struct timespec *abstime)
> +___pthread_rwlock_clockwrlock (pthread_rwlock_t *rwlock, clockid_t clockid,
> +			       const struct timespec *abstime)
>  {
>    struct __timespec64 ts64 = valid_timespec_to_timespec64 (*abstime);
>  
>    return __pthread_rwlock_clockwrlock64 (rwlock, clockid, &ts64);
>  }
> +#endif /* __TIMESPEC64 != 64 */
> +versioned_symbol (libc, ___pthread_rwlock_clockwrlock,
> +		  pthread_rwlock_clockwrlock, GLIBC_2_34);
> +#if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_30, GLIBC_2_34)
> +compat_symbol (libpthread, ___pthread_rwlock_clockwrlock,
> +	       pthread_rwlock_clockwrlock, GLIBC_2_30);
>  #endif
> -weak_alias (__pthread_rwlock_clockwrlock, pthread_rwlock_clockwrlock)
> diff --git a/sysdeps/unix/sysv/linux/aarch64/libc.abilist b/sysdeps/unix/sysv/linux/aarch64/libc.abilist
> index a544add0ac..61124dfcce 100644
> --- a/sysdeps/unix/sysv/linux/aarch64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/aarch64/libc.abilist
> @@ -2213,6 +2213,7 @@ GLIBC_2.30 gettid F
>  GLIBC_2.30 pthread_cond_clockwait F
>  GLIBC_2.30 pthread_mutex_clocklock F
>  GLIBC_2.30 pthread_rwlock_clockrdlock F
> +GLIBC_2.30 pthread_rwlock_clockwrlock F
>  GLIBC_2.30 tgkill F
>  GLIBC_2.30 twalk_r F
>  GLIBC_2.32 __libc_single_threaded D 0x1
> @@ -2280,6 +2281,7 @@ GLIBC_2.34 pthread_mutexattr_setrobust F
>  GLIBC_2.34 pthread_mutexattr_settype F
>  GLIBC_2.34 pthread_once F
>  GLIBC_2.34 pthread_rwlock_clockrdlock F
> +GLIBC_2.34 pthread_rwlock_clockwrlock F
>  GLIBC_2.34 pthread_rwlock_rdlock F
>  GLIBC_2.34 pthread_rwlock_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
> diff --git a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
> index a397e84b0c..dce7c78508 100644
> --- a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
> @@ -90,6 +90,5 @@ GLIBC_2.28 tss_create F
>  GLIBC_2.28 tss_delete F
>  GLIBC_2.28 tss_get F
>  GLIBC_2.28 tss_set F
> -GLIBC_2.30 pthread_rwlock_clockwrlock F
>  GLIBC_2.30 sem_clockwait F
>  GLIBC_2.31 pthread_clockjoin_np F
> diff --git a/sysdeps/unix/sysv/linux/alpha/libc.abilist b/sysdeps/unix/sysv/linux/alpha/libc.abilist
> index 8e5060bf36..be5ec9cd87 100644
> --- a/sysdeps/unix/sysv/linux/alpha/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/alpha/libc.abilist
> @@ -2294,6 +2294,7 @@ GLIBC_2.30 gettid F
>  GLIBC_2.30 pthread_cond_clockwait F
>  GLIBC_2.30 pthread_mutex_clocklock F
>  GLIBC_2.30 pthread_rwlock_clockrdlock F
> +GLIBC_2.30 pthread_rwlock_clockwrlock F
>  GLIBC_2.30 tgkill F
>  GLIBC_2.30 twalk_r F
>  GLIBC_2.32 __libc_single_threaded D 0x1
> @@ -2361,6 +2362,7 @@ GLIBC_2.34 pthread_mutexattr_setrobust F
>  GLIBC_2.34 pthread_mutexattr_settype F
>  GLIBC_2.34 pthread_once F
>  GLIBC_2.34 pthread_rwlock_clockrdlock F
> +GLIBC_2.34 pthread_rwlock_clockwrlock F
>  GLIBC_2.34 pthread_rwlock_rdlock F
>  GLIBC_2.34 pthread_rwlock_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
> diff --git a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
> index bdad9b18c1..9bbc315658 100644
> --- a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
> @@ -105,7 +105,6 @@ GLIBC_2.3.3 pthread_tryjoin_np F
>  GLIBC_2.3.4 pthread_attr_getaffinity_np F
>  GLIBC_2.3.4 pthread_setaffinity_np F
>  GLIBC_2.3.4 pthread_setschedprio F
> -GLIBC_2.30 pthread_rwlock_clockwrlock F
>  GLIBC_2.30 sem_clockwait F
>  GLIBC_2.31 pthread_clockjoin_np F
>  GLIBC_2.4 __libpthread_version_placeholder F
> diff --git a/sysdeps/unix/sysv/linux/arc/libc.abilist b/sysdeps/unix/sysv/linux/arc/libc.abilist
> index e30a919462..6f62c5b62d 100644
> --- a/sysdeps/unix/sysv/linux/arc/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/arc/libc.abilist
> @@ -1429,6 +1429,7 @@ GLIBC_2.32 pthread_mutexattr_setrobust_np F
>  GLIBC_2.32 pthread_mutexattr_settype F
>  GLIBC_2.32 pthread_once F
>  GLIBC_2.32 pthread_rwlock_clockrdlock F
> +GLIBC_2.32 pthread_rwlock_clockwrlock F
>  GLIBC_2.32 pthread_rwlock_rdlock F
>  GLIBC_2.32 pthread_rwlock_unlock F
>  GLIBC_2.32 pthread_rwlock_wrlock F
> @@ -2039,6 +2040,7 @@ GLIBC_2.34 pthread_mutexattr_setrobust F
>  GLIBC_2.34 pthread_mutexattr_settype F
>  GLIBC_2.34 pthread_once F
>  GLIBC_2.34 pthread_rwlock_clockrdlock F
> +GLIBC_2.34 pthread_rwlock_clockwrlock F
>  GLIBC_2.34 pthread_rwlock_rdlock F
>  GLIBC_2.34 pthread_rwlock_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
> diff --git a/sysdeps/unix/sysv/linux/arc/libpthread.abilist b/sysdeps/unix/sysv/linux/arc/libpthread.abilist
> index 4d52f6cee4..7e336f8242 100644
> --- a/sysdeps/unix/sysv/linux/arc/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/arc/libpthread.abilist
> @@ -51,7 +51,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_clockwrlock F
>  GLIBC_2.32 pthread_rwlock_destroy F
>  GLIBC_2.32 pthread_rwlock_init F
>  GLIBC_2.32 pthread_rwlock_timedrdlock F
> diff --git a/sysdeps/unix/sysv/linux/arm/be/libc.abilist b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
> index 3cb32bbc40..9310982698 100644
> --- a/sysdeps/unix/sysv/linux/arm/be/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
> @@ -134,6 +134,7 @@ GLIBC_2.30 gettid F
>  GLIBC_2.30 pthread_cond_clockwait F
>  GLIBC_2.30 pthread_mutex_clocklock F
>  GLIBC_2.30 pthread_rwlock_clockrdlock F
> +GLIBC_2.30 pthread_rwlock_clockwrlock F
>  GLIBC_2.30 tgkill F
>  GLIBC_2.30 twalk_r F
>  GLIBC_2.31 msgctl F
> @@ -204,6 +205,7 @@ GLIBC_2.34 pthread_mutexattr_setrobust F
>  GLIBC_2.34 pthread_mutexattr_settype F
>  GLIBC_2.34 pthread_once F
>  GLIBC_2.34 pthread_rwlock_clockrdlock F
> +GLIBC_2.34 pthread_rwlock_clockwrlock F
>  GLIBC_2.34 pthread_rwlock_rdlock F
>  GLIBC_2.34 pthread_rwlock_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
> diff --git a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
> index 929969e5eb..6d01194e39 100644
> --- a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
> @@ -24,7 +24,6 @@ GLIBC_2.28 tss_create F
>  GLIBC_2.28 tss_delete F
>  GLIBC_2.28 tss_get F
>  GLIBC_2.28 tss_set F
> -GLIBC_2.30 pthread_rwlock_clockwrlock F
>  GLIBC_2.30 sem_clockwait F
>  GLIBC_2.31 pthread_clockjoin_np F
>  GLIBC_2.4 _IO_flockfile F
> diff --git a/sysdeps/unix/sysv/linux/arm/le/libc.abilist b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
> index ebfb2cd2b9..8fa52e60f5 100644
> --- a/sysdeps/unix/sysv/linux/arm/le/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
> @@ -134,6 +134,7 @@ GLIBC_2.30 gettid F
>  GLIBC_2.30 pthread_cond_clockwait F
>  GLIBC_2.30 pthread_mutex_clocklock F
>  GLIBC_2.30 pthread_rwlock_clockrdlock F
> +GLIBC_2.30 pthread_rwlock_clockwrlock F
>  GLIBC_2.30 tgkill F
>  GLIBC_2.30 twalk_r F
>  GLIBC_2.32 __libc_single_threaded D 0x1
> @@ -201,6 +202,7 @@ GLIBC_2.34 pthread_mutexattr_setrobust F
>  GLIBC_2.34 pthread_mutexattr_settype F
>  GLIBC_2.34 pthread_once F
>  GLIBC_2.34 pthread_rwlock_clockrdlock F
> +GLIBC_2.34 pthread_rwlock_clockwrlock F
>  GLIBC_2.34 pthread_rwlock_rdlock F
>  GLIBC_2.34 pthread_rwlock_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
> diff --git a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
> index 929969e5eb..6d01194e39 100644
> --- a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
> @@ -24,7 +24,6 @@ GLIBC_2.28 tss_create F
>  GLIBC_2.28 tss_delete F
>  GLIBC_2.28 tss_get F
>  GLIBC_2.28 tss_set F
> -GLIBC_2.30 pthread_rwlock_clockwrlock F
>  GLIBC_2.30 sem_clockwait F
>  GLIBC_2.31 pthread_clockjoin_np F
>  GLIBC_2.4 _IO_flockfile F
> diff --git a/sysdeps/unix/sysv/linux/csky/libc.abilist b/sysdeps/unix/sysv/linux/csky/libc.abilist
> index e37f93df4c..8ef5e0d0e2 100644
> --- a/sysdeps/unix/sysv/linux/csky/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/csky/libc.abilist
> @@ -2156,6 +2156,7 @@ GLIBC_2.30 gettid F
>  GLIBC_2.30 pthread_cond_clockwait F
>  GLIBC_2.30 pthread_mutex_clocklock F
>  GLIBC_2.30 pthread_rwlock_clockrdlock F
> +GLIBC_2.30 pthread_rwlock_clockwrlock F
>  GLIBC_2.30 tgkill F
>  GLIBC_2.30 twalk_r F
>  GLIBC_2.32 __libc_single_threaded D 0x1
> @@ -2223,6 +2224,7 @@ GLIBC_2.34 pthread_mutexattr_setrobust F
>  GLIBC_2.34 pthread_mutexattr_settype F
>  GLIBC_2.34 pthread_once F
>  GLIBC_2.34 pthread_rwlock_clockrdlock F
> +GLIBC_2.34 pthread_rwlock_clockwrlock F
>  GLIBC_2.34 pthread_rwlock_rdlock F
>  GLIBC_2.34 pthread_rwlock_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
> diff --git a/sysdeps/unix/sysv/linux/csky/libpthread.abilist b/sysdeps/unix/sysv/linux/csky/libpthread.abilist
> index 14e6252740..3cefbb7fdb 100644
> --- a/sysdeps/unix/sysv/linux/csky/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/csky/libpthread.abilist
> @@ -90,6 +90,5 @@ GLIBC_2.29 tss_create F
>  GLIBC_2.29 tss_delete F
>  GLIBC_2.29 tss_get F
>  GLIBC_2.29 tss_set F
> -GLIBC_2.30 pthread_rwlock_clockwrlock F
>  GLIBC_2.30 sem_clockwait F
>  GLIBC_2.31 pthread_clockjoin_np F
> diff --git a/sysdeps/unix/sysv/linux/hppa/libc.abilist b/sysdeps/unix/sysv/linux/hppa/libc.abilist
> index c066fea427..b7613795c8 100644
> --- a/sysdeps/unix/sysv/linux/hppa/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/hppa/libc.abilist
> @@ -2107,6 +2107,7 @@ GLIBC_2.30 gettid F
>  GLIBC_2.30 pthread_cond_clockwait F
>  GLIBC_2.30 pthread_mutex_clocklock F
>  GLIBC_2.30 pthread_rwlock_clockrdlock F
> +GLIBC_2.30 pthread_rwlock_clockwrlock F
>  GLIBC_2.30 tgkill F
>  GLIBC_2.30 twalk_r F
>  GLIBC_2.32 __libc_single_threaded D 0x1
> @@ -2174,6 +2175,7 @@ GLIBC_2.34 pthread_mutexattr_setrobust F
>  GLIBC_2.34 pthread_mutexattr_settype F
>  GLIBC_2.34 pthread_once F
>  GLIBC_2.34 pthread_rwlock_clockrdlock F
> +GLIBC_2.34 pthread_rwlock_clockwrlock F
>  GLIBC_2.34 pthread_rwlock_rdlock F
>  GLIBC_2.34 pthread_rwlock_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
> diff --git a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
> index 689a70cc5e..124ea6fd8e 100644
> --- a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
> @@ -95,7 +95,6 @@ GLIBC_2.3.3 pthread_tryjoin_np F
>  GLIBC_2.3.4 pthread_attr_getaffinity_np F
>  GLIBC_2.3.4 pthread_setaffinity_np F
>  GLIBC_2.3.4 pthread_setschedprio F
> -GLIBC_2.30 pthread_rwlock_clockwrlock F
>  GLIBC_2.30 sem_clockwait F
>  GLIBC_2.31 pthread_clockjoin_np F
>  GLIBC_2.4 __libpthread_version_placeholder F
> diff --git a/sysdeps/unix/sysv/linux/i386/libc.abilist b/sysdeps/unix/sysv/linux/i386/libc.abilist
> index e73a9cb62f..6403969f65 100644
> --- a/sysdeps/unix/sysv/linux/i386/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/i386/libc.abilist
> @@ -2282,6 +2282,7 @@ GLIBC_2.30 gettid F
>  GLIBC_2.30 pthread_cond_clockwait F
>  GLIBC_2.30 pthread_mutex_clocklock F
>  GLIBC_2.30 pthread_rwlock_clockrdlock F
> +GLIBC_2.30 pthread_rwlock_clockwrlock F
>  GLIBC_2.30 tgkill F
>  GLIBC_2.30 twalk_r F
>  GLIBC_2.32 __libc_single_threaded D 0x1
> @@ -2351,6 +2352,7 @@ GLIBC_2.34 pthread_mutexattr_setrobust F
>  GLIBC_2.34 pthread_mutexattr_settype F
>  GLIBC_2.34 pthread_once F
>  GLIBC_2.34 pthread_rwlock_clockrdlock F
> +GLIBC_2.34 pthread_rwlock_clockwrlock F
>  GLIBC_2.34 pthread_rwlock_rdlock F
>  GLIBC_2.34 pthread_rwlock_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
> diff --git a/sysdeps/unix/sysv/linux/i386/libpthread.abilist b/sysdeps/unix/sysv/linux/i386/libpthread.abilist
> index 4ab340cf90..54aee29fdc 100644
> --- a/sysdeps/unix/sysv/linux/i386/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/i386/libpthread.abilist
> @@ -103,7 +103,6 @@ GLIBC_2.3.3 pthread_tryjoin_np F
>  GLIBC_2.3.4 pthread_attr_getaffinity_np F
>  GLIBC_2.3.4 pthread_setaffinity_np F
>  GLIBC_2.3.4 pthread_setschedprio F
> -GLIBC_2.30 pthread_rwlock_clockwrlock F
>  GLIBC_2.30 sem_clockwait F
>  GLIBC_2.31 pthread_clockjoin_np F
>  GLIBC_2.4 __libpthread_version_placeholder F
> diff --git a/sysdeps/unix/sysv/linux/ia64/libc.abilist b/sysdeps/unix/sysv/linux/ia64/libc.abilist
> index d7dc742a61..9faf458393 100644
> --- a/sysdeps/unix/sysv/linux/ia64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/ia64/libc.abilist
> @@ -2140,6 +2140,7 @@ GLIBC_2.30 gettid F
>  GLIBC_2.30 pthread_cond_clockwait F
>  GLIBC_2.30 pthread_mutex_clocklock F
>  GLIBC_2.30 pthread_rwlock_clockrdlock F
> +GLIBC_2.30 pthread_rwlock_clockwrlock F
>  GLIBC_2.30 tgkill F
>  GLIBC_2.30 twalk_r F
>  GLIBC_2.32 __libc_single_threaded D 0x1
> @@ -2208,6 +2209,7 @@ GLIBC_2.34 pthread_mutexattr_setrobust F
>  GLIBC_2.34 pthread_mutexattr_settype F
>  GLIBC_2.34 pthread_once F
>  GLIBC_2.34 pthread_rwlock_clockrdlock F
> +GLIBC_2.34 pthread_rwlock_clockwrlock F
>  GLIBC_2.34 pthread_rwlock_rdlock F
>  GLIBC_2.34 pthread_rwlock_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
> diff --git a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
> index d9af25de90..ad3d8c7fc3 100644
> --- a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
> @@ -97,7 +97,6 @@ GLIBC_2.3.3 pthread_tryjoin_np F
>  GLIBC_2.3.4 pthread_attr_getaffinity_np F
>  GLIBC_2.3.4 pthread_setaffinity_np F
>  GLIBC_2.3.4 pthread_setschedprio F
> -GLIBC_2.30 pthread_rwlock_clockwrlock F
>  GLIBC_2.30 sem_clockwait F
>  GLIBC_2.31 pthread_clockjoin_np F
>  GLIBC_2.4 __libpthread_version_placeholder F
> diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
> index ec804150f8..0063f78a4f 100644
> --- a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
> @@ -135,6 +135,7 @@ GLIBC_2.30 gettid F
>  GLIBC_2.30 pthread_cond_clockwait F
>  GLIBC_2.30 pthread_mutex_clocklock F
>  GLIBC_2.30 pthread_rwlock_clockrdlock F
> +GLIBC_2.30 pthread_rwlock_clockwrlock F
>  GLIBC_2.30 tgkill F
>  GLIBC_2.30 twalk_r F
>  GLIBC_2.31 msgctl F
> @@ -205,6 +206,7 @@ GLIBC_2.34 pthread_mutexattr_setrobust F
>  GLIBC_2.34 pthread_mutexattr_settype F
>  GLIBC_2.34 pthread_once F
>  GLIBC_2.34 pthread_rwlock_clockrdlock F
> +GLIBC_2.34 pthread_rwlock_clockwrlock F
>  GLIBC_2.34 pthread_rwlock_rdlock F
>  GLIBC_2.34 pthread_rwlock_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
> diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
> index 929969e5eb..6d01194e39 100644
> --- a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
> @@ -24,7 +24,6 @@ GLIBC_2.28 tss_create F
>  GLIBC_2.28 tss_delete F
>  GLIBC_2.28 tss_get F
>  GLIBC_2.28 tss_set F
> -GLIBC_2.30 pthread_rwlock_clockwrlock F
>  GLIBC_2.30 sem_clockwait F
>  GLIBC_2.31 pthread_clockjoin_np F
>  GLIBC_2.4 _IO_flockfile F
> diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
> index d6b6316e33..a5f9727b77 100644
> --- a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
> @@ -2224,6 +2224,7 @@ GLIBC_2.30 gettid F
>  GLIBC_2.30 pthread_cond_clockwait F
>  GLIBC_2.30 pthread_mutex_clocklock F
>  GLIBC_2.30 pthread_rwlock_clockrdlock F
> +GLIBC_2.30 pthread_rwlock_clockwrlock F
>  GLIBC_2.30 tgkill F
>  GLIBC_2.30 twalk_r F
>  GLIBC_2.31 msgctl F
> @@ -2294,6 +2295,7 @@ GLIBC_2.34 pthread_mutexattr_setrobust F
>  GLIBC_2.34 pthread_mutexattr_settype F
>  GLIBC_2.34 pthread_once F
>  GLIBC_2.34 pthread_rwlock_clockrdlock F
> +GLIBC_2.34 pthread_rwlock_clockwrlock F
>  GLIBC_2.34 pthread_rwlock_rdlock F
>  GLIBC_2.34 pthread_rwlock_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
> diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
> index 4ab340cf90..54aee29fdc 100644
> --- a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
> @@ -103,7 +103,6 @@ GLIBC_2.3.3 pthread_tryjoin_np F
>  GLIBC_2.3.4 pthread_attr_getaffinity_np F
>  GLIBC_2.3.4 pthread_setaffinity_np F
>  GLIBC_2.3.4 pthread_setschedprio F
> -GLIBC_2.30 pthread_rwlock_clockwrlock F
>  GLIBC_2.30 sem_clockwait F
>  GLIBC_2.31 pthread_clockjoin_np F
>  GLIBC_2.4 __libpthread_version_placeholder F
> diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
> index 955dd491e2..73d493e36f 100644
> --- a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
> @@ -2204,6 +2204,7 @@ GLIBC_2.30 gettid F
>  GLIBC_2.30 pthread_cond_clockwait F
>  GLIBC_2.30 pthread_mutex_clocklock F
>  GLIBC_2.30 pthread_rwlock_clockrdlock F
> +GLIBC_2.30 pthread_rwlock_clockwrlock F
>  GLIBC_2.30 tgkill F
>  GLIBC_2.30 twalk_r F
>  GLIBC_2.31 msgctl F
> @@ -2274,6 +2275,7 @@ GLIBC_2.34 pthread_mutexattr_setrobust F
>  GLIBC_2.34 pthread_mutexattr_settype F
>  GLIBC_2.34 pthread_once F
>  GLIBC_2.34 pthread_rwlock_clockrdlock F
> +GLIBC_2.34 pthread_rwlock_clockwrlock F
>  GLIBC_2.34 pthread_rwlock_rdlock F
>  GLIBC_2.34 pthread_rwlock_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
> diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
> index 77f2a9fcb3..489622d126 100644
> --- a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
> @@ -90,6 +90,5 @@ GLIBC_2.28 tss_create F
>  GLIBC_2.28 tss_delete F
>  GLIBC_2.28 tss_get F
>  GLIBC_2.28 tss_set F
> -GLIBC_2.30 pthread_rwlock_clockwrlock F
>  GLIBC_2.30 sem_clockwait F
>  GLIBC_2.31 pthread_clockjoin_np F
> diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
> index 7bf2999064..c683536a9a 100644
> --- a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
> @@ -2204,6 +2204,7 @@ GLIBC_2.30 gettid F
>  GLIBC_2.30 pthread_cond_clockwait F
>  GLIBC_2.30 pthread_mutex_clocklock F
>  GLIBC_2.30 pthread_rwlock_clockrdlock F
> +GLIBC_2.30 pthread_rwlock_clockwrlock F
>  GLIBC_2.30 tgkill F
>  GLIBC_2.30 twalk_r F
>  GLIBC_2.32 __libc_single_threaded D 0x1
> @@ -2271,6 +2272,7 @@ GLIBC_2.34 pthread_mutexattr_setrobust F
>  GLIBC_2.34 pthread_mutexattr_settype F
>  GLIBC_2.34 pthread_once F
>  GLIBC_2.34 pthread_rwlock_clockrdlock F
> +GLIBC_2.34 pthread_rwlock_clockwrlock F
>  GLIBC_2.34 pthread_rwlock_rdlock F
>  GLIBC_2.34 pthread_rwlock_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
> diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
> index 77f2a9fcb3..489622d126 100644
> --- a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
> @@ -90,6 +90,5 @@ GLIBC_2.28 tss_create F
>  GLIBC_2.28 tss_delete F
>  GLIBC_2.28 tss_get F
>  GLIBC_2.28 tss_set F
> -GLIBC_2.30 pthread_rwlock_clockwrlock F
>  GLIBC_2.30 sem_clockwait F
>  GLIBC_2.31 pthread_clockjoin_np F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
> index 6117a526e2..655cb225c2 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
> @@ -2190,6 +2190,7 @@ GLIBC_2.30 gettid F
>  GLIBC_2.30 pthread_cond_clockwait F
>  GLIBC_2.30 pthread_mutex_clocklock F
>  GLIBC_2.30 pthread_rwlock_clockrdlock F
> +GLIBC_2.30 pthread_rwlock_clockwrlock F
>  GLIBC_2.30 tgkill F
>  GLIBC_2.30 twalk_r F
>  GLIBC_2.32 __libc_single_threaded D 0x1
> @@ -2257,6 +2258,7 @@ GLIBC_2.34 pthread_mutexattr_setrobust F
>  GLIBC_2.34 pthread_mutexattr_settype F
>  GLIBC_2.34 pthread_once F
>  GLIBC_2.34 pthread_rwlock_clockrdlock F
> +GLIBC_2.34 pthread_rwlock_clockwrlock F
>  GLIBC_2.34 pthread_rwlock_rdlock F
>  GLIBC_2.34 pthread_rwlock_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
> index 24f02c4170..feaafc6ced 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
> @@ -104,7 +104,6 @@ GLIBC_2.3.3 pthread_tryjoin_np F
>  GLIBC_2.3.4 pthread_attr_getaffinity_np F
>  GLIBC_2.3.4 pthread_setaffinity_np F
>  GLIBC_2.3.4 pthread_setschedprio F
> -GLIBC_2.30 pthread_rwlock_clockwrlock F
>  GLIBC_2.30 sem_clockwait F
>  GLIBC_2.31 pthread_clockjoin_np F
>  GLIBC_2.4 __libpthread_version_placeholder F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
> index ba4e9497f7..3c16f8b783 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
> @@ -2188,6 +2188,7 @@ GLIBC_2.30 gettid F
>  GLIBC_2.30 pthread_cond_clockwait F
>  GLIBC_2.30 pthread_mutex_clocklock F
>  GLIBC_2.30 pthread_rwlock_clockrdlock F
> +GLIBC_2.30 pthread_rwlock_clockwrlock F
>  GLIBC_2.30 tgkill F
>  GLIBC_2.30 twalk_r F
>  GLIBC_2.32 __libc_single_threaded D 0x1
> @@ -2255,6 +2256,7 @@ GLIBC_2.34 pthread_mutexattr_setrobust F
>  GLIBC_2.34 pthread_mutexattr_settype F
>  GLIBC_2.34 pthread_once F
>  GLIBC_2.34 pthread_rwlock_clockrdlock F
> +GLIBC_2.34 pthread_rwlock_clockwrlock F
>  GLIBC_2.34 pthread_rwlock_rdlock F
>  GLIBC_2.34 pthread_rwlock_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
> index 24f02c4170..feaafc6ced 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
> @@ -104,7 +104,6 @@ GLIBC_2.3.3 pthread_tryjoin_np F
>  GLIBC_2.3.4 pthread_attr_getaffinity_np F
>  GLIBC_2.3.4 pthread_setaffinity_np F
>  GLIBC_2.3.4 pthread_setschedprio F
> -GLIBC_2.30 pthread_rwlock_clockwrlock F
>  GLIBC_2.30 sem_clockwait F
>  GLIBC_2.31 pthread_clockjoin_np F
>  GLIBC_2.4 __libpthread_version_placeholder F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
> index 4f4fb5265e..a7988b98a4 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
> @@ -2196,6 +2196,7 @@ GLIBC_2.30 gettid F
>  GLIBC_2.30 pthread_cond_clockwait F
>  GLIBC_2.30 pthread_mutex_clocklock F
>  GLIBC_2.30 pthread_rwlock_clockrdlock F
> +GLIBC_2.30 pthread_rwlock_clockwrlock F
>  GLIBC_2.30 tgkill F
>  GLIBC_2.30 twalk_r F
>  GLIBC_2.32 __libc_single_threaded D 0x1
> @@ -2263,6 +2264,7 @@ GLIBC_2.34 pthread_mutexattr_setrobust F
>  GLIBC_2.34 pthread_mutexattr_settype F
>  GLIBC_2.34 pthread_once F
>  GLIBC_2.34 pthread_rwlock_clockrdlock F
> +GLIBC_2.34 pthread_rwlock_clockwrlock F
>  GLIBC_2.34 pthread_rwlock_rdlock F
>  GLIBC_2.34 pthread_rwlock_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
> index b7e140bfef..e2e7b2851e 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
> @@ -2190,6 +2190,7 @@ GLIBC_2.30 gettid F
>  GLIBC_2.30 pthread_cond_clockwait F
>  GLIBC_2.30 pthread_mutex_clocklock F
>  GLIBC_2.30 pthread_rwlock_clockrdlock F
> +GLIBC_2.30 pthread_rwlock_clockwrlock F
>  GLIBC_2.30 tgkill F
>  GLIBC_2.30 twalk_r F
>  GLIBC_2.32 __libc_single_threaded D 0x1
> @@ -2257,6 +2258,7 @@ GLIBC_2.34 pthread_mutexattr_setrobust F
>  GLIBC_2.34 pthread_mutexattr_settype F
>  GLIBC_2.34 pthread_once F
>  GLIBC_2.34 pthread_rwlock_clockrdlock F
> +GLIBC_2.34 pthread_rwlock_clockwrlock F
>  GLIBC_2.34 pthread_rwlock_rdlock F
>  GLIBC_2.34 pthread_rwlock_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
> diff --git a/sysdeps/unix/sysv/linux/nios2/libc.abilist b/sysdeps/unix/sysv/linux/nios2/libc.abilist
> index 5f9127b1ca..2cf690ec94 100644
> --- a/sysdeps/unix/sysv/linux/nios2/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/nios2/libc.abilist
> @@ -2246,6 +2246,7 @@ GLIBC_2.30 gettid F
>  GLIBC_2.30 pthread_cond_clockwait F
>  GLIBC_2.30 pthread_mutex_clocklock F
>  GLIBC_2.30 pthread_rwlock_clockrdlock F
> +GLIBC_2.30 pthread_rwlock_clockwrlock F
>  GLIBC_2.30 tgkill F
>  GLIBC_2.30 twalk_r F
>  GLIBC_2.32 __libc_single_threaded D 0x1
> @@ -2313,6 +2314,7 @@ GLIBC_2.34 pthread_mutexattr_setrobust F
>  GLIBC_2.34 pthread_mutexattr_settype F
>  GLIBC_2.34 pthread_once F
>  GLIBC_2.34 pthread_rwlock_clockrdlock F
> +GLIBC_2.34 pthread_rwlock_clockwrlock F
>  GLIBC_2.34 pthread_rwlock_rdlock F
>  GLIBC_2.34 pthread_rwlock_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
> diff --git a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
> index 8704868023..f3de0e4889 100644
> --- a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
> @@ -90,6 +90,5 @@ GLIBC_2.28 tss_create F
>  GLIBC_2.28 tss_delete F
>  GLIBC_2.28 tss_get F
>  GLIBC_2.28 tss_set F
> -GLIBC_2.30 pthread_rwlock_clockwrlock F
>  GLIBC_2.30 sem_clockwait F
>  GLIBC_2.31 pthread_clockjoin_np F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
> index 7d04ea07c7..a131ac9364 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
> @@ -2254,6 +2254,7 @@ GLIBC_2.30 gettid F
>  GLIBC_2.30 pthread_cond_clockwait F
>  GLIBC_2.30 pthread_mutex_clocklock F
>  GLIBC_2.30 pthread_rwlock_clockrdlock F
> +GLIBC_2.30 pthread_rwlock_clockwrlock F
>  GLIBC_2.30 tgkill F
>  GLIBC_2.30 twalk_r F
>  GLIBC_2.32 __libc_single_threaded D 0x1
> @@ -2321,6 +2322,7 @@ GLIBC_2.34 pthread_mutexattr_setrobust F
>  GLIBC_2.34 pthread_mutexattr_settype F
>  GLIBC_2.34 pthread_once F
>  GLIBC_2.34 pthread_rwlock_clockrdlock F
> +GLIBC_2.34 pthread_rwlock_clockwrlock F
>  GLIBC_2.34 pthread_rwlock_rdlock F
>  GLIBC_2.34 pthread_rwlock_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
> index 08a1eb9cf6..6b276ca5d8 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
> @@ -103,7 +103,6 @@ GLIBC_2.3.3 pthread_tryjoin_np F
>  GLIBC_2.3.4 pthread_attr_getaffinity_np F
>  GLIBC_2.3.4 pthread_setaffinity_np F
>  GLIBC_2.3.4 pthread_setschedprio F
> -GLIBC_2.30 pthread_rwlock_clockwrlock F
>  GLIBC_2.30 sem_clockwait F
>  GLIBC_2.31 pthread_clockjoin_np F
>  GLIBC_2.4 __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 599790898c..060578f3e0 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
> @@ -2287,6 +2287,7 @@ GLIBC_2.30 gettid F
>  GLIBC_2.30 pthread_cond_clockwait F
>  GLIBC_2.30 pthread_mutex_clocklock F
>  GLIBC_2.30 pthread_rwlock_clockrdlock F
> +GLIBC_2.30 pthread_rwlock_clockwrlock F
>  GLIBC_2.30 tgkill F
>  GLIBC_2.30 twalk_r F
>  GLIBC_2.32 __libc_single_threaded D 0x1
> @@ -2354,6 +2355,7 @@ GLIBC_2.34 pthread_mutexattr_setrobust F
>  GLIBC_2.34 pthread_mutexattr_settype F
>  GLIBC_2.34 pthread_once F
>  GLIBC_2.34 pthread_rwlock_clockrdlock F
> +GLIBC_2.34 pthread_rwlock_clockwrlock F
>  GLIBC_2.34 pthread_rwlock_rdlock F
>  GLIBC_2.34 pthread_rwlock_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
> index 9c0219af57..fa035697a6 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
> @@ -2108,6 +2108,7 @@ GLIBC_2.30 gettid F
>  GLIBC_2.30 pthread_cond_clockwait F
>  GLIBC_2.30 pthread_mutex_clocklock F
>  GLIBC_2.30 pthread_rwlock_clockrdlock F
> +GLIBC_2.30 pthread_rwlock_clockwrlock F
>  GLIBC_2.30 tgkill F
>  GLIBC_2.30 twalk_r F
>  GLIBC_2.32 __libc_single_threaded D 0x1
> @@ -2175,6 +2176,7 @@ GLIBC_2.34 pthread_mutexattr_setrobust F
>  GLIBC_2.34 pthread_mutexattr_settype F
>  GLIBC_2.34 pthread_once F
>  GLIBC_2.34 pthread_rwlock_clockrdlock F
> +GLIBC_2.34 pthread_rwlock_clockwrlock F
>  GLIBC_2.34 pthread_rwlock_rdlock F
>  GLIBC_2.34 pthread_rwlock_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
> index 97679a7e75..dbe8b51aab 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
> @@ -93,7 +93,6 @@ GLIBC_2.3.3 pthread_tryjoin_np F
>  GLIBC_2.3.4 pthread_attr_getaffinity_np F
>  GLIBC_2.3.4 pthread_setaffinity_np F
>  GLIBC_2.3.4 pthread_setschedprio F
> -GLIBC_2.30 pthread_rwlock_clockwrlock F
>  GLIBC_2.30 sem_clockwait F
>  GLIBC_2.31 pthread_clockjoin_np F
>  GLIBC_2.4 __libpthread_version_placeholder F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
> index dc3ec8c4eb..d6bc4e3862 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
> @@ -2315,6 +2315,7 @@ GLIBC_2.30 gettid F
>  GLIBC_2.30 pthread_cond_clockwait F
>  GLIBC_2.30 pthread_mutex_clocklock F
>  GLIBC_2.30 pthread_rwlock_clockrdlock F
> +GLIBC_2.30 pthread_rwlock_clockwrlock F
>  GLIBC_2.30 tgkill F
>  GLIBC_2.30 twalk_r F
>  GLIBC_2.32 __argp_errorieee128 F
> @@ -2476,6 +2477,7 @@ GLIBC_2.34 pthread_mutexattr_setrobust F
>  GLIBC_2.34 pthread_mutexattr_settype F
>  GLIBC_2.34 pthread_once F
>  GLIBC_2.34 pthread_rwlock_clockrdlock F
> +GLIBC_2.34 pthread_rwlock_clockwrlock F
>  GLIBC_2.34 pthread_rwlock_rdlock F
>  GLIBC_2.34 pthread_rwlock_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
> index a397e84b0c..dce7c78508 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
> @@ -90,6 +90,5 @@ GLIBC_2.28 tss_create F
>  GLIBC_2.28 tss_delete F
>  GLIBC_2.28 tss_get F
>  GLIBC_2.28 tss_set F
> -GLIBC_2.30 pthread_rwlock_clockwrlock F
>  GLIBC_2.30 sem_clockwait F
>  GLIBC_2.31 pthread_clockjoin_np F
> diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
> index 7064b9adc2..8608f6bce3 100644
> --- a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
> @@ -1431,6 +1431,7 @@ GLIBC_2.33 pthread_mutexattr_setrobust_np F
>  GLIBC_2.33 pthread_mutexattr_settype F
>  GLIBC_2.33 pthread_once F
>  GLIBC_2.33 pthread_rwlock_clockrdlock F
> +GLIBC_2.33 pthread_rwlock_clockwrlock F
>  GLIBC_2.33 pthread_rwlock_rdlock F
>  GLIBC_2.33 pthread_rwlock_unlock F
>  GLIBC_2.33 pthread_rwlock_wrlock F
> @@ -2041,6 +2042,7 @@ GLIBC_2.34 pthread_mutexattr_setrobust F
>  GLIBC_2.34 pthread_mutexattr_settype F
>  GLIBC_2.34 pthread_once F
>  GLIBC_2.34 pthread_rwlock_clockrdlock F
> +GLIBC_2.34 pthread_rwlock_clockwrlock F
>  GLIBC_2.34 pthread_rwlock_rdlock F
>  GLIBC_2.34 pthread_rwlock_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
> diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
> index 3564a9936d..67bde15c7f 100644
> --- a/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
> @@ -51,7 +51,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_clockwrlock F
>  GLIBC_2.33 pthread_rwlock_destroy F
>  GLIBC_2.33 pthread_rwlock_init F
>  GLIBC_2.33 pthread_rwlock_timedrdlock F
> diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
> index 0817432271..5dccf99f67 100644
> --- a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
> @@ -2174,6 +2174,7 @@ GLIBC_2.30 gettid F
>  GLIBC_2.30 pthread_cond_clockwait F
>  GLIBC_2.30 pthread_mutex_clocklock F
>  GLIBC_2.30 pthread_rwlock_clockrdlock F
> +GLIBC_2.30 pthread_rwlock_clockwrlock F
>  GLIBC_2.30 tgkill F
>  GLIBC_2.30 twalk_r F
>  GLIBC_2.32 __libc_single_threaded D 0x1
> @@ -2241,6 +2242,7 @@ GLIBC_2.34 pthread_mutexattr_setrobust F
>  GLIBC_2.34 pthread_mutexattr_settype F
>  GLIBC_2.34 pthread_once F
>  GLIBC_2.34 pthread_rwlock_clockrdlock F
> +GLIBC_2.34 pthread_rwlock_clockwrlock F
>  GLIBC_2.34 pthread_rwlock_rdlock F
>  GLIBC_2.34 pthread_rwlock_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
> diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
> index 740afa164b..83d0cbfaa4 100644
> --- a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
> @@ -90,6 +90,5 @@ GLIBC_2.28 tss_create F
>  GLIBC_2.28 tss_delete F
>  GLIBC_2.28 tss_get F
>  GLIBC_2.28 tss_set F
> -GLIBC_2.30 pthread_rwlock_clockwrlock F
>  GLIBC_2.30 sem_clockwait F
>  GLIBC_2.31 pthread_clockjoin_np F
> diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
> index b7cd423a8b..abaa54cc17 100644
> --- a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
> @@ -2249,6 +2249,7 @@ GLIBC_2.30 gettid F
>  GLIBC_2.30 pthread_cond_clockwait F
>  GLIBC_2.30 pthread_mutex_clocklock F
>  GLIBC_2.30 pthread_rwlock_clockrdlock F
> +GLIBC_2.30 pthread_rwlock_clockwrlock F
>  GLIBC_2.30 tgkill F
>  GLIBC_2.30 twalk_r F
>  GLIBC_2.31 msgctl F
> @@ -2319,6 +2320,7 @@ GLIBC_2.34 pthread_mutexattr_setrobust F
>  GLIBC_2.34 pthread_mutexattr_settype F
>  GLIBC_2.34 pthread_once F
>  GLIBC_2.34 pthread_rwlock_clockrdlock F
> +GLIBC_2.34 pthread_rwlock_clockwrlock F
>  GLIBC_2.34 pthread_rwlock_rdlock F
>  GLIBC_2.34 pthread_rwlock_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
> diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
> index 71adfe68d3..ec4a9d4211 100644
> --- a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
> @@ -104,7 +104,6 @@ GLIBC_2.3.3 pthread_tryjoin_np F
>  GLIBC_2.3.4 pthread_attr_getaffinity_np F
>  GLIBC_2.3.4 pthread_setaffinity_np F
>  GLIBC_2.3.4 pthread_setschedprio F
> -GLIBC_2.30 pthread_rwlock_clockwrlock F
>  GLIBC_2.30 sem_clockwait F
>  GLIBC_2.31 pthread_clockjoin_np F
>  GLIBC_2.4 __libpthread_version_placeholder F
> diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
> index 0fe79b8479..3d67cffcea 100644
> --- a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
> @@ -2145,6 +2145,7 @@ GLIBC_2.30 gettid F
>  GLIBC_2.30 pthread_cond_clockwait F
>  GLIBC_2.30 pthread_mutex_clocklock F
>  GLIBC_2.30 pthread_rwlock_clockrdlock F
> +GLIBC_2.30 pthread_rwlock_clockwrlock F
>  GLIBC_2.30 tgkill F
>  GLIBC_2.30 twalk_r F
>  GLIBC_2.32 __libc_single_threaded D 0x1
> @@ -2212,6 +2213,7 @@ GLIBC_2.34 pthread_mutexattr_setrobust F
>  GLIBC_2.34 pthread_mutexattr_settype F
>  GLIBC_2.34 pthread_once F
>  GLIBC_2.34 pthread_rwlock_clockrdlock F
> +GLIBC_2.34 pthread_rwlock_clockwrlock F
>  GLIBC_2.34 pthread_rwlock_rdlock F
>  GLIBC_2.34 pthread_rwlock_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
> diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
> index e80b1d31fa..295500e565 100644
> --- a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
> @@ -96,7 +96,6 @@ GLIBC_2.3.3 pthread_tryjoin_np F
>  GLIBC_2.3.4 pthread_attr_getaffinity_np F
>  GLIBC_2.3.4 pthread_setaffinity_np F
>  GLIBC_2.3.4 pthread_setschedprio F
> -GLIBC_2.30 pthread_rwlock_clockwrlock F
>  GLIBC_2.30 sem_clockwait F
>  GLIBC_2.31 pthread_clockjoin_np F
>  GLIBC_2.4 __libpthread_version_placeholder F
> diff --git a/sysdeps/unix/sysv/linux/sh/be/libc.abilist b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
> index 730d4097da..4291e96d58 100644
> --- a/sysdeps/unix/sysv/linux/sh/be/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
> @@ -2111,6 +2111,7 @@ GLIBC_2.30 gettid F
>  GLIBC_2.30 pthread_cond_clockwait F
>  GLIBC_2.30 pthread_mutex_clocklock F
>  GLIBC_2.30 pthread_rwlock_clockrdlock F
> +GLIBC_2.30 pthread_rwlock_clockwrlock F
>  GLIBC_2.30 tgkill F
>  GLIBC_2.30 twalk_r F
>  GLIBC_2.31 msgctl F
> @@ -2181,6 +2182,7 @@ GLIBC_2.34 pthread_mutexattr_setrobust F
>  GLIBC_2.34 pthread_mutexattr_settype F
>  GLIBC_2.34 pthread_once F
>  GLIBC_2.34 pthread_rwlock_clockrdlock F
> +GLIBC_2.34 pthread_rwlock_clockwrlock F
>  GLIBC_2.34 pthread_rwlock_rdlock F
>  GLIBC_2.34 pthread_rwlock_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
> diff --git a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
> index 689a70cc5e..124ea6fd8e 100644
> --- a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
> @@ -95,7 +95,6 @@ GLIBC_2.3.3 pthread_tryjoin_np F
>  GLIBC_2.3.4 pthread_attr_getaffinity_np F
>  GLIBC_2.3.4 pthread_setaffinity_np F
>  GLIBC_2.3.4 pthread_setschedprio F
> -GLIBC_2.30 pthread_rwlock_clockwrlock F
>  GLIBC_2.30 sem_clockwait F
>  GLIBC_2.31 pthread_clockjoin_np F
>  GLIBC_2.4 __libpthread_version_placeholder F
> diff --git a/sysdeps/unix/sysv/linux/sh/le/libc.abilist b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
> index 4f0bb0c8d0..58e70680f1 100644
> --- a/sysdeps/unix/sysv/linux/sh/le/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
> @@ -2111,6 +2111,7 @@ GLIBC_2.30 gettid F
>  GLIBC_2.30 pthread_cond_clockwait F
>  GLIBC_2.30 pthread_mutex_clocklock F
>  GLIBC_2.30 pthread_rwlock_clockrdlock F
> +GLIBC_2.30 pthread_rwlock_clockwrlock F
>  GLIBC_2.30 tgkill F
>  GLIBC_2.30 twalk_r F
>  GLIBC_2.32 __libc_single_threaded D 0x1
> @@ -2178,6 +2179,7 @@ GLIBC_2.34 pthread_mutexattr_setrobust F
>  GLIBC_2.34 pthread_mutexattr_settype F
>  GLIBC_2.34 pthread_once F
>  GLIBC_2.34 pthread_rwlock_clockrdlock F
> +GLIBC_2.34 pthread_rwlock_clockwrlock F
>  GLIBC_2.34 pthread_rwlock_rdlock F
>  GLIBC_2.34 pthread_rwlock_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
> diff --git a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
> index 689a70cc5e..124ea6fd8e 100644
> --- a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
> @@ -95,7 +95,6 @@ GLIBC_2.3.3 pthread_tryjoin_np F
>  GLIBC_2.3.4 pthread_attr_getaffinity_np F
>  GLIBC_2.3.4 pthread_setaffinity_np F
>  GLIBC_2.3.4 pthread_setschedprio F
> -GLIBC_2.30 pthread_rwlock_clockwrlock F
>  GLIBC_2.30 sem_clockwait F
>  GLIBC_2.31 pthread_clockjoin_np F
>  GLIBC_2.4 __libpthread_version_placeholder F
> diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
> index 7b70261ad6..05e15f9429 100644
> --- a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
> @@ -2243,6 +2243,7 @@ GLIBC_2.30 gettid F
>  GLIBC_2.30 pthread_cond_clockwait F
>  GLIBC_2.30 pthread_mutex_clocklock F
>  GLIBC_2.30 pthread_rwlock_clockrdlock F
> +GLIBC_2.30 pthread_rwlock_clockwrlock F
>  GLIBC_2.30 tgkill F
>  GLIBC_2.30 twalk_r F
>  GLIBC_2.32 __libc_single_threaded D 0x1
> @@ -2310,6 +2311,7 @@ GLIBC_2.34 pthread_mutexattr_setrobust F
>  GLIBC_2.34 pthread_mutexattr_settype F
>  GLIBC_2.34 pthread_once F
>  GLIBC_2.34 pthread_rwlock_clockrdlock F
> +GLIBC_2.34 pthread_rwlock_clockwrlock F
>  GLIBC_2.34 pthread_rwlock_rdlock F
>  GLIBC_2.34 pthread_rwlock_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
> diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
> index bdad9b18c1..9bbc315658 100644
> --- a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
> @@ -105,7 +105,6 @@ GLIBC_2.3.3 pthread_tryjoin_np F
>  GLIBC_2.3.4 pthread_attr_getaffinity_np F
>  GLIBC_2.3.4 pthread_setaffinity_np F
>  GLIBC_2.3.4 pthread_setschedprio F
> -GLIBC_2.30 pthread_rwlock_clockwrlock F
>  GLIBC_2.30 sem_clockwait F
>  GLIBC_2.31 pthread_clockjoin_np F
>  GLIBC_2.4 __libpthread_version_placeholder F
> diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
> index 75197b2cee..4a28393b33 100644
> --- a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
> @@ -2162,6 +2162,7 @@ GLIBC_2.30 gettid F
>  GLIBC_2.30 pthread_cond_clockwait F
>  GLIBC_2.30 pthread_mutex_clocklock F
>  GLIBC_2.30 pthread_rwlock_clockrdlock F
> +GLIBC_2.30 pthread_rwlock_clockwrlock F
>  GLIBC_2.30 tgkill F
>  GLIBC_2.30 twalk_r F
>  GLIBC_2.32 __libc_single_threaded D 0x1
> @@ -2229,6 +2230,7 @@ GLIBC_2.34 pthread_mutexattr_setrobust F
>  GLIBC_2.34 pthread_mutexattr_settype F
>  GLIBC_2.34 pthread_once F
>  GLIBC_2.34 pthread_rwlock_clockrdlock F
> +GLIBC_2.34 pthread_rwlock_clockwrlock F
>  GLIBC_2.34 pthread_rwlock_rdlock F
>  GLIBC_2.34 pthread_rwlock_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
> diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
> index d9af25de90..ad3d8c7fc3 100644
> --- a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
> @@ -97,7 +97,6 @@ GLIBC_2.3.3 pthread_tryjoin_np F
>  GLIBC_2.3.4 pthread_attr_getaffinity_np F
>  GLIBC_2.3.4 pthread_setaffinity_np F
>  GLIBC_2.3.4 pthread_setschedprio F
> -GLIBC_2.30 pthread_rwlock_clockwrlock F
>  GLIBC_2.30 sem_clockwait F
>  GLIBC_2.31 pthread_clockjoin_np F
>  GLIBC_2.4 __libpthread_version_placeholder F
> diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
> index b04db27c56..3693688e5c 100644
> --- a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
> @@ -2121,6 +2121,7 @@ GLIBC_2.30 gettid F
>  GLIBC_2.30 pthread_cond_clockwait F
>  GLIBC_2.30 pthread_mutex_clocklock F
>  GLIBC_2.30 pthread_rwlock_clockrdlock F
> +GLIBC_2.30 pthread_rwlock_clockwrlock F
>  GLIBC_2.30 tgkill F
>  GLIBC_2.30 twalk_r F
>  GLIBC_2.32 __libc_single_threaded D 0x1
> @@ -2190,6 +2191,7 @@ GLIBC_2.34 pthread_mutexattr_setrobust F
>  GLIBC_2.34 pthread_mutexattr_settype F
>  GLIBC_2.34 pthread_once F
>  GLIBC_2.34 pthread_rwlock_clockrdlock F
> +GLIBC_2.34 pthread_rwlock_clockwrlock F
>  GLIBC_2.34 pthread_rwlock_rdlock F
>  GLIBC_2.34 pthread_rwlock_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
> diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
> index b8005f1ec8..d74ddab526 100644
> --- a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
> @@ -94,7 +94,6 @@ GLIBC_2.3.3 pthread_tryjoin_np F
>  GLIBC_2.3.4 pthread_attr_getaffinity_np F
>  GLIBC_2.3.4 pthread_setaffinity_np F
>  GLIBC_2.3.4 pthread_setschedprio F
> -GLIBC_2.30 pthread_rwlock_clockwrlock F
>  GLIBC_2.30 sem_clockwait F
>  GLIBC_2.31 pthread_clockjoin_np F
>  GLIBC_2.4 __libpthread_version_placeholder F
> diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
> index e20f48760f..2fdedeabd9 100644
> --- a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
> @@ -2226,6 +2226,7 @@ GLIBC_2.30 gettid F
>  GLIBC_2.30 pthread_cond_clockwait F
>  GLIBC_2.30 pthread_mutex_clocklock F
>  GLIBC_2.30 pthread_rwlock_clockrdlock F
> +GLIBC_2.30 pthread_rwlock_clockwrlock F
>  GLIBC_2.30 tgkill F
>  GLIBC_2.30 twalk_r F
>  GLIBC_2.32 __libc_single_threaded D 0x1
> @@ -2295,6 +2296,7 @@ GLIBC_2.34 pthread_mutexattr_setrobust F
>  GLIBC_2.34 pthread_mutexattr_settype F
>  GLIBC_2.34 pthread_once F
>  GLIBC_2.34 pthread_rwlock_clockrdlock F
> +GLIBC_2.34 pthread_rwlock_clockwrlock F
>  GLIBC_2.34 pthread_rwlock_rdlock F
>  GLIBC_2.34 pthread_rwlock_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
> diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
> index 0dbe25b684..5c80afcee2 100644
> --- a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
> @@ -90,6 +90,5 @@ GLIBC_2.28 tss_create F
>  GLIBC_2.28 tss_delete F
>  GLIBC_2.28 tss_get F
>  GLIBC_2.28 tss_set F
> -GLIBC_2.30 pthread_rwlock_clockwrlock F
>  GLIBC_2.30 sem_clockwait F
>  GLIBC_2.31 pthread_clockjoin_np F
> 


-- 
Cheers,
Carlos.


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

* Re: [PATCH 03/14] nptl: Move pthread_rwlock_destroy into libc
  2021-04-23 17:37 ` [PATCH 03/14] nptl: Move pthread_rwlock_destroy " Florian Weimer via Libc-alpha
@ 2021-05-02 19:34   ` Carlos O'Donell via Libc-alpha
  0 siblings, 0 replies; 30+ messages in thread
From: Carlos O'Donell via Libc-alpha @ 2021-05-02 19:34 UTC (permalink / raw)
  To: Florian Weimer, libc-alpha

On 4/23/21 1:37 PM, Florian Weimer via Libc-alpha wrote:
> And __pthread_rwlock_destroy as a compatibility symbol.

Tested and reviewed on x86_64 and i686.

LGTM.

Reviewed-by: Carlos O'Donell <carlos@redhat.com>
Tested-by: Carlos O'Donell <carlos@redhat.com>
 
> rwlocks do not need finalization, so change __libc_rwlock_fini to do
> nothing.

OK, *but* this elides a systemtap probe, so it changes the behaviour
a bit, but because this is the internal __libc_* I don't care that we
elide the probe. I care only that the public API has a probe point
that a user knows that their call can be observed by a tracing script.
 
> The symbols were moved using scripts/move-symbol-to-libc.py.
> ---
>  nptl/Makefile                                    |  2 +-
>  nptl/Versions                                    |  5 +++--
>  nptl/pthread_rwlock_destroy.c                    | 16 +++++++++++++---
>  sysdeps/nptl/libc-lockP.h                        |  9 +--------
>  sysdeps/unix/sysv/linux/aarch64/libc.abilist     |  3 +++
>  .../unix/sysv/linux/aarch64/libpthread.abilist   |  2 --
>  sysdeps/unix/sysv/linux/alpha/libc.abilist       |  3 +++
>  sysdeps/unix/sysv/linux/alpha/libpthread.abilist |  2 --
>  sysdeps/unix/sysv/linux/arc/libc.abilist         |  3 +++
>  sysdeps/unix/sysv/linux/arc/libpthread.abilist   |  2 --
>  sysdeps/unix/sysv/linux/arm/be/libc.abilist      |  3 +++
>  .../unix/sysv/linux/arm/be/libpthread.abilist    |  2 --
>  sysdeps/unix/sysv/linux/arm/le/libc.abilist      |  3 +++
>  .../unix/sysv/linux/arm/le/libpthread.abilist    |  2 --
>  sysdeps/unix/sysv/linux/csky/libc.abilist        |  3 +++
>  sysdeps/unix/sysv/linux/csky/libpthread.abilist  |  2 --
>  sysdeps/unix/sysv/linux/hppa/libc.abilist        |  3 +++
>  sysdeps/unix/sysv/linux/hppa/libpthread.abilist  |  2 --
>  sysdeps/unix/sysv/linux/i386/libc.abilist        |  3 +++
>  sysdeps/unix/sysv/linux/i386/libpthread.abilist  |  2 --
>  sysdeps/unix/sysv/linux/ia64/libc.abilist        |  3 +++
>  sysdeps/unix/sysv/linux/ia64/libpthread.abilist  |  2 --
>  .../unix/sysv/linux/m68k/coldfire/libc.abilist   |  3 +++
>  .../sysv/linux/m68k/coldfire/libpthread.abilist  |  2 --
>  sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist |  3 +++
>  .../sysv/linux/m68k/m680x0/libpthread.abilist    |  2 --
>  .../unix/sysv/linux/microblaze/be/libc.abilist   |  3 +++
>  .../sysv/linux/microblaze/be/libpthread.abilist  |  2 --
>  .../unix/sysv/linux/microblaze/le/libc.abilist   |  3 +++
>  .../sysv/linux/microblaze/le/libpthread.abilist  |  2 --
>  .../unix/sysv/linux/mips/mips32/fpu/libc.abilist |  3 +++
>  .../sysv/linux/mips/mips32/libpthread.abilist    |  2 --
>  .../sysv/linux/mips/mips32/nofpu/libc.abilist    |  3 +++
>  .../sysv/linux/mips/mips64/libpthread.abilist    |  2 --
>  .../unix/sysv/linux/mips/mips64/n32/libc.abilist |  3 +++
>  .../unix/sysv/linux/mips/mips64/n64/libc.abilist |  3 +++
>  sysdeps/unix/sysv/linux/nios2/libc.abilist       |  3 +++
>  sysdeps/unix/sysv/linux/nios2/libpthread.abilist |  2 --
>  .../linux/powerpc/powerpc32/fpu/libc.abilist     |  3 +++
>  .../linux/powerpc/powerpc32/libpthread.abilist   |  2 --
>  .../linux/powerpc/powerpc32/nofpu/libc.abilist   |  3 +++
>  .../sysv/linux/powerpc/powerpc64/be/libc.abilist |  3 +++
>  .../powerpc/powerpc64/be/libpthread.abilist      |  2 --
>  .../sysv/linux/powerpc/powerpc64/le/libc.abilist |  3 +++
>  .../powerpc/powerpc64/le/libpthread.abilist      |  2 --
>  sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist  |  3 +++
>  .../sysv/linux/riscv/rv32/libpthread.abilist     |  2 --
>  sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist  |  3 +++
>  .../sysv/linux/riscv/rv64/libpthread.abilist     |  2 --
>  .../unix/sysv/linux/s390/s390-32/libc.abilist    |  3 +++
>  .../sysv/linux/s390/s390-32/libpthread.abilist   |  2 --
>  .../unix/sysv/linux/s390/s390-64/libc.abilist    |  3 +++
>  .../sysv/linux/s390/s390-64/libpthread.abilist   |  2 --
>  sysdeps/unix/sysv/linux/sh/be/libc.abilist       |  3 +++
>  sysdeps/unix/sysv/linux/sh/be/libpthread.abilist |  2 --
>  sysdeps/unix/sysv/linux/sh/le/libc.abilist       |  3 +++
>  sysdeps/unix/sysv/linux/sh/le/libpthread.abilist |  2 --
>  .../unix/sysv/linux/sparc/sparc32/libc.abilist   |  3 +++
>  .../sysv/linux/sparc/sparc32/libpthread.abilist  |  2 --
>  .../unix/sysv/linux/sparc/sparc64/libc.abilist   |  3 +++
>  .../sysv/linux/sparc/sparc64/libpthread.abilist  |  2 --
>  sysdeps/unix/sysv/linux/x86_64/64/libc.abilist   |  3 +++
>  .../unix/sysv/linux/x86_64/64/libpthread.abilist |  2 --
>  sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist  |  3 +++
>  .../sysv/linux/x86_64/x32/libpthread.abilist     |  2 --
>  65 files changed, 114 insertions(+), 72 deletions(-)
> 
> diff --git a/nptl/Makefile b/nptl/Makefile
> index 556a0720cb..37c6513f68 100644
> --- a/nptl/Makefile
> +++ b/nptl/Makefile
> @@ -122,6 +122,7 @@ routines = \
>    pthread_once \
>    pthread_rwlock_clockrdlock \
>    pthread_rwlock_clockwrlock \
> +  pthread_rwlock_destroy \
>    pthread_rwlock_rdlock \
>    pthread_rwlock_unlock \
>    pthread_rwlock_wrlock \
> @@ -180,7 +181,6 @@ libpthread-routines = \
>    pthread_getname \
>    pthread_join \
>    pthread_join_common \
> -  pthread_rwlock_destroy \
>    pthread_rwlock_init \
>    pthread_rwlock_timedrdlock \
>    pthread_rwlock_timedwrlock \
> diff --git a/nptl/Versions b/nptl/Versions
> index 3d092bdcf5..9232a19227 100644
> --- a/nptl/Versions
> +++ b/nptl/Versions
> @@ -66,11 +66,13 @@ libc {
>      pthread_attr_init;
>      pthread_mutexattr_gettype;
>      pthread_mutexattr_settype;
> +    pthread_rwlock_destroy;
>      pthread_rwlock_rdlock;
>      pthread_rwlock_unlock;
>      pthread_rwlock_wrlock;
>    }
>    GLIBC_2.2 {
> +    __pthread_rwlock_destroy;
>      __pthread_rwlock_rdlock;
>      __pthread_rwlock_unlock;
>      __pthread_rwlock_wrlock;
> @@ -184,6 +186,7 @@ libc {
>      pthread_once;
>      pthread_rwlock_clockrdlock;
>      pthread_rwlock_clockwrlock;
> +    pthread_rwlock_destroy;
>      pthread_rwlock_rdlock;
>      pthread_rwlock_unlock;
>      pthread_rwlock_wrlock;
> @@ -277,7 +280,6 @@ libpthread {
>      pthread_attr_setstacksize;
>      pthread_create;
>      pthread_getconcurrency;
> -    pthread_rwlock_destroy;
>      pthread_rwlock_init;
>      pthread_rwlock_tryrdlock;
>      pthread_rwlock_trywrlock;
> @@ -307,7 +309,6 @@ libpthread {
>    }
>  
>    GLIBC_2.2 {
> -    __pthread_rwlock_destroy;
>      __pthread_rwlock_init;
>      __pthread_rwlock_tryrdlock;
>      __pthread_rwlock_trywrlock;
> diff --git a/nptl/pthread_rwlock_destroy.c b/nptl/pthread_rwlock_destroy.c
> index 27725697f7..ebedf298b9 100644
> --- a/nptl/pthread_rwlock_destroy.c
> +++ b/nptl/pthread_rwlock_destroy.c
> @@ -18,14 +18,24 @@
>  
>  #include "pthreadP.h"
>  #include <stap-probe.h>
> -
> +#include <shlib-compat.h>
>  
>  int
> -__pthread_rwlock_destroy (pthread_rwlock_t *rwlock)
> +___pthread_rwlock_destroy (pthread_rwlock_t *rwlock)
>  {
>    LIBC_PROBE (rwlock_destroy, 1, rwlock);
>  
>    /* Nothing to be done.  For now.  */
>    return 0;
>  }
> -strong_alias (__pthread_rwlock_destroy, pthread_rwlock_destroy)
> +versioned_symbol (libc, ___pthread_rwlock_destroy, pthread_rwlock_destroy,
> +                  GLIBC_2_34);
> +
> +#if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_1, GLIBC_2_34)
> +compat_symbol (libpthread, ___pthread_rwlock_destroy, pthread_rwlock_destroy,
> +               GLIBC_2_1);
> +#endif
> +#if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_2, GLIBC_2_34)
> +compat_symbol (libpthread, ___pthread_rwlock_destroy, __pthread_rwlock_destroy,
> +               GLIBC_2_2);
> +#endif
> diff --git a/sysdeps/nptl/libc-lockP.h b/sysdeps/nptl/libc-lockP.h
> index e573689799..07ead8fb9f 100644
> --- a/sysdeps/nptl/libc-lockP.h
> +++ b/sysdeps/nptl/libc-lockP.h
> @@ -131,12 +131,7 @@ _Static_assert (LLL_LOCK_INITIALIZER == 0, "LLL_LOCK_INITIALIZER != 0");
>  #else
>  # define __libc_lock_fini(NAME) __pthread_mutex_destroy (&(NAME))
>  #endif
> -#if defined SHARED && IS_IN (libc)
> -# define __libc_rwlock_fini(NAME) ((void) 0)
> -#else
> -# define __libc_rwlock_fini(NAME) \
> -  __libc_maybe_call (__pthread_rwlock_destroy, (&(NAME)), 0)
> -#endif
> +#define __libc_rwlock_fini(NAME) ((void) 0)
>  
>  /* Lock the named lock variable.  */
>  #if IS_IN (libc) || IS_IN (libpthread)
> @@ -305,7 +300,6 @@ weak_extern (__pthread_mutexattr_init)
>  weak_extern (__pthread_mutexattr_destroy)
>  weak_extern (__pthread_mutexattr_settype)
>  weak_extern (__pthread_rwlock_init)
> -weak_extern (__pthread_rwlock_destroy)
>  weak_extern (__pthread_rwlock_tryrdlock)
>  weak_extern (__pthread_rwlock_trywrlock)
>  weak_extern (__pthread_initialize)
> @@ -315,7 +309,6 @@ weak_extern (__pthread_atfork)
>  #  pragma weak __pthread_mutexattr_init
>  #  pragma weak __pthread_mutexattr_destroy
>  #  pragma weak __pthread_mutexattr_settype
> -#  pragma weak __pthread_rwlock_destroy
>  #  pragma weak __pthread_rwlock_tryrdlock
>  #  pragma weak __pthread_rwlock_trywrlock
>  #  pragma weak __pthread_initialize
> diff --git a/sysdeps/unix/sysv/linux/aarch64/libc.abilist b/sysdeps/unix/sysv/linux/aarch64/libc.abilist
> index 61124dfcce..8e7de61692 100644
> --- a/sysdeps/unix/sysv/linux/aarch64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/aarch64/libc.abilist
> @@ -350,6 +350,7 @@ GLIBC_2.17 __pthread_mutexattr_destroy F
>  GLIBC_2.17 __pthread_mutexattr_init F
>  GLIBC_2.17 __pthread_mutexattr_settype F
>  GLIBC_2.17 __pthread_once F
> +GLIBC_2.17 __pthread_rwlock_destroy F
>  GLIBC_2.17 __pthread_rwlock_rdlock F
>  GLIBC_2.17 __pthread_rwlock_unlock F
>  GLIBC_2.17 __pthread_rwlock_wrlock F
> @@ -1500,6 +1501,7 @@ GLIBC_2.17 pthread_mutexattr_setrobust F
>  GLIBC_2.17 pthread_mutexattr_setrobust_np F
>  GLIBC_2.17 pthread_mutexattr_settype F
>  GLIBC_2.17 pthread_once F
> +GLIBC_2.17 pthread_rwlock_destroy F
>  GLIBC_2.17 pthread_rwlock_rdlock F
>  GLIBC_2.17 pthread_rwlock_unlock F
>  GLIBC_2.17 pthread_rwlock_wrlock F
> @@ -2282,6 +2284,7 @@ GLIBC_2.34 pthread_mutexattr_settype F
>  GLIBC_2.34 pthread_once F
>  GLIBC_2.34 pthread_rwlock_clockrdlock F
>  GLIBC_2.34 pthread_rwlock_clockwrlock F
> +GLIBC_2.34 pthread_rwlock_destroy F
>  GLIBC_2.34 pthread_rwlock_rdlock F
>  GLIBC_2.34 pthread_rwlock_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
> diff --git a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
> index dce7c78508..ebdbdfa867 100644
> --- a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
> @@ -4,7 +4,6 @@ GLIBC_2.17 _IO_funlockfile F
>  GLIBC_2.17 __errno_location F
>  GLIBC_2.17 __pthread_register_cancel F
>  GLIBC_2.17 __pthread_register_cancel_defer F
> -GLIBC_2.17 __pthread_rwlock_destroy F
>  GLIBC_2.17 __pthread_rwlock_init F
>  GLIBC_2.17 __pthread_rwlock_tryrdlock F
>  GLIBC_2.17 __pthread_rwlock_trywrlock F
> @@ -36,7 +35,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_destroy F
>  GLIBC_2.17 pthread_rwlock_init F
>  GLIBC_2.17 pthread_rwlock_timedrdlock F
>  GLIBC_2.17 pthread_rwlock_timedwrlock F
> diff --git a/sysdeps/unix/sysv/linux/alpha/libc.abilist b/sysdeps/unix/sysv/linux/alpha/libc.abilist
> index be5ec9cd87..396c786557 100644
> --- a/sysdeps/unix/sysv/linux/alpha/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/alpha/libc.abilist
> @@ -1606,6 +1606,7 @@ GLIBC_2.1 printf_size_info F
>  GLIBC_2.1 pthread_attr_init F
>  GLIBC_2.1 pthread_mutexattr_gettype F
>  GLIBC_2.1 pthread_mutexattr_settype F
> +GLIBC_2.1 pthread_rwlock_destroy F
>  GLIBC_2.1 pthread_rwlock_rdlock F
>  GLIBC_2.1 pthread_rwlock_unlock F
>  GLIBC_2.1 pthread_rwlock_wrlock F
> @@ -1885,6 +1886,7 @@ GLIBC_2.2 __getmntent_r F
>  GLIBC_2.2 __nl_langinfo_l F
>  GLIBC_2.2 __open64 F
>  GLIBC_2.2 __pread64 F
> +GLIBC_2.2 __pthread_rwlock_destroy F
>  GLIBC_2.2 __pthread_rwlock_rdlock F
>  GLIBC_2.2 __pthread_rwlock_unlock F
>  GLIBC_2.2 __pthread_rwlock_wrlock F
> @@ -2363,6 +2365,7 @@ GLIBC_2.34 pthread_mutexattr_settype F
>  GLIBC_2.34 pthread_once F
>  GLIBC_2.34 pthread_rwlock_clockrdlock F
>  GLIBC_2.34 pthread_rwlock_clockwrlock F
> +GLIBC_2.34 pthread_rwlock_destroy F
>  GLIBC_2.34 pthread_rwlock_rdlock F
>  GLIBC_2.34 pthread_rwlock_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
> diff --git a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
> index 9bbc315658..b80868c5da 100644
> --- a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
> @@ -24,7 +24,6 @@ GLIBC_2.1 pthread_attr_setstackaddr F
>  GLIBC_2.1 pthread_attr_setstacksize F
>  GLIBC_2.1 pthread_create F
>  GLIBC_2.1 pthread_getconcurrency F
> -GLIBC_2.1 pthread_rwlock_destroy F
>  GLIBC_2.1 pthread_rwlock_init F
>  GLIBC_2.1 pthread_rwlock_tryrdlock F
>  GLIBC_2.1 pthread_rwlock_trywrlock F
> @@ -50,7 +49,6 @@ GLIBC_2.12 pthread_getname_np F
>  GLIBC_2.12 pthread_setname_np F
>  GLIBC_2.18 pthread_getattr_default_np F
>  GLIBC_2.18 pthread_setattr_default_np F
> -GLIBC_2.2 __pthread_rwlock_destroy F
>  GLIBC_2.2 __pthread_rwlock_init F
>  GLIBC_2.2 __pthread_rwlock_tryrdlock F
>  GLIBC_2.2 __pthread_rwlock_trywrlock F
> diff --git a/sysdeps/unix/sysv/linux/arc/libc.abilist b/sysdeps/unix/sysv/linux/arc/libc.abilist
> index 6f62c5b62d..832ac4e217 100644
> --- a/sysdeps/unix/sysv/linux/arc/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/arc/libc.abilist
> @@ -339,6 +339,7 @@ GLIBC_2.32 __pthread_mutexattr_destroy F
>  GLIBC_2.32 __pthread_mutexattr_init F
>  GLIBC_2.32 __pthread_mutexattr_settype F
>  GLIBC_2.32 __pthread_once F
> +GLIBC_2.32 __pthread_rwlock_destroy F
>  GLIBC_2.32 __pthread_rwlock_rdlock F
>  GLIBC_2.32 __pthread_rwlock_unlock F
>  GLIBC_2.32 __pthread_rwlock_wrlock F
> @@ -1430,6 +1431,7 @@ GLIBC_2.32 pthread_mutexattr_settype F
>  GLIBC_2.32 pthread_once F
>  GLIBC_2.32 pthread_rwlock_clockrdlock F
>  GLIBC_2.32 pthread_rwlock_clockwrlock F
> +GLIBC_2.32 pthread_rwlock_destroy F
>  GLIBC_2.32 pthread_rwlock_rdlock F
>  GLIBC_2.32 pthread_rwlock_unlock F
>  GLIBC_2.32 pthread_rwlock_wrlock F
> @@ -2041,6 +2043,7 @@ GLIBC_2.34 pthread_mutexattr_settype F
>  GLIBC_2.34 pthread_once F
>  GLIBC_2.34 pthread_rwlock_clockrdlock F
>  GLIBC_2.34 pthread_rwlock_clockwrlock F
> +GLIBC_2.34 pthread_rwlock_destroy F
>  GLIBC_2.34 pthread_rwlock_rdlock F
>  GLIBC_2.34 pthread_rwlock_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
> diff --git a/sysdeps/unix/sysv/linux/arc/libpthread.abilist b/sysdeps/unix/sysv/linux/arc/libpthread.abilist
> index 7e336f8242..0d819a63b1 100644
> --- a/sysdeps/unix/sysv/linux/arc/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/arc/libpthread.abilist
> @@ -4,7 +4,6 @@ GLIBC_2.32 _IO_funlockfile F
>  GLIBC_2.32 __errno_location F
>  GLIBC_2.32 __pthread_register_cancel F
>  GLIBC_2.32 __pthread_register_cancel_defer F
> -GLIBC_2.32 __pthread_rwlock_destroy F
>  GLIBC_2.32 __pthread_rwlock_init F
>  GLIBC_2.32 __pthread_rwlock_tryrdlock F
>  GLIBC_2.32 __pthread_rwlock_trywrlock F
> @@ -51,7 +50,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_destroy F
>  GLIBC_2.32 pthread_rwlock_init F
>  GLIBC_2.32 pthread_rwlock_timedrdlock F
>  GLIBC_2.32 pthread_rwlock_timedwrlock F
> diff --git a/sysdeps/unix/sysv/linux/arm/be/libc.abilist b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
> index 9310982698..dcba73cb45 100644
> --- a/sysdeps/unix/sysv/linux/arm/be/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
> @@ -206,6 +206,7 @@ GLIBC_2.34 pthread_mutexattr_settype F
>  GLIBC_2.34 pthread_once F
>  GLIBC_2.34 pthread_rwlock_clockrdlock F
>  GLIBC_2.34 pthread_rwlock_clockwrlock F
> +GLIBC_2.34 pthread_rwlock_destroy F
>  GLIBC_2.34 pthread_rwlock_rdlock F
>  GLIBC_2.34 pthread_rwlock_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
> @@ -554,6 +555,7 @@ GLIBC_2.4 __pthread_mutexattr_destroy F
>  GLIBC_2.4 __pthread_mutexattr_init F
>  GLIBC_2.4 __pthread_mutexattr_settype F
>  GLIBC_2.4 __pthread_once F
> +GLIBC_2.4 __pthread_rwlock_destroy F
>  GLIBC_2.4 __pthread_rwlock_rdlock F
>  GLIBC_2.4 __pthread_rwlock_unlock F
>  GLIBC_2.4 __pthread_rwlock_wrlock F
> @@ -1648,6 +1650,7 @@ GLIBC_2.4 pthread_mutexattr_setpshared F
>  GLIBC_2.4 pthread_mutexattr_setrobust_np F
>  GLIBC_2.4 pthread_mutexattr_settype F
>  GLIBC_2.4 pthread_once F
> +GLIBC_2.4 pthread_rwlock_destroy F
>  GLIBC_2.4 pthread_rwlock_rdlock F
>  GLIBC_2.4 pthread_rwlock_unlock F
>  GLIBC_2.4 pthread_rwlock_wrlock F
> diff --git a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
> index 6d01194e39..85d9816c4e 100644
> --- a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
> @@ -33,7 +33,6 @@ GLIBC_2.4 __errno_location F
>  GLIBC_2.4 __libpthread_version_placeholder F
>  GLIBC_2.4 __pthread_register_cancel F
>  GLIBC_2.4 __pthread_register_cancel_defer F
> -GLIBC_2.4 __pthread_rwlock_destroy F
>  GLIBC_2.4 __pthread_rwlock_init F
>  GLIBC_2.4 __pthread_rwlock_tryrdlock F
>  GLIBC_2.4 __pthread_rwlock_trywrlock F
> @@ -64,7 +63,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_destroy F
>  GLIBC_2.4 pthread_rwlock_init F
>  GLIBC_2.4 pthread_rwlock_timedrdlock F
>  GLIBC_2.4 pthread_rwlock_timedwrlock F
> diff --git a/sysdeps/unix/sysv/linux/arm/le/libc.abilist b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
> index 8fa52e60f5..d401b85fc9 100644
> --- a/sysdeps/unix/sysv/linux/arm/le/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
> @@ -203,6 +203,7 @@ GLIBC_2.34 pthread_mutexattr_settype F
>  GLIBC_2.34 pthread_once F
>  GLIBC_2.34 pthread_rwlock_clockrdlock F
>  GLIBC_2.34 pthread_rwlock_clockwrlock F
> +GLIBC_2.34 pthread_rwlock_destroy F
>  GLIBC_2.34 pthread_rwlock_rdlock F
>  GLIBC_2.34 pthread_rwlock_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
> @@ -551,6 +552,7 @@ GLIBC_2.4 __pthread_mutexattr_destroy F
>  GLIBC_2.4 __pthread_mutexattr_init F
>  GLIBC_2.4 __pthread_mutexattr_settype F
>  GLIBC_2.4 __pthread_once F
> +GLIBC_2.4 __pthread_rwlock_destroy F
>  GLIBC_2.4 __pthread_rwlock_rdlock F
>  GLIBC_2.4 __pthread_rwlock_unlock F
>  GLIBC_2.4 __pthread_rwlock_wrlock F
> @@ -1645,6 +1647,7 @@ GLIBC_2.4 pthread_mutexattr_setpshared F
>  GLIBC_2.4 pthread_mutexattr_setrobust_np F
>  GLIBC_2.4 pthread_mutexattr_settype F
>  GLIBC_2.4 pthread_once F
> +GLIBC_2.4 pthread_rwlock_destroy F
>  GLIBC_2.4 pthread_rwlock_rdlock F
>  GLIBC_2.4 pthread_rwlock_unlock F
>  GLIBC_2.4 pthread_rwlock_wrlock F
> diff --git a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
> index 6d01194e39..85d9816c4e 100644
> --- a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
> @@ -33,7 +33,6 @@ GLIBC_2.4 __errno_location F
>  GLIBC_2.4 __libpthread_version_placeholder F
>  GLIBC_2.4 __pthread_register_cancel F
>  GLIBC_2.4 __pthread_register_cancel_defer F
> -GLIBC_2.4 __pthread_rwlock_destroy F
>  GLIBC_2.4 __pthread_rwlock_init F
>  GLIBC_2.4 __pthread_rwlock_tryrdlock F
>  GLIBC_2.4 __pthread_rwlock_trywrlock F
> @@ -64,7 +63,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_destroy F
>  GLIBC_2.4 pthread_rwlock_init F
>  GLIBC_2.4 pthread_rwlock_timedrdlock F
>  GLIBC_2.4 pthread_rwlock_timedwrlock F
> diff --git a/sysdeps/unix/sysv/linux/csky/libc.abilist b/sysdeps/unix/sysv/linux/csky/libc.abilist
> index 8ef5e0d0e2..a99d18b478 100644
> --- a/sysdeps/unix/sysv/linux/csky/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/csky/libc.abilist
> @@ -343,6 +343,7 @@ GLIBC_2.29 __pthread_mutexattr_destroy F
>  GLIBC_2.29 __pthread_mutexattr_init F
>  GLIBC_2.29 __pthread_mutexattr_settype F
>  GLIBC_2.29 __pthread_once F
> +GLIBC_2.29 __pthread_rwlock_destroy F
>  GLIBC_2.29 __pthread_rwlock_rdlock F
>  GLIBC_2.29 __pthread_rwlock_unlock F
>  GLIBC_2.29 __pthread_rwlock_wrlock F
> @@ -1487,6 +1488,7 @@ GLIBC_2.29 pthread_mutexattr_setrobust F
>  GLIBC_2.29 pthread_mutexattr_setrobust_np F
>  GLIBC_2.29 pthread_mutexattr_settype F
>  GLIBC_2.29 pthread_once F
> +GLIBC_2.29 pthread_rwlock_destroy F
>  GLIBC_2.29 pthread_rwlock_rdlock F
>  GLIBC_2.29 pthread_rwlock_unlock F
>  GLIBC_2.29 pthread_rwlock_wrlock F
> @@ -2225,6 +2227,7 @@ GLIBC_2.34 pthread_mutexattr_settype F
>  GLIBC_2.34 pthread_once F
>  GLIBC_2.34 pthread_rwlock_clockrdlock F
>  GLIBC_2.34 pthread_rwlock_clockwrlock F
> +GLIBC_2.34 pthread_rwlock_destroy F
>  GLIBC_2.34 pthread_rwlock_rdlock F
>  GLIBC_2.34 pthread_rwlock_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
> diff --git a/sysdeps/unix/sysv/linux/csky/libpthread.abilist b/sysdeps/unix/sysv/linux/csky/libpthread.abilist
> index 3cefbb7fdb..21d9318f9a 100644
> --- a/sysdeps/unix/sysv/linux/csky/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/csky/libpthread.abilist
> @@ -4,7 +4,6 @@ GLIBC_2.29 _IO_funlockfile F
>  GLIBC_2.29 __errno_location F
>  GLIBC_2.29 __pthread_register_cancel F
>  GLIBC_2.29 __pthread_register_cancel_defer F
> -GLIBC_2.29 __pthread_rwlock_destroy F
>  GLIBC_2.29 __pthread_rwlock_init F
>  GLIBC_2.29 __pthread_rwlock_tryrdlock F
>  GLIBC_2.29 __pthread_rwlock_trywrlock F
> @@ -50,7 +49,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_destroy F
>  GLIBC_2.29 pthread_rwlock_init F
>  GLIBC_2.29 pthread_rwlock_timedrdlock F
>  GLIBC_2.29 pthread_rwlock_timedwrlock F
> diff --git a/sysdeps/unix/sysv/linux/hppa/libc.abilist b/sysdeps/unix/sysv/linux/hppa/libc.abilist
> index b7613795c8..7d0c716a6d 100644
> --- a/sysdeps/unix/sysv/linux/hppa/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/hppa/libc.abilist
> @@ -369,6 +369,7 @@ GLIBC_2.2 __pthread_mutexattr_destroy F
>  GLIBC_2.2 __pthread_mutexattr_init F
>  GLIBC_2.2 __pthread_mutexattr_settype F
>  GLIBC_2.2 __pthread_once F
> +GLIBC_2.2 __pthread_rwlock_destroy F
>  GLIBC_2.2 __pthread_rwlock_rdlock F
>  GLIBC_2.2 __pthread_rwlock_unlock F
>  GLIBC_2.2 __pthread_rwlock_wrlock F
> @@ -1311,6 +1312,7 @@ GLIBC_2.2 pthread_mutexattr_setkind_np F
>  GLIBC_2.2 pthread_mutexattr_setpshared F
>  GLIBC_2.2 pthread_mutexattr_settype F
>  GLIBC_2.2 pthread_once F
> +GLIBC_2.2 pthread_rwlock_destroy F
>  GLIBC_2.2 pthread_rwlock_rdlock F
>  GLIBC_2.2 pthread_rwlock_unlock F
>  GLIBC_2.2 pthread_rwlock_wrlock F
> @@ -2176,6 +2178,7 @@ GLIBC_2.34 pthread_mutexattr_settype F
>  GLIBC_2.34 pthread_once F
>  GLIBC_2.34 pthread_rwlock_clockrdlock F
>  GLIBC_2.34 pthread_rwlock_clockwrlock F
> +GLIBC_2.34 pthread_rwlock_destroy F
>  GLIBC_2.34 pthread_rwlock_rdlock F
>  GLIBC_2.34 pthread_rwlock_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
> diff --git a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
> index 124ea6fd8e..82bc0321f5 100644
> --- a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
> @@ -7,7 +7,6 @@ GLIBC_2.2 _IO_flockfile F
>  GLIBC_2.2 _IO_ftrylockfile F
>  GLIBC_2.2 _IO_funlockfile F
>  GLIBC_2.2 __errno_location F
> -GLIBC_2.2 __pthread_rwlock_destroy F
>  GLIBC_2.2 __pthread_rwlock_init F
>  GLIBC_2.2 __pthread_rwlock_tryrdlock F
>  GLIBC_2.2 __pthread_rwlock_trywrlock F
> @@ -34,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_destroy F
>  GLIBC_2.2 pthread_rwlock_init F
>  GLIBC_2.2 pthread_rwlock_timedrdlock F
>  GLIBC_2.2 pthread_rwlock_timedwrlock F
> diff --git a/sysdeps/unix/sysv/linux/i386/libc.abilist b/sysdeps/unix/sysv/linux/i386/libc.abilist
> index 6403969f65..906baf44bf 100644
> --- a/sysdeps/unix/sysv/linux/i386/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/i386/libc.abilist
> @@ -1574,6 +1574,7 @@ GLIBC_2.1 printf_size_info F
>  GLIBC_2.1 pthread_attr_init F
>  GLIBC_2.1 pthread_mutexattr_gettype F
>  GLIBC_2.1 pthread_mutexattr_settype F
> +GLIBC_2.1 pthread_rwlock_destroy F
>  GLIBC_2.1 pthread_rwlock_rdlock F
>  GLIBC_2.1 pthread_rwlock_unlock F
>  GLIBC_2.1 pthread_rwlock_wrlock F
> @@ -1889,6 +1890,7 @@ GLIBC_2.2 __lxstat64 F
>  GLIBC_2.2 __nl_langinfo_l F
>  GLIBC_2.2 __open64 F
>  GLIBC_2.2 __pread64 F
> +GLIBC_2.2 __pthread_rwlock_destroy F
>  GLIBC_2.2 __pthread_rwlock_rdlock F
>  GLIBC_2.2 __pthread_rwlock_unlock F
>  GLIBC_2.2 __pthread_rwlock_wrlock F
> @@ -2353,6 +2355,7 @@ GLIBC_2.34 pthread_mutexattr_settype F
>  GLIBC_2.34 pthread_once F
>  GLIBC_2.34 pthread_rwlock_clockrdlock F
>  GLIBC_2.34 pthread_rwlock_clockwrlock F
> +GLIBC_2.34 pthread_rwlock_destroy F
>  GLIBC_2.34 pthread_rwlock_rdlock F
>  GLIBC_2.34 pthread_rwlock_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
> diff --git a/sysdeps/unix/sysv/linux/i386/libpthread.abilist b/sysdeps/unix/sysv/linux/i386/libpthread.abilist
> index 54aee29fdc..ad2e81096d 100644
> --- a/sysdeps/unix/sysv/linux/i386/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/i386/libpthread.abilist
> @@ -24,7 +24,6 @@ GLIBC_2.1 pthread_attr_setstackaddr F
>  GLIBC_2.1 pthread_attr_setstacksize F
>  GLIBC_2.1 pthread_create F
>  GLIBC_2.1 pthread_getconcurrency F
> -GLIBC_2.1 pthread_rwlock_destroy F
>  GLIBC_2.1 pthread_rwlock_init F
>  GLIBC_2.1 pthread_rwlock_tryrdlock F
>  GLIBC_2.1 pthread_rwlock_trywrlock F
> @@ -50,7 +49,6 @@ GLIBC_2.12 pthread_getname_np F
>  GLIBC_2.12 pthread_setname_np F
>  GLIBC_2.18 pthread_getattr_default_np F
>  GLIBC_2.18 pthread_setattr_default_np F
> -GLIBC_2.2 __pthread_rwlock_destroy F
>  GLIBC_2.2 __pthread_rwlock_init F
>  GLIBC_2.2 __pthread_rwlock_tryrdlock F
>  GLIBC_2.2 __pthread_rwlock_trywrlock F
> diff --git a/sysdeps/unix/sysv/linux/ia64/libc.abilist b/sysdeps/unix/sysv/linux/ia64/libc.abilist
> index 9faf458393..f92ae402f9 100644
> --- a/sysdeps/unix/sysv/linux/ia64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/ia64/libc.abilist
> @@ -373,6 +373,7 @@ GLIBC_2.2 __pthread_mutexattr_destroy F
>  GLIBC_2.2 __pthread_mutexattr_init F
>  GLIBC_2.2 __pthread_mutexattr_settype F
>  GLIBC_2.2 __pthread_once F
> +GLIBC_2.2 __pthread_rwlock_destroy F
>  GLIBC_2.2 __pthread_rwlock_rdlock F
>  GLIBC_2.2 __pthread_rwlock_unlock F
>  GLIBC_2.2 __pthread_rwlock_wrlock F
> @@ -1332,6 +1333,7 @@ GLIBC_2.2 pthread_mutexattr_setkind_np F
>  GLIBC_2.2 pthread_mutexattr_setpshared F
>  GLIBC_2.2 pthread_mutexattr_settype F
>  GLIBC_2.2 pthread_once F
> +GLIBC_2.2 pthread_rwlock_destroy F
>  GLIBC_2.2 pthread_rwlock_rdlock F
>  GLIBC_2.2 pthread_rwlock_unlock F
>  GLIBC_2.2 pthread_rwlock_wrlock F
> @@ -2210,6 +2212,7 @@ GLIBC_2.34 pthread_mutexattr_settype F
>  GLIBC_2.34 pthread_once F
>  GLIBC_2.34 pthread_rwlock_clockrdlock F
>  GLIBC_2.34 pthread_rwlock_clockwrlock F
> +GLIBC_2.34 pthread_rwlock_destroy F
>  GLIBC_2.34 pthread_rwlock_rdlock F
>  GLIBC_2.34 pthread_rwlock_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
> diff --git a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
> index ad3d8c7fc3..6d11adb7da 100644
> --- a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
> @@ -7,7 +7,6 @@ GLIBC_2.2 _IO_flockfile F
>  GLIBC_2.2 _IO_ftrylockfile F
>  GLIBC_2.2 _IO_funlockfile F
>  GLIBC_2.2 __errno_location F
> -GLIBC_2.2 __pthread_rwlock_destroy F
>  GLIBC_2.2 __pthread_rwlock_init F
>  GLIBC_2.2 __pthread_rwlock_tryrdlock F
>  GLIBC_2.2 __pthread_rwlock_trywrlock F
> @@ -34,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_destroy F
>  GLIBC_2.2 pthread_rwlock_init F
>  GLIBC_2.2 pthread_rwlock_timedrdlock F
>  GLIBC_2.2 pthread_rwlock_timedwrlock F
> diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
> index 0063f78a4f..cb6bd2ec33 100644
> --- a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
> @@ -207,6 +207,7 @@ GLIBC_2.34 pthread_mutexattr_settype F
>  GLIBC_2.34 pthread_once F
>  GLIBC_2.34 pthread_rwlock_clockrdlock F
>  GLIBC_2.34 pthread_rwlock_clockwrlock F
> +GLIBC_2.34 pthread_rwlock_destroy F
>  GLIBC_2.34 pthread_rwlock_rdlock F
>  GLIBC_2.34 pthread_rwlock_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
> @@ -540,6 +541,7 @@ GLIBC_2.4 __pthread_mutexattr_destroy F
>  GLIBC_2.4 __pthread_mutexattr_init F
>  GLIBC_2.4 __pthread_mutexattr_settype F
>  GLIBC_2.4 __pthread_once F
> +GLIBC_2.4 __pthread_rwlock_destroy F
>  GLIBC_2.4 __pthread_rwlock_rdlock F
>  GLIBC_2.4 __pthread_rwlock_unlock F
>  GLIBC_2.4 __pthread_rwlock_wrlock F
> @@ -1628,6 +1630,7 @@ GLIBC_2.4 pthread_mutexattr_setpshared F
>  GLIBC_2.4 pthread_mutexattr_setrobust_np F
>  GLIBC_2.4 pthread_mutexattr_settype F
>  GLIBC_2.4 pthread_once F
> +GLIBC_2.4 pthread_rwlock_destroy F
>  GLIBC_2.4 pthread_rwlock_rdlock F
>  GLIBC_2.4 pthread_rwlock_unlock F
>  GLIBC_2.4 pthread_rwlock_wrlock F
> diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
> index 6d01194e39..85d9816c4e 100644
> --- a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
> @@ -33,7 +33,6 @@ GLIBC_2.4 __errno_location F
>  GLIBC_2.4 __libpthread_version_placeholder F
>  GLIBC_2.4 __pthread_register_cancel F
>  GLIBC_2.4 __pthread_register_cancel_defer F
> -GLIBC_2.4 __pthread_rwlock_destroy F
>  GLIBC_2.4 __pthread_rwlock_init F
>  GLIBC_2.4 __pthread_rwlock_tryrdlock F
>  GLIBC_2.4 __pthread_rwlock_trywrlock F
> @@ -64,7 +63,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_destroy F
>  GLIBC_2.4 pthread_rwlock_init F
>  GLIBC_2.4 pthread_rwlock_timedrdlock F
>  GLIBC_2.4 pthread_rwlock_timedwrlock F
> diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
> index a5f9727b77..5e1c0c5f92 100644
> --- a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
> @@ -1570,6 +1570,7 @@ GLIBC_2.1 printf_size_info F
>  GLIBC_2.1 pthread_attr_init F
>  GLIBC_2.1 pthread_mutexattr_gettype F
>  GLIBC_2.1 pthread_mutexattr_settype F
> +GLIBC_2.1 pthread_rwlock_destroy F
>  GLIBC_2.1 pthread_rwlock_rdlock F
>  GLIBC_2.1 pthread_rwlock_unlock F
>  GLIBC_2.1 pthread_rwlock_wrlock F
> @@ -1845,6 +1846,7 @@ GLIBC_2.2 __lxstat64 F
>  GLIBC_2.2 __nl_langinfo_l F
>  GLIBC_2.2 __open64 F
>  GLIBC_2.2 __pread64 F
> +GLIBC_2.2 __pthread_rwlock_destroy F
>  GLIBC_2.2 __pthread_rwlock_rdlock F
>  GLIBC_2.2 __pthread_rwlock_unlock F
>  GLIBC_2.2 __pthread_rwlock_wrlock F
> @@ -2296,6 +2298,7 @@ GLIBC_2.34 pthread_mutexattr_settype F
>  GLIBC_2.34 pthread_once F
>  GLIBC_2.34 pthread_rwlock_clockrdlock F
>  GLIBC_2.34 pthread_rwlock_clockwrlock F
> +GLIBC_2.34 pthread_rwlock_destroy F
>  GLIBC_2.34 pthread_rwlock_rdlock F
>  GLIBC_2.34 pthread_rwlock_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
> diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
> index 54aee29fdc..ad2e81096d 100644
> --- a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
> @@ -24,7 +24,6 @@ GLIBC_2.1 pthread_attr_setstackaddr F
>  GLIBC_2.1 pthread_attr_setstacksize F
>  GLIBC_2.1 pthread_create F
>  GLIBC_2.1 pthread_getconcurrency F
> -GLIBC_2.1 pthread_rwlock_destroy F
>  GLIBC_2.1 pthread_rwlock_init F
>  GLIBC_2.1 pthread_rwlock_tryrdlock F
>  GLIBC_2.1 pthread_rwlock_trywrlock F
> @@ -50,7 +49,6 @@ GLIBC_2.12 pthread_getname_np F
>  GLIBC_2.12 pthread_setname_np F
>  GLIBC_2.18 pthread_getattr_default_np F
>  GLIBC_2.18 pthread_setattr_default_np F
> -GLIBC_2.2 __pthread_rwlock_destroy F
>  GLIBC_2.2 __pthread_rwlock_init F
>  GLIBC_2.2 __pthread_rwlock_tryrdlock F
>  GLIBC_2.2 __pthread_rwlock_trywrlock F
> diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
> index 73d493e36f..824dea1e05 100644
> --- a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
> @@ -351,6 +351,7 @@ GLIBC_2.18 __pthread_mutexattr_destroy F
>  GLIBC_2.18 __pthread_mutexattr_init F
>  GLIBC_2.18 __pthread_mutexattr_settype F
>  GLIBC_2.18 __pthread_once F
> +GLIBC_2.18 __pthread_rwlock_destroy F
>  GLIBC_2.18 __pthread_rwlock_rdlock F
>  GLIBC_2.18 __pthread_rwlock_unlock F
>  GLIBC_2.18 __pthread_rwlock_wrlock F
> @@ -1502,6 +1503,7 @@ GLIBC_2.18 pthread_mutexattr_setrobust F
>  GLIBC_2.18 pthread_mutexattr_setrobust_np F
>  GLIBC_2.18 pthread_mutexattr_settype F
>  GLIBC_2.18 pthread_once F
> +GLIBC_2.18 pthread_rwlock_destroy F
>  GLIBC_2.18 pthread_rwlock_rdlock F
>  GLIBC_2.18 pthread_rwlock_unlock F
>  GLIBC_2.18 pthread_rwlock_wrlock F
> @@ -2276,6 +2278,7 @@ GLIBC_2.34 pthread_mutexattr_settype F
>  GLIBC_2.34 pthread_once F
>  GLIBC_2.34 pthread_rwlock_clockrdlock F
>  GLIBC_2.34 pthread_rwlock_clockwrlock F
> +GLIBC_2.34 pthread_rwlock_destroy F
>  GLIBC_2.34 pthread_rwlock_rdlock F
>  GLIBC_2.34 pthread_rwlock_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
> diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
> index 489622d126..7d0c9cf145 100644
> --- a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
> @@ -4,7 +4,6 @@ GLIBC_2.18 _IO_funlockfile F
>  GLIBC_2.18 __errno_location F
>  GLIBC_2.18 __pthread_register_cancel F
>  GLIBC_2.18 __pthread_register_cancel_defer F
> -GLIBC_2.18 __pthread_rwlock_destroy F
>  GLIBC_2.18 __pthread_rwlock_init F
>  GLIBC_2.18 __pthread_rwlock_tryrdlock F
>  GLIBC_2.18 __pthread_rwlock_trywrlock F
> @@ -37,7 +36,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_destroy F
>  GLIBC_2.18 pthread_rwlock_init F
>  GLIBC_2.18 pthread_rwlock_timedrdlock F
>  GLIBC_2.18 pthread_rwlock_timedwrlock F
> diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
> index c683536a9a..177bd7f5e4 100644
> --- a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
> @@ -351,6 +351,7 @@ GLIBC_2.18 __pthread_mutexattr_destroy F
>  GLIBC_2.18 __pthread_mutexattr_init F
>  GLIBC_2.18 __pthread_mutexattr_settype F
>  GLIBC_2.18 __pthread_once F
> +GLIBC_2.18 __pthread_rwlock_destroy F
>  GLIBC_2.18 __pthread_rwlock_rdlock F
>  GLIBC_2.18 __pthread_rwlock_unlock F
>  GLIBC_2.18 __pthread_rwlock_wrlock F
> @@ -1502,6 +1503,7 @@ GLIBC_2.18 pthread_mutexattr_setrobust F
>  GLIBC_2.18 pthread_mutexattr_setrobust_np F
>  GLIBC_2.18 pthread_mutexattr_settype F
>  GLIBC_2.18 pthread_once F
> +GLIBC_2.18 pthread_rwlock_destroy F
>  GLIBC_2.18 pthread_rwlock_rdlock F
>  GLIBC_2.18 pthread_rwlock_unlock F
>  GLIBC_2.18 pthread_rwlock_wrlock F
> @@ -2273,6 +2275,7 @@ GLIBC_2.34 pthread_mutexattr_settype F
>  GLIBC_2.34 pthread_once F
>  GLIBC_2.34 pthread_rwlock_clockrdlock F
>  GLIBC_2.34 pthread_rwlock_clockwrlock F
> +GLIBC_2.34 pthread_rwlock_destroy F
>  GLIBC_2.34 pthread_rwlock_rdlock F
>  GLIBC_2.34 pthread_rwlock_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
> diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
> index 489622d126..7d0c9cf145 100644
> --- a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
> @@ -4,7 +4,6 @@ GLIBC_2.18 _IO_funlockfile F
>  GLIBC_2.18 __errno_location F
>  GLIBC_2.18 __pthread_register_cancel F
>  GLIBC_2.18 __pthread_register_cancel_defer F
> -GLIBC_2.18 __pthread_rwlock_destroy F
>  GLIBC_2.18 __pthread_rwlock_init F
>  GLIBC_2.18 __pthread_rwlock_tryrdlock F
>  GLIBC_2.18 __pthread_rwlock_trywrlock F
> @@ -37,7 +36,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_destroy F
>  GLIBC_2.18 pthread_rwlock_init F
>  GLIBC_2.18 pthread_rwlock_timedrdlock F
>  GLIBC_2.18 pthread_rwlock_timedwrlock F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
> index 655cb225c2..db80dbe227 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
> @@ -1544,6 +1544,7 @@ GLIBC_2.2 __nl_langinfo_l F
>  GLIBC_2.2 __open64 F
>  GLIBC_2.2 __poll F
>  GLIBC_2.2 __pread64 F
> +GLIBC_2.2 __pthread_rwlock_destroy F
>  GLIBC_2.2 __pthread_rwlock_rdlock F
>  GLIBC_2.2 __pthread_rwlock_unlock F
>  GLIBC_2.2 __pthread_rwlock_wrlock F
> @@ -1841,6 +1842,7 @@ GLIBC_2.2 pthread_mutexattr_getpshared F
>  GLIBC_2.2 pthread_mutexattr_gettype F
>  GLIBC_2.2 pthread_mutexattr_setpshared F
>  GLIBC_2.2 pthread_mutexattr_settype F
> +GLIBC_2.2 pthread_rwlock_destroy F
>  GLIBC_2.2 pthread_rwlock_rdlock F
>  GLIBC_2.2 pthread_rwlock_unlock F
>  GLIBC_2.2 pthread_rwlock_wrlock F
> @@ -2259,6 +2261,7 @@ GLIBC_2.34 pthread_mutexattr_settype F
>  GLIBC_2.34 pthread_once F
>  GLIBC_2.34 pthread_rwlock_clockrdlock F
>  GLIBC_2.34 pthread_rwlock_clockwrlock F
> +GLIBC_2.34 pthread_rwlock_destroy F
>  GLIBC_2.34 pthread_rwlock_rdlock F
>  GLIBC_2.34 pthread_rwlock_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
> index feaafc6ced..14e375c8da 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
> @@ -21,7 +21,6 @@ GLIBC_2.12 pthread_getname_np F
>  GLIBC_2.12 pthread_setname_np F
>  GLIBC_2.18 pthread_getattr_default_np F
>  GLIBC_2.18 pthread_setattr_default_np F
> -GLIBC_2.2 __pthread_rwlock_destroy F
>  GLIBC_2.2 __pthread_rwlock_init F
>  GLIBC_2.2 __pthread_rwlock_tryrdlock F
>  GLIBC_2.2 __pthread_rwlock_trywrlock F
> @@ -42,7 +41,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_destroy F
>  GLIBC_2.2 pthread_rwlock_init F
>  GLIBC_2.2 pthread_rwlock_timedrdlock F
>  GLIBC_2.2 pthread_rwlock_timedwrlock F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
> index 3c16f8b783..46fbef56f2 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
> @@ -1542,6 +1542,7 @@ GLIBC_2.2 __nl_langinfo_l F
>  GLIBC_2.2 __open64 F
>  GLIBC_2.2 __poll F
>  GLIBC_2.2 __pread64 F
> +GLIBC_2.2 __pthread_rwlock_destroy F
>  GLIBC_2.2 __pthread_rwlock_rdlock F
>  GLIBC_2.2 __pthread_rwlock_unlock F
>  GLIBC_2.2 __pthread_rwlock_wrlock F
> @@ -1839,6 +1840,7 @@ GLIBC_2.2 pthread_mutexattr_getpshared F
>  GLIBC_2.2 pthread_mutexattr_gettype F
>  GLIBC_2.2 pthread_mutexattr_setpshared F
>  GLIBC_2.2 pthread_mutexattr_settype F
> +GLIBC_2.2 pthread_rwlock_destroy F
>  GLIBC_2.2 pthread_rwlock_rdlock F
>  GLIBC_2.2 pthread_rwlock_unlock F
>  GLIBC_2.2 pthread_rwlock_wrlock F
> @@ -2257,6 +2259,7 @@ GLIBC_2.34 pthread_mutexattr_settype F
>  GLIBC_2.34 pthread_once F
>  GLIBC_2.34 pthread_rwlock_clockrdlock F
>  GLIBC_2.34 pthread_rwlock_clockwrlock F
> +GLIBC_2.34 pthread_rwlock_destroy F
>  GLIBC_2.34 pthread_rwlock_rdlock F
>  GLIBC_2.34 pthread_rwlock_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
> index feaafc6ced..14e375c8da 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
> @@ -21,7 +21,6 @@ GLIBC_2.12 pthread_getname_np F
>  GLIBC_2.12 pthread_setname_np F
>  GLIBC_2.18 pthread_getattr_default_np F
>  GLIBC_2.18 pthread_setattr_default_np F
> -GLIBC_2.2 __pthread_rwlock_destroy F
>  GLIBC_2.2 __pthread_rwlock_init F
>  GLIBC_2.2 __pthread_rwlock_tryrdlock F
>  GLIBC_2.2 __pthread_rwlock_trywrlock F
> @@ -42,7 +41,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_destroy F
>  GLIBC_2.2 pthread_rwlock_init F
>  GLIBC_2.2 pthread_rwlock_timedrdlock F
>  GLIBC_2.2 pthread_rwlock_timedwrlock F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
> index a7988b98a4..02b3a04e1d 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
> @@ -1542,6 +1542,7 @@ GLIBC_2.2 __nl_langinfo_l F
>  GLIBC_2.2 __open64 F
>  GLIBC_2.2 __poll F
>  GLIBC_2.2 __pread64 F
> +GLIBC_2.2 __pthread_rwlock_destroy F
>  GLIBC_2.2 __pthread_rwlock_rdlock F
>  GLIBC_2.2 __pthread_rwlock_unlock F
>  GLIBC_2.2 __pthread_rwlock_wrlock F
> @@ -1839,6 +1840,7 @@ GLIBC_2.2 pthread_mutexattr_getpshared F
>  GLIBC_2.2 pthread_mutexattr_gettype F
>  GLIBC_2.2 pthread_mutexattr_setpshared F
>  GLIBC_2.2 pthread_mutexattr_settype F
> +GLIBC_2.2 pthread_rwlock_destroy F
>  GLIBC_2.2 pthread_rwlock_rdlock F
>  GLIBC_2.2 pthread_rwlock_unlock F
>  GLIBC_2.2 pthread_rwlock_wrlock F
> @@ -2265,6 +2267,7 @@ GLIBC_2.34 pthread_mutexattr_settype F
>  GLIBC_2.34 pthread_once F
>  GLIBC_2.34 pthread_rwlock_clockrdlock F
>  GLIBC_2.34 pthread_rwlock_clockwrlock F
> +GLIBC_2.34 pthread_rwlock_destroy F
>  GLIBC_2.34 pthread_rwlock_rdlock F
>  GLIBC_2.34 pthread_rwlock_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
> index e2e7b2851e..ffbd2d7e1a 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
> @@ -1538,6 +1538,7 @@ GLIBC_2.2 __nl_langinfo_l F
>  GLIBC_2.2 __open64 F
>  GLIBC_2.2 __poll F
>  GLIBC_2.2 __pread64 F
> +GLIBC_2.2 __pthread_rwlock_destroy F
>  GLIBC_2.2 __pthread_rwlock_rdlock F
>  GLIBC_2.2 __pthread_rwlock_unlock F
>  GLIBC_2.2 __pthread_rwlock_wrlock F
> @@ -1835,6 +1836,7 @@ GLIBC_2.2 pthread_mutexattr_getpshared F
>  GLIBC_2.2 pthread_mutexattr_gettype F
>  GLIBC_2.2 pthread_mutexattr_setpshared F
>  GLIBC_2.2 pthread_mutexattr_settype F
> +GLIBC_2.2 pthread_rwlock_destroy F
>  GLIBC_2.2 pthread_rwlock_rdlock F
>  GLIBC_2.2 pthread_rwlock_unlock F
>  GLIBC_2.2 pthread_rwlock_wrlock F
> @@ -2259,6 +2261,7 @@ GLIBC_2.34 pthread_mutexattr_settype F
>  GLIBC_2.34 pthread_once F
>  GLIBC_2.34 pthread_rwlock_clockrdlock F
>  GLIBC_2.34 pthread_rwlock_clockwrlock F
> +GLIBC_2.34 pthread_rwlock_destroy F
>  GLIBC_2.34 pthread_rwlock_rdlock F
>  GLIBC_2.34 pthread_rwlock_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
> diff --git a/sysdeps/unix/sysv/linux/nios2/libc.abilist b/sysdeps/unix/sysv/linux/nios2/libc.abilist
> index 2cf690ec94..5a5b32e243 100644
> --- a/sysdeps/unix/sysv/linux/nios2/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/nios2/libc.abilist
> @@ -388,6 +388,7 @@ GLIBC_2.21 __pthread_mutexattr_destroy F
>  GLIBC_2.21 __pthread_mutexattr_init F
>  GLIBC_2.21 __pthread_mutexattr_settype F
>  GLIBC_2.21 __pthread_once F
> +GLIBC_2.21 __pthread_rwlock_destroy F
>  GLIBC_2.21 __pthread_rwlock_rdlock F
>  GLIBC_2.21 __pthread_rwlock_unlock F
>  GLIBC_2.21 __pthread_rwlock_wrlock F
> @@ -1545,6 +1546,7 @@ GLIBC_2.21 pthread_mutexattr_setrobust F
>  GLIBC_2.21 pthread_mutexattr_setrobust_np F
>  GLIBC_2.21 pthread_mutexattr_settype F
>  GLIBC_2.21 pthread_once F
> +GLIBC_2.21 pthread_rwlock_destroy F
>  GLIBC_2.21 pthread_rwlock_rdlock F
>  GLIBC_2.21 pthread_rwlock_unlock F
>  GLIBC_2.21 pthread_rwlock_wrlock F
> @@ -2315,6 +2317,7 @@ GLIBC_2.34 pthread_mutexattr_settype F
>  GLIBC_2.34 pthread_once F
>  GLIBC_2.34 pthread_rwlock_clockrdlock F
>  GLIBC_2.34 pthread_rwlock_clockwrlock F
> +GLIBC_2.34 pthread_rwlock_destroy F
>  GLIBC_2.34 pthread_rwlock_rdlock F
>  GLIBC_2.34 pthread_rwlock_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
> diff --git a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
> index f3de0e4889..547413fcf0 100644
> --- a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
> @@ -4,7 +4,6 @@ GLIBC_2.21 _IO_funlockfile F
>  GLIBC_2.21 __errno_location F
>  GLIBC_2.21 __pthread_register_cancel F
>  GLIBC_2.21 __pthread_register_cancel_defer F
> -GLIBC_2.21 __pthread_rwlock_destroy F
>  GLIBC_2.21 __pthread_rwlock_init F
>  GLIBC_2.21 __pthread_rwlock_tryrdlock F
>  GLIBC_2.21 __pthread_rwlock_trywrlock F
> @@ -37,7 +36,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_destroy F
>  GLIBC_2.21 pthread_rwlock_init F
>  GLIBC_2.21 pthread_rwlock_timedrdlock F
>  GLIBC_2.21 pthread_rwlock_timedwrlock F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
> index a131ac9364..80fed3fb6c 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
> @@ -1578,6 +1578,7 @@ GLIBC_2.1 printf_size_info F
>  GLIBC_2.1 pthread_attr_init F
>  GLIBC_2.1 pthread_mutexattr_gettype F
>  GLIBC_2.1 pthread_mutexattr_settype F
> +GLIBC_2.1 pthread_rwlock_destroy F
>  GLIBC_2.1 pthread_rwlock_rdlock F
>  GLIBC_2.1 pthread_rwlock_unlock F
>  GLIBC_2.1 pthread_rwlock_wrlock F
> @@ -1851,6 +1852,7 @@ GLIBC_2.2 __lxstat64 F
>  GLIBC_2.2 __nl_langinfo_l F
>  GLIBC_2.2 __open64 F
>  GLIBC_2.2 __pread64 F
> +GLIBC_2.2 __pthread_rwlock_destroy F
>  GLIBC_2.2 __pthread_rwlock_rdlock F
>  GLIBC_2.2 __pthread_rwlock_unlock F
>  GLIBC_2.2 __pthread_rwlock_wrlock F
> @@ -2323,6 +2325,7 @@ GLIBC_2.34 pthread_mutexattr_settype F
>  GLIBC_2.34 pthread_once F
>  GLIBC_2.34 pthread_rwlock_clockrdlock F
>  GLIBC_2.34 pthread_rwlock_clockwrlock F
> +GLIBC_2.34 pthread_rwlock_destroy F
>  GLIBC_2.34 pthread_rwlock_rdlock F
>  GLIBC_2.34 pthread_rwlock_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
> index 6b276ca5d8..aff96f37d4 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
> @@ -24,7 +24,6 @@ GLIBC_2.1 pthread_attr_setstackaddr F
>  GLIBC_2.1 pthread_attr_setstacksize F
>  GLIBC_2.1 pthread_create F
>  GLIBC_2.1 pthread_getconcurrency F
> -GLIBC_2.1 pthread_rwlock_destroy F
>  GLIBC_2.1 pthread_rwlock_init F
>  GLIBC_2.1 pthread_rwlock_tryrdlock F
>  GLIBC_2.1 pthread_rwlock_trywrlock F
> @@ -50,7 +49,6 @@ GLIBC_2.12 pthread_getname_np F
>  GLIBC_2.12 pthread_setname_np F
>  GLIBC_2.18 pthread_getattr_default_np F
>  GLIBC_2.18 pthread_setattr_default_np F
> -GLIBC_2.2 __pthread_rwlock_destroy F
>  GLIBC_2.2 __pthread_rwlock_init F
>  GLIBC_2.2 __pthread_rwlock_tryrdlock F
>  GLIBC_2.2 __pthread_rwlock_trywrlock F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
> index 060578f3e0..1673ad274d 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
> @@ -1578,6 +1578,7 @@ GLIBC_2.1 printf_size_info F
>  GLIBC_2.1 pthread_attr_init F
>  GLIBC_2.1 pthread_mutexattr_gettype F
>  GLIBC_2.1 pthread_mutexattr_settype F
> +GLIBC_2.1 pthread_rwlock_destroy F
>  GLIBC_2.1 pthread_rwlock_rdlock F
>  GLIBC_2.1 pthread_rwlock_unlock F
>  GLIBC_2.1 pthread_rwlock_wrlock F
> @@ -1855,6 +1856,7 @@ GLIBC_2.2 __lxstat64 F
>  GLIBC_2.2 __nl_langinfo_l F
>  GLIBC_2.2 __open64 F
>  GLIBC_2.2 __pread64 F
> +GLIBC_2.2 __pthread_rwlock_destroy F
>  GLIBC_2.2 __pthread_rwlock_rdlock F
>  GLIBC_2.2 __pthread_rwlock_unlock F
>  GLIBC_2.2 __pthread_rwlock_wrlock F
> @@ -2356,6 +2358,7 @@ GLIBC_2.34 pthread_mutexattr_settype F
>  GLIBC_2.34 pthread_once F
>  GLIBC_2.34 pthread_rwlock_clockrdlock F
>  GLIBC_2.34 pthread_rwlock_clockwrlock F
> +GLIBC_2.34 pthread_rwlock_destroy F
>  GLIBC_2.34 pthread_rwlock_rdlock F
>  GLIBC_2.34 pthread_rwlock_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
> index fa035697a6..dd4d6d1fcc 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
> @@ -422,6 +422,7 @@ GLIBC_2.3 __pthread_mutexattr_destroy F
>  GLIBC_2.3 __pthread_mutexattr_init F
>  GLIBC_2.3 __pthread_mutexattr_settype F
>  GLIBC_2.3 __pthread_once F
> +GLIBC_2.3 __pthread_rwlock_destroy F
>  GLIBC_2.3 __pthread_rwlock_rdlock F
>  GLIBC_2.3 __pthread_rwlock_unlock F
>  GLIBC_2.3 __pthread_rwlock_wrlock F
> @@ -1417,6 +1418,7 @@ GLIBC_2.3 pthread_mutexattr_setkind_np F
>  GLIBC_2.3 pthread_mutexattr_setpshared F
>  GLIBC_2.3 pthread_mutexattr_settype F
>  GLIBC_2.3 pthread_once F
> +GLIBC_2.3 pthread_rwlock_destroy F
>  GLIBC_2.3 pthread_rwlock_rdlock F
>  GLIBC_2.3 pthread_rwlock_unlock F
>  GLIBC_2.3 pthread_rwlock_wrlock F
> @@ -2177,6 +2179,7 @@ GLIBC_2.34 pthread_mutexattr_settype F
>  GLIBC_2.34 pthread_once F
>  GLIBC_2.34 pthread_rwlock_clockrdlock F
>  GLIBC_2.34 pthread_rwlock_clockwrlock F
> +GLIBC_2.34 pthread_rwlock_destroy F
>  GLIBC_2.34 pthread_rwlock_rdlock F
>  GLIBC_2.34 pthread_rwlock_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
> index dbe8b51aab..558fb1b7db 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
> @@ -28,7 +28,6 @@ GLIBC_2.3 _IO_flockfile F
>  GLIBC_2.3 _IO_ftrylockfile F
>  GLIBC_2.3 _IO_funlockfile F
>  GLIBC_2.3 __errno_location F
> -GLIBC_2.3 __pthread_rwlock_destroy F
>  GLIBC_2.3 __pthread_rwlock_init F
>  GLIBC_2.3 __pthread_rwlock_tryrdlock F
>  GLIBC_2.3 __pthread_rwlock_trywrlock F
> @@ -55,7 +54,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_destroy F
>  GLIBC_2.3 pthread_rwlock_init F
>  GLIBC_2.3 pthread_rwlock_timedrdlock F
>  GLIBC_2.3 pthread_rwlock_timedwrlock F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
> index d6bc4e3862..9c3dba4573 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
> @@ -436,6 +436,7 @@ GLIBC_2.17 __pthread_mutexattr_destroy F
>  GLIBC_2.17 __pthread_mutexattr_init F
>  GLIBC_2.17 __pthread_mutexattr_settype F
>  GLIBC_2.17 __pthread_once F
> +GLIBC_2.17 __pthread_rwlock_destroy F
>  GLIBC_2.17 __pthread_rwlock_rdlock F
>  GLIBC_2.17 __pthread_rwlock_unlock F
>  GLIBC_2.17 __pthread_rwlock_wrlock F
> @@ -1588,6 +1589,7 @@ GLIBC_2.17 pthread_mutexattr_setrobust F
>  GLIBC_2.17 pthread_mutexattr_setrobust_np F
>  GLIBC_2.17 pthread_mutexattr_settype F
>  GLIBC_2.17 pthread_once F
> +GLIBC_2.17 pthread_rwlock_destroy F
>  GLIBC_2.17 pthread_rwlock_rdlock F
>  GLIBC_2.17 pthread_rwlock_unlock F
>  GLIBC_2.17 pthread_rwlock_wrlock F
> @@ -2478,6 +2480,7 @@ GLIBC_2.34 pthread_mutexattr_settype F
>  GLIBC_2.34 pthread_once F
>  GLIBC_2.34 pthread_rwlock_clockrdlock F
>  GLIBC_2.34 pthread_rwlock_clockwrlock F
> +GLIBC_2.34 pthread_rwlock_destroy F
>  GLIBC_2.34 pthread_rwlock_rdlock F
>  GLIBC_2.34 pthread_rwlock_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
> index dce7c78508..ebdbdfa867 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
> @@ -4,7 +4,6 @@ GLIBC_2.17 _IO_funlockfile F
>  GLIBC_2.17 __errno_location F
>  GLIBC_2.17 __pthread_register_cancel F
>  GLIBC_2.17 __pthread_register_cancel_defer F
> -GLIBC_2.17 __pthread_rwlock_destroy F
>  GLIBC_2.17 __pthread_rwlock_init F
>  GLIBC_2.17 __pthread_rwlock_tryrdlock F
>  GLIBC_2.17 __pthread_rwlock_trywrlock F
> @@ -36,7 +35,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_destroy F
>  GLIBC_2.17 pthread_rwlock_init F
>  GLIBC_2.17 pthread_rwlock_timedrdlock F
>  GLIBC_2.17 pthread_rwlock_timedwrlock F
> diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
> index 8608f6bce3..44ab3eacef 100644
> --- a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
> @@ -336,6 +336,7 @@ GLIBC_2.33 __pthread_mutexattr_destroy F
>  GLIBC_2.33 __pthread_mutexattr_init F
>  GLIBC_2.33 __pthread_mutexattr_settype F
>  GLIBC_2.33 __pthread_once F
> +GLIBC_2.33 __pthread_rwlock_destroy F
>  GLIBC_2.33 __pthread_rwlock_rdlock F
>  GLIBC_2.33 __pthread_rwlock_unlock F
>  GLIBC_2.33 __pthread_rwlock_wrlock F
> @@ -1432,6 +1433,7 @@ GLIBC_2.33 pthread_mutexattr_settype F
>  GLIBC_2.33 pthread_once F
>  GLIBC_2.33 pthread_rwlock_clockrdlock F
>  GLIBC_2.33 pthread_rwlock_clockwrlock F
> +GLIBC_2.33 pthread_rwlock_destroy F
>  GLIBC_2.33 pthread_rwlock_rdlock F
>  GLIBC_2.33 pthread_rwlock_unlock F
>  GLIBC_2.33 pthread_rwlock_wrlock F
> @@ -2043,6 +2045,7 @@ GLIBC_2.34 pthread_mutexattr_settype F
>  GLIBC_2.34 pthread_once F
>  GLIBC_2.34 pthread_rwlock_clockrdlock F
>  GLIBC_2.34 pthread_rwlock_clockwrlock F
> +GLIBC_2.34 pthread_rwlock_destroy F
>  GLIBC_2.34 pthread_rwlock_rdlock F
>  GLIBC_2.34 pthread_rwlock_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
> diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
> index 67bde15c7f..d2c8879f18 100644
> --- a/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
> @@ -4,7 +4,6 @@ GLIBC_2.33 _IO_funlockfile F
>  GLIBC_2.33 __errno_location F
>  GLIBC_2.33 __pthread_register_cancel F
>  GLIBC_2.33 __pthread_register_cancel_defer F
> -GLIBC_2.33 __pthread_rwlock_destroy F
>  GLIBC_2.33 __pthread_rwlock_init F
>  GLIBC_2.33 __pthread_rwlock_tryrdlock F
>  GLIBC_2.33 __pthread_rwlock_trywrlock F
> @@ -51,7 +50,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_destroy F
>  GLIBC_2.33 pthread_rwlock_init F
>  GLIBC_2.33 pthread_rwlock_timedrdlock F
>  GLIBC_2.33 pthread_rwlock_timedwrlock F
> diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
> index 5dccf99f67..b79b1f6726 100644
> --- a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
> @@ -347,6 +347,7 @@ GLIBC_2.27 __pthread_mutexattr_destroy F
>  GLIBC_2.27 __pthread_mutexattr_init F
>  GLIBC_2.27 __pthread_mutexattr_settype F
>  GLIBC_2.27 __pthread_once F
> +GLIBC_2.27 __pthread_rwlock_destroy F
>  GLIBC_2.27 __pthread_rwlock_rdlock F
>  GLIBC_2.27 __pthread_rwlock_unlock F
>  GLIBC_2.27 __pthread_rwlock_wrlock F
> @@ -1490,6 +1491,7 @@ GLIBC_2.27 pthread_mutexattr_setrobust F
>  GLIBC_2.27 pthread_mutexattr_setrobust_np F
>  GLIBC_2.27 pthread_mutexattr_settype F
>  GLIBC_2.27 pthread_once F
> +GLIBC_2.27 pthread_rwlock_destroy F
>  GLIBC_2.27 pthread_rwlock_rdlock F
>  GLIBC_2.27 pthread_rwlock_unlock F
>  GLIBC_2.27 pthread_rwlock_wrlock F
> @@ -2243,6 +2245,7 @@ GLIBC_2.34 pthread_mutexattr_settype F
>  GLIBC_2.34 pthread_once F
>  GLIBC_2.34 pthread_rwlock_clockrdlock F
>  GLIBC_2.34 pthread_rwlock_clockwrlock F
> +GLIBC_2.34 pthread_rwlock_destroy F
>  GLIBC_2.34 pthread_rwlock_rdlock F
>  GLIBC_2.34 pthread_rwlock_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
> diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
> index 83d0cbfaa4..48a5bd78f0 100644
> --- a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
> @@ -4,7 +4,6 @@ GLIBC_2.27 _IO_funlockfile F
>  GLIBC_2.27 __errno_location F
>  GLIBC_2.27 __pthread_register_cancel F
>  GLIBC_2.27 __pthread_register_cancel_defer F
> -GLIBC_2.27 __pthread_rwlock_destroy F
>  GLIBC_2.27 __pthread_rwlock_init F
>  GLIBC_2.27 __pthread_rwlock_tryrdlock F
>  GLIBC_2.27 __pthread_rwlock_trywrlock F
> @@ -37,7 +36,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_destroy F
>  GLIBC_2.27 pthread_rwlock_init F
>  GLIBC_2.27 pthread_rwlock_timedrdlock F
>  GLIBC_2.27 pthread_rwlock_timedwrlock F
> diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
> index abaa54cc17..4c88f1489d 100644
> --- a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
> @@ -1570,6 +1570,7 @@ GLIBC_2.1 printf_size_info F
>  GLIBC_2.1 pthread_attr_init F
>  GLIBC_2.1 pthread_mutexattr_gettype F
>  GLIBC_2.1 pthread_mutexattr_settype F
> +GLIBC_2.1 pthread_rwlock_destroy F
>  GLIBC_2.1 pthread_rwlock_rdlock F
>  GLIBC_2.1 pthread_rwlock_unlock F
>  GLIBC_2.1 pthread_rwlock_wrlock F
> @@ -1849,6 +1850,7 @@ GLIBC_2.2 __lxstat64 F
>  GLIBC_2.2 __nl_langinfo_l F
>  GLIBC_2.2 __open64 F
>  GLIBC_2.2 __pread64 F
> +GLIBC_2.2 __pthread_rwlock_destroy F
>  GLIBC_2.2 __pthread_rwlock_rdlock F
>  GLIBC_2.2 __pthread_rwlock_unlock F
>  GLIBC_2.2 __pthread_rwlock_wrlock F
> @@ -2321,6 +2323,7 @@ GLIBC_2.34 pthread_mutexattr_settype F
>  GLIBC_2.34 pthread_once F
>  GLIBC_2.34 pthread_rwlock_clockrdlock F
>  GLIBC_2.34 pthread_rwlock_clockwrlock F
> +GLIBC_2.34 pthread_rwlock_destroy F
>  GLIBC_2.34 pthread_rwlock_rdlock F
>  GLIBC_2.34 pthread_rwlock_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
> diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
> index ec4a9d4211..2cac9acdc5 100644
> --- a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
> @@ -24,7 +24,6 @@ GLIBC_2.1 pthread_attr_setstackaddr F
>  GLIBC_2.1 pthread_attr_setstacksize F
>  GLIBC_2.1 pthread_create F
>  GLIBC_2.1 pthread_getconcurrency F
> -GLIBC_2.1 pthread_rwlock_destroy F
>  GLIBC_2.1 pthread_rwlock_init F
>  GLIBC_2.1 pthread_rwlock_tryrdlock F
>  GLIBC_2.1 pthread_rwlock_trywrlock F
> @@ -51,7 +50,6 @@ GLIBC_2.12 pthread_setname_np F
>  GLIBC_2.18 pthread_getattr_default_np F
>  GLIBC_2.18 pthread_setattr_default_np F
>  GLIBC_2.19 __libpthread_version_placeholder F
> -GLIBC_2.2 __pthread_rwlock_destroy F
>  GLIBC_2.2 __pthread_rwlock_init F
>  GLIBC_2.2 __pthread_rwlock_tryrdlock F
>  GLIBC_2.2 __pthread_rwlock_trywrlock F
> diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
> index 3d67cffcea..7b3f066d8c 100644
> --- a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
> @@ -383,6 +383,7 @@ GLIBC_2.2 __pthread_mutexattr_destroy F
>  GLIBC_2.2 __pthread_mutexattr_init F
>  GLIBC_2.2 __pthread_mutexattr_settype F
>  GLIBC_2.2 __pthread_once F
> +GLIBC_2.2 __pthread_rwlock_destroy F
>  GLIBC_2.2 __pthread_rwlock_rdlock F
>  GLIBC_2.2 __pthread_rwlock_unlock F
>  GLIBC_2.2 __pthread_rwlock_wrlock F
> @@ -1329,6 +1330,7 @@ GLIBC_2.2 pthread_mutexattr_setkind_np F
>  GLIBC_2.2 pthread_mutexattr_setpshared F
>  GLIBC_2.2 pthread_mutexattr_settype F
>  GLIBC_2.2 pthread_once F
> +GLIBC_2.2 pthread_rwlock_destroy F
>  GLIBC_2.2 pthread_rwlock_rdlock F
>  GLIBC_2.2 pthread_rwlock_unlock F
>  GLIBC_2.2 pthread_rwlock_wrlock F
> @@ -2214,6 +2216,7 @@ GLIBC_2.34 pthread_mutexattr_settype F
>  GLIBC_2.34 pthread_once F
>  GLIBC_2.34 pthread_rwlock_clockrdlock F
>  GLIBC_2.34 pthread_rwlock_clockwrlock F
> +GLIBC_2.34 pthread_rwlock_destroy F
>  GLIBC_2.34 pthread_rwlock_rdlock F
>  GLIBC_2.34 pthread_rwlock_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
> diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
> index 295500e565..19792333fe 100644
> --- a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
> @@ -8,7 +8,6 @@ GLIBC_2.2 _IO_flockfile F
>  GLIBC_2.2 _IO_ftrylockfile F
>  GLIBC_2.2 _IO_funlockfile F
>  GLIBC_2.2 __errno_location F
> -GLIBC_2.2 __pthread_rwlock_destroy F
>  GLIBC_2.2 __pthread_rwlock_init F
>  GLIBC_2.2 __pthread_rwlock_tryrdlock F
>  GLIBC_2.2 __pthread_rwlock_trywrlock F
> @@ -35,7 +34,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_destroy F
>  GLIBC_2.2 pthread_rwlock_init F
>  GLIBC_2.2 pthread_rwlock_timedrdlock F
>  GLIBC_2.2 pthread_rwlock_timedwrlock F
> diff --git a/sysdeps/unix/sysv/linux/sh/be/libc.abilist b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
> index 4291e96d58..bda61af088 100644
> --- a/sysdeps/unix/sysv/linux/sh/be/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
> @@ -372,6 +372,7 @@ GLIBC_2.2 __pthread_mutexattr_destroy F
>  GLIBC_2.2 __pthread_mutexattr_init F
>  GLIBC_2.2 __pthread_mutexattr_settype F
>  GLIBC_2.2 __pthread_once F
> +GLIBC_2.2 __pthread_rwlock_destroy F
>  GLIBC_2.2 __pthread_rwlock_rdlock F
>  GLIBC_2.2 __pthread_rwlock_unlock F
>  GLIBC_2.2 __pthread_rwlock_wrlock F
> @@ -1315,6 +1316,7 @@ GLIBC_2.2 pthread_mutexattr_setkind_np F
>  GLIBC_2.2 pthread_mutexattr_setpshared F
>  GLIBC_2.2 pthread_mutexattr_settype F
>  GLIBC_2.2 pthread_once F
> +GLIBC_2.2 pthread_rwlock_destroy F
>  GLIBC_2.2 pthread_rwlock_rdlock F
>  GLIBC_2.2 pthread_rwlock_unlock F
>  GLIBC_2.2 pthread_rwlock_wrlock F
> @@ -2183,6 +2185,7 @@ GLIBC_2.34 pthread_mutexattr_settype F
>  GLIBC_2.34 pthread_once F
>  GLIBC_2.34 pthread_rwlock_clockrdlock F
>  GLIBC_2.34 pthread_rwlock_clockwrlock F
> +GLIBC_2.34 pthread_rwlock_destroy F
>  GLIBC_2.34 pthread_rwlock_rdlock F
>  GLIBC_2.34 pthread_rwlock_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
> diff --git a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
> index 124ea6fd8e..82bc0321f5 100644
> --- a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
> @@ -7,7 +7,6 @@ GLIBC_2.2 _IO_flockfile F
>  GLIBC_2.2 _IO_ftrylockfile F
>  GLIBC_2.2 _IO_funlockfile F
>  GLIBC_2.2 __errno_location F
> -GLIBC_2.2 __pthread_rwlock_destroy F
>  GLIBC_2.2 __pthread_rwlock_init F
>  GLIBC_2.2 __pthread_rwlock_tryrdlock F
>  GLIBC_2.2 __pthread_rwlock_trywrlock F
> @@ -34,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_destroy F
>  GLIBC_2.2 pthread_rwlock_init F
>  GLIBC_2.2 pthread_rwlock_timedrdlock F
>  GLIBC_2.2 pthread_rwlock_timedwrlock F
> diff --git a/sysdeps/unix/sysv/linux/sh/le/libc.abilist b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
> index 58e70680f1..7227ced168 100644
> --- a/sysdeps/unix/sysv/linux/sh/le/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
> @@ -372,6 +372,7 @@ GLIBC_2.2 __pthread_mutexattr_destroy F
>  GLIBC_2.2 __pthread_mutexattr_init F
>  GLIBC_2.2 __pthread_mutexattr_settype F
>  GLIBC_2.2 __pthread_once F
> +GLIBC_2.2 __pthread_rwlock_destroy F
>  GLIBC_2.2 __pthread_rwlock_rdlock F
>  GLIBC_2.2 __pthread_rwlock_unlock F
>  GLIBC_2.2 __pthread_rwlock_wrlock F
> @@ -1315,6 +1316,7 @@ GLIBC_2.2 pthread_mutexattr_setkind_np F
>  GLIBC_2.2 pthread_mutexattr_setpshared F
>  GLIBC_2.2 pthread_mutexattr_settype F
>  GLIBC_2.2 pthread_once F
> +GLIBC_2.2 pthread_rwlock_destroy F
>  GLIBC_2.2 pthread_rwlock_rdlock F
>  GLIBC_2.2 pthread_rwlock_unlock F
>  GLIBC_2.2 pthread_rwlock_wrlock F
> @@ -2180,6 +2182,7 @@ GLIBC_2.34 pthread_mutexattr_settype F
>  GLIBC_2.34 pthread_once F
>  GLIBC_2.34 pthread_rwlock_clockrdlock F
>  GLIBC_2.34 pthread_rwlock_clockwrlock F
> +GLIBC_2.34 pthread_rwlock_destroy F
>  GLIBC_2.34 pthread_rwlock_rdlock F
>  GLIBC_2.34 pthread_rwlock_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
> diff --git a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
> index 124ea6fd8e..82bc0321f5 100644
> --- a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
> @@ -7,7 +7,6 @@ GLIBC_2.2 _IO_flockfile F
>  GLIBC_2.2 _IO_ftrylockfile F
>  GLIBC_2.2 _IO_funlockfile F
>  GLIBC_2.2 __errno_location F
> -GLIBC_2.2 __pthread_rwlock_destroy F
>  GLIBC_2.2 __pthread_rwlock_init F
>  GLIBC_2.2 __pthread_rwlock_tryrdlock F
>  GLIBC_2.2 __pthread_rwlock_trywrlock F
> @@ -34,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_destroy F
>  GLIBC_2.2 pthread_rwlock_init F
>  GLIBC_2.2 pthread_rwlock_timedrdlock F
>  GLIBC_2.2 pthread_rwlock_timedwrlock F
> diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
> index 05e15f9429..330715ff71 100644
> --- a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
> @@ -1571,6 +1571,7 @@ GLIBC_2.1 printf_size_info F
>  GLIBC_2.1 pthread_attr_init F
>  GLIBC_2.1 pthread_mutexattr_gettype F
>  GLIBC_2.1 pthread_mutexattr_settype F
> +GLIBC_2.1 pthread_rwlock_destroy F
>  GLIBC_2.1 pthread_rwlock_rdlock F
>  GLIBC_2.1 pthread_rwlock_unlock F
>  GLIBC_2.1 pthread_rwlock_wrlock F
> @@ -1847,6 +1848,7 @@ GLIBC_2.2 __lxstat64 F
>  GLIBC_2.2 __nl_langinfo_l F
>  GLIBC_2.2 __open64 F
>  GLIBC_2.2 __pread64 F
> +GLIBC_2.2 __pthread_rwlock_destroy F
>  GLIBC_2.2 __pthread_rwlock_rdlock F
>  GLIBC_2.2 __pthread_rwlock_unlock F
>  GLIBC_2.2 __pthread_rwlock_wrlock F
> @@ -2312,6 +2314,7 @@ GLIBC_2.34 pthread_mutexattr_settype F
>  GLIBC_2.34 pthread_once F
>  GLIBC_2.34 pthread_rwlock_clockrdlock F
>  GLIBC_2.34 pthread_rwlock_clockwrlock F
> +GLIBC_2.34 pthread_rwlock_destroy F
>  GLIBC_2.34 pthread_rwlock_rdlock F
>  GLIBC_2.34 pthread_rwlock_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
> diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
> index 9bbc315658..b80868c5da 100644
> --- a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
> @@ -24,7 +24,6 @@ GLIBC_2.1 pthread_attr_setstackaddr F
>  GLIBC_2.1 pthread_attr_setstacksize F
>  GLIBC_2.1 pthread_create F
>  GLIBC_2.1 pthread_getconcurrency F
> -GLIBC_2.1 pthread_rwlock_destroy F
>  GLIBC_2.1 pthread_rwlock_init F
>  GLIBC_2.1 pthread_rwlock_tryrdlock F
>  GLIBC_2.1 pthread_rwlock_trywrlock F
> @@ -50,7 +49,6 @@ GLIBC_2.12 pthread_getname_np F
>  GLIBC_2.12 pthread_setname_np F
>  GLIBC_2.18 pthread_getattr_default_np F
>  GLIBC_2.18 pthread_setattr_default_np F
> -GLIBC_2.2 __pthread_rwlock_destroy F
>  GLIBC_2.2 __pthread_rwlock_init F
>  GLIBC_2.2 __pthread_rwlock_tryrdlock F
>  GLIBC_2.2 __pthread_rwlock_trywrlock F
> diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
> index 4a28393b33..5e4848be27 100644
> --- a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
> @@ -410,6 +410,7 @@ GLIBC_2.2 __pthread_mutexattr_destroy F
>  GLIBC_2.2 __pthread_mutexattr_init F
>  GLIBC_2.2 __pthread_mutexattr_settype F
>  GLIBC_2.2 __pthread_once F
> +GLIBC_2.2 __pthread_rwlock_destroy F
>  GLIBC_2.2 __pthread_rwlock_rdlock F
>  GLIBC_2.2 __pthread_rwlock_unlock F
>  GLIBC_2.2 __pthread_rwlock_wrlock F
> @@ -1358,6 +1359,7 @@ GLIBC_2.2 pthread_mutexattr_setkind_np F
>  GLIBC_2.2 pthread_mutexattr_setpshared F
>  GLIBC_2.2 pthread_mutexattr_settype F
>  GLIBC_2.2 pthread_once F
> +GLIBC_2.2 pthread_rwlock_destroy F
>  GLIBC_2.2 pthread_rwlock_rdlock F
>  GLIBC_2.2 pthread_rwlock_unlock F
>  GLIBC_2.2 pthread_rwlock_wrlock F
> @@ -2231,6 +2233,7 @@ GLIBC_2.34 pthread_mutexattr_settype F
>  GLIBC_2.34 pthread_once F
>  GLIBC_2.34 pthread_rwlock_clockrdlock F
>  GLIBC_2.34 pthread_rwlock_clockwrlock F
> +GLIBC_2.34 pthread_rwlock_destroy F
>  GLIBC_2.34 pthread_rwlock_rdlock F
>  GLIBC_2.34 pthread_rwlock_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
> diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
> index ad3d8c7fc3..6d11adb7da 100644
> --- a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
> @@ -7,7 +7,6 @@ GLIBC_2.2 _IO_flockfile F
>  GLIBC_2.2 _IO_ftrylockfile F
>  GLIBC_2.2 _IO_funlockfile F
>  GLIBC_2.2 __errno_location F
> -GLIBC_2.2 __pthread_rwlock_destroy F
>  GLIBC_2.2 __pthread_rwlock_init F
>  GLIBC_2.2 __pthread_rwlock_tryrdlock F
>  GLIBC_2.2 __pthread_rwlock_trywrlock F
> @@ -34,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_destroy F
>  GLIBC_2.2 pthread_rwlock_init F
>  GLIBC_2.2 pthread_rwlock_timedrdlock F
>  GLIBC_2.2 pthread_rwlock_timedwrlock F
> diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
> index 3693688e5c..1975808993 100644
> --- a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
> @@ -371,6 +371,7 @@ GLIBC_2.2.5 __pthread_mutexattr_destroy F
>  GLIBC_2.2.5 __pthread_mutexattr_init F
>  GLIBC_2.2.5 __pthread_mutexattr_settype F
>  GLIBC_2.2.5 __pthread_once F
> +GLIBC_2.2.5 __pthread_rwlock_destroy F
>  GLIBC_2.2.5 __pthread_rwlock_rdlock F
>  GLIBC_2.2.5 __pthread_rwlock_unlock F
>  GLIBC_2.2.5 __pthread_rwlock_wrlock F
> @@ -1326,6 +1327,7 @@ GLIBC_2.2.5 pthread_mutexattr_setkind_np F
>  GLIBC_2.2.5 pthread_mutexattr_setpshared F
>  GLIBC_2.2.5 pthread_mutexattr_settype F
>  GLIBC_2.2.5 pthread_once F
> +GLIBC_2.2.5 pthread_rwlock_destroy F
>  GLIBC_2.2.5 pthread_rwlock_rdlock F
>  GLIBC_2.2.5 pthread_rwlock_unlock F
>  GLIBC_2.2.5 pthread_rwlock_wrlock F
> @@ -2192,6 +2194,7 @@ GLIBC_2.34 pthread_mutexattr_settype F
>  GLIBC_2.34 pthread_once F
>  GLIBC_2.34 pthread_rwlock_clockrdlock F
>  GLIBC_2.34 pthread_rwlock_clockwrlock F
> +GLIBC_2.34 pthread_rwlock_destroy F
>  GLIBC_2.34 pthread_rwlock_rdlock F
>  GLIBC_2.34 pthread_rwlock_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
> diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
> index d74ddab526..06ec562b00 100644
> --- a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
> @@ -7,7 +7,6 @@ GLIBC_2.2.5 _IO_flockfile F
>  GLIBC_2.2.5 _IO_ftrylockfile F
>  GLIBC_2.2.5 _IO_funlockfile F
>  GLIBC_2.2.5 __errno_location F
> -GLIBC_2.2.5 __pthread_rwlock_destroy F
>  GLIBC_2.2.5 __pthread_rwlock_init F
>  GLIBC_2.2.5 __pthread_rwlock_tryrdlock F
>  GLIBC_2.2.5 __pthread_rwlock_trywrlock F
> @@ -34,7 +33,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_destroy F
>  GLIBC_2.2.5 pthread_rwlock_init F
>  GLIBC_2.2.5 pthread_rwlock_timedrdlock F
>  GLIBC_2.2.5 pthread_rwlock_timedwrlock F
> diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
> index 2fdedeabd9..ff5dc484ba 100644
> --- a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
> @@ -351,6 +351,7 @@ GLIBC_2.16 __pthread_mutexattr_destroy F
>  GLIBC_2.16 __pthread_mutexattr_init F
>  GLIBC_2.16 __pthread_mutexattr_settype F
>  GLIBC_2.16 __pthread_once F
> +GLIBC_2.16 __pthread_rwlock_destroy F
>  GLIBC_2.16 __pthread_rwlock_rdlock F
>  GLIBC_2.16 __pthread_rwlock_unlock F
>  GLIBC_2.16 __pthread_rwlock_wrlock F
> @@ -1507,6 +1508,7 @@ GLIBC_2.16 pthread_mutexattr_setrobust F
>  GLIBC_2.16 pthread_mutexattr_setrobust_np F
>  GLIBC_2.16 pthread_mutexattr_settype F
>  GLIBC_2.16 pthread_once F
> +GLIBC_2.16 pthread_rwlock_destroy F
>  GLIBC_2.16 pthread_rwlock_rdlock F
>  GLIBC_2.16 pthread_rwlock_unlock F
>  GLIBC_2.16 pthread_rwlock_wrlock F
> @@ -2297,6 +2299,7 @@ GLIBC_2.34 pthread_mutexattr_settype F
>  GLIBC_2.34 pthread_once F
>  GLIBC_2.34 pthread_rwlock_clockrdlock F
>  GLIBC_2.34 pthread_rwlock_clockwrlock F
> +GLIBC_2.34 pthread_rwlock_destroy F
>  GLIBC_2.34 pthread_rwlock_rdlock F
>  GLIBC_2.34 pthread_rwlock_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
> diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
> index 5c80afcee2..92d8aa0635 100644
> --- a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
> @@ -4,7 +4,6 @@ GLIBC_2.16 _IO_funlockfile F
>  GLIBC_2.16 __errno_location F
>  GLIBC_2.16 __pthread_register_cancel F
>  GLIBC_2.16 __pthread_register_cancel_defer F
> -GLIBC_2.16 __pthread_rwlock_destroy F
>  GLIBC_2.16 __pthread_rwlock_init F
>  GLIBC_2.16 __pthread_rwlock_tryrdlock F
>  GLIBC_2.16 __pthread_rwlock_trywrlock F
> @@ -36,7 +35,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_destroy F
>  GLIBC_2.16 pthread_rwlock_init F
>  GLIBC_2.16 pthread_rwlock_timedrdlock F
>  GLIBC_2.16 pthread_rwlock_timedwrlock F
> 


-- 
Cheers,
Carlos.


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

* Re: [PATCH 04/14] nptl: Move pthread_rwlock_init into libc
  2021-04-23 17:37 ` [PATCH 04/14] nptl: Move pthread_rwlock_init " Florian Weimer via Libc-alpha
@ 2021-05-02 19:34   ` Carlos O'Donell via Libc-alpha
  0 siblings, 0 replies; 30+ messages in thread
From: Carlos O'Donell via Libc-alpha @ 2021-05-02 19:34 UTC (permalink / raw)
  To: Florian Weimer, libc-alpha

On 4/23/21 1:37 PM, Florian Weimer via Libc-alpha wrote:
> And __pthread_rwlock_init as a compatibility symbol.

Tested and reviewed on x86_64 and i686.

LGTM.

Reviewed-by: Carlos O'Donell <carlos@redhat.com>
Tested-by: Carlos O'Donell <carlos@redhat.com>
 
> __libc_rwlock_init is changed to call __pthread_rwlock_init directly.

OK.
 
> The symbols were moved using scripts/move-symbol-to-libc.py.
> ---
>  nptl/Makefile                                 |  2 +-
>  nptl/Versions                                 |  4 ++--
>  nptl/pthread_rwlock_init.c                    | 20 ++++++++++++++++---
>  sysdeps/nptl/libc-lockP.h                     | 11 ++--------
>  sysdeps/unix/sysv/linux/aarch64/libc.abilist  |  3 +++
>  .../sysv/linux/aarch64/libpthread.abilist     |  2 --
>  sysdeps/unix/sysv/linux/alpha/libc.abilist    |  3 +++
>  .../unix/sysv/linux/alpha/libpthread.abilist  |  2 --
>  sysdeps/unix/sysv/linux/arc/libc.abilist      |  3 +++
>  .../unix/sysv/linux/arc/libpthread.abilist    |  2 --
>  sysdeps/unix/sysv/linux/arm/be/libc.abilist   |  3 +++
>  .../unix/sysv/linux/arm/be/libpthread.abilist |  2 --
>  sysdeps/unix/sysv/linux/arm/le/libc.abilist   |  3 +++
>  .../unix/sysv/linux/arm/le/libpthread.abilist |  2 --
>  sysdeps/unix/sysv/linux/csky/libc.abilist     |  3 +++
>  .../unix/sysv/linux/csky/libpthread.abilist   |  2 --
>  sysdeps/unix/sysv/linux/hppa/libc.abilist     |  3 +++
>  .../unix/sysv/linux/hppa/libpthread.abilist   |  2 --
>  sysdeps/unix/sysv/linux/i386/libc.abilist     |  3 +++
>  .../unix/sysv/linux/i386/libpthread.abilist   |  2 --
>  sysdeps/unix/sysv/linux/ia64/libc.abilist     |  3 +++
>  .../unix/sysv/linux/ia64/libpthread.abilist   |  2 --
>  .../sysv/linux/m68k/coldfire/libc.abilist     |  3 +++
>  .../linux/m68k/coldfire/libpthread.abilist    |  2 --
>  .../unix/sysv/linux/m68k/m680x0/libc.abilist  |  3 +++
>  .../sysv/linux/m68k/m680x0/libpthread.abilist |  2 --
>  .../sysv/linux/microblaze/be/libc.abilist     |  3 +++
>  .../linux/microblaze/be/libpthread.abilist    |  2 --
>  .../sysv/linux/microblaze/le/libc.abilist     |  3 +++
>  .../linux/microblaze/le/libpthread.abilist    |  2 --
>  .../sysv/linux/mips/mips32/fpu/libc.abilist   |  3 +++
>  .../sysv/linux/mips/mips32/libpthread.abilist |  2 --
>  .../sysv/linux/mips/mips32/nofpu/libc.abilist |  3 +++
>  .../sysv/linux/mips/mips64/libpthread.abilist |  2 --
>  .../sysv/linux/mips/mips64/n32/libc.abilist   |  3 +++
>  .../sysv/linux/mips/mips64/n64/libc.abilist   |  3 +++
>  sysdeps/unix/sysv/linux/nios2/libc.abilist    |  3 +++
>  .../unix/sysv/linux/nios2/libpthread.abilist  |  2 --
>  .../linux/powerpc/powerpc32/fpu/libc.abilist  |  3 +++
>  .../powerpc/powerpc32/libpthread.abilist      |  2 --
>  .../powerpc/powerpc32/nofpu/libc.abilist      |  3 +++
>  .../linux/powerpc/powerpc64/be/libc.abilist   |  3 +++
>  .../powerpc/powerpc64/be/libpthread.abilist   |  2 --
>  .../linux/powerpc/powerpc64/le/libc.abilist   |  3 +++
>  .../powerpc/powerpc64/le/libpthread.abilist   |  2 --
>  .../unix/sysv/linux/riscv/rv32/libc.abilist   |  3 +++
>  .../sysv/linux/riscv/rv32/libpthread.abilist  |  2 --
>  .../unix/sysv/linux/riscv/rv64/libc.abilist   |  3 +++
>  .../sysv/linux/riscv/rv64/libpthread.abilist  |  2 --
>  .../unix/sysv/linux/s390/s390-32/libc.abilist |  3 +++
>  .../linux/s390/s390-32/libpthread.abilist     |  2 --
>  .../unix/sysv/linux/s390/s390-64/libc.abilist |  3 +++
>  .../linux/s390/s390-64/libpthread.abilist     |  2 --
>  sysdeps/unix/sysv/linux/sh/be/libc.abilist    |  3 +++
>  .../unix/sysv/linux/sh/be/libpthread.abilist  |  2 --
>  sysdeps/unix/sysv/linux/sh/le/libc.abilist    |  3 +++
>  .../unix/sysv/linux/sh/le/libpthread.abilist  |  2 --
>  .../sysv/linux/sparc/sparc32/libc.abilist     |  3 +++
>  .../linux/sparc/sparc32/libpthread.abilist    |  2 --
>  .../sysv/linux/sparc/sparc64/libc.abilist     |  3 +++
>  .../linux/sparc/sparc64/libpthread.abilist    |  2 --
>  .../unix/sysv/linux/x86_64/64/libc.abilist    |  3 +++
>  .../sysv/linux/x86_64/64/libpthread.abilist   |  2 --
>  .../unix/sysv/linux/x86_64/x32/libc.abilist   |  3 +++
>  .../sysv/linux/x86_64/x32/libpthread.abilist  |  2 --
>  65 files changed, 118 insertions(+), 73 deletions(-)
> 
> diff --git a/nptl/Makefile b/nptl/Makefile
> index 37c6513f68..e41459c571 100644
> --- a/nptl/Makefile
> +++ b/nptl/Makefile
> @@ -123,6 +123,7 @@ routines = \
>    pthread_rwlock_clockrdlock \
>    pthread_rwlock_clockwrlock \
>    pthread_rwlock_destroy \
> +  pthread_rwlock_init \
>    pthread_rwlock_rdlock \
>    pthread_rwlock_unlock \
>    pthread_rwlock_wrlock \
> @@ -181,7 +182,6 @@ libpthread-routines = \
>    pthread_getname \
>    pthread_join \
>    pthread_join_common \
> -  pthread_rwlock_init \
>    pthread_rwlock_timedrdlock \
>    pthread_rwlock_timedwrlock \
>    pthread_rwlock_tryrdlock \
> diff --git a/nptl/Versions b/nptl/Versions
> index 9232a19227..72d20e2117 100644
> --- a/nptl/Versions
> +++ b/nptl/Versions
> @@ -67,12 +67,14 @@ libc {
>      pthread_mutexattr_gettype;
>      pthread_mutexattr_settype;
>      pthread_rwlock_destroy;
> +    pthread_rwlock_init;
>      pthread_rwlock_rdlock;
>      pthread_rwlock_unlock;
>      pthread_rwlock_wrlock;
>    }
>    GLIBC_2.2 {
>      __pthread_rwlock_destroy;
> +    __pthread_rwlock_init;
>      __pthread_rwlock_rdlock;
>      __pthread_rwlock_unlock;
>      __pthread_rwlock_wrlock;
> @@ -280,7 +282,6 @@ libpthread {
>      pthread_attr_setstacksize;
>      pthread_create;
>      pthread_getconcurrency;
> -    pthread_rwlock_init;
>      pthread_rwlock_tryrdlock;
>      pthread_rwlock_trywrlock;
>      pthread_rwlockattr_destroy;
> @@ -309,7 +310,6 @@ libpthread {
>    }
>  
>    GLIBC_2.2 {
> -    __pthread_rwlock_init;
>      __pthread_rwlock_tryrdlock;
>      __pthread_rwlock_trywrlock;
>      pthread_attr_getstack;
> diff --git a/nptl/pthread_rwlock_init.c b/nptl/pthread_rwlock_init.c
> index c7d8fef687..db8ebee504 100644
> --- a/nptl/pthread_rwlock_init.c
> +++ b/nptl/pthread_rwlock_init.c
> @@ -19,7 +19,7 @@
>  #include "pthreadP.h"
>  #include <string.h>
>  #include <pthread-offsets.h>
> -
> +#include <shlib-compat.h>
>  
>  static const struct pthread_rwlockattr default_rwlockattr =
>    {
> @@ -30,7 +30,7 @@ static const struct pthread_rwlockattr default_rwlockattr =
>  
>  /* See pthread_rwlock_common.c.  */
>  int
> -__pthread_rwlock_init (pthread_rwlock_t *rwlock,
> +___pthread_rwlock_init (pthread_rwlock_t *rwlock,
>  		       const pthread_rwlockattr_t *attr)
>  {
>    ASSERT_TYPE_SIZE (pthread_rwlock_t, __SIZEOF_PTHREAD_RWLOCK_T);
> @@ -55,4 +55,18 @@ __pthread_rwlock_init (pthread_rwlock_t *rwlock,
>  
>    return 0;
>  }
> -strong_alias (__pthread_rwlock_init, pthread_rwlock_init)
> +versioned_symbol (libc, ___pthread_rwlock_init, pthread_rwlock_init,
> +                  GLIBC_2_34);
> +libc_hidden_ver (___pthread_rwlock_init, __pthread_rwlock_init)
> +#ifndef SHARED
> +strong_alias (___pthread_rwlock_init, __pthread_rwlock_init)
> +#endif
> +
> +#if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_1, GLIBC_2_34)
> +compat_symbol (libpthread, ___pthread_rwlock_init, pthread_rwlock_init,
> +               GLIBC_2_1);
> +#endif
> +#if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_2, GLIBC_2_34)
> +compat_symbol (libpthread, ___pthread_rwlock_init, __pthread_rwlock_init,
> +               GLIBC_2_2);
> +#endif
> diff --git a/sysdeps/nptl/libc-lockP.h b/sysdeps/nptl/libc-lockP.h
> index 07ead8fb9f..31ecc4a2c1 100644
> --- a/sysdeps/nptl/libc-lockP.h
> +++ b/sysdeps/nptl/libc-lockP.h
> @@ -114,14 +114,7 @@ _Static_assert (LLL_LOCK_INITIALIZER == 0, "LLL_LOCK_INITIALIZER != 0");
>  #else
>  # define __libc_lock_init(NAME) __pthread_mutex_init (&(NAME))
>  #endif
> -#if defined SHARED && IS_IN (libc)
> -/* ((NAME) = (__libc_rwlock_t) PTHREAD_RWLOCK_INITIALIZER) is inefficient.  */
> -# define __libc_rwlock_init(NAME) \
> -  ((void) __builtin_memset (&(NAME), '\0', sizeof (NAME)))
> -#else
> -# define __libc_rwlock_init(NAME) \
> -  __libc_maybe_call (__pthread_rwlock_init, (&(NAME), NULL), 0)
> -#endif
> +#define __libc_rwlock_init(NAME) __pthread_rwlock_init (&(NAME), NULL)
>  
>  /* Finalize the named lock variable, which must be locked.  It cannot be
>     used again until __libc_lock_init is called again on it.  This must be
> @@ -267,6 +260,7 @@ extern int __pthread_mutexattr_settype (pthread_mutexattr_t *__attr,
>  
>  extern int __pthread_rwlock_init (pthread_rwlock_t *__rwlock,
>  				  const pthread_rwlockattr_t *__attr);
> +libc_hidden_proto (__pthread_rwlock_init)
>  
>  extern int __pthread_rwlock_destroy (pthread_rwlock_t *__rwlock);
>  
> @@ -299,7 +293,6 @@ weak_extern (__pthread_mutex_trylock)
>  weak_extern (__pthread_mutexattr_init)
>  weak_extern (__pthread_mutexattr_destroy)
>  weak_extern (__pthread_mutexattr_settype)
> -weak_extern (__pthread_rwlock_init)
>  weak_extern (__pthread_rwlock_tryrdlock)
>  weak_extern (__pthread_rwlock_trywrlock)
>  weak_extern (__pthread_initialize)
> diff --git a/sysdeps/unix/sysv/linux/aarch64/libc.abilist b/sysdeps/unix/sysv/linux/aarch64/libc.abilist
> index 8e7de61692..49538b3773 100644
> --- a/sysdeps/unix/sysv/linux/aarch64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/aarch64/libc.abilist
> @@ -351,6 +351,7 @@ GLIBC_2.17 __pthread_mutexattr_init F
>  GLIBC_2.17 __pthread_mutexattr_settype F
>  GLIBC_2.17 __pthread_once F
>  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_unlock F
>  GLIBC_2.17 __pthread_rwlock_wrlock F
> @@ -1502,6 +1503,7 @@ GLIBC_2.17 pthread_mutexattr_setrobust_np F
>  GLIBC_2.17 pthread_mutexattr_settype F
>  GLIBC_2.17 pthread_once F
>  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_unlock F
>  GLIBC_2.17 pthread_rwlock_wrlock F
> @@ -2285,6 +2287,7 @@ GLIBC_2.34 pthread_once F
>  GLIBC_2.34 pthread_rwlock_clockrdlock F
>  GLIBC_2.34 pthread_rwlock_clockwrlock F
>  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_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
> diff --git a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
> index ebdbdfa867..c6dee0cc25 100644
> --- a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
> @@ -4,7 +4,6 @@ GLIBC_2.17 _IO_funlockfile F
>  GLIBC_2.17 __errno_location F
>  GLIBC_2.17 __pthread_register_cancel F
>  GLIBC_2.17 __pthread_register_cancel_defer F
> -GLIBC_2.17 __pthread_rwlock_init F
>  GLIBC_2.17 __pthread_rwlock_tryrdlock F
>  GLIBC_2.17 __pthread_rwlock_trywrlock F
>  GLIBC_2.17 __pthread_unregister_cancel F
> @@ -35,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_init F
>  GLIBC_2.17 pthread_rwlock_timedrdlock F
>  GLIBC_2.17 pthread_rwlock_timedwrlock F
>  GLIBC_2.17 pthread_rwlock_tryrdlock F
> diff --git a/sysdeps/unix/sysv/linux/alpha/libc.abilist b/sysdeps/unix/sysv/linux/alpha/libc.abilist
> index 396c786557..6336e2dd35 100644
> --- a/sysdeps/unix/sysv/linux/alpha/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/alpha/libc.abilist
> @@ -1607,6 +1607,7 @@ GLIBC_2.1 pthread_attr_init F
>  GLIBC_2.1 pthread_mutexattr_gettype F
>  GLIBC_2.1 pthread_mutexattr_settype F
>  GLIBC_2.1 pthread_rwlock_destroy F
> +GLIBC_2.1 pthread_rwlock_init F
>  GLIBC_2.1 pthread_rwlock_rdlock F
>  GLIBC_2.1 pthread_rwlock_unlock F
>  GLIBC_2.1 pthread_rwlock_wrlock F
> @@ -1887,6 +1888,7 @@ GLIBC_2.2 __nl_langinfo_l F
>  GLIBC_2.2 __open64 F
>  GLIBC_2.2 __pread64 F
>  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_unlock F
>  GLIBC_2.2 __pthread_rwlock_wrlock F
> @@ -2366,6 +2368,7 @@ GLIBC_2.34 pthread_once F
>  GLIBC_2.34 pthread_rwlock_clockrdlock F
>  GLIBC_2.34 pthread_rwlock_clockwrlock F
>  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_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
> diff --git a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
> index b80868c5da..0189fc6a88 100644
> --- a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
> @@ -24,7 +24,6 @@ GLIBC_2.1 pthread_attr_setstackaddr F
>  GLIBC_2.1 pthread_attr_setstacksize F
>  GLIBC_2.1 pthread_create F
>  GLIBC_2.1 pthread_getconcurrency F
> -GLIBC_2.1 pthread_rwlock_init F
>  GLIBC_2.1 pthread_rwlock_tryrdlock F
>  GLIBC_2.1 pthread_rwlock_trywrlock F
>  GLIBC_2.1 pthread_rwlockattr_destroy F
> @@ -49,7 +48,6 @@ GLIBC_2.12 pthread_getname_np F
>  GLIBC_2.12 pthread_setname_np F
>  GLIBC_2.18 pthread_getattr_default_np F
>  GLIBC_2.18 pthread_setattr_default_np F
> -GLIBC_2.2 __pthread_rwlock_init F
>  GLIBC_2.2 __pthread_rwlock_tryrdlock F
>  GLIBC_2.2 __pthread_rwlock_trywrlock F
>  GLIBC_2.2 pthread_attr_getstack F
> diff --git a/sysdeps/unix/sysv/linux/arc/libc.abilist b/sysdeps/unix/sysv/linux/arc/libc.abilist
> index 832ac4e217..a5fff26d3a 100644
> --- a/sysdeps/unix/sysv/linux/arc/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/arc/libc.abilist
> @@ -340,6 +340,7 @@ GLIBC_2.32 __pthread_mutexattr_init F
>  GLIBC_2.32 __pthread_mutexattr_settype F
>  GLIBC_2.32 __pthread_once F
>  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_unlock F
>  GLIBC_2.32 __pthread_rwlock_wrlock F
> @@ -1432,6 +1433,7 @@ GLIBC_2.32 pthread_once F
>  GLIBC_2.32 pthread_rwlock_clockrdlock F
>  GLIBC_2.32 pthread_rwlock_clockwrlock F
>  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_unlock F
>  GLIBC_2.32 pthread_rwlock_wrlock F
> @@ -2044,6 +2046,7 @@ GLIBC_2.34 pthread_once F
>  GLIBC_2.34 pthread_rwlock_clockrdlock F
>  GLIBC_2.34 pthread_rwlock_clockwrlock F
>  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_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
> diff --git a/sysdeps/unix/sysv/linux/arc/libpthread.abilist b/sysdeps/unix/sysv/linux/arc/libpthread.abilist
> index 0d819a63b1..d71f38bf24 100644
> --- a/sysdeps/unix/sysv/linux/arc/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/arc/libpthread.abilist
> @@ -4,7 +4,6 @@ GLIBC_2.32 _IO_funlockfile F
>  GLIBC_2.32 __errno_location F
>  GLIBC_2.32 __pthread_register_cancel F
>  GLIBC_2.32 __pthread_register_cancel_defer F
> -GLIBC_2.32 __pthread_rwlock_init F
>  GLIBC_2.32 __pthread_rwlock_tryrdlock F
>  GLIBC_2.32 __pthread_rwlock_trywrlock F
>  GLIBC_2.32 __pthread_unregister_cancel F
> @@ -50,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_init F
>  GLIBC_2.32 pthread_rwlock_timedrdlock F
>  GLIBC_2.32 pthread_rwlock_timedwrlock F
>  GLIBC_2.32 pthread_rwlock_tryrdlock F
> diff --git a/sysdeps/unix/sysv/linux/arm/be/libc.abilist b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
> index dcba73cb45..6595cad027 100644
> --- a/sysdeps/unix/sysv/linux/arm/be/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
> @@ -207,6 +207,7 @@ GLIBC_2.34 pthread_once F
>  GLIBC_2.34 pthread_rwlock_clockrdlock F
>  GLIBC_2.34 pthread_rwlock_clockwrlock F
>  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_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
> @@ -556,6 +557,7 @@ GLIBC_2.4 __pthread_mutexattr_init F
>  GLIBC_2.4 __pthread_mutexattr_settype F
>  GLIBC_2.4 __pthread_once F
>  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_unlock F
>  GLIBC_2.4 __pthread_rwlock_wrlock F
> @@ -1651,6 +1653,7 @@ GLIBC_2.4 pthread_mutexattr_setrobust_np F
>  GLIBC_2.4 pthread_mutexattr_settype F
>  GLIBC_2.4 pthread_once F
>  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_unlock F
>  GLIBC_2.4 pthread_rwlock_wrlock F
> diff --git a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
> index 85d9816c4e..1340d32c7f 100644
> --- a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
> @@ -33,7 +33,6 @@ GLIBC_2.4 __errno_location F
>  GLIBC_2.4 __libpthread_version_placeholder F
>  GLIBC_2.4 __pthread_register_cancel F
>  GLIBC_2.4 __pthread_register_cancel_defer F
> -GLIBC_2.4 __pthread_rwlock_init F
>  GLIBC_2.4 __pthread_rwlock_tryrdlock F
>  GLIBC_2.4 __pthread_rwlock_trywrlock F
>  GLIBC_2.4 __pthread_unregister_cancel F
> @@ -63,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_init F
>  GLIBC_2.4 pthread_rwlock_timedrdlock F
>  GLIBC_2.4 pthread_rwlock_timedwrlock F
>  GLIBC_2.4 pthread_rwlock_tryrdlock F
> diff --git a/sysdeps/unix/sysv/linux/arm/le/libc.abilist b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
> index d401b85fc9..f4dbe63497 100644
> --- a/sysdeps/unix/sysv/linux/arm/le/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
> @@ -204,6 +204,7 @@ GLIBC_2.34 pthread_once F
>  GLIBC_2.34 pthread_rwlock_clockrdlock F
>  GLIBC_2.34 pthread_rwlock_clockwrlock F
>  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_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
> @@ -553,6 +554,7 @@ GLIBC_2.4 __pthread_mutexattr_init F
>  GLIBC_2.4 __pthread_mutexattr_settype F
>  GLIBC_2.4 __pthread_once F
>  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_unlock F
>  GLIBC_2.4 __pthread_rwlock_wrlock F
> @@ -1648,6 +1650,7 @@ GLIBC_2.4 pthread_mutexattr_setrobust_np F
>  GLIBC_2.4 pthread_mutexattr_settype F
>  GLIBC_2.4 pthread_once F
>  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_unlock F
>  GLIBC_2.4 pthread_rwlock_wrlock F
> diff --git a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
> index 85d9816c4e..1340d32c7f 100644
> --- a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
> @@ -33,7 +33,6 @@ GLIBC_2.4 __errno_location F
>  GLIBC_2.4 __libpthread_version_placeholder F
>  GLIBC_2.4 __pthread_register_cancel F
>  GLIBC_2.4 __pthread_register_cancel_defer F
> -GLIBC_2.4 __pthread_rwlock_init F
>  GLIBC_2.4 __pthread_rwlock_tryrdlock F
>  GLIBC_2.4 __pthread_rwlock_trywrlock F
>  GLIBC_2.4 __pthread_unregister_cancel F
> @@ -63,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_init F
>  GLIBC_2.4 pthread_rwlock_timedrdlock F
>  GLIBC_2.4 pthread_rwlock_timedwrlock F
>  GLIBC_2.4 pthread_rwlock_tryrdlock F
> diff --git a/sysdeps/unix/sysv/linux/csky/libc.abilist b/sysdeps/unix/sysv/linux/csky/libc.abilist
> index a99d18b478..c0a28cd1d4 100644
> --- a/sysdeps/unix/sysv/linux/csky/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/csky/libc.abilist
> @@ -344,6 +344,7 @@ GLIBC_2.29 __pthread_mutexattr_init F
>  GLIBC_2.29 __pthread_mutexattr_settype F
>  GLIBC_2.29 __pthread_once F
>  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_unlock F
>  GLIBC_2.29 __pthread_rwlock_wrlock F
> @@ -1489,6 +1490,7 @@ GLIBC_2.29 pthread_mutexattr_setrobust_np F
>  GLIBC_2.29 pthread_mutexattr_settype F
>  GLIBC_2.29 pthread_once F
>  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_unlock F
>  GLIBC_2.29 pthread_rwlock_wrlock F
> @@ -2228,6 +2230,7 @@ GLIBC_2.34 pthread_once F
>  GLIBC_2.34 pthread_rwlock_clockrdlock F
>  GLIBC_2.34 pthread_rwlock_clockwrlock F
>  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_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
> diff --git a/sysdeps/unix/sysv/linux/csky/libpthread.abilist b/sysdeps/unix/sysv/linux/csky/libpthread.abilist
> index 21d9318f9a..8c2eacba71 100644
> --- a/sysdeps/unix/sysv/linux/csky/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/csky/libpthread.abilist
> @@ -4,7 +4,6 @@ GLIBC_2.29 _IO_funlockfile F
>  GLIBC_2.29 __errno_location F
>  GLIBC_2.29 __pthread_register_cancel F
>  GLIBC_2.29 __pthread_register_cancel_defer F
> -GLIBC_2.29 __pthread_rwlock_init F
>  GLIBC_2.29 __pthread_rwlock_tryrdlock F
>  GLIBC_2.29 __pthread_rwlock_trywrlock F
>  GLIBC_2.29 __pthread_unregister_cancel F
> @@ -49,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_init F
>  GLIBC_2.29 pthread_rwlock_timedrdlock F
>  GLIBC_2.29 pthread_rwlock_timedwrlock F
>  GLIBC_2.29 pthread_rwlock_tryrdlock F
> diff --git a/sysdeps/unix/sysv/linux/hppa/libc.abilist b/sysdeps/unix/sysv/linux/hppa/libc.abilist
> index 7d0c716a6d..50253bac3f 100644
> --- a/sysdeps/unix/sysv/linux/hppa/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/hppa/libc.abilist
> @@ -370,6 +370,7 @@ GLIBC_2.2 __pthread_mutexattr_init F
>  GLIBC_2.2 __pthread_mutexattr_settype F
>  GLIBC_2.2 __pthread_once F
>  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_unlock F
>  GLIBC_2.2 __pthread_rwlock_wrlock F
> @@ -1313,6 +1314,7 @@ GLIBC_2.2 pthread_mutexattr_setpshared F
>  GLIBC_2.2 pthread_mutexattr_settype F
>  GLIBC_2.2 pthread_once F
>  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_unlock F
>  GLIBC_2.2 pthread_rwlock_wrlock F
> @@ -2179,6 +2181,7 @@ GLIBC_2.34 pthread_once F
>  GLIBC_2.34 pthread_rwlock_clockrdlock F
>  GLIBC_2.34 pthread_rwlock_clockwrlock F
>  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_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
> diff --git a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
> index 82bc0321f5..52da9c0a32 100644
> --- a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
> @@ -7,7 +7,6 @@ GLIBC_2.2 _IO_flockfile F
>  GLIBC_2.2 _IO_ftrylockfile F
>  GLIBC_2.2 _IO_funlockfile F
>  GLIBC_2.2 __errno_location F
> -GLIBC_2.2 __pthread_rwlock_init F
>  GLIBC_2.2 __pthread_rwlock_tryrdlock F
>  GLIBC_2.2 __pthread_rwlock_trywrlock F
>  GLIBC_2.2 flockfile F
> @@ -33,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_init F
>  GLIBC_2.2 pthread_rwlock_timedrdlock F
>  GLIBC_2.2 pthread_rwlock_timedwrlock F
>  GLIBC_2.2 pthread_rwlock_tryrdlock F
> diff --git a/sysdeps/unix/sysv/linux/i386/libc.abilist b/sysdeps/unix/sysv/linux/i386/libc.abilist
> index 906baf44bf..4a6e8cf210 100644
> --- a/sysdeps/unix/sysv/linux/i386/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/i386/libc.abilist
> @@ -1575,6 +1575,7 @@ GLIBC_2.1 pthread_attr_init F
>  GLIBC_2.1 pthread_mutexattr_gettype F
>  GLIBC_2.1 pthread_mutexattr_settype F
>  GLIBC_2.1 pthread_rwlock_destroy F
> +GLIBC_2.1 pthread_rwlock_init F
>  GLIBC_2.1 pthread_rwlock_rdlock F
>  GLIBC_2.1 pthread_rwlock_unlock F
>  GLIBC_2.1 pthread_rwlock_wrlock F
> @@ -1891,6 +1892,7 @@ GLIBC_2.2 __nl_langinfo_l F
>  GLIBC_2.2 __open64 F
>  GLIBC_2.2 __pread64 F
>  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_unlock F
>  GLIBC_2.2 __pthread_rwlock_wrlock F
> @@ -2356,6 +2358,7 @@ GLIBC_2.34 pthread_once F
>  GLIBC_2.34 pthread_rwlock_clockrdlock F
>  GLIBC_2.34 pthread_rwlock_clockwrlock F
>  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_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
> diff --git a/sysdeps/unix/sysv/linux/i386/libpthread.abilist b/sysdeps/unix/sysv/linux/i386/libpthread.abilist
> index ad2e81096d..a0daef9d41 100644
> --- a/sysdeps/unix/sysv/linux/i386/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/i386/libpthread.abilist
> @@ -24,7 +24,6 @@ GLIBC_2.1 pthread_attr_setstackaddr F
>  GLIBC_2.1 pthread_attr_setstacksize F
>  GLIBC_2.1 pthread_create F
>  GLIBC_2.1 pthread_getconcurrency F
> -GLIBC_2.1 pthread_rwlock_init F
>  GLIBC_2.1 pthread_rwlock_tryrdlock F
>  GLIBC_2.1 pthread_rwlock_trywrlock F
>  GLIBC_2.1 pthread_rwlockattr_destroy F
> @@ -49,7 +48,6 @@ GLIBC_2.12 pthread_getname_np F
>  GLIBC_2.12 pthread_setname_np F
>  GLIBC_2.18 pthread_getattr_default_np F
>  GLIBC_2.18 pthread_setattr_default_np F
> -GLIBC_2.2 __pthread_rwlock_init F
>  GLIBC_2.2 __pthread_rwlock_tryrdlock F
>  GLIBC_2.2 __pthread_rwlock_trywrlock F
>  GLIBC_2.2 pthread_attr_getstack F
> diff --git a/sysdeps/unix/sysv/linux/ia64/libc.abilist b/sysdeps/unix/sysv/linux/ia64/libc.abilist
> index f92ae402f9..ba34d9e68f 100644
> --- a/sysdeps/unix/sysv/linux/ia64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/ia64/libc.abilist
> @@ -374,6 +374,7 @@ GLIBC_2.2 __pthread_mutexattr_init F
>  GLIBC_2.2 __pthread_mutexattr_settype F
>  GLIBC_2.2 __pthread_once F
>  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_unlock F
>  GLIBC_2.2 __pthread_rwlock_wrlock F
> @@ -1334,6 +1335,7 @@ GLIBC_2.2 pthread_mutexattr_setpshared F
>  GLIBC_2.2 pthread_mutexattr_settype F
>  GLIBC_2.2 pthread_once F
>  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_unlock F
>  GLIBC_2.2 pthread_rwlock_wrlock F
> @@ -2213,6 +2215,7 @@ GLIBC_2.34 pthread_once F
>  GLIBC_2.34 pthread_rwlock_clockrdlock F
>  GLIBC_2.34 pthread_rwlock_clockwrlock F
>  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_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
> diff --git a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
> index 6d11adb7da..5d186fc586 100644
> --- a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
> @@ -7,7 +7,6 @@ GLIBC_2.2 _IO_flockfile F
>  GLIBC_2.2 _IO_ftrylockfile F
>  GLIBC_2.2 _IO_funlockfile F
>  GLIBC_2.2 __errno_location F
> -GLIBC_2.2 __pthread_rwlock_init F
>  GLIBC_2.2 __pthread_rwlock_tryrdlock F
>  GLIBC_2.2 __pthread_rwlock_trywrlock F
>  GLIBC_2.2 flockfile F
> @@ -33,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_init F
>  GLIBC_2.2 pthread_rwlock_timedrdlock F
>  GLIBC_2.2 pthread_rwlock_timedwrlock F
>  GLIBC_2.2 pthread_rwlock_tryrdlock F
> diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
> index cb6bd2ec33..2a31f0acd5 100644
> --- a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
> @@ -208,6 +208,7 @@ GLIBC_2.34 pthread_once F
>  GLIBC_2.34 pthread_rwlock_clockrdlock F
>  GLIBC_2.34 pthread_rwlock_clockwrlock F
>  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_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
> @@ -542,6 +543,7 @@ GLIBC_2.4 __pthread_mutexattr_init F
>  GLIBC_2.4 __pthread_mutexattr_settype F
>  GLIBC_2.4 __pthread_once F
>  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_unlock F
>  GLIBC_2.4 __pthread_rwlock_wrlock F
> @@ -1631,6 +1633,7 @@ GLIBC_2.4 pthread_mutexattr_setrobust_np F
>  GLIBC_2.4 pthread_mutexattr_settype F
>  GLIBC_2.4 pthread_once F
>  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_unlock F
>  GLIBC_2.4 pthread_rwlock_wrlock F
> diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
> index 85d9816c4e..1340d32c7f 100644
> --- a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
> @@ -33,7 +33,6 @@ GLIBC_2.4 __errno_location F
>  GLIBC_2.4 __libpthread_version_placeholder F
>  GLIBC_2.4 __pthread_register_cancel F
>  GLIBC_2.4 __pthread_register_cancel_defer F
> -GLIBC_2.4 __pthread_rwlock_init F
>  GLIBC_2.4 __pthread_rwlock_tryrdlock F
>  GLIBC_2.4 __pthread_rwlock_trywrlock F
>  GLIBC_2.4 __pthread_unregister_cancel F
> @@ -63,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_init F
>  GLIBC_2.4 pthread_rwlock_timedrdlock F
>  GLIBC_2.4 pthread_rwlock_timedwrlock F
>  GLIBC_2.4 pthread_rwlock_tryrdlock F
> diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
> index 5e1c0c5f92..4528a06d6f 100644
> --- a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
> @@ -1571,6 +1571,7 @@ GLIBC_2.1 pthread_attr_init F
>  GLIBC_2.1 pthread_mutexattr_gettype F
>  GLIBC_2.1 pthread_mutexattr_settype F
>  GLIBC_2.1 pthread_rwlock_destroy F
> +GLIBC_2.1 pthread_rwlock_init F
>  GLIBC_2.1 pthread_rwlock_rdlock F
>  GLIBC_2.1 pthread_rwlock_unlock F
>  GLIBC_2.1 pthread_rwlock_wrlock F
> @@ -1847,6 +1848,7 @@ GLIBC_2.2 __nl_langinfo_l F
>  GLIBC_2.2 __open64 F
>  GLIBC_2.2 __pread64 F
>  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_unlock F
>  GLIBC_2.2 __pthread_rwlock_wrlock F
> @@ -2299,6 +2301,7 @@ GLIBC_2.34 pthread_once F
>  GLIBC_2.34 pthread_rwlock_clockrdlock F
>  GLIBC_2.34 pthread_rwlock_clockwrlock F
>  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_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
> diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
> index ad2e81096d..a0daef9d41 100644
> --- a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
> @@ -24,7 +24,6 @@ GLIBC_2.1 pthread_attr_setstackaddr F
>  GLIBC_2.1 pthread_attr_setstacksize F
>  GLIBC_2.1 pthread_create F
>  GLIBC_2.1 pthread_getconcurrency F
> -GLIBC_2.1 pthread_rwlock_init F
>  GLIBC_2.1 pthread_rwlock_tryrdlock F
>  GLIBC_2.1 pthread_rwlock_trywrlock F
>  GLIBC_2.1 pthread_rwlockattr_destroy F
> @@ -49,7 +48,6 @@ GLIBC_2.12 pthread_getname_np F
>  GLIBC_2.12 pthread_setname_np F
>  GLIBC_2.18 pthread_getattr_default_np F
>  GLIBC_2.18 pthread_setattr_default_np F
> -GLIBC_2.2 __pthread_rwlock_init F
>  GLIBC_2.2 __pthread_rwlock_tryrdlock F
>  GLIBC_2.2 __pthread_rwlock_trywrlock F
>  GLIBC_2.2 pthread_attr_getstack F
> diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
> index 824dea1e05..0f6be8c0f2 100644
> --- a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
> @@ -352,6 +352,7 @@ GLIBC_2.18 __pthread_mutexattr_init F
>  GLIBC_2.18 __pthread_mutexattr_settype F
>  GLIBC_2.18 __pthread_once F
>  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_unlock F
>  GLIBC_2.18 __pthread_rwlock_wrlock F
> @@ -1504,6 +1505,7 @@ GLIBC_2.18 pthread_mutexattr_setrobust_np F
>  GLIBC_2.18 pthread_mutexattr_settype F
>  GLIBC_2.18 pthread_once F
>  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_unlock F
>  GLIBC_2.18 pthread_rwlock_wrlock F
> @@ -2279,6 +2281,7 @@ GLIBC_2.34 pthread_once F
>  GLIBC_2.34 pthread_rwlock_clockrdlock F
>  GLIBC_2.34 pthread_rwlock_clockwrlock F
>  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_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
> diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
> index 7d0c9cf145..968fcfd1df 100644
> --- a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
> @@ -4,7 +4,6 @@ GLIBC_2.18 _IO_funlockfile F
>  GLIBC_2.18 __errno_location F
>  GLIBC_2.18 __pthread_register_cancel F
>  GLIBC_2.18 __pthread_register_cancel_defer F
> -GLIBC_2.18 __pthread_rwlock_init F
>  GLIBC_2.18 __pthread_rwlock_tryrdlock F
>  GLIBC_2.18 __pthread_rwlock_trywrlock F
>  GLIBC_2.18 __pthread_unregister_cancel F
> @@ -36,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_init F
>  GLIBC_2.18 pthread_rwlock_timedrdlock F
>  GLIBC_2.18 pthread_rwlock_timedwrlock F
>  GLIBC_2.18 pthread_rwlock_tryrdlock F
> diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
> index 177bd7f5e4..a024c588b1 100644
> --- a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
> @@ -352,6 +352,7 @@ GLIBC_2.18 __pthread_mutexattr_init F
>  GLIBC_2.18 __pthread_mutexattr_settype F
>  GLIBC_2.18 __pthread_once F
>  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_unlock F
>  GLIBC_2.18 __pthread_rwlock_wrlock F
> @@ -1504,6 +1505,7 @@ GLIBC_2.18 pthread_mutexattr_setrobust_np F
>  GLIBC_2.18 pthread_mutexattr_settype F
>  GLIBC_2.18 pthread_once F
>  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_unlock F
>  GLIBC_2.18 pthread_rwlock_wrlock F
> @@ -2276,6 +2278,7 @@ GLIBC_2.34 pthread_once F
>  GLIBC_2.34 pthread_rwlock_clockrdlock F
>  GLIBC_2.34 pthread_rwlock_clockwrlock F
>  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_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
> diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
> index 7d0c9cf145..968fcfd1df 100644
> --- a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
> @@ -4,7 +4,6 @@ GLIBC_2.18 _IO_funlockfile F
>  GLIBC_2.18 __errno_location F
>  GLIBC_2.18 __pthread_register_cancel F
>  GLIBC_2.18 __pthread_register_cancel_defer F
> -GLIBC_2.18 __pthread_rwlock_init F
>  GLIBC_2.18 __pthread_rwlock_tryrdlock F
>  GLIBC_2.18 __pthread_rwlock_trywrlock F
>  GLIBC_2.18 __pthread_unregister_cancel F
> @@ -36,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_init F
>  GLIBC_2.18 pthread_rwlock_timedrdlock F
>  GLIBC_2.18 pthread_rwlock_timedwrlock F
>  GLIBC_2.18 pthread_rwlock_tryrdlock F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
> index db80dbe227..f70ab56969 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
> @@ -1545,6 +1545,7 @@ GLIBC_2.2 __open64 F
>  GLIBC_2.2 __poll F
>  GLIBC_2.2 __pread64 F
>  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_unlock F
>  GLIBC_2.2 __pthread_rwlock_wrlock F
> @@ -1843,6 +1844,7 @@ GLIBC_2.2 pthread_mutexattr_gettype F
>  GLIBC_2.2 pthread_mutexattr_setpshared F
>  GLIBC_2.2 pthread_mutexattr_settype F
>  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_unlock F
>  GLIBC_2.2 pthread_rwlock_wrlock F
> @@ -2262,6 +2264,7 @@ GLIBC_2.34 pthread_once F
>  GLIBC_2.34 pthread_rwlock_clockrdlock F
>  GLIBC_2.34 pthread_rwlock_clockwrlock F
>  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_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
> index 14e375c8da..a09a4dc5e3 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
> @@ -21,7 +21,6 @@ GLIBC_2.12 pthread_getname_np F
>  GLIBC_2.12 pthread_setname_np F
>  GLIBC_2.18 pthread_getattr_default_np F
>  GLIBC_2.18 pthread_setattr_default_np F
> -GLIBC_2.2 __pthread_rwlock_init F
>  GLIBC_2.2 __pthread_rwlock_tryrdlock F
>  GLIBC_2.2 __pthread_rwlock_trywrlock F
>  GLIBC_2.2 pthread_attr_getguardsize F
> @@ -41,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_init F
>  GLIBC_2.2 pthread_rwlock_timedrdlock F
>  GLIBC_2.2 pthread_rwlock_timedwrlock F
>  GLIBC_2.2 pthread_rwlock_tryrdlock F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
> index 46fbef56f2..996626fc69 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
> @@ -1543,6 +1543,7 @@ GLIBC_2.2 __open64 F
>  GLIBC_2.2 __poll F
>  GLIBC_2.2 __pread64 F
>  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_unlock F
>  GLIBC_2.2 __pthread_rwlock_wrlock F
> @@ -1841,6 +1842,7 @@ GLIBC_2.2 pthread_mutexattr_gettype F
>  GLIBC_2.2 pthread_mutexattr_setpshared F
>  GLIBC_2.2 pthread_mutexattr_settype F
>  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_unlock F
>  GLIBC_2.2 pthread_rwlock_wrlock F
> @@ -2260,6 +2262,7 @@ GLIBC_2.34 pthread_once F
>  GLIBC_2.34 pthread_rwlock_clockrdlock F
>  GLIBC_2.34 pthread_rwlock_clockwrlock F
>  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_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
> index 14e375c8da..a09a4dc5e3 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
> @@ -21,7 +21,6 @@ GLIBC_2.12 pthread_getname_np F
>  GLIBC_2.12 pthread_setname_np F
>  GLIBC_2.18 pthread_getattr_default_np F
>  GLIBC_2.18 pthread_setattr_default_np F
> -GLIBC_2.2 __pthread_rwlock_init F
>  GLIBC_2.2 __pthread_rwlock_tryrdlock F
>  GLIBC_2.2 __pthread_rwlock_trywrlock F
>  GLIBC_2.2 pthread_attr_getguardsize F
> @@ -41,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_init F
>  GLIBC_2.2 pthread_rwlock_timedrdlock F
>  GLIBC_2.2 pthread_rwlock_timedwrlock F
>  GLIBC_2.2 pthread_rwlock_tryrdlock F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
> index 02b3a04e1d..fcef7cf463 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
> @@ -1543,6 +1543,7 @@ GLIBC_2.2 __open64 F
>  GLIBC_2.2 __poll F
>  GLIBC_2.2 __pread64 F
>  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_unlock F
>  GLIBC_2.2 __pthread_rwlock_wrlock F
> @@ -1841,6 +1842,7 @@ GLIBC_2.2 pthread_mutexattr_gettype F
>  GLIBC_2.2 pthread_mutexattr_setpshared F
>  GLIBC_2.2 pthread_mutexattr_settype F
>  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_unlock F
>  GLIBC_2.2 pthread_rwlock_wrlock F
> @@ -2268,6 +2270,7 @@ GLIBC_2.34 pthread_once F
>  GLIBC_2.34 pthread_rwlock_clockrdlock F
>  GLIBC_2.34 pthread_rwlock_clockwrlock F
>  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_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
> index ffbd2d7e1a..e6425649d7 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
> @@ -1539,6 +1539,7 @@ GLIBC_2.2 __open64 F
>  GLIBC_2.2 __poll F
>  GLIBC_2.2 __pread64 F
>  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_unlock F
>  GLIBC_2.2 __pthread_rwlock_wrlock F
> @@ -1837,6 +1838,7 @@ GLIBC_2.2 pthread_mutexattr_gettype F
>  GLIBC_2.2 pthread_mutexattr_setpshared F
>  GLIBC_2.2 pthread_mutexattr_settype F
>  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_unlock F
>  GLIBC_2.2 pthread_rwlock_wrlock F
> @@ -2262,6 +2264,7 @@ GLIBC_2.34 pthread_once F
>  GLIBC_2.34 pthread_rwlock_clockrdlock F
>  GLIBC_2.34 pthread_rwlock_clockwrlock F
>  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_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
> diff --git a/sysdeps/unix/sysv/linux/nios2/libc.abilist b/sysdeps/unix/sysv/linux/nios2/libc.abilist
> index 5a5b32e243..28b29918a8 100644
> --- a/sysdeps/unix/sysv/linux/nios2/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/nios2/libc.abilist
> @@ -389,6 +389,7 @@ GLIBC_2.21 __pthread_mutexattr_init F
>  GLIBC_2.21 __pthread_mutexattr_settype F
>  GLIBC_2.21 __pthread_once F
>  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_unlock F
>  GLIBC_2.21 __pthread_rwlock_wrlock F
> @@ -1547,6 +1548,7 @@ GLIBC_2.21 pthread_mutexattr_setrobust_np F
>  GLIBC_2.21 pthread_mutexattr_settype F
>  GLIBC_2.21 pthread_once F
>  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_unlock F
>  GLIBC_2.21 pthread_rwlock_wrlock F
> @@ -2318,6 +2320,7 @@ GLIBC_2.34 pthread_once F
>  GLIBC_2.34 pthread_rwlock_clockrdlock F
>  GLIBC_2.34 pthread_rwlock_clockwrlock F
>  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_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
> diff --git a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
> index 547413fcf0..a13844bb1d 100644
> --- a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
> @@ -4,7 +4,6 @@ GLIBC_2.21 _IO_funlockfile F
>  GLIBC_2.21 __errno_location F
>  GLIBC_2.21 __pthread_register_cancel F
>  GLIBC_2.21 __pthread_register_cancel_defer F
> -GLIBC_2.21 __pthread_rwlock_init F
>  GLIBC_2.21 __pthread_rwlock_tryrdlock F
>  GLIBC_2.21 __pthread_rwlock_trywrlock F
>  GLIBC_2.21 __pthread_unregister_cancel F
> @@ -36,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_init F
>  GLIBC_2.21 pthread_rwlock_timedrdlock F
>  GLIBC_2.21 pthread_rwlock_timedwrlock F
>  GLIBC_2.21 pthread_rwlock_tryrdlock F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
> index 80fed3fb6c..7ef1e07d22 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
> @@ -1579,6 +1579,7 @@ GLIBC_2.1 pthread_attr_init F
>  GLIBC_2.1 pthread_mutexattr_gettype F
>  GLIBC_2.1 pthread_mutexattr_settype F
>  GLIBC_2.1 pthread_rwlock_destroy F
> +GLIBC_2.1 pthread_rwlock_init F
>  GLIBC_2.1 pthread_rwlock_rdlock F
>  GLIBC_2.1 pthread_rwlock_unlock F
>  GLIBC_2.1 pthread_rwlock_wrlock F
> @@ -1853,6 +1854,7 @@ GLIBC_2.2 __nl_langinfo_l F
>  GLIBC_2.2 __open64 F
>  GLIBC_2.2 __pread64 F
>  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_unlock F
>  GLIBC_2.2 __pthread_rwlock_wrlock F
> @@ -2326,6 +2328,7 @@ GLIBC_2.34 pthread_once F
>  GLIBC_2.34 pthread_rwlock_clockrdlock F
>  GLIBC_2.34 pthread_rwlock_clockwrlock F
>  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_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
> index aff96f37d4..8c16c499ad 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
> @@ -24,7 +24,6 @@ GLIBC_2.1 pthread_attr_setstackaddr F
>  GLIBC_2.1 pthread_attr_setstacksize F
>  GLIBC_2.1 pthread_create F
>  GLIBC_2.1 pthread_getconcurrency F
> -GLIBC_2.1 pthread_rwlock_init F
>  GLIBC_2.1 pthread_rwlock_tryrdlock F
>  GLIBC_2.1 pthread_rwlock_trywrlock F
>  GLIBC_2.1 pthread_rwlockattr_destroy F
> @@ -49,7 +48,6 @@ GLIBC_2.12 pthread_getname_np F
>  GLIBC_2.12 pthread_setname_np F
>  GLIBC_2.18 pthread_getattr_default_np F
>  GLIBC_2.18 pthread_setattr_default_np F
> -GLIBC_2.2 __pthread_rwlock_init F
>  GLIBC_2.2 __pthread_rwlock_tryrdlock F
>  GLIBC_2.2 __pthread_rwlock_trywrlock F
>  GLIBC_2.2 pthread_attr_getstack F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
> index 1673ad274d..a125dae857 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
> @@ -1579,6 +1579,7 @@ GLIBC_2.1 pthread_attr_init F
>  GLIBC_2.1 pthread_mutexattr_gettype F
>  GLIBC_2.1 pthread_mutexattr_settype F
>  GLIBC_2.1 pthread_rwlock_destroy F
> +GLIBC_2.1 pthread_rwlock_init F
>  GLIBC_2.1 pthread_rwlock_rdlock F
>  GLIBC_2.1 pthread_rwlock_unlock F
>  GLIBC_2.1 pthread_rwlock_wrlock F
> @@ -1857,6 +1858,7 @@ GLIBC_2.2 __nl_langinfo_l F
>  GLIBC_2.2 __open64 F
>  GLIBC_2.2 __pread64 F
>  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_unlock F
>  GLIBC_2.2 __pthread_rwlock_wrlock F
> @@ -2359,6 +2361,7 @@ GLIBC_2.34 pthread_once F
>  GLIBC_2.34 pthread_rwlock_clockrdlock F
>  GLIBC_2.34 pthread_rwlock_clockwrlock F
>  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_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
> index dd4d6d1fcc..90f7f52f9b 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
> @@ -423,6 +423,7 @@ GLIBC_2.3 __pthread_mutexattr_init F
>  GLIBC_2.3 __pthread_mutexattr_settype F
>  GLIBC_2.3 __pthread_once F
>  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_unlock F
>  GLIBC_2.3 __pthread_rwlock_wrlock F
> @@ -1419,6 +1420,7 @@ GLIBC_2.3 pthread_mutexattr_setpshared F
>  GLIBC_2.3 pthread_mutexattr_settype F
>  GLIBC_2.3 pthread_once F
>  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_unlock F
>  GLIBC_2.3 pthread_rwlock_wrlock F
> @@ -2180,6 +2182,7 @@ GLIBC_2.34 pthread_once F
>  GLIBC_2.34 pthread_rwlock_clockrdlock F
>  GLIBC_2.34 pthread_rwlock_clockwrlock F
>  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_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
> index 558fb1b7db..099a75abb3 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
> @@ -28,7 +28,6 @@ GLIBC_2.3 _IO_flockfile F
>  GLIBC_2.3 _IO_ftrylockfile F
>  GLIBC_2.3 _IO_funlockfile F
>  GLIBC_2.3 __errno_location F
> -GLIBC_2.3 __pthread_rwlock_init F
>  GLIBC_2.3 __pthread_rwlock_tryrdlock F
>  GLIBC_2.3 __pthread_rwlock_trywrlock F
>  GLIBC_2.3 flockfile F
> @@ -54,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_init F
>  GLIBC_2.3 pthread_rwlock_timedrdlock F
>  GLIBC_2.3 pthread_rwlock_timedwrlock F
>  GLIBC_2.3 pthread_rwlock_tryrdlock F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
> index 9c3dba4573..203e333287 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
> @@ -437,6 +437,7 @@ GLIBC_2.17 __pthread_mutexattr_init F
>  GLIBC_2.17 __pthread_mutexattr_settype F
>  GLIBC_2.17 __pthread_once F
>  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_unlock F
>  GLIBC_2.17 __pthread_rwlock_wrlock F
> @@ -1590,6 +1591,7 @@ GLIBC_2.17 pthread_mutexattr_setrobust_np F
>  GLIBC_2.17 pthread_mutexattr_settype F
>  GLIBC_2.17 pthread_once F
>  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_unlock F
>  GLIBC_2.17 pthread_rwlock_wrlock F
> @@ -2481,6 +2483,7 @@ GLIBC_2.34 pthread_once F
>  GLIBC_2.34 pthread_rwlock_clockrdlock F
>  GLIBC_2.34 pthread_rwlock_clockwrlock F
>  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_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
> index ebdbdfa867..c6dee0cc25 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
> @@ -4,7 +4,6 @@ GLIBC_2.17 _IO_funlockfile F
>  GLIBC_2.17 __errno_location F
>  GLIBC_2.17 __pthread_register_cancel F
>  GLIBC_2.17 __pthread_register_cancel_defer F
> -GLIBC_2.17 __pthread_rwlock_init F
>  GLIBC_2.17 __pthread_rwlock_tryrdlock F
>  GLIBC_2.17 __pthread_rwlock_trywrlock F
>  GLIBC_2.17 __pthread_unregister_cancel F
> @@ -35,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_init F
>  GLIBC_2.17 pthread_rwlock_timedrdlock F
>  GLIBC_2.17 pthread_rwlock_timedwrlock F
>  GLIBC_2.17 pthread_rwlock_tryrdlock F
> diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
> index 44ab3eacef..5754bd09b5 100644
> --- a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
> @@ -337,6 +337,7 @@ GLIBC_2.33 __pthread_mutexattr_init F
>  GLIBC_2.33 __pthread_mutexattr_settype F
>  GLIBC_2.33 __pthread_once F
>  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_unlock F
>  GLIBC_2.33 __pthread_rwlock_wrlock F
> @@ -1434,6 +1435,7 @@ GLIBC_2.33 pthread_once F
>  GLIBC_2.33 pthread_rwlock_clockrdlock F
>  GLIBC_2.33 pthread_rwlock_clockwrlock F
>  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_unlock F
>  GLIBC_2.33 pthread_rwlock_wrlock F
> @@ -2046,6 +2048,7 @@ GLIBC_2.34 pthread_once F
>  GLIBC_2.34 pthread_rwlock_clockrdlock F
>  GLIBC_2.34 pthread_rwlock_clockwrlock F
>  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_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
> diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
> index d2c8879f18..5774e8e989 100644
> --- a/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
> @@ -4,7 +4,6 @@ GLIBC_2.33 _IO_funlockfile F
>  GLIBC_2.33 __errno_location F
>  GLIBC_2.33 __pthread_register_cancel F
>  GLIBC_2.33 __pthread_register_cancel_defer F
> -GLIBC_2.33 __pthread_rwlock_init F
>  GLIBC_2.33 __pthread_rwlock_tryrdlock F
>  GLIBC_2.33 __pthread_rwlock_trywrlock F
>  GLIBC_2.33 __pthread_unregister_cancel F
> @@ -50,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_init F
>  GLIBC_2.33 pthread_rwlock_timedrdlock F
>  GLIBC_2.33 pthread_rwlock_timedwrlock F
>  GLIBC_2.33 pthread_rwlock_tryrdlock F
> diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
> index b79b1f6726..a63dc8cf06 100644
> --- a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
> @@ -348,6 +348,7 @@ GLIBC_2.27 __pthread_mutexattr_init F
>  GLIBC_2.27 __pthread_mutexattr_settype F
>  GLIBC_2.27 __pthread_once F
>  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_unlock F
>  GLIBC_2.27 __pthread_rwlock_wrlock F
> @@ -1492,6 +1493,7 @@ GLIBC_2.27 pthread_mutexattr_setrobust_np F
>  GLIBC_2.27 pthread_mutexattr_settype F
>  GLIBC_2.27 pthread_once F
>  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_unlock F
>  GLIBC_2.27 pthread_rwlock_wrlock F
> @@ -2246,6 +2248,7 @@ GLIBC_2.34 pthread_once F
>  GLIBC_2.34 pthread_rwlock_clockrdlock F
>  GLIBC_2.34 pthread_rwlock_clockwrlock F
>  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_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
> diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
> index 48a5bd78f0..aafc83b0c1 100644
> --- a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
> @@ -4,7 +4,6 @@ GLIBC_2.27 _IO_funlockfile F
>  GLIBC_2.27 __errno_location F
>  GLIBC_2.27 __pthread_register_cancel F
>  GLIBC_2.27 __pthread_register_cancel_defer F
> -GLIBC_2.27 __pthread_rwlock_init F
>  GLIBC_2.27 __pthread_rwlock_tryrdlock F
>  GLIBC_2.27 __pthread_rwlock_trywrlock F
>  GLIBC_2.27 __pthread_unregister_cancel F
> @@ -36,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_init F
>  GLIBC_2.27 pthread_rwlock_timedrdlock F
>  GLIBC_2.27 pthread_rwlock_timedwrlock F
>  GLIBC_2.27 pthread_rwlock_tryrdlock F
> diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
> index 4c88f1489d..d77f798688 100644
> --- a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
> @@ -1571,6 +1571,7 @@ GLIBC_2.1 pthread_attr_init F
>  GLIBC_2.1 pthread_mutexattr_gettype F
>  GLIBC_2.1 pthread_mutexattr_settype F
>  GLIBC_2.1 pthread_rwlock_destroy F
> +GLIBC_2.1 pthread_rwlock_init F
>  GLIBC_2.1 pthread_rwlock_rdlock F
>  GLIBC_2.1 pthread_rwlock_unlock F
>  GLIBC_2.1 pthread_rwlock_wrlock F
> @@ -1851,6 +1852,7 @@ GLIBC_2.2 __nl_langinfo_l F
>  GLIBC_2.2 __open64 F
>  GLIBC_2.2 __pread64 F
>  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_unlock F
>  GLIBC_2.2 __pthread_rwlock_wrlock F
> @@ -2324,6 +2326,7 @@ GLIBC_2.34 pthread_once F
>  GLIBC_2.34 pthread_rwlock_clockrdlock F
>  GLIBC_2.34 pthread_rwlock_clockwrlock F
>  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_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
> diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
> index 2cac9acdc5..67f28adcac 100644
> --- a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
> @@ -24,7 +24,6 @@ GLIBC_2.1 pthread_attr_setstackaddr F
>  GLIBC_2.1 pthread_attr_setstacksize F
>  GLIBC_2.1 pthread_create F
>  GLIBC_2.1 pthread_getconcurrency F
> -GLIBC_2.1 pthread_rwlock_init F
>  GLIBC_2.1 pthread_rwlock_tryrdlock F
>  GLIBC_2.1 pthread_rwlock_trywrlock F
>  GLIBC_2.1 pthread_rwlockattr_destroy F
> @@ -50,7 +49,6 @@ GLIBC_2.12 pthread_setname_np F
>  GLIBC_2.18 pthread_getattr_default_np F
>  GLIBC_2.18 pthread_setattr_default_np F
>  GLIBC_2.19 __libpthread_version_placeholder F
> -GLIBC_2.2 __pthread_rwlock_init F
>  GLIBC_2.2 __pthread_rwlock_tryrdlock F
>  GLIBC_2.2 __pthread_rwlock_trywrlock F
>  GLIBC_2.2 pthread_attr_getstack F
> diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
> index 7b3f066d8c..0c2b2b80c9 100644
> --- a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
> @@ -384,6 +384,7 @@ GLIBC_2.2 __pthread_mutexattr_init F
>  GLIBC_2.2 __pthread_mutexattr_settype F
>  GLIBC_2.2 __pthread_once F
>  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_unlock F
>  GLIBC_2.2 __pthread_rwlock_wrlock F
> @@ -1331,6 +1332,7 @@ GLIBC_2.2 pthread_mutexattr_setpshared F
>  GLIBC_2.2 pthread_mutexattr_settype F
>  GLIBC_2.2 pthread_once F
>  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_unlock F
>  GLIBC_2.2 pthread_rwlock_wrlock F
> @@ -2217,6 +2219,7 @@ GLIBC_2.34 pthread_once F
>  GLIBC_2.34 pthread_rwlock_clockrdlock F
>  GLIBC_2.34 pthread_rwlock_clockwrlock F
>  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_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
> diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
> index 19792333fe..e8c053292d 100644
> --- a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
> @@ -8,7 +8,6 @@ GLIBC_2.2 _IO_flockfile F
>  GLIBC_2.2 _IO_ftrylockfile F
>  GLIBC_2.2 _IO_funlockfile F
>  GLIBC_2.2 __errno_location F
> -GLIBC_2.2 __pthread_rwlock_init F
>  GLIBC_2.2 __pthread_rwlock_tryrdlock F
>  GLIBC_2.2 __pthread_rwlock_trywrlock F
>  GLIBC_2.2 flockfile F
> @@ -34,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_init F
>  GLIBC_2.2 pthread_rwlock_timedrdlock F
>  GLIBC_2.2 pthread_rwlock_timedwrlock F
>  GLIBC_2.2 pthread_rwlock_tryrdlock F
> diff --git a/sysdeps/unix/sysv/linux/sh/be/libc.abilist b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
> index bda61af088..2383629b95 100644
> --- a/sysdeps/unix/sysv/linux/sh/be/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
> @@ -373,6 +373,7 @@ GLIBC_2.2 __pthread_mutexattr_init F
>  GLIBC_2.2 __pthread_mutexattr_settype F
>  GLIBC_2.2 __pthread_once F
>  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_unlock F
>  GLIBC_2.2 __pthread_rwlock_wrlock F
> @@ -1317,6 +1318,7 @@ GLIBC_2.2 pthread_mutexattr_setpshared F
>  GLIBC_2.2 pthread_mutexattr_settype F
>  GLIBC_2.2 pthread_once F
>  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_unlock F
>  GLIBC_2.2 pthread_rwlock_wrlock F
> @@ -2186,6 +2188,7 @@ GLIBC_2.34 pthread_once F
>  GLIBC_2.34 pthread_rwlock_clockrdlock F
>  GLIBC_2.34 pthread_rwlock_clockwrlock F
>  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_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
> diff --git a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
> index 82bc0321f5..52da9c0a32 100644
> --- a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
> @@ -7,7 +7,6 @@ GLIBC_2.2 _IO_flockfile F
>  GLIBC_2.2 _IO_ftrylockfile F
>  GLIBC_2.2 _IO_funlockfile F
>  GLIBC_2.2 __errno_location F
> -GLIBC_2.2 __pthread_rwlock_init F
>  GLIBC_2.2 __pthread_rwlock_tryrdlock F
>  GLIBC_2.2 __pthread_rwlock_trywrlock F
>  GLIBC_2.2 flockfile F
> @@ -33,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_init F
>  GLIBC_2.2 pthread_rwlock_timedrdlock F
>  GLIBC_2.2 pthread_rwlock_timedwrlock F
>  GLIBC_2.2 pthread_rwlock_tryrdlock F
> diff --git a/sysdeps/unix/sysv/linux/sh/le/libc.abilist b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
> index 7227ced168..66b504e002 100644
> --- a/sysdeps/unix/sysv/linux/sh/le/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
> @@ -373,6 +373,7 @@ GLIBC_2.2 __pthread_mutexattr_init F
>  GLIBC_2.2 __pthread_mutexattr_settype F
>  GLIBC_2.2 __pthread_once F
>  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_unlock F
>  GLIBC_2.2 __pthread_rwlock_wrlock F
> @@ -1317,6 +1318,7 @@ GLIBC_2.2 pthread_mutexattr_setpshared F
>  GLIBC_2.2 pthread_mutexattr_settype F
>  GLIBC_2.2 pthread_once F
>  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_unlock F
>  GLIBC_2.2 pthread_rwlock_wrlock F
> @@ -2183,6 +2185,7 @@ GLIBC_2.34 pthread_once F
>  GLIBC_2.34 pthread_rwlock_clockrdlock F
>  GLIBC_2.34 pthread_rwlock_clockwrlock F
>  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_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
> diff --git a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
> index 82bc0321f5..52da9c0a32 100644
> --- a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
> @@ -7,7 +7,6 @@ GLIBC_2.2 _IO_flockfile F
>  GLIBC_2.2 _IO_ftrylockfile F
>  GLIBC_2.2 _IO_funlockfile F
>  GLIBC_2.2 __errno_location F
> -GLIBC_2.2 __pthread_rwlock_init F
>  GLIBC_2.2 __pthread_rwlock_tryrdlock F
>  GLIBC_2.2 __pthread_rwlock_trywrlock F
>  GLIBC_2.2 flockfile F
> @@ -33,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_init F
>  GLIBC_2.2 pthread_rwlock_timedrdlock F
>  GLIBC_2.2 pthread_rwlock_timedwrlock F
>  GLIBC_2.2 pthread_rwlock_tryrdlock F
> diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
> index 330715ff71..4638a6dc22 100644
> --- a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
> @@ -1572,6 +1572,7 @@ GLIBC_2.1 pthread_attr_init F
>  GLIBC_2.1 pthread_mutexattr_gettype F
>  GLIBC_2.1 pthread_mutexattr_settype F
>  GLIBC_2.1 pthread_rwlock_destroy F
> +GLIBC_2.1 pthread_rwlock_init F
>  GLIBC_2.1 pthread_rwlock_rdlock F
>  GLIBC_2.1 pthread_rwlock_unlock F
>  GLIBC_2.1 pthread_rwlock_wrlock F
> @@ -1849,6 +1850,7 @@ GLIBC_2.2 __nl_langinfo_l F
>  GLIBC_2.2 __open64 F
>  GLIBC_2.2 __pread64 F
>  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_unlock F
>  GLIBC_2.2 __pthread_rwlock_wrlock F
> @@ -2315,6 +2317,7 @@ GLIBC_2.34 pthread_once F
>  GLIBC_2.34 pthread_rwlock_clockrdlock F
>  GLIBC_2.34 pthread_rwlock_clockwrlock F
>  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_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
> diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
> index b80868c5da..0189fc6a88 100644
> --- a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
> @@ -24,7 +24,6 @@ GLIBC_2.1 pthread_attr_setstackaddr F
>  GLIBC_2.1 pthread_attr_setstacksize F
>  GLIBC_2.1 pthread_create F
>  GLIBC_2.1 pthread_getconcurrency F
> -GLIBC_2.1 pthread_rwlock_init F
>  GLIBC_2.1 pthread_rwlock_tryrdlock F
>  GLIBC_2.1 pthread_rwlock_trywrlock F
>  GLIBC_2.1 pthread_rwlockattr_destroy F
> @@ -49,7 +48,6 @@ GLIBC_2.12 pthread_getname_np F
>  GLIBC_2.12 pthread_setname_np F
>  GLIBC_2.18 pthread_getattr_default_np F
>  GLIBC_2.18 pthread_setattr_default_np F
> -GLIBC_2.2 __pthread_rwlock_init F
>  GLIBC_2.2 __pthread_rwlock_tryrdlock F
>  GLIBC_2.2 __pthread_rwlock_trywrlock F
>  GLIBC_2.2 pthread_attr_getstack F
> diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
> index 5e4848be27..3b6fe85339 100644
> --- a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
> @@ -411,6 +411,7 @@ GLIBC_2.2 __pthread_mutexattr_init F
>  GLIBC_2.2 __pthread_mutexattr_settype F
>  GLIBC_2.2 __pthread_once F
>  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_unlock F
>  GLIBC_2.2 __pthread_rwlock_wrlock F
> @@ -1360,6 +1361,7 @@ GLIBC_2.2 pthread_mutexattr_setpshared F
>  GLIBC_2.2 pthread_mutexattr_settype F
>  GLIBC_2.2 pthread_once F
>  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_unlock F
>  GLIBC_2.2 pthread_rwlock_wrlock F
> @@ -2234,6 +2236,7 @@ GLIBC_2.34 pthread_once F
>  GLIBC_2.34 pthread_rwlock_clockrdlock F
>  GLIBC_2.34 pthread_rwlock_clockwrlock F
>  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_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
> diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
> index 6d11adb7da..5d186fc586 100644
> --- a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
> @@ -7,7 +7,6 @@ GLIBC_2.2 _IO_flockfile F
>  GLIBC_2.2 _IO_ftrylockfile F
>  GLIBC_2.2 _IO_funlockfile F
>  GLIBC_2.2 __errno_location F
> -GLIBC_2.2 __pthread_rwlock_init F
>  GLIBC_2.2 __pthread_rwlock_tryrdlock F
>  GLIBC_2.2 __pthread_rwlock_trywrlock F
>  GLIBC_2.2 flockfile F
> @@ -33,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_init F
>  GLIBC_2.2 pthread_rwlock_timedrdlock F
>  GLIBC_2.2 pthread_rwlock_timedwrlock F
>  GLIBC_2.2 pthread_rwlock_tryrdlock F
> diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
> index 1975808993..764a2f71b1 100644
> --- a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
> @@ -372,6 +372,7 @@ GLIBC_2.2.5 __pthread_mutexattr_init F
>  GLIBC_2.2.5 __pthread_mutexattr_settype F
>  GLIBC_2.2.5 __pthread_once F
>  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_unlock F
>  GLIBC_2.2.5 __pthread_rwlock_wrlock F
> @@ -1328,6 +1329,7 @@ GLIBC_2.2.5 pthread_mutexattr_setpshared F
>  GLIBC_2.2.5 pthread_mutexattr_settype F
>  GLIBC_2.2.5 pthread_once F
>  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_unlock F
>  GLIBC_2.2.5 pthread_rwlock_wrlock F
> @@ -2195,6 +2197,7 @@ GLIBC_2.34 pthread_once F
>  GLIBC_2.34 pthread_rwlock_clockrdlock F
>  GLIBC_2.34 pthread_rwlock_clockwrlock F
>  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_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
> diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
> index 06ec562b00..8805d613fd 100644
> --- a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
> @@ -7,7 +7,6 @@ GLIBC_2.2.5 _IO_flockfile F
>  GLIBC_2.2.5 _IO_ftrylockfile F
>  GLIBC_2.2.5 _IO_funlockfile F
>  GLIBC_2.2.5 __errno_location F
> -GLIBC_2.2.5 __pthread_rwlock_init F
>  GLIBC_2.2.5 __pthread_rwlock_tryrdlock F
>  GLIBC_2.2.5 __pthread_rwlock_trywrlock F
>  GLIBC_2.2.5 flockfile F
> @@ -33,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_init F
>  GLIBC_2.2.5 pthread_rwlock_timedrdlock F
>  GLIBC_2.2.5 pthread_rwlock_timedwrlock F
>  GLIBC_2.2.5 pthread_rwlock_tryrdlock F
> diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
> index ff5dc484ba..cce82949fd 100644
> --- a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
> @@ -352,6 +352,7 @@ GLIBC_2.16 __pthread_mutexattr_init F
>  GLIBC_2.16 __pthread_mutexattr_settype F
>  GLIBC_2.16 __pthread_once F
>  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_unlock F
>  GLIBC_2.16 __pthread_rwlock_wrlock F
> @@ -1509,6 +1510,7 @@ GLIBC_2.16 pthread_mutexattr_setrobust_np F
>  GLIBC_2.16 pthread_mutexattr_settype F
>  GLIBC_2.16 pthread_once F
>  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_unlock F
>  GLIBC_2.16 pthread_rwlock_wrlock F
> @@ -2300,6 +2302,7 @@ GLIBC_2.34 pthread_once F
>  GLIBC_2.34 pthread_rwlock_clockrdlock F
>  GLIBC_2.34 pthread_rwlock_clockwrlock F
>  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_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
> diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
> index 92d8aa0635..6a9a29ec4b 100644
> --- a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
> @@ -4,7 +4,6 @@ GLIBC_2.16 _IO_funlockfile F
>  GLIBC_2.16 __errno_location F
>  GLIBC_2.16 __pthread_register_cancel F
>  GLIBC_2.16 __pthread_register_cancel_defer F
> -GLIBC_2.16 __pthread_rwlock_init F
>  GLIBC_2.16 __pthread_rwlock_tryrdlock F
>  GLIBC_2.16 __pthread_rwlock_trywrlock F
>  GLIBC_2.16 __pthread_unregister_cancel F
> @@ -35,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_init F
>  GLIBC_2.16 pthread_rwlock_timedrdlock F
>  GLIBC_2.16 pthread_rwlock_timedwrlock F
>  GLIBC_2.16 pthread_rwlock_tryrdlock F
> 


-- 
Cheers,
Carlos.


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

* Re: [PATCH 05/14] nptl: Move pthread_rwlock_timedrdlock into libc
  2021-04-23 17:37 ` [PATCH 05/14] nptl: Move pthread_rwlock_timedrdlock " Florian Weimer via Libc-alpha
@ 2021-05-02 19:35   ` Carlos O'Donell via Libc-alpha
  0 siblings, 0 replies; 30+ messages in thread
From: Carlos O'Donell via Libc-alpha @ 2021-05-02 19:35 UTC (permalink / raw)
  To: Florian Weimer, libc-alpha

On 4/23/21 1:37 PM, Florian Weimer via Libc-alpha wrote:
> The symbol was moved using scripts/move-symbol-to-libc.py.

Tested and reviewed on x86_64 and i686.

LGTM.

Reviewed-by: Carlos O'Donell <carlos@redhat.com>
Tested-by: Carlos O'Donell <carlos@redhat.com>

> ---
>  nptl/Makefile                                 |  2 +-
>  nptl/Versions                                 |  3 ++-
>  nptl/pthreadP.h                               |  2 +-
>  nptl/pthread_rwlock_timedrdlock.c             | 23 +++++++++++++------
>  sysdeps/unix/sysv/linux/aarch64/libc.abilist  |  2 ++
>  .../sysv/linux/aarch64/libpthread.abilist     |  1 -
>  sysdeps/unix/sysv/linux/alpha/libc.abilist    |  2 ++
>  .../unix/sysv/linux/alpha/libpthread.abilist  |  1 -
>  sysdeps/unix/sysv/linux/arc/libc.abilist      |  2 ++
>  .../unix/sysv/linux/arc/libpthread.abilist    |  1 -
>  sysdeps/unix/sysv/linux/arm/be/libc.abilist   |  2 ++
>  .../unix/sysv/linux/arm/be/libpthread.abilist |  1 -
>  sysdeps/unix/sysv/linux/arm/le/libc.abilist   |  2 ++
>  .../unix/sysv/linux/arm/le/libpthread.abilist |  1 -
>  sysdeps/unix/sysv/linux/csky/libc.abilist     |  2 ++
>  .../unix/sysv/linux/csky/libpthread.abilist   |  1 -
>  sysdeps/unix/sysv/linux/hppa/libc.abilist     |  2 ++
>  .../unix/sysv/linux/hppa/libpthread.abilist   |  1 -
>  sysdeps/unix/sysv/linux/i386/libc.abilist     |  2 ++
>  .../unix/sysv/linux/i386/libpthread.abilist   |  1 -
>  sysdeps/unix/sysv/linux/ia64/libc.abilist     |  2 ++
>  .../unix/sysv/linux/ia64/libpthread.abilist   |  1 -
>  .../sysv/linux/m68k/coldfire/libc.abilist     |  2 ++
>  .../linux/m68k/coldfire/libpthread.abilist    |  1 -
>  .../unix/sysv/linux/m68k/m680x0/libc.abilist  |  2 ++
>  .../sysv/linux/m68k/m680x0/libpthread.abilist |  1 -
>  .../sysv/linux/microblaze/be/libc.abilist     |  2 ++
>  .../linux/microblaze/be/libpthread.abilist    |  1 -
>  .../sysv/linux/microblaze/le/libc.abilist     |  2 ++
>  .../linux/microblaze/le/libpthread.abilist    |  1 -
>  .../sysv/linux/mips/mips32/fpu/libc.abilist   |  2 ++
>  .../sysv/linux/mips/mips32/libpthread.abilist |  1 -
>  .../sysv/linux/mips/mips32/nofpu/libc.abilist |  2 ++
>  .../sysv/linux/mips/mips64/libpthread.abilist |  1 -
>  .../sysv/linux/mips/mips64/n32/libc.abilist   |  2 ++
>  .../sysv/linux/mips/mips64/n64/libc.abilist   |  2 ++
>  sysdeps/unix/sysv/linux/nios2/libc.abilist    |  2 ++
>  .../unix/sysv/linux/nios2/libpthread.abilist  |  1 -
>  .../linux/powerpc/powerpc32/fpu/libc.abilist  |  2 ++
>  .../powerpc/powerpc32/libpthread.abilist      |  1 -
>  .../powerpc/powerpc32/nofpu/libc.abilist      |  2 ++
>  .../linux/powerpc/powerpc64/be/libc.abilist   |  2 ++
>  .../powerpc/powerpc64/be/libpthread.abilist   |  1 -
>  .../linux/powerpc/powerpc64/le/libc.abilist   |  2 ++
>  .../powerpc/powerpc64/le/libpthread.abilist   |  1 -
>  .../unix/sysv/linux/riscv/rv32/libc.abilist   |  2 ++
>  .../sysv/linux/riscv/rv32/libpthread.abilist  |  1 -
>  .../unix/sysv/linux/riscv/rv64/libc.abilist   |  2 ++
>  .../sysv/linux/riscv/rv64/libpthread.abilist  |  1 -
>  .../unix/sysv/linux/s390/s390-32/libc.abilist |  2 ++
>  .../linux/s390/s390-32/libpthread.abilist     |  1 -
>  .../unix/sysv/linux/s390/s390-64/libc.abilist |  2 ++
>  .../linux/s390/s390-64/libpthread.abilist     |  1 -
>  sysdeps/unix/sysv/linux/sh/be/libc.abilist    |  2 ++
>  .../unix/sysv/linux/sh/be/libpthread.abilist  |  1 -
>  sysdeps/unix/sysv/linux/sh/le/libc.abilist    |  2 ++
>  .../unix/sysv/linux/sh/le/libpthread.abilist  |  1 -
>  .../sysv/linux/sparc/sparc32/libc.abilist     |  2 ++
>  .../linux/sparc/sparc32/libpthread.abilist    |  1 -
>  .../sysv/linux/sparc/sparc64/libc.abilist     |  2 ++
>  .../linux/sparc/sparc64/libpthread.abilist    |  1 -
>  .../unix/sysv/linux/x86_64/64/libc.abilist    |  2 ++
>  .../sysv/linux/x86_64/64/libpthread.abilist   |  1 -
>  .../unix/sysv/linux/x86_64/x32/libc.abilist   |  2 ++
>  .../sysv/linux/x86_64/x32/libpthread.abilist  |  1 -
>  65 files changed, 84 insertions(+), 39 deletions(-)
> 
> diff --git a/nptl/Makefile b/nptl/Makefile
> index e41459c571..392aa3bdf2 100644
> --- a/nptl/Makefile
> +++ b/nptl/Makefile
> @@ -125,6 +125,7 @@ routines = \
>    pthread_rwlock_destroy \
>    pthread_rwlock_init \
>    pthread_rwlock_rdlock \
> +  pthread_rwlock_timedrdlock \
>    pthread_rwlock_unlock \
>    pthread_rwlock_wrlock \
>    pthread_self \
> @@ -182,7 +183,6 @@ libpthread-routines = \
>    pthread_getname \
>    pthread_join \
>    pthread_join_common \
> -  pthread_rwlock_timedrdlock \
>    pthread_rwlock_timedwrlock \
>    pthread_rwlock_tryrdlock \
>    pthread_rwlock_trywrlock \
> diff --git a/nptl/Versions b/nptl/Versions
> index 72d20e2117..8abf147e22 100644
> --- a/nptl/Versions
> +++ b/nptl/Versions
> @@ -88,6 +88,7 @@ libc {
>      pthread_spin_lock;
>      pthread_spin_trylock;
>      pthread_spin_unlock;
> +    pthread_rwlock_timedrdlock;
>    }
>    GLIBC_2.2.3 {
>      pthread_getattr_np;
> @@ -190,6 +191,7 @@ libc {
>      pthread_rwlock_clockwrlock;
>      pthread_rwlock_destroy;
>      pthread_rwlock_rdlock;
> +    pthread_rwlock_timedrdlock;
>      pthread_rwlock_unlock;
>      pthread_rwlock_wrlock;
>      pthread_setspecific;
> @@ -321,7 +323,6 @@ libpthread {
>      pthread_barrierattr_init;
>      pthread_barrierattr_setpshared;
>      pthread_getcpuclockid;
> -    pthread_rwlock_timedrdlock;
>      pthread_rwlock_timedwrlock;
>      pthread_yield;
>      sem_timedwait;
> diff --git a/nptl/pthreadP.h b/nptl/pthreadP.h
> index 0b41678adc..5d0b4cf56e 100644
> --- a/nptl/pthreadP.h
> +++ b/nptl/pthreadP.h
> @@ -510,7 +510,7 @@ extern int __pthread_rwlock_clockwrlock64 (pthread_rwlock_t *rwlock,
>  libc_hidden_proto (__pthread_rwlock_clockwrlock64)
>  extern int __pthread_rwlock_timedrdlock64 (pthread_rwlock_t *rwlock,
>                                             const struct __timespec64 *abstime);
> -libpthread_hidden_proto (__pthread_rwlock_timedrdlock64)
> +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)
> diff --git a/nptl/pthread_rwlock_timedrdlock.c b/nptl/pthread_rwlock_timedrdlock.c
> index db02ee7f5c..dd9b7cb0a2 100644
> --- a/nptl/pthread_rwlock_timedrdlock.c
> +++ b/nptl/pthread_rwlock_timedrdlock.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_timedrdlock64 (pthread_rwlock_t *rwlock,
> -                                const struct __timespec64 *abstime)
> +___pthread_rwlock_timedrdlock64 (pthread_rwlock_t *rwlock,
> +				 const struct __timespec64 *abstime)
>  {
>    return __pthread_rwlock_rdlock_full64 (rwlock, CLOCK_REALTIME, abstime);
>  }
>  
> -#if __TIMESIZE != 64
> -libpthread_hidden_def (__pthread_rwlock_timedrdlock64)
> +#if __TIMESIZE == 64
> +strong_alias (___pthread_rwlock_timedrdlock64, ___pthread_rwlock_timedrdlock)
> +#else /* __TIMESPEC64 != 64 */
> +libc_hidden_ver (___pthread_rwlock_timedrdlock64,
> +		 __pthread_rwlock_timedrdlock64)
>  
>  int
> -__pthread_rwlock_timedrdlock (pthread_rwlock_t *rwlock,
> -                              const struct timespec *abstime)
> +___pthread_rwlock_timedrdlock (pthread_rwlock_t *rwlock,
> +			       const struct timespec *abstime)
>  {
>    struct __timespec64 ts64 = valid_timespec_to_timespec64 (*abstime);
>  
>    return __pthread_rwlock_timedrdlock64 (rwlock, &ts64);
>  }
> +#endif /* __TIMESPEC64 != 64 */
> +versioned_symbol (libc, ___pthread_rwlock_timedrdlock,
> +		  pthread_rwlock_timedrdlock, GLIBC_2_34);
> +#if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_2, GLIBC_2_34)
> +compat_symbol (libpthread, ___pthread_rwlock_timedrdlock,
> +	       pthread_rwlock_timedrdlock, GLIBC_2_2);
>  #endif
> -weak_alias (__pthread_rwlock_timedrdlock, pthread_rwlock_timedrdlock)
> diff --git a/sysdeps/unix/sysv/linux/aarch64/libc.abilist b/sysdeps/unix/sysv/linux/aarch64/libc.abilist
> index 49538b3773..ae7f4a210d 100644
> --- a/sysdeps/unix/sysv/linux/aarch64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/aarch64/libc.abilist
> @@ -1505,6 +1505,7 @@ GLIBC_2.17 pthread_once F
>  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_unlock F
>  GLIBC_2.17 pthread_rwlock_wrlock F
>  GLIBC_2.17 pthread_self F
> @@ -2289,6 +2290,7 @@ GLIBC_2.34 pthread_rwlock_clockwrlock F
>  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_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 c6dee0cc25..d881d4e128 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_timedrdlock F
>  GLIBC_2.17 pthread_rwlock_timedwrlock F
>  GLIBC_2.17 pthread_rwlock_tryrdlock F
>  GLIBC_2.17 pthread_rwlock_trywrlock F
> diff --git a/sysdeps/unix/sysv/linux/alpha/libc.abilist b/sysdeps/unix/sysv/linux/alpha/libc.abilist
> index 6336e2dd35..3ec5c47428 100644
> --- a/sysdeps/unix/sysv/linux/alpha/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/alpha/libc.abilist
> @@ -1987,6 +1987,7 @@ GLIBC_2.2 pthread_condattr_setpshared F
>  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_spin_destroy F
>  GLIBC_2.2 pthread_spin_init F
>  GLIBC_2.2 pthread_spin_lock F
> @@ -2370,6 +2371,7 @@ GLIBC_2.34 pthread_rwlock_clockwrlock F
>  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_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 0189fc6a88..6ab60c7fba 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_timedrdlock F
>  GLIBC_2.2 pthread_rwlock_timedwrlock F
>  GLIBC_2.2 pthread_yield F
>  GLIBC_2.2 sem_timedwait F
> diff --git a/sysdeps/unix/sysv/linux/arc/libc.abilist b/sysdeps/unix/sysv/linux/arc/libc.abilist
> index a5fff26d3a..f8bcc0475d 100644
> --- a/sysdeps/unix/sysv/linux/arc/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/arc/libc.abilist
> @@ -1435,6 +1435,7 @@ GLIBC_2.32 pthread_rwlock_clockwrlock F
>  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_unlock F
>  GLIBC_2.32 pthread_rwlock_wrlock F
>  GLIBC_2.32 pthread_self F
> @@ -2048,6 +2049,7 @@ GLIBC_2.34 pthread_rwlock_clockwrlock F
>  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_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 d71f38bf24..5317b62d6e 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_timedrdlock F
>  GLIBC_2.32 pthread_rwlock_timedwrlock F
>  GLIBC_2.32 pthread_rwlock_tryrdlock F
>  GLIBC_2.32 pthread_rwlock_trywrlock F
> diff --git a/sysdeps/unix/sysv/linux/arm/be/libc.abilist b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
> index 6595cad027..8ab83d973f 100644
> --- a/sysdeps/unix/sysv/linux/arm/be/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
> @@ -209,6 +209,7 @@ GLIBC_2.34 pthread_rwlock_clockwrlock F
>  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_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
>  GLIBC_2.34 pthread_setspecific F
> @@ -1655,6 +1656,7 @@ GLIBC_2.4 pthread_once F
>  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_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 1340d32c7f..92f908f49a 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_timedrdlock F
>  GLIBC_2.4 pthread_rwlock_timedwrlock F
>  GLIBC_2.4 pthread_rwlock_tryrdlock F
>  GLIBC_2.4 pthread_rwlock_trywrlock F
> diff --git a/sysdeps/unix/sysv/linux/arm/le/libc.abilist b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
> index f4dbe63497..de9f269a53 100644
> --- a/sysdeps/unix/sysv/linux/arm/le/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
> @@ -206,6 +206,7 @@ GLIBC_2.34 pthread_rwlock_clockwrlock F
>  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_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
>  GLIBC_2.34 pthread_setspecific F
> @@ -1652,6 +1653,7 @@ GLIBC_2.4 pthread_once F
>  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_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 1340d32c7f..92f908f49a 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_timedrdlock F
>  GLIBC_2.4 pthread_rwlock_timedwrlock F
>  GLIBC_2.4 pthread_rwlock_tryrdlock F
>  GLIBC_2.4 pthread_rwlock_trywrlock F
> diff --git a/sysdeps/unix/sysv/linux/csky/libc.abilist b/sysdeps/unix/sysv/linux/csky/libc.abilist
> index c0a28cd1d4..710ab385e4 100644
> --- a/sysdeps/unix/sysv/linux/csky/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/csky/libc.abilist
> @@ -1492,6 +1492,7 @@ GLIBC_2.29 pthread_once F
>  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_unlock F
>  GLIBC_2.29 pthread_rwlock_wrlock F
>  GLIBC_2.29 pthread_self F
> @@ -2232,6 +2233,7 @@ GLIBC_2.34 pthread_rwlock_clockwrlock F
>  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_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 8c2eacba71..76b52b11c4 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_timedrdlock F
>  GLIBC_2.29 pthread_rwlock_timedwrlock F
>  GLIBC_2.29 pthread_rwlock_tryrdlock F
>  GLIBC_2.29 pthread_rwlock_trywrlock F
> diff --git a/sysdeps/unix/sysv/linux/hppa/libc.abilist b/sysdeps/unix/sysv/linux/hppa/libc.abilist
> index 50253bac3f..a825c7d112 100644
> --- a/sysdeps/unix/sysv/linux/hppa/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/hppa/libc.abilist
> @@ -1316,6 +1316,7 @@ GLIBC_2.2 pthread_once F
>  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_unlock F
>  GLIBC_2.2 pthread_rwlock_wrlock F
>  GLIBC_2.2 pthread_self F
> @@ -2183,6 +2184,7 @@ GLIBC_2.34 pthread_rwlock_clockwrlock F
>  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_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 52da9c0a32..100d01628b 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_timedrdlock F
>  GLIBC_2.2 pthread_rwlock_timedwrlock F
>  GLIBC_2.2 pthread_rwlock_tryrdlock F
>  GLIBC_2.2 pthread_rwlock_trywrlock F
> diff --git a/sysdeps/unix/sysv/linux/i386/libc.abilist b/sysdeps/unix/sysv/linux/i386/libc.abilist
> index 4a6e8cf210..901f4cc2ff 100644
> --- a/sysdeps/unix/sysv/linux/i386/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/i386/libc.abilist
> @@ -1996,6 +1996,7 @@ GLIBC_2.2 pthread_condattr_setpshared F
>  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_spin_destroy F
>  GLIBC_2.2 pthread_spin_init F
>  GLIBC_2.2 pthread_spin_lock F
> @@ -2360,6 +2361,7 @@ GLIBC_2.34 pthread_rwlock_clockwrlock F
>  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_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 a0daef9d41..6c64e6a794 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_timedrdlock F
>  GLIBC_2.2 pthread_rwlock_timedwrlock F
>  GLIBC_2.2 pthread_yield F
>  GLIBC_2.2 sem_timedwait F
> diff --git a/sysdeps/unix/sysv/linux/ia64/libc.abilist b/sysdeps/unix/sysv/linux/ia64/libc.abilist
> index ba34d9e68f..180e99973b 100644
> --- a/sysdeps/unix/sysv/linux/ia64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/ia64/libc.abilist
> @@ -1337,6 +1337,7 @@ GLIBC_2.2 pthread_once F
>  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_unlock F
>  GLIBC_2.2 pthread_rwlock_wrlock F
>  GLIBC_2.2 pthread_self F
> @@ -2217,6 +2218,7 @@ GLIBC_2.34 pthread_rwlock_clockwrlock F
>  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_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 5d186fc586..bdfded821a 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_timedrdlock F
>  GLIBC_2.2 pthread_rwlock_timedwrlock F
>  GLIBC_2.2 pthread_rwlock_tryrdlock F
>  GLIBC_2.2 pthread_rwlock_trywrlock F
> diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
> index 2a31f0acd5..8484f3fcad 100644
> --- a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
> @@ -210,6 +210,7 @@ GLIBC_2.34 pthread_rwlock_clockwrlock F
>  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_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
>  GLIBC_2.34 pthread_setspecific F
> @@ -1635,6 +1636,7 @@ GLIBC_2.4 pthread_once F
>  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_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 1340d32c7f..92f908f49a 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_timedrdlock F
>  GLIBC_2.4 pthread_rwlock_timedwrlock F
>  GLIBC_2.4 pthread_rwlock_tryrdlock F
>  GLIBC_2.4 pthread_rwlock_trywrlock F
> diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
> index 4528a06d6f..7ad59ac5f5 100644
> --- a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
> @@ -1952,6 +1952,7 @@ GLIBC_2.2 pthread_condattr_setpshared F
>  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_spin_destroy F
>  GLIBC_2.2 pthread_spin_init F
>  GLIBC_2.2 pthread_spin_lock F
> @@ -2303,6 +2304,7 @@ GLIBC_2.34 pthread_rwlock_clockwrlock F
>  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_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 a0daef9d41..6c64e6a794 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_timedrdlock F
>  GLIBC_2.2 pthread_rwlock_timedwrlock F
>  GLIBC_2.2 pthread_yield F
>  GLIBC_2.2 sem_timedwait F
> diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
> index 0f6be8c0f2..1187d98593 100644
> --- a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
> @@ -1507,6 +1507,7 @@ GLIBC_2.18 pthread_once F
>  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_unlock F
>  GLIBC_2.18 pthread_rwlock_wrlock F
>  GLIBC_2.18 pthread_self F
> @@ -2283,6 +2284,7 @@ GLIBC_2.34 pthread_rwlock_clockwrlock F
>  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_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 968fcfd1df..22a5f51945 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_timedrdlock F
>  GLIBC_2.18 pthread_rwlock_timedwrlock F
>  GLIBC_2.18 pthread_rwlock_tryrdlock F
>  GLIBC_2.18 pthread_rwlock_trywrlock F
> diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
> index a024c588b1..0b05fb3fe1 100644
> --- a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
> @@ -1507,6 +1507,7 @@ GLIBC_2.18 pthread_once F
>  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_unlock F
>  GLIBC_2.18 pthread_rwlock_wrlock F
>  GLIBC_2.18 pthread_self F
> @@ -2280,6 +2281,7 @@ GLIBC_2.34 pthread_rwlock_clockwrlock F
>  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_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 968fcfd1df..22a5f51945 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_timedrdlock F
>  GLIBC_2.18 pthread_rwlock_timedwrlock F
>  GLIBC_2.18 pthread_rwlock_tryrdlock F
>  GLIBC_2.18 pthread_rwlock_trywrlock F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
> index f70ab56969..0fa75400b1 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
> @@ -1846,6 +1846,7 @@ GLIBC_2.2 pthread_mutexattr_settype F
>  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_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_clockwrlock F
>  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_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 a09a4dc5e3..c6256cb6b2 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_timedrdlock F
>  GLIBC_2.2 pthread_rwlock_timedwrlock F
>  GLIBC_2.2 pthread_rwlock_tryrdlock F
>  GLIBC_2.2 pthread_rwlock_trywrlock F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
> index 996626fc69..4fa17449b8 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
> @@ -1844,6 +1844,7 @@ GLIBC_2.2 pthread_mutexattr_settype F
>  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_unlock F
>  GLIBC_2.2 pthread_rwlock_wrlock F
>  GLIBC_2.2 pthread_spin_destroy F
> @@ -2264,6 +2265,7 @@ GLIBC_2.34 pthread_rwlock_clockwrlock F
>  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_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 a09a4dc5e3..c6256cb6b2 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_timedrdlock F
>  GLIBC_2.2 pthread_rwlock_timedwrlock F
>  GLIBC_2.2 pthread_rwlock_tryrdlock F
>  GLIBC_2.2 pthread_rwlock_trywrlock F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
> index fcef7cf463..a1138eeec7 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
> @@ -1844,6 +1844,7 @@ GLIBC_2.2 pthread_mutexattr_settype F
>  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_unlock F
>  GLIBC_2.2 pthread_rwlock_wrlock F
>  GLIBC_2.2 pthread_spin_destroy F
> @@ -2272,6 +2273,7 @@ GLIBC_2.34 pthread_rwlock_clockwrlock F
>  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_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 e6425649d7..cd069fa6e3 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
> @@ -1840,6 +1840,7 @@ GLIBC_2.2 pthread_mutexattr_settype F
>  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_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_clockwrlock F
>  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_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 28b29918a8..c18892e973 100644
> --- a/sysdeps/unix/sysv/linux/nios2/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/nios2/libc.abilist
> @@ -1550,6 +1550,7 @@ GLIBC_2.21 pthread_once F
>  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_unlock F
>  GLIBC_2.21 pthread_rwlock_wrlock F
>  GLIBC_2.21 pthread_self F
> @@ -2322,6 +2323,7 @@ GLIBC_2.34 pthread_rwlock_clockwrlock F
>  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_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 a13844bb1d..23a3717ef3 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_timedrdlock F
>  GLIBC_2.21 pthread_rwlock_timedwrlock F
>  GLIBC_2.21 pthread_rwlock_tryrdlock F
>  GLIBC_2.21 pthread_rwlock_trywrlock F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
> index 7ef1e07d22..540711d228 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
> @@ -1957,6 +1957,7 @@ GLIBC_2.2 pthread_condattr_setpshared F
>  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_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_clockwrlock F
>  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_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 8c16c499ad..c274945af5 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_timedrdlock F
>  GLIBC_2.2 pthread_rwlock_timedwrlock F
>  GLIBC_2.2 pthread_yield F
>  GLIBC_2.2 sem_timedwait F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
> index a125dae857..a215d46657 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
> @@ -1961,6 +1961,7 @@ GLIBC_2.2 pthread_condattr_setpshared F
>  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_spin_destroy F
>  GLIBC_2.2 pthread_spin_init F
>  GLIBC_2.2 pthread_spin_lock F
> @@ -2363,6 +2364,7 @@ GLIBC_2.34 pthread_rwlock_clockwrlock F
>  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_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 90f7f52f9b..88e9ceb7be 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
> @@ -1422,6 +1422,7 @@ GLIBC_2.3 pthread_once F
>  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_unlock F
>  GLIBC_2.3 pthread_rwlock_wrlock F
>  GLIBC_2.3 pthread_self F
> @@ -2184,6 +2185,7 @@ GLIBC_2.34 pthread_rwlock_clockwrlock F
>  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_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 099a75abb3..f4fbda6cd8 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_timedrdlock F
>  GLIBC_2.3 pthread_rwlock_timedwrlock F
>  GLIBC_2.3 pthread_rwlock_tryrdlock F
>  GLIBC_2.3 pthread_rwlock_trywrlock F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
> index 203e333287..c510e8721e 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
> @@ -1593,6 +1593,7 @@ GLIBC_2.17 pthread_once F
>  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_unlock F
>  GLIBC_2.17 pthread_rwlock_wrlock F
>  GLIBC_2.17 pthread_self F
> @@ -2485,6 +2486,7 @@ GLIBC_2.34 pthread_rwlock_clockwrlock F
>  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_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 c6dee0cc25..d881d4e128 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_timedrdlock F
>  GLIBC_2.17 pthread_rwlock_timedwrlock F
>  GLIBC_2.17 pthread_rwlock_tryrdlock F
>  GLIBC_2.17 pthread_rwlock_trywrlock F
> diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
> index 5754bd09b5..6e487295f0 100644
> --- a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
> @@ -1437,6 +1437,7 @@ GLIBC_2.33 pthread_rwlock_clockwrlock F
>  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_unlock F
>  GLIBC_2.33 pthread_rwlock_wrlock F
>  GLIBC_2.33 pthread_self F
> @@ -2050,6 +2051,7 @@ GLIBC_2.34 pthread_rwlock_clockwrlock F
>  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_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 5774e8e989..fc899b5779 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_timedrdlock F
>  GLIBC_2.33 pthread_rwlock_timedwrlock F
>  GLIBC_2.33 pthread_rwlock_tryrdlock F
>  GLIBC_2.33 pthread_rwlock_trywrlock F
> diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
> index a63dc8cf06..770b8fa9e9 100644
> --- a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
> @@ -1495,6 +1495,7 @@ GLIBC_2.27 pthread_once F
>  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_unlock F
>  GLIBC_2.27 pthread_rwlock_wrlock F
>  GLIBC_2.27 pthread_self F
> @@ -2250,6 +2251,7 @@ GLIBC_2.34 pthread_rwlock_clockwrlock F
>  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_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 aafc83b0c1..9071607ea7 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_timedrdlock F
>  GLIBC_2.27 pthread_rwlock_timedwrlock F
>  GLIBC_2.27 pthread_rwlock_tryrdlock F
>  GLIBC_2.27 pthread_rwlock_trywrlock F
> diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
> index d77f798688..4dd850e5b4 100644
> --- a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
> @@ -1955,6 +1955,7 @@ GLIBC_2.2 pthread_condattr_setpshared F
>  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_spin_destroy F
>  GLIBC_2.2 pthread_spin_init F
>  GLIBC_2.2 pthread_spin_lock F
> @@ -2328,6 +2329,7 @@ GLIBC_2.34 pthread_rwlock_clockwrlock F
>  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_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 67f28adcac..62924771ff 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_timedrdlock F
>  GLIBC_2.2 pthread_rwlock_timedwrlock F
>  GLIBC_2.2 pthread_yield F
>  GLIBC_2.2 sem_timedwait F
> diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
> index 0c2b2b80c9..fe4543393c 100644
> --- a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
> @@ -1334,6 +1334,7 @@ GLIBC_2.2 pthread_once F
>  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_unlock F
>  GLIBC_2.2 pthread_rwlock_wrlock F
>  GLIBC_2.2 pthread_self F
> @@ -2221,6 +2222,7 @@ GLIBC_2.34 pthread_rwlock_clockwrlock F
>  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_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 e8c053292d..30a43ccfe6 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_timedrdlock F
>  GLIBC_2.2 pthread_rwlock_timedwrlock F
>  GLIBC_2.2 pthread_rwlock_tryrdlock F
>  GLIBC_2.2 pthread_rwlock_trywrlock F
> diff --git a/sysdeps/unix/sysv/linux/sh/be/libc.abilist b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
> index 2383629b95..f73645251d 100644
> --- a/sysdeps/unix/sysv/linux/sh/be/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
> @@ -1320,6 +1320,7 @@ GLIBC_2.2 pthread_once F
>  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_unlock F
>  GLIBC_2.2 pthread_rwlock_wrlock F
>  GLIBC_2.2 pthread_self F
> @@ -2190,6 +2191,7 @@ GLIBC_2.34 pthread_rwlock_clockwrlock F
>  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_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 52da9c0a32..100d01628b 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_timedrdlock F
>  GLIBC_2.2 pthread_rwlock_timedwrlock F
>  GLIBC_2.2 pthread_rwlock_tryrdlock F
>  GLIBC_2.2 pthread_rwlock_trywrlock F
> diff --git a/sysdeps/unix/sysv/linux/sh/le/libc.abilist b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
> index 66b504e002..fed3fd509c 100644
> --- a/sysdeps/unix/sysv/linux/sh/le/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
> @@ -1320,6 +1320,7 @@ GLIBC_2.2 pthread_once F
>  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_unlock F
>  GLIBC_2.2 pthread_rwlock_wrlock F
>  GLIBC_2.2 pthread_self F
> @@ -2187,6 +2188,7 @@ GLIBC_2.34 pthread_rwlock_clockwrlock F
>  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_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 52da9c0a32..100d01628b 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_timedrdlock F
>  GLIBC_2.2 pthread_rwlock_timedwrlock F
>  GLIBC_2.2 pthread_rwlock_tryrdlock F
>  GLIBC_2.2 pthread_rwlock_trywrlock F
> diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
> index 4638a6dc22..7defd524bf 100644
> --- a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
> @@ -1951,6 +1951,7 @@ GLIBC_2.2 pthread_condattr_setpshared F
>  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_spin_destroy F
>  GLIBC_2.2 pthread_spin_init F
>  GLIBC_2.2 pthread_spin_lock F
> @@ -2319,6 +2320,7 @@ GLIBC_2.34 pthread_rwlock_clockwrlock F
>  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_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 0189fc6a88..6ab60c7fba 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_timedrdlock F
>  GLIBC_2.2 pthread_rwlock_timedwrlock F
>  GLIBC_2.2 pthread_yield F
>  GLIBC_2.2 sem_timedwait F
> diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
> index 3b6fe85339..2dbe34345e 100644
> --- a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
> @@ -1363,6 +1363,7 @@ GLIBC_2.2 pthread_once F
>  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_unlock F
>  GLIBC_2.2 pthread_rwlock_wrlock F
>  GLIBC_2.2 pthread_self F
> @@ -2238,6 +2239,7 @@ GLIBC_2.34 pthread_rwlock_clockwrlock F
>  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_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 5d186fc586..bdfded821a 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_timedrdlock F
>  GLIBC_2.2 pthread_rwlock_timedwrlock F
>  GLIBC_2.2 pthread_rwlock_tryrdlock F
>  GLIBC_2.2 pthread_rwlock_trywrlock F
> diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
> index 764a2f71b1..2550864957 100644
> --- a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
> @@ -1331,6 +1331,7 @@ GLIBC_2.2.5 pthread_once F
>  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_unlock F
>  GLIBC_2.2.5 pthread_rwlock_wrlock F
>  GLIBC_2.2.5 pthread_self F
> @@ -2199,6 +2200,7 @@ GLIBC_2.34 pthread_rwlock_clockwrlock F
>  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_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 8805d613fd..3db4a6ba56 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_timedrdlock 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
> diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
> index cce82949fd..7a0248df2a 100644
> --- a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
> @@ -1512,6 +1512,7 @@ GLIBC_2.16 pthread_once F
>  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_unlock F
>  GLIBC_2.16 pthread_rwlock_wrlock F
>  GLIBC_2.16 pthread_self F
> @@ -2304,6 +2305,7 @@ GLIBC_2.34 pthread_rwlock_clockwrlock F
>  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_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 6a9a29ec4b..7b3cc0668d 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_timedrdlock F
>  GLIBC_2.16 pthread_rwlock_timedwrlock F
>  GLIBC_2.16 pthread_rwlock_tryrdlock F
>  GLIBC_2.16 pthread_rwlock_trywrlock F
> 


-- 
Cheers,
Carlos.


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

* Re: [PATCH 06/14] nptl: Move pthread_rwlock_timedwrlock into libc
  2021-04-23 17:37 ` [PATCH 06/14] nptl: Move pthread_rwlock_timedwrlock " Florian Weimer via Libc-alpha
@ 2021-05-02 19:35   ` Carlos O'Donell via Libc-alpha
  0 siblings, 0 replies; 30+ messages in thread
From: Carlos O'Donell via Libc-alpha @ 2021-05-02 19:35 UTC (permalink / raw)
  To: Florian Weimer, libc-alpha

On 4/23/21 1:37 PM, Florian Weimer via Libc-alpha wrote:
> The symbol was moved using scripts/move-symbol-to-libc.py.

Tested and reviewed on x86_64 and i686.

LGTM.

Reviewed-by: Carlos O'Donell <carlos@redhat.com>
Tested-by: Carlos O'Donell <carlos@redhat.com>

> ---
>  nptl/Makefile                                 |  2 +-
>  nptl/Versions                                 |  3 ++-
>  nptl/pthreadP.h                               |  2 +-
>  nptl/pthread_rwlock_timedwrlock.c             | 23 +++++++++++++------
>  sysdeps/unix/sysv/linux/aarch64/libc.abilist  |  2 ++
>  .../sysv/linux/aarch64/libpthread.abilist     |  1 -
>  sysdeps/unix/sysv/linux/alpha/libc.abilist    |  2 ++
>  .../unix/sysv/linux/alpha/libpthread.abilist  |  1 -
>  sysdeps/unix/sysv/linux/arc/libc.abilist      |  2 ++
>  .../unix/sysv/linux/arc/libpthread.abilist    |  1 -
>  sysdeps/unix/sysv/linux/arm/be/libc.abilist   |  2 ++
>  .../unix/sysv/linux/arm/be/libpthread.abilist |  1 -
>  sysdeps/unix/sysv/linux/arm/le/libc.abilist   |  2 ++
>  .../unix/sysv/linux/arm/le/libpthread.abilist |  1 -
>  sysdeps/unix/sysv/linux/csky/libc.abilist     |  2 ++
>  .../unix/sysv/linux/csky/libpthread.abilist   |  1 -
>  sysdeps/unix/sysv/linux/hppa/libc.abilist     |  2 ++
>  .../unix/sysv/linux/hppa/libpthread.abilist   |  1 -
>  sysdeps/unix/sysv/linux/i386/libc.abilist     |  2 ++
>  .../unix/sysv/linux/i386/libpthread.abilist   |  1 -
>  sysdeps/unix/sysv/linux/ia64/libc.abilist     |  2 ++
>  .../unix/sysv/linux/ia64/libpthread.abilist   |  1 -
>  .../sysv/linux/m68k/coldfire/libc.abilist     |  2 ++
>  .../linux/m68k/coldfire/libpthread.abilist    |  1 -
>  .../unix/sysv/linux/m68k/m680x0/libc.abilist  |  2 ++
>  .../sysv/linux/m68k/m680x0/libpthread.abilist |  1 -
>  .../sysv/linux/microblaze/be/libc.abilist     |  2 ++
>  .../linux/microblaze/be/libpthread.abilist    |  1 -
>  .../sysv/linux/microblaze/le/libc.abilist     |  2 ++
>  .../linux/microblaze/le/libpthread.abilist    |  1 -
>  .../sysv/linux/mips/mips32/fpu/libc.abilist   |  2 ++
>  .../sysv/linux/mips/mips32/libpthread.abilist |  1 -
>  .../sysv/linux/mips/mips32/nofpu/libc.abilist |  2 ++
>  .../sysv/linux/mips/mips64/libpthread.abilist |  1 -
>  .../sysv/linux/mips/mips64/n32/libc.abilist   |  2 ++
>  .../sysv/linux/mips/mips64/n64/libc.abilist   |  2 ++
>  sysdeps/unix/sysv/linux/nios2/libc.abilist    |  2 ++
>  .../unix/sysv/linux/nios2/libpthread.abilist  |  1 -
>  .../linux/powerpc/powerpc32/fpu/libc.abilist  |  2 ++
>  .../powerpc/powerpc32/libpthread.abilist      |  1 -
>  .../powerpc/powerpc32/nofpu/libc.abilist      |  2 ++
>  .../linux/powerpc/powerpc64/be/libc.abilist   |  2 ++
>  .../powerpc/powerpc64/be/libpthread.abilist   |  1 -
>  .../linux/powerpc/powerpc64/le/libc.abilist   |  2 ++
>  .../powerpc/powerpc64/le/libpthread.abilist   |  1 -
>  .../unix/sysv/linux/riscv/rv32/libc.abilist   |  2 ++
>  .../sysv/linux/riscv/rv32/libpthread.abilist  |  1 -
>  .../unix/sysv/linux/riscv/rv64/libc.abilist   |  2 ++
>  .../sysv/linux/riscv/rv64/libpthread.abilist  |  1 -
>  .../unix/sysv/linux/s390/s390-32/libc.abilist |  2 ++
>  .../linux/s390/s390-32/libpthread.abilist     |  1 -
>  .../unix/sysv/linux/s390/s390-64/libc.abilist |  2 ++
>  .../linux/s390/s390-64/libpthread.abilist     |  1 -
>  sysdeps/unix/sysv/linux/sh/be/libc.abilist    |  2 ++
>  .../unix/sysv/linux/sh/be/libpthread.abilist  |  1 -
>  sysdeps/unix/sysv/linux/sh/le/libc.abilist    |  2 ++
>  .../unix/sysv/linux/sh/le/libpthread.abilist  |  1 -
>  .../sysv/linux/sparc/sparc32/libc.abilist     |  2 ++
>  .../linux/sparc/sparc32/libpthread.abilist    |  1 -
>  .../sysv/linux/sparc/sparc64/libc.abilist     |  2 ++
>  .../linux/sparc/sparc64/libpthread.abilist    |  1 -
>  .../unix/sysv/linux/x86_64/64/libc.abilist    |  2 ++
>  .../sysv/linux/x86_64/64/libpthread.abilist   |  1 -
>  .../unix/sysv/linux/x86_64/x32/libc.abilist   |  2 ++
>  .../sysv/linux/x86_64/x32/libpthread.abilist  |  1 -
>  65 files changed, 84 insertions(+), 39 deletions(-)
> 
> 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
> 


-- 
Cheers,
Carlos.


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

* Re: [PATCH 07/14] nptl: Move pthread_rwlock_tryrdlock into libc
  2021-04-23 17:37 ` [PATCH 07/14] nptl: Move pthread_rwlock_tryrdlock " Florian Weimer via Libc-alpha
@ 2021-05-02 19:36   ` Carlos O'Donell via Libc-alpha
  0 siblings, 0 replies; 30+ messages in thread
From: Carlos O'Donell via Libc-alpha @ 2021-05-02 19:36 UTC (permalink / raw)
  To: Florian Weimer, libc-alpha

On 4/23/21 1:37 PM, Florian Weimer via Libc-alpha wrote:
> And __pthread_rwlock_tryrdlock as a compatibility symbol.

Tested and reviewed on x86_64 and i686.

LGTM.

Reviewed-by: Carlos O'Donell <carlos@redhat.com>
Tested-by: Carlos O'Donell <carlos@redhat.com>

> Remove the unused __libc_rwlock_tryrdlock macro.

OK.
 
> The symbols were moved using scripts/move-symbol-to-libc.py.
> ---
>  nptl/Makefile                                     |  2 +-
>  nptl/Versions                                     |  5 +++--
>  nptl/pthread_rwlock_tryrdlock.c                   | 15 +++++++++++++--
>  sysdeps/nptl/libc-lockP.h                         |  5 -----
>  sysdeps/unix/sysv/linux/aarch64/libc.abilist      |  3 +++
>  .../unix/sysv/linux/aarch64/libpthread.abilist    |  2 --
>  sysdeps/unix/sysv/linux/alpha/libc.abilist        |  3 +++
>  sysdeps/unix/sysv/linux/alpha/libpthread.abilist  |  2 --
>  sysdeps/unix/sysv/linux/arc/libc.abilist          |  3 +++
>  sysdeps/unix/sysv/linux/arc/libpthread.abilist    |  2 --
>  sysdeps/unix/sysv/linux/arm/be/libc.abilist       |  3 +++
>  sysdeps/unix/sysv/linux/arm/be/libpthread.abilist |  2 --
>  sysdeps/unix/sysv/linux/arm/le/libc.abilist       |  3 +++
>  sysdeps/unix/sysv/linux/arm/le/libpthread.abilist |  2 --
>  sysdeps/unix/sysv/linux/csky/libc.abilist         |  3 +++
>  sysdeps/unix/sysv/linux/csky/libpthread.abilist   |  2 --
>  sysdeps/unix/sysv/linux/hppa/libc.abilist         |  3 +++
>  sysdeps/unix/sysv/linux/hppa/libpthread.abilist   |  2 --
>  sysdeps/unix/sysv/linux/i386/libc.abilist         |  3 +++
>  sysdeps/unix/sysv/linux/i386/libpthread.abilist   |  2 --
>  sysdeps/unix/sysv/linux/ia64/libc.abilist         |  3 +++
>  sysdeps/unix/sysv/linux/ia64/libpthread.abilist   |  2 --
>  .../unix/sysv/linux/m68k/coldfire/libc.abilist    |  3 +++
>  .../sysv/linux/m68k/coldfire/libpthread.abilist   |  2 --
>  sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist  |  3 +++
>  .../sysv/linux/m68k/m680x0/libpthread.abilist     |  2 --
>  .../unix/sysv/linux/microblaze/be/libc.abilist    |  3 +++
>  .../sysv/linux/microblaze/be/libpthread.abilist   |  2 --
>  .../unix/sysv/linux/microblaze/le/libc.abilist    |  3 +++
>  .../sysv/linux/microblaze/le/libpthread.abilist   |  2 --
>  .../unix/sysv/linux/mips/mips32/fpu/libc.abilist  |  3 +++
>  .../sysv/linux/mips/mips32/libpthread.abilist     |  2 --
>  .../sysv/linux/mips/mips32/nofpu/libc.abilist     |  3 +++
>  .../sysv/linux/mips/mips64/libpthread.abilist     |  2 --
>  .../unix/sysv/linux/mips/mips64/n32/libc.abilist  |  3 +++
>  .../unix/sysv/linux/mips/mips64/n64/libc.abilist  |  3 +++
>  sysdeps/unix/sysv/linux/nios2/libc.abilist        |  3 +++
>  sysdeps/unix/sysv/linux/nios2/libpthread.abilist  |  2 --
>  .../sysv/linux/powerpc/powerpc32/fpu/libc.abilist |  3 +++
>  .../linux/powerpc/powerpc32/libpthread.abilist    |  2 --
>  .../linux/powerpc/powerpc32/nofpu/libc.abilist    |  3 +++
>  .../sysv/linux/powerpc/powerpc64/be/libc.abilist  |  3 +++
>  .../linux/powerpc/powerpc64/be/libpthread.abilist |  2 --
>  .../sysv/linux/powerpc/powerpc64/le/libc.abilist  |  3 +++
>  .../linux/powerpc/powerpc64/le/libpthread.abilist |  2 --
>  sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist   |  3 +++
>  .../unix/sysv/linux/riscv/rv32/libpthread.abilist |  2 --
>  sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist   |  3 +++
>  .../unix/sysv/linux/riscv/rv64/libpthread.abilist |  2 --
>  sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist |  3 +++
>  .../sysv/linux/s390/s390-32/libpthread.abilist    |  2 --
>  sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist |  3 +++
>  .../sysv/linux/s390/s390-64/libpthread.abilist    |  2 --
>  sysdeps/unix/sysv/linux/sh/be/libc.abilist        |  3 +++
>  sysdeps/unix/sysv/linux/sh/be/libpthread.abilist  |  2 --
>  sysdeps/unix/sysv/linux/sh/le/libc.abilist        |  3 +++
>  sysdeps/unix/sysv/linux/sh/le/libpthread.abilist  |  2 --
>  .../unix/sysv/linux/sparc/sparc32/libc.abilist    |  3 +++
>  .../sysv/linux/sparc/sparc32/libpthread.abilist   |  2 --
>  .../unix/sysv/linux/sparc/sparc64/libc.abilist    |  3 +++
>  .../sysv/linux/sparc/sparc64/libpthread.abilist   |  2 --
>  sysdeps/unix/sysv/linux/x86_64/64/libc.abilist    |  3 +++
>  .../unix/sysv/linux/x86_64/64/libpthread.abilist  |  2 --
>  sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist   |  3 +++
>  .../unix/sysv/linux/x86_64/x32/libpthread.abilist |  2 --
>  65 files changed, 113 insertions(+), 68 deletions(-)
> 
> diff --git a/nptl/Makefile b/nptl/Makefile
> index 9f89f2886e..492a59586d 100644
> --- a/nptl/Makefile
> +++ b/nptl/Makefile
> @@ -127,6 +127,7 @@ routines = \
>    pthread_rwlock_rdlock \
>    pthread_rwlock_timedrdlock \
>    pthread_rwlock_timedwrlock \
> +  pthread_rwlock_tryrdlock \
>    pthread_rwlock_unlock \
>    pthread_rwlock_wrlock \
>    pthread_self \
> @@ -184,7 +185,6 @@ libpthread-routines = \
>    pthread_getname \
>    pthread_join \
>    pthread_join_common \
> -  pthread_rwlock_tryrdlock \
>    pthread_rwlock_trywrlock \
>    pthread_rwlockattr_destroy \
>    pthread_rwlockattr_getkind_np \
> diff --git a/nptl/Versions b/nptl/Versions
> index 4d100f33db..2793b0d9b2 100644
> --- a/nptl/Versions
> +++ b/nptl/Versions
> @@ -69,6 +69,7 @@ libc {
>      pthread_rwlock_destroy;
>      pthread_rwlock_init;
>      pthread_rwlock_rdlock;
> +    pthread_rwlock_tryrdlock;
>      pthread_rwlock_unlock;
>      pthread_rwlock_wrlock;
>    }
> @@ -76,6 +77,7 @@ libc {
>      __pthread_rwlock_destroy;
>      __pthread_rwlock_init;
>      __pthread_rwlock_rdlock;
> +    __pthread_rwlock_tryrdlock;
>      __pthread_rwlock_unlock;
>      __pthread_rwlock_wrlock;
>      pthread_condattr_getpshared;
> @@ -194,6 +196,7 @@ libc {
>      pthread_rwlock_rdlock;
>      pthread_rwlock_timedrdlock;
>      pthread_rwlock_timedwrlock;
> +    pthread_rwlock_tryrdlock;
>      pthread_rwlock_unlock;
>      pthread_rwlock_wrlock;
>      pthread_setspecific;
> @@ -286,7 +289,6 @@ libpthread {
>      pthread_attr_setstacksize;
>      pthread_create;
>      pthread_getconcurrency;
> -    pthread_rwlock_tryrdlock;
>      pthread_rwlock_trywrlock;
>      pthread_rwlockattr_destroy;
>      pthread_rwlockattr_getkind_np;
> @@ -314,7 +316,6 @@ libpthread {
>    }
>  
>    GLIBC_2.2 {
> -    __pthread_rwlock_tryrdlock;
>      __pthread_rwlock_trywrlock;
>      pthread_attr_getstack;
>      pthread_attr_setstack;
> diff --git a/nptl/pthread_rwlock_tryrdlock.c b/nptl/pthread_rwlock_tryrdlock.c
> index f01012f86a..495541fc78 100644
> --- a/nptl/pthread_rwlock_tryrdlock.c
> +++ b/nptl/pthread_rwlock_tryrdlock.c
> @@ -25,7 +25,7 @@
>  
>  /* See pthread_rwlock_common.c for an overview.  */
>  int
> -__pthread_rwlock_tryrdlock (pthread_rwlock_t *rwlock)
> +___pthread_rwlock_tryrdlock (pthread_rwlock_t *rwlock)
>  {
>    /* For tryrdlock, we could speculate that we will succeed and go ahead and
>       register as a reader.  However, if we misspeculate, we have to do the
> @@ -116,4 +116,15 @@ __pthread_rwlock_tryrdlock (pthread_rwlock_t *rwlock)
>  
>  
>  }
> -strong_alias (__pthread_rwlock_tryrdlock, pthread_rwlock_tryrdlock)
> +versioned_symbol (libc, ___pthread_rwlock_tryrdlock,
> +		  pthread_rwlock_tryrdlock, GLIBC_2_34);
> +libc_hidden_ver (___pthread_rwlock_tryrdlock, __pthread_rwlock_tryrdlock)
> +
> +#if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_1, GLIBC_2_34)
> +compat_symbol (libpthread, ___pthread_rwlock_tryrdlock,
> +	       pthread_rwlock_tryrdlock, GLIBC_2_1);
> +#endif
> +#if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_2, GLIBC_2_34)
> +compat_symbol (libpthread, ___pthread_rwlock_tryrdlock,
> +	       __pthread_rwlock_tryrdlock, GLIBC_2_2);
> +#endif
> diff --git a/sysdeps/nptl/libc-lockP.h b/sysdeps/nptl/libc-lockP.h
> index 31ecc4a2c1..d1a7ac2a3f 100644
> --- a/sysdeps/nptl/libc-lockP.h
> +++ b/sysdeps/nptl/libc-lockP.h
> @@ -150,8 +150,6 @@ _Static_assert (LLL_LOCK_INITIALIZER == 0, "LLL_LOCK_INITIALIZER != 0");
>  # define __libc_lock_trylock(NAME) \
>    __libc_maybe_call (__pthread_mutex_trylock, (&(NAME)), 0)
>  #endif
> -#define __libc_rwlock_tryrdlock(NAME) \
> -  __libc_maybe_call (__pthread_rwlock_tryrdlock, (&(NAME)), 0)
>  #define __libc_rwlock_trywrlock(NAME) \
>    __libc_maybe_call (__pthread_rwlock_trywrlock, (&(NAME)), 0)
>  
> @@ -266,7 +264,6 @@ extern int __pthread_rwlock_destroy (pthread_rwlock_t *__rwlock);
>  
>  extern int __pthread_rwlock_rdlock (pthread_rwlock_t *__rwlock);
>  libc_hidden_proto (__pthread_rwlock_rdlock)
> -extern int __pthread_rwlock_tryrdlock (pthread_rwlock_t *__rwlock);
>  
>  extern int __pthread_rwlock_wrlock (pthread_rwlock_t *__rwlock);
>  libc_hidden_proto (__pthread_rwlock_wrlock)
> @@ -293,7 +290,6 @@ weak_extern (__pthread_mutex_trylock)
>  weak_extern (__pthread_mutexattr_init)
>  weak_extern (__pthread_mutexattr_destroy)
>  weak_extern (__pthread_mutexattr_settype)
> -weak_extern (__pthread_rwlock_tryrdlock)
>  weak_extern (__pthread_rwlock_trywrlock)
>  weak_extern (__pthread_initialize)
>  weak_extern (__pthread_atfork)
> @@ -302,7 +298,6 @@ weak_extern (__pthread_atfork)
>  #  pragma weak __pthread_mutexattr_init
>  #  pragma weak __pthread_mutexattr_destroy
>  #  pragma weak __pthread_mutexattr_settype
> -#  pragma weak __pthread_rwlock_tryrdlock
>  #  pragma weak __pthread_rwlock_trywrlock
>  #  pragma weak __pthread_initialize
>  #  pragma weak __pthread_atfork
> diff --git a/sysdeps/unix/sysv/linux/aarch64/libc.abilist b/sysdeps/unix/sysv/linux/aarch64/libc.abilist
> index 759666e6f1..c9e785cc8f 100644
> --- a/sysdeps/unix/sysv/linux/aarch64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/aarch64/libc.abilist
> @@ -353,6 +353,7 @@ GLIBC_2.17 __pthread_once F
>  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_tryrdlock F
>  GLIBC_2.17 __pthread_rwlock_unlock F
>  GLIBC_2.17 __pthread_rwlock_wrlock F
>  GLIBC_2.17 __pthread_setspecific F
> @@ -1507,6 +1508,7 @@ 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_tryrdlock F
>  GLIBC_2.17 pthread_rwlock_unlock F
>  GLIBC_2.17 pthread_rwlock_wrlock F
>  GLIBC_2.17 pthread_self F
> @@ -2293,6 +2295,7 @@ 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_tryrdlock 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 539d0a9105..e4014619e7 100644
> --- a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
> @@ -4,7 +4,6 @@ GLIBC_2.17 _IO_funlockfile F
>  GLIBC_2.17 __errno_location F
>  GLIBC_2.17 __pthread_register_cancel F
>  GLIBC_2.17 __pthread_register_cancel_defer F
> -GLIBC_2.17 __pthread_rwlock_tryrdlock F
>  GLIBC_2.17 __pthread_rwlock_trywrlock F
>  GLIBC_2.17 __pthread_unregister_cancel F
>  GLIBC_2.17 __pthread_unregister_cancel_restore F
> @@ -34,7 +33,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_tryrdlock F
>  GLIBC_2.17 pthread_rwlock_trywrlock F
>  GLIBC_2.17 pthread_rwlockattr_destroy F
>  GLIBC_2.17 pthread_rwlockattr_getkind_np F
> diff --git a/sysdeps/unix/sysv/linux/alpha/libc.abilist b/sysdeps/unix/sysv/linux/alpha/libc.abilist
> index 90252cf57d..031f3123f2 100644
> --- a/sysdeps/unix/sysv/linux/alpha/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/alpha/libc.abilist
> @@ -1609,6 +1609,7 @@ GLIBC_2.1 pthread_mutexattr_settype F
>  GLIBC_2.1 pthread_rwlock_destroy F
>  GLIBC_2.1 pthread_rwlock_init F
>  GLIBC_2.1 pthread_rwlock_rdlock F
> +GLIBC_2.1 pthread_rwlock_tryrdlock F
>  GLIBC_2.1 pthread_rwlock_unlock F
>  GLIBC_2.1 pthread_rwlock_wrlock F
>  GLIBC_2.1 ptsname F
> @@ -1890,6 +1891,7 @@ GLIBC_2.2 __pread64 F
>  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_tryrdlock F
>  GLIBC_2.2 __pthread_rwlock_unlock F
>  GLIBC_2.2 __pthread_rwlock_wrlock F
>  GLIBC_2.2 __pwrite64 F
> @@ -2374,6 +2376,7 @@ 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_tryrdlock 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 50166f48e2..f7bda4bb9b 100644
> --- a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
> @@ -24,7 +24,6 @@ GLIBC_2.1 pthread_attr_setstackaddr F
>  GLIBC_2.1 pthread_attr_setstacksize F
>  GLIBC_2.1 pthread_create F
>  GLIBC_2.1 pthread_getconcurrency F
> -GLIBC_2.1 pthread_rwlock_tryrdlock F
>  GLIBC_2.1 pthread_rwlock_trywrlock F
>  GLIBC_2.1 pthread_rwlockattr_destroy F
>  GLIBC_2.1 pthread_rwlockattr_getkind_np F
> @@ -48,7 +47,6 @@ GLIBC_2.12 pthread_getname_np F
>  GLIBC_2.12 pthread_setname_np F
>  GLIBC_2.18 pthread_getattr_default_np F
>  GLIBC_2.18 pthread_setattr_default_np F
> -GLIBC_2.2 __pthread_rwlock_tryrdlock F
>  GLIBC_2.2 __pthread_rwlock_trywrlock F
>  GLIBC_2.2 pthread_attr_getstack F
>  GLIBC_2.2 pthread_attr_setstack F
> diff --git a/sysdeps/unix/sysv/linux/arc/libc.abilist b/sysdeps/unix/sysv/linux/arc/libc.abilist
> index 7fdc592a5a..e6cf475ced 100644
> --- a/sysdeps/unix/sysv/linux/arc/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/arc/libc.abilist
> @@ -342,6 +342,7 @@ GLIBC_2.32 __pthread_once F
>  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_tryrdlock F
>  GLIBC_2.32 __pthread_rwlock_unlock F
>  GLIBC_2.32 __pthread_rwlock_wrlock F
>  GLIBC_2.32 __pthread_setspecific F
> @@ -1437,6 +1438,7 @@ 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_tryrdlock F
>  GLIBC_2.32 pthread_rwlock_unlock F
>  GLIBC_2.32 pthread_rwlock_wrlock F
>  GLIBC_2.32 pthread_self F
> @@ -2052,6 +2054,7 @@ 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_tryrdlock 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 9ed76b8a64..ae63d7aeb3 100644
> --- a/sysdeps/unix/sysv/linux/arc/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/arc/libpthread.abilist
> @@ -4,7 +4,6 @@ GLIBC_2.32 _IO_funlockfile F
>  GLIBC_2.32 __errno_location F
>  GLIBC_2.32 __pthread_register_cancel F
>  GLIBC_2.32 __pthread_register_cancel_defer F
> -GLIBC_2.32 __pthread_rwlock_tryrdlock F
>  GLIBC_2.32 __pthread_rwlock_trywrlock F
>  GLIBC_2.32 __pthread_unregister_cancel F
>  GLIBC_2.32 __pthread_unregister_cancel_restore F
> @@ -49,7 +48,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_tryrdlock F
>  GLIBC_2.32 pthread_rwlock_trywrlock F
>  GLIBC_2.32 pthread_rwlockattr_destroy F
>  GLIBC_2.32 pthread_rwlockattr_getkind_np F
> diff --git a/sysdeps/unix/sysv/linux/arm/be/libc.abilist b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
> index 6ace2c0c13..bfec42ead9 100644
> --- a/sysdeps/unix/sysv/linux/arm/be/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
> @@ -211,6 +211,7 @@ 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_tryrdlock F
>  GLIBC_2.34 pthread_rwlock_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
>  GLIBC_2.34 pthread_setspecific F
> @@ -561,6 +562,7 @@ GLIBC_2.4 __pthread_once F
>  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_tryrdlock F
>  GLIBC_2.4 __pthread_rwlock_unlock F
>  GLIBC_2.4 __pthread_rwlock_wrlock F
>  GLIBC_2.4 __pthread_setspecific F
> @@ -1659,6 +1661,7 @@ 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_tryrdlock 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 a9ece5fcb7..e5de765bbc 100644
> --- a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
> @@ -33,7 +33,6 @@ GLIBC_2.4 __errno_location F
>  GLIBC_2.4 __libpthread_version_placeholder F
>  GLIBC_2.4 __pthread_register_cancel F
>  GLIBC_2.4 __pthread_register_cancel_defer F
> -GLIBC_2.4 __pthread_rwlock_tryrdlock F
>  GLIBC_2.4 __pthread_rwlock_trywrlock F
>  GLIBC_2.4 __pthread_unregister_cancel F
>  GLIBC_2.4 __pthread_unregister_cancel_restore F
> @@ -62,7 +61,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_tryrdlock F
>  GLIBC_2.4 pthread_rwlock_trywrlock F
>  GLIBC_2.4 pthread_rwlockattr_destroy F
>  GLIBC_2.4 pthread_rwlockattr_getkind_np F
> diff --git a/sysdeps/unix/sysv/linux/arm/le/libc.abilist b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
> index 474a472d8e..f0bade32ef 100644
> --- a/sysdeps/unix/sysv/linux/arm/le/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
> @@ -208,6 +208,7 @@ 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_tryrdlock F
>  GLIBC_2.34 pthread_rwlock_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
>  GLIBC_2.34 pthread_setspecific F
> @@ -558,6 +559,7 @@ GLIBC_2.4 __pthread_once F
>  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_tryrdlock F
>  GLIBC_2.4 __pthread_rwlock_unlock F
>  GLIBC_2.4 __pthread_rwlock_wrlock F
>  GLIBC_2.4 __pthread_setspecific F
> @@ -1656,6 +1658,7 @@ 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_tryrdlock 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 a9ece5fcb7..e5de765bbc 100644
> --- a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
> @@ -33,7 +33,6 @@ GLIBC_2.4 __errno_location F
>  GLIBC_2.4 __libpthread_version_placeholder F
>  GLIBC_2.4 __pthread_register_cancel F
>  GLIBC_2.4 __pthread_register_cancel_defer F
> -GLIBC_2.4 __pthread_rwlock_tryrdlock F
>  GLIBC_2.4 __pthread_rwlock_trywrlock F
>  GLIBC_2.4 __pthread_unregister_cancel F
>  GLIBC_2.4 __pthread_unregister_cancel_restore F
> @@ -62,7 +61,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_tryrdlock F
>  GLIBC_2.4 pthread_rwlock_trywrlock F
>  GLIBC_2.4 pthread_rwlockattr_destroy F
>  GLIBC_2.4 pthread_rwlockattr_getkind_np F
> diff --git a/sysdeps/unix/sysv/linux/csky/libc.abilist b/sysdeps/unix/sysv/linux/csky/libc.abilist
> index 761d723f7d..98a7f9a864 100644
> --- a/sysdeps/unix/sysv/linux/csky/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/csky/libc.abilist
> @@ -346,6 +346,7 @@ GLIBC_2.29 __pthread_once F
>  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_tryrdlock F
>  GLIBC_2.29 __pthread_rwlock_unlock F
>  GLIBC_2.29 __pthread_rwlock_wrlock F
>  GLIBC_2.29 __pthread_setspecific F
> @@ -1494,6 +1495,7 @@ 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_tryrdlock F
>  GLIBC_2.29 pthread_rwlock_unlock F
>  GLIBC_2.29 pthread_rwlock_wrlock F
>  GLIBC_2.29 pthread_self F
> @@ -2236,6 +2238,7 @@ 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_tryrdlock 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 29c4199949..05c2ea5ad5 100644
> --- a/sysdeps/unix/sysv/linux/csky/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/csky/libpthread.abilist
> @@ -4,7 +4,6 @@ GLIBC_2.29 _IO_funlockfile F
>  GLIBC_2.29 __errno_location F
>  GLIBC_2.29 __pthread_register_cancel F
>  GLIBC_2.29 __pthread_register_cancel_defer F
> -GLIBC_2.29 __pthread_rwlock_tryrdlock F
>  GLIBC_2.29 __pthread_rwlock_trywrlock F
>  GLIBC_2.29 __pthread_unregister_cancel F
>  GLIBC_2.29 __pthread_unregister_cancel_restore F
> @@ -48,7 +47,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_tryrdlock F
>  GLIBC_2.29 pthread_rwlock_trywrlock F
>  GLIBC_2.29 pthread_rwlockattr_destroy F
>  GLIBC_2.29 pthread_rwlockattr_getkind_np F
> diff --git a/sysdeps/unix/sysv/linux/hppa/libc.abilist b/sysdeps/unix/sysv/linux/hppa/libc.abilist
> index 1fe99788cb..2e180f5385 100644
> --- a/sysdeps/unix/sysv/linux/hppa/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/hppa/libc.abilist
> @@ -372,6 +372,7 @@ GLIBC_2.2 __pthread_once F
>  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_tryrdlock F
>  GLIBC_2.2 __pthread_rwlock_unlock F
>  GLIBC_2.2 __pthread_rwlock_wrlock F
>  GLIBC_2.2 __pthread_setspecific F
> @@ -1318,6 +1319,7 @@ 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_tryrdlock F
>  GLIBC_2.2 pthread_rwlock_unlock F
>  GLIBC_2.2 pthread_rwlock_wrlock F
>  GLIBC_2.2 pthread_self F
> @@ -2187,6 +2189,7 @@ 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_tryrdlock 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 594f9c40a4..73866e12f3 100644
> --- a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
> @@ -7,7 +7,6 @@ GLIBC_2.2 _IO_flockfile F
>  GLIBC_2.2 _IO_ftrylockfile F
>  GLIBC_2.2 _IO_funlockfile F
>  GLIBC_2.2 __errno_location F
> -GLIBC_2.2 __pthread_rwlock_tryrdlock F
>  GLIBC_2.2 __pthread_rwlock_trywrlock F
>  GLIBC_2.2 flockfile F
>  GLIBC_2.2 ftrylockfile F
> @@ -32,7 +31,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_tryrdlock F
>  GLIBC_2.2 pthread_rwlock_trywrlock F
>  GLIBC_2.2 pthread_rwlockattr_destroy F
>  GLIBC_2.2 pthread_rwlockattr_getkind_np F
> diff --git a/sysdeps/unix/sysv/linux/i386/libc.abilist b/sysdeps/unix/sysv/linux/i386/libc.abilist
> index 369b6d011c..3bf80f24d6 100644
> --- a/sysdeps/unix/sysv/linux/i386/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/i386/libc.abilist
> @@ -1577,6 +1577,7 @@ GLIBC_2.1 pthread_mutexattr_settype F
>  GLIBC_2.1 pthread_rwlock_destroy F
>  GLIBC_2.1 pthread_rwlock_init F
>  GLIBC_2.1 pthread_rwlock_rdlock F
> +GLIBC_2.1 pthread_rwlock_tryrdlock F
>  GLIBC_2.1 pthread_rwlock_unlock F
>  GLIBC_2.1 pthread_rwlock_wrlock F
>  GLIBC_2.1 ptsname F
> @@ -1894,6 +1895,7 @@ GLIBC_2.2 __pread64 F
>  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_tryrdlock F
>  GLIBC_2.2 __pthread_rwlock_unlock F
>  GLIBC_2.2 __pthread_rwlock_wrlock F
>  GLIBC_2.2 __pwrite64 F
> @@ -2364,6 +2366,7 @@ 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_tryrdlock 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 fa1e4a9a0a..0f76b104ac 100644
> --- a/sysdeps/unix/sysv/linux/i386/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/i386/libpthread.abilist
> @@ -24,7 +24,6 @@ GLIBC_2.1 pthread_attr_setstackaddr F
>  GLIBC_2.1 pthread_attr_setstacksize F
>  GLIBC_2.1 pthread_create F
>  GLIBC_2.1 pthread_getconcurrency F
> -GLIBC_2.1 pthread_rwlock_tryrdlock F
>  GLIBC_2.1 pthread_rwlock_trywrlock F
>  GLIBC_2.1 pthread_rwlockattr_destroy F
>  GLIBC_2.1 pthread_rwlockattr_getkind_np F
> @@ -48,7 +47,6 @@ GLIBC_2.12 pthread_getname_np F
>  GLIBC_2.12 pthread_setname_np F
>  GLIBC_2.18 pthread_getattr_default_np F
>  GLIBC_2.18 pthread_setattr_default_np F
> -GLIBC_2.2 __pthread_rwlock_tryrdlock F
>  GLIBC_2.2 __pthread_rwlock_trywrlock F
>  GLIBC_2.2 pthread_attr_getstack F
>  GLIBC_2.2 pthread_attr_setstack F
> diff --git a/sysdeps/unix/sysv/linux/ia64/libc.abilist b/sysdeps/unix/sysv/linux/ia64/libc.abilist
> index 2eaa5e822a..c6acf24faf 100644
> --- a/sysdeps/unix/sysv/linux/ia64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/ia64/libc.abilist
> @@ -376,6 +376,7 @@ GLIBC_2.2 __pthread_once F
>  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_tryrdlock F
>  GLIBC_2.2 __pthread_rwlock_unlock F
>  GLIBC_2.2 __pthread_rwlock_wrlock F
>  GLIBC_2.2 __pthread_setspecific F
> @@ -1339,6 +1340,7 @@ 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_tryrdlock F
>  GLIBC_2.2 pthread_rwlock_unlock F
>  GLIBC_2.2 pthread_rwlock_wrlock F
>  GLIBC_2.2 pthread_self F
> @@ -2221,6 +2223,7 @@ 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_tryrdlock 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 3064b2c36c..d9988168e7 100644
> --- a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
> @@ -7,7 +7,6 @@ GLIBC_2.2 _IO_flockfile F
>  GLIBC_2.2 _IO_ftrylockfile F
>  GLIBC_2.2 _IO_funlockfile F
>  GLIBC_2.2 __errno_location F
> -GLIBC_2.2 __pthread_rwlock_tryrdlock F
>  GLIBC_2.2 __pthread_rwlock_trywrlock F
>  GLIBC_2.2 flockfile F
>  GLIBC_2.2 ftrylockfile F
> @@ -32,7 +31,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_tryrdlock F
>  GLIBC_2.2 pthread_rwlock_trywrlock F
>  GLIBC_2.2 pthread_rwlockattr_destroy F
>  GLIBC_2.2 pthread_rwlockattr_getkind_np F
> diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
> index 4b00019000..7404e14471 100644
> --- a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
> @@ -212,6 +212,7 @@ 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_tryrdlock F
>  GLIBC_2.34 pthread_rwlock_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
>  GLIBC_2.34 pthread_setspecific F
> @@ -547,6 +548,7 @@ GLIBC_2.4 __pthread_once F
>  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_tryrdlock F
>  GLIBC_2.4 __pthread_rwlock_unlock F
>  GLIBC_2.4 __pthread_rwlock_wrlock F
>  GLIBC_2.4 __pthread_setspecific F
> @@ -1639,6 +1641,7 @@ 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_tryrdlock 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 a9ece5fcb7..e5de765bbc 100644
> --- a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
> @@ -33,7 +33,6 @@ GLIBC_2.4 __errno_location F
>  GLIBC_2.4 __libpthread_version_placeholder F
>  GLIBC_2.4 __pthread_register_cancel F
>  GLIBC_2.4 __pthread_register_cancel_defer F
> -GLIBC_2.4 __pthread_rwlock_tryrdlock F
>  GLIBC_2.4 __pthread_rwlock_trywrlock F
>  GLIBC_2.4 __pthread_unregister_cancel F
>  GLIBC_2.4 __pthread_unregister_cancel_restore F
> @@ -62,7 +61,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_tryrdlock F
>  GLIBC_2.4 pthread_rwlock_trywrlock F
>  GLIBC_2.4 pthread_rwlockattr_destroy F
>  GLIBC_2.4 pthread_rwlockattr_getkind_np F
> diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
> index 22bd60eaea..28a0e6222b 100644
> --- a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
> @@ -1573,6 +1573,7 @@ GLIBC_2.1 pthread_mutexattr_settype F
>  GLIBC_2.1 pthread_rwlock_destroy F
>  GLIBC_2.1 pthread_rwlock_init F
>  GLIBC_2.1 pthread_rwlock_rdlock F
> +GLIBC_2.1 pthread_rwlock_tryrdlock F
>  GLIBC_2.1 pthread_rwlock_unlock F
>  GLIBC_2.1 pthread_rwlock_wrlock F
>  GLIBC_2.1 ptsname F
> @@ -1850,6 +1851,7 @@ GLIBC_2.2 __pread64 F
>  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_tryrdlock F
>  GLIBC_2.2 __pthread_rwlock_unlock F
>  GLIBC_2.2 __pthread_rwlock_wrlock F
>  GLIBC_2.2 __pwrite64 F
> @@ -2307,6 +2309,7 @@ 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_tryrdlock 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 fa1e4a9a0a..0f76b104ac 100644
> --- a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
> @@ -24,7 +24,6 @@ GLIBC_2.1 pthread_attr_setstackaddr F
>  GLIBC_2.1 pthread_attr_setstacksize F
>  GLIBC_2.1 pthread_create F
>  GLIBC_2.1 pthread_getconcurrency F
> -GLIBC_2.1 pthread_rwlock_tryrdlock F
>  GLIBC_2.1 pthread_rwlock_trywrlock F
>  GLIBC_2.1 pthread_rwlockattr_destroy F
>  GLIBC_2.1 pthread_rwlockattr_getkind_np F
> @@ -48,7 +47,6 @@ GLIBC_2.12 pthread_getname_np F
>  GLIBC_2.12 pthread_setname_np F
>  GLIBC_2.18 pthread_getattr_default_np F
>  GLIBC_2.18 pthread_setattr_default_np F
> -GLIBC_2.2 __pthread_rwlock_tryrdlock F
>  GLIBC_2.2 __pthread_rwlock_trywrlock F
>  GLIBC_2.2 pthread_attr_getstack F
>  GLIBC_2.2 pthread_attr_setstack F
> diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
> index 8383460d5b..3f31384d7b 100644
> --- a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
> @@ -354,6 +354,7 @@ GLIBC_2.18 __pthread_once F
>  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_tryrdlock F
>  GLIBC_2.18 __pthread_rwlock_unlock F
>  GLIBC_2.18 __pthread_rwlock_wrlock F
>  GLIBC_2.18 __pthread_setspecific F
> @@ -1509,6 +1510,7 @@ 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_tryrdlock F
>  GLIBC_2.18 pthread_rwlock_unlock F
>  GLIBC_2.18 pthread_rwlock_wrlock F
>  GLIBC_2.18 pthread_self F
> @@ -2287,6 +2289,7 @@ 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_tryrdlock 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 2048dfa987..d9bc0713c0 100644
> --- a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
> @@ -4,7 +4,6 @@ GLIBC_2.18 _IO_funlockfile F
>  GLIBC_2.18 __errno_location F
>  GLIBC_2.18 __pthread_register_cancel F
>  GLIBC_2.18 __pthread_register_cancel_defer F
> -GLIBC_2.18 __pthread_rwlock_tryrdlock F
>  GLIBC_2.18 __pthread_rwlock_trywrlock F
>  GLIBC_2.18 __pthread_unregister_cancel F
>  GLIBC_2.18 __pthread_unregister_cancel_restore F
> @@ -35,7 +34,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_tryrdlock F
>  GLIBC_2.18 pthread_rwlock_trywrlock F
>  GLIBC_2.18 pthread_rwlockattr_destroy F
>  GLIBC_2.18 pthread_rwlockattr_getkind_np F
> diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
> index d8c75fba97..a8a128fd6e 100644
> --- a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
> @@ -354,6 +354,7 @@ GLIBC_2.18 __pthread_once F
>  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_tryrdlock F
>  GLIBC_2.18 __pthread_rwlock_unlock F
>  GLIBC_2.18 __pthread_rwlock_wrlock F
>  GLIBC_2.18 __pthread_setspecific F
> @@ -1509,6 +1510,7 @@ 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_tryrdlock F
>  GLIBC_2.18 pthread_rwlock_unlock F
>  GLIBC_2.18 pthread_rwlock_wrlock F
>  GLIBC_2.18 pthread_self F
> @@ -2284,6 +2286,7 @@ 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_tryrdlock 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 2048dfa987..d9bc0713c0 100644
> --- a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
> @@ -4,7 +4,6 @@ GLIBC_2.18 _IO_funlockfile F
>  GLIBC_2.18 __errno_location F
>  GLIBC_2.18 __pthread_register_cancel F
>  GLIBC_2.18 __pthread_register_cancel_defer F
> -GLIBC_2.18 __pthread_rwlock_tryrdlock F
>  GLIBC_2.18 __pthread_rwlock_trywrlock F
>  GLIBC_2.18 __pthread_unregister_cancel F
>  GLIBC_2.18 __pthread_unregister_cancel_restore F
> @@ -35,7 +34,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_tryrdlock F
>  GLIBC_2.18 pthread_rwlock_trywrlock F
>  GLIBC_2.18 pthread_rwlockattr_destroy F
>  GLIBC_2.18 pthread_rwlockattr_getkind_np F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
> index d5388fe63b..fc3dbb2129 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
> @@ -1547,6 +1547,7 @@ GLIBC_2.2 __pread64 F
>  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_tryrdlock F
>  GLIBC_2.2 __pthread_rwlock_unlock F
>  GLIBC_2.2 __pthread_rwlock_wrlock F
>  GLIBC_2.2 __pwrite64 F
> @@ -1848,6 +1849,7 @@ 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_tryrdlock F
>  GLIBC_2.2 pthread_rwlock_unlock F
>  GLIBC_2.2 pthread_rwlock_wrlock F
>  GLIBC_2.2 pthread_spin_destroy F
> @@ -2270,6 +2272,7 @@ 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_tryrdlock 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 6a2fdb32ef..98a4af149a 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
> @@ -21,7 +21,6 @@ GLIBC_2.12 pthread_getname_np F
>  GLIBC_2.12 pthread_setname_np F
>  GLIBC_2.18 pthread_getattr_default_np F
>  GLIBC_2.18 pthread_setattr_default_np F
> -GLIBC_2.2 __pthread_rwlock_tryrdlock F
>  GLIBC_2.2 __pthread_rwlock_trywrlock F
>  GLIBC_2.2 pthread_attr_getguardsize F
>  GLIBC_2.2 pthread_attr_getstack F
> @@ -40,7 +39,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_tryrdlock F
>  GLIBC_2.2 pthread_rwlock_trywrlock F
>  GLIBC_2.2 pthread_rwlockattr_destroy F
>  GLIBC_2.2 pthread_rwlockattr_getkind_np F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
> index a40864332c..6164cdf470 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
> @@ -1545,6 +1545,7 @@ GLIBC_2.2 __pread64 F
>  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_tryrdlock F
>  GLIBC_2.2 __pthread_rwlock_unlock F
>  GLIBC_2.2 __pthread_rwlock_wrlock F
>  GLIBC_2.2 __pwrite64 F
> @@ -1846,6 +1847,7 @@ 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_tryrdlock F
>  GLIBC_2.2 pthread_rwlock_unlock F
>  GLIBC_2.2 pthread_rwlock_wrlock F
>  GLIBC_2.2 pthread_spin_destroy F
> @@ -2268,6 +2270,7 @@ 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_tryrdlock 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 6a2fdb32ef..98a4af149a 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
> @@ -21,7 +21,6 @@ GLIBC_2.12 pthread_getname_np F
>  GLIBC_2.12 pthread_setname_np F
>  GLIBC_2.18 pthread_getattr_default_np F
>  GLIBC_2.18 pthread_setattr_default_np F
> -GLIBC_2.2 __pthread_rwlock_tryrdlock F
>  GLIBC_2.2 __pthread_rwlock_trywrlock F
>  GLIBC_2.2 pthread_attr_getguardsize F
>  GLIBC_2.2 pthread_attr_getstack F
> @@ -40,7 +39,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_tryrdlock F
>  GLIBC_2.2 pthread_rwlock_trywrlock F
>  GLIBC_2.2 pthread_rwlockattr_destroy F
>  GLIBC_2.2 pthread_rwlockattr_getkind_np F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
> index de5414f722..c0c545eaba 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
> @@ -1545,6 +1545,7 @@ GLIBC_2.2 __pread64 F
>  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_tryrdlock F
>  GLIBC_2.2 __pthread_rwlock_unlock F
>  GLIBC_2.2 __pthread_rwlock_wrlock F
>  GLIBC_2.2 __pwrite64 F
> @@ -1846,6 +1847,7 @@ 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_tryrdlock F
>  GLIBC_2.2 pthread_rwlock_unlock F
>  GLIBC_2.2 pthread_rwlock_wrlock F
>  GLIBC_2.2 pthread_spin_destroy F
> @@ -2276,6 +2278,7 @@ 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_tryrdlock 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 c9c92faf61..c247f75f5d 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
> @@ -1541,6 +1541,7 @@ GLIBC_2.2 __pread64 F
>  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_tryrdlock F
>  GLIBC_2.2 __pthread_rwlock_unlock F
>  GLIBC_2.2 __pthread_rwlock_wrlock F
>  GLIBC_2.2 __pwrite64 F
> @@ -1842,6 +1843,7 @@ 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_tryrdlock F
>  GLIBC_2.2 pthread_rwlock_unlock F
>  GLIBC_2.2 pthread_rwlock_wrlock F
>  GLIBC_2.2 pthread_spin_destroy F
> @@ -2270,6 +2272,7 @@ 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_tryrdlock 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 3f46e027dd..953f80462e 100644
> --- a/sysdeps/unix/sysv/linux/nios2/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/nios2/libc.abilist
> @@ -391,6 +391,7 @@ GLIBC_2.21 __pthread_once F
>  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_tryrdlock F
>  GLIBC_2.21 __pthread_rwlock_unlock F
>  GLIBC_2.21 __pthread_rwlock_wrlock F
>  GLIBC_2.21 __pthread_setspecific F
> @@ -1552,6 +1553,7 @@ 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_tryrdlock F
>  GLIBC_2.21 pthread_rwlock_unlock F
>  GLIBC_2.21 pthread_rwlock_wrlock F
>  GLIBC_2.21 pthread_self F
> @@ -2326,6 +2328,7 @@ 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_tryrdlock 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 0ee9bc8358..22f6c11f86 100644
> --- a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
> @@ -4,7 +4,6 @@ GLIBC_2.21 _IO_funlockfile F
>  GLIBC_2.21 __errno_location F
>  GLIBC_2.21 __pthread_register_cancel F
>  GLIBC_2.21 __pthread_register_cancel_defer F
> -GLIBC_2.21 __pthread_rwlock_tryrdlock F
>  GLIBC_2.21 __pthread_rwlock_trywrlock F
>  GLIBC_2.21 __pthread_unregister_cancel F
>  GLIBC_2.21 __pthread_unregister_cancel_restore F
> @@ -35,7 +34,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_tryrdlock F
>  GLIBC_2.21 pthread_rwlock_trywrlock F
>  GLIBC_2.21 pthread_rwlockattr_destroy F
>  GLIBC_2.21 pthread_rwlockattr_getkind_np F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
> index b020ad8b04..25ce30e612 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
> @@ -1581,6 +1581,7 @@ GLIBC_2.1 pthread_mutexattr_settype F
>  GLIBC_2.1 pthread_rwlock_destroy F
>  GLIBC_2.1 pthread_rwlock_init F
>  GLIBC_2.1 pthread_rwlock_rdlock F
> +GLIBC_2.1 pthread_rwlock_tryrdlock F
>  GLIBC_2.1 pthread_rwlock_unlock F
>  GLIBC_2.1 pthread_rwlock_wrlock F
>  GLIBC_2.1 ptsname F
> @@ -1856,6 +1857,7 @@ GLIBC_2.2 __pread64 F
>  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_tryrdlock F
>  GLIBC_2.2 __pthread_rwlock_unlock F
>  GLIBC_2.2 __pthread_rwlock_wrlock F
>  GLIBC_2.2 __pwrite64 F
> @@ -2334,6 +2336,7 @@ 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_tryrdlock 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 d293553ad6..192449a99e 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
> @@ -24,7 +24,6 @@ GLIBC_2.1 pthread_attr_setstackaddr F
>  GLIBC_2.1 pthread_attr_setstacksize F
>  GLIBC_2.1 pthread_create F
>  GLIBC_2.1 pthread_getconcurrency F
> -GLIBC_2.1 pthread_rwlock_tryrdlock F
>  GLIBC_2.1 pthread_rwlock_trywrlock F
>  GLIBC_2.1 pthread_rwlockattr_destroy F
>  GLIBC_2.1 pthread_rwlockattr_getkind_np F
> @@ -48,7 +47,6 @@ GLIBC_2.12 pthread_getname_np F
>  GLIBC_2.12 pthread_setname_np F
>  GLIBC_2.18 pthread_getattr_default_np F
>  GLIBC_2.18 pthread_setattr_default_np F
> -GLIBC_2.2 __pthread_rwlock_tryrdlock F
>  GLIBC_2.2 __pthread_rwlock_trywrlock F
>  GLIBC_2.2 pthread_attr_getstack F
>  GLIBC_2.2 pthread_attr_setstack F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
> index c8303013f4..db33644bd8 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
> @@ -1581,6 +1581,7 @@ GLIBC_2.1 pthread_mutexattr_settype F
>  GLIBC_2.1 pthread_rwlock_destroy F
>  GLIBC_2.1 pthread_rwlock_init F
>  GLIBC_2.1 pthread_rwlock_rdlock F
> +GLIBC_2.1 pthread_rwlock_tryrdlock F
>  GLIBC_2.1 pthread_rwlock_unlock F
>  GLIBC_2.1 pthread_rwlock_wrlock F
>  GLIBC_2.1 ptsname F
> @@ -1860,6 +1861,7 @@ GLIBC_2.2 __pread64 F
>  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_tryrdlock F
>  GLIBC_2.2 __pthread_rwlock_unlock F
>  GLIBC_2.2 __pthread_rwlock_wrlock F
>  GLIBC_2.2 __pwrite64 F
> @@ -2367,6 +2369,7 @@ 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_tryrdlock 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 d0eeba3839..ba850f3a58 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
> @@ -425,6 +425,7 @@ GLIBC_2.3 __pthread_once F
>  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_tryrdlock F
>  GLIBC_2.3 __pthread_rwlock_unlock F
>  GLIBC_2.3 __pthread_rwlock_wrlock F
>  GLIBC_2.3 __pthread_setspecific F
> @@ -1424,6 +1425,7 @@ 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_tryrdlock F
>  GLIBC_2.3 pthread_rwlock_unlock F
>  GLIBC_2.3 pthread_rwlock_wrlock F
>  GLIBC_2.3 pthread_self F
> @@ -2188,6 +2190,7 @@ 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_tryrdlock 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 5982f6aac4..3e46195d50 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
> @@ -28,7 +28,6 @@ GLIBC_2.3 _IO_flockfile F
>  GLIBC_2.3 _IO_ftrylockfile F
>  GLIBC_2.3 _IO_funlockfile F
>  GLIBC_2.3 __errno_location F
> -GLIBC_2.3 __pthread_rwlock_tryrdlock F
>  GLIBC_2.3 __pthread_rwlock_trywrlock F
>  GLIBC_2.3 flockfile F
>  GLIBC_2.3 ftrylockfile F
> @@ -53,7 +52,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_tryrdlock F
>  GLIBC_2.3 pthread_rwlock_trywrlock F
>  GLIBC_2.3 pthread_rwlockattr_destroy F
>  GLIBC_2.3 pthread_rwlockattr_getkind_np F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
> index 58c13b3e34..fb5b760364 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
> @@ -439,6 +439,7 @@ GLIBC_2.17 __pthread_once F
>  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_tryrdlock F
>  GLIBC_2.17 __pthread_rwlock_unlock F
>  GLIBC_2.17 __pthread_rwlock_wrlock F
>  GLIBC_2.17 __pthread_setspecific F
> @@ -1595,6 +1596,7 @@ 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_tryrdlock F
>  GLIBC_2.17 pthread_rwlock_unlock F
>  GLIBC_2.17 pthread_rwlock_wrlock F
>  GLIBC_2.17 pthread_self F
> @@ -2489,6 +2491,7 @@ 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_tryrdlock 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 539d0a9105..e4014619e7 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
> @@ -4,7 +4,6 @@ GLIBC_2.17 _IO_funlockfile F
>  GLIBC_2.17 __errno_location F
>  GLIBC_2.17 __pthread_register_cancel F
>  GLIBC_2.17 __pthread_register_cancel_defer F
> -GLIBC_2.17 __pthread_rwlock_tryrdlock F
>  GLIBC_2.17 __pthread_rwlock_trywrlock F
>  GLIBC_2.17 __pthread_unregister_cancel F
>  GLIBC_2.17 __pthread_unregister_cancel_restore F
> @@ -34,7 +33,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_tryrdlock F
>  GLIBC_2.17 pthread_rwlock_trywrlock F
>  GLIBC_2.17 pthread_rwlockattr_destroy F
>  GLIBC_2.17 pthread_rwlockattr_getkind_np F
> diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
> index 895a116445..e14c088f8a 100644
> --- a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
> @@ -339,6 +339,7 @@ GLIBC_2.33 __pthread_once F
>  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_tryrdlock F
>  GLIBC_2.33 __pthread_rwlock_unlock F
>  GLIBC_2.33 __pthread_rwlock_wrlock F
>  GLIBC_2.33 __pthread_setspecific F
> @@ -1439,6 +1440,7 @@ 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_tryrdlock F
>  GLIBC_2.33 pthread_rwlock_unlock F
>  GLIBC_2.33 pthread_rwlock_wrlock F
>  GLIBC_2.33 pthread_self F
> @@ -2054,6 +2056,7 @@ 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_tryrdlock 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 e21dfe4fce..e42feeb16e 100644
> --- a/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
> @@ -4,7 +4,6 @@ GLIBC_2.33 _IO_funlockfile F
>  GLIBC_2.33 __errno_location F
>  GLIBC_2.33 __pthread_register_cancel F
>  GLIBC_2.33 __pthread_register_cancel_defer F
> -GLIBC_2.33 __pthread_rwlock_tryrdlock F
>  GLIBC_2.33 __pthread_rwlock_trywrlock F
>  GLIBC_2.33 __pthread_unregister_cancel F
>  GLIBC_2.33 __pthread_unregister_cancel_restore F
> @@ -49,7 +48,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_tryrdlock F
>  GLIBC_2.33 pthread_rwlock_trywrlock F
>  GLIBC_2.33 pthread_rwlockattr_destroy F
>  GLIBC_2.33 pthread_rwlockattr_getkind_np F
> diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
> index dd802fb0d0..4d17db5800 100644
> --- a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
> @@ -350,6 +350,7 @@ GLIBC_2.27 __pthread_once F
>  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_tryrdlock F
>  GLIBC_2.27 __pthread_rwlock_unlock F
>  GLIBC_2.27 __pthread_rwlock_wrlock F
>  GLIBC_2.27 __pthread_setspecific F
> @@ -1497,6 +1498,7 @@ 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_tryrdlock F
>  GLIBC_2.27 pthread_rwlock_unlock F
>  GLIBC_2.27 pthread_rwlock_wrlock F
>  GLIBC_2.27 pthread_self F
> @@ -2254,6 +2256,7 @@ 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_tryrdlock 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 25f5bd3707..600ea5a00f 100644
> --- a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
> @@ -4,7 +4,6 @@ GLIBC_2.27 _IO_funlockfile F
>  GLIBC_2.27 __errno_location F
>  GLIBC_2.27 __pthread_register_cancel F
>  GLIBC_2.27 __pthread_register_cancel_defer F
> -GLIBC_2.27 __pthread_rwlock_tryrdlock F
>  GLIBC_2.27 __pthread_rwlock_trywrlock F
>  GLIBC_2.27 __pthread_unregister_cancel F
>  GLIBC_2.27 __pthread_unregister_cancel_restore F
> @@ -35,7 +34,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_tryrdlock F
>  GLIBC_2.27 pthread_rwlock_trywrlock F
>  GLIBC_2.27 pthread_rwlockattr_destroy F
>  GLIBC_2.27 pthread_rwlockattr_getkind_np F
> diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
> index 8d7c07ffa0..da77bab930 100644
> --- a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
> @@ -1573,6 +1573,7 @@ GLIBC_2.1 pthread_mutexattr_settype F
>  GLIBC_2.1 pthread_rwlock_destroy F
>  GLIBC_2.1 pthread_rwlock_init F
>  GLIBC_2.1 pthread_rwlock_rdlock F
> +GLIBC_2.1 pthread_rwlock_tryrdlock F
>  GLIBC_2.1 pthread_rwlock_unlock F
>  GLIBC_2.1 pthread_rwlock_wrlock F
>  GLIBC_2.1 ptsname F
> @@ -1854,6 +1855,7 @@ GLIBC_2.2 __pread64 F
>  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_tryrdlock F
>  GLIBC_2.2 __pthread_rwlock_unlock F
>  GLIBC_2.2 __pthread_rwlock_wrlock F
>  GLIBC_2.2 __pwrite64 F
> @@ -2332,6 +2334,7 @@ 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_tryrdlock 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 2f4676b825..f2b083901d 100644
> --- a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
> @@ -24,7 +24,6 @@ GLIBC_2.1 pthread_attr_setstackaddr F
>  GLIBC_2.1 pthread_attr_setstacksize F
>  GLIBC_2.1 pthread_create F
>  GLIBC_2.1 pthread_getconcurrency F
> -GLIBC_2.1 pthread_rwlock_tryrdlock F
>  GLIBC_2.1 pthread_rwlock_trywrlock F
>  GLIBC_2.1 pthread_rwlockattr_destroy F
>  GLIBC_2.1 pthread_rwlockattr_getkind_np F
> @@ -49,7 +48,6 @@ GLIBC_2.12 pthread_setname_np F
>  GLIBC_2.18 pthread_getattr_default_np F
>  GLIBC_2.18 pthread_setattr_default_np F
>  GLIBC_2.19 __libpthread_version_placeholder F
> -GLIBC_2.2 __pthread_rwlock_tryrdlock F
>  GLIBC_2.2 __pthread_rwlock_trywrlock F
>  GLIBC_2.2 pthread_attr_getstack F
>  GLIBC_2.2 pthread_attr_setstack F
> diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
> index 9557487426..bf68e980bf 100644
> --- a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
> @@ -386,6 +386,7 @@ GLIBC_2.2 __pthread_once F
>  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_tryrdlock F
>  GLIBC_2.2 __pthread_rwlock_unlock F
>  GLIBC_2.2 __pthread_rwlock_wrlock F
>  GLIBC_2.2 __pthread_setspecific F
> @@ -1336,6 +1337,7 @@ 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_tryrdlock F
>  GLIBC_2.2 pthread_rwlock_unlock F
>  GLIBC_2.2 pthread_rwlock_wrlock F
>  GLIBC_2.2 pthread_self F
> @@ -2225,6 +2227,7 @@ 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_tryrdlock 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 c7dd59c419..ceb764752d 100644
> --- a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
> @@ -8,7 +8,6 @@ GLIBC_2.2 _IO_flockfile F
>  GLIBC_2.2 _IO_ftrylockfile F
>  GLIBC_2.2 _IO_funlockfile F
>  GLIBC_2.2 __errno_location F
> -GLIBC_2.2 __pthread_rwlock_tryrdlock F
>  GLIBC_2.2 __pthread_rwlock_trywrlock F
>  GLIBC_2.2 flockfile F
>  GLIBC_2.2 ftrylockfile F
> @@ -33,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_tryrdlock F
>  GLIBC_2.2 pthread_rwlock_trywrlock F
>  GLIBC_2.2 pthread_rwlockattr_destroy F
>  GLIBC_2.2 pthread_rwlockattr_getkind_np F
> diff --git a/sysdeps/unix/sysv/linux/sh/be/libc.abilist b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
> index 357bc17232..cc512fc917 100644
> --- a/sysdeps/unix/sysv/linux/sh/be/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
> @@ -375,6 +375,7 @@ GLIBC_2.2 __pthread_once F
>  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_tryrdlock F
>  GLIBC_2.2 __pthread_rwlock_unlock F
>  GLIBC_2.2 __pthread_rwlock_wrlock F
>  GLIBC_2.2 __pthread_setspecific F
> @@ -1322,6 +1323,7 @@ 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_tryrdlock F
>  GLIBC_2.2 pthread_rwlock_unlock F
>  GLIBC_2.2 pthread_rwlock_wrlock F
>  GLIBC_2.2 pthread_self F
> @@ -2194,6 +2196,7 @@ 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_tryrdlock 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 594f9c40a4..73866e12f3 100644
> --- a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
> @@ -7,7 +7,6 @@ GLIBC_2.2 _IO_flockfile F
>  GLIBC_2.2 _IO_ftrylockfile F
>  GLIBC_2.2 _IO_funlockfile F
>  GLIBC_2.2 __errno_location F
> -GLIBC_2.2 __pthread_rwlock_tryrdlock F
>  GLIBC_2.2 __pthread_rwlock_trywrlock F
>  GLIBC_2.2 flockfile F
>  GLIBC_2.2 ftrylockfile F
> @@ -32,7 +31,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_tryrdlock F
>  GLIBC_2.2 pthread_rwlock_trywrlock F
>  GLIBC_2.2 pthread_rwlockattr_destroy F
>  GLIBC_2.2 pthread_rwlockattr_getkind_np F
> diff --git a/sysdeps/unix/sysv/linux/sh/le/libc.abilist b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
> index a70a58218f..aa235c7344 100644
> --- a/sysdeps/unix/sysv/linux/sh/le/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
> @@ -375,6 +375,7 @@ GLIBC_2.2 __pthread_once F
>  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_tryrdlock F
>  GLIBC_2.2 __pthread_rwlock_unlock F
>  GLIBC_2.2 __pthread_rwlock_wrlock F
>  GLIBC_2.2 __pthread_setspecific F
> @@ -1322,6 +1323,7 @@ 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_tryrdlock F
>  GLIBC_2.2 pthread_rwlock_unlock F
>  GLIBC_2.2 pthread_rwlock_wrlock F
>  GLIBC_2.2 pthread_self F
> @@ -2191,6 +2193,7 @@ 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_tryrdlock 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 594f9c40a4..73866e12f3 100644
> --- a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
> @@ -7,7 +7,6 @@ GLIBC_2.2 _IO_flockfile F
>  GLIBC_2.2 _IO_ftrylockfile F
>  GLIBC_2.2 _IO_funlockfile F
>  GLIBC_2.2 __errno_location F
> -GLIBC_2.2 __pthread_rwlock_tryrdlock F
>  GLIBC_2.2 __pthread_rwlock_trywrlock F
>  GLIBC_2.2 flockfile F
>  GLIBC_2.2 ftrylockfile F
> @@ -32,7 +31,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_tryrdlock F
>  GLIBC_2.2 pthread_rwlock_trywrlock F
>  GLIBC_2.2 pthread_rwlockattr_destroy F
>  GLIBC_2.2 pthread_rwlockattr_getkind_np F
> diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
> index 14931e13ac..16a1268fd3 100644
> --- a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
> @@ -1574,6 +1574,7 @@ GLIBC_2.1 pthread_mutexattr_settype F
>  GLIBC_2.1 pthread_rwlock_destroy F
>  GLIBC_2.1 pthread_rwlock_init F
>  GLIBC_2.1 pthread_rwlock_rdlock F
> +GLIBC_2.1 pthread_rwlock_tryrdlock F
>  GLIBC_2.1 pthread_rwlock_unlock F
>  GLIBC_2.1 pthread_rwlock_wrlock F
>  GLIBC_2.1 ptsname F
> @@ -1852,6 +1853,7 @@ GLIBC_2.2 __pread64 F
>  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_tryrdlock F
>  GLIBC_2.2 __pthread_rwlock_unlock F
>  GLIBC_2.2 __pthread_rwlock_wrlock F
>  GLIBC_2.2 __pwrite64 F
> @@ -2323,6 +2325,7 @@ 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_tryrdlock 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 50166f48e2..f7bda4bb9b 100644
> --- a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
> @@ -24,7 +24,6 @@ GLIBC_2.1 pthread_attr_setstackaddr F
>  GLIBC_2.1 pthread_attr_setstacksize F
>  GLIBC_2.1 pthread_create F
>  GLIBC_2.1 pthread_getconcurrency F
> -GLIBC_2.1 pthread_rwlock_tryrdlock F
>  GLIBC_2.1 pthread_rwlock_trywrlock F
>  GLIBC_2.1 pthread_rwlockattr_destroy F
>  GLIBC_2.1 pthread_rwlockattr_getkind_np F
> @@ -48,7 +47,6 @@ GLIBC_2.12 pthread_getname_np F
>  GLIBC_2.12 pthread_setname_np F
>  GLIBC_2.18 pthread_getattr_default_np F
>  GLIBC_2.18 pthread_setattr_default_np F
> -GLIBC_2.2 __pthread_rwlock_tryrdlock F
>  GLIBC_2.2 __pthread_rwlock_trywrlock F
>  GLIBC_2.2 pthread_attr_getstack F
>  GLIBC_2.2 pthread_attr_setstack F
> diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
> index f9d184a6e8..d8f6584046 100644
> --- a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
> @@ -413,6 +413,7 @@ GLIBC_2.2 __pthread_once F
>  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_tryrdlock F
>  GLIBC_2.2 __pthread_rwlock_unlock F
>  GLIBC_2.2 __pthread_rwlock_wrlock F
>  GLIBC_2.2 __pthread_setspecific F
> @@ -1365,6 +1366,7 @@ 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_tryrdlock F
>  GLIBC_2.2 pthread_rwlock_unlock F
>  GLIBC_2.2 pthread_rwlock_wrlock F
>  GLIBC_2.2 pthread_self F
> @@ -2242,6 +2244,7 @@ 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_tryrdlock 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 3064b2c36c..d9988168e7 100644
> --- a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
> @@ -7,7 +7,6 @@ GLIBC_2.2 _IO_flockfile F
>  GLIBC_2.2 _IO_ftrylockfile F
>  GLIBC_2.2 _IO_funlockfile F
>  GLIBC_2.2 __errno_location F
> -GLIBC_2.2 __pthread_rwlock_tryrdlock F
>  GLIBC_2.2 __pthread_rwlock_trywrlock F
>  GLIBC_2.2 flockfile F
>  GLIBC_2.2 ftrylockfile F
> @@ -32,7 +31,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_tryrdlock F
>  GLIBC_2.2 pthread_rwlock_trywrlock F
>  GLIBC_2.2 pthread_rwlockattr_destroy F
>  GLIBC_2.2 pthread_rwlockattr_getkind_np F
> diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
> index e0c940714e..26e1f0da98 100644
> --- a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
> @@ -374,6 +374,7 @@ GLIBC_2.2.5 __pthread_once F
>  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_tryrdlock F
>  GLIBC_2.2.5 __pthread_rwlock_unlock F
>  GLIBC_2.2.5 __pthread_rwlock_wrlock F
>  GLIBC_2.2.5 __pthread_setspecific F
> @@ -1333,6 +1334,7 @@ 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_tryrdlock F
>  GLIBC_2.2.5 pthread_rwlock_unlock F
>  GLIBC_2.2.5 pthread_rwlock_wrlock F
>  GLIBC_2.2.5 pthread_self F
> @@ -2203,6 +2205,7 @@ 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_tryrdlock 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 7e9477da8d..9c9553be6c 100644
> --- a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
> @@ -7,7 +7,6 @@ GLIBC_2.2.5 _IO_flockfile F
>  GLIBC_2.2.5 _IO_ftrylockfile F
>  GLIBC_2.2.5 _IO_funlockfile F
>  GLIBC_2.2.5 __errno_location F
> -GLIBC_2.2.5 __pthread_rwlock_tryrdlock F
>  GLIBC_2.2.5 __pthread_rwlock_trywrlock F
>  GLIBC_2.2.5 flockfile F
>  GLIBC_2.2.5 ftrylockfile F
> @@ -32,7 +31,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_tryrdlock F
>  GLIBC_2.2.5 pthread_rwlock_trywrlock F
>  GLIBC_2.2.5 pthread_rwlockattr_destroy F
>  GLIBC_2.2.5 pthread_rwlockattr_getkind_np F
> diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
> index 23a14b102a..9ea2ffd03c 100644
> --- a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
> @@ -354,6 +354,7 @@ GLIBC_2.16 __pthread_once F
>  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_tryrdlock F
>  GLIBC_2.16 __pthread_rwlock_unlock F
>  GLIBC_2.16 __pthread_rwlock_wrlock F
>  GLIBC_2.16 __pthread_setspecific F
> @@ -1514,6 +1515,7 @@ 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_tryrdlock F
>  GLIBC_2.16 pthread_rwlock_unlock F
>  GLIBC_2.16 pthread_rwlock_wrlock F
>  GLIBC_2.16 pthread_self F
> @@ -2308,6 +2310,7 @@ 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_tryrdlock 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 c60f350d26..f9dad30a95 100644
> --- a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
> @@ -4,7 +4,6 @@ GLIBC_2.16 _IO_funlockfile F
>  GLIBC_2.16 __errno_location F
>  GLIBC_2.16 __pthread_register_cancel F
>  GLIBC_2.16 __pthread_register_cancel_defer F
> -GLIBC_2.16 __pthread_rwlock_tryrdlock F
>  GLIBC_2.16 __pthread_rwlock_trywrlock F
>  GLIBC_2.16 __pthread_unregister_cancel F
>  GLIBC_2.16 __pthread_unregister_cancel_restore F
> @@ -34,7 +33,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_tryrdlock F
>  GLIBC_2.16 pthread_rwlock_trywrlock F
>  GLIBC_2.16 pthread_rwlockattr_destroy F
>  GLIBC_2.16 pthread_rwlockattr_getkind_np F
> 


-- 
Cheers,
Carlos.


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

* Re: [PATCH 08/14] nptl: Move pthread_rwlock_trywrlock into libc
  2021-04-23 17:37 ` [PATCH 08/14] nptl: Move pthread_rwlock_trywrlock " Florian Weimer via Libc-alpha
@ 2021-05-02 19:37   ` Carlos O'Donell via Libc-alpha
  0 siblings, 0 replies; 30+ messages in thread
From: Carlos O'Donell via Libc-alpha @ 2021-05-02 19:37 UTC (permalink / raw)
  To: Florian Weimer, libc-alpha

On 4/23/21 1:37 PM, Florian Weimer via Libc-alpha wrote:
> And __pthread_rwlock_trywrlock as a compatibility symbol.

Tested and reviewed on x86_64 and i686.

LGTM.

Reviewed-by: Carlos O'Donell <carlos@redhat.com>
Tested-by: Carlos O'Donell <carlos@redhat.com>
 
> Remove the unused __libc_rwlock_trywrlock macro.

OK.
 
> The symbols were moved using scripts/move-symbol-to-libc.py.
> ---
>  nptl/Makefile                                     |  2 +-
>  nptl/Versions                                     |  5 +++--
>  nptl/pthread_rwlock_trywrlock.c                   | 15 +++++++++++++--
>  sysdeps/nptl/libc-lockP.h                         |  5 -----
>  sysdeps/unix/sysv/linux/aarch64/libc.abilist      |  3 +++
>  .../unix/sysv/linux/aarch64/libpthread.abilist    |  2 --
>  sysdeps/unix/sysv/linux/alpha/libc.abilist        |  3 +++
>  sysdeps/unix/sysv/linux/alpha/libpthread.abilist  |  2 --
>  sysdeps/unix/sysv/linux/arc/libc.abilist          |  3 +++
>  sysdeps/unix/sysv/linux/arc/libpthread.abilist    |  2 --
>  sysdeps/unix/sysv/linux/arm/be/libc.abilist       |  3 +++
>  sysdeps/unix/sysv/linux/arm/be/libpthread.abilist |  2 --
>  sysdeps/unix/sysv/linux/arm/le/libc.abilist       |  3 +++
>  sysdeps/unix/sysv/linux/arm/le/libpthread.abilist |  2 --
>  sysdeps/unix/sysv/linux/csky/libc.abilist         |  3 +++
>  sysdeps/unix/sysv/linux/csky/libpthread.abilist   |  2 --
>  sysdeps/unix/sysv/linux/hppa/libc.abilist         |  3 +++
>  sysdeps/unix/sysv/linux/hppa/libpthread.abilist   |  2 --
>  sysdeps/unix/sysv/linux/i386/libc.abilist         |  3 +++
>  sysdeps/unix/sysv/linux/i386/libpthread.abilist   |  2 --
>  sysdeps/unix/sysv/linux/ia64/libc.abilist         |  3 +++
>  sysdeps/unix/sysv/linux/ia64/libpthread.abilist   |  2 --
>  .../unix/sysv/linux/m68k/coldfire/libc.abilist    |  3 +++
>  .../sysv/linux/m68k/coldfire/libpthread.abilist   |  2 --
>  sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist  |  3 +++
>  .../sysv/linux/m68k/m680x0/libpthread.abilist     |  2 --
>  .../unix/sysv/linux/microblaze/be/libc.abilist    |  3 +++
>  .../sysv/linux/microblaze/be/libpthread.abilist   |  2 --
>  .../unix/sysv/linux/microblaze/le/libc.abilist    |  3 +++
>  .../sysv/linux/microblaze/le/libpthread.abilist   |  2 --
>  .../unix/sysv/linux/mips/mips32/fpu/libc.abilist  |  3 +++
>  .../sysv/linux/mips/mips32/libpthread.abilist     |  2 --
>  .../sysv/linux/mips/mips32/nofpu/libc.abilist     |  3 +++
>  .../sysv/linux/mips/mips64/libpthread.abilist     |  2 --
>  .../unix/sysv/linux/mips/mips64/n32/libc.abilist  |  3 +++
>  .../unix/sysv/linux/mips/mips64/n64/libc.abilist  |  3 +++
>  sysdeps/unix/sysv/linux/nios2/libc.abilist        |  3 +++
>  sysdeps/unix/sysv/linux/nios2/libpthread.abilist  |  2 --
>  .../sysv/linux/powerpc/powerpc32/fpu/libc.abilist |  3 +++
>  .../linux/powerpc/powerpc32/libpthread.abilist    |  2 --
>  .../linux/powerpc/powerpc32/nofpu/libc.abilist    |  3 +++
>  .../sysv/linux/powerpc/powerpc64/be/libc.abilist  |  3 +++
>  .../linux/powerpc/powerpc64/be/libpthread.abilist |  2 --
>  .../sysv/linux/powerpc/powerpc64/le/libc.abilist  |  3 +++
>  .../linux/powerpc/powerpc64/le/libpthread.abilist |  2 --
>  sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist   |  3 +++
>  .../unix/sysv/linux/riscv/rv32/libpthread.abilist |  2 --
>  sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist   |  3 +++
>  .../unix/sysv/linux/riscv/rv64/libpthread.abilist |  2 --
>  sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist |  3 +++
>  .../sysv/linux/s390/s390-32/libpthread.abilist    |  2 --
>  sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist |  3 +++
>  .../sysv/linux/s390/s390-64/libpthread.abilist    |  2 --
>  sysdeps/unix/sysv/linux/sh/be/libc.abilist        |  3 +++
>  sysdeps/unix/sysv/linux/sh/be/libpthread.abilist  |  2 --
>  sysdeps/unix/sysv/linux/sh/le/libc.abilist        |  3 +++
>  sysdeps/unix/sysv/linux/sh/le/libpthread.abilist  |  2 --
>  .../unix/sysv/linux/sparc/sparc32/libc.abilist    |  3 +++
>  .../sysv/linux/sparc/sparc32/libpthread.abilist   |  2 --
>  .../unix/sysv/linux/sparc/sparc64/libc.abilist    |  3 +++
>  .../sysv/linux/sparc/sparc64/libpthread.abilist   |  2 --
>  sysdeps/unix/sysv/linux/x86_64/64/libc.abilist    |  3 +++
>  .../unix/sysv/linux/x86_64/64/libpthread.abilist  |  2 --
>  sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist   |  3 +++
>  .../unix/sysv/linux/x86_64/x32/libpthread.abilist |  2 --
>  65 files changed, 113 insertions(+), 68 deletions(-)
> 
> diff --git a/nptl/Makefile b/nptl/Makefile
> index 492a59586d..9fc1007e9a 100644
> --- a/nptl/Makefile
> +++ b/nptl/Makefile
> @@ -128,6 +128,7 @@ routines = \
>    pthread_rwlock_timedrdlock \
>    pthread_rwlock_timedwrlock \
>    pthread_rwlock_tryrdlock \
> +  pthread_rwlock_trywrlock \
>    pthread_rwlock_unlock \
>    pthread_rwlock_wrlock \
>    pthread_self \
> @@ -185,7 +186,6 @@ libpthread-routines = \
>    pthread_getname \
>    pthread_join \
>    pthread_join_common \
> -  pthread_rwlock_trywrlock \
>    pthread_rwlockattr_destroy \
>    pthread_rwlockattr_getkind_np \
>    pthread_rwlockattr_getpshared \
> diff --git a/nptl/Versions b/nptl/Versions
> index 2793b0d9b2..f84f74dbee 100644
> --- a/nptl/Versions
> +++ b/nptl/Versions
> @@ -70,6 +70,7 @@ libc {
>      pthread_rwlock_init;
>      pthread_rwlock_rdlock;
>      pthread_rwlock_tryrdlock;
> +    pthread_rwlock_trywrlock;
>      pthread_rwlock_unlock;
>      pthread_rwlock_wrlock;
>    }
> @@ -78,6 +79,7 @@ libc {
>      __pthread_rwlock_init;
>      __pthread_rwlock_rdlock;
>      __pthread_rwlock_tryrdlock;
> +    __pthread_rwlock_trywrlock;
>      __pthread_rwlock_unlock;
>      __pthread_rwlock_wrlock;
>      pthread_condattr_getpshared;
> @@ -197,6 +199,7 @@ libc {
>      pthread_rwlock_timedrdlock;
>      pthread_rwlock_timedwrlock;
>      pthread_rwlock_tryrdlock;
> +    pthread_rwlock_trywrlock;
>      pthread_rwlock_unlock;
>      pthread_rwlock_wrlock;
>      pthread_setspecific;
> @@ -289,7 +292,6 @@ libpthread {
>      pthread_attr_setstacksize;
>      pthread_create;
>      pthread_getconcurrency;
> -    pthread_rwlock_trywrlock;
>      pthread_rwlockattr_destroy;
>      pthread_rwlockattr_getkind_np;
>      pthread_rwlockattr_getpshared;
> @@ -316,7 +318,6 @@ libpthread {
>    }
>  
>    GLIBC_2.2 {
> -    __pthread_rwlock_trywrlock;
>      pthread_attr_getstack;
>      pthread_attr_setstack;
>      pthread_barrier_destroy;
> diff --git a/nptl/pthread_rwlock_trywrlock.c b/nptl/pthread_rwlock_trywrlock.c
> index 642fa724f2..242c0a1c5c 100644
> --- a/nptl/pthread_rwlock_trywrlock.c
> +++ b/nptl/pthread_rwlock_trywrlock.c
> @@ -19,10 +19,11 @@
>  #include <errno.h>
>  #include "pthreadP.h"
>  #include <atomic.h>
> +#include <shlib-compat.h>
>  
>  /* See pthread_rwlock_common.c for an overview.  */
>  int
> -__pthread_rwlock_trywrlock (pthread_rwlock_t *rwlock)
> +___pthread_rwlock_trywrlock (pthread_rwlock_t *rwlock)
>  {
>    /* When in a trywrlock, we can acquire the write lock if it is in states
>       #1 (idle and read phase) and #5 (idle and write phase), and also in #6
> @@ -64,5 +65,15 @@ __pthread_rwlock_trywrlock (pthread_rwlock_t *rwlock)
>      }
>    return EBUSY;
>  }
> +versioned_symbol (libc, ___pthread_rwlock_trywrlock,
> +		  pthread_rwlock_trywrlock, GLIBC_2_34);
> +libc_hidden_ver (___pthread_rwlock_trywrlock, __pthread_rwlock_trywrlock)
>  
> -strong_alias (__pthread_rwlock_trywrlock, pthread_rwlock_trywrlock)
> +#if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_1, GLIBC_2_34)
> +compat_symbol (libpthread, ___pthread_rwlock_trywrlock,
> +	       pthread_rwlock_trywrlock, GLIBC_2_1);
> +#endif
> +#if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_2, GLIBC_2_34)
> +compat_symbol (libpthread, ___pthread_rwlock_trywrlock,
> +	       __pthread_rwlock_trywrlock, GLIBC_2_2);
> +#endif
> diff --git a/sysdeps/nptl/libc-lockP.h b/sysdeps/nptl/libc-lockP.h
> index d1a7ac2a3f..0fd4ba99f2 100644
> --- a/sysdeps/nptl/libc-lockP.h
> +++ b/sysdeps/nptl/libc-lockP.h
> @@ -150,8 +150,6 @@ _Static_assert (LLL_LOCK_INITIALIZER == 0, "LLL_LOCK_INITIALIZER != 0");
>  # define __libc_lock_trylock(NAME) \
>    __libc_maybe_call (__pthread_mutex_trylock, (&(NAME)), 0)
>  #endif
> -#define __libc_rwlock_trywrlock(NAME) \
> -  __libc_maybe_call (__pthread_rwlock_trywrlock, (&(NAME)), 0)

OK.

>  
>  #define __rtld_lock_trylock_recursive(NAME) \
>    __libc_maybe_call (__pthread_mutex_trylock, (&(NAME).mutex), 0)
> @@ -267,7 +265,6 @@ libc_hidden_proto (__pthread_rwlock_rdlock)
>  
>  extern int __pthread_rwlock_wrlock (pthread_rwlock_t *__rwlock);
>  libc_hidden_proto (__pthread_rwlock_wrlock)
> -extern int __pthread_rwlock_trywrlock (pthread_rwlock_t *__rwlock);
>  
>  extern int __pthread_rwlock_unlock (pthread_rwlock_t *__rwlock);
>  libc_hidden_proto (__pthread_rwlock_unlock)
> @@ -290,7 +287,6 @@ weak_extern (__pthread_mutex_trylock)
>  weak_extern (__pthread_mutexattr_init)
>  weak_extern (__pthread_mutexattr_destroy)
>  weak_extern (__pthread_mutexattr_settype)
> -weak_extern (__pthread_rwlock_trywrlock)
>  weak_extern (__pthread_initialize)
>  weak_extern (__pthread_atfork)
>  # else
> @@ -298,7 +294,6 @@ weak_extern (__pthread_atfork)
>  #  pragma weak __pthread_mutexattr_init
>  #  pragma weak __pthread_mutexattr_destroy
>  #  pragma weak __pthread_mutexattr_settype
> -#  pragma weak __pthread_rwlock_trywrlock
>  #  pragma weak __pthread_initialize
>  #  pragma weak __pthread_atfork
>  # endif
> diff --git a/sysdeps/unix/sysv/linux/aarch64/libc.abilist b/sysdeps/unix/sysv/linux/aarch64/libc.abilist
> index c9e785cc8f..b4a06c6299 100644
> --- a/sysdeps/unix/sysv/linux/aarch64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/aarch64/libc.abilist
> @@ -354,6 +354,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_tryrdlock F
> +GLIBC_2.17 __pthread_rwlock_trywrlock F
>  GLIBC_2.17 __pthread_rwlock_unlock F
>  GLIBC_2.17 __pthread_rwlock_wrlock F
>  GLIBC_2.17 __pthread_setspecific F
> @@ -1509,6 +1510,7 @@ 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_tryrdlock F
> +GLIBC_2.17 pthread_rwlock_trywrlock F
>  GLIBC_2.17 pthread_rwlock_unlock F
>  GLIBC_2.17 pthread_rwlock_wrlock F
>  GLIBC_2.17 pthread_self F
> @@ -2296,6 +2298,7 @@ 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_tryrdlock F
> +GLIBC_2.34 pthread_rwlock_trywrlock 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 e4014619e7..11e21afc40 100644
> --- a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
> @@ -4,7 +4,6 @@ GLIBC_2.17 _IO_funlockfile F
>  GLIBC_2.17 __errno_location F
>  GLIBC_2.17 __pthread_register_cancel F
>  GLIBC_2.17 __pthread_register_cancel_defer F
> -GLIBC_2.17 __pthread_rwlock_trywrlock F
>  GLIBC_2.17 __pthread_unregister_cancel F
>  GLIBC_2.17 __pthread_unregister_cancel_restore F
>  GLIBC_2.17 flockfile F
> @@ -33,7 +32,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_trywrlock F
>  GLIBC_2.17 pthread_rwlockattr_destroy F
>  GLIBC_2.17 pthread_rwlockattr_getkind_np F
>  GLIBC_2.17 pthread_rwlockattr_getpshared F
> diff --git a/sysdeps/unix/sysv/linux/alpha/libc.abilist b/sysdeps/unix/sysv/linux/alpha/libc.abilist
> index 031f3123f2..8cc6c01293 100644
> --- a/sysdeps/unix/sysv/linux/alpha/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/alpha/libc.abilist
> @@ -1610,6 +1610,7 @@ GLIBC_2.1 pthread_rwlock_destroy F
>  GLIBC_2.1 pthread_rwlock_init F
>  GLIBC_2.1 pthread_rwlock_rdlock F
>  GLIBC_2.1 pthread_rwlock_tryrdlock F
> +GLIBC_2.1 pthread_rwlock_trywrlock F
>  GLIBC_2.1 pthread_rwlock_unlock F
>  GLIBC_2.1 pthread_rwlock_wrlock F
>  GLIBC_2.1 ptsname F
> @@ -1892,6 +1893,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_tryrdlock F
> +GLIBC_2.2 __pthread_rwlock_trywrlock F
>  GLIBC_2.2 __pthread_rwlock_unlock F
>  GLIBC_2.2 __pthread_rwlock_wrlock F
>  GLIBC_2.2 __pwrite64 F
> @@ -2377,6 +2379,7 @@ 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_tryrdlock F
> +GLIBC_2.34 pthread_rwlock_trywrlock 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 f7bda4bb9b..ab854bbc77 100644
> --- a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
> @@ -24,7 +24,6 @@ GLIBC_2.1 pthread_attr_setstackaddr F
>  GLIBC_2.1 pthread_attr_setstacksize F
>  GLIBC_2.1 pthread_create F
>  GLIBC_2.1 pthread_getconcurrency F
> -GLIBC_2.1 pthread_rwlock_trywrlock F
>  GLIBC_2.1 pthread_rwlockattr_destroy F
>  GLIBC_2.1 pthread_rwlockattr_getkind_np F
>  GLIBC_2.1 pthread_rwlockattr_getpshared F
> @@ -47,7 +46,6 @@ GLIBC_2.12 pthread_getname_np F
>  GLIBC_2.12 pthread_setname_np F
>  GLIBC_2.18 pthread_getattr_default_np F
>  GLIBC_2.18 pthread_setattr_default_np F
> -GLIBC_2.2 __pthread_rwlock_trywrlock F
>  GLIBC_2.2 pthread_attr_getstack F
>  GLIBC_2.2 pthread_attr_setstack F
>  GLIBC_2.2 pthread_barrier_destroy F
> diff --git a/sysdeps/unix/sysv/linux/arc/libc.abilist b/sysdeps/unix/sysv/linux/arc/libc.abilist
> index e6cf475ced..82fa9a1b2c 100644
> --- a/sysdeps/unix/sysv/linux/arc/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/arc/libc.abilist
> @@ -343,6 +343,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_tryrdlock F
> +GLIBC_2.32 __pthread_rwlock_trywrlock F
>  GLIBC_2.32 __pthread_rwlock_unlock F
>  GLIBC_2.32 __pthread_rwlock_wrlock F
>  GLIBC_2.32 __pthread_setspecific F
> @@ -1439,6 +1440,7 @@ 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_tryrdlock F
> +GLIBC_2.32 pthread_rwlock_trywrlock F
>  GLIBC_2.32 pthread_rwlock_unlock F
>  GLIBC_2.32 pthread_rwlock_wrlock F
>  GLIBC_2.32 pthread_self F
> @@ -2055,6 +2057,7 @@ 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_tryrdlock F
> +GLIBC_2.34 pthread_rwlock_trywrlock 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 ae63d7aeb3..b029764706 100644
> --- a/sysdeps/unix/sysv/linux/arc/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/arc/libpthread.abilist
> @@ -4,7 +4,6 @@ GLIBC_2.32 _IO_funlockfile F
>  GLIBC_2.32 __errno_location F
>  GLIBC_2.32 __pthread_register_cancel F
>  GLIBC_2.32 __pthread_register_cancel_defer F
> -GLIBC_2.32 __pthread_rwlock_trywrlock F
>  GLIBC_2.32 __pthread_unregister_cancel F
>  GLIBC_2.32 __pthread_unregister_cancel_restore F
>  GLIBC_2.32 call_once F
> @@ -48,7 +47,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_trywrlock F
>  GLIBC_2.32 pthread_rwlockattr_destroy F
>  GLIBC_2.32 pthread_rwlockattr_getkind_np F
>  GLIBC_2.32 pthread_rwlockattr_getpshared F
> diff --git a/sysdeps/unix/sysv/linux/arm/be/libc.abilist b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
> index bfec42ead9..ca8c1d3c08 100644
> --- a/sysdeps/unix/sysv/linux/arm/be/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
> @@ -212,6 +212,7 @@ 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_tryrdlock F
> +GLIBC_2.34 pthread_rwlock_trywrlock F
>  GLIBC_2.34 pthread_rwlock_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
>  GLIBC_2.34 pthread_setspecific F
> @@ -563,6 +564,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_tryrdlock F
> +GLIBC_2.4 __pthread_rwlock_trywrlock F
>  GLIBC_2.4 __pthread_rwlock_unlock F
>  GLIBC_2.4 __pthread_rwlock_wrlock F
>  GLIBC_2.4 __pthread_setspecific F
> @@ -1662,6 +1664,7 @@ 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_tryrdlock F
> +GLIBC_2.4 pthread_rwlock_trywrlock 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 e5de765bbc..a62e8fe20a 100644
> --- a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
> @@ -33,7 +33,6 @@ GLIBC_2.4 __errno_location F
>  GLIBC_2.4 __libpthread_version_placeholder F
>  GLIBC_2.4 __pthread_register_cancel F
>  GLIBC_2.4 __pthread_register_cancel_defer F
> -GLIBC_2.4 __pthread_rwlock_trywrlock F
>  GLIBC_2.4 __pthread_unregister_cancel F
>  GLIBC_2.4 __pthread_unregister_cancel_restore F
>  GLIBC_2.4 flockfile F
> @@ -61,7 +60,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_trywrlock F
>  GLIBC_2.4 pthread_rwlockattr_destroy F
>  GLIBC_2.4 pthread_rwlockattr_getkind_np F
>  GLIBC_2.4 pthread_rwlockattr_getpshared F
> diff --git a/sysdeps/unix/sysv/linux/arm/le/libc.abilist b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
> index f0bade32ef..5d3a1cde7c 100644
> --- a/sysdeps/unix/sysv/linux/arm/le/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
> @@ -209,6 +209,7 @@ 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_tryrdlock F
> +GLIBC_2.34 pthread_rwlock_trywrlock F
>  GLIBC_2.34 pthread_rwlock_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
>  GLIBC_2.34 pthread_setspecific F
> @@ -560,6 +561,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_tryrdlock F
> +GLIBC_2.4 __pthread_rwlock_trywrlock F
>  GLIBC_2.4 __pthread_rwlock_unlock F
>  GLIBC_2.4 __pthread_rwlock_wrlock F
>  GLIBC_2.4 __pthread_setspecific F
> @@ -1659,6 +1661,7 @@ 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_tryrdlock F
> +GLIBC_2.4 pthread_rwlock_trywrlock 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 e5de765bbc..a62e8fe20a 100644
> --- a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
> @@ -33,7 +33,6 @@ GLIBC_2.4 __errno_location F
>  GLIBC_2.4 __libpthread_version_placeholder F
>  GLIBC_2.4 __pthread_register_cancel F
>  GLIBC_2.4 __pthread_register_cancel_defer F
> -GLIBC_2.4 __pthread_rwlock_trywrlock F
>  GLIBC_2.4 __pthread_unregister_cancel F
>  GLIBC_2.4 __pthread_unregister_cancel_restore F
>  GLIBC_2.4 flockfile F
> @@ -61,7 +60,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_trywrlock F
>  GLIBC_2.4 pthread_rwlockattr_destroy F
>  GLIBC_2.4 pthread_rwlockattr_getkind_np F
>  GLIBC_2.4 pthread_rwlockattr_getpshared F
> diff --git a/sysdeps/unix/sysv/linux/csky/libc.abilist b/sysdeps/unix/sysv/linux/csky/libc.abilist
> index 98a7f9a864..066afc9db7 100644
> --- a/sysdeps/unix/sysv/linux/csky/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/csky/libc.abilist
> @@ -347,6 +347,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_tryrdlock F
> +GLIBC_2.29 __pthread_rwlock_trywrlock F
>  GLIBC_2.29 __pthread_rwlock_unlock F
>  GLIBC_2.29 __pthread_rwlock_wrlock F
>  GLIBC_2.29 __pthread_setspecific F
> @@ -1496,6 +1497,7 @@ 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_tryrdlock F
> +GLIBC_2.29 pthread_rwlock_trywrlock F
>  GLIBC_2.29 pthread_rwlock_unlock F
>  GLIBC_2.29 pthread_rwlock_wrlock F
>  GLIBC_2.29 pthread_self F
> @@ -2239,6 +2241,7 @@ 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_tryrdlock F
> +GLIBC_2.34 pthread_rwlock_trywrlock 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 05c2ea5ad5..c1a34db9fd 100644
> --- a/sysdeps/unix/sysv/linux/csky/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/csky/libpthread.abilist
> @@ -4,7 +4,6 @@ GLIBC_2.29 _IO_funlockfile F
>  GLIBC_2.29 __errno_location F
>  GLIBC_2.29 __pthread_register_cancel F
>  GLIBC_2.29 __pthread_register_cancel_defer F
> -GLIBC_2.29 __pthread_rwlock_trywrlock F
>  GLIBC_2.29 __pthread_unregister_cancel F
>  GLIBC_2.29 __pthread_unregister_cancel_restore F
>  GLIBC_2.29 call_once F
> @@ -47,7 +46,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_trywrlock F
>  GLIBC_2.29 pthread_rwlockattr_destroy F
>  GLIBC_2.29 pthread_rwlockattr_getkind_np F
>  GLIBC_2.29 pthread_rwlockattr_getpshared F
> diff --git a/sysdeps/unix/sysv/linux/hppa/libc.abilist b/sysdeps/unix/sysv/linux/hppa/libc.abilist
> index 2e180f5385..958ab24e89 100644
> --- a/sysdeps/unix/sysv/linux/hppa/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/hppa/libc.abilist
> @@ -373,6 +373,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_tryrdlock F
> +GLIBC_2.2 __pthread_rwlock_trywrlock F
>  GLIBC_2.2 __pthread_rwlock_unlock F
>  GLIBC_2.2 __pthread_rwlock_wrlock F
>  GLIBC_2.2 __pthread_setspecific F
> @@ -1320,6 +1321,7 @@ 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_tryrdlock F
> +GLIBC_2.2 pthread_rwlock_trywrlock F
>  GLIBC_2.2 pthread_rwlock_unlock F
>  GLIBC_2.2 pthread_rwlock_wrlock F
>  GLIBC_2.2 pthread_self F
> @@ -2190,6 +2192,7 @@ 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_tryrdlock F
> +GLIBC_2.34 pthread_rwlock_trywrlock 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 73866e12f3..7a3432551e 100644
> --- a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
> @@ -7,7 +7,6 @@ GLIBC_2.2 _IO_flockfile F
>  GLIBC_2.2 _IO_ftrylockfile F
>  GLIBC_2.2 _IO_funlockfile F
>  GLIBC_2.2 __errno_location F
> -GLIBC_2.2 __pthread_rwlock_trywrlock F
>  GLIBC_2.2 flockfile F
>  GLIBC_2.2 ftrylockfile F
>  GLIBC_2.2 funlockfile F
> @@ -31,7 +30,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_trywrlock F
>  GLIBC_2.2 pthread_rwlockattr_destroy F
>  GLIBC_2.2 pthread_rwlockattr_getkind_np F
>  GLIBC_2.2 pthread_rwlockattr_getpshared F
> diff --git a/sysdeps/unix/sysv/linux/i386/libc.abilist b/sysdeps/unix/sysv/linux/i386/libc.abilist
> index 3bf80f24d6..ee8809b6e4 100644
> --- a/sysdeps/unix/sysv/linux/i386/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/i386/libc.abilist
> @@ -1578,6 +1578,7 @@ GLIBC_2.1 pthread_rwlock_destroy F
>  GLIBC_2.1 pthread_rwlock_init F
>  GLIBC_2.1 pthread_rwlock_rdlock F
>  GLIBC_2.1 pthread_rwlock_tryrdlock F
> +GLIBC_2.1 pthread_rwlock_trywrlock F
>  GLIBC_2.1 pthread_rwlock_unlock F
>  GLIBC_2.1 pthread_rwlock_wrlock F
>  GLIBC_2.1 ptsname F
> @@ -1896,6 +1897,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_tryrdlock F
> +GLIBC_2.2 __pthread_rwlock_trywrlock F
>  GLIBC_2.2 __pthread_rwlock_unlock F
>  GLIBC_2.2 __pthread_rwlock_wrlock F
>  GLIBC_2.2 __pwrite64 F
> @@ -2367,6 +2369,7 @@ 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_tryrdlock F
> +GLIBC_2.34 pthread_rwlock_trywrlock 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 0f76b104ac..4aecfccc11 100644
> --- a/sysdeps/unix/sysv/linux/i386/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/i386/libpthread.abilist
> @@ -24,7 +24,6 @@ GLIBC_2.1 pthread_attr_setstackaddr F
>  GLIBC_2.1 pthread_attr_setstacksize F
>  GLIBC_2.1 pthread_create F
>  GLIBC_2.1 pthread_getconcurrency F
> -GLIBC_2.1 pthread_rwlock_trywrlock F
>  GLIBC_2.1 pthread_rwlockattr_destroy F
>  GLIBC_2.1 pthread_rwlockattr_getkind_np F
>  GLIBC_2.1 pthread_rwlockattr_getpshared F
> @@ -47,7 +46,6 @@ GLIBC_2.12 pthread_getname_np F
>  GLIBC_2.12 pthread_setname_np F
>  GLIBC_2.18 pthread_getattr_default_np F
>  GLIBC_2.18 pthread_setattr_default_np F
> -GLIBC_2.2 __pthread_rwlock_trywrlock F
>  GLIBC_2.2 pthread_attr_getstack F
>  GLIBC_2.2 pthread_attr_setstack F
>  GLIBC_2.2 pthread_barrier_destroy F
> diff --git a/sysdeps/unix/sysv/linux/ia64/libc.abilist b/sysdeps/unix/sysv/linux/ia64/libc.abilist
> index c6acf24faf..0517cf4eb4 100644
> --- a/sysdeps/unix/sysv/linux/ia64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/ia64/libc.abilist
> @@ -377,6 +377,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_tryrdlock F
> +GLIBC_2.2 __pthread_rwlock_trywrlock F
>  GLIBC_2.2 __pthread_rwlock_unlock F
>  GLIBC_2.2 __pthread_rwlock_wrlock F
>  GLIBC_2.2 __pthread_setspecific F
> @@ -1341,6 +1342,7 @@ 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_tryrdlock F
> +GLIBC_2.2 pthread_rwlock_trywrlock F
>  GLIBC_2.2 pthread_rwlock_unlock F
>  GLIBC_2.2 pthread_rwlock_wrlock F
>  GLIBC_2.2 pthread_self F
> @@ -2224,6 +2226,7 @@ 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_tryrdlock F
> +GLIBC_2.34 pthread_rwlock_trywrlock 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 d9988168e7..012cab4a86 100644
> --- a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
> @@ -7,7 +7,6 @@ GLIBC_2.2 _IO_flockfile F
>  GLIBC_2.2 _IO_ftrylockfile F
>  GLIBC_2.2 _IO_funlockfile F
>  GLIBC_2.2 __errno_location F
> -GLIBC_2.2 __pthread_rwlock_trywrlock F
>  GLIBC_2.2 flockfile F
>  GLIBC_2.2 ftrylockfile F
>  GLIBC_2.2 funlockfile F
> @@ -31,7 +30,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_trywrlock F
>  GLIBC_2.2 pthread_rwlockattr_destroy F
>  GLIBC_2.2 pthread_rwlockattr_getkind_np F
>  GLIBC_2.2 pthread_rwlockattr_getpshared F
> diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
> index 7404e14471..a6c351494b 100644
> --- a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
> @@ -213,6 +213,7 @@ 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_tryrdlock F
> +GLIBC_2.34 pthread_rwlock_trywrlock F
>  GLIBC_2.34 pthread_rwlock_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
>  GLIBC_2.34 pthread_setspecific F
> @@ -549,6 +550,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_tryrdlock F
> +GLIBC_2.4 __pthread_rwlock_trywrlock F
>  GLIBC_2.4 __pthread_rwlock_unlock F
>  GLIBC_2.4 __pthread_rwlock_wrlock F
>  GLIBC_2.4 __pthread_setspecific F
> @@ -1642,6 +1644,7 @@ 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_tryrdlock F
> +GLIBC_2.4 pthread_rwlock_trywrlock 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 e5de765bbc..a62e8fe20a 100644
> --- a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
> @@ -33,7 +33,6 @@ GLIBC_2.4 __errno_location F
>  GLIBC_2.4 __libpthread_version_placeholder F
>  GLIBC_2.4 __pthread_register_cancel F
>  GLIBC_2.4 __pthread_register_cancel_defer F
> -GLIBC_2.4 __pthread_rwlock_trywrlock F
>  GLIBC_2.4 __pthread_unregister_cancel F
>  GLIBC_2.4 __pthread_unregister_cancel_restore F
>  GLIBC_2.4 flockfile F
> @@ -61,7 +60,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_trywrlock F
>  GLIBC_2.4 pthread_rwlockattr_destroy F
>  GLIBC_2.4 pthread_rwlockattr_getkind_np F
>  GLIBC_2.4 pthread_rwlockattr_getpshared F
> diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
> index 28a0e6222b..1061625a6e 100644
> --- a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
> @@ -1574,6 +1574,7 @@ GLIBC_2.1 pthread_rwlock_destroy F
>  GLIBC_2.1 pthread_rwlock_init F
>  GLIBC_2.1 pthread_rwlock_rdlock F
>  GLIBC_2.1 pthread_rwlock_tryrdlock F
> +GLIBC_2.1 pthread_rwlock_trywrlock F
>  GLIBC_2.1 pthread_rwlock_unlock F
>  GLIBC_2.1 pthread_rwlock_wrlock F
>  GLIBC_2.1 ptsname F
> @@ -1852,6 +1853,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_tryrdlock F
> +GLIBC_2.2 __pthread_rwlock_trywrlock F
>  GLIBC_2.2 __pthread_rwlock_unlock F
>  GLIBC_2.2 __pthread_rwlock_wrlock F
>  GLIBC_2.2 __pwrite64 F
> @@ -2310,6 +2312,7 @@ 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_tryrdlock F
> +GLIBC_2.34 pthread_rwlock_trywrlock 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 0f76b104ac..4aecfccc11 100644
> --- a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
> @@ -24,7 +24,6 @@ GLIBC_2.1 pthread_attr_setstackaddr F
>  GLIBC_2.1 pthread_attr_setstacksize F
>  GLIBC_2.1 pthread_create F
>  GLIBC_2.1 pthread_getconcurrency F
> -GLIBC_2.1 pthread_rwlock_trywrlock F
>  GLIBC_2.1 pthread_rwlockattr_destroy F
>  GLIBC_2.1 pthread_rwlockattr_getkind_np F
>  GLIBC_2.1 pthread_rwlockattr_getpshared F
> @@ -47,7 +46,6 @@ GLIBC_2.12 pthread_getname_np F
>  GLIBC_2.12 pthread_setname_np F
>  GLIBC_2.18 pthread_getattr_default_np F
>  GLIBC_2.18 pthread_setattr_default_np F
> -GLIBC_2.2 __pthread_rwlock_trywrlock F
>  GLIBC_2.2 pthread_attr_getstack F
>  GLIBC_2.2 pthread_attr_setstack F
>  GLIBC_2.2 pthread_barrier_destroy F
> diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
> index 3f31384d7b..27dbe7bb4b 100644
> --- a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
> @@ -355,6 +355,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_tryrdlock F
> +GLIBC_2.18 __pthread_rwlock_trywrlock F
>  GLIBC_2.18 __pthread_rwlock_unlock F
>  GLIBC_2.18 __pthread_rwlock_wrlock F
>  GLIBC_2.18 __pthread_setspecific F
> @@ -1511,6 +1512,7 @@ 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_tryrdlock F
> +GLIBC_2.18 pthread_rwlock_trywrlock F
>  GLIBC_2.18 pthread_rwlock_unlock F
>  GLIBC_2.18 pthread_rwlock_wrlock F
>  GLIBC_2.18 pthread_self F
> @@ -2290,6 +2292,7 @@ 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_tryrdlock F
> +GLIBC_2.34 pthread_rwlock_trywrlock 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 d9bc0713c0..2f1a659cfa 100644
> --- a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
> @@ -4,7 +4,6 @@ GLIBC_2.18 _IO_funlockfile F
>  GLIBC_2.18 __errno_location F
>  GLIBC_2.18 __pthread_register_cancel F
>  GLIBC_2.18 __pthread_register_cancel_defer F
> -GLIBC_2.18 __pthread_rwlock_trywrlock F
>  GLIBC_2.18 __pthread_unregister_cancel F
>  GLIBC_2.18 __pthread_unregister_cancel_restore F
>  GLIBC_2.18 flockfile F
> @@ -34,7 +33,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_trywrlock F
>  GLIBC_2.18 pthread_rwlockattr_destroy F
>  GLIBC_2.18 pthread_rwlockattr_getkind_np F
>  GLIBC_2.18 pthread_rwlockattr_getpshared F
> diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
> index a8a128fd6e..2d1b16f48a 100644
> --- a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
> @@ -355,6 +355,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_tryrdlock F
> +GLIBC_2.18 __pthread_rwlock_trywrlock F
>  GLIBC_2.18 __pthread_rwlock_unlock F
>  GLIBC_2.18 __pthread_rwlock_wrlock F
>  GLIBC_2.18 __pthread_setspecific F
> @@ -1511,6 +1512,7 @@ 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_tryrdlock F
> +GLIBC_2.18 pthread_rwlock_trywrlock F
>  GLIBC_2.18 pthread_rwlock_unlock F
>  GLIBC_2.18 pthread_rwlock_wrlock F
>  GLIBC_2.18 pthread_self F
> @@ -2287,6 +2289,7 @@ 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_tryrdlock F
> +GLIBC_2.34 pthread_rwlock_trywrlock 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 d9bc0713c0..2f1a659cfa 100644
> --- a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
> @@ -4,7 +4,6 @@ GLIBC_2.18 _IO_funlockfile F
>  GLIBC_2.18 __errno_location F
>  GLIBC_2.18 __pthread_register_cancel F
>  GLIBC_2.18 __pthread_register_cancel_defer F
> -GLIBC_2.18 __pthread_rwlock_trywrlock F
>  GLIBC_2.18 __pthread_unregister_cancel F
>  GLIBC_2.18 __pthread_unregister_cancel_restore F
>  GLIBC_2.18 flockfile F
> @@ -34,7 +33,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_trywrlock F
>  GLIBC_2.18 pthread_rwlockattr_destroy F
>  GLIBC_2.18 pthread_rwlockattr_getkind_np F
>  GLIBC_2.18 pthread_rwlockattr_getpshared F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
> index fc3dbb2129..ac357e888d 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
> @@ -1548,6 +1548,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_tryrdlock F
> +GLIBC_2.2 __pthread_rwlock_trywrlock F
>  GLIBC_2.2 __pthread_rwlock_unlock F
>  GLIBC_2.2 __pthread_rwlock_wrlock F
>  GLIBC_2.2 __pwrite64 F
> @@ -1850,6 +1851,7 @@ 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_tryrdlock F
> +GLIBC_2.2 pthread_rwlock_trywrlock F
>  GLIBC_2.2 pthread_rwlock_unlock F
>  GLIBC_2.2 pthread_rwlock_wrlock F
>  GLIBC_2.2 pthread_spin_destroy F
> @@ -2273,6 +2275,7 @@ 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_tryrdlock F
> +GLIBC_2.34 pthread_rwlock_trywrlock 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 98a4af149a..dd860526ec 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
> @@ -21,7 +21,6 @@ GLIBC_2.12 pthread_getname_np F
>  GLIBC_2.12 pthread_setname_np F
>  GLIBC_2.18 pthread_getattr_default_np F
>  GLIBC_2.18 pthread_setattr_default_np F
> -GLIBC_2.2 __pthread_rwlock_trywrlock F
>  GLIBC_2.2 pthread_attr_getguardsize F
>  GLIBC_2.2 pthread_attr_getstack F
>  GLIBC_2.2 pthread_attr_getstackaddr F
> @@ -39,7 +38,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_trywrlock F
>  GLIBC_2.2 pthread_rwlockattr_destroy F
>  GLIBC_2.2 pthread_rwlockattr_getkind_np F
>  GLIBC_2.2 pthread_rwlockattr_getpshared F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
> index 6164cdf470..a89c2ffc79 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
> @@ -1546,6 +1546,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_tryrdlock F
> +GLIBC_2.2 __pthread_rwlock_trywrlock F
>  GLIBC_2.2 __pthread_rwlock_unlock F
>  GLIBC_2.2 __pthread_rwlock_wrlock F
>  GLIBC_2.2 __pwrite64 F
> @@ -1848,6 +1849,7 @@ 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_tryrdlock F
> +GLIBC_2.2 pthread_rwlock_trywrlock F
>  GLIBC_2.2 pthread_rwlock_unlock F
>  GLIBC_2.2 pthread_rwlock_wrlock F
>  GLIBC_2.2 pthread_spin_destroy F
> @@ -2271,6 +2273,7 @@ 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_tryrdlock F
> +GLIBC_2.34 pthread_rwlock_trywrlock 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 98a4af149a..dd860526ec 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
> @@ -21,7 +21,6 @@ GLIBC_2.12 pthread_getname_np F
>  GLIBC_2.12 pthread_setname_np F
>  GLIBC_2.18 pthread_getattr_default_np F
>  GLIBC_2.18 pthread_setattr_default_np F
> -GLIBC_2.2 __pthread_rwlock_trywrlock F
>  GLIBC_2.2 pthread_attr_getguardsize F
>  GLIBC_2.2 pthread_attr_getstack F
>  GLIBC_2.2 pthread_attr_getstackaddr F
> @@ -39,7 +38,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_trywrlock F
>  GLIBC_2.2 pthread_rwlockattr_destroy F
>  GLIBC_2.2 pthread_rwlockattr_getkind_np F
>  GLIBC_2.2 pthread_rwlockattr_getpshared F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
> index c0c545eaba..189dd55a43 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
> @@ -1546,6 +1546,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_tryrdlock F
> +GLIBC_2.2 __pthread_rwlock_trywrlock F
>  GLIBC_2.2 __pthread_rwlock_unlock F
>  GLIBC_2.2 __pthread_rwlock_wrlock F
>  GLIBC_2.2 __pwrite64 F
> @@ -1848,6 +1849,7 @@ 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_tryrdlock F
> +GLIBC_2.2 pthread_rwlock_trywrlock F
>  GLIBC_2.2 pthread_rwlock_unlock F
>  GLIBC_2.2 pthread_rwlock_wrlock F
>  GLIBC_2.2 pthread_spin_destroy F
> @@ -2279,6 +2281,7 @@ 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_tryrdlock F
> +GLIBC_2.34 pthread_rwlock_trywrlock 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 c247f75f5d..e6fa79c017 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
> @@ -1542,6 +1542,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_tryrdlock F
> +GLIBC_2.2 __pthread_rwlock_trywrlock F
>  GLIBC_2.2 __pthread_rwlock_unlock F
>  GLIBC_2.2 __pthread_rwlock_wrlock F
>  GLIBC_2.2 __pwrite64 F
> @@ -1844,6 +1845,7 @@ 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_tryrdlock F
> +GLIBC_2.2 pthread_rwlock_trywrlock F
>  GLIBC_2.2 pthread_rwlock_unlock F
>  GLIBC_2.2 pthread_rwlock_wrlock F
>  GLIBC_2.2 pthread_spin_destroy F
> @@ -2273,6 +2275,7 @@ 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_tryrdlock F
> +GLIBC_2.34 pthread_rwlock_trywrlock 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 953f80462e..659332aad1 100644
> --- a/sysdeps/unix/sysv/linux/nios2/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/nios2/libc.abilist
> @@ -392,6 +392,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_tryrdlock F
> +GLIBC_2.21 __pthread_rwlock_trywrlock F
>  GLIBC_2.21 __pthread_rwlock_unlock F
>  GLIBC_2.21 __pthread_rwlock_wrlock F
>  GLIBC_2.21 __pthread_setspecific F
> @@ -1554,6 +1555,7 @@ 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_tryrdlock F
> +GLIBC_2.21 pthread_rwlock_trywrlock F
>  GLIBC_2.21 pthread_rwlock_unlock F
>  GLIBC_2.21 pthread_rwlock_wrlock F
>  GLIBC_2.21 pthread_self F
> @@ -2329,6 +2331,7 @@ 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_tryrdlock F
> +GLIBC_2.34 pthread_rwlock_trywrlock 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 22f6c11f86..954d6a6ce9 100644
> --- a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
> @@ -4,7 +4,6 @@ GLIBC_2.21 _IO_funlockfile F
>  GLIBC_2.21 __errno_location F
>  GLIBC_2.21 __pthread_register_cancel F
>  GLIBC_2.21 __pthread_register_cancel_defer F
> -GLIBC_2.21 __pthread_rwlock_trywrlock F
>  GLIBC_2.21 __pthread_unregister_cancel F
>  GLIBC_2.21 __pthread_unregister_cancel_restore F
>  GLIBC_2.21 flockfile F
> @@ -34,7 +33,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_trywrlock F
>  GLIBC_2.21 pthread_rwlockattr_destroy F
>  GLIBC_2.21 pthread_rwlockattr_getkind_np F
>  GLIBC_2.21 pthread_rwlockattr_getpshared F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
> index 25ce30e612..19d5decb2b 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
> @@ -1582,6 +1582,7 @@ GLIBC_2.1 pthread_rwlock_destroy F
>  GLIBC_2.1 pthread_rwlock_init F
>  GLIBC_2.1 pthread_rwlock_rdlock F
>  GLIBC_2.1 pthread_rwlock_tryrdlock F
> +GLIBC_2.1 pthread_rwlock_trywrlock F
>  GLIBC_2.1 pthread_rwlock_unlock F
>  GLIBC_2.1 pthread_rwlock_wrlock F
>  GLIBC_2.1 ptsname F
> @@ -1858,6 +1859,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_tryrdlock F
> +GLIBC_2.2 __pthread_rwlock_trywrlock F
>  GLIBC_2.2 __pthread_rwlock_unlock F
>  GLIBC_2.2 __pthread_rwlock_wrlock F
>  GLIBC_2.2 __pwrite64 F
> @@ -2337,6 +2339,7 @@ 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_tryrdlock F
> +GLIBC_2.34 pthread_rwlock_trywrlock 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 192449a99e..db1e6ae07f 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
> @@ -24,7 +24,6 @@ GLIBC_2.1 pthread_attr_setstackaddr F
>  GLIBC_2.1 pthread_attr_setstacksize F
>  GLIBC_2.1 pthread_create F
>  GLIBC_2.1 pthread_getconcurrency F
> -GLIBC_2.1 pthread_rwlock_trywrlock F
>  GLIBC_2.1 pthread_rwlockattr_destroy F
>  GLIBC_2.1 pthread_rwlockattr_getkind_np F
>  GLIBC_2.1 pthread_rwlockattr_getpshared F
> @@ -47,7 +46,6 @@ GLIBC_2.12 pthread_getname_np F
>  GLIBC_2.12 pthread_setname_np F
>  GLIBC_2.18 pthread_getattr_default_np F
>  GLIBC_2.18 pthread_setattr_default_np F
> -GLIBC_2.2 __pthread_rwlock_trywrlock F
>  GLIBC_2.2 pthread_attr_getstack F
>  GLIBC_2.2 pthread_attr_setstack F
>  GLIBC_2.2 pthread_barrier_destroy F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
> index db33644bd8..f0d3ec8603 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
> @@ -1582,6 +1582,7 @@ GLIBC_2.1 pthread_rwlock_destroy F
>  GLIBC_2.1 pthread_rwlock_init F
>  GLIBC_2.1 pthread_rwlock_rdlock F
>  GLIBC_2.1 pthread_rwlock_tryrdlock F
> +GLIBC_2.1 pthread_rwlock_trywrlock F
>  GLIBC_2.1 pthread_rwlock_unlock F
>  GLIBC_2.1 pthread_rwlock_wrlock F
>  GLIBC_2.1 ptsname F
> @@ -1862,6 +1863,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_tryrdlock F
> +GLIBC_2.2 __pthread_rwlock_trywrlock F
>  GLIBC_2.2 __pthread_rwlock_unlock F
>  GLIBC_2.2 __pthread_rwlock_wrlock F
>  GLIBC_2.2 __pwrite64 F
> @@ -2370,6 +2372,7 @@ 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_tryrdlock F
> +GLIBC_2.34 pthread_rwlock_trywrlock 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 ba850f3a58..dec5e3ca8d 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
> @@ -426,6 +426,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_tryrdlock F
> +GLIBC_2.3 __pthread_rwlock_trywrlock F
>  GLIBC_2.3 __pthread_rwlock_unlock F
>  GLIBC_2.3 __pthread_rwlock_wrlock F
>  GLIBC_2.3 __pthread_setspecific F
> @@ -1426,6 +1427,7 @@ 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_tryrdlock F
> +GLIBC_2.3 pthread_rwlock_trywrlock F
>  GLIBC_2.3 pthread_rwlock_unlock F
>  GLIBC_2.3 pthread_rwlock_wrlock F
>  GLIBC_2.3 pthread_self F
> @@ -2191,6 +2193,7 @@ 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_tryrdlock F
> +GLIBC_2.34 pthread_rwlock_trywrlock 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 3e46195d50..f3f4ebe64a 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
> @@ -28,7 +28,6 @@ GLIBC_2.3 _IO_flockfile F
>  GLIBC_2.3 _IO_ftrylockfile F
>  GLIBC_2.3 _IO_funlockfile F
>  GLIBC_2.3 __errno_location F
> -GLIBC_2.3 __pthread_rwlock_trywrlock F
>  GLIBC_2.3 flockfile F
>  GLIBC_2.3 ftrylockfile F
>  GLIBC_2.3 funlockfile F
> @@ -52,7 +51,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_trywrlock F
>  GLIBC_2.3 pthread_rwlockattr_destroy F
>  GLIBC_2.3 pthread_rwlockattr_getkind_np F
>  GLIBC_2.3 pthread_rwlockattr_getpshared F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
> index fb5b760364..08269bd380 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
> @@ -440,6 +440,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_tryrdlock F
> +GLIBC_2.17 __pthread_rwlock_trywrlock F
>  GLIBC_2.17 __pthread_rwlock_unlock F
>  GLIBC_2.17 __pthread_rwlock_wrlock F
>  GLIBC_2.17 __pthread_setspecific F
> @@ -1597,6 +1598,7 @@ 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_tryrdlock F
> +GLIBC_2.17 pthread_rwlock_trywrlock F
>  GLIBC_2.17 pthread_rwlock_unlock F
>  GLIBC_2.17 pthread_rwlock_wrlock F
>  GLIBC_2.17 pthread_self F
> @@ -2492,6 +2494,7 @@ 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_tryrdlock F
> +GLIBC_2.34 pthread_rwlock_trywrlock 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 e4014619e7..11e21afc40 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
> @@ -4,7 +4,6 @@ GLIBC_2.17 _IO_funlockfile F
>  GLIBC_2.17 __errno_location F
>  GLIBC_2.17 __pthread_register_cancel F
>  GLIBC_2.17 __pthread_register_cancel_defer F
> -GLIBC_2.17 __pthread_rwlock_trywrlock F
>  GLIBC_2.17 __pthread_unregister_cancel F
>  GLIBC_2.17 __pthread_unregister_cancel_restore F
>  GLIBC_2.17 flockfile F
> @@ -33,7 +32,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_trywrlock F
>  GLIBC_2.17 pthread_rwlockattr_destroy F
>  GLIBC_2.17 pthread_rwlockattr_getkind_np F
>  GLIBC_2.17 pthread_rwlockattr_getpshared F
> diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
> index e14c088f8a..11f173ca7c 100644
> --- a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
> @@ -340,6 +340,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_tryrdlock F
> +GLIBC_2.33 __pthread_rwlock_trywrlock F
>  GLIBC_2.33 __pthread_rwlock_unlock F
>  GLIBC_2.33 __pthread_rwlock_wrlock F
>  GLIBC_2.33 __pthread_setspecific F
> @@ -1441,6 +1442,7 @@ 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_tryrdlock F
> +GLIBC_2.33 pthread_rwlock_trywrlock F
>  GLIBC_2.33 pthread_rwlock_unlock F
>  GLIBC_2.33 pthread_rwlock_wrlock F
>  GLIBC_2.33 pthread_self F
> @@ -2057,6 +2059,7 @@ 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_tryrdlock F
> +GLIBC_2.34 pthread_rwlock_trywrlock 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 e42feeb16e..cde399da81 100644
> --- a/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
> @@ -4,7 +4,6 @@ GLIBC_2.33 _IO_funlockfile F
>  GLIBC_2.33 __errno_location F
>  GLIBC_2.33 __pthread_register_cancel F
>  GLIBC_2.33 __pthread_register_cancel_defer F
> -GLIBC_2.33 __pthread_rwlock_trywrlock F
>  GLIBC_2.33 __pthread_unregister_cancel F
>  GLIBC_2.33 __pthread_unregister_cancel_restore F
>  GLIBC_2.33 call_once F
> @@ -48,7 +47,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_trywrlock F
>  GLIBC_2.33 pthread_rwlockattr_destroy F
>  GLIBC_2.33 pthread_rwlockattr_getkind_np F
>  GLIBC_2.33 pthread_rwlockattr_getpshared F
> diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
> index 4d17db5800..517414bbe2 100644
> --- a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
> @@ -351,6 +351,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_tryrdlock F
> +GLIBC_2.27 __pthread_rwlock_trywrlock F
>  GLIBC_2.27 __pthread_rwlock_unlock F
>  GLIBC_2.27 __pthread_rwlock_wrlock F
>  GLIBC_2.27 __pthread_setspecific F
> @@ -1499,6 +1500,7 @@ 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_tryrdlock F
> +GLIBC_2.27 pthread_rwlock_trywrlock F
>  GLIBC_2.27 pthread_rwlock_unlock F
>  GLIBC_2.27 pthread_rwlock_wrlock F
>  GLIBC_2.27 pthread_self F
> @@ -2257,6 +2259,7 @@ 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_tryrdlock F
> +GLIBC_2.34 pthread_rwlock_trywrlock 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 600ea5a00f..8fd09649b6 100644
> --- a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
> @@ -4,7 +4,6 @@ GLIBC_2.27 _IO_funlockfile F
>  GLIBC_2.27 __errno_location F
>  GLIBC_2.27 __pthread_register_cancel F
>  GLIBC_2.27 __pthread_register_cancel_defer F
> -GLIBC_2.27 __pthread_rwlock_trywrlock F
>  GLIBC_2.27 __pthread_unregister_cancel F
>  GLIBC_2.27 __pthread_unregister_cancel_restore F
>  GLIBC_2.27 flockfile F
> @@ -34,7 +33,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_trywrlock F
>  GLIBC_2.27 pthread_rwlockattr_destroy F
>  GLIBC_2.27 pthread_rwlockattr_getkind_np F
>  GLIBC_2.27 pthread_rwlockattr_getpshared F
> diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
> index da77bab930..1e6e648de4 100644
> --- a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
> @@ -1574,6 +1574,7 @@ GLIBC_2.1 pthread_rwlock_destroy F
>  GLIBC_2.1 pthread_rwlock_init F
>  GLIBC_2.1 pthread_rwlock_rdlock F
>  GLIBC_2.1 pthread_rwlock_tryrdlock F
> +GLIBC_2.1 pthread_rwlock_trywrlock F
>  GLIBC_2.1 pthread_rwlock_unlock F
>  GLIBC_2.1 pthread_rwlock_wrlock F
>  GLIBC_2.1 ptsname F
> @@ -1856,6 +1857,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_tryrdlock F
> +GLIBC_2.2 __pthread_rwlock_trywrlock F
>  GLIBC_2.2 __pthread_rwlock_unlock F
>  GLIBC_2.2 __pthread_rwlock_wrlock F
>  GLIBC_2.2 __pwrite64 F
> @@ -2335,6 +2337,7 @@ 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_tryrdlock F
> +GLIBC_2.34 pthread_rwlock_trywrlock 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 f2b083901d..dbbdd159bd 100644
> --- a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
> @@ -24,7 +24,6 @@ GLIBC_2.1 pthread_attr_setstackaddr F
>  GLIBC_2.1 pthread_attr_setstacksize F
>  GLIBC_2.1 pthread_create F
>  GLIBC_2.1 pthread_getconcurrency F
> -GLIBC_2.1 pthread_rwlock_trywrlock F
>  GLIBC_2.1 pthread_rwlockattr_destroy F
>  GLIBC_2.1 pthread_rwlockattr_getkind_np F
>  GLIBC_2.1 pthread_rwlockattr_getpshared F
> @@ -48,7 +47,6 @@ GLIBC_2.12 pthread_setname_np F
>  GLIBC_2.18 pthread_getattr_default_np F
>  GLIBC_2.18 pthread_setattr_default_np F
>  GLIBC_2.19 __libpthread_version_placeholder F
> -GLIBC_2.2 __pthread_rwlock_trywrlock F
>  GLIBC_2.2 pthread_attr_getstack F
>  GLIBC_2.2 pthread_attr_setstack F
>  GLIBC_2.2 pthread_barrier_destroy F
> diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
> index bf68e980bf..dd741f5686 100644
> --- a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
> @@ -387,6 +387,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_tryrdlock F
> +GLIBC_2.2 __pthread_rwlock_trywrlock F
>  GLIBC_2.2 __pthread_rwlock_unlock F
>  GLIBC_2.2 __pthread_rwlock_wrlock F
>  GLIBC_2.2 __pthread_setspecific F
> @@ -1338,6 +1339,7 @@ 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_tryrdlock F
> +GLIBC_2.2 pthread_rwlock_trywrlock F
>  GLIBC_2.2 pthread_rwlock_unlock F
>  GLIBC_2.2 pthread_rwlock_wrlock F
>  GLIBC_2.2 pthread_self F
> @@ -2228,6 +2230,7 @@ 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_tryrdlock F
> +GLIBC_2.34 pthread_rwlock_trywrlock 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 ceb764752d..de35dec9d8 100644
> --- a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
> @@ -8,7 +8,6 @@ GLIBC_2.2 _IO_flockfile F
>  GLIBC_2.2 _IO_ftrylockfile F
>  GLIBC_2.2 _IO_funlockfile F
>  GLIBC_2.2 __errno_location F
> -GLIBC_2.2 __pthread_rwlock_trywrlock F
>  GLIBC_2.2 flockfile F
>  GLIBC_2.2 ftrylockfile F
>  GLIBC_2.2 funlockfile F
> @@ -32,7 +31,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_trywrlock F
>  GLIBC_2.2 pthread_rwlockattr_destroy F
>  GLIBC_2.2 pthread_rwlockattr_getkind_np F
>  GLIBC_2.2 pthread_rwlockattr_getpshared F
> diff --git a/sysdeps/unix/sysv/linux/sh/be/libc.abilist b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
> index cc512fc917..2cbbfd746b 100644
> --- a/sysdeps/unix/sysv/linux/sh/be/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
> @@ -376,6 +376,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_tryrdlock F
> +GLIBC_2.2 __pthread_rwlock_trywrlock F
>  GLIBC_2.2 __pthread_rwlock_unlock F
>  GLIBC_2.2 __pthread_rwlock_wrlock F
>  GLIBC_2.2 __pthread_setspecific F
> @@ -1324,6 +1325,7 @@ 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_tryrdlock F
> +GLIBC_2.2 pthread_rwlock_trywrlock F
>  GLIBC_2.2 pthread_rwlock_unlock F
>  GLIBC_2.2 pthread_rwlock_wrlock F
>  GLIBC_2.2 pthread_self F
> @@ -2197,6 +2199,7 @@ 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_tryrdlock F
> +GLIBC_2.34 pthread_rwlock_trywrlock 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 73866e12f3..7a3432551e 100644
> --- a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
> @@ -7,7 +7,6 @@ GLIBC_2.2 _IO_flockfile F
>  GLIBC_2.2 _IO_ftrylockfile F
>  GLIBC_2.2 _IO_funlockfile F
>  GLIBC_2.2 __errno_location F
> -GLIBC_2.2 __pthread_rwlock_trywrlock F
>  GLIBC_2.2 flockfile F
>  GLIBC_2.2 ftrylockfile F
>  GLIBC_2.2 funlockfile F
> @@ -31,7 +30,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_trywrlock F
>  GLIBC_2.2 pthread_rwlockattr_destroy F
>  GLIBC_2.2 pthread_rwlockattr_getkind_np F
>  GLIBC_2.2 pthread_rwlockattr_getpshared F
> diff --git a/sysdeps/unix/sysv/linux/sh/le/libc.abilist b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
> index aa235c7344..0ec36636fd 100644
> --- a/sysdeps/unix/sysv/linux/sh/le/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
> @@ -376,6 +376,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_tryrdlock F
> +GLIBC_2.2 __pthread_rwlock_trywrlock F
>  GLIBC_2.2 __pthread_rwlock_unlock F
>  GLIBC_2.2 __pthread_rwlock_wrlock F
>  GLIBC_2.2 __pthread_setspecific F
> @@ -1324,6 +1325,7 @@ 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_tryrdlock F
> +GLIBC_2.2 pthread_rwlock_trywrlock F
>  GLIBC_2.2 pthread_rwlock_unlock F
>  GLIBC_2.2 pthread_rwlock_wrlock F
>  GLIBC_2.2 pthread_self F
> @@ -2194,6 +2196,7 @@ 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_tryrdlock F
> +GLIBC_2.34 pthread_rwlock_trywrlock 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 73866e12f3..7a3432551e 100644
> --- a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
> @@ -7,7 +7,6 @@ GLIBC_2.2 _IO_flockfile F
>  GLIBC_2.2 _IO_ftrylockfile F
>  GLIBC_2.2 _IO_funlockfile F
>  GLIBC_2.2 __errno_location F
> -GLIBC_2.2 __pthread_rwlock_trywrlock F
>  GLIBC_2.2 flockfile F
>  GLIBC_2.2 ftrylockfile F
>  GLIBC_2.2 funlockfile F
> @@ -31,7 +30,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_trywrlock F
>  GLIBC_2.2 pthread_rwlockattr_destroy F
>  GLIBC_2.2 pthread_rwlockattr_getkind_np F
>  GLIBC_2.2 pthread_rwlockattr_getpshared F
> diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
> index 16a1268fd3..67b12ee201 100644
> --- a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
> @@ -1575,6 +1575,7 @@ GLIBC_2.1 pthread_rwlock_destroy F
>  GLIBC_2.1 pthread_rwlock_init F
>  GLIBC_2.1 pthread_rwlock_rdlock F
>  GLIBC_2.1 pthread_rwlock_tryrdlock F
> +GLIBC_2.1 pthread_rwlock_trywrlock F
>  GLIBC_2.1 pthread_rwlock_unlock F
>  GLIBC_2.1 pthread_rwlock_wrlock F
>  GLIBC_2.1 ptsname F
> @@ -1854,6 +1855,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_tryrdlock F
> +GLIBC_2.2 __pthread_rwlock_trywrlock F
>  GLIBC_2.2 __pthread_rwlock_unlock F
>  GLIBC_2.2 __pthread_rwlock_wrlock F
>  GLIBC_2.2 __pwrite64 F
> @@ -2326,6 +2328,7 @@ 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_tryrdlock F
> +GLIBC_2.34 pthread_rwlock_trywrlock 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 f7bda4bb9b..ab854bbc77 100644
> --- a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
> @@ -24,7 +24,6 @@ GLIBC_2.1 pthread_attr_setstackaddr F
>  GLIBC_2.1 pthread_attr_setstacksize F
>  GLIBC_2.1 pthread_create F
>  GLIBC_2.1 pthread_getconcurrency F
> -GLIBC_2.1 pthread_rwlock_trywrlock F
>  GLIBC_2.1 pthread_rwlockattr_destroy F
>  GLIBC_2.1 pthread_rwlockattr_getkind_np F
>  GLIBC_2.1 pthread_rwlockattr_getpshared F
> @@ -47,7 +46,6 @@ GLIBC_2.12 pthread_getname_np F
>  GLIBC_2.12 pthread_setname_np F
>  GLIBC_2.18 pthread_getattr_default_np F
>  GLIBC_2.18 pthread_setattr_default_np F
> -GLIBC_2.2 __pthread_rwlock_trywrlock F
>  GLIBC_2.2 pthread_attr_getstack F
>  GLIBC_2.2 pthread_attr_setstack F
>  GLIBC_2.2 pthread_barrier_destroy F
> diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
> index d8f6584046..c529ccc949 100644
> --- a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
> @@ -414,6 +414,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_tryrdlock F
> +GLIBC_2.2 __pthread_rwlock_trywrlock F
>  GLIBC_2.2 __pthread_rwlock_unlock F
>  GLIBC_2.2 __pthread_rwlock_wrlock F
>  GLIBC_2.2 __pthread_setspecific F
> @@ -1367,6 +1368,7 @@ 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_tryrdlock F
> +GLIBC_2.2 pthread_rwlock_trywrlock F
>  GLIBC_2.2 pthread_rwlock_unlock F
>  GLIBC_2.2 pthread_rwlock_wrlock F
>  GLIBC_2.2 pthread_self F
> @@ -2245,6 +2247,7 @@ 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_tryrdlock F
> +GLIBC_2.34 pthread_rwlock_trywrlock 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 d9988168e7..012cab4a86 100644
> --- a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
> @@ -7,7 +7,6 @@ GLIBC_2.2 _IO_flockfile F
>  GLIBC_2.2 _IO_ftrylockfile F
>  GLIBC_2.2 _IO_funlockfile F
>  GLIBC_2.2 __errno_location F
> -GLIBC_2.2 __pthread_rwlock_trywrlock F
>  GLIBC_2.2 flockfile F
>  GLIBC_2.2 ftrylockfile F
>  GLIBC_2.2 funlockfile F
> @@ -31,7 +30,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_trywrlock F
>  GLIBC_2.2 pthread_rwlockattr_destroy F
>  GLIBC_2.2 pthread_rwlockattr_getkind_np F
>  GLIBC_2.2 pthread_rwlockattr_getpshared F
> diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
> index 26e1f0da98..550993a4a1 100644
> --- a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
> @@ -375,6 +375,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_tryrdlock F
> +GLIBC_2.2.5 __pthread_rwlock_trywrlock F
>  GLIBC_2.2.5 __pthread_rwlock_unlock F
>  GLIBC_2.2.5 __pthread_rwlock_wrlock F
>  GLIBC_2.2.5 __pthread_setspecific F
> @@ -1335,6 +1336,7 @@ 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_tryrdlock F
> +GLIBC_2.2.5 pthread_rwlock_trywrlock F
>  GLIBC_2.2.5 pthread_rwlock_unlock F
>  GLIBC_2.2.5 pthread_rwlock_wrlock F
>  GLIBC_2.2.5 pthread_self F
> @@ -2206,6 +2208,7 @@ 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_tryrdlock F
> +GLIBC_2.34 pthread_rwlock_trywrlock 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 9c9553be6c..97e5f5ba51 100644
> --- a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
> @@ -7,7 +7,6 @@ GLIBC_2.2.5 _IO_flockfile F
>  GLIBC_2.2.5 _IO_ftrylockfile F
>  GLIBC_2.2.5 _IO_funlockfile F
>  GLIBC_2.2.5 __errno_location F
> -GLIBC_2.2.5 __pthread_rwlock_trywrlock F
>  GLIBC_2.2.5 flockfile F
>  GLIBC_2.2.5 ftrylockfile F
>  GLIBC_2.2.5 funlockfile F
> @@ -31,7 +30,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_trywrlock F
>  GLIBC_2.2.5 pthread_rwlockattr_destroy F
>  GLIBC_2.2.5 pthread_rwlockattr_getkind_np F
>  GLIBC_2.2.5 pthread_rwlockattr_getpshared F
> diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
> index 9ea2ffd03c..ab5b94842e 100644
> --- a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
> @@ -355,6 +355,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_tryrdlock F
> +GLIBC_2.16 __pthread_rwlock_trywrlock F
>  GLIBC_2.16 __pthread_rwlock_unlock F
>  GLIBC_2.16 __pthread_rwlock_wrlock F
>  GLIBC_2.16 __pthread_setspecific F
> @@ -1516,6 +1517,7 @@ 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_tryrdlock F
> +GLIBC_2.16 pthread_rwlock_trywrlock F
>  GLIBC_2.16 pthread_rwlock_unlock F
>  GLIBC_2.16 pthread_rwlock_wrlock F
>  GLIBC_2.16 pthread_self F
> @@ -2311,6 +2313,7 @@ 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_tryrdlock F
> +GLIBC_2.34 pthread_rwlock_trywrlock 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 f9dad30a95..a1ce2b26fd 100644
> --- a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
> @@ -4,7 +4,6 @@ GLIBC_2.16 _IO_funlockfile F
>  GLIBC_2.16 __errno_location F
>  GLIBC_2.16 __pthread_register_cancel F
>  GLIBC_2.16 __pthread_register_cancel_defer F
> -GLIBC_2.16 __pthread_rwlock_trywrlock F
>  GLIBC_2.16 __pthread_unregister_cancel F
>  GLIBC_2.16 __pthread_unregister_cancel_restore F
>  GLIBC_2.16 flockfile F
> @@ -33,7 +32,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_trywrlock F
>  GLIBC_2.16 pthread_rwlockattr_destroy F
>  GLIBC_2.16 pthread_rwlockattr_getkind_np F
>  GLIBC_2.16 pthread_rwlockattr_getpshared F
> 


-- 
Cheers,
Carlos.


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

* Re: [PATCH 09/14] nptl: Move pthread_rwlockattr_destroy into libc
  2021-04-23 17:37 ` [PATCH 09/14] nptl: Move pthread_rwlockattr_destroy " Florian Weimer via Libc-alpha
@ 2021-05-02 19:38   ` Carlos O'Donell via Libc-alpha
  0 siblings, 0 replies; 30+ messages in thread
From: Carlos O'Donell via Libc-alpha @ 2021-05-02 19:38 UTC (permalink / raw)
  To: Florian Weimer, libc-alpha

On 4/23/21 1:37 PM, Florian Weimer via Libc-alpha wrote:
> The symbol was moved using scripts/move-symbol-to-libc.py.

Tested and reviewed on x86_64 and i686.

LGTM.

Reviewed-by: Carlos O'Donell <carlos@redhat.com>
Tested-by: Carlos O'Donell <carlos@redhat.com>

> ---
>  nptl/Makefile                                         |  2 +-
>  nptl/Versions                                         |  3 ++-
>  nptl/pthread_rwlockattr_destroy.c                     | 11 +++++++++--
>  sysdeps/unix/sysv/linux/aarch64/libc.abilist          |  2 ++
>  sysdeps/unix/sysv/linux/aarch64/libpthread.abilist    |  1 -
>  sysdeps/unix/sysv/linux/alpha/libc.abilist            |  2 ++
>  sysdeps/unix/sysv/linux/alpha/libpthread.abilist      |  1 -
>  sysdeps/unix/sysv/linux/arc/libc.abilist              |  2 ++
>  sysdeps/unix/sysv/linux/arc/libpthread.abilist        |  1 -
>  sysdeps/unix/sysv/linux/arm/be/libc.abilist           |  2 ++
>  sysdeps/unix/sysv/linux/arm/be/libpthread.abilist     |  1 -
>  sysdeps/unix/sysv/linux/arm/le/libc.abilist           |  2 ++
>  sysdeps/unix/sysv/linux/arm/le/libpthread.abilist     |  1 -
>  sysdeps/unix/sysv/linux/csky/libc.abilist             |  2 ++
>  sysdeps/unix/sysv/linux/csky/libpthread.abilist       |  1 -
>  sysdeps/unix/sysv/linux/hppa/libc.abilist             |  2 ++
>  sysdeps/unix/sysv/linux/hppa/libpthread.abilist       |  1 -
>  sysdeps/unix/sysv/linux/i386/libc.abilist             |  2 ++
>  sysdeps/unix/sysv/linux/i386/libpthread.abilist       |  1 -
>  sysdeps/unix/sysv/linux/ia64/libc.abilist             |  2 ++
>  sysdeps/unix/sysv/linux/ia64/libpthread.abilist       |  1 -
>  sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist    |  2 ++
>  .../unix/sysv/linux/m68k/coldfire/libpthread.abilist  |  1 -
>  sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist      |  2 ++
>  .../unix/sysv/linux/m68k/m680x0/libpthread.abilist    |  1 -
>  sysdeps/unix/sysv/linux/microblaze/be/libc.abilist    |  2 ++
>  .../unix/sysv/linux/microblaze/be/libpthread.abilist  |  1 -
>  sysdeps/unix/sysv/linux/microblaze/le/libc.abilist    |  2 ++
>  .../unix/sysv/linux/microblaze/le/libpthread.abilist  |  1 -
>  sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist  |  2 ++
>  .../unix/sysv/linux/mips/mips32/libpthread.abilist    |  1 -
>  .../unix/sysv/linux/mips/mips32/nofpu/libc.abilist    |  2 ++
>  .../unix/sysv/linux/mips/mips64/libpthread.abilist    |  1 -
>  sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist  |  2 ++
>  sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist  |  2 ++
>  sysdeps/unix/sysv/linux/nios2/libc.abilist            |  2 ++
>  sysdeps/unix/sysv/linux/nios2/libpthread.abilist      |  1 -
>  .../sysv/linux/powerpc/powerpc32/fpu/libc.abilist     |  2 ++
>  .../sysv/linux/powerpc/powerpc32/libpthread.abilist   |  1 -
>  .../sysv/linux/powerpc/powerpc32/nofpu/libc.abilist   |  2 ++
>  .../unix/sysv/linux/powerpc/powerpc64/be/libc.abilist |  2 ++
>  .../linux/powerpc/powerpc64/be/libpthread.abilist     |  1 -
>  .../unix/sysv/linux/powerpc/powerpc64/le/libc.abilist |  2 ++
>  .../linux/powerpc/powerpc64/le/libpthread.abilist     |  1 -
>  sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist       |  2 ++
>  sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist |  1 -
>  sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist       |  2 ++
>  sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist |  1 -
>  sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist     |  2 ++
>  .../unix/sysv/linux/s390/s390-32/libpthread.abilist   |  1 -
>  sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist     |  2 ++
>  .../unix/sysv/linux/s390/s390-64/libpthread.abilist   |  1 -
>  sysdeps/unix/sysv/linux/sh/be/libc.abilist            |  2 ++
>  sysdeps/unix/sysv/linux/sh/be/libpthread.abilist      |  1 -
>  sysdeps/unix/sysv/linux/sh/le/libc.abilist            |  2 ++
>  sysdeps/unix/sysv/linux/sh/le/libpthread.abilist      |  1 -
>  sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist    |  2 ++
>  .../unix/sysv/linux/sparc/sparc32/libpthread.abilist  |  1 -
>  sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist    |  2 ++
>  .../unix/sysv/linux/sparc/sparc64/libpthread.abilist  |  1 -
>  sysdeps/unix/sysv/linux/x86_64/64/libc.abilist        |  2 ++
>  sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist  |  1 -
>  sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist       |  2 ++
>  sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist |  1 -
>  64 files changed, 76 insertions(+), 33 deletions(-)
> 
> diff --git a/nptl/Makefile b/nptl/Makefile
> index 9fc1007e9a..10456cb99c 100644
> --- a/nptl/Makefile
> +++ b/nptl/Makefile
> @@ -131,6 +131,7 @@ routines = \
>    pthread_rwlock_trywrlock \
>    pthread_rwlock_unlock \
>    pthread_rwlock_wrlock \
> +  pthread_rwlockattr_destroy \
>    pthread_self \
>    pthread_setcancelstate \
>    pthread_setcanceltype \
> @@ -186,7 +187,6 @@ libpthread-routines = \
>    pthread_getname \
>    pthread_join \
>    pthread_join_common \
> -  pthread_rwlockattr_destroy \
>    pthread_rwlockattr_getkind_np \
>    pthread_rwlockattr_getpshared \
>    pthread_rwlockattr_init \
> diff --git a/nptl/Versions b/nptl/Versions
> index f84f74dbee..dfdc2dad78 100644
> --- a/nptl/Versions
> +++ b/nptl/Versions
> @@ -73,6 +73,7 @@ libc {
>      pthread_rwlock_trywrlock;
>      pthread_rwlock_unlock;
>      pthread_rwlock_wrlock;
> +    pthread_rwlockattr_destroy;
>    }
>    GLIBC_2.2 {
>      __pthread_rwlock_destroy;
> @@ -202,6 +203,7 @@ libc {
>      pthread_rwlock_trywrlock;
>      pthread_rwlock_unlock;
>      pthread_rwlock_wrlock;
> +    pthread_rwlockattr_destroy;
>      pthread_setspecific;
>      pthread_spin_destroy;
>      pthread_spin_init;
> @@ -292,7 +294,6 @@ libpthread {
>      pthread_attr_setstacksize;
>      pthread_create;
>      pthread_getconcurrency;
> -    pthread_rwlockattr_destroy;
>      pthread_rwlockattr_getkind_np;
>      pthread_rwlockattr_getpshared;
>      pthread_rwlockattr_init;
> diff --git a/nptl/pthread_rwlockattr_destroy.c b/nptl/pthread_rwlockattr_destroy.c
> index fefe022760..3ed19f8ac7 100644
> --- a/nptl/pthread_rwlockattr_destroy.c
> +++ b/nptl/pthread_rwlockattr_destroy.c
> @@ -17,12 +17,19 @@
>     <https://www.gnu.org/licenses/>.  */
>  
>  #include "pthreadP.h"
> -
> +#include <shlib-compat.h>
>  
>  int
> -pthread_rwlockattr_destroy (pthread_rwlockattr_t *attr)
> +__pthread_rwlockattr_destroy (pthread_rwlockattr_t *attr)
>  {
>    /* Nothing to do.  For now.  */
>  
>    return 0;
>  }
> +versioned_symbol (libc, __pthread_rwlockattr_destroy,
> +                  pthread_rwlockattr_destroy, GLIBC_2_34);
> +
> +#if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_1, GLIBC_2_34)
> +compat_symbol (libpthread, __pthread_rwlockattr_destroy,
> +               pthread_rwlockattr_destroy, GLIBC_2_1);
> +#endif
> diff --git a/sysdeps/unix/sysv/linux/aarch64/libc.abilist b/sysdeps/unix/sysv/linux/aarch64/libc.abilist
> index b4a06c6299..fa41d5edb7 100644
> --- a/sysdeps/unix/sysv/linux/aarch64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/aarch64/libc.abilist
> @@ -1513,6 +1513,7 @@ GLIBC_2.17 pthread_rwlock_tryrdlock F
>  GLIBC_2.17 pthread_rwlock_trywrlock F
>  GLIBC_2.17 pthread_rwlock_unlock F
>  GLIBC_2.17 pthread_rwlock_wrlock F
> +GLIBC_2.17 pthread_rwlockattr_destroy F
>  GLIBC_2.17 pthread_self F
>  GLIBC_2.17 pthread_setcancelstate F
>  GLIBC_2.17 pthread_setcanceltype F
> @@ -2301,6 +2302,7 @@ GLIBC_2.34 pthread_rwlock_tryrdlock F
>  GLIBC_2.34 pthread_rwlock_trywrlock F
>  GLIBC_2.34 pthread_rwlock_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
> +GLIBC_2.34 pthread_rwlockattr_destroy F
>  GLIBC_2.34 pthread_setspecific F
>  GLIBC_2.34 pthread_spin_destroy F
>  GLIBC_2.34 pthread_spin_init F
> diff --git a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
> index 11e21afc40..1415f4c40f 100644
> --- a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
> @@ -32,7 +32,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_rwlockattr_destroy F
>  GLIBC_2.17 pthread_rwlockattr_getkind_np F
>  GLIBC_2.17 pthread_rwlockattr_getpshared F
>  GLIBC_2.17 pthread_rwlockattr_init F
> diff --git a/sysdeps/unix/sysv/linux/alpha/libc.abilist b/sysdeps/unix/sysv/linux/alpha/libc.abilist
> index 8cc6c01293..e32da83a4e 100644
> --- a/sysdeps/unix/sysv/linux/alpha/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/alpha/libc.abilist
> @@ -1613,6 +1613,7 @@ GLIBC_2.1 pthread_rwlock_tryrdlock F
>  GLIBC_2.1 pthread_rwlock_trywrlock F
>  GLIBC_2.1 pthread_rwlock_unlock F
>  GLIBC_2.1 pthread_rwlock_wrlock F
> +GLIBC_2.1 pthread_rwlockattr_destroy F
>  GLIBC_2.1 ptsname F
>  GLIBC_2.1 ptsname_r F
>  GLIBC_2.1 putgrent F
> @@ -2382,6 +2383,7 @@ GLIBC_2.34 pthread_rwlock_tryrdlock F
>  GLIBC_2.34 pthread_rwlock_trywrlock F
>  GLIBC_2.34 pthread_rwlock_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
> +GLIBC_2.34 pthread_rwlockattr_destroy F
>  GLIBC_2.34 pthread_setspecific F
>  GLIBC_2.34 pthread_spin_destroy F
>  GLIBC_2.34 pthread_spin_init F
> diff --git a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
> index ab854bbc77..8cd2286856 100644
> --- a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
> @@ -24,7 +24,6 @@ GLIBC_2.1 pthread_attr_setstackaddr F
>  GLIBC_2.1 pthread_attr_setstacksize F
>  GLIBC_2.1 pthread_create F
>  GLIBC_2.1 pthread_getconcurrency F
> -GLIBC_2.1 pthread_rwlockattr_destroy F
>  GLIBC_2.1 pthread_rwlockattr_getkind_np F
>  GLIBC_2.1 pthread_rwlockattr_getpshared F
>  GLIBC_2.1 pthread_rwlockattr_init F
> diff --git a/sysdeps/unix/sysv/linux/arc/libc.abilist b/sysdeps/unix/sysv/linux/arc/libc.abilist
> index 82fa9a1b2c..e022e9c56d 100644
> --- a/sysdeps/unix/sysv/linux/arc/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/arc/libc.abilist
> @@ -1443,6 +1443,7 @@ GLIBC_2.32 pthread_rwlock_tryrdlock F
>  GLIBC_2.32 pthread_rwlock_trywrlock F
>  GLIBC_2.32 pthread_rwlock_unlock F
>  GLIBC_2.32 pthread_rwlock_wrlock F
> +GLIBC_2.32 pthread_rwlockattr_destroy F
>  GLIBC_2.32 pthread_self F
>  GLIBC_2.32 pthread_setcancelstate F
>  GLIBC_2.32 pthread_setcanceltype F
> @@ -2060,6 +2061,7 @@ GLIBC_2.34 pthread_rwlock_tryrdlock F
>  GLIBC_2.34 pthread_rwlock_trywrlock F
>  GLIBC_2.34 pthread_rwlock_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
> +GLIBC_2.34 pthread_rwlockattr_destroy F
>  GLIBC_2.34 pthread_setspecific F
>  GLIBC_2.34 pthread_spin_destroy F
>  GLIBC_2.34 pthread_spin_init F
> diff --git a/sysdeps/unix/sysv/linux/arc/libpthread.abilist b/sysdeps/unix/sysv/linux/arc/libpthread.abilist
> index b029764706..d0b3e723af 100644
> --- a/sysdeps/unix/sysv/linux/arc/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/arc/libpthread.abilist
> @@ -47,7 +47,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_rwlockattr_destroy F
>  GLIBC_2.32 pthread_rwlockattr_getkind_np F
>  GLIBC_2.32 pthread_rwlockattr_getpshared F
>  GLIBC_2.32 pthread_rwlockattr_init F
> diff --git a/sysdeps/unix/sysv/linux/arm/be/libc.abilist b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
> index ca8c1d3c08..a9e0db7fab 100644
> --- a/sysdeps/unix/sysv/linux/arm/be/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
> @@ -215,6 +215,7 @@ GLIBC_2.34 pthread_rwlock_tryrdlock F
>  GLIBC_2.34 pthread_rwlock_trywrlock F
>  GLIBC_2.34 pthread_rwlock_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
> +GLIBC_2.34 pthread_rwlockattr_destroy F
>  GLIBC_2.34 pthread_setspecific F
>  GLIBC_2.34 pthread_spin_destroy F
>  GLIBC_2.34 pthread_spin_init F
> @@ -1667,6 +1668,7 @@ GLIBC_2.4 pthread_rwlock_tryrdlock F
>  GLIBC_2.4 pthread_rwlock_trywrlock F
>  GLIBC_2.4 pthread_rwlock_unlock F
>  GLIBC_2.4 pthread_rwlock_wrlock F
> +GLIBC_2.4 pthread_rwlockattr_destroy F
>  GLIBC_2.4 pthread_self F
>  GLIBC_2.4 pthread_setcancelstate F
>  GLIBC_2.4 pthread_setcanceltype F
> diff --git a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
> index a62e8fe20a..619ac6f5ef 100644
> --- a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
> @@ -60,7 +60,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_rwlockattr_destroy F
>  GLIBC_2.4 pthread_rwlockattr_getkind_np F
>  GLIBC_2.4 pthread_rwlockattr_getpshared F
>  GLIBC_2.4 pthread_rwlockattr_init F
> diff --git a/sysdeps/unix/sysv/linux/arm/le/libc.abilist b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
> index 5d3a1cde7c..eb5a14c904 100644
> --- a/sysdeps/unix/sysv/linux/arm/le/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
> @@ -212,6 +212,7 @@ GLIBC_2.34 pthread_rwlock_tryrdlock F
>  GLIBC_2.34 pthread_rwlock_trywrlock F
>  GLIBC_2.34 pthread_rwlock_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
> +GLIBC_2.34 pthread_rwlockattr_destroy F
>  GLIBC_2.34 pthread_setspecific F
>  GLIBC_2.34 pthread_spin_destroy F
>  GLIBC_2.34 pthread_spin_init F
> @@ -1664,6 +1665,7 @@ GLIBC_2.4 pthread_rwlock_tryrdlock F
>  GLIBC_2.4 pthread_rwlock_trywrlock F
>  GLIBC_2.4 pthread_rwlock_unlock F
>  GLIBC_2.4 pthread_rwlock_wrlock F
> +GLIBC_2.4 pthread_rwlockattr_destroy F
>  GLIBC_2.4 pthread_self F
>  GLIBC_2.4 pthread_setcancelstate F
>  GLIBC_2.4 pthread_setcanceltype F
> diff --git a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
> index a62e8fe20a..619ac6f5ef 100644
> --- a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
> @@ -60,7 +60,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_rwlockattr_destroy F
>  GLIBC_2.4 pthread_rwlockattr_getkind_np F
>  GLIBC_2.4 pthread_rwlockattr_getpshared F
>  GLIBC_2.4 pthread_rwlockattr_init F
> diff --git a/sysdeps/unix/sysv/linux/csky/libc.abilist b/sysdeps/unix/sysv/linux/csky/libc.abilist
> index 066afc9db7..b544f92eaf 100644
> --- a/sysdeps/unix/sysv/linux/csky/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/csky/libc.abilist
> @@ -1500,6 +1500,7 @@ GLIBC_2.29 pthread_rwlock_tryrdlock F
>  GLIBC_2.29 pthread_rwlock_trywrlock F
>  GLIBC_2.29 pthread_rwlock_unlock F
>  GLIBC_2.29 pthread_rwlock_wrlock F
> +GLIBC_2.29 pthread_rwlockattr_destroy F
>  GLIBC_2.29 pthread_self F
>  GLIBC_2.29 pthread_setcancelstate F
>  GLIBC_2.29 pthread_setcanceltype F
> @@ -2244,6 +2245,7 @@ GLIBC_2.34 pthread_rwlock_tryrdlock F
>  GLIBC_2.34 pthread_rwlock_trywrlock F
>  GLIBC_2.34 pthread_rwlock_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
> +GLIBC_2.34 pthread_rwlockattr_destroy F
>  GLIBC_2.34 pthread_setspecific F
>  GLIBC_2.34 pthread_spin_destroy F
>  GLIBC_2.34 pthread_spin_init F
> diff --git a/sysdeps/unix/sysv/linux/csky/libpthread.abilist b/sysdeps/unix/sysv/linux/csky/libpthread.abilist
> index c1a34db9fd..563594d37f 100644
> --- a/sysdeps/unix/sysv/linux/csky/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/csky/libpthread.abilist
> @@ -46,7 +46,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_rwlockattr_destroy F
>  GLIBC_2.29 pthread_rwlockattr_getkind_np F
>  GLIBC_2.29 pthread_rwlockattr_getpshared F
>  GLIBC_2.29 pthread_rwlockattr_init F
> diff --git a/sysdeps/unix/sysv/linux/hppa/libc.abilist b/sysdeps/unix/sysv/linux/hppa/libc.abilist
> index 958ab24e89..7fee07949d 100644
> --- a/sysdeps/unix/sysv/linux/hppa/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/hppa/libc.abilist
> @@ -1324,6 +1324,7 @@ GLIBC_2.2 pthread_rwlock_tryrdlock F
>  GLIBC_2.2 pthread_rwlock_trywrlock F
>  GLIBC_2.2 pthread_rwlock_unlock F
>  GLIBC_2.2 pthread_rwlock_wrlock F
> +GLIBC_2.2 pthread_rwlockattr_destroy F
>  GLIBC_2.2 pthread_self F
>  GLIBC_2.2 pthread_setcancelstate F
>  GLIBC_2.2 pthread_setcanceltype F
> @@ -2195,6 +2196,7 @@ GLIBC_2.34 pthread_rwlock_tryrdlock F
>  GLIBC_2.34 pthread_rwlock_trywrlock F
>  GLIBC_2.34 pthread_rwlock_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
> +GLIBC_2.34 pthread_rwlockattr_destroy F
>  GLIBC_2.34 pthread_setspecific F
>  GLIBC_2.34 pthread_spin_destroy F
>  GLIBC_2.34 pthread_spin_init F
> diff --git a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
> index 7a3432551e..480a0db78c 100644
> --- a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
> @@ -30,7 +30,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_rwlockattr_destroy F
>  GLIBC_2.2 pthread_rwlockattr_getkind_np F
>  GLIBC_2.2 pthread_rwlockattr_getpshared F
>  GLIBC_2.2 pthread_rwlockattr_init F
> diff --git a/sysdeps/unix/sysv/linux/i386/libc.abilist b/sysdeps/unix/sysv/linux/i386/libc.abilist
> index ee8809b6e4..7a6f4b1673 100644
> --- a/sysdeps/unix/sysv/linux/i386/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/i386/libc.abilist
> @@ -1581,6 +1581,7 @@ GLIBC_2.1 pthread_rwlock_tryrdlock F
>  GLIBC_2.1 pthread_rwlock_trywrlock F
>  GLIBC_2.1 pthread_rwlock_unlock F
>  GLIBC_2.1 pthread_rwlock_wrlock F
> +GLIBC_2.1 pthread_rwlockattr_destroy F
>  GLIBC_2.1 ptsname F
>  GLIBC_2.1 ptsname_r F
>  GLIBC_2.1 putgrent F
> @@ -2372,6 +2373,7 @@ GLIBC_2.34 pthread_rwlock_tryrdlock F
>  GLIBC_2.34 pthread_rwlock_trywrlock F
>  GLIBC_2.34 pthread_rwlock_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
> +GLIBC_2.34 pthread_rwlockattr_destroy F
>  GLIBC_2.34 pthread_setspecific F
>  GLIBC_2.34 pthread_spin_destroy F
>  GLIBC_2.34 pthread_spin_init F
> diff --git a/sysdeps/unix/sysv/linux/i386/libpthread.abilist b/sysdeps/unix/sysv/linux/i386/libpthread.abilist
> index 4aecfccc11..f33d710837 100644
> --- a/sysdeps/unix/sysv/linux/i386/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/i386/libpthread.abilist
> @@ -24,7 +24,6 @@ GLIBC_2.1 pthread_attr_setstackaddr F
>  GLIBC_2.1 pthread_attr_setstacksize F
>  GLIBC_2.1 pthread_create F
>  GLIBC_2.1 pthread_getconcurrency F
> -GLIBC_2.1 pthread_rwlockattr_destroy F
>  GLIBC_2.1 pthread_rwlockattr_getkind_np F
>  GLIBC_2.1 pthread_rwlockattr_getpshared F
>  GLIBC_2.1 pthread_rwlockattr_init F
> diff --git a/sysdeps/unix/sysv/linux/ia64/libc.abilist b/sysdeps/unix/sysv/linux/ia64/libc.abilist
> index 0517cf4eb4..6f31faf03c 100644
> --- a/sysdeps/unix/sysv/linux/ia64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/ia64/libc.abilist
> @@ -1345,6 +1345,7 @@ GLIBC_2.2 pthread_rwlock_tryrdlock F
>  GLIBC_2.2 pthread_rwlock_trywrlock F
>  GLIBC_2.2 pthread_rwlock_unlock F
>  GLIBC_2.2 pthread_rwlock_wrlock F
> +GLIBC_2.2 pthread_rwlockattr_destroy F
>  GLIBC_2.2 pthread_self F
>  GLIBC_2.2 pthread_setcancelstate F
>  GLIBC_2.2 pthread_setcanceltype F
> @@ -2229,6 +2230,7 @@ GLIBC_2.34 pthread_rwlock_tryrdlock F
>  GLIBC_2.34 pthread_rwlock_trywrlock F
>  GLIBC_2.34 pthread_rwlock_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
> +GLIBC_2.34 pthread_rwlockattr_destroy F
>  GLIBC_2.34 pthread_setspecific F
>  GLIBC_2.34 pthread_spin_destroy F
>  GLIBC_2.34 pthread_spin_init F
> diff --git a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
> index 012cab4a86..9d003c3a4b 100644
> --- a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
> @@ -30,7 +30,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_rwlockattr_destroy F
>  GLIBC_2.2 pthread_rwlockattr_getkind_np F
>  GLIBC_2.2 pthread_rwlockattr_getpshared F
>  GLIBC_2.2 pthread_rwlockattr_init F
> diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
> index a6c351494b..e0ff4bd8b3 100644
> --- a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
> @@ -216,6 +216,7 @@ GLIBC_2.34 pthread_rwlock_tryrdlock F
>  GLIBC_2.34 pthread_rwlock_trywrlock F
>  GLIBC_2.34 pthread_rwlock_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
> +GLIBC_2.34 pthread_rwlockattr_destroy F
>  GLIBC_2.34 pthread_setspecific F
>  GLIBC_2.34 pthread_spin_destroy F
>  GLIBC_2.34 pthread_spin_init F
> @@ -1647,6 +1648,7 @@ GLIBC_2.4 pthread_rwlock_tryrdlock F
>  GLIBC_2.4 pthread_rwlock_trywrlock F
>  GLIBC_2.4 pthread_rwlock_unlock F
>  GLIBC_2.4 pthread_rwlock_wrlock F
> +GLIBC_2.4 pthread_rwlockattr_destroy F
>  GLIBC_2.4 pthread_self F
>  GLIBC_2.4 pthread_setcancelstate F
>  GLIBC_2.4 pthread_setcanceltype F
> diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
> index a62e8fe20a..619ac6f5ef 100644
> --- a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
> @@ -60,7 +60,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_rwlockattr_destroy F
>  GLIBC_2.4 pthread_rwlockattr_getkind_np F
>  GLIBC_2.4 pthread_rwlockattr_getpshared F
>  GLIBC_2.4 pthread_rwlockattr_init F
> diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
> index 1061625a6e..16a4650d2d 100644
> --- a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
> @@ -1577,6 +1577,7 @@ GLIBC_2.1 pthread_rwlock_tryrdlock F
>  GLIBC_2.1 pthread_rwlock_trywrlock F
>  GLIBC_2.1 pthread_rwlock_unlock F
>  GLIBC_2.1 pthread_rwlock_wrlock F
> +GLIBC_2.1 pthread_rwlockattr_destroy F
>  GLIBC_2.1 ptsname F
>  GLIBC_2.1 ptsname_r F
>  GLIBC_2.1 putgrent F
> @@ -2315,6 +2316,7 @@ GLIBC_2.34 pthread_rwlock_tryrdlock F
>  GLIBC_2.34 pthread_rwlock_trywrlock F
>  GLIBC_2.34 pthread_rwlock_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
> +GLIBC_2.34 pthread_rwlockattr_destroy F
>  GLIBC_2.34 pthread_setspecific F
>  GLIBC_2.34 pthread_spin_destroy F
>  GLIBC_2.34 pthread_spin_init F
> diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
> index 4aecfccc11..f33d710837 100644
> --- a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
> @@ -24,7 +24,6 @@ GLIBC_2.1 pthread_attr_setstackaddr F
>  GLIBC_2.1 pthread_attr_setstacksize F
>  GLIBC_2.1 pthread_create F
>  GLIBC_2.1 pthread_getconcurrency F
> -GLIBC_2.1 pthread_rwlockattr_destroy F
>  GLIBC_2.1 pthread_rwlockattr_getkind_np F
>  GLIBC_2.1 pthread_rwlockattr_getpshared F
>  GLIBC_2.1 pthread_rwlockattr_init F
> diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
> index 27dbe7bb4b..a20737e513 100644
> --- a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
> @@ -1515,6 +1515,7 @@ GLIBC_2.18 pthread_rwlock_tryrdlock F
>  GLIBC_2.18 pthread_rwlock_trywrlock F
>  GLIBC_2.18 pthread_rwlock_unlock F
>  GLIBC_2.18 pthread_rwlock_wrlock F
> +GLIBC_2.18 pthread_rwlockattr_destroy F
>  GLIBC_2.18 pthread_self F
>  GLIBC_2.18 pthread_setcancelstate F
>  GLIBC_2.18 pthread_setcanceltype F
> @@ -2295,6 +2296,7 @@ GLIBC_2.34 pthread_rwlock_tryrdlock F
>  GLIBC_2.34 pthread_rwlock_trywrlock F
>  GLIBC_2.34 pthread_rwlock_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
> +GLIBC_2.34 pthread_rwlockattr_destroy F
>  GLIBC_2.34 pthread_setspecific F
>  GLIBC_2.34 pthread_spin_destroy F
>  GLIBC_2.34 pthread_spin_init F
> diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
> index 2f1a659cfa..72a5377377 100644
> --- a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
> @@ -33,7 +33,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_rwlockattr_destroy F
>  GLIBC_2.18 pthread_rwlockattr_getkind_np F
>  GLIBC_2.18 pthread_rwlockattr_getpshared F
>  GLIBC_2.18 pthread_rwlockattr_init F
> diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
> index 2d1b16f48a..f9feb17895 100644
> --- a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
> @@ -1515,6 +1515,7 @@ GLIBC_2.18 pthread_rwlock_tryrdlock F
>  GLIBC_2.18 pthread_rwlock_trywrlock F
>  GLIBC_2.18 pthread_rwlock_unlock F
>  GLIBC_2.18 pthread_rwlock_wrlock F
> +GLIBC_2.18 pthread_rwlockattr_destroy F
>  GLIBC_2.18 pthread_self F
>  GLIBC_2.18 pthread_setcancelstate F
>  GLIBC_2.18 pthread_setcanceltype F
> @@ -2292,6 +2293,7 @@ GLIBC_2.34 pthread_rwlock_tryrdlock F
>  GLIBC_2.34 pthread_rwlock_trywrlock F
>  GLIBC_2.34 pthread_rwlock_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
> +GLIBC_2.34 pthread_rwlockattr_destroy F
>  GLIBC_2.34 pthread_setspecific F
>  GLIBC_2.34 pthread_spin_destroy F
>  GLIBC_2.34 pthread_spin_init F
> diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
> index 2f1a659cfa..72a5377377 100644
> --- a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
> @@ -33,7 +33,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_rwlockattr_destroy F
>  GLIBC_2.18 pthread_rwlockattr_getkind_np F
>  GLIBC_2.18 pthread_rwlockattr_getpshared F
>  GLIBC_2.18 pthread_rwlockattr_init F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
> index ac357e888d..e0c3fdf71f 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
> @@ -1854,6 +1854,7 @@ GLIBC_2.2 pthread_rwlock_tryrdlock F
>  GLIBC_2.2 pthread_rwlock_trywrlock F
>  GLIBC_2.2 pthread_rwlock_unlock F
>  GLIBC_2.2 pthread_rwlock_wrlock F
> +GLIBC_2.2 pthread_rwlockattr_destroy F
>  GLIBC_2.2 pthread_spin_destroy F
>  GLIBC_2.2 pthread_spin_init F
>  GLIBC_2.2 pthread_spin_lock F
> @@ -2278,6 +2279,7 @@ GLIBC_2.34 pthread_rwlock_tryrdlock F
>  GLIBC_2.34 pthread_rwlock_trywrlock F
>  GLIBC_2.34 pthread_rwlock_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
> +GLIBC_2.34 pthread_rwlockattr_destroy F
>  GLIBC_2.34 pthread_setspecific F
>  GLIBC_2.34 pthread_spin_destroy F
>  GLIBC_2.34 pthread_spin_init F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
> index dd860526ec..d3e3ec6e1d 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
> @@ -38,7 +38,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_rwlockattr_destroy F
>  GLIBC_2.2 pthread_rwlockattr_getkind_np F
>  GLIBC_2.2 pthread_rwlockattr_getpshared F
>  GLIBC_2.2 pthread_rwlockattr_init F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
> index a89c2ffc79..624e34a5ab 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
> @@ -1852,6 +1852,7 @@ GLIBC_2.2 pthread_rwlock_tryrdlock F
>  GLIBC_2.2 pthread_rwlock_trywrlock F
>  GLIBC_2.2 pthread_rwlock_unlock F
>  GLIBC_2.2 pthread_rwlock_wrlock F
> +GLIBC_2.2 pthread_rwlockattr_destroy F
>  GLIBC_2.2 pthread_spin_destroy F
>  GLIBC_2.2 pthread_spin_init F
>  GLIBC_2.2 pthread_spin_lock F
> @@ -2276,6 +2277,7 @@ GLIBC_2.34 pthread_rwlock_tryrdlock F
>  GLIBC_2.34 pthread_rwlock_trywrlock F
>  GLIBC_2.34 pthread_rwlock_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
> +GLIBC_2.34 pthread_rwlockattr_destroy F
>  GLIBC_2.34 pthread_setspecific F
>  GLIBC_2.34 pthread_spin_destroy F
>  GLIBC_2.34 pthread_spin_init F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
> index dd860526ec..d3e3ec6e1d 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
> @@ -38,7 +38,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_rwlockattr_destroy F
>  GLIBC_2.2 pthread_rwlockattr_getkind_np F
>  GLIBC_2.2 pthread_rwlockattr_getpshared F
>  GLIBC_2.2 pthread_rwlockattr_init F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
> index 189dd55a43..b83ad2db71 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
> @@ -1852,6 +1852,7 @@ GLIBC_2.2 pthread_rwlock_tryrdlock F
>  GLIBC_2.2 pthread_rwlock_trywrlock F
>  GLIBC_2.2 pthread_rwlock_unlock F
>  GLIBC_2.2 pthread_rwlock_wrlock F
> +GLIBC_2.2 pthread_rwlockattr_destroy F
>  GLIBC_2.2 pthread_spin_destroy F
>  GLIBC_2.2 pthread_spin_init F
>  GLIBC_2.2 pthread_spin_lock F
> @@ -2284,6 +2285,7 @@ GLIBC_2.34 pthread_rwlock_tryrdlock F
>  GLIBC_2.34 pthread_rwlock_trywrlock F
>  GLIBC_2.34 pthread_rwlock_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
> +GLIBC_2.34 pthread_rwlockattr_destroy F
>  GLIBC_2.34 pthread_setspecific F
>  GLIBC_2.34 pthread_spin_destroy F
>  GLIBC_2.34 pthread_spin_init F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
> index e6fa79c017..f590d7fc2a 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
> @@ -1848,6 +1848,7 @@ GLIBC_2.2 pthread_rwlock_tryrdlock F
>  GLIBC_2.2 pthread_rwlock_trywrlock F
>  GLIBC_2.2 pthread_rwlock_unlock F
>  GLIBC_2.2 pthread_rwlock_wrlock F
> +GLIBC_2.2 pthread_rwlockattr_destroy F
>  GLIBC_2.2 pthread_spin_destroy F
>  GLIBC_2.2 pthread_spin_init F
>  GLIBC_2.2 pthread_spin_lock F
> @@ -2278,6 +2279,7 @@ GLIBC_2.34 pthread_rwlock_tryrdlock F
>  GLIBC_2.34 pthread_rwlock_trywrlock F
>  GLIBC_2.34 pthread_rwlock_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
> +GLIBC_2.34 pthread_rwlockattr_destroy F
>  GLIBC_2.34 pthread_setspecific F
>  GLIBC_2.34 pthread_spin_destroy F
>  GLIBC_2.34 pthread_spin_init F
> diff --git a/sysdeps/unix/sysv/linux/nios2/libc.abilist b/sysdeps/unix/sysv/linux/nios2/libc.abilist
> index 659332aad1..c63bc2c760 100644
> --- a/sysdeps/unix/sysv/linux/nios2/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/nios2/libc.abilist
> @@ -1558,6 +1558,7 @@ GLIBC_2.21 pthread_rwlock_tryrdlock F
>  GLIBC_2.21 pthread_rwlock_trywrlock F
>  GLIBC_2.21 pthread_rwlock_unlock F
>  GLIBC_2.21 pthread_rwlock_wrlock F
> +GLIBC_2.21 pthread_rwlockattr_destroy F
>  GLIBC_2.21 pthread_self F
>  GLIBC_2.21 pthread_setcancelstate F
>  GLIBC_2.21 pthread_setcanceltype F
> @@ -2334,6 +2335,7 @@ GLIBC_2.34 pthread_rwlock_tryrdlock F
>  GLIBC_2.34 pthread_rwlock_trywrlock F
>  GLIBC_2.34 pthread_rwlock_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
> +GLIBC_2.34 pthread_rwlockattr_destroy F
>  GLIBC_2.34 pthread_setspecific F
>  GLIBC_2.34 pthread_spin_destroy F
>  GLIBC_2.34 pthread_spin_init F
> diff --git a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
> index 954d6a6ce9..00e19b085d 100644
> --- a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
> @@ -33,7 +33,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_rwlockattr_destroy F
>  GLIBC_2.21 pthread_rwlockattr_getkind_np F
>  GLIBC_2.21 pthread_rwlockattr_getpshared F
>  GLIBC_2.21 pthread_rwlockattr_init F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
> index 19d5decb2b..433bdf49cc 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
> @@ -1585,6 +1585,7 @@ GLIBC_2.1 pthread_rwlock_tryrdlock F
>  GLIBC_2.1 pthread_rwlock_trywrlock F
>  GLIBC_2.1 pthread_rwlock_unlock F
>  GLIBC_2.1 pthread_rwlock_wrlock F
> +GLIBC_2.1 pthread_rwlockattr_destroy F
>  GLIBC_2.1 ptsname F
>  GLIBC_2.1 ptsname_r F
>  GLIBC_2.1 putgrent F
> @@ -2342,6 +2343,7 @@ GLIBC_2.34 pthread_rwlock_tryrdlock F
>  GLIBC_2.34 pthread_rwlock_trywrlock F
>  GLIBC_2.34 pthread_rwlock_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
> +GLIBC_2.34 pthread_rwlockattr_destroy F
>  GLIBC_2.34 pthread_setspecific F
>  GLIBC_2.34 pthread_spin_destroy F
>  GLIBC_2.34 pthread_spin_init F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
> index db1e6ae07f..0deffd98ab 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
> @@ -24,7 +24,6 @@ GLIBC_2.1 pthread_attr_setstackaddr F
>  GLIBC_2.1 pthread_attr_setstacksize F
>  GLIBC_2.1 pthread_create F
>  GLIBC_2.1 pthread_getconcurrency F
> -GLIBC_2.1 pthread_rwlockattr_destroy F
>  GLIBC_2.1 pthread_rwlockattr_getkind_np F
>  GLIBC_2.1 pthread_rwlockattr_getpshared F
>  GLIBC_2.1 pthread_rwlockattr_init F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
> index f0d3ec8603..2f59667873 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
> @@ -1585,6 +1585,7 @@ GLIBC_2.1 pthread_rwlock_tryrdlock F
>  GLIBC_2.1 pthread_rwlock_trywrlock F
>  GLIBC_2.1 pthread_rwlock_unlock F
>  GLIBC_2.1 pthread_rwlock_wrlock F
> +GLIBC_2.1 pthread_rwlockattr_destroy F
>  GLIBC_2.1 ptsname F
>  GLIBC_2.1 ptsname_r F
>  GLIBC_2.1 putgrent F
> @@ -2375,6 +2376,7 @@ GLIBC_2.34 pthread_rwlock_tryrdlock F
>  GLIBC_2.34 pthread_rwlock_trywrlock F
>  GLIBC_2.34 pthread_rwlock_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
> +GLIBC_2.34 pthread_rwlockattr_destroy F
>  GLIBC_2.34 pthread_setspecific F
>  GLIBC_2.34 pthread_spin_destroy F
>  GLIBC_2.34 pthread_spin_init F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
> index dec5e3ca8d..424ca2b972 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
> @@ -1430,6 +1430,7 @@ GLIBC_2.3 pthread_rwlock_tryrdlock F
>  GLIBC_2.3 pthread_rwlock_trywrlock F
>  GLIBC_2.3 pthread_rwlock_unlock F
>  GLIBC_2.3 pthread_rwlock_wrlock F
> +GLIBC_2.3 pthread_rwlockattr_destroy F
>  GLIBC_2.3 pthread_self F
>  GLIBC_2.3 pthread_setcancelstate F
>  GLIBC_2.3 pthread_setcanceltype F
> @@ -2196,6 +2197,7 @@ GLIBC_2.34 pthread_rwlock_tryrdlock F
>  GLIBC_2.34 pthread_rwlock_trywrlock F
>  GLIBC_2.34 pthread_rwlock_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
> +GLIBC_2.34 pthread_rwlockattr_destroy F
>  GLIBC_2.34 pthread_setspecific F
>  GLIBC_2.34 pthread_spin_destroy F
>  GLIBC_2.34 pthread_spin_init F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
> index f3f4ebe64a..094ab23990 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
> @@ -51,7 +51,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_rwlockattr_destroy F
>  GLIBC_2.3 pthread_rwlockattr_getkind_np F
>  GLIBC_2.3 pthread_rwlockattr_getpshared F
>  GLIBC_2.3 pthread_rwlockattr_init F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
> index 08269bd380..872f36ff24 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
> @@ -1601,6 +1601,7 @@ GLIBC_2.17 pthread_rwlock_tryrdlock F
>  GLIBC_2.17 pthread_rwlock_trywrlock F
>  GLIBC_2.17 pthread_rwlock_unlock F
>  GLIBC_2.17 pthread_rwlock_wrlock F
> +GLIBC_2.17 pthread_rwlockattr_destroy F
>  GLIBC_2.17 pthread_self F
>  GLIBC_2.17 pthread_setcancelstate F
>  GLIBC_2.17 pthread_setcanceltype F
> @@ -2497,6 +2498,7 @@ GLIBC_2.34 pthread_rwlock_tryrdlock F
>  GLIBC_2.34 pthread_rwlock_trywrlock F
>  GLIBC_2.34 pthread_rwlock_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
> +GLIBC_2.34 pthread_rwlockattr_destroy F
>  GLIBC_2.34 pthread_setspecific F
>  GLIBC_2.34 pthread_spin_destroy F
>  GLIBC_2.34 pthread_spin_init F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
> index 11e21afc40..1415f4c40f 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
> @@ -32,7 +32,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_rwlockattr_destroy F
>  GLIBC_2.17 pthread_rwlockattr_getkind_np F
>  GLIBC_2.17 pthread_rwlockattr_getpshared F
>  GLIBC_2.17 pthread_rwlockattr_init F
> diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
> index 11f173ca7c..38395e4caa 100644
> --- a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
> @@ -1445,6 +1445,7 @@ GLIBC_2.33 pthread_rwlock_tryrdlock F
>  GLIBC_2.33 pthread_rwlock_trywrlock F
>  GLIBC_2.33 pthread_rwlock_unlock F
>  GLIBC_2.33 pthread_rwlock_wrlock F
> +GLIBC_2.33 pthread_rwlockattr_destroy F
>  GLIBC_2.33 pthread_self F
>  GLIBC_2.33 pthread_setcancelstate F
>  GLIBC_2.33 pthread_setcanceltype F
> @@ -2062,6 +2063,7 @@ GLIBC_2.34 pthread_rwlock_tryrdlock F
>  GLIBC_2.34 pthread_rwlock_trywrlock F
>  GLIBC_2.34 pthread_rwlock_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
> +GLIBC_2.34 pthread_rwlockattr_destroy F
>  GLIBC_2.34 pthread_setspecific F
>  GLIBC_2.34 pthread_spin_destroy F
>  GLIBC_2.34 pthread_spin_init F
> diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
> index cde399da81..28e5a34117 100644
> --- a/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
> @@ -47,7 +47,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_rwlockattr_destroy F
>  GLIBC_2.33 pthread_rwlockattr_getkind_np F
>  GLIBC_2.33 pthread_rwlockattr_getpshared F
>  GLIBC_2.33 pthread_rwlockattr_init F
> diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
> index 517414bbe2..ec46479c11 100644
> --- a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
> @@ -1503,6 +1503,7 @@ GLIBC_2.27 pthread_rwlock_tryrdlock F
>  GLIBC_2.27 pthread_rwlock_trywrlock F
>  GLIBC_2.27 pthread_rwlock_unlock F
>  GLIBC_2.27 pthread_rwlock_wrlock F
> +GLIBC_2.27 pthread_rwlockattr_destroy F
>  GLIBC_2.27 pthread_self F
>  GLIBC_2.27 pthread_setcancelstate F
>  GLIBC_2.27 pthread_setcanceltype F
> @@ -2262,6 +2263,7 @@ GLIBC_2.34 pthread_rwlock_tryrdlock F
>  GLIBC_2.34 pthread_rwlock_trywrlock F
>  GLIBC_2.34 pthread_rwlock_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
> +GLIBC_2.34 pthread_rwlockattr_destroy F
>  GLIBC_2.34 pthread_setspecific F
>  GLIBC_2.34 pthread_spin_destroy F
>  GLIBC_2.34 pthread_spin_init F
> diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
> index 8fd09649b6..622f6c3156 100644
> --- a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
> @@ -33,7 +33,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_rwlockattr_destroy F
>  GLIBC_2.27 pthread_rwlockattr_getkind_np F
>  GLIBC_2.27 pthread_rwlockattr_getpshared F
>  GLIBC_2.27 pthread_rwlockattr_init F
> diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
> index 1e6e648de4..4a070a45d4 100644
> --- a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
> @@ -1577,6 +1577,7 @@ GLIBC_2.1 pthread_rwlock_tryrdlock F
>  GLIBC_2.1 pthread_rwlock_trywrlock F
>  GLIBC_2.1 pthread_rwlock_unlock F
>  GLIBC_2.1 pthread_rwlock_wrlock F
> +GLIBC_2.1 pthread_rwlockattr_destroy F
>  GLIBC_2.1 ptsname F
>  GLIBC_2.1 ptsname_r F
>  GLIBC_2.1 putgrent F
> @@ -2340,6 +2341,7 @@ GLIBC_2.34 pthread_rwlock_tryrdlock F
>  GLIBC_2.34 pthread_rwlock_trywrlock F
>  GLIBC_2.34 pthread_rwlock_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
> +GLIBC_2.34 pthread_rwlockattr_destroy F
>  GLIBC_2.34 pthread_setspecific F
>  GLIBC_2.34 pthread_spin_destroy F
>  GLIBC_2.34 pthread_spin_init F
> diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
> index dbbdd159bd..1cd03a263e 100644
> --- a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
> @@ -24,7 +24,6 @@ GLIBC_2.1 pthread_attr_setstackaddr F
>  GLIBC_2.1 pthread_attr_setstacksize F
>  GLIBC_2.1 pthread_create F
>  GLIBC_2.1 pthread_getconcurrency F
> -GLIBC_2.1 pthread_rwlockattr_destroy F
>  GLIBC_2.1 pthread_rwlockattr_getkind_np F
>  GLIBC_2.1 pthread_rwlockattr_getpshared F
>  GLIBC_2.1 pthread_rwlockattr_init F
> diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
> index dd741f5686..bd8ed93bc5 100644
> --- a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
> @@ -1342,6 +1342,7 @@ GLIBC_2.2 pthread_rwlock_tryrdlock F
>  GLIBC_2.2 pthread_rwlock_trywrlock F
>  GLIBC_2.2 pthread_rwlock_unlock F
>  GLIBC_2.2 pthread_rwlock_wrlock F
> +GLIBC_2.2 pthread_rwlockattr_destroy F
>  GLIBC_2.2 pthread_self F
>  GLIBC_2.2 pthread_setcancelstate F
>  GLIBC_2.2 pthread_setcanceltype F
> @@ -2233,6 +2234,7 @@ GLIBC_2.34 pthread_rwlock_tryrdlock F
>  GLIBC_2.34 pthread_rwlock_trywrlock F
>  GLIBC_2.34 pthread_rwlock_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
> +GLIBC_2.34 pthread_rwlockattr_destroy F
>  GLIBC_2.34 pthread_setspecific F
>  GLIBC_2.34 pthread_spin_destroy F
>  GLIBC_2.34 pthread_spin_init F
> diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
> index de35dec9d8..e567c3fa1b 100644
> --- a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
> @@ -31,7 +31,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_rwlockattr_destroy F
>  GLIBC_2.2 pthread_rwlockattr_getkind_np F
>  GLIBC_2.2 pthread_rwlockattr_getpshared F
>  GLIBC_2.2 pthread_rwlockattr_init F
> diff --git a/sysdeps/unix/sysv/linux/sh/be/libc.abilist b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
> index 2cbbfd746b..1eb744b8d6 100644
> --- a/sysdeps/unix/sysv/linux/sh/be/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
> @@ -1328,6 +1328,7 @@ GLIBC_2.2 pthread_rwlock_tryrdlock F
>  GLIBC_2.2 pthread_rwlock_trywrlock F
>  GLIBC_2.2 pthread_rwlock_unlock F
>  GLIBC_2.2 pthread_rwlock_wrlock F
> +GLIBC_2.2 pthread_rwlockattr_destroy F
>  GLIBC_2.2 pthread_self F
>  GLIBC_2.2 pthread_setcancelstate F
>  GLIBC_2.2 pthread_setcanceltype F
> @@ -2202,6 +2203,7 @@ GLIBC_2.34 pthread_rwlock_tryrdlock F
>  GLIBC_2.34 pthread_rwlock_trywrlock F
>  GLIBC_2.34 pthread_rwlock_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
> +GLIBC_2.34 pthread_rwlockattr_destroy F
>  GLIBC_2.34 pthread_setspecific F
>  GLIBC_2.34 pthread_spin_destroy F
>  GLIBC_2.34 pthread_spin_init F
> diff --git a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
> index 7a3432551e..480a0db78c 100644
> --- a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
> @@ -30,7 +30,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_rwlockattr_destroy F
>  GLIBC_2.2 pthread_rwlockattr_getkind_np F
>  GLIBC_2.2 pthread_rwlockattr_getpshared F
>  GLIBC_2.2 pthread_rwlockattr_init F
> diff --git a/sysdeps/unix/sysv/linux/sh/le/libc.abilist b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
> index 0ec36636fd..a53cfbfcf0 100644
> --- a/sysdeps/unix/sysv/linux/sh/le/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
> @@ -1328,6 +1328,7 @@ GLIBC_2.2 pthread_rwlock_tryrdlock F
>  GLIBC_2.2 pthread_rwlock_trywrlock F
>  GLIBC_2.2 pthread_rwlock_unlock F
>  GLIBC_2.2 pthread_rwlock_wrlock F
> +GLIBC_2.2 pthread_rwlockattr_destroy F
>  GLIBC_2.2 pthread_self F
>  GLIBC_2.2 pthread_setcancelstate F
>  GLIBC_2.2 pthread_setcanceltype F
> @@ -2199,6 +2200,7 @@ GLIBC_2.34 pthread_rwlock_tryrdlock F
>  GLIBC_2.34 pthread_rwlock_trywrlock F
>  GLIBC_2.34 pthread_rwlock_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
> +GLIBC_2.34 pthread_rwlockattr_destroy F
>  GLIBC_2.34 pthread_setspecific F
>  GLIBC_2.34 pthread_spin_destroy F
>  GLIBC_2.34 pthread_spin_init F
> diff --git a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
> index 7a3432551e..480a0db78c 100644
> --- a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
> @@ -30,7 +30,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_rwlockattr_destroy F
>  GLIBC_2.2 pthread_rwlockattr_getkind_np F
>  GLIBC_2.2 pthread_rwlockattr_getpshared F
>  GLIBC_2.2 pthread_rwlockattr_init F
> diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
> index 67b12ee201..701a606375 100644
> --- a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
> @@ -1578,6 +1578,7 @@ GLIBC_2.1 pthread_rwlock_tryrdlock F
>  GLIBC_2.1 pthread_rwlock_trywrlock F
>  GLIBC_2.1 pthread_rwlock_unlock F
>  GLIBC_2.1 pthread_rwlock_wrlock F
> +GLIBC_2.1 pthread_rwlockattr_destroy F
>  GLIBC_2.1 ptsname F
>  GLIBC_2.1 ptsname_r F
>  GLIBC_2.1 putgrent F
> @@ -2331,6 +2332,7 @@ GLIBC_2.34 pthread_rwlock_tryrdlock F
>  GLIBC_2.34 pthread_rwlock_trywrlock F
>  GLIBC_2.34 pthread_rwlock_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
> +GLIBC_2.34 pthread_rwlockattr_destroy F
>  GLIBC_2.34 pthread_setspecific F
>  GLIBC_2.34 pthread_spin_destroy F
>  GLIBC_2.34 pthread_spin_init F
> diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
> index ab854bbc77..8cd2286856 100644
> --- a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
> @@ -24,7 +24,6 @@ GLIBC_2.1 pthread_attr_setstackaddr F
>  GLIBC_2.1 pthread_attr_setstacksize F
>  GLIBC_2.1 pthread_create F
>  GLIBC_2.1 pthread_getconcurrency F
> -GLIBC_2.1 pthread_rwlockattr_destroy F
>  GLIBC_2.1 pthread_rwlockattr_getkind_np F
>  GLIBC_2.1 pthread_rwlockattr_getpshared F
>  GLIBC_2.1 pthread_rwlockattr_init F
> diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
> index c529ccc949..d31f26fda2 100644
> --- a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
> @@ -1371,6 +1371,7 @@ GLIBC_2.2 pthread_rwlock_tryrdlock F
>  GLIBC_2.2 pthread_rwlock_trywrlock F
>  GLIBC_2.2 pthread_rwlock_unlock F
>  GLIBC_2.2 pthread_rwlock_wrlock F
> +GLIBC_2.2 pthread_rwlockattr_destroy F
>  GLIBC_2.2 pthread_self F
>  GLIBC_2.2 pthread_setcancelstate F
>  GLIBC_2.2 pthread_setcanceltype F
> @@ -2250,6 +2251,7 @@ GLIBC_2.34 pthread_rwlock_tryrdlock F
>  GLIBC_2.34 pthread_rwlock_trywrlock F
>  GLIBC_2.34 pthread_rwlock_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
> +GLIBC_2.34 pthread_rwlockattr_destroy F
>  GLIBC_2.34 pthread_setspecific F
>  GLIBC_2.34 pthread_spin_destroy F
>  GLIBC_2.34 pthread_spin_init F
> diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
> index 012cab4a86..9d003c3a4b 100644
> --- a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
> @@ -30,7 +30,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_rwlockattr_destroy F
>  GLIBC_2.2 pthread_rwlockattr_getkind_np F
>  GLIBC_2.2 pthread_rwlockattr_getpshared F
>  GLIBC_2.2 pthread_rwlockattr_init F
> diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
> index 550993a4a1..c09f8b6c71 100644
> --- a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
> @@ -1339,6 +1339,7 @@ GLIBC_2.2.5 pthread_rwlock_tryrdlock F
>  GLIBC_2.2.5 pthread_rwlock_trywrlock F
>  GLIBC_2.2.5 pthread_rwlock_unlock F
>  GLIBC_2.2.5 pthread_rwlock_wrlock F
> +GLIBC_2.2.5 pthread_rwlockattr_destroy F
>  GLIBC_2.2.5 pthread_self F
>  GLIBC_2.2.5 pthread_setcancelstate F
>  GLIBC_2.2.5 pthread_setcanceltype F
> @@ -2211,6 +2212,7 @@ GLIBC_2.34 pthread_rwlock_tryrdlock F
>  GLIBC_2.34 pthread_rwlock_trywrlock F
>  GLIBC_2.34 pthread_rwlock_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
> +GLIBC_2.34 pthread_rwlockattr_destroy F
>  GLIBC_2.34 pthread_setspecific F
>  GLIBC_2.34 pthread_spin_destroy F
>  GLIBC_2.34 pthread_spin_init F
> diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
> index 97e5f5ba51..4a16b3a6af 100644
> --- a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
> @@ -30,7 +30,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_rwlockattr_destroy F
>  GLIBC_2.2.5 pthread_rwlockattr_getkind_np F
>  GLIBC_2.2.5 pthread_rwlockattr_getpshared F
>  GLIBC_2.2.5 pthread_rwlockattr_init F
> diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
> index ab5b94842e..016d8df8bd 100644
> --- a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
> @@ -1520,6 +1520,7 @@ GLIBC_2.16 pthread_rwlock_tryrdlock F
>  GLIBC_2.16 pthread_rwlock_trywrlock F
>  GLIBC_2.16 pthread_rwlock_unlock F
>  GLIBC_2.16 pthread_rwlock_wrlock F
> +GLIBC_2.16 pthread_rwlockattr_destroy F
>  GLIBC_2.16 pthread_self F
>  GLIBC_2.16 pthread_setcancelstate F
>  GLIBC_2.16 pthread_setcanceltype F
> @@ -2316,6 +2317,7 @@ GLIBC_2.34 pthread_rwlock_tryrdlock F
>  GLIBC_2.34 pthread_rwlock_trywrlock F
>  GLIBC_2.34 pthread_rwlock_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
> +GLIBC_2.34 pthread_rwlockattr_destroy F
>  GLIBC_2.34 pthread_setspecific F
>  GLIBC_2.34 pthread_spin_destroy F
>  GLIBC_2.34 pthread_spin_init F
> diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
> index a1ce2b26fd..d82d85438a 100644
> --- a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
> @@ -32,7 +32,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_rwlockattr_destroy F
>  GLIBC_2.16 pthread_rwlockattr_getkind_np F
>  GLIBC_2.16 pthread_rwlockattr_getpshared F
>  GLIBC_2.16 pthread_rwlockattr_init F
> 


-- 
Cheers,
Carlos.


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

* Re: [PATCH 10/14] nptl: Move pthread_rwlockattr_getkind_np into libc
  2021-04-23 17:37 ` [PATCH 10/14] nptl: Move pthread_rwlockattr_getkind_np " Florian Weimer via Libc-alpha
@ 2021-05-02 19:38   ` Carlos O'Donell via Libc-alpha
  0 siblings, 0 replies; 30+ messages in thread
From: Carlos O'Donell via Libc-alpha @ 2021-05-02 19:38 UTC (permalink / raw)
  To: Florian Weimer, libc-alpha

On 4/23/21 1:37 PM, Florian Weimer via Libc-alpha wrote:
> The symbol was moved using scripts/move-symbol-to-libc.py.

Tested and reviewed on x86_64 and i686.

LGTM.

Reviewed-by: Carlos O'Donell <carlos@redhat.com>
Tested-by: Carlos O'Donell <carlos@redhat.com>

> ---
>  nptl/Makefile                                         |  2 +-
>  nptl/Versions                                         |  3 ++-
>  nptl/pthread_rwlockattr_getkind_np.c                  | 11 +++++++++--
>  sysdeps/unix/sysv/linux/aarch64/libc.abilist          |  2 ++
>  sysdeps/unix/sysv/linux/aarch64/libpthread.abilist    |  1 -
>  sysdeps/unix/sysv/linux/alpha/libc.abilist            |  2 ++
>  sysdeps/unix/sysv/linux/alpha/libpthread.abilist      |  1 -
>  sysdeps/unix/sysv/linux/arc/libc.abilist              |  2 ++
>  sysdeps/unix/sysv/linux/arc/libpthread.abilist        |  1 -
>  sysdeps/unix/sysv/linux/arm/be/libc.abilist           |  2 ++
>  sysdeps/unix/sysv/linux/arm/be/libpthread.abilist     |  1 -
>  sysdeps/unix/sysv/linux/arm/le/libc.abilist           |  2 ++
>  sysdeps/unix/sysv/linux/arm/le/libpthread.abilist     |  1 -
>  sysdeps/unix/sysv/linux/csky/libc.abilist             |  2 ++
>  sysdeps/unix/sysv/linux/csky/libpthread.abilist       |  1 -
>  sysdeps/unix/sysv/linux/hppa/libc.abilist             |  2 ++
>  sysdeps/unix/sysv/linux/hppa/libpthread.abilist       |  1 -
>  sysdeps/unix/sysv/linux/i386/libc.abilist             |  2 ++
>  sysdeps/unix/sysv/linux/i386/libpthread.abilist       |  1 -
>  sysdeps/unix/sysv/linux/ia64/libc.abilist             |  2 ++
>  sysdeps/unix/sysv/linux/ia64/libpthread.abilist       |  1 -
>  sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist    |  2 ++
>  .../unix/sysv/linux/m68k/coldfire/libpthread.abilist  |  1 -
>  sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist      |  2 ++
>  .../unix/sysv/linux/m68k/m680x0/libpthread.abilist    |  1 -
>  sysdeps/unix/sysv/linux/microblaze/be/libc.abilist    |  2 ++
>  .../unix/sysv/linux/microblaze/be/libpthread.abilist  |  1 -
>  sysdeps/unix/sysv/linux/microblaze/le/libc.abilist    |  2 ++
>  .../unix/sysv/linux/microblaze/le/libpthread.abilist  |  1 -
>  sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist  |  2 ++
>  .../unix/sysv/linux/mips/mips32/libpthread.abilist    |  1 -
>  .../unix/sysv/linux/mips/mips32/nofpu/libc.abilist    |  2 ++
>  .../unix/sysv/linux/mips/mips64/libpthread.abilist    |  1 -
>  sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist  |  2 ++
>  sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist  |  2 ++
>  sysdeps/unix/sysv/linux/nios2/libc.abilist            |  2 ++
>  sysdeps/unix/sysv/linux/nios2/libpthread.abilist      |  1 -
>  .../sysv/linux/powerpc/powerpc32/fpu/libc.abilist     |  2 ++
>  .../sysv/linux/powerpc/powerpc32/libpthread.abilist   |  1 -
>  .../sysv/linux/powerpc/powerpc32/nofpu/libc.abilist   |  2 ++
>  .../unix/sysv/linux/powerpc/powerpc64/be/libc.abilist |  2 ++
>  .../linux/powerpc/powerpc64/be/libpthread.abilist     |  1 -
>  .../unix/sysv/linux/powerpc/powerpc64/le/libc.abilist |  2 ++
>  .../linux/powerpc/powerpc64/le/libpthread.abilist     |  1 -
>  sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist       |  2 ++
>  sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist |  1 -
>  sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist       |  2 ++
>  sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist |  1 -
>  sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist     |  2 ++
>  .../unix/sysv/linux/s390/s390-32/libpthread.abilist   |  1 -
>  sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist     |  2 ++
>  .../unix/sysv/linux/s390/s390-64/libpthread.abilist   |  1 -
>  sysdeps/unix/sysv/linux/sh/be/libc.abilist            |  2 ++
>  sysdeps/unix/sysv/linux/sh/be/libpthread.abilist      |  1 -
>  sysdeps/unix/sysv/linux/sh/le/libc.abilist            |  2 ++
>  sysdeps/unix/sysv/linux/sh/le/libpthread.abilist      |  1 -
>  sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist    |  2 ++
>  .../unix/sysv/linux/sparc/sparc32/libpthread.abilist  |  1 -
>  sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist    |  2 ++
>  .../unix/sysv/linux/sparc/sparc64/libpthread.abilist  |  1 -
>  sysdeps/unix/sysv/linux/x86_64/64/libc.abilist        |  2 ++
>  sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist  |  1 -
>  sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist       |  2 ++
>  sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist |  1 -
>  64 files changed, 76 insertions(+), 33 deletions(-)
> 
> diff --git a/nptl/Makefile b/nptl/Makefile
> index 10456cb99c..86cd7da0f9 100644
> --- a/nptl/Makefile
> +++ b/nptl/Makefile
> @@ -132,6 +132,7 @@ routines = \
>    pthread_rwlock_unlock \
>    pthread_rwlock_wrlock \
>    pthread_rwlockattr_destroy \
> +  pthread_rwlockattr_getkind_np \
>    pthread_self \
>    pthread_setcancelstate \
>    pthread_setcanceltype \
> @@ -187,7 +188,6 @@ libpthread-routines = \
>    pthread_getname \
>    pthread_join \
>    pthread_join_common \
> -  pthread_rwlockattr_getkind_np \
>    pthread_rwlockattr_getpshared \
>    pthread_rwlockattr_init \
>    pthread_rwlockattr_setkind_np \
> diff --git a/nptl/Versions b/nptl/Versions
> index dfdc2dad78..01f7d590a9 100644
> --- a/nptl/Versions
> +++ b/nptl/Versions
> @@ -74,6 +74,7 @@ libc {
>      pthread_rwlock_unlock;
>      pthread_rwlock_wrlock;
>      pthread_rwlockattr_destroy;
> +    pthread_rwlockattr_getkind_np;
>    }
>    GLIBC_2.2 {
>      __pthread_rwlock_destroy;
> @@ -204,6 +205,7 @@ libc {
>      pthread_rwlock_unlock;
>      pthread_rwlock_wrlock;
>      pthread_rwlockattr_destroy;
> +    pthread_rwlockattr_getkind_np;
>      pthread_setspecific;
>      pthread_spin_destroy;
>      pthread_spin_init;
> @@ -294,7 +296,6 @@ libpthread {
>      pthread_attr_setstacksize;
>      pthread_create;
>      pthread_getconcurrency;
> -    pthread_rwlockattr_getkind_np;
>      pthread_rwlockattr_getpshared;
>      pthread_rwlockattr_init;
>      pthread_rwlockattr_setkind_np;
> diff --git a/nptl/pthread_rwlockattr_getkind_np.c b/nptl/pthread_rwlockattr_getkind_np.c
> index 840b3874c2..53cecf5b99 100644
> --- a/nptl/pthread_rwlockattr_getkind_np.c
> +++ b/nptl/pthread_rwlockattr_getkind_np.c
> @@ -17,12 +17,19 @@
>     <https://www.gnu.org/licenses/>.  */
>  
>  #include "pthreadP.h"
> -
> +#include <shlib-compat.h>
>  
>  int
> -pthread_rwlockattr_getkind_np (const pthread_rwlockattr_t *attr, int *pref)
> +__pthread_rwlockattr_getkind_np (const pthread_rwlockattr_t *attr, int *pref)
>  {
>    *pref = ((const struct pthread_rwlockattr *) attr)->lockkind;
>  
>    return 0;
>  }
> +versioned_symbol (libc, __pthread_rwlockattr_getkind_np,
> +                  pthread_rwlockattr_getkind_np, GLIBC_2_34);
> +
> +#if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_1, GLIBC_2_34)
> +compat_symbol (libpthread, __pthread_rwlockattr_getkind_np,
> +               pthread_rwlockattr_getkind_np, GLIBC_2_1);
> +#endif
> diff --git a/sysdeps/unix/sysv/linux/aarch64/libc.abilist b/sysdeps/unix/sysv/linux/aarch64/libc.abilist
> index fa41d5edb7..b709cc514e 100644
> --- a/sysdeps/unix/sysv/linux/aarch64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/aarch64/libc.abilist
> @@ -1514,6 +1514,7 @@ GLIBC_2.17 pthread_rwlock_trywrlock F
>  GLIBC_2.17 pthread_rwlock_unlock F
>  GLIBC_2.17 pthread_rwlock_wrlock F
>  GLIBC_2.17 pthread_rwlockattr_destroy F
> +GLIBC_2.17 pthread_rwlockattr_getkind_np F
>  GLIBC_2.17 pthread_self F
>  GLIBC_2.17 pthread_setcancelstate F
>  GLIBC_2.17 pthread_setcanceltype F
> @@ -2303,6 +2304,7 @@ GLIBC_2.34 pthread_rwlock_trywrlock F
>  GLIBC_2.34 pthread_rwlock_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
>  GLIBC_2.34 pthread_rwlockattr_destroy F
> +GLIBC_2.34 pthread_rwlockattr_getkind_np F
>  GLIBC_2.34 pthread_setspecific F
>  GLIBC_2.34 pthread_spin_destroy F
>  GLIBC_2.34 pthread_spin_init F
> diff --git a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
> index 1415f4c40f..7c1aa12896 100644
> --- a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
> @@ -32,7 +32,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_rwlockattr_getkind_np F
>  GLIBC_2.17 pthread_rwlockattr_getpshared F
>  GLIBC_2.17 pthread_rwlockattr_init F
>  GLIBC_2.17 pthread_rwlockattr_setkind_np F
> diff --git a/sysdeps/unix/sysv/linux/alpha/libc.abilist b/sysdeps/unix/sysv/linux/alpha/libc.abilist
> index e32da83a4e..7f6083a1d6 100644
> --- a/sysdeps/unix/sysv/linux/alpha/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/alpha/libc.abilist
> @@ -1614,6 +1614,7 @@ GLIBC_2.1 pthread_rwlock_trywrlock F
>  GLIBC_2.1 pthread_rwlock_unlock F
>  GLIBC_2.1 pthread_rwlock_wrlock F
>  GLIBC_2.1 pthread_rwlockattr_destroy F
> +GLIBC_2.1 pthread_rwlockattr_getkind_np F
>  GLIBC_2.1 ptsname F
>  GLIBC_2.1 ptsname_r F
>  GLIBC_2.1 putgrent F
> @@ -2384,6 +2385,7 @@ GLIBC_2.34 pthread_rwlock_trywrlock F
>  GLIBC_2.34 pthread_rwlock_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
>  GLIBC_2.34 pthread_rwlockattr_destroy F
> +GLIBC_2.34 pthread_rwlockattr_getkind_np F
>  GLIBC_2.34 pthread_setspecific F
>  GLIBC_2.34 pthread_spin_destroy F
>  GLIBC_2.34 pthread_spin_init F
> diff --git a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
> index 8cd2286856..64316f12de 100644
> --- a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
> @@ -24,7 +24,6 @@ GLIBC_2.1 pthread_attr_setstackaddr F
>  GLIBC_2.1 pthread_attr_setstacksize F
>  GLIBC_2.1 pthread_create F
>  GLIBC_2.1 pthread_getconcurrency F
> -GLIBC_2.1 pthread_rwlockattr_getkind_np F
>  GLIBC_2.1 pthread_rwlockattr_getpshared F
>  GLIBC_2.1 pthread_rwlockattr_init F
>  GLIBC_2.1 pthread_rwlockattr_setkind_np F
> diff --git a/sysdeps/unix/sysv/linux/arc/libc.abilist b/sysdeps/unix/sysv/linux/arc/libc.abilist
> index e022e9c56d..b07db49baa 100644
> --- a/sysdeps/unix/sysv/linux/arc/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/arc/libc.abilist
> @@ -1444,6 +1444,7 @@ GLIBC_2.32 pthread_rwlock_trywrlock F
>  GLIBC_2.32 pthread_rwlock_unlock F
>  GLIBC_2.32 pthread_rwlock_wrlock F
>  GLIBC_2.32 pthread_rwlockattr_destroy F
> +GLIBC_2.32 pthread_rwlockattr_getkind_np F
>  GLIBC_2.32 pthread_self F
>  GLIBC_2.32 pthread_setcancelstate F
>  GLIBC_2.32 pthread_setcanceltype F
> @@ -2062,6 +2063,7 @@ GLIBC_2.34 pthread_rwlock_trywrlock F
>  GLIBC_2.34 pthread_rwlock_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
>  GLIBC_2.34 pthread_rwlockattr_destroy F
> +GLIBC_2.34 pthread_rwlockattr_getkind_np F
>  GLIBC_2.34 pthread_setspecific F
>  GLIBC_2.34 pthread_spin_destroy F
>  GLIBC_2.34 pthread_spin_init F
> diff --git a/sysdeps/unix/sysv/linux/arc/libpthread.abilist b/sysdeps/unix/sysv/linux/arc/libpthread.abilist
> index d0b3e723af..0cf81c597e 100644
> --- a/sysdeps/unix/sysv/linux/arc/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/arc/libpthread.abilist
> @@ -47,7 +47,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_rwlockattr_getkind_np F
>  GLIBC_2.32 pthread_rwlockattr_getpshared F
>  GLIBC_2.32 pthread_rwlockattr_init F
>  GLIBC_2.32 pthread_rwlockattr_setkind_np F
> diff --git a/sysdeps/unix/sysv/linux/arm/be/libc.abilist b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
> index a9e0db7fab..3e41789185 100644
> --- a/sysdeps/unix/sysv/linux/arm/be/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
> @@ -216,6 +216,7 @@ GLIBC_2.34 pthread_rwlock_trywrlock F
>  GLIBC_2.34 pthread_rwlock_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
>  GLIBC_2.34 pthread_rwlockattr_destroy F
> +GLIBC_2.34 pthread_rwlockattr_getkind_np F
>  GLIBC_2.34 pthread_setspecific F
>  GLIBC_2.34 pthread_spin_destroy F
>  GLIBC_2.34 pthread_spin_init F
> @@ -1669,6 +1670,7 @@ GLIBC_2.4 pthread_rwlock_trywrlock F
>  GLIBC_2.4 pthread_rwlock_unlock F
>  GLIBC_2.4 pthread_rwlock_wrlock F
>  GLIBC_2.4 pthread_rwlockattr_destroy F
> +GLIBC_2.4 pthread_rwlockattr_getkind_np F
>  GLIBC_2.4 pthread_self F
>  GLIBC_2.4 pthread_setcancelstate F
>  GLIBC_2.4 pthread_setcanceltype F
> diff --git a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
> index 619ac6f5ef..b1d92ccb14 100644
> --- a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
> @@ -60,7 +60,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_rwlockattr_getkind_np F
>  GLIBC_2.4 pthread_rwlockattr_getpshared F
>  GLIBC_2.4 pthread_rwlockattr_init F
>  GLIBC_2.4 pthread_rwlockattr_setkind_np F
> diff --git a/sysdeps/unix/sysv/linux/arm/le/libc.abilist b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
> index eb5a14c904..a48ea6c97a 100644
> --- a/sysdeps/unix/sysv/linux/arm/le/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
> @@ -213,6 +213,7 @@ GLIBC_2.34 pthread_rwlock_trywrlock F
>  GLIBC_2.34 pthread_rwlock_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
>  GLIBC_2.34 pthread_rwlockattr_destroy F
> +GLIBC_2.34 pthread_rwlockattr_getkind_np F
>  GLIBC_2.34 pthread_setspecific F
>  GLIBC_2.34 pthread_spin_destroy F
>  GLIBC_2.34 pthread_spin_init F
> @@ -1666,6 +1667,7 @@ GLIBC_2.4 pthread_rwlock_trywrlock F
>  GLIBC_2.4 pthread_rwlock_unlock F
>  GLIBC_2.4 pthread_rwlock_wrlock F
>  GLIBC_2.4 pthread_rwlockattr_destroy F
> +GLIBC_2.4 pthread_rwlockattr_getkind_np F
>  GLIBC_2.4 pthread_self F
>  GLIBC_2.4 pthread_setcancelstate F
>  GLIBC_2.4 pthread_setcanceltype F
> diff --git a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
> index 619ac6f5ef..b1d92ccb14 100644
> --- a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
> @@ -60,7 +60,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_rwlockattr_getkind_np F
>  GLIBC_2.4 pthread_rwlockattr_getpshared F
>  GLIBC_2.4 pthread_rwlockattr_init F
>  GLIBC_2.4 pthread_rwlockattr_setkind_np F
> diff --git a/sysdeps/unix/sysv/linux/csky/libc.abilist b/sysdeps/unix/sysv/linux/csky/libc.abilist
> index b544f92eaf..b2f5ce7d52 100644
> --- a/sysdeps/unix/sysv/linux/csky/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/csky/libc.abilist
> @@ -1501,6 +1501,7 @@ GLIBC_2.29 pthread_rwlock_trywrlock F
>  GLIBC_2.29 pthread_rwlock_unlock F
>  GLIBC_2.29 pthread_rwlock_wrlock F
>  GLIBC_2.29 pthread_rwlockattr_destroy F
> +GLIBC_2.29 pthread_rwlockattr_getkind_np F
>  GLIBC_2.29 pthread_self F
>  GLIBC_2.29 pthread_setcancelstate F
>  GLIBC_2.29 pthread_setcanceltype F
> @@ -2246,6 +2247,7 @@ GLIBC_2.34 pthread_rwlock_trywrlock F
>  GLIBC_2.34 pthread_rwlock_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
>  GLIBC_2.34 pthread_rwlockattr_destroy F
> +GLIBC_2.34 pthread_rwlockattr_getkind_np F
>  GLIBC_2.34 pthread_setspecific F
>  GLIBC_2.34 pthread_spin_destroy F
>  GLIBC_2.34 pthread_spin_init F
> diff --git a/sysdeps/unix/sysv/linux/csky/libpthread.abilist b/sysdeps/unix/sysv/linux/csky/libpthread.abilist
> index 563594d37f..b05557e290 100644
> --- a/sysdeps/unix/sysv/linux/csky/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/csky/libpthread.abilist
> @@ -46,7 +46,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_rwlockattr_getkind_np F
>  GLIBC_2.29 pthread_rwlockattr_getpshared F
>  GLIBC_2.29 pthread_rwlockattr_init F
>  GLIBC_2.29 pthread_rwlockattr_setkind_np F
> diff --git a/sysdeps/unix/sysv/linux/hppa/libc.abilist b/sysdeps/unix/sysv/linux/hppa/libc.abilist
> index 7fee07949d..c3c8d72bf3 100644
> --- a/sysdeps/unix/sysv/linux/hppa/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/hppa/libc.abilist
> @@ -1325,6 +1325,7 @@ GLIBC_2.2 pthread_rwlock_trywrlock F
>  GLIBC_2.2 pthread_rwlock_unlock F
>  GLIBC_2.2 pthread_rwlock_wrlock F
>  GLIBC_2.2 pthread_rwlockattr_destroy F
> +GLIBC_2.2 pthread_rwlockattr_getkind_np F
>  GLIBC_2.2 pthread_self F
>  GLIBC_2.2 pthread_setcancelstate F
>  GLIBC_2.2 pthread_setcanceltype F
> @@ -2197,6 +2198,7 @@ GLIBC_2.34 pthread_rwlock_trywrlock F
>  GLIBC_2.34 pthread_rwlock_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
>  GLIBC_2.34 pthread_rwlockattr_destroy F
> +GLIBC_2.34 pthread_rwlockattr_getkind_np F
>  GLIBC_2.34 pthread_setspecific F
>  GLIBC_2.34 pthread_spin_destroy F
>  GLIBC_2.34 pthread_spin_init F
> diff --git a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
> index 480a0db78c..84154ef796 100644
> --- a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
> @@ -30,7 +30,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_rwlockattr_getkind_np F
>  GLIBC_2.2 pthread_rwlockattr_getpshared F
>  GLIBC_2.2 pthread_rwlockattr_init F
>  GLIBC_2.2 pthread_rwlockattr_setkind_np F
> diff --git a/sysdeps/unix/sysv/linux/i386/libc.abilist b/sysdeps/unix/sysv/linux/i386/libc.abilist
> index 7a6f4b1673..f3dd46694d 100644
> --- a/sysdeps/unix/sysv/linux/i386/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/i386/libc.abilist
> @@ -1582,6 +1582,7 @@ GLIBC_2.1 pthread_rwlock_trywrlock F
>  GLIBC_2.1 pthread_rwlock_unlock F
>  GLIBC_2.1 pthread_rwlock_wrlock F
>  GLIBC_2.1 pthread_rwlockattr_destroy F
> +GLIBC_2.1 pthread_rwlockattr_getkind_np F
>  GLIBC_2.1 ptsname F
>  GLIBC_2.1 ptsname_r F
>  GLIBC_2.1 putgrent F
> @@ -2374,6 +2375,7 @@ GLIBC_2.34 pthread_rwlock_trywrlock F
>  GLIBC_2.34 pthread_rwlock_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
>  GLIBC_2.34 pthread_rwlockattr_destroy F
> +GLIBC_2.34 pthread_rwlockattr_getkind_np F
>  GLIBC_2.34 pthread_setspecific F
>  GLIBC_2.34 pthread_spin_destroy F
>  GLIBC_2.34 pthread_spin_init F
> diff --git a/sysdeps/unix/sysv/linux/i386/libpthread.abilist b/sysdeps/unix/sysv/linux/i386/libpthread.abilist
> index f33d710837..a1b95e75e4 100644
> --- a/sysdeps/unix/sysv/linux/i386/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/i386/libpthread.abilist
> @@ -24,7 +24,6 @@ GLIBC_2.1 pthread_attr_setstackaddr F
>  GLIBC_2.1 pthread_attr_setstacksize F
>  GLIBC_2.1 pthread_create F
>  GLIBC_2.1 pthread_getconcurrency F
> -GLIBC_2.1 pthread_rwlockattr_getkind_np F
>  GLIBC_2.1 pthread_rwlockattr_getpshared F
>  GLIBC_2.1 pthread_rwlockattr_init F
>  GLIBC_2.1 pthread_rwlockattr_setkind_np F
> diff --git a/sysdeps/unix/sysv/linux/ia64/libc.abilist b/sysdeps/unix/sysv/linux/ia64/libc.abilist
> index 6f31faf03c..72cd50c7ec 100644
> --- a/sysdeps/unix/sysv/linux/ia64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/ia64/libc.abilist
> @@ -1346,6 +1346,7 @@ GLIBC_2.2 pthread_rwlock_trywrlock F
>  GLIBC_2.2 pthread_rwlock_unlock F
>  GLIBC_2.2 pthread_rwlock_wrlock F
>  GLIBC_2.2 pthread_rwlockattr_destroy F
> +GLIBC_2.2 pthread_rwlockattr_getkind_np F
>  GLIBC_2.2 pthread_self F
>  GLIBC_2.2 pthread_setcancelstate F
>  GLIBC_2.2 pthread_setcanceltype F
> @@ -2231,6 +2232,7 @@ GLIBC_2.34 pthread_rwlock_trywrlock F
>  GLIBC_2.34 pthread_rwlock_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
>  GLIBC_2.34 pthread_rwlockattr_destroy F
> +GLIBC_2.34 pthread_rwlockattr_getkind_np F
>  GLIBC_2.34 pthread_setspecific F
>  GLIBC_2.34 pthread_spin_destroy F
>  GLIBC_2.34 pthread_spin_init F
> diff --git a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
> index 9d003c3a4b..8ede4b3f59 100644
> --- a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
> @@ -30,7 +30,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_rwlockattr_getkind_np F
>  GLIBC_2.2 pthread_rwlockattr_getpshared F
>  GLIBC_2.2 pthread_rwlockattr_init F
>  GLIBC_2.2 pthread_rwlockattr_setkind_np F
> diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
> index e0ff4bd8b3..c00daf02c4 100644
> --- a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
> @@ -217,6 +217,7 @@ GLIBC_2.34 pthread_rwlock_trywrlock F
>  GLIBC_2.34 pthread_rwlock_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
>  GLIBC_2.34 pthread_rwlockattr_destroy F
> +GLIBC_2.34 pthread_rwlockattr_getkind_np F
>  GLIBC_2.34 pthread_setspecific F
>  GLIBC_2.34 pthread_spin_destroy F
>  GLIBC_2.34 pthread_spin_init F
> @@ -1649,6 +1650,7 @@ GLIBC_2.4 pthread_rwlock_trywrlock F
>  GLIBC_2.4 pthread_rwlock_unlock F
>  GLIBC_2.4 pthread_rwlock_wrlock F
>  GLIBC_2.4 pthread_rwlockattr_destroy F
> +GLIBC_2.4 pthread_rwlockattr_getkind_np F
>  GLIBC_2.4 pthread_self F
>  GLIBC_2.4 pthread_setcancelstate F
>  GLIBC_2.4 pthread_setcanceltype F
> diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
> index 619ac6f5ef..b1d92ccb14 100644
> --- a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
> @@ -60,7 +60,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_rwlockattr_getkind_np F
>  GLIBC_2.4 pthread_rwlockattr_getpshared F
>  GLIBC_2.4 pthread_rwlockattr_init F
>  GLIBC_2.4 pthread_rwlockattr_setkind_np F
> diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
> index 16a4650d2d..833e56d670 100644
> --- a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
> @@ -1578,6 +1578,7 @@ GLIBC_2.1 pthread_rwlock_trywrlock F
>  GLIBC_2.1 pthread_rwlock_unlock F
>  GLIBC_2.1 pthread_rwlock_wrlock F
>  GLIBC_2.1 pthread_rwlockattr_destroy F
> +GLIBC_2.1 pthread_rwlockattr_getkind_np F
>  GLIBC_2.1 ptsname F
>  GLIBC_2.1 ptsname_r F
>  GLIBC_2.1 putgrent F
> @@ -2317,6 +2318,7 @@ GLIBC_2.34 pthread_rwlock_trywrlock F
>  GLIBC_2.34 pthread_rwlock_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
>  GLIBC_2.34 pthread_rwlockattr_destroy F
> +GLIBC_2.34 pthread_rwlockattr_getkind_np F
>  GLIBC_2.34 pthread_setspecific F
>  GLIBC_2.34 pthread_spin_destroy F
>  GLIBC_2.34 pthread_spin_init F
> diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
> index f33d710837..a1b95e75e4 100644
> --- a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
> @@ -24,7 +24,6 @@ GLIBC_2.1 pthread_attr_setstackaddr F
>  GLIBC_2.1 pthread_attr_setstacksize F
>  GLIBC_2.1 pthread_create F
>  GLIBC_2.1 pthread_getconcurrency F
> -GLIBC_2.1 pthread_rwlockattr_getkind_np F
>  GLIBC_2.1 pthread_rwlockattr_getpshared F
>  GLIBC_2.1 pthread_rwlockattr_init F
>  GLIBC_2.1 pthread_rwlockattr_setkind_np F
> diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
> index a20737e513..c9a070f967 100644
> --- a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
> @@ -1516,6 +1516,7 @@ GLIBC_2.18 pthread_rwlock_trywrlock F
>  GLIBC_2.18 pthread_rwlock_unlock F
>  GLIBC_2.18 pthread_rwlock_wrlock F
>  GLIBC_2.18 pthread_rwlockattr_destroy F
> +GLIBC_2.18 pthread_rwlockattr_getkind_np F
>  GLIBC_2.18 pthread_self F
>  GLIBC_2.18 pthread_setcancelstate F
>  GLIBC_2.18 pthread_setcanceltype F
> @@ -2297,6 +2298,7 @@ GLIBC_2.34 pthread_rwlock_trywrlock F
>  GLIBC_2.34 pthread_rwlock_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
>  GLIBC_2.34 pthread_rwlockattr_destroy F
> +GLIBC_2.34 pthread_rwlockattr_getkind_np F
>  GLIBC_2.34 pthread_setspecific F
>  GLIBC_2.34 pthread_spin_destroy F
>  GLIBC_2.34 pthread_spin_init F
> diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
> index 72a5377377..ef826e17b3 100644
> --- a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
> @@ -33,7 +33,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_rwlockattr_getkind_np F
>  GLIBC_2.18 pthread_rwlockattr_getpshared F
>  GLIBC_2.18 pthread_rwlockattr_init F
>  GLIBC_2.18 pthread_rwlockattr_setkind_np F
> diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
> index f9feb17895..3ea9d59892 100644
> --- a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
> @@ -1516,6 +1516,7 @@ GLIBC_2.18 pthread_rwlock_trywrlock F
>  GLIBC_2.18 pthread_rwlock_unlock F
>  GLIBC_2.18 pthread_rwlock_wrlock F
>  GLIBC_2.18 pthread_rwlockattr_destroy F
> +GLIBC_2.18 pthread_rwlockattr_getkind_np F
>  GLIBC_2.18 pthread_self F
>  GLIBC_2.18 pthread_setcancelstate F
>  GLIBC_2.18 pthread_setcanceltype F
> @@ -2294,6 +2295,7 @@ GLIBC_2.34 pthread_rwlock_trywrlock F
>  GLIBC_2.34 pthread_rwlock_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
>  GLIBC_2.34 pthread_rwlockattr_destroy F
> +GLIBC_2.34 pthread_rwlockattr_getkind_np F
>  GLIBC_2.34 pthread_setspecific F
>  GLIBC_2.34 pthread_spin_destroy F
>  GLIBC_2.34 pthread_spin_init F
> diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
> index 72a5377377..ef826e17b3 100644
> --- a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
> @@ -33,7 +33,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_rwlockattr_getkind_np F
>  GLIBC_2.18 pthread_rwlockattr_getpshared F
>  GLIBC_2.18 pthread_rwlockattr_init F
>  GLIBC_2.18 pthread_rwlockattr_setkind_np F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
> index e0c3fdf71f..f831cebc4a 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
> @@ -1855,6 +1855,7 @@ GLIBC_2.2 pthread_rwlock_trywrlock F
>  GLIBC_2.2 pthread_rwlock_unlock F
>  GLIBC_2.2 pthread_rwlock_wrlock F
>  GLIBC_2.2 pthread_rwlockattr_destroy F
> +GLIBC_2.2 pthread_rwlockattr_getkind_np F
>  GLIBC_2.2 pthread_spin_destroy F
>  GLIBC_2.2 pthread_spin_init F
>  GLIBC_2.2 pthread_spin_lock F
> @@ -2280,6 +2281,7 @@ GLIBC_2.34 pthread_rwlock_trywrlock F
>  GLIBC_2.34 pthread_rwlock_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
>  GLIBC_2.34 pthread_rwlockattr_destroy F
> +GLIBC_2.34 pthread_rwlockattr_getkind_np F
>  GLIBC_2.34 pthread_setspecific F
>  GLIBC_2.34 pthread_spin_destroy F
>  GLIBC_2.34 pthread_spin_init F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
> index d3e3ec6e1d..2bcaf1bc61 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
> @@ -38,7 +38,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_rwlockattr_getkind_np F
>  GLIBC_2.2 pthread_rwlockattr_getpshared F
>  GLIBC_2.2 pthread_rwlockattr_init F
>  GLIBC_2.2 pthread_rwlockattr_setkind_np F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
> index 624e34a5ab..038cad09d9 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
> @@ -1853,6 +1853,7 @@ GLIBC_2.2 pthread_rwlock_trywrlock F
>  GLIBC_2.2 pthread_rwlock_unlock F
>  GLIBC_2.2 pthread_rwlock_wrlock F
>  GLIBC_2.2 pthread_rwlockattr_destroy F
> +GLIBC_2.2 pthread_rwlockattr_getkind_np F
>  GLIBC_2.2 pthread_spin_destroy F
>  GLIBC_2.2 pthread_spin_init F
>  GLIBC_2.2 pthread_spin_lock F
> @@ -2278,6 +2279,7 @@ GLIBC_2.34 pthread_rwlock_trywrlock F
>  GLIBC_2.34 pthread_rwlock_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
>  GLIBC_2.34 pthread_rwlockattr_destroy F
> +GLIBC_2.34 pthread_rwlockattr_getkind_np F
>  GLIBC_2.34 pthread_setspecific F
>  GLIBC_2.34 pthread_spin_destroy F
>  GLIBC_2.34 pthread_spin_init F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
> index d3e3ec6e1d..2bcaf1bc61 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
> @@ -38,7 +38,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_rwlockattr_getkind_np F
>  GLIBC_2.2 pthread_rwlockattr_getpshared F
>  GLIBC_2.2 pthread_rwlockattr_init F
>  GLIBC_2.2 pthread_rwlockattr_setkind_np F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
> index b83ad2db71..2c92a0fe8e 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
> @@ -1853,6 +1853,7 @@ GLIBC_2.2 pthread_rwlock_trywrlock F
>  GLIBC_2.2 pthread_rwlock_unlock F
>  GLIBC_2.2 pthread_rwlock_wrlock F
>  GLIBC_2.2 pthread_rwlockattr_destroy F
> +GLIBC_2.2 pthread_rwlockattr_getkind_np F
>  GLIBC_2.2 pthread_spin_destroy F
>  GLIBC_2.2 pthread_spin_init F
>  GLIBC_2.2 pthread_spin_lock F
> @@ -2286,6 +2287,7 @@ GLIBC_2.34 pthread_rwlock_trywrlock F
>  GLIBC_2.34 pthread_rwlock_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
>  GLIBC_2.34 pthread_rwlockattr_destroy F
> +GLIBC_2.34 pthread_rwlockattr_getkind_np F
>  GLIBC_2.34 pthread_setspecific F
>  GLIBC_2.34 pthread_spin_destroy F
>  GLIBC_2.34 pthread_spin_init F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
> index f590d7fc2a..e71a468aa6 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
> @@ -1849,6 +1849,7 @@ GLIBC_2.2 pthread_rwlock_trywrlock F
>  GLIBC_2.2 pthread_rwlock_unlock F
>  GLIBC_2.2 pthread_rwlock_wrlock F
>  GLIBC_2.2 pthread_rwlockattr_destroy F
> +GLIBC_2.2 pthread_rwlockattr_getkind_np F
>  GLIBC_2.2 pthread_spin_destroy F
>  GLIBC_2.2 pthread_spin_init F
>  GLIBC_2.2 pthread_spin_lock F
> @@ -2280,6 +2281,7 @@ GLIBC_2.34 pthread_rwlock_trywrlock F
>  GLIBC_2.34 pthread_rwlock_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
>  GLIBC_2.34 pthread_rwlockattr_destroy F
> +GLIBC_2.34 pthread_rwlockattr_getkind_np F
>  GLIBC_2.34 pthread_setspecific F
>  GLIBC_2.34 pthread_spin_destroy F
>  GLIBC_2.34 pthread_spin_init F
> diff --git a/sysdeps/unix/sysv/linux/nios2/libc.abilist b/sysdeps/unix/sysv/linux/nios2/libc.abilist
> index c63bc2c760..bbc6f578fc 100644
> --- a/sysdeps/unix/sysv/linux/nios2/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/nios2/libc.abilist
> @@ -1559,6 +1559,7 @@ GLIBC_2.21 pthread_rwlock_trywrlock F
>  GLIBC_2.21 pthread_rwlock_unlock F
>  GLIBC_2.21 pthread_rwlock_wrlock F
>  GLIBC_2.21 pthread_rwlockattr_destroy F
> +GLIBC_2.21 pthread_rwlockattr_getkind_np F
>  GLIBC_2.21 pthread_self F
>  GLIBC_2.21 pthread_setcancelstate F
>  GLIBC_2.21 pthread_setcanceltype F
> @@ -2336,6 +2337,7 @@ GLIBC_2.34 pthread_rwlock_trywrlock F
>  GLIBC_2.34 pthread_rwlock_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
>  GLIBC_2.34 pthread_rwlockattr_destroy F
> +GLIBC_2.34 pthread_rwlockattr_getkind_np F
>  GLIBC_2.34 pthread_setspecific F
>  GLIBC_2.34 pthread_spin_destroy F
>  GLIBC_2.34 pthread_spin_init F
> diff --git a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
> index 00e19b085d..27344b0e1d 100644
> --- a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
> @@ -33,7 +33,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_rwlockattr_getkind_np F
>  GLIBC_2.21 pthread_rwlockattr_getpshared F
>  GLIBC_2.21 pthread_rwlockattr_init F
>  GLIBC_2.21 pthread_rwlockattr_setkind_np F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
> index 433bdf49cc..4c58fc3981 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
> @@ -1586,6 +1586,7 @@ GLIBC_2.1 pthread_rwlock_trywrlock F
>  GLIBC_2.1 pthread_rwlock_unlock F
>  GLIBC_2.1 pthread_rwlock_wrlock F
>  GLIBC_2.1 pthread_rwlockattr_destroy F
> +GLIBC_2.1 pthread_rwlockattr_getkind_np F
>  GLIBC_2.1 ptsname F
>  GLIBC_2.1 ptsname_r F
>  GLIBC_2.1 putgrent F
> @@ -2344,6 +2345,7 @@ GLIBC_2.34 pthread_rwlock_trywrlock F
>  GLIBC_2.34 pthread_rwlock_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
>  GLIBC_2.34 pthread_rwlockattr_destroy F
> +GLIBC_2.34 pthread_rwlockattr_getkind_np F
>  GLIBC_2.34 pthread_setspecific F
>  GLIBC_2.34 pthread_spin_destroy F
>  GLIBC_2.34 pthread_spin_init F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
> index 0deffd98ab..73b5f25b96 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
> @@ -24,7 +24,6 @@ GLIBC_2.1 pthread_attr_setstackaddr F
>  GLIBC_2.1 pthread_attr_setstacksize F
>  GLIBC_2.1 pthread_create F
>  GLIBC_2.1 pthread_getconcurrency F
> -GLIBC_2.1 pthread_rwlockattr_getkind_np F
>  GLIBC_2.1 pthread_rwlockattr_getpshared F
>  GLIBC_2.1 pthread_rwlockattr_init F
>  GLIBC_2.1 pthread_rwlockattr_setkind_np F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
> index 2f59667873..5209786002 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
> @@ -1586,6 +1586,7 @@ GLIBC_2.1 pthread_rwlock_trywrlock F
>  GLIBC_2.1 pthread_rwlock_unlock F
>  GLIBC_2.1 pthread_rwlock_wrlock F
>  GLIBC_2.1 pthread_rwlockattr_destroy F
> +GLIBC_2.1 pthread_rwlockattr_getkind_np F
>  GLIBC_2.1 ptsname F
>  GLIBC_2.1 ptsname_r F
>  GLIBC_2.1 putgrent F
> @@ -2377,6 +2378,7 @@ GLIBC_2.34 pthread_rwlock_trywrlock F
>  GLIBC_2.34 pthread_rwlock_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
>  GLIBC_2.34 pthread_rwlockattr_destroy F
> +GLIBC_2.34 pthread_rwlockattr_getkind_np F
>  GLIBC_2.34 pthread_setspecific F
>  GLIBC_2.34 pthread_spin_destroy F
>  GLIBC_2.34 pthread_spin_init F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
> index 424ca2b972..4d43ea86b8 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
> @@ -1431,6 +1431,7 @@ GLIBC_2.3 pthread_rwlock_trywrlock F
>  GLIBC_2.3 pthread_rwlock_unlock F
>  GLIBC_2.3 pthread_rwlock_wrlock F
>  GLIBC_2.3 pthread_rwlockattr_destroy F
> +GLIBC_2.3 pthread_rwlockattr_getkind_np F
>  GLIBC_2.3 pthread_self F
>  GLIBC_2.3 pthread_setcancelstate F
>  GLIBC_2.3 pthread_setcanceltype F
> @@ -2198,6 +2199,7 @@ GLIBC_2.34 pthread_rwlock_trywrlock F
>  GLIBC_2.34 pthread_rwlock_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
>  GLIBC_2.34 pthread_rwlockattr_destroy F
> +GLIBC_2.34 pthread_rwlockattr_getkind_np F
>  GLIBC_2.34 pthread_setspecific F
>  GLIBC_2.34 pthread_spin_destroy F
>  GLIBC_2.34 pthread_spin_init F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
> index 094ab23990..1f07235c43 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
> @@ -51,7 +51,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_rwlockattr_getkind_np F
>  GLIBC_2.3 pthread_rwlockattr_getpshared F
>  GLIBC_2.3 pthread_rwlockattr_init F
>  GLIBC_2.3 pthread_rwlockattr_setkind_np F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
> index 872f36ff24..9d9dd2992f 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
> @@ -1602,6 +1602,7 @@ GLIBC_2.17 pthread_rwlock_trywrlock F
>  GLIBC_2.17 pthread_rwlock_unlock F
>  GLIBC_2.17 pthread_rwlock_wrlock F
>  GLIBC_2.17 pthread_rwlockattr_destroy F
> +GLIBC_2.17 pthread_rwlockattr_getkind_np F
>  GLIBC_2.17 pthread_self F
>  GLIBC_2.17 pthread_setcancelstate F
>  GLIBC_2.17 pthread_setcanceltype F
> @@ -2499,6 +2500,7 @@ GLIBC_2.34 pthread_rwlock_trywrlock F
>  GLIBC_2.34 pthread_rwlock_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
>  GLIBC_2.34 pthread_rwlockattr_destroy F
> +GLIBC_2.34 pthread_rwlockattr_getkind_np F
>  GLIBC_2.34 pthread_setspecific F
>  GLIBC_2.34 pthread_spin_destroy F
>  GLIBC_2.34 pthread_spin_init F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
> index 1415f4c40f..7c1aa12896 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
> @@ -32,7 +32,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_rwlockattr_getkind_np F
>  GLIBC_2.17 pthread_rwlockattr_getpshared F
>  GLIBC_2.17 pthread_rwlockattr_init F
>  GLIBC_2.17 pthread_rwlockattr_setkind_np F
> diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
> index 38395e4caa..559e0f8c6c 100644
> --- a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
> @@ -1446,6 +1446,7 @@ GLIBC_2.33 pthread_rwlock_trywrlock F
>  GLIBC_2.33 pthread_rwlock_unlock F
>  GLIBC_2.33 pthread_rwlock_wrlock F
>  GLIBC_2.33 pthread_rwlockattr_destroy F
> +GLIBC_2.33 pthread_rwlockattr_getkind_np F
>  GLIBC_2.33 pthread_self F
>  GLIBC_2.33 pthread_setcancelstate F
>  GLIBC_2.33 pthread_setcanceltype F
> @@ -2064,6 +2065,7 @@ GLIBC_2.34 pthread_rwlock_trywrlock F
>  GLIBC_2.34 pthread_rwlock_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
>  GLIBC_2.34 pthread_rwlockattr_destroy F
> +GLIBC_2.34 pthread_rwlockattr_getkind_np F
>  GLIBC_2.34 pthread_setspecific F
>  GLIBC_2.34 pthread_spin_destroy F
>  GLIBC_2.34 pthread_spin_init F
> diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
> index 28e5a34117..e34c755922 100644
> --- a/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
> @@ -47,7 +47,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_rwlockattr_getkind_np F
>  GLIBC_2.33 pthread_rwlockattr_getpshared F
>  GLIBC_2.33 pthread_rwlockattr_init F
>  GLIBC_2.33 pthread_rwlockattr_setkind_np F
> diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
> index ec46479c11..df48f0831b 100644
> --- a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
> @@ -1504,6 +1504,7 @@ GLIBC_2.27 pthread_rwlock_trywrlock F
>  GLIBC_2.27 pthread_rwlock_unlock F
>  GLIBC_2.27 pthread_rwlock_wrlock F
>  GLIBC_2.27 pthread_rwlockattr_destroy F
> +GLIBC_2.27 pthread_rwlockattr_getkind_np F
>  GLIBC_2.27 pthread_self F
>  GLIBC_2.27 pthread_setcancelstate F
>  GLIBC_2.27 pthread_setcanceltype F
> @@ -2264,6 +2265,7 @@ GLIBC_2.34 pthread_rwlock_trywrlock F
>  GLIBC_2.34 pthread_rwlock_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
>  GLIBC_2.34 pthread_rwlockattr_destroy F
> +GLIBC_2.34 pthread_rwlockattr_getkind_np F
>  GLIBC_2.34 pthread_setspecific F
>  GLIBC_2.34 pthread_spin_destroy F
>  GLIBC_2.34 pthread_spin_init F
> diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
> index 622f6c3156..e64db22a41 100644
> --- a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
> @@ -33,7 +33,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_rwlockattr_getkind_np F
>  GLIBC_2.27 pthread_rwlockattr_getpshared F
>  GLIBC_2.27 pthread_rwlockattr_init F
>  GLIBC_2.27 pthread_rwlockattr_setkind_np F
> diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
> index 4a070a45d4..84cbdd978e 100644
> --- a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
> @@ -1578,6 +1578,7 @@ GLIBC_2.1 pthread_rwlock_trywrlock F
>  GLIBC_2.1 pthread_rwlock_unlock F
>  GLIBC_2.1 pthread_rwlock_wrlock F
>  GLIBC_2.1 pthread_rwlockattr_destroy F
> +GLIBC_2.1 pthread_rwlockattr_getkind_np F
>  GLIBC_2.1 ptsname F
>  GLIBC_2.1 ptsname_r F
>  GLIBC_2.1 putgrent F
> @@ -2342,6 +2343,7 @@ GLIBC_2.34 pthread_rwlock_trywrlock F
>  GLIBC_2.34 pthread_rwlock_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
>  GLIBC_2.34 pthread_rwlockattr_destroy F
> +GLIBC_2.34 pthread_rwlockattr_getkind_np F
>  GLIBC_2.34 pthread_setspecific F
>  GLIBC_2.34 pthread_spin_destroy F
>  GLIBC_2.34 pthread_spin_init F
> diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
> index 1cd03a263e..a2b97cf168 100644
> --- a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
> @@ -24,7 +24,6 @@ GLIBC_2.1 pthread_attr_setstackaddr F
>  GLIBC_2.1 pthread_attr_setstacksize F
>  GLIBC_2.1 pthread_create F
>  GLIBC_2.1 pthread_getconcurrency F
> -GLIBC_2.1 pthread_rwlockattr_getkind_np F
>  GLIBC_2.1 pthread_rwlockattr_getpshared F
>  GLIBC_2.1 pthread_rwlockattr_init F
>  GLIBC_2.1 pthread_rwlockattr_setkind_np F
> diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
> index bd8ed93bc5..6ff4976362 100644
> --- a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
> @@ -1343,6 +1343,7 @@ GLIBC_2.2 pthread_rwlock_trywrlock F
>  GLIBC_2.2 pthread_rwlock_unlock F
>  GLIBC_2.2 pthread_rwlock_wrlock F
>  GLIBC_2.2 pthread_rwlockattr_destroy F
> +GLIBC_2.2 pthread_rwlockattr_getkind_np F
>  GLIBC_2.2 pthread_self F
>  GLIBC_2.2 pthread_setcancelstate F
>  GLIBC_2.2 pthread_setcanceltype F
> @@ -2235,6 +2236,7 @@ GLIBC_2.34 pthread_rwlock_trywrlock F
>  GLIBC_2.34 pthread_rwlock_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
>  GLIBC_2.34 pthread_rwlockattr_destroy F
> +GLIBC_2.34 pthread_rwlockattr_getkind_np F
>  GLIBC_2.34 pthread_setspecific F
>  GLIBC_2.34 pthread_spin_destroy F
>  GLIBC_2.34 pthread_spin_init F
> diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
> index e567c3fa1b..3f56ea109e 100644
> --- a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
> @@ -31,7 +31,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_rwlockattr_getkind_np F
>  GLIBC_2.2 pthread_rwlockattr_getpshared F
>  GLIBC_2.2 pthread_rwlockattr_init F
>  GLIBC_2.2 pthread_rwlockattr_setkind_np F
> diff --git a/sysdeps/unix/sysv/linux/sh/be/libc.abilist b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
> index 1eb744b8d6..919634c280 100644
> --- a/sysdeps/unix/sysv/linux/sh/be/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
> @@ -1329,6 +1329,7 @@ GLIBC_2.2 pthread_rwlock_trywrlock F
>  GLIBC_2.2 pthread_rwlock_unlock F
>  GLIBC_2.2 pthread_rwlock_wrlock F
>  GLIBC_2.2 pthread_rwlockattr_destroy F
> +GLIBC_2.2 pthread_rwlockattr_getkind_np F
>  GLIBC_2.2 pthread_self F
>  GLIBC_2.2 pthread_setcancelstate F
>  GLIBC_2.2 pthread_setcanceltype F
> @@ -2204,6 +2205,7 @@ GLIBC_2.34 pthread_rwlock_trywrlock F
>  GLIBC_2.34 pthread_rwlock_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
>  GLIBC_2.34 pthread_rwlockattr_destroy F
> +GLIBC_2.34 pthread_rwlockattr_getkind_np F
>  GLIBC_2.34 pthread_setspecific F
>  GLIBC_2.34 pthread_spin_destroy F
>  GLIBC_2.34 pthread_spin_init F
> diff --git a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
> index 480a0db78c..84154ef796 100644
> --- a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
> @@ -30,7 +30,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_rwlockattr_getkind_np F
>  GLIBC_2.2 pthread_rwlockattr_getpshared F
>  GLIBC_2.2 pthread_rwlockattr_init F
>  GLIBC_2.2 pthread_rwlockattr_setkind_np F
> diff --git a/sysdeps/unix/sysv/linux/sh/le/libc.abilist b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
> index a53cfbfcf0..4cd67df38b 100644
> --- a/sysdeps/unix/sysv/linux/sh/le/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
> @@ -1329,6 +1329,7 @@ GLIBC_2.2 pthread_rwlock_trywrlock F
>  GLIBC_2.2 pthread_rwlock_unlock F
>  GLIBC_2.2 pthread_rwlock_wrlock F
>  GLIBC_2.2 pthread_rwlockattr_destroy F
> +GLIBC_2.2 pthread_rwlockattr_getkind_np F
>  GLIBC_2.2 pthread_self F
>  GLIBC_2.2 pthread_setcancelstate F
>  GLIBC_2.2 pthread_setcanceltype F
> @@ -2201,6 +2202,7 @@ GLIBC_2.34 pthread_rwlock_trywrlock F
>  GLIBC_2.34 pthread_rwlock_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
>  GLIBC_2.34 pthread_rwlockattr_destroy F
> +GLIBC_2.34 pthread_rwlockattr_getkind_np F
>  GLIBC_2.34 pthread_setspecific F
>  GLIBC_2.34 pthread_spin_destroy F
>  GLIBC_2.34 pthread_spin_init F
> diff --git a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
> index 480a0db78c..84154ef796 100644
> --- a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
> @@ -30,7 +30,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_rwlockattr_getkind_np F
>  GLIBC_2.2 pthread_rwlockattr_getpshared F
>  GLIBC_2.2 pthread_rwlockattr_init F
>  GLIBC_2.2 pthread_rwlockattr_setkind_np F
> diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
> index 701a606375..361ed1ac06 100644
> --- a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
> @@ -1579,6 +1579,7 @@ GLIBC_2.1 pthread_rwlock_trywrlock F
>  GLIBC_2.1 pthread_rwlock_unlock F
>  GLIBC_2.1 pthread_rwlock_wrlock F
>  GLIBC_2.1 pthread_rwlockattr_destroy F
> +GLIBC_2.1 pthread_rwlockattr_getkind_np F
>  GLIBC_2.1 ptsname F
>  GLIBC_2.1 ptsname_r F
>  GLIBC_2.1 putgrent F
> @@ -2333,6 +2334,7 @@ GLIBC_2.34 pthread_rwlock_trywrlock F
>  GLIBC_2.34 pthread_rwlock_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
>  GLIBC_2.34 pthread_rwlockattr_destroy F
> +GLIBC_2.34 pthread_rwlockattr_getkind_np F
>  GLIBC_2.34 pthread_setspecific F
>  GLIBC_2.34 pthread_spin_destroy F
>  GLIBC_2.34 pthread_spin_init F
> diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
> index 8cd2286856..64316f12de 100644
> --- a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
> @@ -24,7 +24,6 @@ GLIBC_2.1 pthread_attr_setstackaddr F
>  GLIBC_2.1 pthread_attr_setstacksize F
>  GLIBC_2.1 pthread_create F
>  GLIBC_2.1 pthread_getconcurrency F
> -GLIBC_2.1 pthread_rwlockattr_getkind_np F
>  GLIBC_2.1 pthread_rwlockattr_getpshared F
>  GLIBC_2.1 pthread_rwlockattr_init F
>  GLIBC_2.1 pthread_rwlockattr_setkind_np F
> diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
> index d31f26fda2..ce8218eb4f 100644
> --- a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
> @@ -1372,6 +1372,7 @@ GLIBC_2.2 pthread_rwlock_trywrlock F
>  GLIBC_2.2 pthread_rwlock_unlock F
>  GLIBC_2.2 pthread_rwlock_wrlock F
>  GLIBC_2.2 pthread_rwlockattr_destroy F
> +GLIBC_2.2 pthread_rwlockattr_getkind_np F
>  GLIBC_2.2 pthread_self F
>  GLIBC_2.2 pthread_setcancelstate F
>  GLIBC_2.2 pthread_setcanceltype F
> @@ -2252,6 +2253,7 @@ GLIBC_2.34 pthread_rwlock_trywrlock F
>  GLIBC_2.34 pthread_rwlock_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
>  GLIBC_2.34 pthread_rwlockattr_destroy F
> +GLIBC_2.34 pthread_rwlockattr_getkind_np F
>  GLIBC_2.34 pthread_setspecific F
>  GLIBC_2.34 pthread_spin_destroy F
>  GLIBC_2.34 pthread_spin_init F
> diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
> index 9d003c3a4b..8ede4b3f59 100644
> --- a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
> @@ -30,7 +30,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_rwlockattr_getkind_np F
>  GLIBC_2.2 pthread_rwlockattr_getpshared F
>  GLIBC_2.2 pthread_rwlockattr_init F
>  GLIBC_2.2 pthread_rwlockattr_setkind_np F
> diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
> index c09f8b6c71..851be23314 100644
> --- a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
> @@ -1340,6 +1340,7 @@ GLIBC_2.2.5 pthread_rwlock_trywrlock F
>  GLIBC_2.2.5 pthread_rwlock_unlock F
>  GLIBC_2.2.5 pthread_rwlock_wrlock F
>  GLIBC_2.2.5 pthread_rwlockattr_destroy F
> +GLIBC_2.2.5 pthread_rwlockattr_getkind_np F
>  GLIBC_2.2.5 pthread_self F
>  GLIBC_2.2.5 pthread_setcancelstate F
>  GLIBC_2.2.5 pthread_setcanceltype F
> @@ -2213,6 +2214,7 @@ GLIBC_2.34 pthread_rwlock_trywrlock F
>  GLIBC_2.34 pthread_rwlock_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
>  GLIBC_2.34 pthread_rwlockattr_destroy F
> +GLIBC_2.34 pthread_rwlockattr_getkind_np F
>  GLIBC_2.34 pthread_setspecific F
>  GLIBC_2.34 pthread_spin_destroy F
>  GLIBC_2.34 pthread_spin_init F
> diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
> index 4a16b3a6af..22f4fbaee9 100644
> --- a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
> @@ -30,7 +30,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_rwlockattr_getkind_np F
>  GLIBC_2.2.5 pthread_rwlockattr_getpshared F
>  GLIBC_2.2.5 pthread_rwlockattr_init F
>  GLIBC_2.2.5 pthread_rwlockattr_setkind_np F
> diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
> index 016d8df8bd..17d4a83993 100644
> --- a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
> @@ -1521,6 +1521,7 @@ GLIBC_2.16 pthread_rwlock_trywrlock F
>  GLIBC_2.16 pthread_rwlock_unlock F
>  GLIBC_2.16 pthread_rwlock_wrlock F
>  GLIBC_2.16 pthread_rwlockattr_destroy F
> +GLIBC_2.16 pthread_rwlockattr_getkind_np F
>  GLIBC_2.16 pthread_self F
>  GLIBC_2.16 pthread_setcancelstate F
>  GLIBC_2.16 pthread_setcanceltype F
> @@ -2318,6 +2319,7 @@ GLIBC_2.34 pthread_rwlock_trywrlock F
>  GLIBC_2.34 pthread_rwlock_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
>  GLIBC_2.34 pthread_rwlockattr_destroy F
> +GLIBC_2.34 pthread_rwlockattr_getkind_np F
>  GLIBC_2.34 pthread_setspecific F
>  GLIBC_2.34 pthread_spin_destroy F
>  GLIBC_2.34 pthread_spin_init F
> diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
> index d82d85438a..8e40a92e20 100644
> --- a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
> @@ -32,7 +32,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_rwlockattr_getkind_np F
>  GLIBC_2.16 pthread_rwlockattr_getpshared F
>  GLIBC_2.16 pthread_rwlockattr_init F
>  GLIBC_2.16 pthread_rwlockattr_setkind_np F
> 


-- 
Cheers,
Carlos.


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

* Re: [PATCH 11/14] nptl: Move pthread_rwlockattr_getpshared into libc
  2021-04-23 17:38 ` [PATCH 11/14] nptl: Move pthread_rwlockattr_getpshared " Florian Weimer via Libc-alpha
@ 2021-05-02 19:39   ` Carlos O'Donell via Libc-alpha
  0 siblings, 0 replies; 30+ messages in thread
From: Carlos O'Donell via Libc-alpha @ 2021-05-02 19:39 UTC (permalink / raw)
  To: Florian Weimer, libc-alpha

On 4/23/21 1:38 PM, Florian Weimer via Libc-alpha wrote:
> The symbol was moved using scripts/move-symbol-to-libc.py.

Tested and reviewed on x86_64 and i686.

LGTM.

Reviewed-by: Carlos O'Donell <carlos@redhat.com>
Tested-by: Carlos O'Donell <carlos@redhat.com>

> ---
>  nptl/Makefile                                        |  2 +-
>  nptl/Versions                                        |  3 ++-
>  nptl/pthread_rwlockattr_getpshared.c                 | 12 ++++++++++--
>  sysdeps/unix/sysv/linux/aarch64/libc.abilist         |  2 ++
>  sysdeps/unix/sysv/linux/aarch64/libpthread.abilist   |  1 -
>  sysdeps/unix/sysv/linux/alpha/libc.abilist           |  2 ++
>  sysdeps/unix/sysv/linux/alpha/libpthread.abilist     |  1 -
>  sysdeps/unix/sysv/linux/arc/libc.abilist             |  2 ++
>  sysdeps/unix/sysv/linux/arc/libpthread.abilist       |  1 -
>  sysdeps/unix/sysv/linux/arm/be/libc.abilist          |  2 ++
>  sysdeps/unix/sysv/linux/arm/be/libpthread.abilist    |  1 -
>  sysdeps/unix/sysv/linux/arm/le/libc.abilist          |  2 ++
>  sysdeps/unix/sysv/linux/arm/le/libpthread.abilist    |  1 -
>  sysdeps/unix/sysv/linux/csky/libc.abilist            |  2 ++
>  sysdeps/unix/sysv/linux/csky/libpthread.abilist      |  1 -
>  sysdeps/unix/sysv/linux/hppa/libc.abilist            |  2 ++
>  sysdeps/unix/sysv/linux/hppa/libpthread.abilist      |  1 -
>  sysdeps/unix/sysv/linux/i386/libc.abilist            |  2 ++
>  sysdeps/unix/sysv/linux/i386/libpthread.abilist      |  1 -
>  sysdeps/unix/sysv/linux/ia64/libc.abilist            |  2 ++
>  sysdeps/unix/sysv/linux/ia64/libpthread.abilist      |  1 -
>  sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist   |  2 ++
>  .../unix/sysv/linux/m68k/coldfire/libpthread.abilist |  1 -
>  sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist     |  2 ++
>  .../unix/sysv/linux/m68k/m680x0/libpthread.abilist   |  1 -
>  sysdeps/unix/sysv/linux/microblaze/be/libc.abilist   |  2 ++
>  .../unix/sysv/linux/microblaze/be/libpthread.abilist |  1 -
>  sysdeps/unix/sysv/linux/microblaze/le/libc.abilist   |  2 ++
>  .../unix/sysv/linux/microblaze/le/libpthread.abilist |  1 -
>  sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist |  2 ++
>  .../unix/sysv/linux/mips/mips32/libpthread.abilist   |  1 -
>  .../unix/sysv/linux/mips/mips32/nofpu/libc.abilist   |  2 ++
>  .../unix/sysv/linux/mips/mips64/libpthread.abilist   |  1 -
>  sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist |  2 ++
>  sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist |  2 ++
>  sysdeps/unix/sysv/linux/nios2/libc.abilist           |  2 ++
>  sysdeps/unix/sysv/linux/nios2/libpthread.abilist     |  1 -
>  .../sysv/linux/powerpc/powerpc32/fpu/libc.abilist    |  2 ++
>  .../sysv/linux/powerpc/powerpc32/libpthread.abilist  |  1 -
>  .../sysv/linux/powerpc/powerpc32/nofpu/libc.abilist  |  2 ++
>  .../sysv/linux/powerpc/powerpc64/be/libc.abilist     |  2 ++
>  .../linux/powerpc/powerpc64/be/libpthread.abilist    |  1 -
>  .../sysv/linux/powerpc/powerpc64/le/libc.abilist     |  2 ++
>  .../linux/powerpc/powerpc64/le/libpthread.abilist    |  1 -
>  sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist      |  2 ++
>  .../unix/sysv/linux/riscv/rv32/libpthread.abilist    |  1 -
>  sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist      |  2 ++
>  .../unix/sysv/linux/riscv/rv64/libpthread.abilist    |  1 -
>  sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist    |  2 ++
>  .../unix/sysv/linux/s390/s390-32/libpthread.abilist  |  1 -
>  sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist    |  2 ++
>  .../unix/sysv/linux/s390/s390-64/libpthread.abilist  |  1 -
>  sysdeps/unix/sysv/linux/sh/be/libc.abilist           |  2 ++
>  sysdeps/unix/sysv/linux/sh/be/libpthread.abilist     |  1 -
>  sysdeps/unix/sysv/linux/sh/le/libc.abilist           |  2 ++
>  sysdeps/unix/sysv/linux/sh/le/libpthread.abilist     |  1 -
>  sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist   |  2 ++
>  .../unix/sysv/linux/sparc/sparc32/libpthread.abilist |  1 -
>  sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist   |  2 ++
>  .../unix/sysv/linux/sparc/sparc64/libpthread.abilist |  1 -
>  sysdeps/unix/sysv/linux/x86_64/64/libc.abilist       |  2 ++
>  sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist |  1 -
>  sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist      |  2 ++
>  .../unix/sysv/linux/x86_64/x32/libpthread.abilist    |  1 -
>  64 files changed, 77 insertions(+), 33 deletions(-)
> 
> diff --git a/nptl/Makefile b/nptl/Makefile
> index 86cd7da0f9..f60107d0cd 100644
> --- a/nptl/Makefile
> +++ b/nptl/Makefile
> @@ -133,6 +133,7 @@ routines = \
>    pthread_rwlock_wrlock \
>    pthread_rwlockattr_destroy \
>    pthread_rwlockattr_getkind_np \
> +  pthread_rwlockattr_getpshared \
>    pthread_self \
>    pthread_setcancelstate \
>    pthread_setcanceltype \
> @@ -188,7 +189,6 @@ libpthread-routines = \
>    pthread_getname \
>    pthread_join \
>    pthread_join_common \
> -  pthread_rwlockattr_getpshared \
>    pthread_rwlockattr_init \
>    pthread_rwlockattr_setkind_np \
>    pthread_rwlockattr_setpshared \
> diff --git a/nptl/Versions b/nptl/Versions
> index 01f7d590a9..f6db087610 100644
> --- a/nptl/Versions
> +++ b/nptl/Versions
> @@ -75,6 +75,7 @@ libc {
>      pthread_rwlock_wrlock;
>      pthread_rwlockattr_destroy;
>      pthread_rwlockattr_getkind_np;
> +    pthread_rwlockattr_getpshared;
>    }
>    GLIBC_2.2 {
>      __pthread_rwlock_destroy;
> @@ -206,6 +207,7 @@ libc {
>      pthread_rwlock_wrlock;
>      pthread_rwlockattr_destroy;
>      pthread_rwlockattr_getkind_np;
> +    pthread_rwlockattr_getpshared;
>      pthread_setspecific;
>      pthread_spin_destroy;
>      pthread_spin_init;
> @@ -296,7 +298,6 @@ libpthread {
>      pthread_attr_setstacksize;
>      pthread_create;
>      pthread_getconcurrency;
> -    pthread_rwlockattr_getpshared;
>      pthread_rwlockattr_init;
>      pthread_rwlockattr_setkind_np;
>      pthread_rwlockattr_setpshared;
> diff --git a/nptl/pthread_rwlockattr_getpshared.c b/nptl/pthread_rwlockattr_getpshared.c
> index bf62eeec94..3e126e720e 100644
> --- a/nptl/pthread_rwlockattr_getpshared.c
> +++ b/nptl/pthread_rwlockattr_getpshared.c
> @@ -17,12 +17,20 @@
>     <https://www.gnu.org/licenses/>.  */
>  
>  #include "pthreadP.h"
> -
> +#include <shlib-compat.h>
>  
>  int
> -pthread_rwlockattr_getpshared (const pthread_rwlockattr_t *attr, int *pshared)
> +__pthread_rwlockattr_getpshared (const pthread_rwlockattr_t *attr,
> +                                  int *pshared)
>  {
>    *pshared = ((const struct pthread_rwlockattr *) attr)->pshared;
>  
>    return 0;
>  }
> +versioned_symbol (libc, __pthread_rwlockattr_getpshared,
> +                  pthread_rwlockattr_getpshared, GLIBC_2_34);
> +
> +#if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_1, GLIBC_2_34)
> +compat_symbol (libpthread, __pthread_rwlockattr_getpshared,
> +               pthread_rwlockattr_getpshared, GLIBC_2_1);
> +#endif
> diff --git a/sysdeps/unix/sysv/linux/aarch64/libc.abilist b/sysdeps/unix/sysv/linux/aarch64/libc.abilist
> index b709cc514e..bf4a51615b 100644
> --- a/sysdeps/unix/sysv/linux/aarch64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/aarch64/libc.abilist
> @@ -1515,6 +1515,7 @@ GLIBC_2.17 pthread_rwlock_unlock F
>  GLIBC_2.17 pthread_rwlock_wrlock F
>  GLIBC_2.17 pthread_rwlockattr_destroy F
>  GLIBC_2.17 pthread_rwlockattr_getkind_np F
> +GLIBC_2.17 pthread_rwlockattr_getpshared F
>  GLIBC_2.17 pthread_self F
>  GLIBC_2.17 pthread_setcancelstate F
>  GLIBC_2.17 pthread_setcanceltype F
> @@ -2305,6 +2306,7 @@ GLIBC_2.34 pthread_rwlock_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
>  GLIBC_2.34 pthread_rwlockattr_destroy F
>  GLIBC_2.34 pthread_rwlockattr_getkind_np F
> +GLIBC_2.34 pthread_rwlockattr_getpshared F
>  GLIBC_2.34 pthread_setspecific F
>  GLIBC_2.34 pthread_spin_destroy F
>  GLIBC_2.34 pthread_spin_init F
> diff --git a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
> index 7c1aa12896..bdf0f22f05 100644
> --- a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
> @@ -32,7 +32,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_rwlockattr_getpshared F
>  GLIBC_2.17 pthread_rwlockattr_init F
>  GLIBC_2.17 pthread_rwlockattr_setkind_np F
>  GLIBC_2.17 pthread_rwlockattr_setpshared F
> diff --git a/sysdeps/unix/sysv/linux/alpha/libc.abilist b/sysdeps/unix/sysv/linux/alpha/libc.abilist
> index 7f6083a1d6..ed98ffcf83 100644
> --- a/sysdeps/unix/sysv/linux/alpha/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/alpha/libc.abilist
> @@ -1615,6 +1615,7 @@ GLIBC_2.1 pthread_rwlock_unlock F
>  GLIBC_2.1 pthread_rwlock_wrlock F
>  GLIBC_2.1 pthread_rwlockattr_destroy F
>  GLIBC_2.1 pthread_rwlockattr_getkind_np F
> +GLIBC_2.1 pthread_rwlockattr_getpshared F
>  GLIBC_2.1 ptsname F
>  GLIBC_2.1 ptsname_r F
>  GLIBC_2.1 putgrent F
> @@ -2386,6 +2387,7 @@ GLIBC_2.34 pthread_rwlock_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
>  GLIBC_2.34 pthread_rwlockattr_destroy F
>  GLIBC_2.34 pthread_rwlockattr_getkind_np F
> +GLIBC_2.34 pthread_rwlockattr_getpshared F
>  GLIBC_2.34 pthread_setspecific F
>  GLIBC_2.34 pthread_spin_destroy F
>  GLIBC_2.34 pthread_spin_init F
> diff --git a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
> index 64316f12de..14fdab028b 100644
> --- a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
> @@ -24,7 +24,6 @@ GLIBC_2.1 pthread_attr_setstackaddr F
>  GLIBC_2.1 pthread_attr_setstacksize F
>  GLIBC_2.1 pthread_create F
>  GLIBC_2.1 pthread_getconcurrency F
> -GLIBC_2.1 pthread_rwlockattr_getpshared F
>  GLIBC_2.1 pthread_rwlockattr_init F
>  GLIBC_2.1 pthread_rwlockattr_setkind_np F
>  GLIBC_2.1 pthread_rwlockattr_setpshared F
> diff --git a/sysdeps/unix/sysv/linux/arc/libc.abilist b/sysdeps/unix/sysv/linux/arc/libc.abilist
> index b07db49baa..36dbc8e9a8 100644
> --- a/sysdeps/unix/sysv/linux/arc/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/arc/libc.abilist
> @@ -1445,6 +1445,7 @@ GLIBC_2.32 pthread_rwlock_unlock F
>  GLIBC_2.32 pthread_rwlock_wrlock F
>  GLIBC_2.32 pthread_rwlockattr_destroy F
>  GLIBC_2.32 pthread_rwlockattr_getkind_np F
> +GLIBC_2.32 pthread_rwlockattr_getpshared F
>  GLIBC_2.32 pthread_self F
>  GLIBC_2.32 pthread_setcancelstate F
>  GLIBC_2.32 pthread_setcanceltype F
> @@ -2064,6 +2065,7 @@ GLIBC_2.34 pthread_rwlock_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
>  GLIBC_2.34 pthread_rwlockattr_destroy F
>  GLIBC_2.34 pthread_rwlockattr_getkind_np F
> +GLIBC_2.34 pthread_rwlockattr_getpshared F
>  GLIBC_2.34 pthread_setspecific F
>  GLIBC_2.34 pthread_spin_destroy F
>  GLIBC_2.34 pthread_spin_init F
> diff --git a/sysdeps/unix/sysv/linux/arc/libpthread.abilist b/sysdeps/unix/sysv/linux/arc/libpthread.abilist
> index 0cf81c597e..c8464bcfb2 100644
> --- a/sysdeps/unix/sysv/linux/arc/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/arc/libpthread.abilist
> @@ -47,7 +47,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_rwlockattr_getpshared F
>  GLIBC_2.32 pthread_rwlockattr_init F
>  GLIBC_2.32 pthread_rwlockattr_setkind_np F
>  GLIBC_2.32 pthread_rwlockattr_setpshared F
> diff --git a/sysdeps/unix/sysv/linux/arm/be/libc.abilist b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
> index 3e41789185..2883babacd 100644
> --- a/sysdeps/unix/sysv/linux/arm/be/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
> @@ -217,6 +217,7 @@ GLIBC_2.34 pthread_rwlock_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
>  GLIBC_2.34 pthread_rwlockattr_destroy F
>  GLIBC_2.34 pthread_rwlockattr_getkind_np F
> +GLIBC_2.34 pthread_rwlockattr_getpshared F
>  GLIBC_2.34 pthread_setspecific F
>  GLIBC_2.34 pthread_spin_destroy F
>  GLIBC_2.34 pthread_spin_init F
> @@ -1671,6 +1672,7 @@ GLIBC_2.4 pthread_rwlock_unlock F
>  GLIBC_2.4 pthread_rwlock_wrlock F
>  GLIBC_2.4 pthread_rwlockattr_destroy F
>  GLIBC_2.4 pthread_rwlockattr_getkind_np F
> +GLIBC_2.4 pthread_rwlockattr_getpshared F
>  GLIBC_2.4 pthread_self F
>  GLIBC_2.4 pthread_setcancelstate F
>  GLIBC_2.4 pthread_setcanceltype F
> diff --git a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
> index b1d92ccb14..5734a3e35b 100644
> --- a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
> @@ -60,7 +60,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_rwlockattr_getpshared F
>  GLIBC_2.4 pthread_rwlockattr_init F
>  GLIBC_2.4 pthread_rwlockattr_setkind_np F
>  GLIBC_2.4 pthread_rwlockattr_setpshared F
> diff --git a/sysdeps/unix/sysv/linux/arm/le/libc.abilist b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
> index a48ea6c97a..1128ef57dd 100644
> --- a/sysdeps/unix/sysv/linux/arm/le/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
> @@ -214,6 +214,7 @@ GLIBC_2.34 pthread_rwlock_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
>  GLIBC_2.34 pthread_rwlockattr_destroy F
>  GLIBC_2.34 pthread_rwlockattr_getkind_np F
> +GLIBC_2.34 pthread_rwlockattr_getpshared F
>  GLIBC_2.34 pthread_setspecific F
>  GLIBC_2.34 pthread_spin_destroy F
>  GLIBC_2.34 pthread_spin_init F
> @@ -1668,6 +1669,7 @@ GLIBC_2.4 pthread_rwlock_unlock F
>  GLIBC_2.4 pthread_rwlock_wrlock F
>  GLIBC_2.4 pthread_rwlockattr_destroy F
>  GLIBC_2.4 pthread_rwlockattr_getkind_np F
> +GLIBC_2.4 pthread_rwlockattr_getpshared F
>  GLIBC_2.4 pthread_self F
>  GLIBC_2.4 pthread_setcancelstate F
>  GLIBC_2.4 pthread_setcanceltype F
> diff --git a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
> index b1d92ccb14..5734a3e35b 100644
> --- a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
> @@ -60,7 +60,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_rwlockattr_getpshared F
>  GLIBC_2.4 pthread_rwlockattr_init F
>  GLIBC_2.4 pthread_rwlockattr_setkind_np F
>  GLIBC_2.4 pthread_rwlockattr_setpshared F
> diff --git a/sysdeps/unix/sysv/linux/csky/libc.abilist b/sysdeps/unix/sysv/linux/csky/libc.abilist
> index b2f5ce7d52..96b5da8d2c 100644
> --- a/sysdeps/unix/sysv/linux/csky/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/csky/libc.abilist
> @@ -1502,6 +1502,7 @@ GLIBC_2.29 pthread_rwlock_unlock F
>  GLIBC_2.29 pthread_rwlock_wrlock F
>  GLIBC_2.29 pthread_rwlockattr_destroy F
>  GLIBC_2.29 pthread_rwlockattr_getkind_np F
> +GLIBC_2.29 pthread_rwlockattr_getpshared F
>  GLIBC_2.29 pthread_self F
>  GLIBC_2.29 pthread_setcancelstate F
>  GLIBC_2.29 pthread_setcanceltype F
> @@ -2248,6 +2249,7 @@ GLIBC_2.34 pthread_rwlock_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
>  GLIBC_2.34 pthread_rwlockattr_destroy F
>  GLIBC_2.34 pthread_rwlockattr_getkind_np F
> +GLIBC_2.34 pthread_rwlockattr_getpshared F
>  GLIBC_2.34 pthread_setspecific F
>  GLIBC_2.34 pthread_spin_destroy F
>  GLIBC_2.34 pthread_spin_init F
> diff --git a/sysdeps/unix/sysv/linux/csky/libpthread.abilist b/sysdeps/unix/sysv/linux/csky/libpthread.abilist
> index b05557e290..37b32390a9 100644
> --- a/sysdeps/unix/sysv/linux/csky/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/csky/libpthread.abilist
> @@ -46,7 +46,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_rwlockattr_getpshared F
>  GLIBC_2.29 pthread_rwlockattr_init F
>  GLIBC_2.29 pthread_rwlockattr_setkind_np F
>  GLIBC_2.29 pthread_rwlockattr_setpshared F
> diff --git a/sysdeps/unix/sysv/linux/hppa/libc.abilist b/sysdeps/unix/sysv/linux/hppa/libc.abilist
> index c3c8d72bf3..f20a4ec42a 100644
> --- a/sysdeps/unix/sysv/linux/hppa/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/hppa/libc.abilist
> @@ -1326,6 +1326,7 @@ GLIBC_2.2 pthread_rwlock_unlock F
>  GLIBC_2.2 pthread_rwlock_wrlock F
>  GLIBC_2.2 pthread_rwlockattr_destroy F
>  GLIBC_2.2 pthread_rwlockattr_getkind_np F
> +GLIBC_2.2 pthread_rwlockattr_getpshared F
>  GLIBC_2.2 pthread_self F
>  GLIBC_2.2 pthread_setcancelstate F
>  GLIBC_2.2 pthread_setcanceltype F
> @@ -2199,6 +2200,7 @@ GLIBC_2.34 pthread_rwlock_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
>  GLIBC_2.34 pthread_rwlockattr_destroy F
>  GLIBC_2.34 pthread_rwlockattr_getkind_np F
> +GLIBC_2.34 pthread_rwlockattr_getpshared F
>  GLIBC_2.34 pthread_setspecific F
>  GLIBC_2.34 pthread_spin_destroy F
>  GLIBC_2.34 pthread_spin_init F
> diff --git a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
> index 84154ef796..bbadf8d6c5 100644
> --- a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
> @@ -30,7 +30,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_rwlockattr_getpshared F
>  GLIBC_2.2 pthread_rwlockattr_init F
>  GLIBC_2.2 pthread_rwlockattr_setkind_np F
>  GLIBC_2.2 pthread_rwlockattr_setpshared F
> diff --git a/sysdeps/unix/sysv/linux/i386/libc.abilist b/sysdeps/unix/sysv/linux/i386/libc.abilist
> index f3dd46694d..e6546b9d62 100644
> --- a/sysdeps/unix/sysv/linux/i386/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/i386/libc.abilist
> @@ -1583,6 +1583,7 @@ GLIBC_2.1 pthread_rwlock_unlock F
>  GLIBC_2.1 pthread_rwlock_wrlock F
>  GLIBC_2.1 pthread_rwlockattr_destroy F
>  GLIBC_2.1 pthread_rwlockattr_getkind_np F
> +GLIBC_2.1 pthread_rwlockattr_getpshared F
>  GLIBC_2.1 ptsname F
>  GLIBC_2.1 ptsname_r F
>  GLIBC_2.1 putgrent F
> @@ -2376,6 +2377,7 @@ GLIBC_2.34 pthread_rwlock_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
>  GLIBC_2.34 pthread_rwlockattr_destroy F
>  GLIBC_2.34 pthread_rwlockattr_getkind_np F
> +GLIBC_2.34 pthread_rwlockattr_getpshared F
>  GLIBC_2.34 pthread_setspecific F
>  GLIBC_2.34 pthread_spin_destroy F
>  GLIBC_2.34 pthread_spin_init F
> diff --git a/sysdeps/unix/sysv/linux/i386/libpthread.abilist b/sysdeps/unix/sysv/linux/i386/libpthread.abilist
> index a1b95e75e4..5eadc40bc8 100644
> --- a/sysdeps/unix/sysv/linux/i386/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/i386/libpthread.abilist
> @@ -24,7 +24,6 @@ GLIBC_2.1 pthread_attr_setstackaddr F
>  GLIBC_2.1 pthread_attr_setstacksize F
>  GLIBC_2.1 pthread_create F
>  GLIBC_2.1 pthread_getconcurrency F
> -GLIBC_2.1 pthread_rwlockattr_getpshared F
>  GLIBC_2.1 pthread_rwlockattr_init F
>  GLIBC_2.1 pthread_rwlockattr_setkind_np F
>  GLIBC_2.1 pthread_rwlockattr_setpshared F
> diff --git a/sysdeps/unix/sysv/linux/ia64/libc.abilist b/sysdeps/unix/sysv/linux/ia64/libc.abilist
> index 72cd50c7ec..e24fee9f34 100644
> --- a/sysdeps/unix/sysv/linux/ia64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/ia64/libc.abilist
> @@ -1347,6 +1347,7 @@ GLIBC_2.2 pthread_rwlock_unlock F
>  GLIBC_2.2 pthread_rwlock_wrlock F
>  GLIBC_2.2 pthread_rwlockattr_destroy F
>  GLIBC_2.2 pthread_rwlockattr_getkind_np F
> +GLIBC_2.2 pthread_rwlockattr_getpshared F
>  GLIBC_2.2 pthread_self F
>  GLIBC_2.2 pthread_setcancelstate F
>  GLIBC_2.2 pthread_setcanceltype F
> @@ -2233,6 +2234,7 @@ GLIBC_2.34 pthread_rwlock_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
>  GLIBC_2.34 pthread_rwlockattr_destroy F
>  GLIBC_2.34 pthread_rwlockattr_getkind_np F
> +GLIBC_2.34 pthread_rwlockattr_getpshared F
>  GLIBC_2.34 pthread_setspecific F
>  GLIBC_2.34 pthread_spin_destroy F
>  GLIBC_2.34 pthread_spin_init F
> diff --git a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
> index 8ede4b3f59..363a00611a 100644
> --- a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
> @@ -30,7 +30,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_rwlockattr_getpshared F
>  GLIBC_2.2 pthread_rwlockattr_init F
>  GLIBC_2.2 pthread_rwlockattr_setkind_np F
>  GLIBC_2.2 pthread_rwlockattr_setpshared F
> diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
> index c00daf02c4..69b80f390e 100644
> --- a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
> @@ -218,6 +218,7 @@ GLIBC_2.34 pthread_rwlock_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
>  GLIBC_2.34 pthread_rwlockattr_destroy F
>  GLIBC_2.34 pthread_rwlockattr_getkind_np F
> +GLIBC_2.34 pthread_rwlockattr_getpshared F
>  GLIBC_2.34 pthread_setspecific F
>  GLIBC_2.34 pthread_spin_destroy F
>  GLIBC_2.34 pthread_spin_init F
> @@ -1651,6 +1652,7 @@ GLIBC_2.4 pthread_rwlock_unlock F
>  GLIBC_2.4 pthread_rwlock_wrlock F
>  GLIBC_2.4 pthread_rwlockattr_destroy F
>  GLIBC_2.4 pthread_rwlockattr_getkind_np F
> +GLIBC_2.4 pthread_rwlockattr_getpshared F
>  GLIBC_2.4 pthread_self F
>  GLIBC_2.4 pthread_setcancelstate F
>  GLIBC_2.4 pthread_setcanceltype F
> diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
> index b1d92ccb14..5734a3e35b 100644
> --- a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
> @@ -60,7 +60,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_rwlockattr_getpshared F
>  GLIBC_2.4 pthread_rwlockattr_init F
>  GLIBC_2.4 pthread_rwlockattr_setkind_np F
>  GLIBC_2.4 pthread_rwlockattr_setpshared F
> diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
> index 833e56d670..ad72065956 100644
> --- a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
> @@ -1579,6 +1579,7 @@ GLIBC_2.1 pthread_rwlock_unlock F
>  GLIBC_2.1 pthread_rwlock_wrlock F
>  GLIBC_2.1 pthread_rwlockattr_destroy F
>  GLIBC_2.1 pthread_rwlockattr_getkind_np F
> +GLIBC_2.1 pthread_rwlockattr_getpshared F
>  GLIBC_2.1 ptsname F
>  GLIBC_2.1 ptsname_r F
>  GLIBC_2.1 putgrent F
> @@ -2319,6 +2320,7 @@ GLIBC_2.34 pthread_rwlock_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
>  GLIBC_2.34 pthread_rwlockattr_destroy F
>  GLIBC_2.34 pthread_rwlockattr_getkind_np F
> +GLIBC_2.34 pthread_rwlockattr_getpshared F
>  GLIBC_2.34 pthread_setspecific F
>  GLIBC_2.34 pthread_spin_destroy F
>  GLIBC_2.34 pthread_spin_init F
> diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
> index a1b95e75e4..5eadc40bc8 100644
> --- a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
> @@ -24,7 +24,6 @@ GLIBC_2.1 pthread_attr_setstackaddr F
>  GLIBC_2.1 pthread_attr_setstacksize F
>  GLIBC_2.1 pthread_create F
>  GLIBC_2.1 pthread_getconcurrency F
> -GLIBC_2.1 pthread_rwlockattr_getpshared F
>  GLIBC_2.1 pthread_rwlockattr_init F
>  GLIBC_2.1 pthread_rwlockattr_setkind_np F
>  GLIBC_2.1 pthread_rwlockattr_setpshared F
> diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
> index c9a070f967..d6a1eb459e 100644
> --- a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
> @@ -1517,6 +1517,7 @@ GLIBC_2.18 pthread_rwlock_unlock F
>  GLIBC_2.18 pthread_rwlock_wrlock F
>  GLIBC_2.18 pthread_rwlockattr_destroy F
>  GLIBC_2.18 pthread_rwlockattr_getkind_np F
> +GLIBC_2.18 pthread_rwlockattr_getpshared F
>  GLIBC_2.18 pthread_self F
>  GLIBC_2.18 pthread_setcancelstate F
>  GLIBC_2.18 pthread_setcanceltype F
> @@ -2299,6 +2300,7 @@ GLIBC_2.34 pthread_rwlock_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
>  GLIBC_2.34 pthread_rwlockattr_destroy F
>  GLIBC_2.34 pthread_rwlockattr_getkind_np F
> +GLIBC_2.34 pthread_rwlockattr_getpshared F
>  GLIBC_2.34 pthread_setspecific F
>  GLIBC_2.34 pthread_spin_destroy F
>  GLIBC_2.34 pthread_spin_init F
> diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
> index ef826e17b3..cc57750616 100644
> --- a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
> @@ -33,7 +33,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_rwlockattr_getpshared F
>  GLIBC_2.18 pthread_rwlockattr_init F
>  GLIBC_2.18 pthread_rwlockattr_setkind_np F
>  GLIBC_2.18 pthread_rwlockattr_setpshared F
> diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
> index 3ea9d59892..3da6064fe0 100644
> --- a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
> @@ -1517,6 +1517,7 @@ GLIBC_2.18 pthread_rwlock_unlock F
>  GLIBC_2.18 pthread_rwlock_wrlock F
>  GLIBC_2.18 pthread_rwlockattr_destroy F
>  GLIBC_2.18 pthread_rwlockattr_getkind_np F
> +GLIBC_2.18 pthread_rwlockattr_getpshared F
>  GLIBC_2.18 pthread_self F
>  GLIBC_2.18 pthread_setcancelstate F
>  GLIBC_2.18 pthread_setcanceltype F
> @@ -2296,6 +2297,7 @@ GLIBC_2.34 pthread_rwlock_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
>  GLIBC_2.34 pthread_rwlockattr_destroy F
>  GLIBC_2.34 pthread_rwlockattr_getkind_np F
> +GLIBC_2.34 pthread_rwlockattr_getpshared F
>  GLIBC_2.34 pthread_setspecific F
>  GLIBC_2.34 pthread_spin_destroy F
>  GLIBC_2.34 pthread_spin_init F
> diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
> index ef826e17b3..cc57750616 100644
> --- a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
> @@ -33,7 +33,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_rwlockattr_getpshared F
>  GLIBC_2.18 pthread_rwlockattr_init F
>  GLIBC_2.18 pthread_rwlockattr_setkind_np F
>  GLIBC_2.18 pthread_rwlockattr_setpshared F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
> index f831cebc4a..966cefd4a4 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
> @@ -1856,6 +1856,7 @@ GLIBC_2.2 pthread_rwlock_unlock F
>  GLIBC_2.2 pthread_rwlock_wrlock F
>  GLIBC_2.2 pthread_rwlockattr_destroy F
>  GLIBC_2.2 pthread_rwlockattr_getkind_np F
> +GLIBC_2.2 pthread_rwlockattr_getpshared F
>  GLIBC_2.2 pthread_spin_destroy F
>  GLIBC_2.2 pthread_spin_init F
>  GLIBC_2.2 pthread_spin_lock F
> @@ -2282,6 +2283,7 @@ GLIBC_2.34 pthread_rwlock_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
>  GLIBC_2.34 pthread_rwlockattr_destroy F
>  GLIBC_2.34 pthread_rwlockattr_getkind_np F
> +GLIBC_2.34 pthread_rwlockattr_getpshared F
>  GLIBC_2.34 pthread_setspecific F
>  GLIBC_2.34 pthread_spin_destroy F
>  GLIBC_2.34 pthread_spin_init F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
> index 2bcaf1bc61..99a6b20a7f 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
> @@ -38,7 +38,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_rwlockattr_getpshared F
>  GLIBC_2.2 pthread_rwlockattr_init F
>  GLIBC_2.2 pthread_rwlockattr_setkind_np F
>  GLIBC_2.2 pthread_rwlockattr_setpshared F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
> index 038cad09d9..1f4867ccce 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
> @@ -1854,6 +1854,7 @@ GLIBC_2.2 pthread_rwlock_unlock F
>  GLIBC_2.2 pthread_rwlock_wrlock F
>  GLIBC_2.2 pthread_rwlockattr_destroy F
>  GLIBC_2.2 pthread_rwlockattr_getkind_np F
> +GLIBC_2.2 pthread_rwlockattr_getpshared F
>  GLIBC_2.2 pthread_spin_destroy F
>  GLIBC_2.2 pthread_spin_init F
>  GLIBC_2.2 pthread_spin_lock F
> @@ -2280,6 +2281,7 @@ GLIBC_2.34 pthread_rwlock_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
>  GLIBC_2.34 pthread_rwlockattr_destroy F
>  GLIBC_2.34 pthread_rwlockattr_getkind_np F
> +GLIBC_2.34 pthread_rwlockattr_getpshared F
>  GLIBC_2.34 pthread_setspecific F
>  GLIBC_2.34 pthread_spin_destroy F
>  GLIBC_2.34 pthread_spin_init F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
> index 2bcaf1bc61..99a6b20a7f 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
> @@ -38,7 +38,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_rwlockattr_getpshared F
>  GLIBC_2.2 pthread_rwlockattr_init F
>  GLIBC_2.2 pthread_rwlockattr_setkind_np F
>  GLIBC_2.2 pthread_rwlockattr_setpshared F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
> index 2c92a0fe8e..bdcfd8448b 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
> @@ -1854,6 +1854,7 @@ GLIBC_2.2 pthread_rwlock_unlock F
>  GLIBC_2.2 pthread_rwlock_wrlock F
>  GLIBC_2.2 pthread_rwlockattr_destroy F
>  GLIBC_2.2 pthread_rwlockattr_getkind_np F
> +GLIBC_2.2 pthread_rwlockattr_getpshared F
>  GLIBC_2.2 pthread_spin_destroy F
>  GLIBC_2.2 pthread_spin_init F
>  GLIBC_2.2 pthread_spin_lock F
> @@ -2288,6 +2289,7 @@ GLIBC_2.34 pthread_rwlock_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
>  GLIBC_2.34 pthread_rwlockattr_destroy F
>  GLIBC_2.34 pthread_rwlockattr_getkind_np F
> +GLIBC_2.34 pthread_rwlockattr_getpshared F
>  GLIBC_2.34 pthread_setspecific F
>  GLIBC_2.34 pthread_spin_destroy F
>  GLIBC_2.34 pthread_spin_init F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
> index e71a468aa6..1dd6209fec 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
> @@ -1850,6 +1850,7 @@ GLIBC_2.2 pthread_rwlock_unlock F
>  GLIBC_2.2 pthread_rwlock_wrlock F
>  GLIBC_2.2 pthread_rwlockattr_destroy F
>  GLIBC_2.2 pthread_rwlockattr_getkind_np F
> +GLIBC_2.2 pthread_rwlockattr_getpshared F
>  GLIBC_2.2 pthread_spin_destroy F
>  GLIBC_2.2 pthread_spin_init F
>  GLIBC_2.2 pthread_spin_lock F
> @@ -2282,6 +2283,7 @@ GLIBC_2.34 pthread_rwlock_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
>  GLIBC_2.34 pthread_rwlockattr_destroy F
>  GLIBC_2.34 pthread_rwlockattr_getkind_np F
> +GLIBC_2.34 pthread_rwlockattr_getpshared F
>  GLIBC_2.34 pthread_setspecific F
>  GLIBC_2.34 pthread_spin_destroy F
>  GLIBC_2.34 pthread_spin_init F
> diff --git a/sysdeps/unix/sysv/linux/nios2/libc.abilist b/sysdeps/unix/sysv/linux/nios2/libc.abilist
> index bbc6f578fc..db7ab7bff8 100644
> --- a/sysdeps/unix/sysv/linux/nios2/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/nios2/libc.abilist
> @@ -1560,6 +1560,7 @@ GLIBC_2.21 pthread_rwlock_unlock F
>  GLIBC_2.21 pthread_rwlock_wrlock F
>  GLIBC_2.21 pthread_rwlockattr_destroy F
>  GLIBC_2.21 pthread_rwlockattr_getkind_np F
> +GLIBC_2.21 pthread_rwlockattr_getpshared F
>  GLIBC_2.21 pthread_self F
>  GLIBC_2.21 pthread_setcancelstate F
>  GLIBC_2.21 pthread_setcanceltype F
> @@ -2338,6 +2339,7 @@ GLIBC_2.34 pthread_rwlock_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
>  GLIBC_2.34 pthread_rwlockattr_destroy F
>  GLIBC_2.34 pthread_rwlockattr_getkind_np F
> +GLIBC_2.34 pthread_rwlockattr_getpshared F
>  GLIBC_2.34 pthread_setspecific F
>  GLIBC_2.34 pthread_spin_destroy F
>  GLIBC_2.34 pthread_spin_init F
> diff --git a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
> index 27344b0e1d..e91492f4b8 100644
> --- a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
> @@ -33,7 +33,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_rwlockattr_getpshared F
>  GLIBC_2.21 pthread_rwlockattr_init F
>  GLIBC_2.21 pthread_rwlockattr_setkind_np F
>  GLIBC_2.21 pthread_rwlockattr_setpshared F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
> index 4c58fc3981..5280bec0dd 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
> @@ -1587,6 +1587,7 @@ GLIBC_2.1 pthread_rwlock_unlock F
>  GLIBC_2.1 pthread_rwlock_wrlock F
>  GLIBC_2.1 pthread_rwlockattr_destroy F
>  GLIBC_2.1 pthread_rwlockattr_getkind_np F
> +GLIBC_2.1 pthread_rwlockattr_getpshared F
>  GLIBC_2.1 ptsname F
>  GLIBC_2.1 ptsname_r F
>  GLIBC_2.1 putgrent F
> @@ -2346,6 +2347,7 @@ GLIBC_2.34 pthread_rwlock_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
>  GLIBC_2.34 pthread_rwlockattr_destroy F
>  GLIBC_2.34 pthread_rwlockattr_getkind_np F
> +GLIBC_2.34 pthread_rwlockattr_getpshared F
>  GLIBC_2.34 pthread_setspecific F
>  GLIBC_2.34 pthread_spin_destroy F
>  GLIBC_2.34 pthread_spin_init F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
> index 73b5f25b96..3567b433e6 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
> @@ -24,7 +24,6 @@ GLIBC_2.1 pthread_attr_setstackaddr F
>  GLIBC_2.1 pthread_attr_setstacksize F
>  GLIBC_2.1 pthread_create F
>  GLIBC_2.1 pthread_getconcurrency F
> -GLIBC_2.1 pthread_rwlockattr_getpshared F
>  GLIBC_2.1 pthread_rwlockattr_init F
>  GLIBC_2.1 pthread_rwlockattr_setkind_np F
>  GLIBC_2.1 pthread_rwlockattr_setpshared F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
> index 5209786002..cbb09a657b 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
> @@ -1587,6 +1587,7 @@ GLIBC_2.1 pthread_rwlock_unlock F
>  GLIBC_2.1 pthread_rwlock_wrlock F
>  GLIBC_2.1 pthread_rwlockattr_destroy F
>  GLIBC_2.1 pthread_rwlockattr_getkind_np F
> +GLIBC_2.1 pthread_rwlockattr_getpshared F
>  GLIBC_2.1 ptsname F
>  GLIBC_2.1 ptsname_r F
>  GLIBC_2.1 putgrent F
> @@ -2379,6 +2380,7 @@ GLIBC_2.34 pthread_rwlock_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
>  GLIBC_2.34 pthread_rwlockattr_destroy F
>  GLIBC_2.34 pthread_rwlockattr_getkind_np F
> +GLIBC_2.34 pthread_rwlockattr_getpshared F
>  GLIBC_2.34 pthread_setspecific F
>  GLIBC_2.34 pthread_spin_destroy F
>  GLIBC_2.34 pthread_spin_init F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
> index 4d43ea86b8..8831dc0534 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
> @@ -1432,6 +1432,7 @@ GLIBC_2.3 pthread_rwlock_unlock F
>  GLIBC_2.3 pthread_rwlock_wrlock F
>  GLIBC_2.3 pthread_rwlockattr_destroy F
>  GLIBC_2.3 pthread_rwlockattr_getkind_np F
> +GLIBC_2.3 pthread_rwlockattr_getpshared F
>  GLIBC_2.3 pthread_self F
>  GLIBC_2.3 pthread_setcancelstate F
>  GLIBC_2.3 pthread_setcanceltype F
> @@ -2200,6 +2201,7 @@ GLIBC_2.34 pthread_rwlock_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
>  GLIBC_2.34 pthread_rwlockattr_destroy F
>  GLIBC_2.34 pthread_rwlockattr_getkind_np F
> +GLIBC_2.34 pthread_rwlockattr_getpshared F
>  GLIBC_2.34 pthread_setspecific F
>  GLIBC_2.34 pthread_spin_destroy F
>  GLIBC_2.34 pthread_spin_init F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
> index 1f07235c43..ab30e9bf37 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
> @@ -51,7 +51,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_rwlockattr_getpshared F
>  GLIBC_2.3 pthread_rwlockattr_init F
>  GLIBC_2.3 pthread_rwlockattr_setkind_np F
>  GLIBC_2.3 pthread_rwlockattr_setpshared F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
> index 9d9dd2992f..c58ce82cd3 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
> @@ -1603,6 +1603,7 @@ GLIBC_2.17 pthread_rwlock_unlock F
>  GLIBC_2.17 pthread_rwlock_wrlock F
>  GLIBC_2.17 pthread_rwlockattr_destroy F
>  GLIBC_2.17 pthread_rwlockattr_getkind_np F
> +GLIBC_2.17 pthread_rwlockattr_getpshared F
>  GLIBC_2.17 pthread_self F
>  GLIBC_2.17 pthread_setcancelstate F
>  GLIBC_2.17 pthread_setcanceltype F
> @@ -2501,6 +2502,7 @@ GLIBC_2.34 pthread_rwlock_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
>  GLIBC_2.34 pthread_rwlockattr_destroy F
>  GLIBC_2.34 pthread_rwlockattr_getkind_np F
> +GLIBC_2.34 pthread_rwlockattr_getpshared F
>  GLIBC_2.34 pthread_setspecific F
>  GLIBC_2.34 pthread_spin_destroy F
>  GLIBC_2.34 pthread_spin_init F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
> index 7c1aa12896..bdf0f22f05 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
> @@ -32,7 +32,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_rwlockattr_getpshared F
>  GLIBC_2.17 pthread_rwlockattr_init F
>  GLIBC_2.17 pthread_rwlockattr_setkind_np F
>  GLIBC_2.17 pthread_rwlockattr_setpshared F
> diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
> index 559e0f8c6c..79134951a0 100644
> --- a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
> @@ -1447,6 +1447,7 @@ GLIBC_2.33 pthread_rwlock_unlock F
>  GLIBC_2.33 pthread_rwlock_wrlock F
>  GLIBC_2.33 pthread_rwlockattr_destroy F
>  GLIBC_2.33 pthread_rwlockattr_getkind_np F
> +GLIBC_2.33 pthread_rwlockattr_getpshared F
>  GLIBC_2.33 pthread_self F
>  GLIBC_2.33 pthread_setcancelstate F
>  GLIBC_2.33 pthread_setcanceltype F
> @@ -2066,6 +2067,7 @@ GLIBC_2.34 pthread_rwlock_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
>  GLIBC_2.34 pthread_rwlockattr_destroy F
>  GLIBC_2.34 pthread_rwlockattr_getkind_np F
> +GLIBC_2.34 pthread_rwlockattr_getpshared F
>  GLIBC_2.34 pthread_setspecific F
>  GLIBC_2.34 pthread_spin_destroy F
>  GLIBC_2.34 pthread_spin_init F
> diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
> index e34c755922..76542efd0c 100644
> --- a/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
> @@ -47,7 +47,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_rwlockattr_getpshared F
>  GLIBC_2.33 pthread_rwlockattr_init F
>  GLIBC_2.33 pthread_rwlockattr_setkind_np F
>  GLIBC_2.33 pthread_rwlockattr_setpshared F
> diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
> index df48f0831b..d0d9bb5146 100644
> --- a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
> @@ -1505,6 +1505,7 @@ GLIBC_2.27 pthread_rwlock_unlock F
>  GLIBC_2.27 pthread_rwlock_wrlock F
>  GLIBC_2.27 pthread_rwlockattr_destroy F
>  GLIBC_2.27 pthread_rwlockattr_getkind_np F
> +GLIBC_2.27 pthread_rwlockattr_getpshared F
>  GLIBC_2.27 pthread_self F
>  GLIBC_2.27 pthread_setcancelstate F
>  GLIBC_2.27 pthread_setcanceltype F
> @@ -2266,6 +2267,7 @@ GLIBC_2.34 pthread_rwlock_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
>  GLIBC_2.34 pthread_rwlockattr_destroy F
>  GLIBC_2.34 pthread_rwlockattr_getkind_np F
> +GLIBC_2.34 pthread_rwlockattr_getpshared F
>  GLIBC_2.34 pthread_setspecific F
>  GLIBC_2.34 pthread_spin_destroy F
>  GLIBC_2.34 pthread_spin_init F
> diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
> index e64db22a41..9c8d67349f 100644
> --- a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
> @@ -33,7 +33,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_rwlockattr_getpshared F
>  GLIBC_2.27 pthread_rwlockattr_init F
>  GLIBC_2.27 pthread_rwlockattr_setkind_np F
>  GLIBC_2.27 pthread_rwlockattr_setpshared F
> diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
> index 84cbdd978e..0b9f799055 100644
> --- a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
> @@ -1579,6 +1579,7 @@ GLIBC_2.1 pthread_rwlock_unlock F
>  GLIBC_2.1 pthread_rwlock_wrlock F
>  GLIBC_2.1 pthread_rwlockattr_destroy F
>  GLIBC_2.1 pthread_rwlockattr_getkind_np F
> +GLIBC_2.1 pthread_rwlockattr_getpshared F
>  GLIBC_2.1 ptsname F
>  GLIBC_2.1 ptsname_r F
>  GLIBC_2.1 putgrent F
> @@ -2344,6 +2345,7 @@ GLIBC_2.34 pthread_rwlock_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
>  GLIBC_2.34 pthread_rwlockattr_destroy F
>  GLIBC_2.34 pthread_rwlockattr_getkind_np F
> +GLIBC_2.34 pthread_rwlockattr_getpshared F
>  GLIBC_2.34 pthread_setspecific F
>  GLIBC_2.34 pthread_spin_destroy F
>  GLIBC_2.34 pthread_spin_init F
> diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
> index a2b97cf168..9e7c4018bf 100644
> --- a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
> @@ -24,7 +24,6 @@ GLIBC_2.1 pthread_attr_setstackaddr F
>  GLIBC_2.1 pthread_attr_setstacksize F
>  GLIBC_2.1 pthread_create F
>  GLIBC_2.1 pthread_getconcurrency F
> -GLIBC_2.1 pthread_rwlockattr_getpshared F
>  GLIBC_2.1 pthread_rwlockattr_init F
>  GLIBC_2.1 pthread_rwlockattr_setkind_np F
>  GLIBC_2.1 pthread_rwlockattr_setpshared F
> diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
> index 6ff4976362..18d92aedce 100644
> --- a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
> @@ -1344,6 +1344,7 @@ GLIBC_2.2 pthread_rwlock_unlock F
>  GLIBC_2.2 pthread_rwlock_wrlock F
>  GLIBC_2.2 pthread_rwlockattr_destroy F
>  GLIBC_2.2 pthread_rwlockattr_getkind_np F
> +GLIBC_2.2 pthread_rwlockattr_getpshared F
>  GLIBC_2.2 pthread_self F
>  GLIBC_2.2 pthread_setcancelstate F
>  GLIBC_2.2 pthread_setcanceltype F
> @@ -2237,6 +2238,7 @@ GLIBC_2.34 pthread_rwlock_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
>  GLIBC_2.34 pthread_rwlockattr_destroy F
>  GLIBC_2.34 pthread_rwlockattr_getkind_np F
> +GLIBC_2.34 pthread_rwlockattr_getpshared F
>  GLIBC_2.34 pthread_setspecific F
>  GLIBC_2.34 pthread_spin_destroy F
>  GLIBC_2.34 pthread_spin_init F
> diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
> index 3f56ea109e..b20551588f 100644
> --- a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
> @@ -31,7 +31,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_rwlockattr_getpshared F
>  GLIBC_2.2 pthread_rwlockattr_init F
>  GLIBC_2.2 pthread_rwlockattr_setkind_np F
>  GLIBC_2.2 pthread_rwlockattr_setpshared F
> diff --git a/sysdeps/unix/sysv/linux/sh/be/libc.abilist b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
> index 919634c280..66ddceff76 100644
> --- a/sysdeps/unix/sysv/linux/sh/be/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
> @@ -1330,6 +1330,7 @@ GLIBC_2.2 pthread_rwlock_unlock F
>  GLIBC_2.2 pthread_rwlock_wrlock F
>  GLIBC_2.2 pthread_rwlockattr_destroy F
>  GLIBC_2.2 pthread_rwlockattr_getkind_np F
> +GLIBC_2.2 pthread_rwlockattr_getpshared F
>  GLIBC_2.2 pthread_self F
>  GLIBC_2.2 pthread_setcancelstate F
>  GLIBC_2.2 pthread_setcanceltype F
> @@ -2206,6 +2207,7 @@ GLIBC_2.34 pthread_rwlock_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
>  GLIBC_2.34 pthread_rwlockattr_destroy F
>  GLIBC_2.34 pthread_rwlockattr_getkind_np F
> +GLIBC_2.34 pthread_rwlockattr_getpshared F
>  GLIBC_2.34 pthread_setspecific F
>  GLIBC_2.34 pthread_spin_destroy F
>  GLIBC_2.34 pthread_spin_init F
> diff --git a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
> index 84154ef796..bbadf8d6c5 100644
> --- a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
> @@ -30,7 +30,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_rwlockattr_getpshared F
>  GLIBC_2.2 pthread_rwlockattr_init F
>  GLIBC_2.2 pthread_rwlockattr_setkind_np F
>  GLIBC_2.2 pthread_rwlockattr_setpshared F
> diff --git a/sysdeps/unix/sysv/linux/sh/le/libc.abilist b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
> index 4cd67df38b..da6034db4d 100644
> --- a/sysdeps/unix/sysv/linux/sh/le/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
> @@ -1330,6 +1330,7 @@ GLIBC_2.2 pthread_rwlock_unlock F
>  GLIBC_2.2 pthread_rwlock_wrlock F
>  GLIBC_2.2 pthread_rwlockattr_destroy F
>  GLIBC_2.2 pthread_rwlockattr_getkind_np F
> +GLIBC_2.2 pthread_rwlockattr_getpshared F
>  GLIBC_2.2 pthread_self F
>  GLIBC_2.2 pthread_setcancelstate F
>  GLIBC_2.2 pthread_setcanceltype F
> @@ -2203,6 +2204,7 @@ GLIBC_2.34 pthread_rwlock_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
>  GLIBC_2.34 pthread_rwlockattr_destroy F
>  GLIBC_2.34 pthread_rwlockattr_getkind_np F
> +GLIBC_2.34 pthread_rwlockattr_getpshared F
>  GLIBC_2.34 pthread_setspecific F
>  GLIBC_2.34 pthread_spin_destroy F
>  GLIBC_2.34 pthread_spin_init F
> diff --git a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
> index 84154ef796..bbadf8d6c5 100644
> --- a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
> @@ -30,7 +30,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_rwlockattr_getpshared F
>  GLIBC_2.2 pthread_rwlockattr_init F
>  GLIBC_2.2 pthread_rwlockattr_setkind_np F
>  GLIBC_2.2 pthread_rwlockattr_setpshared F
> diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
> index 361ed1ac06..ce237f0622 100644
> --- a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
> @@ -1580,6 +1580,7 @@ GLIBC_2.1 pthread_rwlock_unlock F
>  GLIBC_2.1 pthread_rwlock_wrlock F
>  GLIBC_2.1 pthread_rwlockattr_destroy F
>  GLIBC_2.1 pthread_rwlockattr_getkind_np F
> +GLIBC_2.1 pthread_rwlockattr_getpshared F
>  GLIBC_2.1 ptsname F
>  GLIBC_2.1 ptsname_r F
>  GLIBC_2.1 putgrent F
> @@ -2335,6 +2336,7 @@ GLIBC_2.34 pthread_rwlock_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
>  GLIBC_2.34 pthread_rwlockattr_destroy F
>  GLIBC_2.34 pthread_rwlockattr_getkind_np F
> +GLIBC_2.34 pthread_rwlockattr_getpshared F
>  GLIBC_2.34 pthread_setspecific F
>  GLIBC_2.34 pthread_spin_destroy F
>  GLIBC_2.34 pthread_spin_init F
> diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
> index 64316f12de..14fdab028b 100644
> --- a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
> @@ -24,7 +24,6 @@ GLIBC_2.1 pthread_attr_setstackaddr F
>  GLIBC_2.1 pthread_attr_setstacksize F
>  GLIBC_2.1 pthread_create F
>  GLIBC_2.1 pthread_getconcurrency F
> -GLIBC_2.1 pthread_rwlockattr_getpshared F
>  GLIBC_2.1 pthread_rwlockattr_init F
>  GLIBC_2.1 pthread_rwlockattr_setkind_np F
>  GLIBC_2.1 pthread_rwlockattr_setpshared F
> diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
> index ce8218eb4f..7e3a70fab5 100644
> --- a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
> @@ -1373,6 +1373,7 @@ GLIBC_2.2 pthread_rwlock_unlock F
>  GLIBC_2.2 pthread_rwlock_wrlock F
>  GLIBC_2.2 pthread_rwlockattr_destroy F
>  GLIBC_2.2 pthread_rwlockattr_getkind_np F
> +GLIBC_2.2 pthread_rwlockattr_getpshared F
>  GLIBC_2.2 pthread_self F
>  GLIBC_2.2 pthread_setcancelstate F
>  GLIBC_2.2 pthread_setcanceltype F
> @@ -2254,6 +2255,7 @@ GLIBC_2.34 pthread_rwlock_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
>  GLIBC_2.34 pthread_rwlockattr_destroy F
>  GLIBC_2.34 pthread_rwlockattr_getkind_np F
> +GLIBC_2.34 pthread_rwlockattr_getpshared F
>  GLIBC_2.34 pthread_setspecific F
>  GLIBC_2.34 pthread_spin_destroy F
>  GLIBC_2.34 pthread_spin_init F
> diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
> index 8ede4b3f59..363a00611a 100644
> --- a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
> @@ -30,7 +30,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_rwlockattr_getpshared F
>  GLIBC_2.2 pthread_rwlockattr_init F
>  GLIBC_2.2 pthread_rwlockattr_setkind_np F
>  GLIBC_2.2 pthread_rwlockattr_setpshared F
> diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
> index 851be23314..a7d1df0fb4 100644
> --- a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
> @@ -1341,6 +1341,7 @@ GLIBC_2.2.5 pthread_rwlock_unlock F
>  GLIBC_2.2.5 pthread_rwlock_wrlock F
>  GLIBC_2.2.5 pthread_rwlockattr_destroy F
>  GLIBC_2.2.5 pthread_rwlockattr_getkind_np F
> +GLIBC_2.2.5 pthread_rwlockattr_getpshared F
>  GLIBC_2.2.5 pthread_self F
>  GLIBC_2.2.5 pthread_setcancelstate F
>  GLIBC_2.2.5 pthread_setcanceltype F
> @@ -2215,6 +2216,7 @@ GLIBC_2.34 pthread_rwlock_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
>  GLIBC_2.34 pthread_rwlockattr_destroy F
>  GLIBC_2.34 pthread_rwlockattr_getkind_np F
> +GLIBC_2.34 pthread_rwlockattr_getpshared F
>  GLIBC_2.34 pthread_setspecific F
>  GLIBC_2.34 pthread_spin_destroy F
>  GLIBC_2.34 pthread_spin_init F
> diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
> index 22f4fbaee9..8446bb75c6 100644
> --- a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
> @@ -30,7 +30,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_rwlockattr_getpshared F
>  GLIBC_2.2.5 pthread_rwlockattr_init F
>  GLIBC_2.2.5 pthread_rwlockattr_setkind_np F
>  GLIBC_2.2.5 pthread_rwlockattr_setpshared F
> diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
> index 17d4a83993..ffc8af4417 100644
> --- a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
> @@ -1522,6 +1522,7 @@ GLIBC_2.16 pthread_rwlock_unlock F
>  GLIBC_2.16 pthread_rwlock_wrlock F
>  GLIBC_2.16 pthread_rwlockattr_destroy F
>  GLIBC_2.16 pthread_rwlockattr_getkind_np F
> +GLIBC_2.16 pthread_rwlockattr_getpshared F
>  GLIBC_2.16 pthread_self F
>  GLIBC_2.16 pthread_setcancelstate F
>  GLIBC_2.16 pthread_setcanceltype F
> @@ -2320,6 +2321,7 @@ GLIBC_2.34 pthread_rwlock_unlock F
>  GLIBC_2.34 pthread_rwlock_wrlock F
>  GLIBC_2.34 pthread_rwlockattr_destroy F
>  GLIBC_2.34 pthread_rwlockattr_getkind_np F
> +GLIBC_2.34 pthread_rwlockattr_getpshared F
>  GLIBC_2.34 pthread_setspecific F
>  GLIBC_2.34 pthread_spin_destroy F
>  GLIBC_2.34 pthread_spin_init F
> diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
> index 8e40a92e20..c828dcde04 100644
> --- a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
> @@ -32,7 +32,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_rwlockattr_getpshared F
>  GLIBC_2.16 pthread_rwlockattr_init F
>  GLIBC_2.16 pthread_rwlockattr_setkind_np F
>  GLIBC_2.16 pthread_rwlockattr_setpshared F
> 


-- 
Cheers,
Carlos.


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

* Re: [PATCH 12/14] nptl: Move pthread_rwlockattr_init into libc
  2021-04-23 17:38 ` [PATCH 12/14] nptl: Move pthread_rwlockattr_init " Florian Weimer via Libc-alpha
@ 2021-05-02 19:39   ` Carlos O'Donell via Libc-alpha
  0 siblings, 0 replies; 30+ messages in thread
From: Carlos O'Donell via Libc-alpha @ 2021-05-02 19:39 UTC (permalink / raw)
  To: Florian Weimer, libc-alpha

On 4/23/21 1:38 PM, Florian Weimer via Libc-alpha wrote:
> The symbol was moved using scripts/move-symbol-to-libc.py.

Tested and reviewed on x86_64 and i686.

LGTM.

Reviewed-by: Carlos O'Donell <carlos@redhat.com>
Tested-by: Carlos O'Donell <carlos@redhat.com>

> ---
>  nptl/Makefile                                         |  2 +-
>  nptl/Versions                                         |  3 ++-
>  nptl/pthread_rwlockattr_init.c                        | 11 +++++++++--
>  sysdeps/unix/sysv/linux/aarch64/libc.abilist          |  2 ++
>  sysdeps/unix/sysv/linux/aarch64/libpthread.abilist    |  1 -
>  sysdeps/unix/sysv/linux/alpha/libc.abilist            |  2 ++
>  sysdeps/unix/sysv/linux/alpha/libpthread.abilist      |  1 -
>  sysdeps/unix/sysv/linux/arc/libc.abilist              |  2 ++
>  sysdeps/unix/sysv/linux/arc/libpthread.abilist        |  1 -
>  sysdeps/unix/sysv/linux/arm/be/libc.abilist           |  2 ++
>  sysdeps/unix/sysv/linux/arm/be/libpthread.abilist     |  1 -
>  sysdeps/unix/sysv/linux/arm/le/libc.abilist           |  2 ++
>  sysdeps/unix/sysv/linux/arm/le/libpthread.abilist     |  1 -
>  sysdeps/unix/sysv/linux/csky/libc.abilist             |  2 ++
>  sysdeps/unix/sysv/linux/csky/libpthread.abilist       |  1 -
>  sysdeps/unix/sysv/linux/hppa/libc.abilist             |  2 ++
>  sysdeps/unix/sysv/linux/hppa/libpthread.abilist       |  1 -
>  sysdeps/unix/sysv/linux/i386/libc.abilist             |  2 ++
>  sysdeps/unix/sysv/linux/i386/libpthread.abilist       |  1 -
>  sysdeps/unix/sysv/linux/ia64/libc.abilist             |  2 ++
>  sysdeps/unix/sysv/linux/ia64/libpthread.abilist       |  1 -
>  sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist    |  2 ++
>  .../unix/sysv/linux/m68k/coldfire/libpthread.abilist  |  1 -
>  sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist      |  2 ++
>  .../unix/sysv/linux/m68k/m680x0/libpthread.abilist    |  1 -
>  sysdeps/unix/sysv/linux/microblaze/be/libc.abilist    |  2 ++
>  .../unix/sysv/linux/microblaze/be/libpthread.abilist  |  1 -
>  sysdeps/unix/sysv/linux/microblaze/le/libc.abilist    |  2 ++
>  .../unix/sysv/linux/microblaze/le/libpthread.abilist  |  1 -
>  sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist  |  2 ++
>  .../unix/sysv/linux/mips/mips32/libpthread.abilist    |  1 -
>  .../unix/sysv/linux/mips/mips32/nofpu/libc.abilist    |  2 ++
>  .../unix/sysv/linux/mips/mips64/libpthread.abilist    |  1 -
>  sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist  |  2 ++
>  sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist  |  2 ++
>  sysdeps/unix/sysv/linux/nios2/libc.abilist            |  2 ++
>  sysdeps/unix/sysv/linux/nios2/libpthread.abilist      |  1 -
>  .../sysv/linux/powerpc/powerpc32/fpu/libc.abilist     |  2 ++
>  .../sysv/linux/powerpc/powerpc32/libpthread.abilist   |  1 -
>  .../sysv/linux/powerpc/powerpc32/nofpu/libc.abilist   |  2 ++
>  .../unix/sysv/linux/powerpc/powerpc64/be/libc.abilist |  2 ++
>  .../linux/powerpc/powerpc64/be/libpthread.abilist     |  1 -
>  .../unix/sysv/linux/powerpc/powerpc64/le/libc.abilist |  2 ++
>  .../linux/powerpc/powerpc64/le/libpthread.abilist     |  1 -
>  sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist       |  2 ++
>  sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist |  1 -
>  sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist       |  2 ++
>  sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist |  1 -
>  sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist     |  2 ++
>  .../unix/sysv/linux/s390/s390-32/libpthread.abilist   |  1 -
>  sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist     |  2 ++
>  .../unix/sysv/linux/s390/s390-64/libpthread.abilist   |  1 -
>  sysdeps/unix/sysv/linux/sh/be/libc.abilist            |  2 ++
>  sysdeps/unix/sysv/linux/sh/be/libpthread.abilist      |  1 -
>  sysdeps/unix/sysv/linux/sh/le/libc.abilist            |  2 ++
>  sysdeps/unix/sysv/linux/sh/le/libpthread.abilist      |  1 -
>  sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist    |  2 ++
>  .../unix/sysv/linux/sparc/sparc32/libpthread.abilist  |  1 -
>  sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist    |  2 ++
>  .../unix/sysv/linux/sparc/sparc64/libpthread.abilist  |  1 -
>  sysdeps/unix/sysv/linux/x86_64/64/libc.abilist        |  2 ++
>  sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist  |  1 -
>  sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist       |  2 ++
>  sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist |  1 -
>  64 files changed, 76 insertions(+), 33 deletions(-)
> 
> diff --git a/nptl/Makefile b/nptl/Makefile
> index f60107d0cd..c36d2baa8e 100644
> --- a/nptl/Makefile
> +++ b/nptl/Makefile
> @@ -134,6 +134,7 @@ routines = \
>    pthread_rwlockattr_destroy \
>    pthread_rwlockattr_getkind_np \
>    pthread_rwlockattr_getpshared \
> +  pthread_rwlockattr_init \
>    pthread_self \
>    pthread_setcancelstate \
>    pthread_setcanceltype \
> @@ -189,7 +190,6 @@ libpthread-routines = \
>    pthread_getname \
>    pthread_join \
>    pthread_join_common \
> -  pthread_rwlockattr_init \
>    pthread_rwlockattr_setkind_np \
>    pthread_rwlockattr_setpshared \
>    pthread_setaffinity \
> diff --git a/nptl/Versions b/nptl/Versions
> index f6db087610..b546ca9f81 100644
> --- a/nptl/Versions
> +++ b/nptl/Versions
> @@ -76,6 +76,7 @@ libc {
>      pthread_rwlockattr_destroy;
>      pthread_rwlockattr_getkind_np;
>      pthread_rwlockattr_getpshared;
> +    pthread_rwlockattr_init;
>    }
>    GLIBC_2.2 {
>      __pthread_rwlock_destroy;
> @@ -208,6 +209,7 @@ libc {
>      pthread_rwlockattr_destroy;
>      pthread_rwlockattr_getkind_np;
>      pthread_rwlockattr_getpshared;
> +    pthread_rwlockattr_init;
>      pthread_setspecific;
>      pthread_spin_destroy;
>      pthread_spin_init;
> @@ -298,7 +300,6 @@ libpthread {
>      pthread_attr_setstacksize;
>      pthread_create;
>      pthread_getconcurrency;
> -    pthread_rwlockattr_init;
>      pthread_rwlockattr_setkind_np;
>      pthread_rwlockattr_setpshared;
>      pthread_setconcurrency;
> diff --git a/nptl/pthread_rwlockattr_init.c b/nptl/pthread_rwlockattr_init.c
> index 0df2ddbcd2..3949a0698d 100644
> --- a/nptl/pthread_rwlockattr_init.c
> +++ b/nptl/pthread_rwlockattr_init.c
> @@ -17,10 +17,10 @@
>     <https://www.gnu.org/licenses/>.  */
>  
>  #include "pthreadP.h"
> -
> +#include <shlib-compat.h>
>  
>  int
> -pthread_rwlockattr_init (pthread_rwlockattr_t *attr)
> +__pthread_rwlockattr_init (pthread_rwlockattr_t *attr)
>  {
>    ASSERT_TYPE_SIZE (pthread_rwlockattr_t, __SIZEOF_PTHREAD_RWLOCKATTR_T);
>    ASSERT_PTHREAD_INTERNAL_SIZE (pthread_rwlockattr_t,
> @@ -35,3 +35,10 @@ pthread_rwlockattr_init (pthread_rwlockattr_t *attr)
>  
>    return 0;
>  }
> +versioned_symbol (libc, __pthread_rwlockattr_init,
> +                  pthread_rwlockattr_init, GLIBC_2_34);
> +
> +#if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_1, GLIBC_2_34)
> +compat_symbol (libpthread, __pthread_rwlockattr_init,
> +               pthread_rwlockattr_init, GLIBC_2_1);
> +#endif
> diff --git a/sysdeps/unix/sysv/linux/aarch64/libc.abilist b/sysdeps/unix/sysv/linux/aarch64/libc.abilist
> index bf4a51615b..47094762ae 100644
> --- a/sysdeps/unix/sysv/linux/aarch64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/aarch64/libc.abilist
> @@ -1516,6 +1516,7 @@ GLIBC_2.17 pthread_rwlock_wrlock F
>  GLIBC_2.17 pthread_rwlockattr_destroy F
>  GLIBC_2.17 pthread_rwlockattr_getkind_np F
>  GLIBC_2.17 pthread_rwlockattr_getpshared F
> +GLIBC_2.17 pthread_rwlockattr_init F
>  GLIBC_2.17 pthread_self F
>  GLIBC_2.17 pthread_setcancelstate F
>  GLIBC_2.17 pthread_setcanceltype F
> @@ -2307,6 +2308,7 @@ GLIBC_2.34 pthread_rwlock_wrlock F
>  GLIBC_2.34 pthread_rwlockattr_destroy F
>  GLIBC_2.34 pthread_rwlockattr_getkind_np F
>  GLIBC_2.34 pthread_rwlockattr_getpshared F
> +GLIBC_2.34 pthread_rwlockattr_init F
>  GLIBC_2.34 pthread_setspecific F
>  GLIBC_2.34 pthread_spin_destroy F
>  GLIBC_2.34 pthread_spin_init F
> diff --git a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
> index bdf0f22f05..ab858909d5 100644
> --- a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
> @@ -32,7 +32,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_rwlockattr_init F
>  GLIBC_2.17 pthread_rwlockattr_setkind_np F
>  GLIBC_2.17 pthread_rwlockattr_setpshared F
>  GLIBC_2.17 pthread_setaffinity_np F
> diff --git a/sysdeps/unix/sysv/linux/alpha/libc.abilist b/sysdeps/unix/sysv/linux/alpha/libc.abilist
> index ed98ffcf83..b31a5c2ab0 100644
> --- a/sysdeps/unix/sysv/linux/alpha/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/alpha/libc.abilist
> @@ -1616,6 +1616,7 @@ GLIBC_2.1 pthread_rwlock_wrlock F
>  GLIBC_2.1 pthread_rwlockattr_destroy F
>  GLIBC_2.1 pthread_rwlockattr_getkind_np F
>  GLIBC_2.1 pthread_rwlockattr_getpshared F
> +GLIBC_2.1 pthread_rwlockattr_init F
>  GLIBC_2.1 ptsname F
>  GLIBC_2.1 ptsname_r F
>  GLIBC_2.1 putgrent F
> @@ -2388,6 +2389,7 @@ GLIBC_2.34 pthread_rwlock_wrlock F
>  GLIBC_2.34 pthread_rwlockattr_destroy F
>  GLIBC_2.34 pthread_rwlockattr_getkind_np F
>  GLIBC_2.34 pthread_rwlockattr_getpshared F
> +GLIBC_2.34 pthread_rwlockattr_init F
>  GLIBC_2.34 pthread_setspecific F
>  GLIBC_2.34 pthread_spin_destroy F
>  GLIBC_2.34 pthread_spin_init F
> diff --git a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
> index 14fdab028b..cddd311735 100644
> --- a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
> @@ -24,7 +24,6 @@ GLIBC_2.1 pthread_attr_setstackaddr F
>  GLIBC_2.1 pthread_attr_setstacksize F
>  GLIBC_2.1 pthread_create F
>  GLIBC_2.1 pthread_getconcurrency F
> -GLIBC_2.1 pthread_rwlockattr_init F
>  GLIBC_2.1 pthread_rwlockattr_setkind_np F
>  GLIBC_2.1 pthread_rwlockattr_setpshared F
>  GLIBC_2.1 pthread_setconcurrency F
> diff --git a/sysdeps/unix/sysv/linux/arc/libc.abilist b/sysdeps/unix/sysv/linux/arc/libc.abilist
> index 36dbc8e9a8..49e43e2cf6 100644
> --- a/sysdeps/unix/sysv/linux/arc/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/arc/libc.abilist
> @@ -1446,6 +1446,7 @@ GLIBC_2.32 pthread_rwlock_wrlock F
>  GLIBC_2.32 pthread_rwlockattr_destroy F
>  GLIBC_2.32 pthread_rwlockattr_getkind_np F
>  GLIBC_2.32 pthread_rwlockattr_getpshared F
> +GLIBC_2.32 pthread_rwlockattr_init F
>  GLIBC_2.32 pthread_self F
>  GLIBC_2.32 pthread_setcancelstate F
>  GLIBC_2.32 pthread_setcanceltype F
> @@ -2066,6 +2067,7 @@ GLIBC_2.34 pthread_rwlock_wrlock F
>  GLIBC_2.34 pthread_rwlockattr_destroy F
>  GLIBC_2.34 pthread_rwlockattr_getkind_np F
>  GLIBC_2.34 pthread_rwlockattr_getpshared F
> +GLIBC_2.34 pthread_rwlockattr_init F
>  GLIBC_2.34 pthread_setspecific F
>  GLIBC_2.34 pthread_spin_destroy F
>  GLIBC_2.34 pthread_spin_init F
> diff --git a/sysdeps/unix/sysv/linux/arc/libpthread.abilist b/sysdeps/unix/sysv/linux/arc/libpthread.abilist
> index c8464bcfb2..6354dc37c2 100644
> --- a/sysdeps/unix/sysv/linux/arc/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/arc/libpthread.abilist
> @@ -47,7 +47,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_rwlockattr_init F
>  GLIBC_2.32 pthread_rwlockattr_setkind_np F
>  GLIBC_2.32 pthread_rwlockattr_setpshared F
>  GLIBC_2.32 pthread_setaffinity_np F
> diff --git a/sysdeps/unix/sysv/linux/arm/be/libc.abilist b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
> index 2883babacd..bdcdb6ee4f 100644
> --- a/sysdeps/unix/sysv/linux/arm/be/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
> @@ -218,6 +218,7 @@ GLIBC_2.34 pthread_rwlock_wrlock F
>  GLIBC_2.34 pthread_rwlockattr_destroy F
>  GLIBC_2.34 pthread_rwlockattr_getkind_np F
>  GLIBC_2.34 pthread_rwlockattr_getpshared F
> +GLIBC_2.34 pthread_rwlockattr_init F
>  GLIBC_2.34 pthread_setspecific F
>  GLIBC_2.34 pthread_spin_destroy F
>  GLIBC_2.34 pthread_spin_init F
> @@ -1673,6 +1674,7 @@ GLIBC_2.4 pthread_rwlock_wrlock F
>  GLIBC_2.4 pthread_rwlockattr_destroy F
>  GLIBC_2.4 pthread_rwlockattr_getkind_np F
>  GLIBC_2.4 pthread_rwlockattr_getpshared F
> +GLIBC_2.4 pthread_rwlockattr_init F
>  GLIBC_2.4 pthread_self F
>  GLIBC_2.4 pthread_setcancelstate F
>  GLIBC_2.4 pthread_setcanceltype F
> diff --git a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
> index 5734a3e35b..ece7df9256 100644
> --- a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
> @@ -60,7 +60,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_rwlockattr_init F
>  GLIBC_2.4 pthread_rwlockattr_setkind_np F
>  GLIBC_2.4 pthread_rwlockattr_setpshared F
>  GLIBC_2.4 pthread_setaffinity_np F
> diff --git a/sysdeps/unix/sysv/linux/arm/le/libc.abilist b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
> index 1128ef57dd..9033a872e2 100644
> --- a/sysdeps/unix/sysv/linux/arm/le/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
> @@ -215,6 +215,7 @@ GLIBC_2.34 pthread_rwlock_wrlock F
>  GLIBC_2.34 pthread_rwlockattr_destroy F
>  GLIBC_2.34 pthread_rwlockattr_getkind_np F
>  GLIBC_2.34 pthread_rwlockattr_getpshared F
> +GLIBC_2.34 pthread_rwlockattr_init F
>  GLIBC_2.34 pthread_setspecific F
>  GLIBC_2.34 pthread_spin_destroy F
>  GLIBC_2.34 pthread_spin_init F
> @@ -1670,6 +1671,7 @@ GLIBC_2.4 pthread_rwlock_wrlock F
>  GLIBC_2.4 pthread_rwlockattr_destroy F
>  GLIBC_2.4 pthread_rwlockattr_getkind_np F
>  GLIBC_2.4 pthread_rwlockattr_getpshared F
> +GLIBC_2.4 pthread_rwlockattr_init F
>  GLIBC_2.4 pthread_self F
>  GLIBC_2.4 pthread_setcancelstate F
>  GLIBC_2.4 pthread_setcanceltype F
> diff --git a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
> index 5734a3e35b..ece7df9256 100644
> --- a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
> @@ -60,7 +60,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_rwlockattr_init F
>  GLIBC_2.4 pthread_rwlockattr_setkind_np F
>  GLIBC_2.4 pthread_rwlockattr_setpshared F
>  GLIBC_2.4 pthread_setaffinity_np F
> diff --git a/sysdeps/unix/sysv/linux/csky/libc.abilist b/sysdeps/unix/sysv/linux/csky/libc.abilist
> index 96b5da8d2c..47648f4887 100644
> --- a/sysdeps/unix/sysv/linux/csky/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/csky/libc.abilist
> @@ -1503,6 +1503,7 @@ GLIBC_2.29 pthread_rwlock_wrlock F
>  GLIBC_2.29 pthread_rwlockattr_destroy F
>  GLIBC_2.29 pthread_rwlockattr_getkind_np F
>  GLIBC_2.29 pthread_rwlockattr_getpshared F
> +GLIBC_2.29 pthread_rwlockattr_init F
>  GLIBC_2.29 pthread_self F
>  GLIBC_2.29 pthread_setcancelstate F
>  GLIBC_2.29 pthread_setcanceltype F
> @@ -2250,6 +2251,7 @@ GLIBC_2.34 pthread_rwlock_wrlock F
>  GLIBC_2.34 pthread_rwlockattr_destroy F
>  GLIBC_2.34 pthread_rwlockattr_getkind_np F
>  GLIBC_2.34 pthread_rwlockattr_getpshared F
> +GLIBC_2.34 pthread_rwlockattr_init F
>  GLIBC_2.34 pthread_setspecific F
>  GLIBC_2.34 pthread_spin_destroy F
>  GLIBC_2.34 pthread_spin_init F
> diff --git a/sysdeps/unix/sysv/linux/csky/libpthread.abilist b/sysdeps/unix/sysv/linux/csky/libpthread.abilist
> index 37b32390a9..6efc6197cc 100644
> --- a/sysdeps/unix/sysv/linux/csky/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/csky/libpthread.abilist
> @@ -46,7 +46,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_rwlockattr_init F
>  GLIBC_2.29 pthread_rwlockattr_setkind_np F
>  GLIBC_2.29 pthread_rwlockattr_setpshared F
>  GLIBC_2.29 pthread_setaffinity_np F
> diff --git a/sysdeps/unix/sysv/linux/hppa/libc.abilist b/sysdeps/unix/sysv/linux/hppa/libc.abilist
> index f20a4ec42a..f05ed8a742 100644
> --- a/sysdeps/unix/sysv/linux/hppa/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/hppa/libc.abilist
> @@ -1327,6 +1327,7 @@ GLIBC_2.2 pthread_rwlock_wrlock F
>  GLIBC_2.2 pthread_rwlockattr_destroy F
>  GLIBC_2.2 pthread_rwlockattr_getkind_np F
>  GLIBC_2.2 pthread_rwlockattr_getpshared F
> +GLIBC_2.2 pthread_rwlockattr_init F
>  GLIBC_2.2 pthread_self F
>  GLIBC_2.2 pthread_setcancelstate F
>  GLIBC_2.2 pthread_setcanceltype F
> @@ -2201,6 +2202,7 @@ GLIBC_2.34 pthread_rwlock_wrlock F
>  GLIBC_2.34 pthread_rwlockattr_destroy F
>  GLIBC_2.34 pthread_rwlockattr_getkind_np F
>  GLIBC_2.34 pthread_rwlockattr_getpshared F
> +GLIBC_2.34 pthread_rwlockattr_init F
>  GLIBC_2.34 pthread_setspecific F
>  GLIBC_2.34 pthread_spin_destroy F
>  GLIBC_2.34 pthread_spin_init F
> diff --git a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
> index bbadf8d6c5..b5c9fad576 100644
> --- a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
> @@ -30,7 +30,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_rwlockattr_init F
>  GLIBC_2.2 pthread_rwlockattr_setkind_np F
>  GLIBC_2.2 pthread_rwlockattr_setpshared F
>  GLIBC_2.2 pthread_setconcurrency F
> diff --git a/sysdeps/unix/sysv/linux/i386/libc.abilist b/sysdeps/unix/sysv/linux/i386/libc.abilist
> index e6546b9d62..222e495feb 100644
> --- a/sysdeps/unix/sysv/linux/i386/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/i386/libc.abilist
> @@ -1584,6 +1584,7 @@ GLIBC_2.1 pthread_rwlock_wrlock F
>  GLIBC_2.1 pthread_rwlockattr_destroy F
>  GLIBC_2.1 pthread_rwlockattr_getkind_np F
>  GLIBC_2.1 pthread_rwlockattr_getpshared F
> +GLIBC_2.1 pthread_rwlockattr_init F
>  GLIBC_2.1 ptsname F
>  GLIBC_2.1 ptsname_r F
>  GLIBC_2.1 putgrent F
> @@ -2378,6 +2379,7 @@ GLIBC_2.34 pthread_rwlock_wrlock F
>  GLIBC_2.34 pthread_rwlockattr_destroy F
>  GLIBC_2.34 pthread_rwlockattr_getkind_np F
>  GLIBC_2.34 pthread_rwlockattr_getpshared F
> +GLIBC_2.34 pthread_rwlockattr_init F
>  GLIBC_2.34 pthread_setspecific F
>  GLIBC_2.34 pthread_spin_destroy F
>  GLIBC_2.34 pthread_spin_init F
> diff --git a/sysdeps/unix/sysv/linux/i386/libpthread.abilist b/sysdeps/unix/sysv/linux/i386/libpthread.abilist
> index 5eadc40bc8..24d09710bc 100644
> --- a/sysdeps/unix/sysv/linux/i386/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/i386/libpthread.abilist
> @@ -24,7 +24,6 @@ GLIBC_2.1 pthread_attr_setstackaddr F
>  GLIBC_2.1 pthread_attr_setstacksize F
>  GLIBC_2.1 pthread_create F
>  GLIBC_2.1 pthread_getconcurrency F
> -GLIBC_2.1 pthread_rwlockattr_init F
>  GLIBC_2.1 pthread_rwlockattr_setkind_np F
>  GLIBC_2.1 pthread_rwlockattr_setpshared F
>  GLIBC_2.1 pthread_setconcurrency F
> diff --git a/sysdeps/unix/sysv/linux/ia64/libc.abilist b/sysdeps/unix/sysv/linux/ia64/libc.abilist
> index e24fee9f34..6d34dcb899 100644
> --- a/sysdeps/unix/sysv/linux/ia64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/ia64/libc.abilist
> @@ -1348,6 +1348,7 @@ GLIBC_2.2 pthread_rwlock_wrlock F
>  GLIBC_2.2 pthread_rwlockattr_destroy F
>  GLIBC_2.2 pthread_rwlockattr_getkind_np F
>  GLIBC_2.2 pthread_rwlockattr_getpshared F
> +GLIBC_2.2 pthread_rwlockattr_init F
>  GLIBC_2.2 pthread_self F
>  GLIBC_2.2 pthread_setcancelstate F
>  GLIBC_2.2 pthread_setcanceltype F
> @@ -2235,6 +2236,7 @@ GLIBC_2.34 pthread_rwlock_wrlock F
>  GLIBC_2.34 pthread_rwlockattr_destroy F
>  GLIBC_2.34 pthread_rwlockattr_getkind_np F
>  GLIBC_2.34 pthread_rwlockattr_getpshared F
> +GLIBC_2.34 pthread_rwlockattr_init F
>  GLIBC_2.34 pthread_setspecific F
>  GLIBC_2.34 pthread_spin_destroy F
>  GLIBC_2.34 pthread_spin_init F
> diff --git a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
> index 363a00611a..3e575bf89b 100644
> --- a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
> @@ -30,7 +30,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_rwlockattr_init F
>  GLIBC_2.2 pthread_rwlockattr_setkind_np F
>  GLIBC_2.2 pthread_rwlockattr_setpshared F
>  GLIBC_2.2 pthread_setconcurrency F
> diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
> index 69b80f390e..1b13100fae 100644
> --- a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
> @@ -219,6 +219,7 @@ GLIBC_2.34 pthread_rwlock_wrlock F
>  GLIBC_2.34 pthread_rwlockattr_destroy F
>  GLIBC_2.34 pthread_rwlockattr_getkind_np F
>  GLIBC_2.34 pthread_rwlockattr_getpshared F
> +GLIBC_2.34 pthread_rwlockattr_init F
>  GLIBC_2.34 pthread_setspecific F
>  GLIBC_2.34 pthread_spin_destroy F
>  GLIBC_2.34 pthread_spin_init F
> @@ -1653,6 +1654,7 @@ GLIBC_2.4 pthread_rwlock_wrlock F
>  GLIBC_2.4 pthread_rwlockattr_destroy F
>  GLIBC_2.4 pthread_rwlockattr_getkind_np F
>  GLIBC_2.4 pthread_rwlockattr_getpshared F
> +GLIBC_2.4 pthread_rwlockattr_init F
>  GLIBC_2.4 pthread_self F
>  GLIBC_2.4 pthread_setcancelstate F
>  GLIBC_2.4 pthread_setcanceltype F
> diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
> index 5734a3e35b..ece7df9256 100644
> --- a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
> @@ -60,7 +60,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_rwlockattr_init F
>  GLIBC_2.4 pthread_rwlockattr_setkind_np F
>  GLIBC_2.4 pthread_rwlockattr_setpshared F
>  GLIBC_2.4 pthread_setaffinity_np F
> diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
> index ad72065956..38426c8b8c 100644
> --- a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
> @@ -1580,6 +1580,7 @@ GLIBC_2.1 pthread_rwlock_wrlock F
>  GLIBC_2.1 pthread_rwlockattr_destroy F
>  GLIBC_2.1 pthread_rwlockattr_getkind_np F
>  GLIBC_2.1 pthread_rwlockattr_getpshared F
> +GLIBC_2.1 pthread_rwlockattr_init F
>  GLIBC_2.1 ptsname F
>  GLIBC_2.1 ptsname_r F
>  GLIBC_2.1 putgrent F
> @@ -2321,6 +2322,7 @@ GLIBC_2.34 pthread_rwlock_wrlock F
>  GLIBC_2.34 pthread_rwlockattr_destroy F
>  GLIBC_2.34 pthread_rwlockattr_getkind_np F
>  GLIBC_2.34 pthread_rwlockattr_getpshared F
> +GLIBC_2.34 pthread_rwlockattr_init F
>  GLIBC_2.34 pthread_setspecific F
>  GLIBC_2.34 pthread_spin_destroy F
>  GLIBC_2.34 pthread_spin_init F
> diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
> index 5eadc40bc8..24d09710bc 100644
> --- a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
> @@ -24,7 +24,6 @@ GLIBC_2.1 pthread_attr_setstackaddr F
>  GLIBC_2.1 pthread_attr_setstacksize F
>  GLIBC_2.1 pthread_create F
>  GLIBC_2.1 pthread_getconcurrency F
> -GLIBC_2.1 pthread_rwlockattr_init F
>  GLIBC_2.1 pthread_rwlockattr_setkind_np F
>  GLIBC_2.1 pthread_rwlockattr_setpshared F
>  GLIBC_2.1 pthread_setconcurrency F
> diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
> index d6a1eb459e..143dc94842 100644
> --- a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
> @@ -1518,6 +1518,7 @@ GLIBC_2.18 pthread_rwlock_wrlock F
>  GLIBC_2.18 pthread_rwlockattr_destroy F
>  GLIBC_2.18 pthread_rwlockattr_getkind_np F
>  GLIBC_2.18 pthread_rwlockattr_getpshared F
> +GLIBC_2.18 pthread_rwlockattr_init F
>  GLIBC_2.18 pthread_self F
>  GLIBC_2.18 pthread_setcancelstate F
>  GLIBC_2.18 pthread_setcanceltype F
> @@ -2301,6 +2302,7 @@ GLIBC_2.34 pthread_rwlock_wrlock F
>  GLIBC_2.34 pthread_rwlockattr_destroy F
>  GLIBC_2.34 pthread_rwlockattr_getkind_np F
>  GLIBC_2.34 pthread_rwlockattr_getpshared F
> +GLIBC_2.34 pthread_rwlockattr_init F
>  GLIBC_2.34 pthread_setspecific F
>  GLIBC_2.34 pthread_spin_destroy F
>  GLIBC_2.34 pthread_spin_init F
> diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
> index cc57750616..d886b68411 100644
> --- a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
> @@ -33,7 +33,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_rwlockattr_init F
>  GLIBC_2.18 pthread_rwlockattr_setkind_np F
>  GLIBC_2.18 pthread_rwlockattr_setpshared F
>  GLIBC_2.18 pthread_setaffinity_np F
> diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
> index 3da6064fe0..d19b65cd47 100644
> --- a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
> @@ -1518,6 +1518,7 @@ GLIBC_2.18 pthread_rwlock_wrlock F
>  GLIBC_2.18 pthread_rwlockattr_destroy F
>  GLIBC_2.18 pthread_rwlockattr_getkind_np F
>  GLIBC_2.18 pthread_rwlockattr_getpshared F
> +GLIBC_2.18 pthread_rwlockattr_init F
>  GLIBC_2.18 pthread_self F
>  GLIBC_2.18 pthread_setcancelstate F
>  GLIBC_2.18 pthread_setcanceltype F
> @@ -2298,6 +2299,7 @@ GLIBC_2.34 pthread_rwlock_wrlock F
>  GLIBC_2.34 pthread_rwlockattr_destroy F
>  GLIBC_2.34 pthread_rwlockattr_getkind_np F
>  GLIBC_2.34 pthread_rwlockattr_getpshared F
> +GLIBC_2.34 pthread_rwlockattr_init F
>  GLIBC_2.34 pthread_setspecific F
>  GLIBC_2.34 pthread_spin_destroy F
>  GLIBC_2.34 pthread_spin_init F
> diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
> index cc57750616..d886b68411 100644
> --- a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
> @@ -33,7 +33,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_rwlockattr_init F
>  GLIBC_2.18 pthread_rwlockattr_setkind_np F
>  GLIBC_2.18 pthread_rwlockattr_setpshared F
>  GLIBC_2.18 pthread_setaffinity_np F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
> index 966cefd4a4..458846b0fc 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
> @@ -1857,6 +1857,7 @@ GLIBC_2.2 pthread_rwlock_wrlock F
>  GLIBC_2.2 pthread_rwlockattr_destroy F
>  GLIBC_2.2 pthread_rwlockattr_getkind_np F
>  GLIBC_2.2 pthread_rwlockattr_getpshared F
> +GLIBC_2.2 pthread_rwlockattr_init F
>  GLIBC_2.2 pthread_spin_destroy F
>  GLIBC_2.2 pthread_spin_init F
>  GLIBC_2.2 pthread_spin_lock F
> @@ -2284,6 +2285,7 @@ GLIBC_2.34 pthread_rwlock_wrlock F
>  GLIBC_2.34 pthread_rwlockattr_destroy F
>  GLIBC_2.34 pthread_rwlockattr_getkind_np F
>  GLIBC_2.34 pthread_rwlockattr_getpshared F
> +GLIBC_2.34 pthread_rwlockattr_init F
>  GLIBC_2.34 pthread_setspecific F
>  GLIBC_2.34 pthread_spin_destroy F
>  GLIBC_2.34 pthread_spin_init F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
> index 99a6b20a7f..0acdb4f035 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
> @@ -38,7 +38,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_rwlockattr_init F
>  GLIBC_2.2 pthread_rwlockattr_setkind_np F
>  GLIBC_2.2 pthread_rwlockattr_setpshared F
>  GLIBC_2.2 pthread_setconcurrency F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
> index 1f4867ccce..0390badae0 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
> @@ -1855,6 +1855,7 @@ GLIBC_2.2 pthread_rwlock_wrlock F
>  GLIBC_2.2 pthread_rwlockattr_destroy F
>  GLIBC_2.2 pthread_rwlockattr_getkind_np F
>  GLIBC_2.2 pthread_rwlockattr_getpshared F
> +GLIBC_2.2 pthread_rwlockattr_init F
>  GLIBC_2.2 pthread_spin_destroy F
>  GLIBC_2.2 pthread_spin_init F
>  GLIBC_2.2 pthread_spin_lock F
> @@ -2282,6 +2283,7 @@ GLIBC_2.34 pthread_rwlock_wrlock F
>  GLIBC_2.34 pthread_rwlockattr_destroy F
>  GLIBC_2.34 pthread_rwlockattr_getkind_np F
>  GLIBC_2.34 pthread_rwlockattr_getpshared F
> +GLIBC_2.34 pthread_rwlockattr_init F
>  GLIBC_2.34 pthread_setspecific F
>  GLIBC_2.34 pthread_spin_destroy F
>  GLIBC_2.34 pthread_spin_init F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
> index 99a6b20a7f..0acdb4f035 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
> @@ -38,7 +38,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_rwlockattr_init F
>  GLIBC_2.2 pthread_rwlockattr_setkind_np F
>  GLIBC_2.2 pthread_rwlockattr_setpshared F
>  GLIBC_2.2 pthread_setconcurrency F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
> index bdcfd8448b..8df0ed994a 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
> @@ -1855,6 +1855,7 @@ GLIBC_2.2 pthread_rwlock_wrlock F
>  GLIBC_2.2 pthread_rwlockattr_destroy F
>  GLIBC_2.2 pthread_rwlockattr_getkind_np F
>  GLIBC_2.2 pthread_rwlockattr_getpshared F
> +GLIBC_2.2 pthread_rwlockattr_init F
>  GLIBC_2.2 pthread_spin_destroy F
>  GLIBC_2.2 pthread_spin_init F
>  GLIBC_2.2 pthread_spin_lock F
> @@ -2290,6 +2291,7 @@ GLIBC_2.34 pthread_rwlock_wrlock F
>  GLIBC_2.34 pthread_rwlockattr_destroy F
>  GLIBC_2.34 pthread_rwlockattr_getkind_np F
>  GLIBC_2.34 pthread_rwlockattr_getpshared F
> +GLIBC_2.34 pthread_rwlockattr_init F
>  GLIBC_2.34 pthread_setspecific F
>  GLIBC_2.34 pthread_spin_destroy F
>  GLIBC_2.34 pthread_spin_init F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
> index 1dd6209fec..f6eb792ada 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
> @@ -1851,6 +1851,7 @@ GLIBC_2.2 pthread_rwlock_wrlock F
>  GLIBC_2.2 pthread_rwlockattr_destroy F
>  GLIBC_2.2 pthread_rwlockattr_getkind_np F
>  GLIBC_2.2 pthread_rwlockattr_getpshared F
> +GLIBC_2.2 pthread_rwlockattr_init F
>  GLIBC_2.2 pthread_spin_destroy F
>  GLIBC_2.2 pthread_spin_init F
>  GLIBC_2.2 pthread_spin_lock F
> @@ -2284,6 +2285,7 @@ GLIBC_2.34 pthread_rwlock_wrlock F
>  GLIBC_2.34 pthread_rwlockattr_destroy F
>  GLIBC_2.34 pthread_rwlockattr_getkind_np F
>  GLIBC_2.34 pthread_rwlockattr_getpshared F
> +GLIBC_2.34 pthread_rwlockattr_init F
>  GLIBC_2.34 pthread_setspecific F
>  GLIBC_2.34 pthread_spin_destroy F
>  GLIBC_2.34 pthread_spin_init F
> diff --git a/sysdeps/unix/sysv/linux/nios2/libc.abilist b/sysdeps/unix/sysv/linux/nios2/libc.abilist
> index db7ab7bff8..ca8eb9fd07 100644
> --- a/sysdeps/unix/sysv/linux/nios2/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/nios2/libc.abilist
> @@ -1561,6 +1561,7 @@ GLIBC_2.21 pthread_rwlock_wrlock F
>  GLIBC_2.21 pthread_rwlockattr_destroy F
>  GLIBC_2.21 pthread_rwlockattr_getkind_np F
>  GLIBC_2.21 pthread_rwlockattr_getpshared F
> +GLIBC_2.21 pthread_rwlockattr_init F
>  GLIBC_2.21 pthread_self F
>  GLIBC_2.21 pthread_setcancelstate F
>  GLIBC_2.21 pthread_setcanceltype F
> @@ -2340,6 +2341,7 @@ GLIBC_2.34 pthread_rwlock_wrlock F
>  GLIBC_2.34 pthread_rwlockattr_destroy F
>  GLIBC_2.34 pthread_rwlockattr_getkind_np F
>  GLIBC_2.34 pthread_rwlockattr_getpshared F
> +GLIBC_2.34 pthread_rwlockattr_init F
>  GLIBC_2.34 pthread_setspecific F
>  GLIBC_2.34 pthread_spin_destroy F
>  GLIBC_2.34 pthread_spin_init F
> diff --git a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
> index e91492f4b8..b3536149b9 100644
> --- a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
> @@ -33,7 +33,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_rwlockattr_init F
>  GLIBC_2.21 pthread_rwlockattr_setkind_np F
>  GLIBC_2.21 pthread_rwlockattr_setpshared F
>  GLIBC_2.21 pthread_setaffinity_np F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
> index 5280bec0dd..34e4a13a2d 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
> @@ -1588,6 +1588,7 @@ GLIBC_2.1 pthread_rwlock_wrlock F
>  GLIBC_2.1 pthread_rwlockattr_destroy F
>  GLIBC_2.1 pthread_rwlockattr_getkind_np F
>  GLIBC_2.1 pthread_rwlockattr_getpshared F
> +GLIBC_2.1 pthread_rwlockattr_init F
>  GLIBC_2.1 ptsname F
>  GLIBC_2.1 ptsname_r F
>  GLIBC_2.1 putgrent F
> @@ -2348,6 +2349,7 @@ GLIBC_2.34 pthread_rwlock_wrlock F
>  GLIBC_2.34 pthread_rwlockattr_destroy F
>  GLIBC_2.34 pthread_rwlockattr_getkind_np F
>  GLIBC_2.34 pthread_rwlockattr_getpshared F
> +GLIBC_2.34 pthread_rwlockattr_init F
>  GLIBC_2.34 pthread_setspecific F
>  GLIBC_2.34 pthread_spin_destroy F
>  GLIBC_2.34 pthread_spin_init F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
> index 3567b433e6..c0470dd94f 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
> @@ -24,7 +24,6 @@ GLIBC_2.1 pthread_attr_setstackaddr F
>  GLIBC_2.1 pthread_attr_setstacksize F
>  GLIBC_2.1 pthread_create F
>  GLIBC_2.1 pthread_getconcurrency F
> -GLIBC_2.1 pthread_rwlockattr_init F
>  GLIBC_2.1 pthread_rwlockattr_setkind_np F
>  GLIBC_2.1 pthread_rwlockattr_setpshared F
>  GLIBC_2.1 pthread_setconcurrency F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
> index cbb09a657b..89b78a6779 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
> @@ -1588,6 +1588,7 @@ GLIBC_2.1 pthread_rwlock_wrlock F
>  GLIBC_2.1 pthread_rwlockattr_destroy F
>  GLIBC_2.1 pthread_rwlockattr_getkind_np F
>  GLIBC_2.1 pthread_rwlockattr_getpshared F
> +GLIBC_2.1 pthread_rwlockattr_init F
>  GLIBC_2.1 ptsname F
>  GLIBC_2.1 ptsname_r F
>  GLIBC_2.1 putgrent F
> @@ -2381,6 +2382,7 @@ GLIBC_2.34 pthread_rwlock_wrlock F
>  GLIBC_2.34 pthread_rwlockattr_destroy F
>  GLIBC_2.34 pthread_rwlockattr_getkind_np F
>  GLIBC_2.34 pthread_rwlockattr_getpshared F
> +GLIBC_2.34 pthread_rwlockattr_init F
>  GLIBC_2.34 pthread_setspecific F
>  GLIBC_2.34 pthread_spin_destroy F
>  GLIBC_2.34 pthread_spin_init F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
> index 8831dc0534..d6f6861a0b 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
> @@ -1433,6 +1433,7 @@ GLIBC_2.3 pthread_rwlock_wrlock F
>  GLIBC_2.3 pthread_rwlockattr_destroy F
>  GLIBC_2.3 pthread_rwlockattr_getkind_np F
>  GLIBC_2.3 pthread_rwlockattr_getpshared F
> +GLIBC_2.3 pthread_rwlockattr_init F
>  GLIBC_2.3 pthread_self F
>  GLIBC_2.3 pthread_setcancelstate F
>  GLIBC_2.3 pthread_setcanceltype F
> @@ -2202,6 +2203,7 @@ GLIBC_2.34 pthread_rwlock_wrlock F
>  GLIBC_2.34 pthread_rwlockattr_destroy F
>  GLIBC_2.34 pthread_rwlockattr_getkind_np F
>  GLIBC_2.34 pthread_rwlockattr_getpshared F
> +GLIBC_2.34 pthread_rwlockattr_init F
>  GLIBC_2.34 pthread_setspecific F
>  GLIBC_2.34 pthread_spin_destroy F
>  GLIBC_2.34 pthread_spin_init F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
> index ab30e9bf37..8e82511999 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
> @@ -51,7 +51,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_rwlockattr_init F
>  GLIBC_2.3 pthread_rwlockattr_setkind_np F
>  GLIBC_2.3 pthread_rwlockattr_setpshared F
>  GLIBC_2.3 pthread_setconcurrency F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
> index c58ce82cd3..7522e7631b 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
> @@ -1604,6 +1604,7 @@ GLIBC_2.17 pthread_rwlock_wrlock F
>  GLIBC_2.17 pthread_rwlockattr_destroy F
>  GLIBC_2.17 pthread_rwlockattr_getkind_np F
>  GLIBC_2.17 pthread_rwlockattr_getpshared F
> +GLIBC_2.17 pthread_rwlockattr_init F
>  GLIBC_2.17 pthread_self F
>  GLIBC_2.17 pthread_setcancelstate F
>  GLIBC_2.17 pthread_setcanceltype F
> @@ -2503,6 +2504,7 @@ GLIBC_2.34 pthread_rwlock_wrlock F
>  GLIBC_2.34 pthread_rwlockattr_destroy F
>  GLIBC_2.34 pthread_rwlockattr_getkind_np F
>  GLIBC_2.34 pthread_rwlockattr_getpshared F
> +GLIBC_2.34 pthread_rwlockattr_init F
>  GLIBC_2.34 pthread_setspecific F
>  GLIBC_2.34 pthread_spin_destroy F
>  GLIBC_2.34 pthread_spin_init F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
> index bdf0f22f05..ab858909d5 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
> @@ -32,7 +32,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_rwlockattr_init F
>  GLIBC_2.17 pthread_rwlockattr_setkind_np F
>  GLIBC_2.17 pthread_rwlockattr_setpshared F
>  GLIBC_2.17 pthread_setaffinity_np F
> diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
> index 79134951a0..25cc488252 100644
> --- a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
> @@ -1448,6 +1448,7 @@ GLIBC_2.33 pthread_rwlock_wrlock F
>  GLIBC_2.33 pthread_rwlockattr_destroy F
>  GLIBC_2.33 pthread_rwlockattr_getkind_np F
>  GLIBC_2.33 pthread_rwlockattr_getpshared F
> +GLIBC_2.33 pthread_rwlockattr_init F
>  GLIBC_2.33 pthread_self F
>  GLIBC_2.33 pthread_setcancelstate F
>  GLIBC_2.33 pthread_setcanceltype F
> @@ -2068,6 +2069,7 @@ GLIBC_2.34 pthread_rwlock_wrlock F
>  GLIBC_2.34 pthread_rwlockattr_destroy F
>  GLIBC_2.34 pthread_rwlockattr_getkind_np F
>  GLIBC_2.34 pthread_rwlockattr_getpshared F
> +GLIBC_2.34 pthread_rwlockattr_init F
>  GLIBC_2.34 pthread_setspecific F
>  GLIBC_2.34 pthread_spin_destroy F
>  GLIBC_2.34 pthread_spin_init F
> diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
> index 76542efd0c..931a50ab83 100644
> --- a/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
> @@ -47,7 +47,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_rwlockattr_init F
>  GLIBC_2.33 pthread_rwlockattr_setkind_np F
>  GLIBC_2.33 pthread_rwlockattr_setpshared F
>  GLIBC_2.33 pthread_setaffinity_np F
> diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
> index d0d9bb5146..b35dfdd918 100644
> --- a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
> @@ -1506,6 +1506,7 @@ GLIBC_2.27 pthread_rwlock_wrlock F
>  GLIBC_2.27 pthread_rwlockattr_destroy F
>  GLIBC_2.27 pthread_rwlockattr_getkind_np F
>  GLIBC_2.27 pthread_rwlockattr_getpshared F
> +GLIBC_2.27 pthread_rwlockattr_init F
>  GLIBC_2.27 pthread_self F
>  GLIBC_2.27 pthread_setcancelstate F
>  GLIBC_2.27 pthread_setcanceltype F
> @@ -2268,6 +2269,7 @@ GLIBC_2.34 pthread_rwlock_wrlock F
>  GLIBC_2.34 pthread_rwlockattr_destroy F
>  GLIBC_2.34 pthread_rwlockattr_getkind_np F
>  GLIBC_2.34 pthread_rwlockattr_getpshared F
> +GLIBC_2.34 pthread_rwlockattr_init F
>  GLIBC_2.34 pthread_setspecific F
>  GLIBC_2.34 pthread_spin_destroy F
>  GLIBC_2.34 pthread_spin_init F
> diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
> index 9c8d67349f..ca76a3be0f 100644
> --- a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
> @@ -33,7 +33,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_rwlockattr_init F
>  GLIBC_2.27 pthread_rwlockattr_setkind_np F
>  GLIBC_2.27 pthread_rwlockattr_setpshared F
>  GLIBC_2.27 pthread_setaffinity_np F
> diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
> index 0b9f799055..6b46845260 100644
> --- a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
> @@ -1580,6 +1580,7 @@ GLIBC_2.1 pthread_rwlock_wrlock F
>  GLIBC_2.1 pthread_rwlockattr_destroy F
>  GLIBC_2.1 pthread_rwlockattr_getkind_np F
>  GLIBC_2.1 pthread_rwlockattr_getpshared F
> +GLIBC_2.1 pthread_rwlockattr_init F
>  GLIBC_2.1 ptsname F
>  GLIBC_2.1 ptsname_r F
>  GLIBC_2.1 putgrent F
> @@ -2346,6 +2347,7 @@ GLIBC_2.34 pthread_rwlock_wrlock F
>  GLIBC_2.34 pthread_rwlockattr_destroy F
>  GLIBC_2.34 pthread_rwlockattr_getkind_np F
>  GLIBC_2.34 pthread_rwlockattr_getpshared F
> +GLIBC_2.34 pthread_rwlockattr_init F
>  GLIBC_2.34 pthread_setspecific F
>  GLIBC_2.34 pthread_spin_destroy F
>  GLIBC_2.34 pthread_spin_init F
> diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
> index 9e7c4018bf..7997715c0f 100644
> --- a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
> @@ -24,7 +24,6 @@ GLIBC_2.1 pthread_attr_setstackaddr F
>  GLIBC_2.1 pthread_attr_setstacksize F
>  GLIBC_2.1 pthread_create F
>  GLIBC_2.1 pthread_getconcurrency F
> -GLIBC_2.1 pthread_rwlockattr_init F
>  GLIBC_2.1 pthread_rwlockattr_setkind_np F
>  GLIBC_2.1 pthread_rwlockattr_setpshared F
>  GLIBC_2.1 pthread_setconcurrency F
> diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
> index 18d92aedce..ab59ba576b 100644
> --- a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
> @@ -1345,6 +1345,7 @@ GLIBC_2.2 pthread_rwlock_wrlock F
>  GLIBC_2.2 pthread_rwlockattr_destroy F
>  GLIBC_2.2 pthread_rwlockattr_getkind_np F
>  GLIBC_2.2 pthread_rwlockattr_getpshared F
> +GLIBC_2.2 pthread_rwlockattr_init F
>  GLIBC_2.2 pthread_self F
>  GLIBC_2.2 pthread_setcancelstate F
>  GLIBC_2.2 pthread_setcanceltype F
> @@ -2239,6 +2240,7 @@ GLIBC_2.34 pthread_rwlock_wrlock F
>  GLIBC_2.34 pthread_rwlockattr_destroy F
>  GLIBC_2.34 pthread_rwlockattr_getkind_np F
>  GLIBC_2.34 pthread_rwlockattr_getpshared F
> +GLIBC_2.34 pthread_rwlockattr_init F
>  GLIBC_2.34 pthread_setspecific F
>  GLIBC_2.34 pthread_spin_destroy F
>  GLIBC_2.34 pthread_spin_init F
> diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
> index b20551588f..cfadf59cec 100644
> --- a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
> @@ -31,7 +31,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_rwlockattr_init F
>  GLIBC_2.2 pthread_rwlockattr_setkind_np F
>  GLIBC_2.2 pthread_rwlockattr_setpshared F
>  GLIBC_2.2 pthread_setconcurrency F
> diff --git a/sysdeps/unix/sysv/linux/sh/be/libc.abilist b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
> index 66ddceff76..52a904bece 100644
> --- a/sysdeps/unix/sysv/linux/sh/be/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
> @@ -1331,6 +1331,7 @@ GLIBC_2.2 pthread_rwlock_wrlock F
>  GLIBC_2.2 pthread_rwlockattr_destroy F
>  GLIBC_2.2 pthread_rwlockattr_getkind_np F
>  GLIBC_2.2 pthread_rwlockattr_getpshared F
> +GLIBC_2.2 pthread_rwlockattr_init F
>  GLIBC_2.2 pthread_self F
>  GLIBC_2.2 pthread_setcancelstate F
>  GLIBC_2.2 pthread_setcanceltype F
> @@ -2208,6 +2209,7 @@ GLIBC_2.34 pthread_rwlock_wrlock F
>  GLIBC_2.34 pthread_rwlockattr_destroy F
>  GLIBC_2.34 pthread_rwlockattr_getkind_np F
>  GLIBC_2.34 pthread_rwlockattr_getpshared F
> +GLIBC_2.34 pthread_rwlockattr_init F
>  GLIBC_2.34 pthread_setspecific F
>  GLIBC_2.34 pthread_spin_destroy F
>  GLIBC_2.34 pthread_spin_init F
> diff --git a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
> index bbadf8d6c5..b5c9fad576 100644
> --- a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
> @@ -30,7 +30,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_rwlockattr_init F
>  GLIBC_2.2 pthread_rwlockattr_setkind_np F
>  GLIBC_2.2 pthread_rwlockattr_setpshared F
>  GLIBC_2.2 pthread_setconcurrency F
> diff --git a/sysdeps/unix/sysv/linux/sh/le/libc.abilist b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
> index da6034db4d..7c635de1a9 100644
> --- a/sysdeps/unix/sysv/linux/sh/le/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
> @@ -1331,6 +1331,7 @@ GLIBC_2.2 pthread_rwlock_wrlock F
>  GLIBC_2.2 pthread_rwlockattr_destroy F
>  GLIBC_2.2 pthread_rwlockattr_getkind_np F
>  GLIBC_2.2 pthread_rwlockattr_getpshared F
> +GLIBC_2.2 pthread_rwlockattr_init F
>  GLIBC_2.2 pthread_self F
>  GLIBC_2.2 pthread_setcancelstate F
>  GLIBC_2.2 pthread_setcanceltype F
> @@ -2205,6 +2206,7 @@ GLIBC_2.34 pthread_rwlock_wrlock F
>  GLIBC_2.34 pthread_rwlockattr_destroy F
>  GLIBC_2.34 pthread_rwlockattr_getkind_np F
>  GLIBC_2.34 pthread_rwlockattr_getpshared F
> +GLIBC_2.34 pthread_rwlockattr_init F
>  GLIBC_2.34 pthread_setspecific F
>  GLIBC_2.34 pthread_spin_destroy F
>  GLIBC_2.34 pthread_spin_init F
> diff --git a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
> index bbadf8d6c5..b5c9fad576 100644
> --- a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
> @@ -30,7 +30,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_rwlockattr_init F
>  GLIBC_2.2 pthread_rwlockattr_setkind_np F
>  GLIBC_2.2 pthread_rwlockattr_setpshared F
>  GLIBC_2.2 pthread_setconcurrency F
> diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
> index ce237f0622..d22861fedc 100644
> --- a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
> @@ -1581,6 +1581,7 @@ GLIBC_2.1 pthread_rwlock_wrlock F
>  GLIBC_2.1 pthread_rwlockattr_destroy F
>  GLIBC_2.1 pthread_rwlockattr_getkind_np F
>  GLIBC_2.1 pthread_rwlockattr_getpshared F
> +GLIBC_2.1 pthread_rwlockattr_init F
>  GLIBC_2.1 ptsname F
>  GLIBC_2.1 ptsname_r F
>  GLIBC_2.1 putgrent F
> @@ -2337,6 +2338,7 @@ GLIBC_2.34 pthread_rwlock_wrlock F
>  GLIBC_2.34 pthread_rwlockattr_destroy F
>  GLIBC_2.34 pthread_rwlockattr_getkind_np F
>  GLIBC_2.34 pthread_rwlockattr_getpshared F
> +GLIBC_2.34 pthread_rwlockattr_init F
>  GLIBC_2.34 pthread_setspecific F
>  GLIBC_2.34 pthread_spin_destroy F
>  GLIBC_2.34 pthread_spin_init F
> diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
> index 14fdab028b..cddd311735 100644
> --- a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
> @@ -24,7 +24,6 @@ GLIBC_2.1 pthread_attr_setstackaddr F
>  GLIBC_2.1 pthread_attr_setstacksize F
>  GLIBC_2.1 pthread_create F
>  GLIBC_2.1 pthread_getconcurrency F
> -GLIBC_2.1 pthread_rwlockattr_init F
>  GLIBC_2.1 pthread_rwlockattr_setkind_np F
>  GLIBC_2.1 pthread_rwlockattr_setpshared F
>  GLIBC_2.1 pthread_setconcurrency F
> diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
> index 7e3a70fab5..1321e3778b 100644
> --- a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
> @@ -1374,6 +1374,7 @@ GLIBC_2.2 pthread_rwlock_wrlock F
>  GLIBC_2.2 pthread_rwlockattr_destroy F
>  GLIBC_2.2 pthread_rwlockattr_getkind_np F
>  GLIBC_2.2 pthread_rwlockattr_getpshared F
> +GLIBC_2.2 pthread_rwlockattr_init F
>  GLIBC_2.2 pthread_self F
>  GLIBC_2.2 pthread_setcancelstate F
>  GLIBC_2.2 pthread_setcanceltype F
> @@ -2256,6 +2257,7 @@ GLIBC_2.34 pthread_rwlock_wrlock F
>  GLIBC_2.34 pthread_rwlockattr_destroy F
>  GLIBC_2.34 pthread_rwlockattr_getkind_np F
>  GLIBC_2.34 pthread_rwlockattr_getpshared F
> +GLIBC_2.34 pthread_rwlockattr_init F
>  GLIBC_2.34 pthread_setspecific F
>  GLIBC_2.34 pthread_spin_destroy F
>  GLIBC_2.34 pthread_spin_init F
> diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
> index 363a00611a..3e575bf89b 100644
> --- a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
> @@ -30,7 +30,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_rwlockattr_init F
>  GLIBC_2.2 pthread_rwlockattr_setkind_np F
>  GLIBC_2.2 pthread_rwlockattr_setpshared F
>  GLIBC_2.2 pthread_setconcurrency F
> diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
> index a7d1df0fb4..34dd905b5d 100644
> --- a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
> @@ -1342,6 +1342,7 @@ GLIBC_2.2.5 pthread_rwlock_wrlock F
>  GLIBC_2.2.5 pthread_rwlockattr_destroy F
>  GLIBC_2.2.5 pthread_rwlockattr_getkind_np F
>  GLIBC_2.2.5 pthread_rwlockattr_getpshared F
> +GLIBC_2.2.5 pthread_rwlockattr_init F
>  GLIBC_2.2.5 pthread_self F
>  GLIBC_2.2.5 pthread_setcancelstate F
>  GLIBC_2.2.5 pthread_setcanceltype F
> @@ -2217,6 +2218,7 @@ GLIBC_2.34 pthread_rwlock_wrlock F
>  GLIBC_2.34 pthread_rwlockattr_destroy F
>  GLIBC_2.34 pthread_rwlockattr_getkind_np F
>  GLIBC_2.34 pthread_rwlockattr_getpshared F
> +GLIBC_2.34 pthread_rwlockattr_init F
>  GLIBC_2.34 pthread_setspecific F
>  GLIBC_2.34 pthread_spin_destroy F
>  GLIBC_2.34 pthread_spin_init F
> diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
> index 8446bb75c6..eddd339dcf 100644
> --- a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
> @@ -30,7 +30,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_rwlockattr_init F
>  GLIBC_2.2.5 pthread_rwlockattr_setkind_np F
>  GLIBC_2.2.5 pthread_rwlockattr_setpshared F
>  GLIBC_2.2.5 pthread_setconcurrency F
> diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
> index ffc8af4417..24fd00a5ac 100644
> --- a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
> @@ -1523,6 +1523,7 @@ GLIBC_2.16 pthread_rwlock_wrlock F
>  GLIBC_2.16 pthread_rwlockattr_destroy F
>  GLIBC_2.16 pthread_rwlockattr_getkind_np F
>  GLIBC_2.16 pthread_rwlockattr_getpshared F
> +GLIBC_2.16 pthread_rwlockattr_init F
>  GLIBC_2.16 pthread_self F
>  GLIBC_2.16 pthread_setcancelstate F
>  GLIBC_2.16 pthread_setcanceltype F
> @@ -2322,6 +2323,7 @@ GLIBC_2.34 pthread_rwlock_wrlock F
>  GLIBC_2.34 pthread_rwlockattr_destroy F
>  GLIBC_2.34 pthread_rwlockattr_getkind_np F
>  GLIBC_2.34 pthread_rwlockattr_getpshared F
> +GLIBC_2.34 pthread_rwlockattr_init F
>  GLIBC_2.34 pthread_setspecific F
>  GLIBC_2.34 pthread_spin_destroy F
>  GLIBC_2.34 pthread_spin_init F
> diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
> index c828dcde04..bda04a7cc7 100644
> --- a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
> @@ -32,7 +32,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_rwlockattr_init F
>  GLIBC_2.16 pthread_rwlockattr_setkind_np F
>  GLIBC_2.16 pthread_rwlockattr_setpshared F
>  GLIBC_2.16 pthread_setaffinity_np F
> 


-- 
Cheers,
Carlos.


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

* Re: [PATCH 13/14] nptl: Move pthread_rwlockattr_setkind_np into libc
  2021-04-23 17:38 ` [PATCH 13/14] nptl: Move pthread_rwlockattr_setkind_np " Florian Weimer via Libc-alpha
@ 2021-05-02 19:39   ` Carlos O'Donell via Libc-alpha
  0 siblings, 0 replies; 30+ messages in thread
From: Carlos O'Donell via Libc-alpha @ 2021-05-02 19:39 UTC (permalink / raw)
  To: Florian Weimer, libc-alpha

On 4/23/21 1:38 PM, Florian Weimer via Libc-alpha wrote:
> The symbol was moved using scripts/move-symbol-to-libc.py.

Tested and reviewed on x86_64 and i686.

LGTM.

Reviewed-by: Carlos O'Donell <carlos@redhat.com>
Tested-by: Carlos O'Donell <carlos@redhat.com>

> ---
>  nptl/Makefile                                         |  2 +-
>  nptl/Versions                                         |  3 ++-
>  nptl/pthread_rwlockattr_setkind_np.c                  | 11 +++++++++--
>  sysdeps/unix/sysv/linux/aarch64/libc.abilist          |  2 ++
>  sysdeps/unix/sysv/linux/aarch64/libpthread.abilist    |  1 -
>  sysdeps/unix/sysv/linux/alpha/libc.abilist            |  2 ++
>  sysdeps/unix/sysv/linux/alpha/libpthread.abilist      |  1 -
>  sysdeps/unix/sysv/linux/arc/libc.abilist              |  2 ++
>  sysdeps/unix/sysv/linux/arc/libpthread.abilist        |  1 -
>  sysdeps/unix/sysv/linux/arm/be/libc.abilist           |  2 ++
>  sysdeps/unix/sysv/linux/arm/be/libpthread.abilist     |  1 -
>  sysdeps/unix/sysv/linux/arm/le/libc.abilist           |  2 ++
>  sysdeps/unix/sysv/linux/arm/le/libpthread.abilist     |  1 -
>  sysdeps/unix/sysv/linux/csky/libc.abilist             |  2 ++
>  sysdeps/unix/sysv/linux/csky/libpthread.abilist       |  1 -
>  sysdeps/unix/sysv/linux/hppa/libc.abilist             |  2 ++
>  sysdeps/unix/sysv/linux/hppa/libpthread.abilist       |  1 -
>  sysdeps/unix/sysv/linux/i386/libc.abilist             |  2 ++
>  sysdeps/unix/sysv/linux/i386/libpthread.abilist       |  1 -
>  sysdeps/unix/sysv/linux/ia64/libc.abilist             |  2 ++
>  sysdeps/unix/sysv/linux/ia64/libpthread.abilist       |  1 -
>  sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist    |  2 ++
>  .../unix/sysv/linux/m68k/coldfire/libpthread.abilist  |  1 -
>  sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist      |  2 ++
>  .../unix/sysv/linux/m68k/m680x0/libpthread.abilist    |  1 -
>  sysdeps/unix/sysv/linux/microblaze/be/libc.abilist    |  2 ++
>  .../unix/sysv/linux/microblaze/be/libpthread.abilist  |  1 -
>  sysdeps/unix/sysv/linux/microblaze/le/libc.abilist    |  2 ++
>  .../unix/sysv/linux/microblaze/le/libpthread.abilist  |  1 -
>  sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist  |  2 ++
>  .../unix/sysv/linux/mips/mips32/libpthread.abilist    |  1 -
>  .../unix/sysv/linux/mips/mips32/nofpu/libc.abilist    |  2 ++
>  .../unix/sysv/linux/mips/mips64/libpthread.abilist    |  1 -
>  sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist  |  2 ++
>  sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist  |  2 ++
>  sysdeps/unix/sysv/linux/nios2/libc.abilist            |  2 ++
>  sysdeps/unix/sysv/linux/nios2/libpthread.abilist      |  1 -
>  .../sysv/linux/powerpc/powerpc32/fpu/libc.abilist     |  2 ++
>  .../sysv/linux/powerpc/powerpc32/libpthread.abilist   |  1 -
>  .../sysv/linux/powerpc/powerpc32/nofpu/libc.abilist   |  2 ++
>  .../unix/sysv/linux/powerpc/powerpc64/be/libc.abilist |  2 ++
>  .../linux/powerpc/powerpc64/be/libpthread.abilist     |  1 -
>  .../unix/sysv/linux/powerpc/powerpc64/le/libc.abilist |  2 ++
>  .../linux/powerpc/powerpc64/le/libpthread.abilist     |  1 -
>  sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist       |  2 ++
>  sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist |  1 -
>  sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist       |  2 ++
>  sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist |  1 -
>  sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist     |  2 ++
>  .../unix/sysv/linux/s390/s390-32/libpthread.abilist   |  1 -
>  sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist     |  2 ++
>  .../unix/sysv/linux/s390/s390-64/libpthread.abilist   |  1 -
>  sysdeps/unix/sysv/linux/sh/be/libc.abilist            |  2 ++
>  sysdeps/unix/sysv/linux/sh/be/libpthread.abilist      |  1 -
>  sysdeps/unix/sysv/linux/sh/le/libc.abilist            |  2 ++
>  sysdeps/unix/sysv/linux/sh/le/libpthread.abilist      |  1 -
>  sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist    |  2 ++
>  .../unix/sysv/linux/sparc/sparc32/libpthread.abilist  |  1 -
>  sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist    |  2 ++
>  .../unix/sysv/linux/sparc/sparc64/libpthread.abilist  |  1 -
>  sysdeps/unix/sysv/linux/x86_64/64/libc.abilist        |  2 ++
>  sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist  |  1 -
>  sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist       |  2 ++
>  sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist |  1 -
>  64 files changed, 76 insertions(+), 33 deletions(-)
> 
> diff --git a/nptl/Makefile b/nptl/Makefile
> index c36d2baa8e..71c698b4f5 100644
> --- a/nptl/Makefile
> +++ b/nptl/Makefile
> @@ -135,6 +135,7 @@ routines = \
>    pthread_rwlockattr_getkind_np \
>    pthread_rwlockattr_getpshared \
>    pthread_rwlockattr_init \
> +  pthread_rwlockattr_setkind_np \
>    pthread_self \
>    pthread_setcancelstate \
>    pthread_setcanceltype \
> @@ -190,7 +191,6 @@ libpthread-routines = \
>    pthread_getname \
>    pthread_join \
>    pthread_join_common \
> -  pthread_rwlockattr_setkind_np \
>    pthread_rwlockattr_setpshared \
>    pthread_setaffinity \
>    pthread_setattr_default_np \
> diff --git a/nptl/Versions b/nptl/Versions
> index b546ca9f81..235060101e 100644
> --- a/nptl/Versions
> +++ b/nptl/Versions
> @@ -77,6 +77,7 @@ libc {
>      pthread_rwlockattr_getkind_np;
>      pthread_rwlockattr_getpshared;
>      pthread_rwlockattr_init;
> +    pthread_rwlockattr_setkind_np;
>    }
>    GLIBC_2.2 {
>      __pthread_rwlock_destroy;
> @@ -210,6 +211,7 @@ libc {
>      pthread_rwlockattr_getkind_np;
>      pthread_rwlockattr_getpshared;
>      pthread_rwlockattr_init;
> +    pthread_rwlockattr_setkind_np;
>      pthread_setspecific;
>      pthread_spin_destroy;
>      pthread_spin_init;
> @@ -300,7 +302,6 @@ libpthread {
>      pthread_attr_setstacksize;
>      pthread_create;
>      pthread_getconcurrency;
> -    pthread_rwlockattr_setkind_np;
>      pthread_rwlockattr_setpshared;
>      pthread_setconcurrency;
>      sem_destroy;
> diff --git a/nptl/pthread_rwlockattr_setkind_np.c b/nptl/pthread_rwlockattr_setkind_np.c
> index eda7b54bc8..9e13665470 100644
> --- a/nptl/pthread_rwlockattr_setkind_np.c
> +++ b/nptl/pthread_rwlockattr_setkind_np.c
> @@ -18,10 +18,10 @@
>  
>  #include <errno.h>
>  #include "pthreadP.h"
> -
> +#include <shlib-compat.h>
>  
>  int
> -pthread_rwlockattr_setkind_np (pthread_rwlockattr_t *attr, int pref)
> +__pthread_rwlockattr_setkind_np (pthread_rwlockattr_t *attr, int pref)
>  {
>    struct pthread_rwlockattr *iattr;
>  
> @@ -36,3 +36,10 @@ pthread_rwlockattr_setkind_np (pthread_rwlockattr_t *attr, int pref)
>  
>    return 0;
>  }
> +versioned_symbol (libc, __pthread_rwlockattr_setkind_np,
> +                  pthread_rwlockattr_setkind_np, GLIBC_2_34);
> +
> +#if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_1, GLIBC_2_34)
> +compat_symbol (libpthread, __pthread_rwlockattr_setkind_np,
> +               pthread_rwlockattr_setkind_np, GLIBC_2_1);
> +#endif
> diff --git a/sysdeps/unix/sysv/linux/aarch64/libc.abilist b/sysdeps/unix/sysv/linux/aarch64/libc.abilist
> index 47094762ae..6c33e2d488 100644
> --- a/sysdeps/unix/sysv/linux/aarch64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/aarch64/libc.abilist
> @@ -1517,6 +1517,7 @@ GLIBC_2.17 pthread_rwlockattr_destroy F
>  GLIBC_2.17 pthread_rwlockattr_getkind_np F
>  GLIBC_2.17 pthread_rwlockattr_getpshared F
>  GLIBC_2.17 pthread_rwlockattr_init F
> +GLIBC_2.17 pthread_rwlockattr_setkind_np F
>  GLIBC_2.17 pthread_self F
>  GLIBC_2.17 pthread_setcancelstate F
>  GLIBC_2.17 pthread_setcanceltype F
> @@ -2309,6 +2310,7 @@ GLIBC_2.34 pthread_rwlockattr_destroy F
>  GLIBC_2.34 pthread_rwlockattr_getkind_np F
>  GLIBC_2.34 pthread_rwlockattr_getpshared F
>  GLIBC_2.34 pthread_rwlockattr_init F
> +GLIBC_2.34 pthread_rwlockattr_setkind_np F
>  GLIBC_2.34 pthread_setspecific F
>  GLIBC_2.34 pthread_spin_destroy F
>  GLIBC_2.34 pthread_spin_init F
> diff --git a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
> index ab858909d5..78fd215f41 100644
> --- a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
> @@ -32,7 +32,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_rwlockattr_setkind_np F
>  GLIBC_2.17 pthread_rwlockattr_setpshared F
>  GLIBC_2.17 pthread_setaffinity_np F
>  GLIBC_2.17 pthread_setconcurrency F
> diff --git a/sysdeps/unix/sysv/linux/alpha/libc.abilist b/sysdeps/unix/sysv/linux/alpha/libc.abilist
> index b31a5c2ab0..0827b4897c 100644
> --- a/sysdeps/unix/sysv/linux/alpha/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/alpha/libc.abilist
> @@ -1617,6 +1617,7 @@ GLIBC_2.1 pthread_rwlockattr_destroy F
>  GLIBC_2.1 pthread_rwlockattr_getkind_np F
>  GLIBC_2.1 pthread_rwlockattr_getpshared F
>  GLIBC_2.1 pthread_rwlockattr_init F
> +GLIBC_2.1 pthread_rwlockattr_setkind_np F
>  GLIBC_2.1 ptsname F
>  GLIBC_2.1 ptsname_r F
>  GLIBC_2.1 putgrent F
> @@ -2390,6 +2391,7 @@ GLIBC_2.34 pthread_rwlockattr_destroy F
>  GLIBC_2.34 pthread_rwlockattr_getkind_np F
>  GLIBC_2.34 pthread_rwlockattr_getpshared F
>  GLIBC_2.34 pthread_rwlockattr_init F
> +GLIBC_2.34 pthread_rwlockattr_setkind_np F
>  GLIBC_2.34 pthread_setspecific F
>  GLIBC_2.34 pthread_spin_destroy F
>  GLIBC_2.34 pthread_spin_init F
> diff --git a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
> index cddd311735..25c6d113d8 100644
> --- a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
> @@ -24,7 +24,6 @@ GLIBC_2.1 pthread_attr_setstackaddr F
>  GLIBC_2.1 pthread_attr_setstacksize F
>  GLIBC_2.1 pthread_create F
>  GLIBC_2.1 pthread_getconcurrency F
> -GLIBC_2.1 pthread_rwlockattr_setkind_np F
>  GLIBC_2.1 pthread_rwlockattr_setpshared F
>  GLIBC_2.1 pthread_setconcurrency F
>  GLIBC_2.1 sem_destroy F
> diff --git a/sysdeps/unix/sysv/linux/arc/libc.abilist b/sysdeps/unix/sysv/linux/arc/libc.abilist
> index 49e43e2cf6..4a964150d4 100644
> --- a/sysdeps/unix/sysv/linux/arc/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/arc/libc.abilist
> @@ -1447,6 +1447,7 @@ GLIBC_2.32 pthread_rwlockattr_destroy F
>  GLIBC_2.32 pthread_rwlockattr_getkind_np F
>  GLIBC_2.32 pthread_rwlockattr_getpshared F
>  GLIBC_2.32 pthread_rwlockattr_init F
> +GLIBC_2.32 pthread_rwlockattr_setkind_np F
>  GLIBC_2.32 pthread_self F
>  GLIBC_2.32 pthread_setcancelstate F
>  GLIBC_2.32 pthread_setcanceltype F
> @@ -2068,6 +2069,7 @@ GLIBC_2.34 pthread_rwlockattr_destroy F
>  GLIBC_2.34 pthread_rwlockattr_getkind_np F
>  GLIBC_2.34 pthread_rwlockattr_getpshared F
>  GLIBC_2.34 pthread_rwlockattr_init F
> +GLIBC_2.34 pthread_rwlockattr_setkind_np F
>  GLIBC_2.34 pthread_setspecific F
>  GLIBC_2.34 pthread_spin_destroy F
>  GLIBC_2.34 pthread_spin_init F
> diff --git a/sysdeps/unix/sysv/linux/arc/libpthread.abilist b/sysdeps/unix/sysv/linux/arc/libpthread.abilist
> index 6354dc37c2..490200a117 100644
> --- a/sysdeps/unix/sysv/linux/arc/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/arc/libpthread.abilist
> @@ -47,7 +47,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_rwlockattr_setkind_np F
>  GLIBC_2.32 pthread_rwlockattr_setpshared F
>  GLIBC_2.32 pthread_setaffinity_np F
>  GLIBC_2.32 pthread_setattr_default_np F
> diff --git a/sysdeps/unix/sysv/linux/arm/be/libc.abilist b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
> index bdcdb6ee4f..fc64aeb74d 100644
> --- a/sysdeps/unix/sysv/linux/arm/be/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
> @@ -219,6 +219,7 @@ GLIBC_2.34 pthread_rwlockattr_destroy F
>  GLIBC_2.34 pthread_rwlockattr_getkind_np F
>  GLIBC_2.34 pthread_rwlockattr_getpshared F
>  GLIBC_2.34 pthread_rwlockattr_init F
> +GLIBC_2.34 pthread_rwlockattr_setkind_np F
>  GLIBC_2.34 pthread_setspecific F
>  GLIBC_2.34 pthread_spin_destroy F
>  GLIBC_2.34 pthread_spin_init F
> @@ -1675,6 +1676,7 @@ GLIBC_2.4 pthread_rwlockattr_destroy F
>  GLIBC_2.4 pthread_rwlockattr_getkind_np F
>  GLIBC_2.4 pthread_rwlockattr_getpshared F
>  GLIBC_2.4 pthread_rwlockattr_init F
> +GLIBC_2.4 pthread_rwlockattr_setkind_np F
>  GLIBC_2.4 pthread_self F
>  GLIBC_2.4 pthread_setcancelstate F
>  GLIBC_2.4 pthread_setcanceltype F
> diff --git a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
> index ece7df9256..407b8b52c9 100644
> --- a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
> @@ -60,7 +60,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_rwlockattr_setkind_np F
>  GLIBC_2.4 pthread_rwlockattr_setpshared F
>  GLIBC_2.4 pthread_setaffinity_np F
>  GLIBC_2.4 pthread_setconcurrency F
> diff --git a/sysdeps/unix/sysv/linux/arm/le/libc.abilist b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
> index 9033a872e2..4d8f0921f0 100644
> --- a/sysdeps/unix/sysv/linux/arm/le/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
> @@ -216,6 +216,7 @@ GLIBC_2.34 pthread_rwlockattr_destroy F
>  GLIBC_2.34 pthread_rwlockattr_getkind_np F
>  GLIBC_2.34 pthread_rwlockattr_getpshared F
>  GLIBC_2.34 pthread_rwlockattr_init F
> +GLIBC_2.34 pthread_rwlockattr_setkind_np F
>  GLIBC_2.34 pthread_setspecific F
>  GLIBC_2.34 pthread_spin_destroy F
>  GLIBC_2.34 pthread_spin_init F
> @@ -1672,6 +1673,7 @@ GLIBC_2.4 pthread_rwlockattr_destroy F
>  GLIBC_2.4 pthread_rwlockattr_getkind_np F
>  GLIBC_2.4 pthread_rwlockattr_getpshared F
>  GLIBC_2.4 pthread_rwlockattr_init F
> +GLIBC_2.4 pthread_rwlockattr_setkind_np F
>  GLIBC_2.4 pthread_self F
>  GLIBC_2.4 pthread_setcancelstate F
>  GLIBC_2.4 pthread_setcanceltype F
> diff --git a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
> index ece7df9256..407b8b52c9 100644
> --- a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
> @@ -60,7 +60,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_rwlockattr_setkind_np F
>  GLIBC_2.4 pthread_rwlockattr_setpshared F
>  GLIBC_2.4 pthread_setaffinity_np F
>  GLIBC_2.4 pthread_setconcurrency F
> diff --git a/sysdeps/unix/sysv/linux/csky/libc.abilist b/sysdeps/unix/sysv/linux/csky/libc.abilist
> index 47648f4887..d64664bc47 100644
> --- a/sysdeps/unix/sysv/linux/csky/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/csky/libc.abilist
> @@ -1504,6 +1504,7 @@ GLIBC_2.29 pthread_rwlockattr_destroy F
>  GLIBC_2.29 pthread_rwlockattr_getkind_np F
>  GLIBC_2.29 pthread_rwlockattr_getpshared F
>  GLIBC_2.29 pthread_rwlockattr_init F
> +GLIBC_2.29 pthread_rwlockattr_setkind_np F
>  GLIBC_2.29 pthread_self F
>  GLIBC_2.29 pthread_setcancelstate F
>  GLIBC_2.29 pthread_setcanceltype F
> @@ -2252,6 +2253,7 @@ GLIBC_2.34 pthread_rwlockattr_destroy F
>  GLIBC_2.34 pthread_rwlockattr_getkind_np F
>  GLIBC_2.34 pthread_rwlockattr_getpshared F
>  GLIBC_2.34 pthread_rwlockattr_init F
> +GLIBC_2.34 pthread_rwlockattr_setkind_np F
>  GLIBC_2.34 pthread_setspecific F
>  GLIBC_2.34 pthread_spin_destroy F
>  GLIBC_2.34 pthread_spin_init F
> diff --git a/sysdeps/unix/sysv/linux/csky/libpthread.abilist b/sysdeps/unix/sysv/linux/csky/libpthread.abilist
> index 6efc6197cc..f74ba640b8 100644
> --- a/sysdeps/unix/sysv/linux/csky/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/csky/libpthread.abilist
> @@ -46,7 +46,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_rwlockattr_setkind_np F
>  GLIBC_2.29 pthread_rwlockattr_setpshared F
>  GLIBC_2.29 pthread_setaffinity_np F
>  GLIBC_2.29 pthread_setattr_default_np F
> diff --git a/sysdeps/unix/sysv/linux/hppa/libc.abilist b/sysdeps/unix/sysv/linux/hppa/libc.abilist
> index f05ed8a742..ecfe3a62fe 100644
> --- a/sysdeps/unix/sysv/linux/hppa/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/hppa/libc.abilist
> @@ -1328,6 +1328,7 @@ GLIBC_2.2 pthread_rwlockattr_destroy F
>  GLIBC_2.2 pthread_rwlockattr_getkind_np F
>  GLIBC_2.2 pthread_rwlockattr_getpshared F
>  GLIBC_2.2 pthread_rwlockattr_init F
> +GLIBC_2.2 pthread_rwlockattr_setkind_np F
>  GLIBC_2.2 pthread_self F
>  GLIBC_2.2 pthread_setcancelstate F
>  GLIBC_2.2 pthread_setcanceltype F
> @@ -2203,6 +2204,7 @@ GLIBC_2.34 pthread_rwlockattr_destroy F
>  GLIBC_2.34 pthread_rwlockattr_getkind_np F
>  GLIBC_2.34 pthread_rwlockattr_getpshared F
>  GLIBC_2.34 pthread_rwlockattr_init F
> +GLIBC_2.34 pthread_rwlockattr_setkind_np F
>  GLIBC_2.34 pthread_setspecific F
>  GLIBC_2.34 pthread_spin_destroy F
>  GLIBC_2.34 pthread_spin_init F
> diff --git a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
> index b5c9fad576..0e0b33dd4f 100644
> --- a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
> @@ -30,7 +30,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_rwlockattr_setkind_np F
>  GLIBC_2.2 pthread_rwlockattr_setpshared F
>  GLIBC_2.2 pthread_setconcurrency F
>  GLIBC_2.2 pthread_testcancel F
> diff --git a/sysdeps/unix/sysv/linux/i386/libc.abilist b/sysdeps/unix/sysv/linux/i386/libc.abilist
> index 222e495feb..77baa063c8 100644
> --- a/sysdeps/unix/sysv/linux/i386/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/i386/libc.abilist
> @@ -1585,6 +1585,7 @@ GLIBC_2.1 pthread_rwlockattr_destroy F
>  GLIBC_2.1 pthread_rwlockattr_getkind_np F
>  GLIBC_2.1 pthread_rwlockattr_getpshared F
>  GLIBC_2.1 pthread_rwlockattr_init F
> +GLIBC_2.1 pthread_rwlockattr_setkind_np F
>  GLIBC_2.1 ptsname F
>  GLIBC_2.1 ptsname_r F
>  GLIBC_2.1 putgrent F
> @@ -2380,6 +2381,7 @@ GLIBC_2.34 pthread_rwlockattr_destroy F
>  GLIBC_2.34 pthread_rwlockattr_getkind_np F
>  GLIBC_2.34 pthread_rwlockattr_getpshared F
>  GLIBC_2.34 pthread_rwlockattr_init F
> +GLIBC_2.34 pthread_rwlockattr_setkind_np F
>  GLIBC_2.34 pthread_setspecific F
>  GLIBC_2.34 pthread_spin_destroy F
>  GLIBC_2.34 pthread_spin_init F
> diff --git a/sysdeps/unix/sysv/linux/i386/libpthread.abilist b/sysdeps/unix/sysv/linux/i386/libpthread.abilist
> index 24d09710bc..27a09876c2 100644
> --- a/sysdeps/unix/sysv/linux/i386/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/i386/libpthread.abilist
> @@ -24,7 +24,6 @@ GLIBC_2.1 pthread_attr_setstackaddr F
>  GLIBC_2.1 pthread_attr_setstacksize F
>  GLIBC_2.1 pthread_create F
>  GLIBC_2.1 pthread_getconcurrency F
> -GLIBC_2.1 pthread_rwlockattr_setkind_np F
>  GLIBC_2.1 pthread_rwlockattr_setpshared F
>  GLIBC_2.1 pthread_setconcurrency F
>  GLIBC_2.1 sem_destroy F
> diff --git a/sysdeps/unix/sysv/linux/ia64/libc.abilist b/sysdeps/unix/sysv/linux/ia64/libc.abilist
> index 6d34dcb899..e7cbb60624 100644
> --- a/sysdeps/unix/sysv/linux/ia64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/ia64/libc.abilist
> @@ -1349,6 +1349,7 @@ GLIBC_2.2 pthread_rwlockattr_destroy F
>  GLIBC_2.2 pthread_rwlockattr_getkind_np F
>  GLIBC_2.2 pthread_rwlockattr_getpshared F
>  GLIBC_2.2 pthread_rwlockattr_init F
> +GLIBC_2.2 pthread_rwlockattr_setkind_np F
>  GLIBC_2.2 pthread_self F
>  GLIBC_2.2 pthread_setcancelstate F
>  GLIBC_2.2 pthread_setcanceltype F
> @@ -2237,6 +2238,7 @@ GLIBC_2.34 pthread_rwlockattr_destroy F
>  GLIBC_2.34 pthread_rwlockattr_getkind_np F
>  GLIBC_2.34 pthread_rwlockattr_getpshared F
>  GLIBC_2.34 pthread_rwlockattr_init F
> +GLIBC_2.34 pthread_rwlockattr_setkind_np F
>  GLIBC_2.34 pthread_setspecific F
>  GLIBC_2.34 pthread_spin_destroy F
>  GLIBC_2.34 pthread_spin_init F
> diff --git a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
> index 3e575bf89b..8c4aedda72 100644
> --- a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
> @@ -30,7 +30,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_rwlockattr_setkind_np F
>  GLIBC_2.2 pthread_rwlockattr_setpshared F
>  GLIBC_2.2 pthread_setconcurrency F
>  GLIBC_2.2 pthread_testcancel F
> diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
> index 1b13100fae..6ce10020cd 100644
> --- a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
> @@ -220,6 +220,7 @@ GLIBC_2.34 pthread_rwlockattr_destroy F
>  GLIBC_2.34 pthread_rwlockattr_getkind_np F
>  GLIBC_2.34 pthread_rwlockattr_getpshared F
>  GLIBC_2.34 pthread_rwlockattr_init F
> +GLIBC_2.34 pthread_rwlockattr_setkind_np F
>  GLIBC_2.34 pthread_setspecific F
>  GLIBC_2.34 pthread_spin_destroy F
>  GLIBC_2.34 pthread_spin_init F
> @@ -1655,6 +1656,7 @@ GLIBC_2.4 pthread_rwlockattr_destroy F
>  GLIBC_2.4 pthread_rwlockattr_getkind_np F
>  GLIBC_2.4 pthread_rwlockattr_getpshared F
>  GLIBC_2.4 pthread_rwlockattr_init F
> +GLIBC_2.4 pthread_rwlockattr_setkind_np F
>  GLIBC_2.4 pthread_self F
>  GLIBC_2.4 pthread_setcancelstate F
>  GLIBC_2.4 pthread_setcanceltype F
> diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
> index ece7df9256..407b8b52c9 100644
> --- a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
> @@ -60,7 +60,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_rwlockattr_setkind_np F
>  GLIBC_2.4 pthread_rwlockattr_setpshared F
>  GLIBC_2.4 pthread_setaffinity_np F
>  GLIBC_2.4 pthread_setconcurrency F
> diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
> index 38426c8b8c..d4221acb1f 100644
> --- a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
> @@ -1581,6 +1581,7 @@ GLIBC_2.1 pthread_rwlockattr_destroy F
>  GLIBC_2.1 pthread_rwlockattr_getkind_np F
>  GLIBC_2.1 pthread_rwlockattr_getpshared F
>  GLIBC_2.1 pthread_rwlockattr_init F
> +GLIBC_2.1 pthread_rwlockattr_setkind_np F
>  GLIBC_2.1 ptsname F
>  GLIBC_2.1 ptsname_r F
>  GLIBC_2.1 putgrent F
> @@ -2323,6 +2324,7 @@ GLIBC_2.34 pthread_rwlockattr_destroy F
>  GLIBC_2.34 pthread_rwlockattr_getkind_np F
>  GLIBC_2.34 pthread_rwlockattr_getpshared F
>  GLIBC_2.34 pthread_rwlockattr_init F
> +GLIBC_2.34 pthread_rwlockattr_setkind_np F
>  GLIBC_2.34 pthread_setspecific F
>  GLIBC_2.34 pthread_spin_destroy F
>  GLIBC_2.34 pthread_spin_init F
> diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
> index 24d09710bc..27a09876c2 100644
> --- a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
> @@ -24,7 +24,6 @@ GLIBC_2.1 pthread_attr_setstackaddr F
>  GLIBC_2.1 pthread_attr_setstacksize F
>  GLIBC_2.1 pthread_create F
>  GLIBC_2.1 pthread_getconcurrency F
> -GLIBC_2.1 pthread_rwlockattr_setkind_np F
>  GLIBC_2.1 pthread_rwlockattr_setpshared F
>  GLIBC_2.1 pthread_setconcurrency F
>  GLIBC_2.1 sem_destroy F
> diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
> index 143dc94842..ddca43520f 100644
> --- a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
> @@ -1519,6 +1519,7 @@ GLIBC_2.18 pthread_rwlockattr_destroy F
>  GLIBC_2.18 pthread_rwlockattr_getkind_np F
>  GLIBC_2.18 pthread_rwlockattr_getpshared F
>  GLIBC_2.18 pthread_rwlockattr_init F
> +GLIBC_2.18 pthread_rwlockattr_setkind_np F
>  GLIBC_2.18 pthread_self F
>  GLIBC_2.18 pthread_setcancelstate F
>  GLIBC_2.18 pthread_setcanceltype F
> @@ -2303,6 +2304,7 @@ GLIBC_2.34 pthread_rwlockattr_destroy F
>  GLIBC_2.34 pthread_rwlockattr_getkind_np F
>  GLIBC_2.34 pthread_rwlockattr_getpshared F
>  GLIBC_2.34 pthread_rwlockattr_init F
> +GLIBC_2.34 pthread_rwlockattr_setkind_np F
>  GLIBC_2.34 pthread_setspecific F
>  GLIBC_2.34 pthread_spin_destroy F
>  GLIBC_2.34 pthread_spin_init F
> diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
> index d886b68411..be7e874a39 100644
> --- a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
> @@ -33,7 +33,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_rwlockattr_setkind_np F
>  GLIBC_2.18 pthread_rwlockattr_setpshared F
>  GLIBC_2.18 pthread_setaffinity_np F
>  GLIBC_2.18 pthread_setattr_default_np F
> diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
> index d19b65cd47..8ac2cedd2f 100644
> --- a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
> @@ -1519,6 +1519,7 @@ GLIBC_2.18 pthread_rwlockattr_destroy F
>  GLIBC_2.18 pthread_rwlockattr_getkind_np F
>  GLIBC_2.18 pthread_rwlockattr_getpshared F
>  GLIBC_2.18 pthread_rwlockattr_init F
> +GLIBC_2.18 pthread_rwlockattr_setkind_np F
>  GLIBC_2.18 pthread_self F
>  GLIBC_2.18 pthread_setcancelstate F
>  GLIBC_2.18 pthread_setcanceltype F
> @@ -2300,6 +2301,7 @@ GLIBC_2.34 pthread_rwlockattr_destroy F
>  GLIBC_2.34 pthread_rwlockattr_getkind_np F
>  GLIBC_2.34 pthread_rwlockattr_getpshared F
>  GLIBC_2.34 pthread_rwlockattr_init F
> +GLIBC_2.34 pthread_rwlockattr_setkind_np F
>  GLIBC_2.34 pthread_setspecific F
>  GLIBC_2.34 pthread_spin_destroy F
>  GLIBC_2.34 pthread_spin_init F
> diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
> index d886b68411..be7e874a39 100644
> --- a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
> @@ -33,7 +33,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_rwlockattr_setkind_np F
>  GLIBC_2.18 pthread_rwlockattr_setpshared F
>  GLIBC_2.18 pthread_setaffinity_np F
>  GLIBC_2.18 pthread_setattr_default_np F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
> index 458846b0fc..b1272c8d40 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
> @@ -1858,6 +1858,7 @@ GLIBC_2.2 pthread_rwlockattr_destroy F
>  GLIBC_2.2 pthread_rwlockattr_getkind_np F
>  GLIBC_2.2 pthread_rwlockattr_getpshared F
>  GLIBC_2.2 pthread_rwlockattr_init F
> +GLIBC_2.2 pthread_rwlockattr_setkind_np F
>  GLIBC_2.2 pthread_spin_destroy F
>  GLIBC_2.2 pthread_spin_init F
>  GLIBC_2.2 pthread_spin_lock F
> @@ -2286,6 +2287,7 @@ GLIBC_2.34 pthread_rwlockattr_destroy F
>  GLIBC_2.34 pthread_rwlockattr_getkind_np F
>  GLIBC_2.34 pthread_rwlockattr_getpshared F
>  GLIBC_2.34 pthread_rwlockattr_init F
> +GLIBC_2.34 pthread_rwlockattr_setkind_np F
>  GLIBC_2.34 pthread_setspecific F
>  GLIBC_2.34 pthread_spin_destroy F
>  GLIBC_2.34 pthread_spin_init F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
> index 0acdb4f035..137cc270e0 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
> @@ -38,7 +38,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_rwlockattr_setkind_np F
>  GLIBC_2.2 pthread_rwlockattr_setpshared F
>  GLIBC_2.2 pthread_setconcurrency F
>  GLIBC_2.2 pthread_yield F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
> index 0390badae0..73c6f52416 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
> @@ -1856,6 +1856,7 @@ GLIBC_2.2 pthread_rwlockattr_destroy F
>  GLIBC_2.2 pthread_rwlockattr_getkind_np F
>  GLIBC_2.2 pthread_rwlockattr_getpshared F
>  GLIBC_2.2 pthread_rwlockattr_init F
> +GLIBC_2.2 pthread_rwlockattr_setkind_np F
>  GLIBC_2.2 pthread_spin_destroy F
>  GLIBC_2.2 pthread_spin_init F
>  GLIBC_2.2 pthread_spin_lock F
> @@ -2284,6 +2285,7 @@ GLIBC_2.34 pthread_rwlockattr_destroy F
>  GLIBC_2.34 pthread_rwlockattr_getkind_np F
>  GLIBC_2.34 pthread_rwlockattr_getpshared F
>  GLIBC_2.34 pthread_rwlockattr_init F
> +GLIBC_2.34 pthread_rwlockattr_setkind_np F
>  GLIBC_2.34 pthread_setspecific F
>  GLIBC_2.34 pthread_spin_destroy F
>  GLIBC_2.34 pthread_spin_init F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
> index 0acdb4f035..137cc270e0 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
> @@ -38,7 +38,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_rwlockattr_setkind_np F
>  GLIBC_2.2 pthread_rwlockattr_setpshared F
>  GLIBC_2.2 pthread_setconcurrency F
>  GLIBC_2.2 pthread_yield F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
> index 8df0ed994a..1791cf1e87 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
> @@ -1856,6 +1856,7 @@ GLIBC_2.2 pthread_rwlockattr_destroy F
>  GLIBC_2.2 pthread_rwlockattr_getkind_np F
>  GLIBC_2.2 pthread_rwlockattr_getpshared F
>  GLIBC_2.2 pthread_rwlockattr_init F
> +GLIBC_2.2 pthread_rwlockattr_setkind_np F
>  GLIBC_2.2 pthread_spin_destroy F
>  GLIBC_2.2 pthread_spin_init F
>  GLIBC_2.2 pthread_spin_lock F
> @@ -2292,6 +2293,7 @@ GLIBC_2.34 pthread_rwlockattr_destroy F
>  GLIBC_2.34 pthread_rwlockattr_getkind_np F
>  GLIBC_2.34 pthread_rwlockattr_getpshared F
>  GLIBC_2.34 pthread_rwlockattr_init F
> +GLIBC_2.34 pthread_rwlockattr_setkind_np F
>  GLIBC_2.34 pthread_setspecific F
>  GLIBC_2.34 pthread_spin_destroy F
>  GLIBC_2.34 pthread_spin_init F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
> index f6eb792ada..c7c68b7247 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
> @@ -1852,6 +1852,7 @@ GLIBC_2.2 pthread_rwlockattr_destroy F
>  GLIBC_2.2 pthread_rwlockattr_getkind_np F
>  GLIBC_2.2 pthread_rwlockattr_getpshared F
>  GLIBC_2.2 pthread_rwlockattr_init F
> +GLIBC_2.2 pthread_rwlockattr_setkind_np F
>  GLIBC_2.2 pthread_spin_destroy F
>  GLIBC_2.2 pthread_spin_init F
>  GLIBC_2.2 pthread_spin_lock F
> @@ -2286,6 +2287,7 @@ GLIBC_2.34 pthread_rwlockattr_destroy F
>  GLIBC_2.34 pthread_rwlockattr_getkind_np F
>  GLIBC_2.34 pthread_rwlockattr_getpshared F
>  GLIBC_2.34 pthread_rwlockattr_init F
> +GLIBC_2.34 pthread_rwlockattr_setkind_np F
>  GLIBC_2.34 pthread_setspecific F
>  GLIBC_2.34 pthread_spin_destroy F
>  GLIBC_2.34 pthread_spin_init F
> diff --git a/sysdeps/unix/sysv/linux/nios2/libc.abilist b/sysdeps/unix/sysv/linux/nios2/libc.abilist
> index ca8eb9fd07..5a5bf9ecd9 100644
> --- a/sysdeps/unix/sysv/linux/nios2/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/nios2/libc.abilist
> @@ -1562,6 +1562,7 @@ GLIBC_2.21 pthread_rwlockattr_destroy F
>  GLIBC_2.21 pthread_rwlockattr_getkind_np F
>  GLIBC_2.21 pthread_rwlockattr_getpshared F
>  GLIBC_2.21 pthread_rwlockattr_init F
> +GLIBC_2.21 pthread_rwlockattr_setkind_np F
>  GLIBC_2.21 pthread_self F
>  GLIBC_2.21 pthread_setcancelstate F
>  GLIBC_2.21 pthread_setcanceltype F
> @@ -2342,6 +2343,7 @@ GLIBC_2.34 pthread_rwlockattr_destroy F
>  GLIBC_2.34 pthread_rwlockattr_getkind_np F
>  GLIBC_2.34 pthread_rwlockattr_getpshared F
>  GLIBC_2.34 pthread_rwlockattr_init F
> +GLIBC_2.34 pthread_rwlockattr_setkind_np F
>  GLIBC_2.34 pthread_setspecific F
>  GLIBC_2.34 pthread_spin_destroy F
>  GLIBC_2.34 pthread_spin_init F
> diff --git a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
> index b3536149b9..33bc9c4189 100644
> --- a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
> @@ -33,7 +33,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_rwlockattr_setkind_np F
>  GLIBC_2.21 pthread_rwlockattr_setpshared F
>  GLIBC_2.21 pthread_setaffinity_np F
>  GLIBC_2.21 pthread_setattr_default_np F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
> index 34e4a13a2d..1bd3207525 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
> @@ -1589,6 +1589,7 @@ GLIBC_2.1 pthread_rwlockattr_destroy F
>  GLIBC_2.1 pthread_rwlockattr_getkind_np F
>  GLIBC_2.1 pthread_rwlockattr_getpshared F
>  GLIBC_2.1 pthread_rwlockattr_init F
> +GLIBC_2.1 pthread_rwlockattr_setkind_np F
>  GLIBC_2.1 ptsname F
>  GLIBC_2.1 ptsname_r F
>  GLIBC_2.1 putgrent F
> @@ -2350,6 +2351,7 @@ GLIBC_2.34 pthread_rwlockattr_destroy F
>  GLIBC_2.34 pthread_rwlockattr_getkind_np F
>  GLIBC_2.34 pthread_rwlockattr_getpshared F
>  GLIBC_2.34 pthread_rwlockattr_init F
> +GLIBC_2.34 pthread_rwlockattr_setkind_np F
>  GLIBC_2.34 pthread_setspecific F
>  GLIBC_2.34 pthread_spin_destroy F
>  GLIBC_2.34 pthread_spin_init F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
> index c0470dd94f..1687b2643c 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
> @@ -24,7 +24,6 @@ GLIBC_2.1 pthread_attr_setstackaddr F
>  GLIBC_2.1 pthread_attr_setstacksize F
>  GLIBC_2.1 pthread_create F
>  GLIBC_2.1 pthread_getconcurrency F
> -GLIBC_2.1 pthread_rwlockattr_setkind_np F
>  GLIBC_2.1 pthread_rwlockattr_setpshared F
>  GLIBC_2.1 pthread_setconcurrency F
>  GLIBC_2.1 sem_destroy F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
> index 89b78a6779..1e6b0bb015 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
> @@ -1589,6 +1589,7 @@ GLIBC_2.1 pthread_rwlockattr_destroy F
>  GLIBC_2.1 pthread_rwlockattr_getkind_np F
>  GLIBC_2.1 pthread_rwlockattr_getpshared F
>  GLIBC_2.1 pthread_rwlockattr_init F
> +GLIBC_2.1 pthread_rwlockattr_setkind_np F
>  GLIBC_2.1 ptsname F
>  GLIBC_2.1 ptsname_r F
>  GLIBC_2.1 putgrent F
> @@ -2383,6 +2384,7 @@ GLIBC_2.34 pthread_rwlockattr_destroy F
>  GLIBC_2.34 pthread_rwlockattr_getkind_np F
>  GLIBC_2.34 pthread_rwlockattr_getpshared F
>  GLIBC_2.34 pthread_rwlockattr_init F
> +GLIBC_2.34 pthread_rwlockattr_setkind_np F
>  GLIBC_2.34 pthread_setspecific F
>  GLIBC_2.34 pthread_spin_destroy F
>  GLIBC_2.34 pthread_spin_init F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
> index d6f6861a0b..6f8d7a493b 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
> @@ -1434,6 +1434,7 @@ GLIBC_2.3 pthread_rwlockattr_destroy F
>  GLIBC_2.3 pthread_rwlockattr_getkind_np F
>  GLIBC_2.3 pthread_rwlockattr_getpshared F
>  GLIBC_2.3 pthread_rwlockattr_init F
> +GLIBC_2.3 pthread_rwlockattr_setkind_np F
>  GLIBC_2.3 pthread_self F
>  GLIBC_2.3 pthread_setcancelstate F
>  GLIBC_2.3 pthread_setcanceltype F
> @@ -2204,6 +2205,7 @@ GLIBC_2.34 pthread_rwlockattr_destroy F
>  GLIBC_2.34 pthread_rwlockattr_getkind_np F
>  GLIBC_2.34 pthread_rwlockattr_getpshared F
>  GLIBC_2.34 pthread_rwlockattr_init F
> +GLIBC_2.34 pthread_rwlockattr_setkind_np F
>  GLIBC_2.34 pthread_setspecific F
>  GLIBC_2.34 pthread_spin_destroy F
>  GLIBC_2.34 pthread_spin_init F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
> index 8e82511999..cf196e295b 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
> @@ -51,7 +51,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_rwlockattr_setkind_np F
>  GLIBC_2.3 pthread_rwlockattr_setpshared F
>  GLIBC_2.3 pthread_setconcurrency F
>  GLIBC_2.3 pthread_testcancel F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
> index 7522e7631b..453479d34d 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
> @@ -1605,6 +1605,7 @@ GLIBC_2.17 pthread_rwlockattr_destroy F
>  GLIBC_2.17 pthread_rwlockattr_getkind_np F
>  GLIBC_2.17 pthread_rwlockattr_getpshared F
>  GLIBC_2.17 pthread_rwlockattr_init F
> +GLIBC_2.17 pthread_rwlockattr_setkind_np F
>  GLIBC_2.17 pthread_self F
>  GLIBC_2.17 pthread_setcancelstate F
>  GLIBC_2.17 pthread_setcanceltype F
> @@ -2505,6 +2506,7 @@ GLIBC_2.34 pthread_rwlockattr_destroy F
>  GLIBC_2.34 pthread_rwlockattr_getkind_np F
>  GLIBC_2.34 pthread_rwlockattr_getpshared F
>  GLIBC_2.34 pthread_rwlockattr_init F
> +GLIBC_2.34 pthread_rwlockattr_setkind_np F
>  GLIBC_2.34 pthread_setspecific F
>  GLIBC_2.34 pthread_spin_destroy F
>  GLIBC_2.34 pthread_spin_init F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
> index ab858909d5..78fd215f41 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
> @@ -32,7 +32,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_rwlockattr_setkind_np F
>  GLIBC_2.17 pthread_rwlockattr_setpshared F
>  GLIBC_2.17 pthread_setaffinity_np F
>  GLIBC_2.17 pthread_setconcurrency F
> diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
> index 25cc488252..f370e23d42 100644
> --- a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
> @@ -1449,6 +1449,7 @@ GLIBC_2.33 pthread_rwlockattr_destroy F
>  GLIBC_2.33 pthread_rwlockattr_getkind_np F
>  GLIBC_2.33 pthread_rwlockattr_getpshared F
>  GLIBC_2.33 pthread_rwlockattr_init F
> +GLIBC_2.33 pthread_rwlockattr_setkind_np F
>  GLIBC_2.33 pthread_self F
>  GLIBC_2.33 pthread_setcancelstate F
>  GLIBC_2.33 pthread_setcanceltype F
> @@ -2070,6 +2071,7 @@ GLIBC_2.34 pthread_rwlockattr_destroy F
>  GLIBC_2.34 pthread_rwlockattr_getkind_np F
>  GLIBC_2.34 pthread_rwlockattr_getpshared F
>  GLIBC_2.34 pthread_rwlockattr_init F
> +GLIBC_2.34 pthread_rwlockattr_setkind_np F
>  GLIBC_2.34 pthread_setspecific F
>  GLIBC_2.34 pthread_spin_destroy F
>  GLIBC_2.34 pthread_spin_init F
> diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
> index 931a50ab83..120577addb 100644
> --- a/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
> @@ -47,7 +47,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_rwlockattr_setkind_np F
>  GLIBC_2.33 pthread_rwlockattr_setpshared F
>  GLIBC_2.33 pthread_setaffinity_np F
>  GLIBC_2.33 pthread_setattr_default_np F
> diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
> index b35dfdd918..9adfffe06a 100644
> --- a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
> @@ -1507,6 +1507,7 @@ GLIBC_2.27 pthread_rwlockattr_destroy F
>  GLIBC_2.27 pthread_rwlockattr_getkind_np F
>  GLIBC_2.27 pthread_rwlockattr_getpshared F
>  GLIBC_2.27 pthread_rwlockattr_init F
> +GLIBC_2.27 pthread_rwlockattr_setkind_np F
>  GLIBC_2.27 pthread_self F
>  GLIBC_2.27 pthread_setcancelstate F
>  GLIBC_2.27 pthread_setcanceltype F
> @@ -2270,6 +2271,7 @@ GLIBC_2.34 pthread_rwlockattr_destroy F
>  GLIBC_2.34 pthread_rwlockattr_getkind_np F
>  GLIBC_2.34 pthread_rwlockattr_getpshared F
>  GLIBC_2.34 pthread_rwlockattr_init F
> +GLIBC_2.34 pthread_rwlockattr_setkind_np F
>  GLIBC_2.34 pthread_setspecific F
>  GLIBC_2.34 pthread_spin_destroy F
>  GLIBC_2.34 pthread_spin_init F
> diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
> index ca76a3be0f..d3a180f6b0 100644
> --- a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
> @@ -33,7 +33,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_rwlockattr_setkind_np F
>  GLIBC_2.27 pthread_rwlockattr_setpshared F
>  GLIBC_2.27 pthread_setaffinity_np F
>  GLIBC_2.27 pthread_setattr_default_np F
> diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
> index 6b46845260..fba5894e2d 100644
> --- a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
> @@ -1581,6 +1581,7 @@ GLIBC_2.1 pthread_rwlockattr_destroy F
>  GLIBC_2.1 pthread_rwlockattr_getkind_np F
>  GLIBC_2.1 pthread_rwlockattr_getpshared F
>  GLIBC_2.1 pthread_rwlockattr_init F
> +GLIBC_2.1 pthread_rwlockattr_setkind_np F
>  GLIBC_2.1 ptsname F
>  GLIBC_2.1 ptsname_r F
>  GLIBC_2.1 putgrent F
> @@ -2348,6 +2349,7 @@ GLIBC_2.34 pthread_rwlockattr_destroy F
>  GLIBC_2.34 pthread_rwlockattr_getkind_np F
>  GLIBC_2.34 pthread_rwlockattr_getpshared F
>  GLIBC_2.34 pthread_rwlockattr_init F
> +GLIBC_2.34 pthread_rwlockattr_setkind_np F
>  GLIBC_2.34 pthread_setspecific F
>  GLIBC_2.34 pthread_spin_destroy F
>  GLIBC_2.34 pthread_spin_init F
> diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
> index 7997715c0f..8d1b6afd40 100644
> --- a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
> @@ -24,7 +24,6 @@ GLIBC_2.1 pthread_attr_setstackaddr F
>  GLIBC_2.1 pthread_attr_setstacksize F
>  GLIBC_2.1 pthread_create F
>  GLIBC_2.1 pthread_getconcurrency F
> -GLIBC_2.1 pthread_rwlockattr_setkind_np F
>  GLIBC_2.1 pthread_rwlockattr_setpshared F
>  GLIBC_2.1 pthread_setconcurrency F
>  GLIBC_2.1 sem_destroy F
> diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
> index ab59ba576b..ad5b0f36c9 100644
> --- a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
> @@ -1346,6 +1346,7 @@ GLIBC_2.2 pthread_rwlockattr_destroy F
>  GLIBC_2.2 pthread_rwlockattr_getkind_np F
>  GLIBC_2.2 pthread_rwlockattr_getpshared F
>  GLIBC_2.2 pthread_rwlockattr_init F
> +GLIBC_2.2 pthread_rwlockattr_setkind_np F
>  GLIBC_2.2 pthread_self F
>  GLIBC_2.2 pthread_setcancelstate F
>  GLIBC_2.2 pthread_setcanceltype F
> @@ -2241,6 +2242,7 @@ GLIBC_2.34 pthread_rwlockattr_destroy F
>  GLIBC_2.34 pthread_rwlockattr_getkind_np F
>  GLIBC_2.34 pthread_rwlockattr_getpshared F
>  GLIBC_2.34 pthread_rwlockattr_init F
> +GLIBC_2.34 pthread_rwlockattr_setkind_np F
>  GLIBC_2.34 pthread_setspecific F
>  GLIBC_2.34 pthread_spin_destroy F
>  GLIBC_2.34 pthread_spin_init F
> diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
> index cfadf59cec..ad71f3903e 100644
> --- a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
> @@ -31,7 +31,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_rwlockattr_setkind_np F
>  GLIBC_2.2 pthread_rwlockattr_setpshared F
>  GLIBC_2.2 pthread_setconcurrency F
>  GLIBC_2.2 pthread_testcancel F
> diff --git a/sysdeps/unix/sysv/linux/sh/be/libc.abilist b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
> index 52a904bece..97542cca5f 100644
> --- a/sysdeps/unix/sysv/linux/sh/be/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
> @@ -1332,6 +1332,7 @@ GLIBC_2.2 pthread_rwlockattr_destroy F
>  GLIBC_2.2 pthread_rwlockattr_getkind_np F
>  GLIBC_2.2 pthread_rwlockattr_getpshared F
>  GLIBC_2.2 pthread_rwlockattr_init F
> +GLIBC_2.2 pthread_rwlockattr_setkind_np F
>  GLIBC_2.2 pthread_self F
>  GLIBC_2.2 pthread_setcancelstate F
>  GLIBC_2.2 pthread_setcanceltype F
> @@ -2210,6 +2211,7 @@ GLIBC_2.34 pthread_rwlockattr_destroy F
>  GLIBC_2.34 pthread_rwlockattr_getkind_np F
>  GLIBC_2.34 pthread_rwlockattr_getpshared F
>  GLIBC_2.34 pthread_rwlockattr_init F
> +GLIBC_2.34 pthread_rwlockattr_setkind_np F
>  GLIBC_2.34 pthread_setspecific F
>  GLIBC_2.34 pthread_spin_destroy F
>  GLIBC_2.34 pthread_spin_init F
> diff --git a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
> index b5c9fad576..0e0b33dd4f 100644
> --- a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
> @@ -30,7 +30,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_rwlockattr_setkind_np F
>  GLIBC_2.2 pthread_rwlockattr_setpshared F
>  GLIBC_2.2 pthread_setconcurrency F
>  GLIBC_2.2 pthread_testcancel F
> diff --git a/sysdeps/unix/sysv/linux/sh/le/libc.abilist b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
> index 7c635de1a9..3cd818e245 100644
> --- a/sysdeps/unix/sysv/linux/sh/le/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
> @@ -1332,6 +1332,7 @@ GLIBC_2.2 pthread_rwlockattr_destroy F
>  GLIBC_2.2 pthread_rwlockattr_getkind_np F
>  GLIBC_2.2 pthread_rwlockattr_getpshared F
>  GLIBC_2.2 pthread_rwlockattr_init F
> +GLIBC_2.2 pthread_rwlockattr_setkind_np F
>  GLIBC_2.2 pthread_self F
>  GLIBC_2.2 pthread_setcancelstate F
>  GLIBC_2.2 pthread_setcanceltype F
> @@ -2207,6 +2208,7 @@ GLIBC_2.34 pthread_rwlockattr_destroy F
>  GLIBC_2.34 pthread_rwlockattr_getkind_np F
>  GLIBC_2.34 pthread_rwlockattr_getpshared F
>  GLIBC_2.34 pthread_rwlockattr_init F
> +GLIBC_2.34 pthread_rwlockattr_setkind_np F
>  GLIBC_2.34 pthread_setspecific F
>  GLIBC_2.34 pthread_spin_destroy F
>  GLIBC_2.34 pthread_spin_init F
> diff --git a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
> index b5c9fad576..0e0b33dd4f 100644
> --- a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
> @@ -30,7 +30,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_rwlockattr_setkind_np F
>  GLIBC_2.2 pthread_rwlockattr_setpshared F
>  GLIBC_2.2 pthread_setconcurrency F
>  GLIBC_2.2 pthread_testcancel F
> diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
> index d22861fedc..c065335dc5 100644
> --- a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
> @@ -1582,6 +1582,7 @@ GLIBC_2.1 pthread_rwlockattr_destroy F
>  GLIBC_2.1 pthread_rwlockattr_getkind_np F
>  GLIBC_2.1 pthread_rwlockattr_getpshared F
>  GLIBC_2.1 pthread_rwlockattr_init F
> +GLIBC_2.1 pthread_rwlockattr_setkind_np F
>  GLIBC_2.1 ptsname F
>  GLIBC_2.1 ptsname_r F
>  GLIBC_2.1 putgrent F
> @@ -2339,6 +2340,7 @@ GLIBC_2.34 pthread_rwlockattr_destroy F
>  GLIBC_2.34 pthread_rwlockattr_getkind_np F
>  GLIBC_2.34 pthread_rwlockattr_getpshared F
>  GLIBC_2.34 pthread_rwlockattr_init F
> +GLIBC_2.34 pthread_rwlockattr_setkind_np F
>  GLIBC_2.34 pthread_setspecific F
>  GLIBC_2.34 pthread_spin_destroy F
>  GLIBC_2.34 pthread_spin_init F
> diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
> index cddd311735..25c6d113d8 100644
> --- a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
> @@ -24,7 +24,6 @@ GLIBC_2.1 pthread_attr_setstackaddr F
>  GLIBC_2.1 pthread_attr_setstacksize F
>  GLIBC_2.1 pthread_create F
>  GLIBC_2.1 pthread_getconcurrency F
> -GLIBC_2.1 pthread_rwlockattr_setkind_np F
>  GLIBC_2.1 pthread_rwlockattr_setpshared F
>  GLIBC_2.1 pthread_setconcurrency F
>  GLIBC_2.1 sem_destroy F
> diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
> index 1321e3778b..9a72b1a42f 100644
> --- a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
> @@ -1375,6 +1375,7 @@ GLIBC_2.2 pthread_rwlockattr_destroy F
>  GLIBC_2.2 pthread_rwlockattr_getkind_np F
>  GLIBC_2.2 pthread_rwlockattr_getpshared F
>  GLIBC_2.2 pthread_rwlockattr_init F
> +GLIBC_2.2 pthread_rwlockattr_setkind_np F
>  GLIBC_2.2 pthread_self F
>  GLIBC_2.2 pthread_setcancelstate F
>  GLIBC_2.2 pthread_setcanceltype F
> @@ -2258,6 +2259,7 @@ GLIBC_2.34 pthread_rwlockattr_destroy F
>  GLIBC_2.34 pthread_rwlockattr_getkind_np F
>  GLIBC_2.34 pthread_rwlockattr_getpshared F
>  GLIBC_2.34 pthread_rwlockattr_init F
> +GLIBC_2.34 pthread_rwlockattr_setkind_np F
>  GLIBC_2.34 pthread_setspecific F
>  GLIBC_2.34 pthread_spin_destroy F
>  GLIBC_2.34 pthread_spin_init F
> diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
> index 3e575bf89b..8c4aedda72 100644
> --- a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
> @@ -30,7 +30,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_rwlockattr_setkind_np F
>  GLIBC_2.2 pthread_rwlockattr_setpshared F
>  GLIBC_2.2 pthread_setconcurrency F
>  GLIBC_2.2 pthread_testcancel F
> diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
> index 34dd905b5d..96e9b63861 100644
> --- a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
> @@ -1343,6 +1343,7 @@ GLIBC_2.2.5 pthread_rwlockattr_destroy F
>  GLIBC_2.2.5 pthread_rwlockattr_getkind_np F
>  GLIBC_2.2.5 pthread_rwlockattr_getpshared F
>  GLIBC_2.2.5 pthread_rwlockattr_init F
> +GLIBC_2.2.5 pthread_rwlockattr_setkind_np F
>  GLIBC_2.2.5 pthread_self F
>  GLIBC_2.2.5 pthread_setcancelstate F
>  GLIBC_2.2.5 pthread_setcanceltype F
> @@ -2219,6 +2220,7 @@ GLIBC_2.34 pthread_rwlockattr_destroy F
>  GLIBC_2.34 pthread_rwlockattr_getkind_np F
>  GLIBC_2.34 pthread_rwlockattr_getpshared F
>  GLIBC_2.34 pthread_rwlockattr_init F
> +GLIBC_2.34 pthread_rwlockattr_setkind_np F
>  GLIBC_2.34 pthread_setspecific F
>  GLIBC_2.34 pthread_spin_destroy F
>  GLIBC_2.34 pthread_spin_init F
> diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
> index eddd339dcf..2ffea619e9 100644
> --- a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
> @@ -30,7 +30,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_rwlockattr_setkind_np F
>  GLIBC_2.2.5 pthread_rwlockattr_setpshared F
>  GLIBC_2.2.5 pthread_setconcurrency F
>  GLIBC_2.2.5 pthread_testcancel F
> diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
> index 24fd00a5ac..2b2d6f62cd 100644
> --- a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
> @@ -1524,6 +1524,7 @@ GLIBC_2.16 pthread_rwlockattr_destroy F
>  GLIBC_2.16 pthread_rwlockattr_getkind_np F
>  GLIBC_2.16 pthread_rwlockattr_getpshared F
>  GLIBC_2.16 pthread_rwlockattr_init F
> +GLIBC_2.16 pthread_rwlockattr_setkind_np F
>  GLIBC_2.16 pthread_self F
>  GLIBC_2.16 pthread_setcancelstate F
>  GLIBC_2.16 pthread_setcanceltype F
> @@ -2324,6 +2325,7 @@ GLIBC_2.34 pthread_rwlockattr_destroy F
>  GLIBC_2.34 pthread_rwlockattr_getkind_np F
>  GLIBC_2.34 pthread_rwlockattr_getpshared F
>  GLIBC_2.34 pthread_rwlockattr_init F
> +GLIBC_2.34 pthread_rwlockattr_setkind_np F
>  GLIBC_2.34 pthread_setspecific F
>  GLIBC_2.34 pthread_spin_destroy F
>  GLIBC_2.34 pthread_spin_init F
> diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
> index bda04a7cc7..18496f7378 100644
> --- a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
> @@ -32,7 +32,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_rwlockattr_setkind_np F
>  GLIBC_2.16 pthread_rwlockattr_setpshared F
>  GLIBC_2.16 pthread_setaffinity_np F
>  GLIBC_2.16 pthread_setconcurrency F
> 


-- 
Cheers,
Carlos.


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

* Re: [PATCH 14/14] nptl: Move pthread_rwlockattr_setpshared into libc
  2021-04-23 17:38 ` [PATCH 14/14] nptl: Move pthread_rwlockattr_setpshared " Florian Weimer via Libc-alpha
@ 2021-05-02 19:40   ` Carlos O'Donell via Libc-alpha
  0 siblings, 0 replies; 30+ messages in thread
From: Carlos O'Donell via Libc-alpha @ 2021-05-02 19:40 UTC (permalink / raw)
  To: Florian Weimer, libc-alpha

On 4/23/21 1:38 PM, Florian Weimer via Libc-alpha wrote:
> The symbol was moved using scripts/move-symbol-to-libc.py.

Tested and reviewed on x86_64 and i686.

LGTM.

Reviewed-by: Carlos O'Donell <carlos@redhat.com>
Tested-by: Carlos O'Donell <carlos@redhat.com>

> ---
>  nptl/Makefile                                         |  2 +-
>  nptl/Versions                                         |  3 ++-
>  nptl/pthread_rwlockattr_setpshared.c                  | 11 +++++++++--
>  sysdeps/unix/sysv/linux/aarch64/libc.abilist          |  2 ++
>  sysdeps/unix/sysv/linux/aarch64/libpthread.abilist    |  1 -
>  sysdeps/unix/sysv/linux/alpha/libc.abilist            |  2 ++
>  sysdeps/unix/sysv/linux/alpha/libpthread.abilist      |  1 -
>  sysdeps/unix/sysv/linux/arc/libc.abilist              |  2 ++
>  sysdeps/unix/sysv/linux/arc/libpthread.abilist        |  1 -
>  sysdeps/unix/sysv/linux/arm/be/libc.abilist           |  2 ++
>  sysdeps/unix/sysv/linux/arm/be/libpthread.abilist     |  1 -
>  sysdeps/unix/sysv/linux/arm/le/libc.abilist           |  2 ++
>  sysdeps/unix/sysv/linux/arm/le/libpthread.abilist     |  1 -
>  sysdeps/unix/sysv/linux/csky/libc.abilist             |  2 ++
>  sysdeps/unix/sysv/linux/csky/libpthread.abilist       |  1 -
>  sysdeps/unix/sysv/linux/hppa/libc.abilist             |  2 ++
>  sysdeps/unix/sysv/linux/hppa/libpthread.abilist       |  1 -
>  sysdeps/unix/sysv/linux/i386/libc.abilist             |  2 ++
>  sysdeps/unix/sysv/linux/i386/libpthread.abilist       |  1 -
>  sysdeps/unix/sysv/linux/ia64/libc.abilist             |  2 ++
>  sysdeps/unix/sysv/linux/ia64/libpthread.abilist       |  1 -
>  sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist    |  2 ++
>  .../unix/sysv/linux/m68k/coldfire/libpthread.abilist  |  1 -
>  sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist      |  2 ++
>  .../unix/sysv/linux/m68k/m680x0/libpthread.abilist    |  1 -
>  sysdeps/unix/sysv/linux/microblaze/be/libc.abilist    |  2 ++
>  .../unix/sysv/linux/microblaze/be/libpthread.abilist  |  1 -
>  sysdeps/unix/sysv/linux/microblaze/le/libc.abilist    |  2 ++
>  .../unix/sysv/linux/microblaze/le/libpthread.abilist  |  1 -
>  sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist  |  2 ++
>  .../unix/sysv/linux/mips/mips32/libpthread.abilist    |  1 -
>  .../unix/sysv/linux/mips/mips32/nofpu/libc.abilist    |  2 ++
>  .../unix/sysv/linux/mips/mips64/libpthread.abilist    |  1 -
>  sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist  |  2 ++
>  sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist  |  2 ++
>  sysdeps/unix/sysv/linux/nios2/libc.abilist            |  2 ++
>  sysdeps/unix/sysv/linux/nios2/libpthread.abilist      |  1 -
>  .../sysv/linux/powerpc/powerpc32/fpu/libc.abilist     |  2 ++
>  .../sysv/linux/powerpc/powerpc32/libpthread.abilist   |  1 -
>  .../sysv/linux/powerpc/powerpc32/nofpu/libc.abilist   |  2 ++
>  .../unix/sysv/linux/powerpc/powerpc64/be/libc.abilist |  2 ++
>  .../linux/powerpc/powerpc64/be/libpthread.abilist     |  1 -
>  .../unix/sysv/linux/powerpc/powerpc64/le/libc.abilist |  2 ++
>  .../linux/powerpc/powerpc64/le/libpthread.abilist     |  1 -
>  sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist       |  2 ++
>  sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist |  1 -
>  sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist       |  2 ++
>  sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist |  1 -
>  sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist     |  2 ++
>  .../unix/sysv/linux/s390/s390-32/libpthread.abilist   |  1 -
>  sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist     |  2 ++
>  .../unix/sysv/linux/s390/s390-64/libpthread.abilist   |  1 -
>  sysdeps/unix/sysv/linux/sh/be/libc.abilist            |  2 ++
>  sysdeps/unix/sysv/linux/sh/be/libpthread.abilist      |  1 -
>  sysdeps/unix/sysv/linux/sh/le/libc.abilist            |  2 ++
>  sysdeps/unix/sysv/linux/sh/le/libpthread.abilist      |  1 -
>  sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist    |  2 ++
>  .../unix/sysv/linux/sparc/sparc32/libpthread.abilist  |  1 -
>  sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist    |  2 ++
>  .../unix/sysv/linux/sparc/sparc64/libpthread.abilist  |  1 -
>  sysdeps/unix/sysv/linux/x86_64/64/libc.abilist        |  2 ++
>  sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist  |  1 -
>  sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist       |  2 ++
>  sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist |  1 -
>  64 files changed, 76 insertions(+), 33 deletions(-)
> 
> diff --git a/nptl/Makefile b/nptl/Makefile
> index 71c698b4f5..c0f820b44d 100644
> --- a/nptl/Makefile
> +++ b/nptl/Makefile
> @@ -136,6 +136,7 @@ routines = \
>    pthread_rwlockattr_getpshared \
>    pthread_rwlockattr_init \
>    pthread_rwlockattr_setkind_np \
> +  pthread_rwlockattr_setpshared \
>    pthread_self \
>    pthread_setcancelstate \
>    pthread_setcanceltype \
> @@ -191,7 +192,6 @@ libpthread-routines = \
>    pthread_getname \
>    pthread_join \
>    pthread_join_common \
> -  pthread_rwlockattr_setpshared \
>    pthread_setaffinity \
>    pthread_setattr_default_np \
>    pthread_setconcurrency \
> diff --git a/nptl/Versions b/nptl/Versions
> index 235060101e..645ab4ba83 100644
> --- a/nptl/Versions
> +++ b/nptl/Versions
> @@ -78,6 +78,7 @@ libc {
>      pthread_rwlockattr_getpshared;
>      pthread_rwlockattr_init;
>      pthread_rwlockattr_setkind_np;
> +    pthread_rwlockattr_setpshared;
>    }
>    GLIBC_2.2 {
>      __pthread_rwlock_destroy;
> @@ -212,6 +213,7 @@ libc {
>      pthread_rwlockattr_getpshared;
>      pthread_rwlockattr_init;
>      pthread_rwlockattr_setkind_np;
> +    pthread_rwlockattr_setpshared;
>      pthread_setspecific;
>      pthread_spin_destroy;
>      pthread_spin_init;
> @@ -302,7 +304,6 @@ libpthread {
>      pthread_attr_setstacksize;
>      pthread_create;
>      pthread_getconcurrency;
> -    pthread_rwlockattr_setpshared;
>      pthread_setconcurrency;
>      sem_destroy;
>      sem_getvalue;
> diff --git a/nptl/pthread_rwlockattr_setpshared.c b/nptl/pthread_rwlockattr_setpshared.c
> index 2e42754466..e8f603788e 100644
> --- a/nptl/pthread_rwlockattr_setpshared.c
> +++ b/nptl/pthread_rwlockattr_setpshared.c
> @@ -19,10 +19,10 @@
>  #include <errno.h>
>  #include "pthreadP.h"
>  #include <futex-internal.h>
> -
> +#include <shlib-compat.h>
>  
>  int
> -pthread_rwlockattr_setpshared (pthread_rwlockattr_t *attr, int pshared)
> +__pthread_rwlockattr_setpshared (pthread_rwlockattr_t *attr, int pshared)
>  {
>    struct pthread_rwlockattr *iattr;
>  
> @@ -36,3 +36,10 @@ pthread_rwlockattr_setpshared (pthread_rwlockattr_t *attr, int pshared)
>  
>    return 0;
>  }
> +versioned_symbol (libc, __pthread_rwlockattr_setpshared,
> +                  pthread_rwlockattr_setpshared, GLIBC_2_34);
> +
> +#if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_1, GLIBC_2_34)
> +compat_symbol (libpthread, __pthread_rwlockattr_setpshared,
> +               pthread_rwlockattr_setpshared, GLIBC_2_1);

OK.

> +#endif
> diff --git a/sysdeps/unix/sysv/linux/aarch64/libc.abilist b/sysdeps/unix/sysv/linux/aarch64/libc.abilist
> index 6c33e2d488..3d16f7c749 100644
> --- a/sysdeps/unix/sysv/linux/aarch64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/aarch64/libc.abilist
> @@ -1518,6 +1518,7 @@ GLIBC_2.17 pthread_rwlockattr_getkind_np F
>  GLIBC_2.17 pthread_rwlockattr_getpshared F
>  GLIBC_2.17 pthread_rwlockattr_init F
>  GLIBC_2.17 pthread_rwlockattr_setkind_np F
> +GLIBC_2.17 pthread_rwlockattr_setpshared F
>  GLIBC_2.17 pthread_self F
>  GLIBC_2.17 pthread_setcancelstate F
>  GLIBC_2.17 pthread_setcanceltype F
> @@ -2311,6 +2312,7 @@ GLIBC_2.34 pthread_rwlockattr_getkind_np F
>  GLIBC_2.34 pthread_rwlockattr_getpshared F
>  GLIBC_2.34 pthread_rwlockattr_init F
>  GLIBC_2.34 pthread_rwlockattr_setkind_np F
> +GLIBC_2.34 pthread_rwlockattr_setpshared F
>  GLIBC_2.34 pthread_setspecific F
>  GLIBC_2.34 pthread_spin_destroy F
>  GLIBC_2.34 pthread_spin_init F
> diff --git a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
> index 78fd215f41..5ba7924a4b 100644
> --- a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
> @@ -32,7 +32,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_rwlockattr_setpshared F
>  GLIBC_2.17 pthread_setaffinity_np F
>  GLIBC_2.17 pthread_setconcurrency F
>  GLIBC_2.17 pthread_setname_np F
> diff --git a/sysdeps/unix/sysv/linux/alpha/libc.abilist b/sysdeps/unix/sysv/linux/alpha/libc.abilist
> index 0827b4897c..96e72ed747 100644
> --- a/sysdeps/unix/sysv/linux/alpha/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/alpha/libc.abilist
> @@ -1618,6 +1618,7 @@ GLIBC_2.1 pthread_rwlockattr_getkind_np F
>  GLIBC_2.1 pthread_rwlockattr_getpshared F
>  GLIBC_2.1 pthread_rwlockattr_init F
>  GLIBC_2.1 pthread_rwlockattr_setkind_np F
> +GLIBC_2.1 pthread_rwlockattr_setpshared F
>  GLIBC_2.1 ptsname F
>  GLIBC_2.1 ptsname_r F
>  GLIBC_2.1 putgrent F
> @@ -2392,6 +2393,7 @@ GLIBC_2.34 pthread_rwlockattr_getkind_np F
>  GLIBC_2.34 pthread_rwlockattr_getpshared F
>  GLIBC_2.34 pthread_rwlockattr_init F
>  GLIBC_2.34 pthread_rwlockattr_setkind_np F
> +GLIBC_2.34 pthread_rwlockattr_setpshared F
>  GLIBC_2.34 pthread_setspecific F
>  GLIBC_2.34 pthread_spin_destroy F
>  GLIBC_2.34 pthread_spin_init F
> diff --git a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
> index 25c6d113d8..060d40755c 100644
> --- a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
> @@ -24,7 +24,6 @@ GLIBC_2.1 pthread_attr_setstackaddr F
>  GLIBC_2.1 pthread_attr_setstacksize F
>  GLIBC_2.1 pthread_create F
>  GLIBC_2.1 pthread_getconcurrency F
> -GLIBC_2.1 pthread_rwlockattr_setpshared F
>  GLIBC_2.1 pthread_setconcurrency F
>  GLIBC_2.1 sem_destroy F
>  GLIBC_2.1 sem_getvalue F
> diff --git a/sysdeps/unix/sysv/linux/arc/libc.abilist b/sysdeps/unix/sysv/linux/arc/libc.abilist
> index 4a964150d4..6b3605407b 100644
> --- a/sysdeps/unix/sysv/linux/arc/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/arc/libc.abilist
> @@ -1448,6 +1448,7 @@ GLIBC_2.32 pthread_rwlockattr_getkind_np F
>  GLIBC_2.32 pthread_rwlockattr_getpshared F
>  GLIBC_2.32 pthread_rwlockattr_init F
>  GLIBC_2.32 pthread_rwlockattr_setkind_np F
> +GLIBC_2.32 pthread_rwlockattr_setpshared F
>  GLIBC_2.32 pthread_self F
>  GLIBC_2.32 pthread_setcancelstate F
>  GLIBC_2.32 pthread_setcanceltype F
> @@ -2070,6 +2071,7 @@ GLIBC_2.34 pthread_rwlockattr_getkind_np F
>  GLIBC_2.34 pthread_rwlockattr_getpshared F
>  GLIBC_2.34 pthread_rwlockattr_init F
>  GLIBC_2.34 pthread_rwlockattr_setkind_np F
> +GLIBC_2.34 pthread_rwlockattr_setpshared F
>  GLIBC_2.34 pthread_setspecific F
>  GLIBC_2.34 pthread_spin_destroy F
>  GLIBC_2.34 pthread_spin_init F
> diff --git a/sysdeps/unix/sysv/linux/arc/libpthread.abilist b/sysdeps/unix/sysv/linux/arc/libpthread.abilist
> index 490200a117..7c6181f479 100644
> --- a/sysdeps/unix/sysv/linux/arc/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/arc/libpthread.abilist
> @@ -47,7 +47,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_rwlockattr_setpshared F
>  GLIBC_2.32 pthread_setaffinity_np F
>  GLIBC_2.32 pthread_setattr_default_np F
>  GLIBC_2.32 pthread_setconcurrency F
> diff --git a/sysdeps/unix/sysv/linux/arm/be/libc.abilist b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
> index fc64aeb74d..49a0e00006 100644
> --- a/sysdeps/unix/sysv/linux/arm/be/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
> @@ -220,6 +220,7 @@ GLIBC_2.34 pthread_rwlockattr_getkind_np F
>  GLIBC_2.34 pthread_rwlockattr_getpshared F
>  GLIBC_2.34 pthread_rwlockattr_init F
>  GLIBC_2.34 pthread_rwlockattr_setkind_np F
> +GLIBC_2.34 pthread_rwlockattr_setpshared F
>  GLIBC_2.34 pthread_setspecific F
>  GLIBC_2.34 pthread_spin_destroy F
>  GLIBC_2.34 pthread_spin_init F
> @@ -1677,6 +1678,7 @@ GLIBC_2.4 pthread_rwlockattr_getkind_np F
>  GLIBC_2.4 pthread_rwlockattr_getpshared F
>  GLIBC_2.4 pthread_rwlockattr_init F
>  GLIBC_2.4 pthread_rwlockattr_setkind_np F
> +GLIBC_2.4 pthread_rwlockattr_setpshared F
>  GLIBC_2.4 pthread_self F
>  GLIBC_2.4 pthread_setcancelstate F
>  GLIBC_2.4 pthread_setcanceltype F
> diff --git a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
> index 407b8b52c9..c43ff16332 100644
> --- a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
> @@ -60,7 +60,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_rwlockattr_setpshared F
>  GLIBC_2.4 pthread_setaffinity_np F
>  GLIBC_2.4 pthread_setconcurrency F
>  GLIBC_2.4 pthread_setschedprio F
> diff --git a/sysdeps/unix/sysv/linux/arm/le/libc.abilist b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
> index 4d8f0921f0..8f7abcf6e7 100644
> --- a/sysdeps/unix/sysv/linux/arm/le/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
> @@ -217,6 +217,7 @@ GLIBC_2.34 pthread_rwlockattr_getkind_np F
>  GLIBC_2.34 pthread_rwlockattr_getpshared F
>  GLIBC_2.34 pthread_rwlockattr_init F
>  GLIBC_2.34 pthread_rwlockattr_setkind_np F
> +GLIBC_2.34 pthread_rwlockattr_setpshared F
>  GLIBC_2.34 pthread_setspecific F
>  GLIBC_2.34 pthread_spin_destroy F
>  GLIBC_2.34 pthread_spin_init F
> @@ -1674,6 +1675,7 @@ GLIBC_2.4 pthread_rwlockattr_getkind_np F
>  GLIBC_2.4 pthread_rwlockattr_getpshared F
>  GLIBC_2.4 pthread_rwlockattr_init F
>  GLIBC_2.4 pthread_rwlockattr_setkind_np F
> +GLIBC_2.4 pthread_rwlockattr_setpshared F
>  GLIBC_2.4 pthread_self F
>  GLIBC_2.4 pthread_setcancelstate F
>  GLIBC_2.4 pthread_setcanceltype F
> diff --git a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
> index 407b8b52c9..c43ff16332 100644
> --- a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
> @@ -60,7 +60,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_rwlockattr_setpshared F
>  GLIBC_2.4 pthread_setaffinity_np F
>  GLIBC_2.4 pthread_setconcurrency F
>  GLIBC_2.4 pthread_setschedprio F
> diff --git a/sysdeps/unix/sysv/linux/csky/libc.abilist b/sysdeps/unix/sysv/linux/csky/libc.abilist
> index d64664bc47..eafaf62118 100644
> --- a/sysdeps/unix/sysv/linux/csky/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/csky/libc.abilist
> @@ -1505,6 +1505,7 @@ GLIBC_2.29 pthread_rwlockattr_getkind_np F
>  GLIBC_2.29 pthread_rwlockattr_getpshared F
>  GLIBC_2.29 pthread_rwlockattr_init F
>  GLIBC_2.29 pthread_rwlockattr_setkind_np F
> +GLIBC_2.29 pthread_rwlockattr_setpshared F
>  GLIBC_2.29 pthread_self F
>  GLIBC_2.29 pthread_setcancelstate F
>  GLIBC_2.29 pthread_setcanceltype F
> @@ -2254,6 +2255,7 @@ GLIBC_2.34 pthread_rwlockattr_getkind_np F
>  GLIBC_2.34 pthread_rwlockattr_getpshared F
>  GLIBC_2.34 pthread_rwlockattr_init F
>  GLIBC_2.34 pthread_rwlockattr_setkind_np F
> +GLIBC_2.34 pthread_rwlockattr_setpshared F
>  GLIBC_2.34 pthread_setspecific F
>  GLIBC_2.34 pthread_spin_destroy F
>  GLIBC_2.34 pthread_spin_init F
> diff --git a/sysdeps/unix/sysv/linux/csky/libpthread.abilist b/sysdeps/unix/sysv/linux/csky/libpthread.abilist
> index f74ba640b8..141b065f99 100644
> --- a/sysdeps/unix/sysv/linux/csky/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/csky/libpthread.abilist
> @@ -46,7 +46,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_rwlockattr_setpshared F
>  GLIBC_2.29 pthread_setaffinity_np F
>  GLIBC_2.29 pthread_setattr_default_np F
>  GLIBC_2.29 pthread_setconcurrency F
> diff --git a/sysdeps/unix/sysv/linux/hppa/libc.abilist b/sysdeps/unix/sysv/linux/hppa/libc.abilist
> index ecfe3a62fe..d06e1f65ea 100644
> --- a/sysdeps/unix/sysv/linux/hppa/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/hppa/libc.abilist
> @@ -1329,6 +1329,7 @@ GLIBC_2.2 pthread_rwlockattr_getkind_np F
>  GLIBC_2.2 pthread_rwlockattr_getpshared F
>  GLIBC_2.2 pthread_rwlockattr_init F
>  GLIBC_2.2 pthread_rwlockattr_setkind_np F
> +GLIBC_2.2 pthread_rwlockattr_setpshared F
>  GLIBC_2.2 pthread_self F
>  GLIBC_2.2 pthread_setcancelstate F
>  GLIBC_2.2 pthread_setcanceltype F
> @@ -2205,6 +2206,7 @@ GLIBC_2.34 pthread_rwlockattr_getkind_np F
>  GLIBC_2.34 pthread_rwlockattr_getpshared F
>  GLIBC_2.34 pthread_rwlockattr_init F
>  GLIBC_2.34 pthread_rwlockattr_setkind_np F
> +GLIBC_2.34 pthread_rwlockattr_setpshared F
>  GLIBC_2.34 pthread_setspecific F
>  GLIBC_2.34 pthread_spin_destroy F
>  GLIBC_2.34 pthread_spin_init F
> diff --git a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
> index 0e0b33dd4f..430069d2a9 100644
> --- a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
> @@ -30,7 +30,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_rwlockattr_setpshared F
>  GLIBC_2.2 pthread_setconcurrency F
>  GLIBC_2.2 pthread_testcancel F
>  GLIBC_2.2 pthread_yield F
> diff --git a/sysdeps/unix/sysv/linux/i386/libc.abilist b/sysdeps/unix/sysv/linux/i386/libc.abilist
> index 77baa063c8..30bfbdb1e7 100644
> --- a/sysdeps/unix/sysv/linux/i386/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/i386/libc.abilist
> @@ -1586,6 +1586,7 @@ GLIBC_2.1 pthread_rwlockattr_getkind_np F
>  GLIBC_2.1 pthread_rwlockattr_getpshared F
>  GLIBC_2.1 pthread_rwlockattr_init F
>  GLIBC_2.1 pthread_rwlockattr_setkind_np F
> +GLIBC_2.1 pthread_rwlockattr_setpshared F
>  GLIBC_2.1 ptsname F
>  GLIBC_2.1 ptsname_r F
>  GLIBC_2.1 putgrent F
> @@ -2382,6 +2383,7 @@ GLIBC_2.34 pthread_rwlockattr_getkind_np F
>  GLIBC_2.34 pthread_rwlockattr_getpshared F
>  GLIBC_2.34 pthread_rwlockattr_init F
>  GLIBC_2.34 pthread_rwlockattr_setkind_np F
> +GLIBC_2.34 pthread_rwlockattr_setpshared F
>  GLIBC_2.34 pthread_setspecific F
>  GLIBC_2.34 pthread_spin_destroy F
>  GLIBC_2.34 pthread_spin_init F
> diff --git a/sysdeps/unix/sysv/linux/i386/libpthread.abilist b/sysdeps/unix/sysv/linux/i386/libpthread.abilist
> index 27a09876c2..8c16a683c5 100644
> --- a/sysdeps/unix/sysv/linux/i386/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/i386/libpthread.abilist
> @@ -24,7 +24,6 @@ GLIBC_2.1 pthread_attr_setstackaddr F
>  GLIBC_2.1 pthread_attr_setstacksize F
>  GLIBC_2.1 pthread_create F
>  GLIBC_2.1 pthread_getconcurrency F
> -GLIBC_2.1 pthread_rwlockattr_setpshared F
>  GLIBC_2.1 pthread_setconcurrency F
>  GLIBC_2.1 sem_destroy F
>  GLIBC_2.1 sem_getvalue F
> diff --git a/sysdeps/unix/sysv/linux/ia64/libc.abilist b/sysdeps/unix/sysv/linux/ia64/libc.abilist
> index e7cbb60624..84b9ab7d07 100644
> --- a/sysdeps/unix/sysv/linux/ia64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/ia64/libc.abilist
> @@ -1350,6 +1350,7 @@ GLIBC_2.2 pthread_rwlockattr_getkind_np F
>  GLIBC_2.2 pthread_rwlockattr_getpshared F
>  GLIBC_2.2 pthread_rwlockattr_init F
>  GLIBC_2.2 pthread_rwlockattr_setkind_np F
> +GLIBC_2.2 pthread_rwlockattr_setpshared F
>  GLIBC_2.2 pthread_self F
>  GLIBC_2.2 pthread_setcancelstate F
>  GLIBC_2.2 pthread_setcanceltype F
> @@ -2239,6 +2240,7 @@ GLIBC_2.34 pthread_rwlockattr_getkind_np F
>  GLIBC_2.34 pthread_rwlockattr_getpshared F
>  GLIBC_2.34 pthread_rwlockattr_init F
>  GLIBC_2.34 pthread_rwlockattr_setkind_np F
> +GLIBC_2.34 pthread_rwlockattr_setpshared F
>  GLIBC_2.34 pthread_setspecific F
>  GLIBC_2.34 pthread_spin_destroy F
>  GLIBC_2.34 pthread_spin_init F
> diff --git a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
> index 8c4aedda72..cc2b7f9767 100644
> --- a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
> @@ -30,7 +30,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_rwlockattr_setpshared F
>  GLIBC_2.2 pthread_setconcurrency F
>  GLIBC_2.2 pthread_testcancel F
>  GLIBC_2.2 pthread_yield F
> diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
> index 6ce10020cd..503b3d31c3 100644
> --- a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
> @@ -221,6 +221,7 @@ GLIBC_2.34 pthread_rwlockattr_getkind_np F
>  GLIBC_2.34 pthread_rwlockattr_getpshared F
>  GLIBC_2.34 pthread_rwlockattr_init F
>  GLIBC_2.34 pthread_rwlockattr_setkind_np F
> +GLIBC_2.34 pthread_rwlockattr_setpshared F
>  GLIBC_2.34 pthread_setspecific F
>  GLIBC_2.34 pthread_spin_destroy F
>  GLIBC_2.34 pthread_spin_init F
> @@ -1657,6 +1658,7 @@ GLIBC_2.4 pthread_rwlockattr_getkind_np F
>  GLIBC_2.4 pthread_rwlockattr_getpshared F
>  GLIBC_2.4 pthread_rwlockattr_init F
>  GLIBC_2.4 pthread_rwlockattr_setkind_np F
> +GLIBC_2.4 pthread_rwlockattr_setpshared F
>  GLIBC_2.4 pthread_self F
>  GLIBC_2.4 pthread_setcancelstate F
>  GLIBC_2.4 pthread_setcanceltype F
> diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
> index 407b8b52c9..c43ff16332 100644
> --- a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
> @@ -60,7 +60,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_rwlockattr_setpshared F
>  GLIBC_2.4 pthread_setaffinity_np F
>  GLIBC_2.4 pthread_setconcurrency F
>  GLIBC_2.4 pthread_setschedprio F
> diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
> index d4221acb1f..4c5e2b2c49 100644
> --- a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
> @@ -1582,6 +1582,7 @@ GLIBC_2.1 pthread_rwlockattr_getkind_np F
>  GLIBC_2.1 pthread_rwlockattr_getpshared F
>  GLIBC_2.1 pthread_rwlockattr_init F
>  GLIBC_2.1 pthread_rwlockattr_setkind_np F
> +GLIBC_2.1 pthread_rwlockattr_setpshared F
>  GLIBC_2.1 ptsname F
>  GLIBC_2.1 ptsname_r F
>  GLIBC_2.1 putgrent F
> @@ -2325,6 +2326,7 @@ GLIBC_2.34 pthread_rwlockattr_getkind_np F
>  GLIBC_2.34 pthread_rwlockattr_getpshared F
>  GLIBC_2.34 pthread_rwlockattr_init F
>  GLIBC_2.34 pthread_rwlockattr_setkind_np F
> +GLIBC_2.34 pthread_rwlockattr_setpshared F
>  GLIBC_2.34 pthread_setspecific F
>  GLIBC_2.34 pthread_spin_destroy F
>  GLIBC_2.34 pthread_spin_init F
> diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
> index 27a09876c2..8c16a683c5 100644
> --- a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
> @@ -24,7 +24,6 @@ GLIBC_2.1 pthread_attr_setstackaddr F
>  GLIBC_2.1 pthread_attr_setstacksize F
>  GLIBC_2.1 pthread_create F
>  GLIBC_2.1 pthread_getconcurrency F
> -GLIBC_2.1 pthread_rwlockattr_setpshared F
>  GLIBC_2.1 pthread_setconcurrency F
>  GLIBC_2.1 sem_destroy F
>  GLIBC_2.1 sem_getvalue F
> diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
> index ddca43520f..92c79a7851 100644
> --- a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
> @@ -1520,6 +1520,7 @@ GLIBC_2.18 pthread_rwlockattr_getkind_np F
>  GLIBC_2.18 pthread_rwlockattr_getpshared F
>  GLIBC_2.18 pthread_rwlockattr_init F
>  GLIBC_2.18 pthread_rwlockattr_setkind_np F
> +GLIBC_2.18 pthread_rwlockattr_setpshared F
>  GLIBC_2.18 pthread_self F
>  GLIBC_2.18 pthread_setcancelstate F
>  GLIBC_2.18 pthread_setcanceltype F
> @@ -2305,6 +2306,7 @@ GLIBC_2.34 pthread_rwlockattr_getkind_np F
>  GLIBC_2.34 pthread_rwlockattr_getpshared F
>  GLIBC_2.34 pthread_rwlockattr_init F
>  GLIBC_2.34 pthread_rwlockattr_setkind_np F
> +GLIBC_2.34 pthread_rwlockattr_setpshared F
>  GLIBC_2.34 pthread_setspecific F
>  GLIBC_2.34 pthread_spin_destroy F
>  GLIBC_2.34 pthread_spin_init F
> diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
> index be7e874a39..81b2693e2d 100644
> --- a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
> @@ -33,7 +33,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_rwlockattr_setpshared F
>  GLIBC_2.18 pthread_setaffinity_np F
>  GLIBC_2.18 pthread_setattr_default_np F
>  GLIBC_2.18 pthread_setconcurrency F
> diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
> index 8ac2cedd2f..d259ef963c 100644
> --- a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
> @@ -1520,6 +1520,7 @@ GLIBC_2.18 pthread_rwlockattr_getkind_np F
>  GLIBC_2.18 pthread_rwlockattr_getpshared F
>  GLIBC_2.18 pthread_rwlockattr_init F
>  GLIBC_2.18 pthread_rwlockattr_setkind_np F
> +GLIBC_2.18 pthread_rwlockattr_setpshared F
>  GLIBC_2.18 pthread_self F
>  GLIBC_2.18 pthread_setcancelstate F
>  GLIBC_2.18 pthread_setcanceltype F
> @@ -2302,6 +2303,7 @@ GLIBC_2.34 pthread_rwlockattr_getkind_np F
>  GLIBC_2.34 pthread_rwlockattr_getpshared F
>  GLIBC_2.34 pthread_rwlockattr_init F
>  GLIBC_2.34 pthread_rwlockattr_setkind_np F
> +GLIBC_2.34 pthread_rwlockattr_setpshared F
>  GLIBC_2.34 pthread_setspecific F
>  GLIBC_2.34 pthread_spin_destroy F
>  GLIBC_2.34 pthread_spin_init F
> diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
> index be7e874a39..81b2693e2d 100644
> --- a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
> @@ -33,7 +33,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_rwlockattr_setpshared F
>  GLIBC_2.18 pthread_setaffinity_np F
>  GLIBC_2.18 pthread_setattr_default_np F
>  GLIBC_2.18 pthread_setconcurrency F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
> index b1272c8d40..048d075d21 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
> @@ -1859,6 +1859,7 @@ GLIBC_2.2 pthread_rwlockattr_getkind_np F
>  GLIBC_2.2 pthread_rwlockattr_getpshared F
>  GLIBC_2.2 pthread_rwlockattr_init F
>  GLIBC_2.2 pthread_rwlockattr_setkind_np F
> +GLIBC_2.2 pthread_rwlockattr_setpshared F
>  GLIBC_2.2 pthread_spin_destroy F
>  GLIBC_2.2 pthread_spin_init F
>  GLIBC_2.2 pthread_spin_lock F
> @@ -2288,6 +2289,7 @@ GLIBC_2.34 pthread_rwlockattr_getkind_np F
>  GLIBC_2.34 pthread_rwlockattr_getpshared F
>  GLIBC_2.34 pthread_rwlockattr_init F
>  GLIBC_2.34 pthread_rwlockattr_setkind_np F
> +GLIBC_2.34 pthread_rwlockattr_setpshared F
>  GLIBC_2.34 pthread_setspecific F
>  GLIBC_2.34 pthread_spin_destroy F
>  GLIBC_2.34 pthread_spin_init F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
> index 137cc270e0..5ae9c6d24f 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
> @@ -38,7 +38,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_rwlockattr_setpshared F
>  GLIBC_2.2 pthread_setconcurrency F
>  GLIBC_2.2 pthread_yield F
>  GLIBC_2.2 sem_close F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
> index 73c6f52416..4196a7d058 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
> @@ -1857,6 +1857,7 @@ GLIBC_2.2 pthread_rwlockattr_getkind_np F
>  GLIBC_2.2 pthread_rwlockattr_getpshared F
>  GLIBC_2.2 pthread_rwlockattr_init F
>  GLIBC_2.2 pthread_rwlockattr_setkind_np F
> +GLIBC_2.2 pthread_rwlockattr_setpshared F
>  GLIBC_2.2 pthread_spin_destroy F
>  GLIBC_2.2 pthread_spin_init F
>  GLIBC_2.2 pthread_spin_lock F
> @@ -2286,6 +2287,7 @@ GLIBC_2.34 pthread_rwlockattr_getkind_np F
>  GLIBC_2.34 pthread_rwlockattr_getpshared F
>  GLIBC_2.34 pthread_rwlockattr_init F
>  GLIBC_2.34 pthread_rwlockattr_setkind_np F
> +GLIBC_2.34 pthread_rwlockattr_setpshared F
>  GLIBC_2.34 pthread_setspecific F
>  GLIBC_2.34 pthread_spin_destroy F
>  GLIBC_2.34 pthread_spin_init F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
> index 137cc270e0..5ae9c6d24f 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
> @@ -38,7 +38,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_rwlockattr_setpshared F
>  GLIBC_2.2 pthread_setconcurrency F
>  GLIBC_2.2 pthread_yield F
>  GLIBC_2.2 sem_close F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
> index 1791cf1e87..abfecf20f9 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
> @@ -1857,6 +1857,7 @@ GLIBC_2.2 pthread_rwlockattr_getkind_np F
>  GLIBC_2.2 pthread_rwlockattr_getpshared F
>  GLIBC_2.2 pthread_rwlockattr_init F
>  GLIBC_2.2 pthread_rwlockattr_setkind_np F
> +GLIBC_2.2 pthread_rwlockattr_setpshared F
>  GLIBC_2.2 pthread_spin_destroy F
>  GLIBC_2.2 pthread_spin_init F
>  GLIBC_2.2 pthread_spin_lock F
> @@ -2294,6 +2295,7 @@ GLIBC_2.34 pthread_rwlockattr_getkind_np F
>  GLIBC_2.34 pthread_rwlockattr_getpshared F
>  GLIBC_2.34 pthread_rwlockattr_init F
>  GLIBC_2.34 pthread_rwlockattr_setkind_np F
> +GLIBC_2.34 pthread_rwlockattr_setpshared F
>  GLIBC_2.34 pthread_setspecific F
>  GLIBC_2.34 pthread_spin_destroy F
>  GLIBC_2.34 pthread_spin_init F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
> index c7c68b7247..e8678ca796 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
> @@ -1853,6 +1853,7 @@ GLIBC_2.2 pthread_rwlockattr_getkind_np F
>  GLIBC_2.2 pthread_rwlockattr_getpshared F
>  GLIBC_2.2 pthread_rwlockattr_init F
>  GLIBC_2.2 pthread_rwlockattr_setkind_np F
> +GLIBC_2.2 pthread_rwlockattr_setpshared F
>  GLIBC_2.2 pthread_spin_destroy F
>  GLIBC_2.2 pthread_spin_init F
>  GLIBC_2.2 pthread_spin_lock F
> @@ -2288,6 +2289,7 @@ GLIBC_2.34 pthread_rwlockattr_getkind_np F
>  GLIBC_2.34 pthread_rwlockattr_getpshared F
>  GLIBC_2.34 pthread_rwlockattr_init F
>  GLIBC_2.34 pthread_rwlockattr_setkind_np F
> +GLIBC_2.34 pthread_rwlockattr_setpshared F
>  GLIBC_2.34 pthread_setspecific F
>  GLIBC_2.34 pthread_spin_destroy F
>  GLIBC_2.34 pthread_spin_init F
> diff --git a/sysdeps/unix/sysv/linux/nios2/libc.abilist b/sysdeps/unix/sysv/linux/nios2/libc.abilist
> index 5a5bf9ecd9..a03fe31d6c 100644
> --- a/sysdeps/unix/sysv/linux/nios2/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/nios2/libc.abilist
> @@ -1563,6 +1563,7 @@ GLIBC_2.21 pthread_rwlockattr_getkind_np F
>  GLIBC_2.21 pthread_rwlockattr_getpshared F
>  GLIBC_2.21 pthread_rwlockattr_init F
>  GLIBC_2.21 pthread_rwlockattr_setkind_np F
> +GLIBC_2.21 pthread_rwlockattr_setpshared F
>  GLIBC_2.21 pthread_self F
>  GLIBC_2.21 pthread_setcancelstate F
>  GLIBC_2.21 pthread_setcanceltype F
> @@ -2344,6 +2345,7 @@ GLIBC_2.34 pthread_rwlockattr_getkind_np F
>  GLIBC_2.34 pthread_rwlockattr_getpshared F
>  GLIBC_2.34 pthread_rwlockattr_init F
>  GLIBC_2.34 pthread_rwlockattr_setkind_np F
> +GLIBC_2.34 pthread_rwlockattr_setpshared F
>  GLIBC_2.34 pthread_setspecific F
>  GLIBC_2.34 pthread_spin_destroy F
>  GLIBC_2.34 pthread_spin_init F
> diff --git a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
> index 33bc9c4189..c806ceb521 100644
> --- a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
> @@ -33,7 +33,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_rwlockattr_setpshared F
>  GLIBC_2.21 pthread_setaffinity_np F
>  GLIBC_2.21 pthread_setattr_default_np F
>  GLIBC_2.21 pthread_setconcurrency F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
> index 1bd3207525..4bc12f388c 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
> @@ -1590,6 +1590,7 @@ GLIBC_2.1 pthread_rwlockattr_getkind_np F
>  GLIBC_2.1 pthread_rwlockattr_getpshared F
>  GLIBC_2.1 pthread_rwlockattr_init F
>  GLIBC_2.1 pthread_rwlockattr_setkind_np F
> +GLIBC_2.1 pthread_rwlockattr_setpshared F
>  GLIBC_2.1 ptsname F
>  GLIBC_2.1 ptsname_r F
>  GLIBC_2.1 putgrent F
> @@ -2352,6 +2353,7 @@ GLIBC_2.34 pthread_rwlockattr_getkind_np F
>  GLIBC_2.34 pthread_rwlockattr_getpshared F
>  GLIBC_2.34 pthread_rwlockattr_init F
>  GLIBC_2.34 pthread_rwlockattr_setkind_np F
> +GLIBC_2.34 pthread_rwlockattr_setpshared F
>  GLIBC_2.34 pthread_setspecific F
>  GLIBC_2.34 pthread_spin_destroy F
>  GLIBC_2.34 pthread_spin_init F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
> index 1687b2643c..1d4816cb10 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
> @@ -24,7 +24,6 @@ GLIBC_2.1 pthread_attr_setstackaddr F
>  GLIBC_2.1 pthread_attr_setstacksize F
>  GLIBC_2.1 pthread_create F
>  GLIBC_2.1 pthread_getconcurrency F
> -GLIBC_2.1 pthread_rwlockattr_setpshared F
>  GLIBC_2.1 pthread_setconcurrency F
>  GLIBC_2.1 sem_destroy F
>  GLIBC_2.1 sem_getvalue F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
> index 1e6b0bb015..5259152699 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
> @@ -1590,6 +1590,7 @@ GLIBC_2.1 pthread_rwlockattr_getkind_np F
>  GLIBC_2.1 pthread_rwlockattr_getpshared F
>  GLIBC_2.1 pthread_rwlockattr_init F
>  GLIBC_2.1 pthread_rwlockattr_setkind_np F
> +GLIBC_2.1 pthread_rwlockattr_setpshared F
>  GLIBC_2.1 ptsname F
>  GLIBC_2.1 ptsname_r F
>  GLIBC_2.1 putgrent F
> @@ -2385,6 +2386,7 @@ GLIBC_2.34 pthread_rwlockattr_getkind_np F
>  GLIBC_2.34 pthread_rwlockattr_getpshared F
>  GLIBC_2.34 pthread_rwlockattr_init F
>  GLIBC_2.34 pthread_rwlockattr_setkind_np F
> +GLIBC_2.34 pthread_rwlockattr_setpshared F
>  GLIBC_2.34 pthread_setspecific F
>  GLIBC_2.34 pthread_spin_destroy F
>  GLIBC_2.34 pthread_spin_init F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
> index 6f8d7a493b..3f636ae388 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
> @@ -1435,6 +1435,7 @@ GLIBC_2.3 pthread_rwlockattr_getkind_np F
>  GLIBC_2.3 pthread_rwlockattr_getpshared F
>  GLIBC_2.3 pthread_rwlockattr_init F
>  GLIBC_2.3 pthread_rwlockattr_setkind_np F
> +GLIBC_2.3 pthread_rwlockattr_setpshared F
>  GLIBC_2.3 pthread_self F
>  GLIBC_2.3 pthread_setcancelstate F
>  GLIBC_2.3 pthread_setcanceltype F
> @@ -2206,6 +2207,7 @@ GLIBC_2.34 pthread_rwlockattr_getkind_np F
>  GLIBC_2.34 pthread_rwlockattr_getpshared F
>  GLIBC_2.34 pthread_rwlockattr_init F
>  GLIBC_2.34 pthread_rwlockattr_setkind_np F
> +GLIBC_2.34 pthread_rwlockattr_setpshared F
>  GLIBC_2.34 pthread_setspecific F
>  GLIBC_2.34 pthread_spin_destroy F
>  GLIBC_2.34 pthread_spin_init F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
> index cf196e295b..1b8593ce79 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
> @@ -51,7 +51,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_rwlockattr_setpshared F
>  GLIBC_2.3 pthread_setconcurrency F
>  GLIBC_2.3 pthread_testcancel F
>  GLIBC_2.3 pthread_yield F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
> index 453479d34d..a8ab8da8b5 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
> @@ -1606,6 +1606,7 @@ GLIBC_2.17 pthread_rwlockattr_getkind_np F
>  GLIBC_2.17 pthread_rwlockattr_getpshared F
>  GLIBC_2.17 pthread_rwlockattr_init F
>  GLIBC_2.17 pthread_rwlockattr_setkind_np F
> +GLIBC_2.17 pthread_rwlockattr_setpshared F
>  GLIBC_2.17 pthread_self F
>  GLIBC_2.17 pthread_setcancelstate F
>  GLIBC_2.17 pthread_setcanceltype F
> @@ -2507,6 +2508,7 @@ GLIBC_2.34 pthread_rwlockattr_getkind_np F
>  GLIBC_2.34 pthread_rwlockattr_getpshared F
>  GLIBC_2.34 pthread_rwlockattr_init F
>  GLIBC_2.34 pthread_rwlockattr_setkind_np F
> +GLIBC_2.34 pthread_rwlockattr_setpshared F
>  GLIBC_2.34 pthread_setspecific F
>  GLIBC_2.34 pthread_spin_destroy F
>  GLIBC_2.34 pthread_spin_init F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
> index 78fd215f41..5ba7924a4b 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
> @@ -32,7 +32,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_rwlockattr_setpshared F
>  GLIBC_2.17 pthread_setaffinity_np F
>  GLIBC_2.17 pthread_setconcurrency F
>  GLIBC_2.17 pthread_setname_np F
> diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
> index f370e23d42..3320e627c6 100644
> --- a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
> @@ -1450,6 +1450,7 @@ GLIBC_2.33 pthread_rwlockattr_getkind_np F
>  GLIBC_2.33 pthread_rwlockattr_getpshared F
>  GLIBC_2.33 pthread_rwlockattr_init F
>  GLIBC_2.33 pthread_rwlockattr_setkind_np F
> +GLIBC_2.33 pthread_rwlockattr_setpshared F
>  GLIBC_2.33 pthread_self F
>  GLIBC_2.33 pthread_setcancelstate F
>  GLIBC_2.33 pthread_setcanceltype F
> @@ -2072,6 +2073,7 @@ GLIBC_2.34 pthread_rwlockattr_getkind_np F
>  GLIBC_2.34 pthread_rwlockattr_getpshared F
>  GLIBC_2.34 pthread_rwlockattr_init F
>  GLIBC_2.34 pthread_rwlockattr_setkind_np F
> +GLIBC_2.34 pthread_rwlockattr_setpshared F
>  GLIBC_2.34 pthread_setspecific F
>  GLIBC_2.34 pthread_spin_destroy F
>  GLIBC_2.34 pthread_spin_init F
> diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
> index 120577addb..7857c710ef 100644
> --- a/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
> @@ -47,7 +47,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_rwlockattr_setpshared F
>  GLIBC_2.33 pthread_setaffinity_np F
>  GLIBC_2.33 pthread_setattr_default_np F
>  GLIBC_2.33 pthread_setconcurrency F
> diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
> index 9adfffe06a..dd05e42875 100644
> --- a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
> @@ -1508,6 +1508,7 @@ GLIBC_2.27 pthread_rwlockattr_getkind_np F
>  GLIBC_2.27 pthread_rwlockattr_getpshared F
>  GLIBC_2.27 pthread_rwlockattr_init F
>  GLIBC_2.27 pthread_rwlockattr_setkind_np F
> +GLIBC_2.27 pthread_rwlockattr_setpshared F
>  GLIBC_2.27 pthread_self F
>  GLIBC_2.27 pthread_setcancelstate F
>  GLIBC_2.27 pthread_setcanceltype F
> @@ -2272,6 +2273,7 @@ GLIBC_2.34 pthread_rwlockattr_getkind_np F
>  GLIBC_2.34 pthread_rwlockattr_getpshared F
>  GLIBC_2.34 pthread_rwlockattr_init F
>  GLIBC_2.34 pthread_rwlockattr_setkind_np F
> +GLIBC_2.34 pthread_rwlockattr_setpshared F
>  GLIBC_2.34 pthread_setspecific F
>  GLIBC_2.34 pthread_spin_destroy F
>  GLIBC_2.34 pthread_spin_init F
> diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
> index d3a180f6b0..dea83367c6 100644
> --- a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
> @@ -33,7 +33,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_rwlockattr_setpshared F
>  GLIBC_2.27 pthread_setaffinity_np F
>  GLIBC_2.27 pthread_setattr_default_np F
>  GLIBC_2.27 pthread_setconcurrency F
> diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
> index fba5894e2d..22a2cbf852 100644
> --- a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
> @@ -1582,6 +1582,7 @@ GLIBC_2.1 pthread_rwlockattr_getkind_np F
>  GLIBC_2.1 pthread_rwlockattr_getpshared F
>  GLIBC_2.1 pthread_rwlockattr_init F
>  GLIBC_2.1 pthread_rwlockattr_setkind_np F
> +GLIBC_2.1 pthread_rwlockattr_setpshared F
>  GLIBC_2.1 ptsname F
>  GLIBC_2.1 ptsname_r F
>  GLIBC_2.1 putgrent F
> @@ -2350,6 +2351,7 @@ GLIBC_2.34 pthread_rwlockattr_getkind_np F
>  GLIBC_2.34 pthread_rwlockattr_getpshared F
>  GLIBC_2.34 pthread_rwlockattr_init F
>  GLIBC_2.34 pthread_rwlockattr_setkind_np F
> +GLIBC_2.34 pthread_rwlockattr_setpshared F
>  GLIBC_2.34 pthread_setspecific F
>  GLIBC_2.34 pthread_spin_destroy F
>  GLIBC_2.34 pthread_spin_init F
> diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
> index 8d1b6afd40..98a51539a9 100644
> --- a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
> @@ -24,7 +24,6 @@ GLIBC_2.1 pthread_attr_setstackaddr F
>  GLIBC_2.1 pthread_attr_setstacksize F
>  GLIBC_2.1 pthread_create F
>  GLIBC_2.1 pthread_getconcurrency F
> -GLIBC_2.1 pthread_rwlockattr_setpshared F
>  GLIBC_2.1 pthread_setconcurrency F
>  GLIBC_2.1 sem_destroy F
>  GLIBC_2.1 sem_getvalue F
> diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
> index ad5b0f36c9..ccefbdf8c2 100644
> --- a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
> @@ -1347,6 +1347,7 @@ GLIBC_2.2 pthread_rwlockattr_getkind_np F
>  GLIBC_2.2 pthread_rwlockattr_getpshared F
>  GLIBC_2.2 pthread_rwlockattr_init F
>  GLIBC_2.2 pthread_rwlockattr_setkind_np F
> +GLIBC_2.2 pthread_rwlockattr_setpshared F
>  GLIBC_2.2 pthread_self F
>  GLIBC_2.2 pthread_setcancelstate F
>  GLIBC_2.2 pthread_setcanceltype F
> @@ -2243,6 +2244,7 @@ GLIBC_2.34 pthread_rwlockattr_getkind_np F
>  GLIBC_2.34 pthread_rwlockattr_getpshared F
>  GLIBC_2.34 pthread_rwlockattr_init F
>  GLIBC_2.34 pthread_rwlockattr_setkind_np F
> +GLIBC_2.34 pthread_rwlockattr_setpshared F
>  GLIBC_2.34 pthread_setspecific F
>  GLIBC_2.34 pthread_spin_destroy F
>  GLIBC_2.34 pthread_spin_init F
> diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
> index ad71f3903e..a7c31a78ed 100644
> --- a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
> @@ -31,7 +31,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_rwlockattr_setpshared F
>  GLIBC_2.2 pthread_setconcurrency F
>  GLIBC_2.2 pthread_testcancel F
>  GLIBC_2.2 pthread_yield F
> diff --git a/sysdeps/unix/sysv/linux/sh/be/libc.abilist b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
> index 97542cca5f..5eda2777d2 100644
> --- a/sysdeps/unix/sysv/linux/sh/be/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
> @@ -1333,6 +1333,7 @@ GLIBC_2.2 pthread_rwlockattr_getkind_np F
>  GLIBC_2.2 pthread_rwlockattr_getpshared F
>  GLIBC_2.2 pthread_rwlockattr_init F
>  GLIBC_2.2 pthread_rwlockattr_setkind_np F
> +GLIBC_2.2 pthread_rwlockattr_setpshared F
>  GLIBC_2.2 pthread_self F
>  GLIBC_2.2 pthread_setcancelstate F
>  GLIBC_2.2 pthread_setcanceltype F
> @@ -2212,6 +2213,7 @@ GLIBC_2.34 pthread_rwlockattr_getkind_np F
>  GLIBC_2.34 pthread_rwlockattr_getpshared F
>  GLIBC_2.34 pthread_rwlockattr_init F
>  GLIBC_2.34 pthread_rwlockattr_setkind_np F
> +GLIBC_2.34 pthread_rwlockattr_setpshared F
>  GLIBC_2.34 pthread_setspecific F
>  GLIBC_2.34 pthread_spin_destroy F
>  GLIBC_2.34 pthread_spin_init F
> diff --git a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
> index 0e0b33dd4f..430069d2a9 100644
> --- a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
> @@ -30,7 +30,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_rwlockattr_setpshared F
>  GLIBC_2.2 pthread_setconcurrency F
>  GLIBC_2.2 pthread_testcancel F
>  GLIBC_2.2 pthread_yield F
> diff --git a/sysdeps/unix/sysv/linux/sh/le/libc.abilist b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
> index 3cd818e245..4c215edaf5 100644
> --- a/sysdeps/unix/sysv/linux/sh/le/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
> @@ -1333,6 +1333,7 @@ GLIBC_2.2 pthread_rwlockattr_getkind_np F
>  GLIBC_2.2 pthread_rwlockattr_getpshared F
>  GLIBC_2.2 pthread_rwlockattr_init F
>  GLIBC_2.2 pthread_rwlockattr_setkind_np F
> +GLIBC_2.2 pthread_rwlockattr_setpshared F
>  GLIBC_2.2 pthread_self F
>  GLIBC_2.2 pthread_setcancelstate F
>  GLIBC_2.2 pthread_setcanceltype F
> @@ -2209,6 +2210,7 @@ GLIBC_2.34 pthread_rwlockattr_getkind_np F
>  GLIBC_2.34 pthread_rwlockattr_getpshared F
>  GLIBC_2.34 pthread_rwlockattr_init F
>  GLIBC_2.34 pthread_rwlockattr_setkind_np F
> +GLIBC_2.34 pthread_rwlockattr_setpshared F
>  GLIBC_2.34 pthread_setspecific F
>  GLIBC_2.34 pthread_spin_destroy F
>  GLIBC_2.34 pthread_spin_init F
> diff --git a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
> index 0e0b33dd4f..430069d2a9 100644
> --- a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
> @@ -30,7 +30,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_rwlockattr_setpshared F
>  GLIBC_2.2 pthread_setconcurrency F
>  GLIBC_2.2 pthread_testcancel F
>  GLIBC_2.2 pthread_yield F
> diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
> index c065335dc5..1c30a0baa2 100644
> --- a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
> @@ -1583,6 +1583,7 @@ GLIBC_2.1 pthread_rwlockattr_getkind_np F
>  GLIBC_2.1 pthread_rwlockattr_getpshared F
>  GLIBC_2.1 pthread_rwlockattr_init F
>  GLIBC_2.1 pthread_rwlockattr_setkind_np F
> +GLIBC_2.1 pthread_rwlockattr_setpshared F
>  GLIBC_2.1 ptsname F
>  GLIBC_2.1 ptsname_r F
>  GLIBC_2.1 putgrent F
> @@ -2341,6 +2342,7 @@ GLIBC_2.34 pthread_rwlockattr_getkind_np F
>  GLIBC_2.34 pthread_rwlockattr_getpshared F
>  GLIBC_2.34 pthread_rwlockattr_init F
>  GLIBC_2.34 pthread_rwlockattr_setkind_np F
> +GLIBC_2.34 pthread_rwlockattr_setpshared F
>  GLIBC_2.34 pthread_setspecific F
>  GLIBC_2.34 pthread_spin_destroy F
>  GLIBC_2.34 pthread_spin_init F
> diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
> index 25c6d113d8..060d40755c 100644
> --- a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
> @@ -24,7 +24,6 @@ GLIBC_2.1 pthread_attr_setstackaddr F
>  GLIBC_2.1 pthread_attr_setstacksize F
>  GLIBC_2.1 pthread_create F
>  GLIBC_2.1 pthread_getconcurrency F
> -GLIBC_2.1 pthread_rwlockattr_setpshared F
>  GLIBC_2.1 pthread_setconcurrency F
>  GLIBC_2.1 sem_destroy F
>  GLIBC_2.1 sem_getvalue F
> diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
> index 9a72b1a42f..fad41a0cb6 100644
> --- a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
> @@ -1376,6 +1376,7 @@ GLIBC_2.2 pthread_rwlockattr_getkind_np F
>  GLIBC_2.2 pthread_rwlockattr_getpshared F
>  GLIBC_2.2 pthread_rwlockattr_init F
>  GLIBC_2.2 pthread_rwlockattr_setkind_np F
> +GLIBC_2.2 pthread_rwlockattr_setpshared F
>  GLIBC_2.2 pthread_self F
>  GLIBC_2.2 pthread_setcancelstate F
>  GLIBC_2.2 pthread_setcanceltype F
> @@ -2260,6 +2261,7 @@ GLIBC_2.34 pthread_rwlockattr_getkind_np F
>  GLIBC_2.34 pthread_rwlockattr_getpshared F
>  GLIBC_2.34 pthread_rwlockattr_init F
>  GLIBC_2.34 pthread_rwlockattr_setkind_np F
> +GLIBC_2.34 pthread_rwlockattr_setpshared F
>  GLIBC_2.34 pthread_setspecific F
>  GLIBC_2.34 pthread_spin_destroy F
>  GLIBC_2.34 pthread_spin_init F
> diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
> index 8c4aedda72..cc2b7f9767 100644
> --- a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
> @@ -30,7 +30,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_rwlockattr_setpshared F
>  GLIBC_2.2 pthread_setconcurrency F
>  GLIBC_2.2 pthread_testcancel F
>  GLIBC_2.2 pthread_yield F
> diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
> index 96e9b63861..03980a77f8 100644
> --- a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
> @@ -1344,6 +1344,7 @@ GLIBC_2.2.5 pthread_rwlockattr_getkind_np F
>  GLIBC_2.2.5 pthread_rwlockattr_getpshared F
>  GLIBC_2.2.5 pthread_rwlockattr_init F
>  GLIBC_2.2.5 pthread_rwlockattr_setkind_np F
> +GLIBC_2.2.5 pthread_rwlockattr_setpshared F
>  GLIBC_2.2.5 pthread_self F
>  GLIBC_2.2.5 pthread_setcancelstate F
>  GLIBC_2.2.5 pthread_setcanceltype F
> @@ -2221,6 +2222,7 @@ GLIBC_2.34 pthread_rwlockattr_getkind_np F
>  GLIBC_2.34 pthread_rwlockattr_getpshared F
>  GLIBC_2.34 pthread_rwlockattr_init F
>  GLIBC_2.34 pthread_rwlockattr_setkind_np F
> +GLIBC_2.34 pthread_rwlockattr_setpshared F
>  GLIBC_2.34 pthread_setspecific F
>  GLIBC_2.34 pthread_spin_destroy F
>  GLIBC_2.34 pthread_spin_init F
> diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
> index 2ffea619e9..fa269b076b 100644
> --- a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
> @@ -30,7 +30,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_rwlockattr_setpshared F
>  GLIBC_2.2.5 pthread_setconcurrency F
>  GLIBC_2.2.5 pthread_testcancel F
>  GLIBC_2.2.5 pthread_yield F
> diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
> index 2b2d6f62cd..c8c7d9d71e 100644
> --- a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
> @@ -1525,6 +1525,7 @@ GLIBC_2.16 pthread_rwlockattr_getkind_np F
>  GLIBC_2.16 pthread_rwlockattr_getpshared F
>  GLIBC_2.16 pthread_rwlockattr_init F
>  GLIBC_2.16 pthread_rwlockattr_setkind_np F
> +GLIBC_2.16 pthread_rwlockattr_setpshared F
>  GLIBC_2.16 pthread_self F
>  GLIBC_2.16 pthread_setcancelstate F
>  GLIBC_2.16 pthread_setcanceltype F
> @@ -2326,6 +2327,7 @@ GLIBC_2.34 pthread_rwlockattr_getkind_np F
>  GLIBC_2.34 pthread_rwlockattr_getpshared F
>  GLIBC_2.34 pthread_rwlockattr_init F
>  GLIBC_2.34 pthread_rwlockattr_setkind_np F
> +GLIBC_2.34 pthread_rwlockattr_setpshared F
>  GLIBC_2.34 pthread_setspecific F
>  GLIBC_2.34 pthread_spin_destroy F
>  GLIBC_2.34 pthread_spin_init F
> diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
> index 18496f7378..c95efe2950 100644
> --- a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
> @@ -32,7 +32,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_rwlockattr_setpshared F
>  GLIBC_2.16 pthread_setaffinity_np F
>  GLIBC_2.16 pthread_setconcurrency F
>  GLIBC_2.16 pthread_setname_np F
> 


-- 
Cheers,
Carlos.


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

end of thread, other threads:[~2021-05-02 19:40 UTC | newest]

Thread overview: 30+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-04-23 17:36 [PATCH 00/14] nptl: Move remaining rwlock functions into libc Florian Weimer via Libc-alpha
2021-04-23 17:36 ` [PATCH 01/14] nptl: Move pthread_rwlock_clockrdlock " Florian Weimer via Libc-alpha
2021-05-02 19:30   ` Carlos O'Donell via Libc-alpha
2021-04-23 17:37 ` [PATCH 02/14] nptl: Move pthread_rwlock_clockwrlock " Florian Weimer via Libc-alpha
2021-05-02 19:31   ` Carlos O'Donell via Libc-alpha
2021-04-23 17:37 ` [PATCH 03/14] nptl: Move pthread_rwlock_destroy " Florian Weimer via Libc-alpha
2021-05-02 19:34   ` Carlos O'Donell via Libc-alpha
2021-04-23 17:37 ` [PATCH 04/14] nptl: Move pthread_rwlock_init " Florian Weimer via Libc-alpha
2021-05-02 19:34   ` Carlos O'Donell via Libc-alpha
2021-04-23 17:37 ` [PATCH 05/14] nptl: Move pthread_rwlock_timedrdlock " Florian Weimer via Libc-alpha
2021-05-02 19:35   ` Carlos O'Donell via Libc-alpha
2021-04-23 17:37 ` [PATCH 06/14] nptl: Move pthread_rwlock_timedwrlock " Florian Weimer via Libc-alpha
2021-05-02 19:35   ` Carlos O'Donell via Libc-alpha
2021-04-23 17:37 ` [PATCH 07/14] nptl: Move pthread_rwlock_tryrdlock " Florian Weimer via Libc-alpha
2021-05-02 19:36   ` Carlos O'Donell via Libc-alpha
2021-04-23 17:37 ` [PATCH 08/14] nptl: Move pthread_rwlock_trywrlock " Florian Weimer via Libc-alpha
2021-05-02 19:37   ` Carlos O'Donell via Libc-alpha
2021-04-23 17:37 ` [PATCH 09/14] nptl: Move pthread_rwlockattr_destroy " Florian Weimer via Libc-alpha
2021-05-02 19:38   ` Carlos O'Donell via Libc-alpha
2021-04-23 17:37 ` [PATCH 10/14] nptl: Move pthread_rwlockattr_getkind_np " Florian Weimer via Libc-alpha
2021-05-02 19:38   ` Carlos O'Donell via Libc-alpha
2021-04-23 17:38 ` [PATCH 11/14] nptl: Move pthread_rwlockattr_getpshared " Florian Weimer via Libc-alpha
2021-05-02 19:39   ` Carlos O'Donell via Libc-alpha
2021-04-23 17:38 ` [PATCH 12/14] nptl: Move pthread_rwlockattr_init " Florian Weimer via Libc-alpha
2021-05-02 19:39   ` Carlos O'Donell via Libc-alpha
2021-04-23 17:38 ` [PATCH 13/14] nptl: Move pthread_rwlockattr_setkind_np " Florian Weimer via Libc-alpha
2021-05-02 19:39   ` Carlos O'Donell via Libc-alpha
2021-04-23 17:38 ` [PATCH 14/14] nptl: Move pthread_rwlockattr_setpshared " Florian Weimer via Libc-alpha
2021-05-02 19:40   ` Carlos O'Donell via Libc-alpha
2021-05-02 19:30 ` [PATCH 00/14] nptl: Move remaining rwlock functions " Carlos O'Donell via Libc-alpha

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