diff mbox series

[01/14] nptl: Move pthread_rwlock_clockrdlock into libc

Message ID 6fb678671df6dd1f2a6eb2b781fc5f945ee23896.1619199278.git.fweimer@redhat.com
State New
Headers show
Series nptl: Move remaining rwlock functions into libc | expand

Commit Message

Florian Weimer April 23, 2021, 5:36 p.m. UTC
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(-)

Comments

Carlos O'Donell May 2, 2021, 7:30 p.m. UTC | #1
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
>
diff mbox series

Patch

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