public inbox for libc-alpha@sourceware.org
 help / color / mirror / Atom feed
From: Adhemerval Zanella <adhemerval.zanella@linaro.org>
To: libc-alpha@sourceware.org, Florian Weimer <fweimer@redhat.com>
Subject: Re: [PATCH v3 27/37] nptl: Move pthread_key_delete into libc.
Date: Wed, 24 Mar 2021 11:45:41 -0300	[thread overview]
Message-ID: <f81597e8-9e24-2f24-b719-b6ea310f23a3@linaro.org> (raw)
In-Reply-To: <213b9f1d5300956f7dae7f29c3de212b8537d4b7.1615914632.git.fweimer@redhat.com>



On 16/03/2021 14:30, Florian Weimer via Libc-alpha wrote:
> The symbol was moved using scripts/move-symbol-to-libc.py.
> 
> tss_delete (still in libpthread) uses the __pthread_key_create
> alias, so that is now exported under GLIBC_PRIVATE.

LGTM, thanks.

> ---
>  nptl/Makefile                                   |  2 +-
>  nptl/Versions                                   |  4 +++-
>  nptl/pthreadP.h                                 |  1 +
>  nptl/pthread_key_delete.c                       | 17 ++++++++++++++---
>  sysdeps/unix/sysv/linux/aarch64/libc.abilist    |  2 ++
>  .../unix/sysv/linux/aarch64/libpthread.abilist  |  1 -
>  sysdeps/unix/sysv/linux/alpha/libc.abilist      |  2 ++
>  .../unix/sysv/linux/alpha/libpthread.abilist    |  1 -
>  sysdeps/unix/sysv/linux/arc/libc.abilist        |  2 ++
>  sysdeps/unix/sysv/linux/arc/libpthread.abilist  |  1 -
>  sysdeps/unix/sysv/linux/arm/be/libc.abilist     |  2 ++
>  .../unix/sysv/linux/arm/be/libpthread.abilist   |  1 -
>  sysdeps/unix/sysv/linux/arm/le/libc.abilist     |  2 ++
>  .../unix/sysv/linux/arm/le/libpthread.abilist   |  1 -
>  sysdeps/unix/sysv/linux/csky/libc.abilist       |  2 ++
>  sysdeps/unix/sysv/linux/csky/libpthread.abilist |  1 -
>  sysdeps/unix/sysv/linux/hppa/libc.abilist       |  2 ++
>  sysdeps/unix/sysv/linux/hppa/libpthread.abilist |  1 -
>  sysdeps/unix/sysv/linux/i386/libc.abilist       |  2 ++
>  sysdeps/unix/sysv/linux/i386/libpthread.abilist |  1 -
>  sysdeps/unix/sysv/linux/ia64/libc.abilist       |  2 ++
>  sysdeps/unix/sysv/linux/ia64/libpthread.abilist |  1 -
>  .../unix/sysv/linux/m68k/coldfire/libc.abilist  |  2 ++
>  .../sysv/linux/m68k/coldfire/libpthread.abilist |  1 -
>  .../unix/sysv/linux/m68k/m680x0/libc.abilist    |  2 ++
>  .../sysv/linux/m68k/m680x0/libpthread.abilist   |  1 -
>  .../unix/sysv/linux/microblaze/be/libc.abilist  |  2 ++
>  .../sysv/linux/microblaze/be/libpthread.abilist |  1 -
>  .../unix/sysv/linux/microblaze/le/libc.abilist  |  2 ++
>  .../sysv/linux/microblaze/le/libpthread.abilist |  1 -
>  .../sysv/linux/mips/mips32/fpu/libc.abilist     |  2 ++
>  .../sysv/linux/mips/mips32/libpthread.abilist   |  1 -
>  .../sysv/linux/mips/mips32/nofpu/libc.abilist   |  2 ++
>  .../sysv/linux/mips/mips64/libpthread.abilist   |  1 -
>  .../sysv/linux/mips/mips64/n32/libc.abilist     |  2 ++
>  .../sysv/linux/mips/mips64/n64/libc.abilist     |  2 ++
>  sysdeps/unix/sysv/linux/nios2/libc.abilist      |  2 ++
>  .../unix/sysv/linux/nios2/libpthread.abilist    |  1 -
>  .../linux/powerpc/powerpc32/fpu/libc.abilist    |  2 ++
>  .../linux/powerpc/powerpc32/libpthread.abilist  |  1 -
>  .../linux/powerpc/powerpc32/nofpu/libc.abilist  |  2 ++
>  .../linux/powerpc/powerpc64/be/libc.abilist     |  2 ++
>  .../powerpc/powerpc64/be/libpthread.abilist     |  1 -
>  .../linux/powerpc/powerpc64/le/libc.abilist     |  2 ++
>  .../powerpc/powerpc64/le/libpthread.abilist     |  1 -
>  sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist |  2 ++
>  .../sysv/linux/riscv/rv32/libpthread.abilist    |  1 -
>  sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist |  2 ++
>  .../sysv/linux/riscv/rv64/libpthread.abilist    |  1 -
>  .../unix/sysv/linux/s390/s390-32/libc.abilist   |  2 ++
>  .../sysv/linux/s390/s390-32/libpthread.abilist  |  1 -
>  .../unix/sysv/linux/s390/s390-64/libc.abilist   |  2 ++
>  .../sysv/linux/s390/s390-64/libpthread.abilist  |  1 -
>  sysdeps/unix/sysv/linux/sh/be/libc.abilist      |  2 ++
>  .../unix/sysv/linux/sh/be/libpthread.abilist    |  1 -
>  sysdeps/unix/sysv/linux/sh/le/libc.abilist      |  2 ++
>  .../unix/sysv/linux/sh/le/libpthread.abilist    |  1 -
>  .../unix/sysv/linux/sparc/sparc32/libc.abilist  |  2 ++
>  .../sysv/linux/sparc/sparc32/libpthread.abilist |  1 -
>  .../unix/sysv/linux/sparc/sparc64/libc.abilist  |  2 ++
>  .../sysv/linux/sparc/sparc64/libpthread.abilist |  1 -
>  sysdeps/unix/sysv/linux/x86_64/64/libc.abilist  |  2 ++
>  .../sysv/linux/x86_64/64/libpthread.abilist     |  1 -
>  sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist |  2 ++
>  .../sysv/linux/x86_64/x32/libpthread.abilist    |  1 -
>  65 files changed, 83 insertions(+), 34 deletions(-)
> 
> diff --git a/nptl/Makefile b/nptl/Makefile
> index fa8bcf8c62..5d4276d9f9 100644
> --- a/nptl/Makefile
> +++ b/nptl/Makefile
> @@ -80,6 +80,7 @@ routines = \
>    pthread_getschedparam \
>    pthread_getspecific \
>    pthread_key_create \
> +  pthread_key_delete \
>    pthread_keys \
>    pthread_mutex_consistent \
>    pthread_once \
> @@ -162,7 +163,6 @@ libpthread-routines = \
>    pthread_getname \
>    pthread_join \
>    pthread_join_common \
> -  pthread_key_delete \
>    pthread_kill \
>    pthread_kill_other_threads \
>    pthread_mutex_cond_lock \

Ok.

