[03/14] nptl: Move pthread_rwlock_destroy into libc

Message ID 5852e643a99ae3e9691f9fbc2d3a1254033aa853.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_destroy as a compatibility symbol.

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

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

Comments

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

Tested and reviewed on x86_64 and i686.

LGTM.

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

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

Patch

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