[08/14] nptl: Move pthread_rwlock_trywrlock into libc

Message ID c622e70a16d97b66d40ef5429a72bb6cc6bea649.1619199278.git.fweimer@redhat.com
State Committed
Headers
Series nptl: Move remaining rwlock functions into libc |

Commit Message

Florian Weimer April 23, 2021, 5:37 p.m. UTC
  And __pthread_rwlock_trywrlock as a compatibility symbol.

Remove the unused __libc_rwlock_trywrlock macro.

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

Comments

Carlos O'Donell May 2, 2021, 7:37 p.m. UTC | #1
On 4/23/21 1:37 PM, Florian Weimer via Libc-alpha wrote:
> And __pthread_rwlock_trywrlock as a compatibility symbol.

Tested and reviewed on x86_64 and i686.

LGTM.

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

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

OK.

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

Patch

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