> diff --git a/nptl/Versions b/nptl/Versions
> index 58a37b8816..e93c27b083 100644
> --- a/nptl/Versions
> +++ b/nptl/Versions
> @@ -33,6 +33,7 @@ libc {
>      pthread_getschedparam;
>      pthread_getspecific;
>      pthread_key_create;
> +    pthread_key_delete;
>      pthread_mutex_destroy;
>      pthread_mutex_init;
>      pthread_mutex_lock;
> @@ -98,6 +99,7 @@ libc {
>      __pthread_setspecific;
>      pthread_getspecific;
>      pthread_key_create;
> +    pthread_key_delete;
>      pthread_mutex_consistent;
>      pthread_once;
>      pthread_setspecific;
> @@ -134,6 +136,7 @@ libc {
>      __pthread_exit;
>      __pthread_force_elision;
>      __pthread_getattr_default_np;
> +    __pthread_key_delete;
>      __pthread_keys;
>      __pthread_setcancelstate;
>      __pthread_unwind;
> @@ -188,7 +191,6 @@ libpthread {
>      pthread_create;
>      pthread_detach;
>      pthread_join;
> -    pthread_key_delete;
>      pthread_kill;
>      pthread_kill_other_threads_np;
>      pthread_mutex_destroy;

Ok.

> diff --git a/nptl/pthreadP.h b/nptl/pthreadP.h
> index c9e845e4a2..515c58039b 100644
> --- a/nptl/pthreadP.h
> +++ b/nptl/pthreadP.h
> @@ -517,6 +517,7 @@ extern int __pthread_condattr_destroy (pthread_condattr_t *attr);
>  extern int __pthread_condattr_init (pthread_condattr_t *attr);
>  extern int __pthread_key_create (pthread_key_t *key, void (*destr) (void *));
>  extern int __pthread_key_delete (pthread_key_t key);
> +libc_hidden_proto (__pthread_key_delete)
>  extern void *__pthread_getspecific (pthread_key_t key);
>  libc_hidden_proto (__pthread_getspecific)
>  extern int __pthread_setspecific (pthread_key_t key, const void *value);

Ok.

> diff --git a/nptl/pthread_key_delete.c b/nptl/pthread_key_delete.c
> index b9018306b1..081821cc02 100644
> --- a/nptl/pthread_key_delete.c
> +++ b/nptl/pthread_key_delete.c
> @@ -19,10 +19,10 @@
>  #include <errno.h>
>  #include "pthreadP.h"
>  #include <atomic.h>
> -
> +#include <shlib-compat.h>
>  
>  int
> -__pthread_key_delete (pthread_key_t key)
> +__pthread_key_delete_1 (pthread_key_t key)
>  {
>    int result = EINVAL;
>  
> @@ -39,4 +39,15 @@ __pthread_key_delete (pthread_key_t key)
>  
>    return result;
>  }
> -weak_alias (__pthread_key_delete, pthread_key_delete)
> +versioned_symbol (libc, __pthread_key_delete_1, pthread_key_delete,
> +		  GLIBC_2_34);
> +libc_hidden_ver (__pthread_key_delete_1, __pthread_key_delete)
> +
> +strong_alias (__pthread_key_delete_1, __pthread_key_delete_2)
> +versioned_symbol (libc, __pthread_key_delete_2, __pthread_key_delete,
> +		  GLIBC_PRIVATE);
> +
> +#if SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_34)
> +strong_alias (__pthread_key_delete_1, __pthread_key_delete_3)
> +compat_symbol (libc, __pthread_key_delete_3, pthread_key_delete, GLIBC_2_0);
> +#endif
> diff --git a/sysdeps/unix/sysv/linux/aarch64/libc.abilist b/sysdeps/unix/sysv/linux/aarch64/libc.abilist
> index 2601be32bf..991efa0044 100644
> --- a/sysdeps/unix/sysv/linux/aarch64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/aarch64/libc.abilist
> @@ -1454,6 +1454,7 @@ GLIBC_2.17 pthread_getattr_np F
>  GLIBC_2.17 pthread_getschedparam F
>  GLIBC_2.17 pthread_getspecific F
>  GLIBC_2.17 pthread_key_create F
> +GLIBC_2.17 pthread_key_delete F
>  GLIBC_2.17 pthread_mutex_consistent F
>  GLIBC_2.17 pthread_mutex_consistent_np F
>  GLIBC_2.17 pthread_mutex_destroy F
> @@ -2196,6 +2197,7 @@ GLIBC_2.34 __pthread_setspecific F
>  GLIBC_2.34 __pthread_unwind_next F
>  GLIBC_2.34 pthread_getspecific F
>  GLIBC_2.34 pthread_key_create F
> +GLIBC_2.34 pthread_key_delete F
>  GLIBC_2.34 pthread_mutex_consistent F
>  GLIBC_2.34 pthread_once F
>  GLIBC_2.34 pthread_setspecific F
> diff --git a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
> index 778eb45ffc..50ab959905 100644
> --- a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
> @@ -85,7 +85,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_key_delete F
>  GLIBC_2.17 pthread_kill F
>  GLIBC_2.17 pthread_kill_other_threads_np F
>  GLIBC_2.17 pthread_mutex_destroy F
> diff --git a/sysdeps/unix/sysv/linux/alpha/libc.abilist b/sysdeps/unix/sysv/linux/alpha/libc.abilist
> index d334d0759d..a1229e4a1a 100644
> --- a/sysdeps/unix/sysv/linux/alpha/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/alpha/libc.abilist
> @@ -893,6 +893,7 @@ GLIBC_2.0 pthread_exit F
>  GLIBC_2.0 pthread_getschedparam F
>  GLIBC_2.0 pthread_getspecific F
>  GLIBC_2.0 pthread_key_create F
> +GLIBC_2.0 pthread_key_delete F
>  GLIBC_2.0 pthread_mutex_destroy F
>  GLIBC_2.0 pthread_mutex_init F
>  GLIBC_2.0 pthread_mutex_lock F
> @@ -2277,6 +2278,7 @@ GLIBC_2.34 __pthread_setspecific F
>  GLIBC_2.34 __pthread_unwind_next F
>  GLIBC_2.34 pthread_getspecific F
>  GLIBC_2.34 pthread_key_create F
> +GLIBC_2.34 pthread_key_delete F
>  GLIBC_2.34 pthread_mutex_consistent F
>  GLIBC_2.34 pthread_once F
>  GLIBC_2.34 pthread_setspecific F
> diff --git a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
> index 8ccbe19154..9d78d94466 100644
> --- a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
> @@ -41,7 +41,6 @@ GLIBC_2.0 pthread_cond_wait F
>  GLIBC_2.0 pthread_create F
>  GLIBC_2.0 pthread_detach F
>  GLIBC_2.0 pthread_join F
> -GLIBC_2.0 pthread_key_delete F
>  GLIBC_2.0 pthread_kill F
>  GLIBC_2.0 pthread_kill_other_threads_np F
>  GLIBC_2.0 pthread_mutex_destroy F
> diff --git a/sysdeps/unix/sysv/linux/arc/libc.abilist b/sysdeps/unix/sysv/linux/arc/libc.abilist
> index 49034a2bdd..ceee863b25 100644
> --- a/sysdeps/unix/sysv/linux/arc/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/arc/libc.abilist
> @@ -1381,6 +1381,7 @@ GLIBC_2.32 pthread_getattr_np F
>  GLIBC_2.32 pthread_getschedparam F
>  GLIBC_2.32 pthread_getspecific F
>  GLIBC_2.32 pthread_key_create F
> +GLIBC_2.32 pthread_key_delete F
>  GLIBC_2.32 pthread_mutex_consistent F
>  GLIBC_2.32 pthread_mutex_consistent_np F
>  GLIBC_2.32 pthread_mutex_destroy F
> @@ -1956,6 +1957,7 @@ GLIBC_2.34 __pthread_setspecific F
>  GLIBC_2.34 __pthread_unwind_next F
>  GLIBC_2.34 pthread_getspecific F
>  GLIBC_2.34 pthread_key_create F
> +GLIBC_2.34 pthread_key_delete F
>  GLIBC_2.34 pthread_mutex_consistent F
>  GLIBC_2.34 pthread_once F
>  GLIBC_2.34 pthread_setspecific F
> diff --git a/sysdeps/unix/sysv/linux/arc/libpthread.abilist b/sysdeps/unix/sysv/linux/arc/libpthread.abilist
> index fba129cfad..6fed825b25 100644
> --- a/sysdeps/unix/sysv/linux/arc/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/arc/libpthread.abilist
> @@ -99,7 +99,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_key_delete F
>  GLIBC_2.32 pthread_kill F
>  GLIBC_2.32 pthread_kill_other_threads_np F
>  GLIBC_2.32 pthread_mutex_clocklock F
> diff --git a/sysdeps/unix/sysv/linux/arm/be/libc.abilist b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
> index 3727e33898..31e2de3cc2 100644
> --- a/sysdeps/unix/sysv/linux/arm/be/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
> @@ -165,6 +165,7 @@ GLIBC_2.34 __pthread_setspecific F
>  GLIBC_2.34 __pthread_unwind_next F
>  GLIBC_2.34 pthread_getspecific F
>  GLIBC_2.34 pthread_key_create F
> +GLIBC_2.34 pthread_key_delete F
>  GLIBC_2.34 pthread_mutex_consistent F
>  GLIBC_2.34 pthread_once F
>  GLIBC_2.34 pthread_setspecific F
> @@ -1559,6 +1560,7 @@ GLIBC_2.4 pthread_getattr_np F
>  GLIBC_2.4 pthread_getschedparam F
>  GLIBC_2.4 pthread_getspecific F
>  GLIBC_2.4 pthread_key_create F
> +GLIBC_2.4 pthread_key_delete F
>  GLIBC_2.4 pthread_mutex_consistent_np F
>  GLIBC_2.4 pthread_mutex_destroy F
>  GLIBC_2.4 pthread_mutex_init F
> diff --git a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
> index 2cb1f0e2f5..5d3859b245 100644
> --- a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
> @@ -118,7 +118,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_key_delete F
>  GLIBC_2.4 pthread_kill F
>  GLIBC_2.4 pthread_kill_other_threads_np F
>  GLIBC_2.4 pthread_mutex_destroy F
> diff --git a/sysdeps/unix/sysv/linux/arm/le/libc.abilist b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
> index a7bc3a9a8e..c6f9e3dbc3 100644
> --- a/sysdeps/unix/sysv/linux/arm/le/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
> @@ -162,6 +162,7 @@ GLIBC_2.34 __pthread_setspecific F
>  GLIBC_2.34 __pthread_unwind_next F
>  GLIBC_2.34 pthread_getspecific F
>  GLIBC_2.34 pthread_key_create F
> +GLIBC_2.34 pthread_key_delete F
>  GLIBC_2.34 pthread_mutex_consistent F
>  GLIBC_2.34 pthread_once F
>  GLIBC_2.34 pthread_setspecific F
> @@ -1556,6 +1557,7 @@ GLIBC_2.4 pthread_getattr_np F
>  GLIBC_2.4 pthread_getschedparam F
>  GLIBC_2.4 pthread_getspecific F
>  GLIBC_2.4 pthread_key_create F
> +GLIBC_2.4 pthread_key_delete F
>  GLIBC_2.4 pthread_mutex_consistent_np F
>  GLIBC_2.4 pthread_mutex_destroy F
>  GLIBC_2.4 pthread_mutex_init F
> diff --git a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
> index 2cb1f0e2f5..5d3859b245 100644
> --- a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
> @@ -118,7 +118,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_key_delete F
>  GLIBC_2.4 pthread_kill F
>  GLIBC_2.4 pthread_kill_other_threads_np F
>  GLIBC_2.4 pthread_mutex_destroy F
> diff --git a/sysdeps/unix/sysv/linux/csky/libc.abilist b/sysdeps/unix/sysv/linux/csky/libc.abilist
> index 61de7117bd..ec7f3bde74 100644
> --- a/sysdeps/unix/sysv/linux/csky/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/csky/libc.abilist
> @@ -1442,6 +1442,7 @@ GLIBC_2.29 pthread_getattr_np F
>  GLIBC_2.29 pthread_getschedparam F
>  GLIBC_2.29 pthread_getspecific F
>  GLIBC_2.29 pthread_key_create F
> +GLIBC_2.29 pthread_key_delete F
>  GLIBC_2.29 pthread_mutex_consistent F
>  GLIBC_2.29 pthread_mutex_consistent_np F
>  GLIBC_2.29 pthread_mutex_destroy F
> @@ -2140,6 +2141,7 @@ GLIBC_2.34 __pthread_setspecific F
>  GLIBC_2.34 __pthread_unwind_next F
>  GLIBC_2.34 pthread_getspecific F
>  GLIBC_2.34 pthread_key_create F
> +GLIBC_2.34 pthread_key_delete F
>  GLIBC_2.34 pthread_mutex_consistent F
>  GLIBC_2.34 pthread_once F
>  GLIBC_2.34 pthread_setspecific F
> diff --git a/sysdeps/unix/sysv/linux/csky/libpthread.abilist b/sysdeps/unix/sysv/linux/csky/libpthread.abilist
> index 760740a4ed..cf7869867c 100644
> --- a/sysdeps/unix/sysv/linux/csky/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/csky/libpthread.abilist
> @@ -97,7 +97,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_key_delete F
>  GLIBC_2.29 pthread_kill F
>  GLIBC_2.29 pthread_kill_other_threads_np F
>  GLIBC_2.29 pthread_mutex_destroy F
> diff --git a/sysdeps/unix/sysv/linux/hppa/libc.abilist b/sysdeps/unix/sysv/linux/hppa/libc.abilist
> index c380a422ca..ebced5d8c3 100644
> --- a/sysdeps/unix/sysv/linux/hppa/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/hppa/libc.abilist
> @@ -1277,6 +1277,7 @@ GLIBC_2.2 pthread_exit F
>  GLIBC_2.2 pthread_getschedparam F
>  GLIBC_2.2 pthread_getspecific F
>  GLIBC_2.2 pthread_key_create F
> +GLIBC_2.2 pthread_key_delete F
>  GLIBC_2.2 pthread_mutex_destroy F
>  GLIBC_2.2 pthread_mutex_init F
>  GLIBC_2.2 pthread_mutex_lock F
> @@ -2098,6 +2099,7 @@ GLIBC_2.34 __pthread_setspecific F
>  GLIBC_2.34 __pthread_unwind_next F
>  GLIBC_2.34 pthread_getspecific F
>  GLIBC_2.34 pthread_key_create F
> +GLIBC_2.34 pthread_key_delete F
>  GLIBC_2.34 pthread_mutex_consistent F
>  GLIBC_2.34 pthread_once F
>  GLIBC_2.34 pthread_setspecific F
> diff --git a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
> index c24d832b13..d0e8564302 100644
> --- a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
> @@ -84,7 +84,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_key_delete F
>  GLIBC_2.2 pthread_kill F
>  GLIBC_2.2 pthread_kill_other_threads_np F
>  GLIBC_2.2 pthread_mutex_destroy F
> diff --git a/sysdeps/unix/sysv/linux/i386/libc.abilist b/sysdeps/unix/sysv/linux/i386/libc.abilist
> index dd10b08625..d15479dabd 100644
> --- a/sysdeps/unix/sysv/linux/i386/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/i386/libc.abilist
> @@ -870,6 +870,7 @@ GLIBC_2.0 pthread_exit F
>  GLIBC_2.0 pthread_getschedparam F
>  GLIBC_2.0 pthread_getspecific F
>  GLIBC_2.0 pthread_key_create F
> +GLIBC_2.0 pthread_key_delete F
>  GLIBC_2.0 pthread_mutex_destroy F
>  GLIBC_2.0 pthread_mutex_init F
>  GLIBC_2.0 pthread_mutex_lock F
> @@ -2265,6 +2266,7 @@ GLIBC_2.34 __pthread_setspecific F
>  GLIBC_2.34 __pthread_unwind_next F
>  GLIBC_2.34 pthread_getspecific F
>  GLIBC_2.34 pthread_key_create F
> +GLIBC_2.34 pthread_key_delete F
>  GLIBC_2.34 pthread_mutex_consistent F
>  GLIBC_2.34 pthread_once F
>  GLIBC_2.34 pthread_setspecific F
> diff --git a/sysdeps/unix/sysv/linux/i386/libpthread.abilist b/sysdeps/unix/sysv/linux/i386/libpthread.abilist
> index 6b644a2513..99e53d0c49 100644
> --- a/sysdeps/unix/sysv/linux/i386/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/i386/libpthread.abilist
> @@ -41,7 +41,6 @@ GLIBC_2.0 pthread_cond_wait F
>  GLIBC_2.0 pthread_create F
>  GLIBC_2.0 pthread_detach F
>  GLIBC_2.0 pthread_join F
> -GLIBC_2.0 pthread_key_delete F
>  GLIBC_2.0 pthread_kill F
>  GLIBC_2.0 pthread_kill_other_threads_np F
>  GLIBC_2.0 pthread_mutex_destroy F
> diff --git a/sysdeps/unix/sysv/linux/ia64/libc.abilist b/sysdeps/unix/sysv/linux/ia64/libc.abilist
> index fe64b5c1f0..62c8c7d461 100644
> --- a/sysdeps/unix/sysv/linux/ia64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/ia64/libc.abilist
> @@ -1298,6 +1298,7 @@ GLIBC_2.2 pthread_exit F
>  GLIBC_2.2 pthread_getschedparam F
>  GLIBC_2.2 pthread_getspecific F
>  GLIBC_2.2 pthread_key_create F
> +GLIBC_2.2 pthread_key_delete F
>  GLIBC_2.2 pthread_mutex_destroy F
>  GLIBC_2.2 pthread_mutex_init F
>  GLIBC_2.2 pthread_mutex_lock F
> @@ -2130,6 +2131,7 @@ GLIBC_2.34 __pthread_setspecific F
>  GLIBC_2.34 __pthread_unwind_next F
>  GLIBC_2.34 pthread_getspecific F
>  GLIBC_2.34 pthread_key_create F
> +GLIBC_2.34 pthread_key_delete F
>  GLIBC_2.34 pthread_mutex_consistent F
>  GLIBC_2.34 pthread_once F
>  GLIBC_2.34 pthread_setspecific F
> diff --git a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
> index 1669fb860d..ff37f3905e 100644
> --- a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
> @@ -84,7 +84,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_key_delete F
>  GLIBC_2.2 pthread_kill F
>  GLIBC_2.2 pthread_kill_other_threads_np F
>  GLIBC_2.2 pthread_mutex_destroy F
> diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
> index 1af30ff1b3..83e8a6824f 100644
> --- a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
> @@ -166,6 +166,7 @@ GLIBC_2.34 __pthread_setspecific F
>  GLIBC_2.34 __pthread_unwind_next F
>  GLIBC_2.34 pthread_getspecific F
>  GLIBC_2.34 pthread_key_create F
> +GLIBC_2.34 pthread_key_delete F
>  GLIBC_2.34 pthread_mutex_consistent F
>  GLIBC_2.34 pthread_once F
>  GLIBC_2.34 pthread_setspecific F
> @@ -1539,6 +1540,7 @@ GLIBC_2.4 pthread_getattr_np F
>  GLIBC_2.4 pthread_getschedparam F
>  GLIBC_2.4 pthread_getspecific F
>  GLIBC_2.4 pthread_key_create F
> +GLIBC_2.4 pthread_key_delete F
>  GLIBC_2.4 pthread_mutex_consistent_np F
>  GLIBC_2.4 pthread_mutex_destroy F
>  GLIBC_2.4 pthread_mutex_init F
> diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
> index 2cb1f0e2f5..5d3859b245 100644
> --- a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
> @@ -118,7 +118,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_key_delete F
>  GLIBC_2.4 pthread_kill F
>  GLIBC_2.4 pthread_kill_other_threads_np F
>  GLIBC_2.4 pthread_mutex_destroy F
> diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
> index 372bb9db63..5a81c61de7 100644
> --- a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
> @@ -869,6 +869,7 @@ GLIBC_2.0 pthread_exit F
>  GLIBC_2.0 pthread_getschedparam F
>  GLIBC_2.0 pthread_getspecific F
>  GLIBC_2.0 pthread_key_create F
> +GLIBC_2.0 pthread_key_delete F
>  GLIBC_2.0 pthread_mutex_destroy F
>  GLIBC_2.0 pthread_mutex_init F
>  GLIBC_2.0 pthread_mutex_lock F
> @@ -2210,6 +2211,7 @@ GLIBC_2.34 __pthread_setspecific F
>  GLIBC_2.34 __pthread_unwind_next F
>  GLIBC_2.34 pthread_getspecific F
>  GLIBC_2.34 pthread_key_create F
> +GLIBC_2.34 pthread_key_delete F
>  GLIBC_2.34 pthread_mutex_consistent F
>  GLIBC_2.34 pthread_once F
>  GLIBC_2.34 pthread_setspecific F
> diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
> index 6b644a2513..99e53d0c49 100644
> --- a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
> @@ -41,7 +41,6 @@ GLIBC_2.0 pthread_cond_wait F
>  GLIBC_2.0 pthread_create F
>  GLIBC_2.0 pthread_detach F
>  GLIBC_2.0 pthread_join F
> -GLIBC_2.0 pthread_key_delete F
>  GLIBC_2.0 pthread_kill F
>  GLIBC_2.0 pthread_kill_other_threads_np F
>  GLIBC_2.0 pthread_mutex_destroy F
> diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
> index 7b1b02ff24..39c806db53 100644
> --- a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
> @@ -1457,6 +1457,7 @@ GLIBC_2.18 pthread_getattr_np F
>  GLIBC_2.18 pthread_getschedparam F
>  GLIBC_2.18 pthread_getspecific F
>  GLIBC_2.18 pthread_key_create F
> +GLIBC_2.18 pthread_key_delete F
>  GLIBC_2.18 pthread_mutex_consistent F
>  GLIBC_2.18 pthread_mutex_consistent_np F
>  GLIBC_2.18 pthread_mutex_destroy F
> @@ -2191,6 +2192,7 @@ GLIBC_2.34 __pthread_setspecific F
>  GLIBC_2.34 __pthread_unwind_next F
>  GLIBC_2.34 pthread_getspecific F
>  GLIBC_2.34 pthread_key_create F
> +GLIBC_2.34 pthread_key_delete F
>  GLIBC_2.34 pthread_mutex_consistent F
>  GLIBC_2.34 pthread_once F
>  GLIBC_2.34 pthread_setspecific F
> diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
> index 64e0587af6..8b3785414d 100644
> --- a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
> @@ -86,7 +86,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_key_delete F
>  GLIBC_2.18 pthread_kill F
>  GLIBC_2.18 pthread_kill_other_threads_np F
>  GLIBC_2.18 pthread_mutex_destroy F
> diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
> index 07ec814a0d..ce2823207c 100644
> --- a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
> @@ -1457,6 +1457,7 @@ GLIBC_2.18 pthread_getattr_np F
>  GLIBC_2.18 pthread_getschedparam F
>  GLIBC_2.18 pthread_getspecific F
>  GLIBC_2.18 pthread_key_create F
> +GLIBC_2.18 pthread_key_delete F
>  GLIBC_2.18 pthread_mutex_consistent F
>  GLIBC_2.18 pthread_mutex_consistent_np F
>  GLIBC_2.18 pthread_mutex_destroy F
> @@ -2188,6 +2189,7 @@ GLIBC_2.34 __pthread_setspecific F
>  GLIBC_2.34 __pthread_unwind_next F
>  GLIBC_2.34 pthread_getspecific F
>  GLIBC_2.34 pthread_key_create F
> +GLIBC_2.34 pthread_key_delete F
>  GLIBC_2.34 pthread_mutex_consistent F
>  GLIBC_2.34 pthread_once F
>  GLIBC_2.34 pthread_setspecific F
> diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
> index 64e0587af6..8b3785414d 100644
> --- a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
> @@ -86,7 +86,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_key_delete F
>  GLIBC_2.18 pthread_kill F
>  GLIBC_2.18 pthread_kill_other_threads_np F
>  GLIBC_2.18 pthread_mutex_destroy F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
> index 51253a4216..5e8abfa6ae 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
> @@ -866,6 +866,7 @@ GLIBC_2.0 pthread_exit F
>  GLIBC_2.0 pthread_getschedparam F
>  GLIBC_2.0 pthread_getspecific F
>  GLIBC_2.0 pthread_key_create F
> +GLIBC_2.0 pthread_key_delete F
>  GLIBC_2.0 pthread_mutex_destroy F
>  GLIBC_2.0 pthread_mutex_init F
>  GLIBC_2.0 pthread_mutex_lock F
> @@ -2181,6 +2182,7 @@ GLIBC_2.34 __pthread_setspecific F
>  GLIBC_2.34 __pthread_unwind_next F
>  GLIBC_2.34 pthread_getspecific F
>  GLIBC_2.34 pthread_key_create F
> +GLIBC_2.34 pthread_key_delete F
>  GLIBC_2.34 pthread_mutex_consistent F
>  GLIBC_2.34 pthread_once F
>  GLIBC_2.34 pthread_setspecific F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
> index 1118a25c82..cd0d6d7419 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
> @@ -41,7 +41,6 @@ GLIBC_2.0 pthread_cond_wait F
>  GLIBC_2.0 pthread_create F
>  GLIBC_2.0 pthread_detach F
>  GLIBC_2.0 pthread_join F
> -GLIBC_2.0 pthread_key_delete F
>  GLIBC_2.0 pthread_kill F
>  GLIBC_2.0 pthread_kill_other_threads_np F
>  GLIBC_2.0 pthread_mutex_destroy F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
> index 2574b7627e..93002ae842 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
> @@ -866,6 +866,7 @@ GLIBC_2.0 pthread_exit F
>  GLIBC_2.0 pthread_getschedparam F
>  GLIBC_2.0 pthread_getspecific F
>  GLIBC_2.0 pthread_key_create F
> +GLIBC_2.0 pthread_key_delete F
>  GLIBC_2.0 pthread_mutex_destroy F
>  GLIBC_2.0 pthread_mutex_init F
>  GLIBC_2.0 pthread_mutex_lock F
> @@ -2179,6 +2180,7 @@ GLIBC_2.34 __pthread_setspecific F
>  GLIBC_2.34 __pthread_unwind_next F
>  GLIBC_2.34 pthread_getspecific F
>  GLIBC_2.34 pthread_key_create F
> +GLIBC_2.34 pthread_key_delete F
>  GLIBC_2.34 pthread_mutex_consistent F
>  GLIBC_2.34 pthread_once F
>  GLIBC_2.34 pthread_setspecific F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
> index 1118a25c82..cd0d6d7419 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
> @@ -41,7 +41,6 @@ GLIBC_2.0 pthread_cond_wait F
>  GLIBC_2.0 pthread_create F
>  GLIBC_2.0 pthread_detach F
>  GLIBC_2.0 pthread_join F
> -GLIBC_2.0 pthread_key_delete F
>  GLIBC_2.0 pthread_kill F
>  GLIBC_2.0 pthread_kill_other_threads_np F
>  GLIBC_2.0 pthread_mutex_destroy F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
> index 0580b260e2..245a840e12 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
> @@ -866,6 +866,7 @@ GLIBC_2.0 pthread_exit F
>  GLIBC_2.0 pthread_getschedparam F
>  GLIBC_2.0 pthread_getspecific F
>  GLIBC_2.0 pthread_key_create F
> +GLIBC_2.0 pthread_key_delete F
>  GLIBC_2.0 pthread_mutex_destroy F
>  GLIBC_2.0 pthread_mutex_init F
>  GLIBC_2.0 pthread_mutex_lock F
> @@ -2187,6 +2188,7 @@ GLIBC_2.34 __pthread_setspecific F
>  GLIBC_2.34 __pthread_unwind_next F
>  GLIBC_2.34 pthread_getspecific F
>  GLIBC_2.34 pthread_key_create F
> +GLIBC_2.34 pthread_key_delete F
>  GLIBC_2.34 pthread_mutex_consistent F
>  GLIBC_2.34 pthread_once F
>  GLIBC_2.34 pthread_setspecific F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
> index 40fe64ea6b..24b2dddb51 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
> @@ -864,6 +864,7 @@ GLIBC_2.0 pthread_exit F
>  GLIBC_2.0 pthread_getschedparam F
>  GLIBC_2.0 pthread_getspecific F
>  GLIBC_2.0 pthread_key_create F
> +GLIBC_2.0 pthread_key_delete F
>  GLIBC_2.0 pthread_mutex_destroy F
>  GLIBC_2.0 pthread_mutex_init F
>  GLIBC_2.0 pthread_mutex_lock F
> @@ -2181,6 +2182,7 @@ GLIBC_2.34 __pthread_setspecific F
>  GLIBC_2.34 __pthread_unwind_next F
>  GLIBC_2.34 pthread_getspecific F
>  GLIBC_2.34 pthread_key_create F
> +GLIBC_2.34 pthread_key_delete F
>  GLIBC_2.34 pthread_mutex_consistent F
>  GLIBC_2.34 pthread_once F
>  GLIBC_2.34 pthread_setspecific F
> diff --git a/sysdeps/unix/sysv/linux/nios2/libc.abilist b/sysdeps/unix/sysv/linux/nios2/libc.abilist
> index b9400803eb..7d4b4dd278 100644
> --- a/sysdeps/unix/sysv/linux/nios2/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/nios2/libc.abilist
> @@ -1499,6 +1499,7 @@ GLIBC_2.21 pthread_getattr_np F
>  GLIBC_2.21 pthread_getschedparam F
>  GLIBC_2.21 pthread_getspecific F
>  GLIBC_2.21 pthread_key_create F
> +GLIBC_2.21 pthread_key_delete F
>  GLIBC_2.21 pthread_mutex_consistent F
>  GLIBC_2.21 pthread_mutex_consistent_np F
>  GLIBC_2.21 pthread_mutex_destroy F
> @@ -2229,6 +2230,7 @@ GLIBC_2.34 __pthread_setspecific F
>  GLIBC_2.34 __pthread_unwind_next F
>  GLIBC_2.34 pthread_getspecific F
>  GLIBC_2.34 pthread_key_create F
> +GLIBC_2.34 pthread_key_delete F
>  GLIBC_2.34 pthread_mutex_consistent F
>  GLIBC_2.34 pthread_once F
>  GLIBC_2.34 pthread_setspecific F
> diff --git a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
> index 96d1cd0f49..0250c9756d 100644
> --- a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
> @@ -86,7 +86,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_key_delete F
>  GLIBC_2.21 pthread_kill F
>  GLIBC_2.21 pthread_kill_other_threads_np F
>  GLIBC_2.21 pthread_mutex_destroy F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
> index 9f27e4aa50..65ea41b2db 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
> @@ -877,6 +877,7 @@ GLIBC_2.0 pthread_exit F
>  GLIBC_2.0 pthread_getschedparam F
>  GLIBC_2.0 pthread_getspecific F
>  GLIBC_2.0 pthread_key_create F
> +GLIBC_2.0 pthread_key_delete F
>  GLIBC_2.0 pthread_mutex_destroy F
>  GLIBC_2.0 pthread_mutex_init F
>  GLIBC_2.0 pthread_mutex_lock F
> @@ -2237,6 +2238,7 @@ GLIBC_2.34 __pthread_setspecific F
>  GLIBC_2.34 __pthread_unwind_next F
>  GLIBC_2.34 pthread_getspecific F
>  GLIBC_2.34 pthread_key_create F
> +GLIBC_2.34 pthread_key_delete F
>  GLIBC_2.34 pthread_mutex_consistent F
>  GLIBC_2.34 pthread_once F
>  GLIBC_2.34 pthread_setspecific F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
> index a8111f4b92..e0eb362a7a 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
> @@ -41,7 +41,6 @@ GLIBC_2.0 pthread_cond_wait F
>  GLIBC_2.0 pthread_create F
>  GLIBC_2.0 pthread_detach F
>  GLIBC_2.0 pthread_join F
> -GLIBC_2.0 pthread_key_delete F
>  GLIBC_2.0 pthread_kill F
>  GLIBC_2.0 pthread_kill_other_threads_np F
>  GLIBC_2.0 pthread_mutex_destroy F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
> index 9c91e65fc1..9d413de126 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
> @@ -877,6 +877,7 @@ GLIBC_2.0 pthread_exit F
>  GLIBC_2.0 pthread_getschedparam F
>  GLIBC_2.0 pthread_getspecific F
>  GLIBC_2.0 pthread_key_create F
> +GLIBC_2.0 pthread_key_delete F
>  GLIBC_2.0 pthread_mutex_destroy F
>  GLIBC_2.0 pthread_mutex_init F
>  GLIBC_2.0 pthread_mutex_lock F
> @@ -2270,6 +2271,7 @@ GLIBC_2.34 __pthread_setspecific F
>  GLIBC_2.34 __pthread_unwind_next F
>  GLIBC_2.34 pthread_getspecific F
>  GLIBC_2.34 pthread_key_create F
> +GLIBC_2.34 pthread_key_delete F
>  GLIBC_2.34 pthread_mutex_consistent F
>  GLIBC_2.34 pthread_once F
>  GLIBC_2.34 pthread_setspecific F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
> index 0ef070e285..16c24bfc69 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
> @@ -1384,6 +1384,7 @@ GLIBC_2.3 pthread_getattr_np F
>  GLIBC_2.3 pthread_getschedparam F
>  GLIBC_2.3 pthread_getspecific F
>  GLIBC_2.3 pthread_key_create F
> +GLIBC_2.3 pthread_key_delete F
>  GLIBC_2.3 pthread_mutex_destroy F
>  GLIBC_2.3 pthread_mutex_init F
>  GLIBC_2.3 pthread_mutex_lock F
> @@ -2100,6 +2101,7 @@ GLIBC_2.34 __pthread_setspecific F
>  GLIBC_2.34 __pthread_unwind_next F
>  GLIBC_2.34 pthread_getspecific F
>  GLIBC_2.34 pthread_key_create F
> +GLIBC_2.34 pthread_key_delete F
>  GLIBC_2.34 pthread_mutex_consistent F
>  GLIBC_2.34 pthread_once F
>  GLIBC_2.34 pthread_setspecific F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
> index a0f5dffd25..1099d88afe 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
> @@ -104,7 +104,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_key_delete F
>  GLIBC_2.3 pthread_kill F
>  GLIBC_2.3 pthread_kill_other_threads_np F
>  GLIBC_2.3 pthread_mutex_destroy F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
> index 4a6de68ece..d97c594edd 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
> @@ -1543,6 +1543,7 @@ GLIBC_2.17 pthread_getattr_np F
>  GLIBC_2.17 pthread_getschedparam F
>  GLIBC_2.17 pthread_getspecific F
>  GLIBC_2.17 pthread_key_create F
> +GLIBC_2.17 pthread_key_delete F
>  GLIBC_2.17 pthread_mutex_consistent F
>  GLIBC_2.17 pthread_mutex_consistent_np F
>  GLIBC_2.17 pthread_mutex_destroy F
> @@ -2391,6 +2392,7 @@ GLIBC_2.34 __pthread_setspecific F
>  GLIBC_2.34 __pthread_unwind_next F
>  GLIBC_2.34 pthread_getspecific F
>  GLIBC_2.34 pthread_key_create F
> +GLIBC_2.34 pthread_key_delete F
>  GLIBC_2.34 pthread_mutex_consistent F
>  GLIBC_2.34 pthread_once F
>  GLIBC_2.34 pthread_setspecific F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
> index 778eb45ffc..50ab959905 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
> @@ -85,7 +85,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_key_delete F
>  GLIBC_2.17 pthread_kill F
>  GLIBC_2.17 pthread_kill_other_threads_np F
>  GLIBC_2.17 pthread_mutex_destroy F
> diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
> index 62f9d06cc6..44b0121343 100644
> --- a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
> @@ -1383,6 +1383,7 @@ GLIBC_2.33 pthread_getattr_np F
>  GLIBC_2.33 pthread_getschedparam F
>  GLIBC_2.33 pthread_getspecific F
>  GLIBC_2.33 pthread_key_create F
> +GLIBC_2.33 pthread_key_delete F
>  GLIBC_2.33 pthread_mutex_consistent F
>  GLIBC_2.33 pthread_mutex_consistent_np F
>  GLIBC_2.33 pthread_mutex_destroy F
> @@ -1958,6 +1959,7 @@ GLIBC_2.34 __pthread_setspecific F
>  GLIBC_2.34 __pthread_unwind_next F
>  GLIBC_2.34 pthread_getspecific F
>  GLIBC_2.34 pthread_key_create F
> +GLIBC_2.34 pthread_key_delete F
>  GLIBC_2.34 pthread_mutex_consistent F
>  GLIBC_2.34 pthread_once F
>  GLIBC_2.34 pthread_setspecific F
> diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
> index dc38dee1ae..6c6fdd0cbf 100644
> --- a/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
> @@ -99,7 +99,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_key_delete F
>  GLIBC_2.33 pthread_kill F
>  GLIBC_2.33 pthread_kill_other_threads_np F
>  GLIBC_2.33 pthread_mutex_clocklock F
> diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
> index 63976e8487..22a34442f0 100644
> --- a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
> @@ -1445,6 +1445,7 @@ GLIBC_2.27 pthread_getattr_np F
>  GLIBC_2.27 pthread_getschedparam F
>  GLIBC_2.27 pthread_getspecific F
>  GLIBC_2.27 pthread_key_create F
> +GLIBC_2.27 pthread_key_delete F
>  GLIBC_2.27 pthread_mutex_consistent F
>  GLIBC_2.27 pthread_mutex_consistent_np F
>  GLIBC_2.27 pthread_mutex_destroy F
> @@ -2158,6 +2159,7 @@ GLIBC_2.34 __pthread_setspecific F
>  GLIBC_2.34 __pthread_unwind_next F
>  GLIBC_2.34 pthread_getspecific F
>  GLIBC_2.34 pthread_key_create F
> +GLIBC_2.34 pthread_key_delete F
>  GLIBC_2.34 pthread_mutex_consistent F
>  GLIBC_2.34 pthread_once F
>  GLIBC_2.34 pthread_setspecific F
> diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
> index a78a847c1a..359545faee 100644
> --- a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
> @@ -86,7 +86,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_key_delete F
>  GLIBC_2.27 pthread_kill F
>  GLIBC_2.27 pthread_kill_other_threads_np F
>  GLIBC_2.27 pthread_mutex_destroy F
> diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
> index 8b159936e4..21f49b1fa0 100644
> --- a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
> @@ -868,6 +868,7 @@ GLIBC_2.0 pthread_exit F
>  GLIBC_2.0 pthread_getschedparam F
>  GLIBC_2.0 pthread_getspecific F
>  GLIBC_2.0 pthread_key_create F
> +GLIBC_2.0 pthread_key_delete F
>  GLIBC_2.0 pthread_mutex_destroy F
>  GLIBC_2.0 pthread_mutex_init F
>  GLIBC_2.0 pthread_mutex_lock F
> @@ -2235,6 +2236,7 @@ GLIBC_2.34 __pthread_setspecific F
>  GLIBC_2.34 __pthread_unwind_next F
>  GLIBC_2.34 pthread_getspecific F
>  GLIBC_2.34 pthread_key_create F
> +GLIBC_2.34 pthread_key_delete F
>  GLIBC_2.34 pthread_mutex_consistent F
>  GLIBC_2.34 pthread_once F
>  GLIBC_2.34 pthread_setspecific F
> diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
> index 5f9f4da233..5eb6187d98 100644
> --- a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
> @@ -41,7 +41,6 @@ GLIBC_2.0 pthread_cond_wait F
>  GLIBC_2.0 pthread_create F
>  GLIBC_2.0 pthread_detach F
>  GLIBC_2.0 pthread_join F
> -GLIBC_2.0 pthread_key_delete F
>  GLIBC_2.0 pthread_kill F
>  GLIBC_2.0 pthread_kill_other_threads_np F
>  GLIBC_2.0 pthread_mutex_destroy F
> diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
> index 5bbf8fdbb4..114591d6f5 100644
> --- a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
> @@ -1295,6 +1295,7 @@ GLIBC_2.2 pthread_exit F
>  GLIBC_2.2 pthread_getschedparam F
>  GLIBC_2.2 pthread_getspecific F
>  GLIBC_2.2 pthread_key_create F
> +GLIBC_2.2 pthread_key_delete F
>  GLIBC_2.2 pthread_mutex_destroy F
>  GLIBC_2.2 pthread_mutex_init F
>  GLIBC_2.2 pthread_mutex_lock F
> @@ -2136,6 +2137,7 @@ GLIBC_2.34 __pthread_setspecific F
>  GLIBC_2.34 __pthread_unwind_next F
>  GLIBC_2.34 pthread_getspecific F
>  GLIBC_2.34 pthread_key_create F
> +GLIBC_2.34 pthread_key_delete F
>  GLIBC_2.34 pthread_mutex_consistent F
>  GLIBC_2.34 pthread_once F
>  GLIBC_2.34 pthread_setspecific F
> diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
> index ec27acf8c2..8f60a6b633 100644
> --- a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
> @@ -85,7 +85,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_key_delete F
>  GLIBC_2.2 pthread_kill F
>  GLIBC_2.2 pthread_kill_other_threads_np F
>  GLIBC_2.2 pthread_mutex_destroy F
> diff --git a/sysdeps/unix/sysv/linux/sh/be/libc.abilist b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
> index 10ea3c59b9..ad487f0c9f 100644
> --- a/sysdeps/unix/sysv/linux/sh/be/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
> @@ -1281,6 +1281,7 @@ GLIBC_2.2 pthread_exit F
>  GLIBC_2.2 pthread_getschedparam F
>  GLIBC_2.2 pthread_getspecific F
>  GLIBC_2.2 pthread_key_create F
> +GLIBC_2.2 pthread_key_delete F
>  GLIBC_2.2 pthread_mutex_destroy F
>  GLIBC_2.2 pthread_mutex_init F
>  GLIBC_2.2 pthread_mutex_lock F
> @@ -2105,6 +2106,7 @@ GLIBC_2.34 __pthread_setspecific F
>  GLIBC_2.34 __pthread_unwind_next F
>  GLIBC_2.34 pthread_getspecific F
>  GLIBC_2.34 pthread_key_create F
> +GLIBC_2.34 pthread_key_delete F
>  GLIBC_2.34 pthread_mutex_consistent F
>  GLIBC_2.34 pthread_once F
>  GLIBC_2.34 pthread_setspecific F
> diff --git a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
> index c24d832b13..d0e8564302 100644
> --- a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
> @@ -84,7 +84,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_key_delete F
>  GLIBC_2.2 pthread_kill F
>  GLIBC_2.2 pthread_kill_other_threads_np F
>  GLIBC_2.2 pthread_mutex_destroy F
> diff --git a/sysdeps/unix/sysv/linux/sh/le/libc.abilist b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
> index 12d492b088..7f6886ff02 100644
> --- a/sysdeps/unix/sysv/linux/sh/le/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
> @@ -1281,6 +1281,7 @@ GLIBC_2.2 pthread_exit F
>  GLIBC_2.2 pthread_getschedparam F
>  GLIBC_2.2 pthread_getspecific F
>  GLIBC_2.2 pthread_key_create F
> +GLIBC_2.2 pthread_key_delete F
>  GLIBC_2.2 pthread_mutex_destroy F
>  GLIBC_2.2 pthread_mutex_init F
>  GLIBC_2.2 pthread_mutex_lock F
> @@ -2102,6 +2103,7 @@ GLIBC_2.34 __pthread_setspecific F
>  GLIBC_2.34 __pthread_unwind_next F
>  GLIBC_2.34 pthread_getspecific F
>  GLIBC_2.34 pthread_key_create F
> +GLIBC_2.34 pthread_key_delete F
>  GLIBC_2.34 pthread_mutex_consistent F
>  GLIBC_2.34 pthread_once F
>  GLIBC_2.34 pthread_setspecific F
> diff --git a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
> index c24d832b13..d0e8564302 100644
> --- a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
> @@ -84,7 +84,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_key_delete F
>  GLIBC_2.2 pthread_kill F
>  GLIBC_2.2 pthread_kill_other_threads_np F
>  GLIBC_2.2 pthread_mutex_destroy F
> diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
> index 3bb06d6ce0..4ae6d45923 100644
> --- a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
> @@ -871,6 +871,7 @@ GLIBC_2.0 pthread_exit F
>  GLIBC_2.0 pthread_getschedparam F
>  GLIBC_2.0 pthread_getspecific F
>  GLIBC_2.0 pthread_key_create F
> +GLIBC_2.0 pthread_key_delete F
>  GLIBC_2.0 pthread_mutex_destroy F
>  GLIBC_2.0 pthread_mutex_init F
>  GLIBC_2.0 pthread_mutex_lock F
> @@ -2226,6 +2227,7 @@ GLIBC_2.34 __pthread_setspecific F
>  GLIBC_2.34 __pthread_unwind_next F
>  GLIBC_2.34 pthread_getspecific F
>  GLIBC_2.34 pthread_key_create F
> +GLIBC_2.34 pthread_key_delete F
>  GLIBC_2.34 pthread_mutex_consistent F
>  GLIBC_2.34 pthread_once F
>  GLIBC_2.34 pthread_setspecific F
> diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
> index 8ccbe19154..9d78d94466 100644
> --- a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
> @@ -41,7 +41,6 @@ GLIBC_2.0 pthread_cond_wait F
>  GLIBC_2.0 pthread_create F
>  GLIBC_2.0 pthread_detach F
>  GLIBC_2.0 pthread_join F
> -GLIBC_2.0 pthread_key_delete F
>  GLIBC_2.0 pthread_kill F
>  GLIBC_2.0 pthread_kill_other_threads_np F
>  GLIBC_2.0 pthread_mutex_destroy F
> diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
> index 8a32fa3e95..44d0f68cb2 100644
> --- a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
> @@ -1324,6 +1324,7 @@ GLIBC_2.2 pthread_exit F
>  GLIBC_2.2 pthread_getschedparam F
>  GLIBC_2.2 pthread_getspecific F
>  GLIBC_2.2 pthread_key_create F
> +GLIBC_2.2 pthread_key_delete F
>  GLIBC_2.2 pthread_mutex_destroy F
>  GLIBC_2.2 pthread_mutex_init F
>  GLIBC_2.2 pthread_mutex_lock F
> @@ -2153,6 +2154,7 @@ GLIBC_2.34 __pthread_setspecific F
>  GLIBC_2.34 __pthread_unwind_next F
>  GLIBC_2.34 pthread_getspecific F
>  GLIBC_2.34 pthread_key_create F
> +GLIBC_2.34 pthread_key_delete F
>  GLIBC_2.34 pthread_mutex_consistent F
>  GLIBC_2.34 pthread_once F
>  GLIBC_2.34 pthread_setspecific F
> diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
> index 1669fb860d..ff37f3905e 100644
> --- a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
> @@ -84,7 +84,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_key_delete F
>  GLIBC_2.2 pthread_kill F
>  GLIBC_2.2 pthread_kill_other_threads_np F
>  GLIBC_2.2 pthread_mutex_destroy F
> diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
> index e05acdd11a..d96699a20d 100644
> --- a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
> @@ -1292,6 +1292,7 @@ GLIBC_2.2.5 pthread_getattr_np F
>  GLIBC_2.2.5 pthread_getschedparam F
>  GLIBC_2.2.5 pthread_getspecific F
>  GLIBC_2.2.5 pthread_key_create F
> +GLIBC_2.2.5 pthread_key_delete F
>  GLIBC_2.2.5 pthread_mutex_destroy F
>  GLIBC_2.2.5 pthread_mutex_init F
>  GLIBC_2.2.5 pthread_mutex_lock F
> @@ -2112,6 +2113,7 @@ GLIBC_2.34 __pthread_setspecific F
>  GLIBC_2.34 __pthread_unwind_next F
>  GLIBC_2.34 pthread_getspecific F
>  GLIBC_2.34 pthread_key_create F
> +GLIBC_2.34 pthread_key_delete F
>  GLIBC_2.34 pthread_mutex_consistent F
>  GLIBC_2.34 pthread_once F
>  GLIBC_2.34 pthread_setspecific F
> diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
> index f4d633ca96..511240921e 100644
> --- a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
> @@ -84,7 +84,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_key_delete F
>  GLIBC_2.2.5 pthread_kill F
>  GLIBC_2.2.5 pthread_kill_other_threads_np F
>  GLIBC_2.2.5 pthread_mutex_destroy F
> diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
> index 8800e570a4..33bbaff90c 100644
> --- a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
> @@ -1462,6 +1462,7 @@ GLIBC_2.16 pthread_getattr_np F
>  GLIBC_2.16 pthread_getschedparam F
>  GLIBC_2.16 pthread_getspecific F
>  GLIBC_2.16 pthread_key_create F
> +GLIBC_2.16 pthread_key_delete F
>  GLIBC_2.16 pthread_mutex_consistent F
>  GLIBC_2.16 pthread_mutex_consistent_np F
>  GLIBC_2.16 pthread_mutex_destroy F
> @@ -2210,6 +2211,7 @@ GLIBC_2.34 __pthread_setspecific F
>  GLIBC_2.34 __pthread_unwind_next F
>  GLIBC_2.34 pthread_getspecific F
>  GLIBC_2.34 pthread_key_create F
> +GLIBC_2.34 pthread_key_delete F
>  GLIBC_2.34 pthread_mutex_consistent F
>  GLIBC_2.34 pthread_once F
>  GLIBC_2.34 pthread_setspecific F
> diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
> index b687932187..a481ef56ab 100644
> --- a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
> @@ -85,7 +85,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_key_delete F
>  GLIBC_2.16 pthread_kill F
>  GLIBC_2.16 pthread_kill_other_threads_np F
>  GLIBC_2.16 pthread_mutex_destroy F
> 

  reply	other threads:[~2021-03-24 14:45 UTC|newest]

Thread overview: 99+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-03-16 17:27 [PATCH v3 00/37] libpthread removal: NPTL forwarders are gone Florian Weimer
2021-03-16 17:27 ` [PATCH v3 01/37] nptl: Move pthread_mutex_consistent into libc Florian Weimer
2021-03-17 11:36   ` Adhemerval Zanella
2021-03-16 17:27 ` [PATCH v3 02/37] nptl: Move __pthread_cleanup_routine " Florian Weimer
2021-03-16 17:27 ` [PATCH v3 03/37] nptl: Move legacy unwinding implementation " Florian Weimer
2021-03-16 17:27 ` [PATCH v3 04/37] nptl: Move legacy cancelation handling into libc as compat symbols Florian Weimer
2021-03-16 17:27 ` [PATCH v3 05/37] nptl: Remove longjmp, siglongjmp from libpthread Florian Weimer
2021-03-17 11:38   ` Adhemerval Zanella
2021-03-16 17:28 ` [PATCH v3 06/37] x86: Restore compile-time check for shadow stack pointer in longjmp Florian Weimer
2021-03-16 17:28 ` [PATCH v3 07/37] nptl: Move __pthread_cleanup_upto into libc Florian Weimer
2021-03-16 17:28 ` [PATCH v3 08/37] nptl: Move pthread_once and __pthread_once " Florian Weimer
2021-03-17 13:30   ` Adhemerval Zanella
2021-03-17 13:37     ` Adhemerval Zanella
2021-03-17 14:45       ` Florian Weimer
2021-03-17 16:39         ` Adhemerval Zanella
2021-03-17 16:56           ` Florian Weimer
2021-03-17 17:22             ` Adhemerval Zanella
2021-03-17 17:43               ` Florian Weimer
2021-03-17 19:09                 ` Adhemerval Zanella
2021-03-16 17:29 ` [PATCH v3 09/37] nptl: Move __pthread_unwind_next " Florian Weimer
2021-03-17 19:42   ` Adhemerval Zanella
2021-03-17 19:54     ` Florian Weimer
2021-03-17 20:16       ` Adhemerval Zanella
2021-03-17 20:33         ` Florian Weimer
2021-03-17 20:44           ` Adhemerval Zanella
2021-03-16 17:29 ` [PATCH v3 10/37] csu: Move calling main out of __libc_start_main_impl Florian Weimer
2021-03-17 20:45   ` Adhemerval Zanella
2021-03-16 17:29 ` [PATCH v3 11/37] nptl: Move internal __nptl_nthreads variable into libc Florian Weimer
2021-03-18 12:42   ` Adhemerval Zanella
2021-03-16 17:29 ` [PATCH v3 12/37] nptl_db: Introduce DB_MAIN_ARRAY_VARIABLE Florian Weimer
2021-03-18 12:43   ` Adhemerval Zanella
2021-03-16 17:29 ` [PATCH v3 13/37] nptl: Move __pthread_keys global variable into libc Florian Weimer
2021-03-18 12:44   ` Adhemerval Zanella
2021-03-16 17:29 ` [PATCH v3 14/37] nptl: Move __nptl_deallocate_tsd " Florian Weimer
2021-03-18 12:46   ` Adhemerval Zanella
2021-03-18 17:16     ` Florian Weimer
2021-03-18 17:54       ` Adhemerval Zanella
2021-03-16 17:29 ` [PATCH v3 15/37] nptl: Move pthread_exit " Florian Weimer
2021-03-18 12:49   ` Adhemerval Zanella
2021-03-16 17:29 ` [PATCH v3 16/37] nptl: Move pthread_setcancelstate " Florian Weimer
2021-03-18 12:52   ` Adhemerval Zanella
2021-03-16 17:29 ` [PATCH v3 17/37] nptl: Move pthread_setcanceltype " Florian Weimer
2021-03-18 12:53   ` Adhemerval Zanella
2021-03-16 17:29 ` [PATCH v3 18/37] nptl: Invoke the set_robust_list system call directly in fork Florian Weimer
2021-03-18 12:54   ` Adhemerval Zanella
2021-03-16 17:30 ` [PATCH v3 19/37] dlfcn: Failures after dlmopen should not terminate process [BZ #24772] Florian Weimer
2021-03-19 19:56   ` Adhemerval Zanella
2021-03-27 16:57     ` Florian Weimer
2021-03-16 17:30 ` [PATCH v3 20/37] dlfcn: dlerror needs to call free from the base namespace [BZ #24773] Florian Weimer
2021-03-23 14:47   ` Adhemerval Zanella
2021-03-16 17:30 ` [PATCH v3 21/37] Remove pthread_key_create-related internals from libc-lock.h Florian Weimer
2021-03-23 16:39   ` Adhemerval Zanella
2021-03-16 17:30 ` [PATCH v3 22/37] elf: Introduce __tls_init_tp for second-phase TCB initialization Florian Weimer
2021-03-23 18:25   ` Adhemerval Zanella
2021-03-16 17:30 ` [PATCH v3 23/37] nptl: Move part of TCB initialization from libpthread to __tls_init_tp Florian Weimer
2021-03-24 13:56   ` Adhemerval Zanella
2021-03-27 17:19     ` Florian Weimer
2021-03-16 17:30 ` [PATCH v3 24/37] nptl: Move pthread_key_create, __pthread_key_create into libc Florian Weimer
2021-03-24 14:09   ` Adhemerval Zanella
2021-03-24 14:32     ` Florian Weimer
2021-03-24 14:42       ` Adhemerval Zanella
2021-03-24 15:08         ` Florian Weimer
2021-03-24 15:46           ` Adhemerval Zanella
2021-03-16 17:30 ` [PATCH v3 25/37] nptl: Move pthread_getspecific, __pthread_getspecific " Florian Weimer
2021-03-24 14:12   ` Adhemerval Zanella
2021-03-24 14:38     ` Florian Weimer
2021-03-24 14:43       ` Adhemerval Zanella
2021-03-16 17:30 ` [PATCH v3 26/37] nptl: Move pthread_setspecific, __pthread_setspecific " Florian Weimer
2021-03-24 14:26   ` Adhemerval Zanella
2021-03-16 17:30 ` [PATCH v3 27/37] nptl: Move pthread_key_delete " Florian Weimer
2021-03-24 14:45   ` Adhemerval Zanella [this message]
2021-03-16 17:31 ` [PATCH v3 28/37] nptl: Move rwlock functions with forwarders " Florian Weimer
2021-03-25 19:52   ` Adhemerval Zanella
2021-03-27 21:41     ` Florian Weimer
2021-03-16 17:31 ` [PATCH v3 29/37] nptl: Move the internal thread priority protection symbols " Florian Weimer
2021-03-25 20:21   ` Adhemerval Zanella
2021-03-16 17:31 ` [PATCH v3 30/37] pthread: Introduce __pthread_early_init Florian Weimer
2021-03-25 20:22   ` Adhemerval Zanella
2021-03-16 17:31 ` [PATCH v3 31/37] nptl: Move internal symbol __mutex_aconf into libc Florian Weimer
2021-03-25 20:24   ` Adhemerval Zanella
2021-03-16 17:31 ` [PATCH v3 32/37] nptl: pthread_mutex_lock, pthread_mutex_unock single-threaded optimization Florian Weimer
2021-03-26 18:00   ` Adhemerval Zanella
2021-03-16 17:31 ` [PATCH v3 33/37] x86: Remove low-level lock optimization Florian Weimer
2021-03-25 20:30   ` Adhemerval Zanella
2021-03-16 17:31 ` [PATCH v3 34/37] nptl: Move core mutex functions into libc Florian Weimer
2021-03-25 20:46   ` Adhemerval Zanella
2021-03-16 17:31 ` [PATCH v3 35/37] nptl: Move core condition variable " Florian Weimer
2021-03-26 17:14   ` Adhemerval Zanella
2021-03-16 17:31 ` [PATCH v3 36/37] nptl: Move setxid broadcast implementation " Florian Weimer
2021-03-26 18:15   ` Adhemerval Zanella
2021-04-06 18:41     ` Florian Weimer
2021-04-06 18:54       ` Adhemerval Zanella
2021-04-06 19:23         ` Florian Weimer
2021-04-06 19:40           ` Adhemerval Zanella
2021-03-16 17:31 ` [PATCH v3 37/37] nptl: Remove remnants of the libc/libpthread forwarder interface Florian Weimer
2021-03-26 18:19   ` Adhemerval Zanella
2021-03-18 22:06 ` [PATCH v3 00/37] libpthread removal: NPTL forwarders are gone Florian Weimer
2021-03-26 18:25 ` Adhemerval Zanella
2021-03-31 10:18   ` Florian Weimer

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=f81597e8-9e24-2f24-b719-b6ea310f23a3@linaro.org \
    --to=adhemerval.zanella@linaro.org \
    --cc=fweimer@redhat.com \
    --cc=libc-alpha@sourceware.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).