diff mbox series

[v4,26/37] nptl: Move pthread_setspecific, __pthread_setspecific into libc

Message ID 9cad8363ac961799556ce9519969de4ed5347ad8.1618564630.git.fweimer@redhat.com
State New
Headers show
Series libpthread: Remove NPTL forwarders | expand

Commit Message

Florian Weimer April 16, 2021, 9:23 a.m. UTC
The symbols have been moved using scripts/move-symbol-to-libc.py.
---
 nptl/Makefile                                 |  2 +-
 nptl/Versions                                 |  6 ++++--
 nptl/nptl-init.c                              |  1 -
 nptl/pthreadP.h                               |  2 +-
 nptl/pthread_setspecific.c                    | 20 +++++++++++++++----
 sysdeps/nptl/libc-lockP.h                     |  2 --
 sysdeps/nptl/pthread-functions.h              |  1 -
 sysdeps/unix/sysv/linux/aarch64/libc.abilist  |  4 ++++
 .../sysv/linux/aarch64/libpthread.abilist     |  2 --
 sysdeps/unix/sysv/linux/alpha/libc.abilist    |  4 ++++
 .../unix/sysv/linux/alpha/libpthread.abilist  |  2 --
 sysdeps/unix/sysv/linux/arc/libc.abilist      |  4 ++++
 .../unix/sysv/linux/arc/libpthread.abilist    |  2 --
 sysdeps/unix/sysv/linux/arm/be/libc.abilist   |  4 ++++
 .../unix/sysv/linux/arm/be/libpthread.abilist |  2 --
 sysdeps/unix/sysv/linux/arm/le/libc.abilist   |  4 ++++
 .../unix/sysv/linux/arm/le/libpthread.abilist |  2 --
 sysdeps/unix/sysv/linux/csky/libc.abilist     |  4 ++++
 .../unix/sysv/linux/csky/libpthread.abilist   |  2 --
 sysdeps/unix/sysv/linux/hppa/libc.abilist     |  4 ++++
 .../unix/sysv/linux/hppa/libpthread.abilist   |  2 --
 sysdeps/unix/sysv/linux/i386/libc.abilist     |  4 ++++
 .../unix/sysv/linux/i386/libpthread.abilist   |  2 --
 sysdeps/unix/sysv/linux/ia64/libc.abilist     |  4 ++++
 .../unix/sysv/linux/ia64/libpthread.abilist   |  2 --
 .../sysv/linux/m68k/coldfire/libc.abilist     |  4 ++++
 .../linux/m68k/coldfire/libpthread.abilist    |  2 --
 .../unix/sysv/linux/m68k/m680x0/libc.abilist  |  4 ++++
 .../sysv/linux/m68k/m680x0/libpthread.abilist |  2 --
 .../sysv/linux/microblaze/be/libc.abilist     |  4 ++++
 .../linux/microblaze/be/libpthread.abilist    |  2 --
 .../sysv/linux/microblaze/le/libc.abilist     |  4 ++++
 .../linux/microblaze/le/libpthread.abilist    |  2 --
 .../sysv/linux/mips/mips32/fpu/libc.abilist   |  4 ++++
 .../sysv/linux/mips/mips32/libpthread.abilist |  2 --
 .../sysv/linux/mips/mips32/nofpu/libc.abilist |  4 ++++
 .../sysv/linux/mips/mips64/libpthread.abilist |  2 --
 .../sysv/linux/mips/mips64/n32/libc.abilist   |  4 ++++
 .../sysv/linux/mips/mips64/n64/libc.abilist   |  4 ++++
 sysdeps/unix/sysv/linux/nios2/libc.abilist    |  4 ++++
 .../unix/sysv/linux/nios2/libpthread.abilist  |  2 --
 .../linux/powerpc/powerpc32/fpu/libc.abilist  |  4 ++++
 .../powerpc/powerpc32/libpthread.abilist      |  2 --
 .../powerpc/powerpc32/nofpu/libc.abilist      |  4 ++++
 .../linux/powerpc/powerpc64/be/libc.abilist   |  4 ++++
 .../powerpc/powerpc64/be/libpthread.abilist   |  2 --
 .../linux/powerpc/powerpc64/le/libc.abilist   |  4 ++++
 .../powerpc/powerpc64/le/libpthread.abilist   |  2 --
 .../unix/sysv/linux/riscv/rv32/libc.abilist   |  4 ++++
 .../sysv/linux/riscv/rv32/libpthread.abilist  |  2 --
 .../unix/sysv/linux/riscv/rv64/libc.abilist   |  4 ++++
 .../sysv/linux/riscv/rv64/libpthread.abilist  |  2 --
 .../unix/sysv/linux/s390/s390-32/libc.abilist |  4 ++++
 .../linux/s390/s390-32/libpthread.abilist     |  2 --
 .../unix/sysv/linux/s390/s390-64/libc.abilist |  4 ++++
 .../linux/s390/s390-64/libpthread.abilist     |  2 --
 sysdeps/unix/sysv/linux/sh/be/libc.abilist    |  4 ++++
 .../unix/sysv/linux/sh/be/libpthread.abilist  |  2 --
 sysdeps/unix/sysv/linux/sh/le/libc.abilist    |  4 ++++
 .../unix/sysv/linux/sh/le/libpthread.abilist  |  2 --
 .../sysv/linux/sparc/sparc32/libc.abilist     |  4 ++++
 .../linux/sparc/sparc32/libpthread.abilist    |  2 --
 .../sysv/linux/sparc/sparc64/libc.abilist     |  4 ++++
 .../linux/sparc/sparc64/libpthread.abilist    |  2 --
 .../unix/sysv/linux/x86_64/64/libc.abilist    |  4 ++++
 .../sysv/linux/x86_64/64/libpthread.abilist   |  2 --
 .../unix/sysv/linux/x86_64/x32/libc.abilist   |  4 ++++
 .../sysv/linux/x86_64/x32/libpthread.abilist  |  2 --
 68 files changed, 150 insertions(+), 70 deletions(-)
diff mbox series

Patch

diff --git a/nptl/Makefile b/nptl/Makefile
index 3ffe2599e4..81bbf41f96 100644
--- a/nptl/Makefile
+++ b/nptl/Makefile
@@ -88,6 +88,7 @@  routines = \
   pthread_setcancelstate \
   pthread_setcanceltype \
   pthread_setschedparam \
+  pthread_setspecific \
   pthread_sigmask \
   unwind \
 
@@ -191,7 +192,6 @@  libpthread-routines = \
   pthread_setconcurrency \
   pthread_setname \
   pthread_setschedprio \
-  pthread_setspecific \
   pthread_sigqueue \
   pthread_spin_destroy \
   pthread_spin_init \
diff --git a/nptl/Versions b/nptl/Versions
index 728aa37946..a511b6e4f2 100644
--- a/nptl/Versions
+++ b/nptl/Versions
@@ -3,6 +3,7 @@  libc {
     __pthread_getspecific;
     __pthread_key_create;
     __pthread_once;
+    __pthread_setspecific;
     _pthread_cleanup_pop;
     _pthread_cleanup_pop_restore;
     _pthread_cleanup_push;
@@ -42,6 +43,7 @@  libc {
     pthread_setcancelstate;
     pthread_setcanceltype;
     pthread_setschedparam;
+    pthread_setspecific;
     pthread_sigmask;
   }
   GLIBC_2.1 {
@@ -94,11 +96,13 @@  libc {
     __pthread_getspecific;
     __pthread_key_create;
     __pthread_once;
+    __pthread_setspecific;
     pthread_getspecific;
     pthread_key_create;
     pthread_kill;
     pthread_mutex_consistent;
     pthread_once;
+    pthread_setspecific;
   }
   GLIBC_PRIVATE {
     __futex_abstimed_wait64;
@@ -152,7 +156,6 @@  libpthread {
     __pthread_mutexattr_destroy;
     __pthread_mutexattr_init;
     __pthread_mutexattr_settype;
-    __pthread_setspecific;
     _exit;
     flockfile;
     ftrylockfile;
@@ -177,7 +180,6 @@  libpthread {
     pthread_mutexattr_getkind_np;
     pthread_mutexattr_init;
     pthread_mutexattr_setkind_np;
-    pthread_setspecific;
     pthread_sigmask;
     pthread_testcancel;
     sem_destroy;
diff --git a/nptl/nptl-init.c b/nptl/nptl-init.c
index 7c1c871821..1e57ff20d0 100644
--- a/nptl/nptl-init.c
+++ b/nptl/nptl-init.c
@@ -69,7 +69,6 @@  static const struct pthread_functions pthread_functions =
     .ptr___pthread_rwlock_rdlock = __pthread_rwlock_rdlock,
     .ptr___pthread_rwlock_wrlock = __pthread_rwlock_wrlock,
     .ptr___pthread_rwlock_unlock = __pthread_rwlock_unlock,
-    .ptr___pthread_setspecific = __pthread_setspecific,
     .ptr__nptl_setxid = __nptl_setxid,
   };
 # define ptr_pthread_functions &pthread_functions
diff --git a/nptl/pthreadP.h b/nptl/pthreadP.h
index a8241a4725..2f3661cc4f 100644
--- a/nptl/pthreadP.h
+++ b/nptl/pthreadP.h
@@ -526,6 +526,7 @@  extern int __pthread_key_delete (pthread_key_t key);
 extern void *__pthread_getspecific (pthread_key_t key);
 libc_hidden_proto (__pthread_getspecific)
 extern int __pthread_setspecific (pthread_key_t key, const void *value);
+libc_hidden_proto (__pthread_setspecific)
 extern int __pthread_once (pthread_once_t *once_control,
 			   void (*init_routine) (void));
 libc_hidden_proto (__pthread_once)
@@ -560,7 +561,6 @@  hidden_proto (__pthread_mutex_unlock)
 hidden_proto (__pthread_rwlock_rdlock)
 hidden_proto (__pthread_rwlock_wrlock)
 hidden_proto (__pthread_rwlock_unlock)
-hidden_proto (__pthread_setspecific)
 hidden_proto (__pthread_testcancel)
 hidden_proto (__pthread_mutexattr_init)
 hidden_proto (__pthread_mutexattr_settype)
diff --git a/nptl/pthread_setspecific.c b/nptl/pthread_setspecific.c
index a6e84cd001..fdcab3b6d9 100644
--- a/nptl/pthread_setspecific.c
+++ b/nptl/pthread_setspecific.c
@@ -19,10 +19,10 @@ 
 #include <errno.h>
 #include <stdlib.h>
 #include "pthreadP.h"
-
+#include <shlib-compat.h>
 
 int
-__pthread_setspecific (pthread_key_t key, const void *value)
+___pthread_setspecific (pthread_key_t key, const void *value)
 {
   struct pthread *self;
   unsigned int idx1st;
@@ -89,5 +89,17 @@  __pthread_setspecific (pthread_key_t key, const void *value)
 
   return 0;
 }
-weak_alias (__pthread_setspecific, pthread_setspecific)
-hidden_def (__pthread_setspecific)
+versioned_symbol (libc, ___pthread_setspecific, __pthread_setspecific,
+		  GLIBC_2_34);
+libc_hidden_ver (___pthread_setspecific, __pthread_setspecific)
+
+/* Several aliases for setting different symbol versions.  */
+
+versioned_symbol (libc, ___pthread_setspecific, pthread_setspecific,
+		  GLIBC_2_34);
+#if OTHER_SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_34)
+compat_symbol (libpthread, ___pthread_setspecific, __pthread_setspecific,
+	       GLIBC_2_0);
+compat_symbol (libpthread, ___pthread_setspecific, pthread_setspecific,
+	       GLIBC_2_0);
+#endif
diff --git a/sysdeps/nptl/libc-lockP.h b/sysdeps/nptl/libc-lockP.h
index bf92a035f8..10a24568a9 100644
--- a/sysdeps/nptl/libc-lockP.h
+++ b/sysdeps/nptl/libc-lockP.h
@@ -338,7 +338,6 @@  weak_extern (__pthread_rwlock_tryrdlock)
 weak_extern (__pthread_rwlock_wrlock)
 weak_extern (__pthread_rwlock_trywrlock)
 weak_extern (__pthread_rwlock_unlock)
-weak_extern (__pthread_setspecific)
 weak_extern (__pthread_initialize)
 weak_extern (__pthread_atfork)
 # else
@@ -356,7 +355,6 @@  weak_extern (__pthread_atfork)
 #  pragma weak __pthread_rwlock_wrlock
 #  pragma weak __pthread_rwlock_trywrlock
 #  pragma weak __pthread_rwlock_unlock
-#  pragma weak __pthread_setspecific
 #  pragma weak __pthread_initialize
 #  pragma weak __pthread_atfork
 # endif
diff --git a/sysdeps/nptl/pthread-functions.h b/sysdeps/nptl/pthread-functions.h
index 4b4816b873..2d89013ff5 100644
--- a/sysdeps/nptl/pthread-functions.h
+++ b/sysdeps/nptl/pthread-functions.h
@@ -49,7 +49,6 @@  struct pthread_functions
   int (*ptr___pthread_rwlock_rdlock) (pthread_rwlock_t *);
   int (*ptr___pthread_rwlock_wrlock) (pthread_rwlock_t *);
   int (*ptr___pthread_rwlock_unlock) (pthread_rwlock_t *);
-  int (*ptr___pthread_setspecific) (pthread_key_t, const void *);
   int (*ptr__nptl_setxid) (struct xid_command *);
 };
 
diff --git a/sysdeps/unix/sysv/linux/aarch64/libc.abilist b/sysdeps/unix/sysv/linux/aarch64/libc.abilist
index 648fb0c0e3..35e6557e7c 100644
--- a/sysdeps/unix/sysv/linux/aarch64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/aarch64/libc.abilist
@@ -342,6 +342,7 @@  GLIBC_2.17 __pthread_cleanup_routine F
 GLIBC_2.17 __pthread_getspecific F
 GLIBC_2.17 __pthread_key_create F
 GLIBC_2.17 __pthread_once F
+GLIBC_2.17 __pthread_setspecific F
 GLIBC_2.17 __pthread_unwind_next F
 GLIBC_2.17 __ptsname_r_chk F
 GLIBC_2.17 __pwrite64 F
@@ -1466,6 +1467,7 @@  GLIBC_2.17 pthread_self F
 GLIBC_2.17 pthread_setcancelstate F
 GLIBC_2.17 pthread_setcanceltype F
 GLIBC_2.17 pthread_setschedparam F
+GLIBC_2.17 pthread_setspecific F
 GLIBC_2.17 pthread_sigmask F
 GLIBC_2.17 ptrace F
 GLIBC_2.17 ptsname F
@@ -2192,9 +2194,11 @@  GLIBC_2.34 __pthread_cleanup_routine F
 GLIBC_2.34 __pthread_getspecific F
 GLIBC_2.34 __pthread_key_create F
 GLIBC_2.34 __pthread_once F
+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_kill 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 ac1f297405..0394ce0429 100644
--- a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
@@ -20,7 +20,6 @@  GLIBC_2.17 __pthread_rwlock_tryrdlock F
 GLIBC_2.17 __pthread_rwlock_trywrlock F
 GLIBC_2.17 __pthread_rwlock_unlock F
 GLIBC_2.17 __pthread_rwlock_wrlock F
-GLIBC_2.17 __pthread_setspecific F
 GLIBC_2.17 __pthread_unregister_cancel F
 GLIBC_2.17 __pthread_unregister_cancel_restore F
 GLIBC_2.17 __res_state F
@@ -103,7 +102,6 @@  GLIBC_2.17 pthread_setaffinity_np F
 GLIBC_2.17 pthread_setconcurrency F
 GLIBC_2.17 pthread_setname_np F
 GLIBC_2.17 pthread_setschedprio F
-GLIBC_2.17 pthread_setspecific F
 GLIBC_2.17 pthread_sigqueue F
 GLIBC_2.17 pthread_spin_destroy F
 GLIBC_2.17 pthread_spin_init F
diff --git a/sysdeps/unix/sysv/linux/alpha/libc.abilist b/sysdeps/unix/sysv/linux/alpha/libc.abilist
index d15b8a428b..378cf6a17c 100644
--- a/sysdeps/unix/sysv/linux/alpha/libc.abilist
+++ b/sysdeps/unix/sysv/linux/alpha/libc.abilist
@@ -191,6 +191,7 @@  GLIBC_2.0 __progname_full D 0x8
 GLIBC_2.0 __pthread_getspecific F
 GLIBC_2.0 __pthread_key_create F
 GLIBC_2.0 __pthread_once F
+GLIBC_2.0 __pthread_setspecific F
 GLIBC_2.0 __rcmd_errstr D 0x8
 GLIBC_2.0 __read F
 GLIBC_2.0 __realloc_hook D 0x8
@@ -902,6 +903,7 @@  GLIBC_2.0 pthread_self F
 GLIBC_2.0 pthread_setcancelstate F
 GLIBC_2.0 pthread_setcanceltype F
 GLIBC_2.0 pthread_setschedparam F
+GLIBC_2.0 pthread_setspecific F
 GLIBC_2.0 pthread_sigmask F
 GLIBC_2.0 ptrace F
 GLIBC_2.0 putc F
@@ -2280,12 +2282,14 @@  GLIBC_2.34 __pthread_cleanup_routine F
 GLIBC_2.34 __pthread_getspecific F
 GLIBC_2.34 __pthread_key_create F
 GLIBC_2.34 __pthread_once F
+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_kill F
 GLIBC_2.34 pthread_mutex_consistent F
 GLIBC_2.34 pthread_once F
+GLIBC_2.34 pthread_setspecific F
 GLIBC_2.4 _IO_fprintf F
 GLIBC_2.4 _IO_printf F
 GLIBC_2.4 _IO_sprintf F
diff --git a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
index 400e0b824f..e25edce338 100644
--- a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
@@ -11,7 +11,6 @@  GLIBC_2.0 __pthread_mutex_unlock F
 GLIBC_2.0 __pthread_mutexattr_destroy F
 GLIBC_2.0 __pthread_mutexattr_init F
 GLIBC_2.0 __pthread_mutexattr_settype F
-GLIBC_2.0 __pthread_setspecific F
 GLIBC_2.0 flockfile F
 GLIBC_2.0 ftrylockfile F
 GLIBC_2.0 funlockfile F
@@ -35,7 +34,6 @@  GLIBC_2.0 pthread_mutexattr_destroy F
 GLIBC_2.0 pthread_mutexattr_getkind_np F
 GLIBC_2.0 pthread_mutexattr_init F
 GLIBC_2.0 pthread_mutexattr_setkind_np F
-GLIBC_2.0 pthread_setspecific F
 GLIBC_2.0 pthread_testcancel F
 GLIBC_2.0 sem_destroy F
 GLIBC_2.0 sem_getvalue F
diff --git a/sysdeps/unix/sysv/linux/arc/libc.abilist b/sysdeps/unix/sysv/linux/arc/libc.abilist
index 04f71fc6e2..fe1cdcbce6 100644
--- a/sysdeps/unix/sysv/linux/arc/libc.abilist
+++ b/sysdeps/unix/sysv/linux/arc/libc.abilist
@@ -331,6 +331,7 @@  GLIBC_2.32 __pthread_cleanup_routine F
 GLIBC_2.32 __pthread_getspecific F
 GLIBC_2.32 __pthread_key_create F
 GLIBC_2.32 __pthread_once F
+GLIBC_2.32 __pthread_setspecific F
 GLIBC_2.32 __pthread_unwind_next F
 GLIBC_2.32 __ptsname_r_chk F
 GLIBC_2.32 __pwrite64 F
@@ -1392,6 +1393,7 @@  GLIBC_2.32 pthread_self F
 GLIBC_2.32 pthread_setcancelstate F
 GLIBC_2.32 pthread_setcanceltype F
 GLIBC_2.32 pthread_setschedparam F
+GLIBC_2.32 pthread_setspecific F
 GLIBC_2.32 pthread_sigmask F
 GLIBC_2.32 ptrace F
 GLIBC_2.32 ptsname F
@@ -1951,9 +1953,11 @@  GLIBC_2.34 __pthread_cleanup_routine F
 GLIBC_2.34 __pthread_getspecific F
 GLIBC_2.34 __pthread_key_create F
 GLIBC_2.34 __pthread_once F
+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_kill 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 18014409dd..5b87de073f 100644
--- a/sysdeps/unix/sysv/linux/arc/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/arc/libpthread.abilist
@@ -20,7 +20,6 @@  GLIBC_2.32 __pthread_rwlock_tryrdlock F
 GLIBC_2.32 __pthread_rwlock_trywrlock F
 GLIBC_2.32 __pthread_rwlock_unlock F
 GLIBC_2.32 __pthread_rwlock_wrlock F
-GLIBC_2.32 __pthread_setspecific F
 GLIBC_2.32 __pthread_unregister_cancel F
 GLIBC_2.32 __pthread_unregister_cancel_restore F
 GLIBC_2.32 __res_state F
@@ -123,7 +122,6 @@  GLIBC_2.32 pthread_setattr_default_np F
 GLIBC_2.32 pthread_setconcurrency F
 GLIBC_2.32 pthread_setname_np F
 GLIBC_2.32 pthread_setschedprio F
-GLIBC_2.32 pthread_setspecific F
 GLIBC_2.32 pthread_sigqueue F
 GLIBC_2.32 pthread_spin_destroy F
 GLIBC_2.32 pthread_spin_init F
diff --git a/sysdeps/unix/sysv/linux/arm/be/libc.abilist b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
index c1fb86bc65..5f1b0d49e4 100644
--- a/sysdeps/unix/sysv/linux/arm/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
@@ -161,12 +161,14 @@  GLIBC_2.34 __pthread_cleanup_routine F
 GLIBC_2.34 __pthread_getspecific F
 GLIBC_2.34 __pthread_key_create F
 GLIBC_2.34 __pthread_once F
+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_kill F
 GLIBC_2.34 pthread_mutex_consistent F
 GLIBC_2.34 pthread_once F
+GLIBC_2.34 pthread_setspecific F
 GLIBC_2.4 _Exit F
 GLIBC_2.4 _IO_2_1_stderr_ D 0xa0
 GLIBC_2.4 _IO_2_1_stdin_ D 0xa0
@@ -498,6 +500,7 @@  GLIBC_2.4 __pthread_cleanup_routine F
 GLIBC_2.4 __pthread_getspecific F
 GLIBC_2.4 __pthread_key_create F
 GLIBC_2.4 __pthread_once F
+GLIBC_2.4 __pthread_setspecific F
 GLIBC_2.4 __pthread_unwind_next F
 GLIBC_2.4 __ptsname_r_chk F
 GLIBC_2.4 __pwrite64 F
@@ -1568,6 +1571,7 @@  GLIBC_2.4 pthread_self F
 GLIBC_2.4 pthread_setcancelstate F
 GLIBC_2.4 pthread_setcanceltype F
 GLIBC_2.4 pthread_setschedparam F
+GLIBC_2.4 pthread_setspecific F
 GLIBC_2.4 pthread_sigmask F
 GLIBC_2.4 ptrace F
 GLIBC_2.4 ptsname F
diff --git a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
index ae20fe71a6..4948af9611 100644
--- a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
@@ -54,7 +54,6 @@  GLIBC_2.4 __pthread_rwlock_tryrdlock F
 GLIBC_2.4 __pthread_rwlock_trywrlock F
 GLIBC_2.4 __pthread_rwlock_unlock F
 GLIBC_2.4 __pthread_rwlock_wrlock F
-GLIBC_2.4 __pthread_setspecific F
 GLIBC_2.4 __pthread_unregister_cancel F
 GLIBC_2.4 __pthread_unregister_cancel_restore F
 GLIBC_2.4 __res_state F
@@ -133,7 +132,6 @@  GLIBC_2.4 pthread_rwlockattr_setpshared F
 GLIBC_2.4 pthread_setaffinity_np F
 GLIBC_2.4 pthread_setconcurrency F
 GLIBC_2.4 pthread_setschedprio F
-GLIBC_2.4 pthread_setspecific F
 GLIBC_2.4 pthread_spin_destroy F
 GLIBC_2.4 pthread_spin_init F
 GLIBC_2.4 pthread_spin_lock F
diff --git a/sysdeps/unix/sysv/linux/arm/le/libc.abilist b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
index fe290bd39c..ff878e2268 100644
--- a/sysdeps/unix/sysv/linux/arm/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
@@ -158,12 +158,14 @@  GLIBC_2.34 __pthread_cleanup_routine F
 GLIBC_2.34 __pthread_getspecific F
 GLIBC_2.34 __pthread_key_create F
 GLIBC_2.34 __pthread_once F
+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_kill F
 GLIBC_2.34 pthread_mutex_consistent F
 GLIBC_2.34 pthread_once F
+GLIBC_2.34 pthread_setspecific F
 GLIBC_2.4 _Exit F
 GLIBC_2.4 _IO_2_1_stderr_ D 0xa0
 GLIBC_2.4 _IO_2_1_stdin_ D 0xa0
@@ -495,6 +497,7 @@  GLIBC_2.4 __pthread_cleanup_routine F
 GLIBC_2.4 __pthread_getspecific F
 GLIBC_2.4 __pthread_key_create F
 GLIBC_2.4 __pthread_once F
+GLIBC_2.4 __pthread_setspecific F
 GLIBC_2.4 __pthread_unwind_next F
 GLIBC_2.4 __ptsname_r_chk F
 GLIBC_2.4 __pwrite64 F
@@ -1565,6 +1568,7 @@  GLIBC_2.4 pthread_self F
 GLIBC_2.4 pthread_setcancelstate F
 GLIBC_2.4 pthread_setcanceltype F
 GLIBC_2.4 pthread_setschedparam F
+GLIBC_2.4 pthread_setspecific F
 GLIBC_2.4 pthread_sigmask F
 GLIBC_2.4 ptrace F
 GLIBC_2.4 ptsname F
diff --git a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
index ae20fe71a6..4948af9611 100644
--- a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
@@ -54,7 +54,6 @@  GLIBC_2.4 __pthread_rwlock_tryrdlock F
 GLIBC_2.4 __pthread_rwlock_trywrlock F
 GLIBC_2.4 __pthread_rwlock_unlock F
 GLIBC_2.4 __pthread_rwlock_wrlock F
-GLIBC_2.4 __pthread_setspecific F
 GLIBC_2.4 __pthread_unregister_cancel F
 GLIBC_2.4 __pthread_unregister_cancel_restore F
 GLIBC_2.4 __res_state F
@@ -133,7 +132,6 @@  GLIBC_2.4 pthread_rwlockattr_setpshared F
 GLIBC_2.4 pthread_setaffinity_np F
 GLIBC_2.4 pthread_setconcurrency F
 GLIBC_2.4 pthread_setschedprio F
-GLIBC_2.4 pthread_setspecific F
 GLIBC_2.4 pthread_spin_destroy F
 GLIBC_2.4 pthread_spin_init F
 GLIBC_2.4 pthread_spin_lock F
diff --git a/sysdeps/unix/sysv/linux/csky/libc.abilist b/sysdeps/unix/sysv/linux/csky/libc.abilist
index 09695a41f6..21073169f6 100644
--- a/sysdeps/unix/sysv/linux/csky/libc.abilist
+++ b/sysdeps/unix/sysv/linux/csky/libc.abilist
@@ -335,6 +335,7 @@  GLIBC_2.29 __pthread_cleanup_routine F
 GLIBC_2.29 __pthread_getspecific F
 GLIBC_2.29 __pthread_key_create F
 GLIBC_2.29 __pthread_once F
+GLIBC_2.29 __pthread_setspecific F
 GLIBC_2.29 __pthread_unwind_next F
 GLIBC_2.29 __ptsname_r_chk F
 GLIBC_2.29 __pwrite64 F
@@ -1453,6 +1454,7 @@  GLIBC_2.29 pthread_self F
 GLIBC_2.29 pthread_setcancelstate F
 GLIBC_2.29 pthread_setcanceltype F
 GLIBC_2.29 pthread_setschedparam F
+GLIBC_2.29 pthread_setspecific F
 GLIBC_2.29 pthread_sigmask F
 GLIBC_2.29 ptrace F
 GLIBC_2.29 ptsname F
@@ -2135,9 +2137,11 @@  GLIBC_2.34 __pthread_cleanup_routine F
 GLIBC_2.34 __pthread_getspecific F
 GLIBC_2.34 __pthread_key_create F
 GLIBC_2.34 __pthread_once F
+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_kill 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 b6c4475000..8ac126c829 100644
--- a/sysdeps/unix/sysv/linux/csky/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/csky/libpthread.abilist
@@ -20,7 +20,6 @@  GLIBC_2.29 __pthread_rwlock_tryrdlock F
 GLIBC_2.29 __pthread_rwlock_trywrlock F
 GLIBC_2.29 __pthread_rwlock_unlock F
 GLIBC_2.29 __pthread_rwlock_wrlock F
-GLIBC_2.29 __pthread_setspecific F
 GLIBC_2.29 __pthread_unregister_cancel F
 GLIBC_2.29 __pthread_unregister_cancel_restore F
 GLIBC_2.29 __res_state F
@@ -118,7 +117,6 @@  GLIBC_2.29 pthread_setattr_default_np F
 GLIBC_2.29 pthread_setconcurrency F
 GLIBC_2.29 pthread_setname_np F
 GLIBC_2.29 pthread_setschedprio F
-GLIBC_2.29 pthread_setspecific F
 GLIBC_2.29 pthread_sigqueue F
 GLIBC_2.29 pthread_spin_destroy F
 GLIBC_2.29 pthread_spin_init F
diff --git a/sysdeps/unix/sysv/linux/hppa/libc.abilist b/sysdeps/unix/sysv/linux/hppa/libc.abilist
index b79e59b63e..efe44c7162 100644
--- a/sysdeps/unix/sysv/linux/hppa/libc.abilist
+++ b/sysdeps/unix/sysv/linux/hppa/libc.abilist
@@ -359,6 +359,7 @@  GLIBC_2.2 __progname_full D 0x4
 GLIBC_2.2 __pthread_getspecific F
 GLIBC_2.2 __pthread_key_create F
 GLIBC_2.2 __pthread_once F
+GLIBC_2.2 __pthread_setspecific F
 GLIBC_2.2 __pwrite64 F
 GLIBC_2.2 __rawmemchr F
 GLIBC_2.2 __rcmd_errstr D 0x4
@@ -1286,6 +1287,7 @@  GLIBC_2.2 pthread_self F
 GLIBC_2.2 pthread_setcancelstate F
 GLIBC_2.2 pthread_setcanceltype F
 GLIBC_2.2 pthread_setschedparam F
+GLIBC_2.2 pthread_setspecific F
 GLIBC_2.2 pthread_sigmask F
 GLIBC_2.2 ptrace F
 GLIBC_2.2 ptsname F
@@ -2093,12 +2095,14 @@  GLIBC_2.34 __pthread_cleanup_routine F
 GLIBC_2.34 __pthread_getspecific F
 GLIBC_2.34 __pthread_key_create F
 GLIBC_2.34 __pthread_once F
+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_kill F
 GLIBC_2.34 pthread_mutex_consistent F
 GLIBC_2.34 pthread_once F
+GLIBC_2.34 pthread_setspecific F
 GLIBC_2.4 __confstr_chk F
 GLIBC_2.4 __fgets_chk F
 GLIBC_2.4 __fgets_unlocked_chk F
diff --git a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
index cba038e89b..9eec6e67d3 100644
--- a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
@@ -25,7 +25,6 @@  GLIBC_2.2 __pthread_rwlock_tryrdlock F
 GLIBC_2.2 __pthread_rwlock_trywrlock F
 GLIBC_2.2 __pthread_rwlock_unlock F
 GLIBC_2.2 __pthread_rwlock_wrlock F
-GLIBC_2.2 __pthread_setspecific F
 GLIBC_2.2 __res_state F
 GLIBC_2.2 flockfile F
 GLIBC_2.2 ftrylockfile F
@@ -89,7 +88,6 @@  GLIBC_2.2 pthread_rwlockattr_init F
 GLIBC_2.2 pthread_rwlockattr_setkind_np F
 GLIBC_2.2 pthread_rwlockattr_setpshared F
 GLIBC_2.2 pthread_setconcurrency F
-GLIBC_2.2 pthread_setspecific F
 GLIBC_2.2 pthread_spin_destroy F
 GLIBC_2.2 pthread_spin_init F
 GLIBC_2.2 pthread_spin_lock F
diff --git a/sysdeps/unix/sysv/linux/i386/libc.abilist b/sysdeps/unix/sysv/linux/i386/libc.abilist
index 02b951115f..13ca6f0979 100644
--- a/sysdeps/unix/sysv/linux/i386/libc.abilist
+++ b/sysdeps/unix/sysv/linux/i386/libc.abilist
@@ -188,6 +188,7 @@  GLIBC_2.0 __progname_full D 0x4
 GLIBC_2.0 __pthread_getspecific F
 GLIBC_2.0 __pthread_key_create F
 GLIBC_2.0 __pthread_once F
+GLIBC_2.0 __pthread_setspecific F
 GLIBC_2.0 __rcmd_errstr D 0x4
 GLIBC_2.0 __read F
 GLIBC_2.0 __realloc_hook D 0x4
@@ -879,6 +880,7 @@  GLIBC_2.0 pthread_self F
 GLIBC_2.0 pthread_setcancelstate F
 GLIBC_2.0 pthread_setcanceltype F
 GLIBC_2.0 pthread_setschedparam F
+GLIBC_2.0 pthread_setspecific F
 GLIBC_2.0 pthread_sigmask F
 GLIBC_2.0 ptrace F
 GLIBC_2.0 putc F
@@ -2270,12 +2272,14 @@  GLIBC_2.34 __pthread_cleanup_routine F
 GLIBC_2.34 __pthread_getspecific F
 GLIBC_2.34 __pthread_key_create F
 GLIBC_2.34 __pthread_once F
+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_kill F
 GLIBC_2.34 pthread_mutex_consistent F
 GLIBC_2.34 pthread_once F
+GLIBC_2.34 pthread_setspecific F
 GLIBC_2.4 __confstr_chk F
 GLIBC_2.4 __fgets_chk F
 GLIBC_2.4 __fgets_unlocked_chk F
diff --git a/sysdeps/unix/sysv/linux/i386/libpthread.abilist b/sysdeps/unix/sysv/linux/i386/libpthread.abilist
index 5902f068db..aece458a3e 100644
--- a/sysdeps/unix/sysv/linux/i386/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/i386/libpthread.abilist
@@ -11,7 +11,6 @@  GLIBC_2.0 __pthread_mutex_unlock F
 GLIBC_2.0 __pthread_mutexattr_destroy F
 GLIBC_2.0 __pthread_mutexattr_init F
 GLIBC_2.0 __pthread_mutexattr_settype F
-GLIBC_2.0 __pthread_setspecific F
 GLIBC_2.0 flockfile F
 GLIBC_2.0 ftrylockfile F
 GLIBC_2.0 funlockfile F
@@ -35,7 +34,6 @@  GLIBC_2.0 pthread_mutexattr_destroy F
 GLIBC_2.0 pthread_mutexattr_getkind_np F
 GLIBC_2.0 pthread_mutexattr_init F
 GLIBC_2.0 pthread_mutexattr_setkind_np F
-GLIBC_2.0 pthread_setspecific F
 GLIBC_2.0 pthread_testcancel F
 GLIBC_2.0 sem_destroy F
 GLIBC_2.0 sem_getvalue F
diff --git a/sysdeps/unix/sysv/linux/ia64/libc.abilist b/sysdeps/unix/sysv/linux/ia64/libc.abilist
index 04428ee03c..2edc9c636d 100644
--- a/sysdeps/unix/sysv/linux/ia64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/ia64/libc.abilist
@@ -363,6 +363,7 @@  GLIBC_2.2 __progname_full D 0x8
 GLIBC_2.2 __pthread_getspecific F
 GLIBC_2.2 __pthread_key_create F
 GLIBC_2.2 __pthread_once F
+GLIBC_2.2 __pthread_setspecific F
 GLIBC_2.2 __pwrite64 F
 GLIBC_2.2 __rawmemchr F
 GLIBC_2.2 __rcmd_errstr D 0x8
@@ -1307,6 +1308,7 @@  GLIBC_2.2 pthread_self F
 GLIBC_2.2 pthread_setcancelstate F
 GLIBC_2.2 pthread_setcanceltype F
 GLIBC_2.2 pthread_setschedparam F
+GLIBC_2.2 pthread_setspecific F
 GLIBC_2.2 pthread_sigmask F
 GLIBC_2.2 ptrace F
 GLIBC_2.2 ptsname F
@@ -2127,12 +2129,14 @@  GLIBC_2.34 __pthread_cleanup_routine F
 GLIBC_2.34 __pthread_getspecific F
 GLIBC_2.34 __pthread_key_create F
 GLIBC_2.34 __pthread_once F
+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_kill F
 GLIBC_2.34 pthread_mutex_consistent F
 GLIBC_2.34 pthread_once F
+GLIBC_2.34 pthread_setspecific F
 GLIBC_2.4 __confstr_chk F
 GLIBC_2.4 __fgets_chk F
 GLIBC_2.4 __fgets_unlocked_chk F
diff --git a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
index fc8f95ef0f..629211caf5 100644
--- a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
@@ -25,7 +25,6 @@  GLIBC_2.2 __pthread_rwlock_tryrdlock F
 GLIBC_2.2 __pthread_rwlock_trywrlock F
 GLIBC_2.2 __pthread_rwlock_unlock F
 GLIBC_2.2 __pthread_rwlock_wrlock F
-GLIBC_2.2 __pthread_setspecific F
 GLIBC_2.2 __res_state F
 GLIBC_2.2 flockfile F
 GLIBC_2.2 ftrylockfile F
@@ -89,7 +88,6 @@  GLIBC_2.2 pthread_rwlockattr_init F
 GLIBC_2.2 pthread_rwlockattr_setkind_np F
 GLIBC_2.2 pthread_rwlockattr_setpshared F
 GLIBC_2.2 pthread_setconcurrency F
-GLIBC_2.2 pthread_setspecific F
 GLIBC_2.2 pthread_spin_destroy F
 GLIBC_2.2 pthread_spin_init F
 GLIBC_2.2 pthread_spin_lock F
diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
index 39194dc318..0420da0319 100644
--- a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
@@ -162,12 +162,14 @@  GLIBC_2.34 __pthread_cleanup_routine F
 GLIBC_2.34 __pthread_getspecific F
 GLIBC_2.34 __pthread_key_create F
 GLIBC_2.34 __pthread_once F
+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_kill F
 GLIBC_2.34 pthread_mutex_consistent F
 GLIBC_2.34 pthread_once F
+GLIBC_2.34 pthread_setspecific F
 GLIBC_2.4 _Exit F
 GLIBC_2.4 _IO_2_1_stderr_ D 0x98
 GLIBC_2.4 _IO_2_1_stdin_ D 0x98
@@ -484,6 +486,7 @@  GLIBC_2.4 __pthread_cleanup_routine F
 GLIBC_2.4 __pthread_getspecific F
 GLIBC_2.4 __pthread_key_create F
 GLIBC_2.4 __pthread_once F
+GLIBC_2.4 __pthread_setspecific F
 GLIBC_2.4 __pthread_unwind_next F
 GLIBC_2.4 __ptsname_r_chk F
 GLIBC_2.4 __pwrite64 F
@@ -1548,6 +1551,7 @@  GLIBC_2.4 pthread_self F
 GLIBC_2.4 pthread_setcancelstate F
 GLIBC_2.4 pthread_setcanceltype F
 GLIBC_2.4 pthread_setschedparam F
+GLIBC_2.4 pthread_setspecific F
 GLIBC_2.4 pthread_sigmask F
 GLIBC_2.4 ptrace F
 GLIBC_2.4 ptsname F
diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
index ae20fe71a6..4948af9611 100644
--- a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
@@ -54,7 +54,6 @@  GLIBC_2.4 __pthread_rwlock_tryrdlock F
 GLIBC_2.4 __pthread_rwlock_trywrlock F
 GLIBC_2.4 __pthread_rwlock_unlock F
 GLIBC_2.4 __pthread_rwlock_wrlock F
-GLIBC_2.4 __pthread_setspecific F
 GLIBC_2.4 __pthread_unregister_cancel F
 GLIBC_2.4 __pthread_unregister_cancel_restore F
 GLIBC_2.4 __res_state F
@@ -133,7 +132,6 @@  GLIBC_2.4 pthread_rwlockattr_setpshared F
 GLIBC_2.4 pthread_setaffinity_np F
 GLIBC_2.4 pthread_setconcurrency F
 GLIBC_2.4 pthread_setschedprio F
-GLIBC_2.4 pthread_setspecific F
 GLIBC_2.4 pthread_spin_destroy F
 GLIBC_2.4 pthread_spin_init F
 GLIBC_2.4 pthread_spin_lock F
diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
index eebe236719..5d8173e151 100644
--- a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
@@ -188,6 +188,7 @@  GLIBC_2.0 __progname_full D 0x4
 GLIBC_2.0 __pthread_getspecific F
 GLIBC_2.0 __pthread_key_create F
 GLIBC_2.0 __pthread_once F
+GLIBC_2.0 __pthread_setspecific F
 GLIBC_2.0 __rcmd_errstr D 0x4
 GLIBC_2.0 __read F
 GLIBC_2.0 __realloc_hook D 0x4
@@ -878,6 +879,7 @@  GLIBC_2.0 pthread_self F
 GLIBC_2.0 pthread_setcancelstate F
 GLIBC_2.0 pthread_setcanceltype F
 GLIBC_2.0 pthread_setschedparam F
+GLIBC_2.0 pthread_setspecific F
 GLIBC_2.0 pthread_sigmask F
 GLIBC_2.0 ptrace F
 GLIBC_2.0 putc F
@@ -2213,12 +2215,14 @@  GLIBC_2.34 __pthread_cleanup_routine F
 GLIBC_2.34 __pthread_getspecific F
 GLIBC_2.34 __pthread_key_create F
 GLIBC_2.34 __pthread_once F
+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_kill F
 GLIBC_2.34 pthread_mutex_consistent F
 GLIBC_2.34 pthread_once F
+GLIBC_2.34 pthread_setspecific F
 GLIBC_2.4 __confstr_chk F
 GLIBC_2.4 __fgets_chk F
 GLIBC_2.4 __fgets_unlocked_chk F
diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
index 5902f068db..aece458a3e 100644
--- a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
@@ -11,7 +11,6 @@  GLIBC_2.0 __pthread_mutex_unlock F
 GLIBC_2.0 __pthread_mutexattr_destroy F
 GLIBC_2.0 __pthread_mutexattr_init F
 GLIBC_2.0 __pthread_mutexattr_settype F
-GLIBC_2.0 __pthread_setspecific F
 GLIBC_2.0 flockfile F
 GLIBC_2.0 ftrylockfile F
 GLIBC_2.0 funlockfile F
@@ -35,7 +34,6 @@  GLIBC_2.0 pthread_mutexattr_destroy F
 GLIBC_2.0 pthread_mutexattr_getkind_np F
 GLIBC_2.0 pthread_mutexattr_init F
 GLIBC_2.0 pthread_mutexattr_setkind_np F
-GLIBC_2.0 pthread_setspecific F
 GLIBC_2.0 pthread_testcancel F
 GLIBC_2.0 sem_destroy F
 GLIBC_2.0 sem_getvalue F
diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
index 75fb62bf05..d042c802dc 100644
--- a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
@@ -343,6 +343,7 @@  GLIBC_2.18 __pthread_cleanup_routine F
 GLIBC_2.18 __pthread_getspecific F
 GLIBC_2.18 __pthread_key_create F
 GLIBC_2.18 __pthread_once F
+GLIBC_2.18 __pthread_setspecific F
 GLIBC_2.18 __pthread_unwind_next F
 GLIBC_2.18 __ptsname_r_chk F
 GLIBC_2.18 __pwrite64 F
@@ -1468,6 +1469,7 @@  GLIBC_2.18 pthread_self F
 GLIBC_2.18 pthread_setcancelstate F
 GLIBC_2.18 pthread_setcanceltype F
 GLIBC_2.18 pthread_setschedparam F
+GLIBC_2.18 pthread_setspecific F
 GLIBC_2.18 pthread_sigmask F
 GLIBC_2.18 ptrace F
 GLIBC_2.18 ptsname F
@@ -2186,9 +2188,11 @@  GLIBC_2.34 __pthread_cleanup_routine F
 GLIBC_2.34 __pthread_getspecific F
 GLIBC_2.34 __pthread_key_create F
 GLIBC_2.34 __pthread_once F
+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_kill 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 541556e537..c614be8a2d 100644
--- a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
@@ -20,7 +20,6 @@  GLIBC_2.18 __pthread_rwlock_tryrdlock F
 GLIBC_2.18 __pthread_rwlock_trywrlock F
 GLIBC_2.18 __pthread_rwlock_unlock F
 GLIBC_2.18 __pthread_rwlock_wrlock F
-GLIBC_2.18 __pthread_setspecific F
 GLIBC_2.18 __pthread_unregister_cancel F
 GLIBC_2.18 __pthread_unregister_cancel_restore F
 GLIBC_2.18 __res_state F
@@ -105,7 +104,6 @@  GLIBC_2.18 pthread_setattr_default_np F
 GLIBC_2.18 pthread_setconcurrency F
 GLIBC_2.18 pthread_setname_np F
 GLIBC_2.18 pthread_setschedprio F
-GLIBC_2.18 pthread_setspecific F
 GLIBC_2.18 pthread_sigqueue F
 GLIBC_2.18 pthread_spin_destroy F
 GLIBC_2.18 pthread_spin_init F
diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
index 7d21581fbe..7b0210e45d 100644
--- a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
@@ -343,6 +343,7 @@  GLIBC_2.18 __pthread_cleanup_routine F
 GLIBC_2.18 __pthread_getspecific F
 GLIBC_2.18 __pthread_key_create F
 GLIBC_2.18 __pthread_once F
+GLIBC_2.18 __pthread_setspecific F
 GLIBC_2.18 __pthread_unwind_next F
 GLIBC_2.18 __ptsname_r_chk F
 GLIBC_2.18 __pwrite64 F
@@ -1468,6 +1469,7 @@  GLIBC_2.18 pthread_self F
 GLIBC_2.18 pthread_setcancelstate F
 GLIBC_2.18 pthread_setcanceltype F
 GLIBC_2.18 pthread_setschedparam F
+GLIBC_2.18 pthread_setspecific F
 GLIBC_2.18 pthread_sigmask F
 GLIBC_2.18 ptrace F
 GLIBC_2.18 ptsname F
@@ -2183,9 +2185,11 @@  GLIBC_2.34 __pthread_cleanup_routine F
 GLIBC_2.34 __pthread_getspecific F
 GLIBC_2.34 __pthread_key_create F
 GLIBC_2.34 __pthread_once F
+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_kill 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 541556e537..c614be8a2d 100644
--- a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
@@ -20,7 +20,6 @@  GLIBC_2.18 __pthread_rwlock_tryrdlock F
 GLIBC_2.18 __pthread_rwlock_trywrlock F
 GLIBC_2.18 __pthread_rwlock_unlock F
 GLIBC_2.18 __pthread_rwlock_wrlock F
-GLIBC_2.18 __pthread_setspecific F
 GLIBC_2.18 __pthread_unregister_cancel F
 GLIBC_2.18 __pthread_unregister_cancel_restore F
 GLIBC_2.18 __res_state F
@@ -105,7 +104,6 @@  GLIBC_2.18 pthread_setattr_default_np F
 GLIBC_2.18 pthread_setconcurrency F
 GLIBC_2.18 pthread_setname_np F
 GLIBC_2.18 pthread_setschedprio F
-GLIBC_2.18 pthread_setspecific F
 GLIBC_2.18 pthread_sigqueue F
 GLIBC_2.18 pthread_spin_destroy F
 GLIBC_2.18 pthread_spin_init F
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
index b59c980ee1..b106a56e7c 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
@@ -186,6 +186,7 @@  GLIBC_2.0 __progname_full D 0x4
 GLIBC_2.0 __pthread_getspecific F
 GLIBC_2.0 __pthread_key_create F
 GLIBC_2.0 __pthread_once F
+GLIBC_2.0 __pthread_setspecific F
 GLIBC_2.0 __rcmd_errstr D 0x4
 GLIBC_2.0 __read F
 GLIBC_2.0 __realloc_hook D 0x4
@@ -875,6 +876,7 @@  GLIBC_2.0 pthread_self F
 GLIBC_2.0 pthread_setcancelstate F
 GLIBC_2.0 pthread_setcanceltype F
 GLIBC_2.0 pthread_setschedparam F
+GLIBC_2.0 pthread_setspecific F
 GLIBC_2.0 pthread_sigmask F
 GLIBC_2.0 ptrace F
 GLIBC_2.0 putc F
@@ -2176,12 +2178,14 @@  GLIBC_2.34 __pthread_cleanup_routine F
 GLIBC_2.34 __pthread_getspecific F
 GLIBC_2.34 __pthread_key_create F
 GLIBC_2.34 __pthread_once F
+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_kill F
 GLIBC_2.34 pthread_mutex_consistent F
 GLIBC_2.34 pthread_once F
+GLIBC_2.34 pthread_setspecific F
 GLIBC_2.4 __confstr_chk F
 GLIBC_2.4 __fgets_chk F
 GLIBC_2.4 __fgets_unlocked_chk F
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
index a87fff0c85..bda444ac72 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
@@ -11,7 +11,6 @@  GLIBC_2.0 __pthread_mutex_unlock F
 GLIBC_2.0 __pthread_mutexattr_destroy F
 GLIBC_2.0 __pthread_mutexattr_init F
 GLIBC_2.0 __pthread_mutexattr_settype F
-GLIBC_2.0 __pthread_setspecific F
 GLIBC_2.0 flockfile F
 GLIBC_2.0 ftrylockfile F
 GLIBC_2.0 funlockfile F
@@ -35,7 +34,6 @@  GLIBC_2.0 pthread_mutexattr_destroy F
 GLIBC_2.0 pthread_mutexattr_getkind_np F
 GLIBC_2.0 pthread_mutexattr_init F
 GLIBC_2.0 pthread_mutexattr_setkind_np F
-GLIBC_2.0 pthread_setspecific F
 GLIBC_2.0 pthread_testcancel F
 GLIBC_2.0 sem_destroy F
 GLIBC_2.0 sem_getvalue F
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
index 39518f1410..c817c90250 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
@@ -186,6 +186,7 @@  GLIBC_2.0 __progname_full D 0x4
 GLIBC_2.0 __pthread_getspecific F
 GLIBC_2.0 __pthread_key_create F
 GLIBC_2.0 __pthread_once F
+GLIBC_2.0 __pthread_setspecific F
 GLIBC_2.0 __rcmd_errstr D 0x4
 GLIBC_2.0 __read F
 GLIBC_2.0 __realloc_hook D 0x4
@@ -875,6 +876,7 @@  GLIBC_2.0 pthread_self F
 GLIBC_2.0 pthread_setcancelstate F
 GLIBC_2.0 pthread_setcanceltype F
 GLIBC_2.0 pthread_setschedparam F
+GLIBC_2.0 pthread_setspecific F
 GLIBC_2.0 pthread_sigmask F
 GLIBC_2.0 ptrace F
 GLIBC_2.0 putc F
@@ -2174,12 +2176,14 @@  GLIBC_2.34 __pthread_cleanup_routine F
 GLIBC_2.34 __pthread_getspecific F
 GLIBC_2.34 __pthread_key_create F
 GLIBC_2.34 __pthread_once F
+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_kill F
 GLIBC_2.34 pthread_mutex_consistent F
 GLIBC_2.34 pthread_once F
+GLIBC_2.34 pthread_setspecific F
 GLIBC_2.4 __confstr_chk F
 GLIBC_2.4 __fgets_chk F
 GLIBC_2.4 __fgets_unlocked_chk F
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
index a87fff0c85..bda444ac72 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
@@ -11,7 +11,6 @@  GLIBC_2.0 __pthread_mutex_unlock F
 GLIBC_2.0 __pthread_mutexattr_destroy F
 GLIBC_2.0 __pthread_mutexattr_init F
 GLIBC_2.0 __pthread_mutexattr_settype F
-GLIBC_2.0 __pthread_setspecific F
 GLIBC_2.0 flockfile F
 GLIBC_2.0 ftrylockfile F
 GLIBC_2.0 funlockfile F
@@ -35,7 +34,6 @@  GLIBC_2.0 pthread_mutexattr_destroy F
 GLIBC_2.0 pthread_mutexattr_getkind_np F
 GLIBC_2.0 pthread_mutexattr_init F
 GLIBC_2.0 pthread_mutexattr_setkind_np F
-GLIBC_2.0 pthread_setspecific F
 GLIBC_2.0 pthread_testcancel F
 GLIBC_2.0 sem_destroy F
 GLIBC_2.0 sem_getvalue F
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
index 06558444fc..a5be1e6dcf 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
@@ -186,6 +186,7 @@  GLIBC_2.0 __progname_full D 0x4
 GLIBC_2.0 __pthread_getspecific F
 GLIBC_2.0 __pthread_key_create F
 GLIBC_2.0 __pthread_once F
+GLIBC_2.0 __pthread_setspecific F
 GLIBC_2.0 __rcmd_errstr D 0x4
 GLIBC_2.0 __read F
 GLIBC_2.0 __realloc_hook D 0x4
@@ -875,6 +876,7 @@  GLIBC_2.0 pthread_self F
 GLIBC_2.0 pthread_setcancelstate F
 GLIBC_2.0 pthread_setcanceltype F
 GLIBC_2.0 pthread_setschedparam F
+GLIBC_2.0 pthread_setspecific F
 GLIBC_2.0 pthread_sigmask F
 GLIBC_2.0 ptrace F
 GLIBC_2.0 putc F
@@ -2182,12 +2184,14 @@  GLIBC_2.34 __pthread_cleanup_routine F
 GLIBC_2.34 __pthread_getspecific F
 GLIBC_2.34 __pthread_key_create F
 GLIBC_2.34 __pthread_once F
+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_kill F
 GLIBC_2.34 pthread_mutex_consistent F
 GLIBC_2.34 pthread_once F
+GLIBC_2.34 pthread_setspecific F
 GLIBC_2.4 __confstr_chk F
 GLIBC_2.4 __fgets_chk F
 GLIBC_2.4 __fgets_unlocked_chk F
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
index b772fb17cf..9e7d78bdfa 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
@@ -186,6 +186,7 @@  GLIBC_2.0 __progname_full D 0x8
 GLIBC_2.0 __pthread_getspecific F
 GLIBC_2.0 __pthread_key_create F
 GLIBC_2.0 __pthread_once F
+GLIBC_2.0 __pthread_setspecific F
 GLIBC_2.0 __rcmd_errstr D 0x8
 GLIBC_2.0 __read F
 GLIBC_2.0 __realloc_hook D 0x8
@@ -873,6 +874,7 @@  GLIBC_2.0 pthread_self F
 GLIBC_2.0 pthread_setcancelstate F
 GLIBC_2.0 pthread_setcanceltype F
 GLIBC_2.0 pthread_setschedparam F
+GLIBC_2.0 pthread_setspecific F
 GLIBC_2.0 pthread_sigmask F
 GLIBC_2.0 ptrace F
 GLIBC_2.0 putc F
@@ -2176,12 +2178,14 @@  GLIBC_2.34 __pthread_cleanup_routine F
 GLIBC_2.34 __pthread_getspecific F
 GLIBC_2.34 __pthread_key_create F
 GLIBC_2.34 __pthread_once F
+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_kill F
 GLIBC_2.34 pthread_mutex_consistent F
 GLIBC_2.34 pthread_once F
+GLIBC_2.34 pthread_setspecific F
 GLIBC_2.4 __confstr_chk F
 GLIBC_2.4 __fgets_chk F
 GLIBC_2.4 __fgets_unlocked_chk F
diff --git a/sysdeps/unix/sysv/linux/nios2/libc.abilist b/sysdeps/unix/sysv/linux/nios2/libc.abilist
index a05fab59fe..5e7ec2dd63 100644
--- a/sysdeps/unix/sysv/linux/nios2/libc.abilist
+++ b/sysdeps/unix/sysv/linux/nios2/libc.abilist
@@ -380,6 +380,7 @@  GLIBC_2.21 __pthread_cleanup_routine F
 GLIBC_2.21 __pthread_getspecific F
 GLIBC_2.21 __pthread_key_create F
 GLIBC_2.21 __pthread_once F
+GLIBC_2.21 __pthread_setspecific F
 GLIBC_2.21 __pthread_unwind_next F
 GLIBC_2.21 __ptsname_r_chk F
 GLIBC_2.21 __pwrite64 F
@@ -1511,6 +1512,7 @@  GLIBC_2.21 pthread_self F
 GLIBC_2.21 pthread_setcancelstate F
 GLIBC_2.21 pthread_setcanceltype F
 GLIBC_2.21 pthread_setschedparam F
+GLIBC_2.21 pthread_setspecific F
 GLIBC_2.21 pthread_sigmask F
 GLIBC_2.21 ptrace F
 GLIBC_2.21 ptsname F
@@ -2225,9 +2227,11 @@  GLIBC_2.34 __pthread_cleanup_routine F
 GLIBC_2.34 __pthread_getspecific F
 GLIBC_2.34 __pthread_key_create F
 GLIBC_2.34 __pthread_once F
+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_kill 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 c2a599b239..956a8051e0 100644
--- a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
@@ -20,7 +20,6 @@  GLIBC_2.21 __pthread_rwlock_tryrdlock F
 GLIBC_2.21 __pthread_rwlock_trywrlock F
 GLIBC_2.21 __pthread_rwlock_unlock F
 GLIBC_2.21 __pthread_rwlock_wrlock F
-GLIBC_2.21 __pthread_setspecific F
 GLIBC_2.21 __pthread_unregister_cancel F
 GLIBC_2.21 __pthread_unregister_cancel_restore F
 GLIBC_2.21 __res_state F
@@ -105,7 +104,6 @@  GLIBC_2.21 pthread_setattr_default_np F
 GLIBC_2.21 pthread_setconcurrency F
 GLIBC_2.21 pthread_setname_np F
 GLIBC_2.21 pthread_setschedprio F
-GLIBC_2.21 pthread_setspecific F
 GLIBC_2.21 pthread_sigqueue F
 GLIBC_2.21 pthread_spin_destroy F
 GLIBC_2.21 pthread_spin_init F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
index 759c42cb97..f83ea2deda 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
@@ -197,6 +197,7 @@  GLIBC_2.0 __progname_full D 0x4
 GLIBC_2.0 __pthread_getspecific F
 GLIBC_2.0 __pthread_key_create F
 GLIBC_2.0 __pthread_once F
+GLIBC_2.0 __pthread_setspecific F
 GLIBC_2.0 __rcmd_errstr D 0x4
 GLIBC_2.0 __read F
 GLIBC_2.0 __realloc_hook D 0x4
@@ -886,6 +887,7 @@  GLIBC_2.0 pthread_self F
 GLIBC_2.0 pthread_setcancelstate F
 GLIBC_2.0 pthread_setcanceltype F
 GLIBC_2.0 pthread_setschedparam F
+GLIBC_2.0 pthread_setspecific F
 GLIBC_2.0 pthread_sigmask F
 GLIBC_2.0 ptrace F
 GLIBC_2.0 putc F
@@ -2240,12 +2242,14 @@  GLIBC_2.34 __pthread_cleanup_routine F
 GLIBC_2.34 __pthread_getspecific F
 GLIBC_2.34 __pthread_key_create F
 GLIBC_2.34 __pthread_once F
+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_kill F
 GLIBC_2.34 pthread_mutex_consistent F
 GLIBC_2.34 pthread_once F
+GLIBC_2.34 pthread_setspecific F
 GLIBC_2.4 _IO_fprintf F
 GLIBC_2.4 _IO_printf F
 GLIBC_2.4 _IO_sprintf F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
index e6d64b91f2..73d525bda2 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
@@ -11,7 +11,6 @@  GLIBC_2.0 __pthread_mutex_unlock F
 GLIBC_2.0 __pthread_mutexattr_destroy F
 GLIBC_2.0 __pthread_mutexattr_init F
 GLIBC_2.0 __pthread_mutexattr_settype F
-GLIBC_2.0 __pthread_setspecific F
 GLIBC_2.0 flockfile F
 GLIBC_2.0 ftrylockfile F
 GLIBC_2.0 funlockfile F
@@ -35,7 +34,6 @@  GLIBC_2.0 pthread_mutexattr_destroy F
 GLIBC_2.0 pthread_mutexattr_getkind_np F
 GLIBC_2.0 pthread_mutexattr_init F
 GLIBC_2.0 pthread_mutexattr_setkind_np F
-GLIBC_2.0 pthread_setspecific F
 GLIBC_2.0 pthread_testcancel F
 GLIBC_2.0 sem_destroy F
 GLIBC_2.0 sem_getvalue F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
index bb4757c8d9..01ac4f1406 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
@@ -197,6 +197,7 @@  GLIBC_2.0 __progname_full D 0x4
 GLIBC_2.0 __pthread_getspecific F
 GLIBC_2.0 __pthread_key_create F
 GLIBC_2.0 __pthread_once F
+GLIBC_2.0 __pthread_setspecific F
 GLIBC_2.0 __rcmd_errstr D 0x4
 GLIBC_2.0 __read F
 GLIBC_2.0 __realloc_hook D 0x4
@@ -886,6 +887,7 @@  GLIBC_2.0 pthread_self F
 GLIBC_2.0 pthread_setcancelstate F
 GLIBC_2.0 pthread_setcanceltype F
 GLIBC_2.0 pthread_setschedparam F
+GLIBC_2.0 pthread_setspecific F
 GLIBC_2.0 pthread_sigmask F
 GLIBC_2.0 ptrace F
 GLIBC_2.0 putc F
@@ -2273,12 +2275,14 @@  GLIBC_2.34 __pthread_cleanup_routine F
 GLIBC_2.34 __pthread_getspecific F
 GLIBC_2.34 __pthread_key_create F
 GLIBC_2.34 __pthread_once F
+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_kill F
 GLIBC_2.34 pthread_mutex_consistent F
 GLIBC_2.34 pthread_once F
+GLIBC_2.34 pthread_setspecific F
 GLIBC_2.4 _IO_fprintf F
 GLIBC_2.4 _IO_printf F
 GLIBC_2.4 _IO_sprintf F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
index 34c223cf0a..2f5b668578 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
@@ -412,6 +412,7 @@  GLIBC_2.3 __progname_full D 0x8
 GLIBC_2.3 __pthread_getspecific F
 GLIBC_2.3 __pthread_key_create F
 GLIBC_2.3 __pthread_once F
+GLIBC_2.3 __pthread_setspecific F
 GLIBC_2.3 __pwrite64 F
 GLIBC_2.3 __rawmemchr F
 GLIBC_2.3 __rcmd_errstr D 0x8
@@ -1393,6 +1394,7 @@  GLIBC_2.3 pthread_self F
 GLIBC_2.3 pthread_setcancelstate F
 GLIBC_2.3 pthread_setcanceltype F
 GLIBC_2.3 pthread_setschedparam F
+GLIBC_2.3 pthread_setspecific F
 GLIBC_2.3 pthread_sigmask F
 GLIBC_2.3 ptrace F
 GLIBC_2.3 ptsname F
@@ -2095,12 +2097,14 @@  GLIBC_2.34 __pthread_cleanup_routine F
 GLIBC_2.34 __pthread_getspecific F
 GLIBC_2.34 __pthread_key_create F
 GLIBC_2.34 __pthread_once F
+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_kill F
 GLIBC_2.34 pthread_mutex_consistent F
 GLIBC_2.34 pthread_once F
+GLIBC_2.34 pthread_setspecific F
 GLIBC_2.4 _IO_fprintf F
 GLIBC_2.4 _IO_printf F
 GLIBC_2.4 _IO_sprintf F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
index ff0e06b5e9..1c33d57b24 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
@@ -46,7 +46,6 @@  GLIBC_2.3 __pthread_rwlock_tryrdlock F
 GLIBC_2.3 __pthread_rwlock_trywrlock F
 GLIBC_2.3 __pthread_rwlock_unlock F
 GLIBC_2.3 __pthread_rwlock_wrlock F
-GLIBC_2.3 __pthread_setspecific F
 GLIBC_2.3 __res_state F
 GLIBC_2.3 flockfile F
 GLIBC_2.3 ftrylockfile F
@@ -109,7 +108,6 @@  GLIBC_2.3 pthread_rwlockattr_init F
 GLIBC_2.3 pthread_rwlockattr_setkind_np F
 GLIBC_2.3 pthread_rwlockattr_setpshared F
 GLIBC_2.3 pthread_setconcurrency F
-GLIBC_2.3 pthread_setspecific F
 GLIBC_2.3 pthread_spin_destroy F
 GLIBC_2.3 pthread_spin_init F
 GLIBC_2.3 pthread_spin_lock F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
index 7546541845..4853d23ecb 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
@@ -428,6 +428,7 @@  GLIBC_2.17 __pthread_cleanup_routine F
 GLIBC_2.17 __pthread_getspecific F
 GLIBC_2.17 __pthread_key_create F
 GLIBC_2.17 __pthread_once F
+GLIBC_2.17 __pthread_setspecific F
 GLIBC_2.17 __pthread_unwind_next F
 GLIBC_2.17 __ptsname_r_chk F
 GLIBC_2.17 __pwrite64 F
@@ -1554,6 +1555,7 @@  GLIBC_2.17 pthread_self F
 GLIBC_2.17 pthread_setcancelstate F
 GLIBC_2.17 pthread_setcanceltype F
 GLIBC_2.17 pthread_setschedparam F
+GLIBC_2.17 pthread_setspecific F
 GLIBC_2.17 pthread_sigmask F
 GLIBC_2.17 ptrace F
 GLIBC_2.17 ptsname F
@@ -2388,9 +2390,11 @@  GLIBC_2.34 __pthread_cleanup_routine F
 GLIBC_2.34 __pthread_getspecific F
 GLIBC_2.34 __pthread_key_create F
 GLIBC_2.34 __pthread_once F
+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_kill 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 ac1f297405..0394ce0429 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
@@ -20,7 +20,6 @@  GLIBC_2.17 __pthread_rwlock_tryrdlock F
 GLIBC_2.17 __pthread_rwlock_trywrlock F
 GLIBC_2.17 __pthread_rwlock_unlock F
 GLIBC_2.17 __pthread_rwlock_wrlock F
-GLIBC_2.17 __pthread_setspecific F
 GLIBC_2.17 __pthread_unregister_cancel F
 GLIBC_2.17 __pthread_unregister_cancel_restore F
 GLIBC_2.17 __res_state F
@@ -103,7 +102,6 @@  GLIBC_2.17 pthread_setaffinity_np F
 GLIBC_2.17 pthread_setconcurrency F
 GLIBC_2.17 pthread_setname_np F
 GLIBC_2.17 pthread_setschedprio F
-GLIBC_2.17 pthread_setspecific F
 GLIBC_2.17 pthread_sigqueue F
 GLIBC_2.17 pthread_spin_destroy F
 GLIBC_2.17 pthread_spin_init F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
index 6270fd141a..bccb8a250e 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
@@ -328,6 +328,7 @@  GLIBC_2.33 __pthread_cleanup_routine F
 GLIBC_2.33 __pthread_getspecific F
 GLIBC_2.33 __pthread_key_create F
 GLIBC_2.33 __pthread_once F
+GLIBC_2.33 __pthread_setspecific F
 GLIBC_2.33 __pthread_unwind_next F
 GLIBC_2.33 __ptsname_r_chk F
 GLIBC_2.33 __pwrite64 F
@@ -1394,6 +1395,7 @@  GLIBC_2.33 pthread_self F
 GLIBC_2.33 pthread_setcancelstate F
 GLIBC_2.33 pthread_setcanceltype F
 GLIBC_2.33 pthread_setschedparam F
+GLIBC_2.33 pthread_setspecific F
 GLIBC_2.33 pthread_sigmask F
 GLIBC_2.33 ptrace F
 GLIBC_2.33 ptsname F
@@ -1953,9 +1955,11 @@  GLIBC_2.34 __pthread_cleanup_routine F
 GLIBC_2.34 __pthread_getspecific F
 GLIBC_2.34 __pthread_key_create F
 GLIBC_2.34 __pthread_once F
+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_kill 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 822af61870..ebecb58be4 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
@@ -20,7 +20,6 @@  GLIBC_2.33 __pthread_rwlock_tryrdlock F
 GLIBC_2.33 __pthread_rwlock_trywrlock F
 GLIBC_2.33 __pthread_rwlock_unlock F
 GLIBC_2.33 __pthread_rwlock_wrlock F
-GLIBC_2.33 __pthread_setspecific F
 GLIBC_2.33 __pthread_unregister_cancel F
 GLIBC_2.33 __pthread_unregister_cancel_restore F
 GLIBC_2.33 __res_state F
@@ -123,7 +122,6 @@  GLIBC_2.33 pthread_setattr_default_np F
 GLIBC_2.33 pthread_setconcurrency F
 GLIBC_2.33 pthread_setname_np F
 GLIBC_2.33 pthread_setschedprio F
-GLIBC_2.33 pthread_setspecific F
 GLIBC_2.33 pthread_sigqueue F
 GLIBC_2.33 pthread_spin_destroy F
 GLIBC_2.33 pthread_spin_init F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
index 0d2ddc22aa..02ebd2b8ec 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
@@ -339,6 +339,7 @@  GLIBC_2.27 __pthread_cleanup_routine F
 GLIBC_2.27 __pthread_getspecific F
 GLIBC_2.27 __pthread_key_create F
 GLIBC_2.27 __pthread_once F
+GLIBC_2.27 __pthread_setspecific F
 GLIBC_2.27 __pthread_unwind_next F
 GLIBC_2.27 __ptsname_r_chk F
 GLIBC_2.27 __pwrite64 F
@@ -1456,6 +1457,7 @@  GLIBC_2.27 pthread_self F
 GLIBC_2.27 pthread_setcancelstate F
 GLIBC_2.27 pthread_setcanceltype F
 GLIBC_2.27 pthread_setschedparam F
+GLIBC_2.27 pthread_setspecific F
 GLIBC_2.27 pthread_sigmask F
 GLIBC_2.27 ptrace F
 GLIBC_2.27 ptsname F
@@ -2153,9 +2155,11 @@  GLIBC_2.34 __pthread_cleanup_routine F
 GLIBC_2.34 __pthread_getspecific F
 GLIBC_2.34 __pthread_key_create F
 GLIBC_2.34 __pthread_once F
+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_kill 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 b01332b71e..a9e379fe16 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
@@ -20,7 +20,6 @@  GLIBC_2.27 __pthread_rwlock_tryrdlock F
 GLIBC_2.27 __pthread_rwlock_trywrlock F
 GLIBC_2.27 __pthread_rwlock_unlock F
 GLIBC_2.27 __pthread_rwlock_wrlock F
-GLIBC_2.27 __pthread_setspecific F
 GLIBC_2.27 __pthread_unregister_cancel F
 GLIBC_2.27 __pthread_unregister_cancel_restore F
 GLIBC_2.27 __res_state F
@@ -105,7 +104,6 @@  GLIBC_2.27 pthread_setattr_default_np F
 GLIBC_2.27 pthread_setconcurrency F
 GLIBC_2.27 pthread_setname_np F
 GLIBC_2.27 pthread_setschedprio F
-GLIBC_2.27 pthread_setspecific F
 GLIBC_2.27 pthread_sigqueue F
 GLIBC_2.27 pthread_spin_destroy F
 GLIBC_2.27 pthread_spin_init F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
index 9b747bd411..05e0b6fa2b 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
@@ -188,6 +188,7 @@  GLIBC_2.0 __progname_full D 0x4
 GLIBC_2.0 __pthread_getspecific F
 GLIBC_2.0 __pthread_key_create F
 GLIBC_2.0 __pthread_once F
+GLIBC_2.0 __pthread_setspecific F
 GLIBC_2.0 __rcmd_errstr D 0x4
 GLIBC_2.0 __read F
 GLIBC_2.0 __realloc_hook D 0x4
@@ -877,6 +878,7 @@  GLIBC_2.0 pthread_self F
 GLIBC_2.0 pthread_setcancelstate F
 GLIBC_2.0 pthread_setcanceltype F
 GLIBC_2.0 pthread_setschedparam F
+GLIBC_2.0 pthread_setspecific F
 GLIBC_2.0 pthread_sigmask F
 GLIBC_2.0 ptrace F
 GLIBC_2.0 putc F
@@ -2238,12 +2240,14 @@  GLIBC_2.34 __pthread_cleanup_routine F
 GLIBC_2.34 __pthread_getspecific F
 GLIBC_2.34 __pthread_key_create F
 GLIBC_2.34 __pthread_once F
+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_kill F
 GLIBC_2.34 pthread_mutex_consistent F
 GLIBC_2.34 pthread_once F
+GLIBC_2.34 pthread_setspecific F
 GLIBC_2.4 _IO_fprintf F
 GLIBC_2.4 _IO_printf F
 GLIBC_2.4 _IO_sprintf F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
index 199b579683..7d04836c91 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
@@ -11,7 +11,6 @@  GLIBC_2.0 __pthread_mutex_unlock F
 GLIBC_2.0 __pthread_mutexattr_destroy F
 GLIBC_2.0 __pthread_mutexattr_init F
 GLIBC_2.0 __pthread_mutexattr_settype F
-GLIBC_2.0 __pthread_setspecific F
 GLIBC_2.0 flockfile F
 GLIBC_2.0 ftrylockfile F
 GLIBC_2.0 funlockfile F
@@ -35,7 +34,6 @@  GLIBC_2.0 pthread_mutexattr_destroy F
 GLIBC_2.0 pthread_mutexattr_getkind_np F
 GLIBC_2.0 pthread_mutexattr_init F
 GLIBC_2.0 pthread_mutexattr_setkind_np F
-GLIBC_2.0 pthread_setspecific F
 GLIBC_2.0 pthread_testcancel F
 GLIBC_2.0 sem_destroy F
 GLIBC_2.0 sem_getvalue F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
index 349642d1f9..1aede02fa6 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
@@ -373,6 +373,7 @@  GLIBC_2.2 __progname_full D 0x8
 GLIBC_2.2 __pthread_getspecific F
 GLIBC_2.2 __pthread_key_create F
 GLIBC_2.2 __pthread_once F
+GLIBC_2.2 __pthread_setspecific F
 GLIBC_2.2 __pwrite64 F
 GLIBC_2.2 __rawmemchr F
 GLIBC_2.2 __rcmd_errstr D 0x8
@@ -1304,6 +1305,7 @@  GLIBC_2.2 pthread_self F
 GLIBC_2.2 pthread_setcancelstate F
 GLIBC_2.2 pthread_setcanceltype F
 GLIBC_2.2 pthread_setschedparam F
+GLIBC_2.2 pthread_setspecific F
 GLIBC_2.2 pthread_sigmask F
 GLIBC_2.2 ptrace F
 GLIBC_2.2 ptsname F
@@ -2131,12 +2133,14 @@  GLIBC_2.34 __pthread_cleanup_routine F
 GLIBC_2.34 __pthread_getspecific F
 GLIBC_2.34 __pthread_key_create F
 GLIBC_2.34 __pthread_once F
+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_kill F
 GLIBC_2.34 pthread_mutex_consistent F
 GLIBC_2.34 pthread_once F
+GLIBC_2.34 pthread_setspecific F
 GLIBC_2.4 _IO_fprintf F
 GLIBC_2.4 _IO_printf F
 GLIBC_2.4 _IO_sprintf F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
index 612d7a39d5..51b6dc38fe 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
@@ -26,7 +26,6 @@  GLIBC_2.2 __pthread_rwlock_tryrdlock F
 GLIBC_2.2 __pthread_rwlock_trywrlock F
 GLIBC_2.2 __pthread_rwlock_unlock F
 GLIBC_2.2 __pthread_rwlock_wrlock F
-GLIBC_2.2 __pthread_setspecific F
 GLIBC_2.2 __res_state F
 GLIBC_2.2 flockfile F
 GLIBC_2.2 ftrylockfile F
@@ -90,7 +89,6 @@  GLIBC_2.2 pthread_rwlockattr_init F
 GLIBC_2.2 pthread_rwlockattr_setkind_np F
 GLIBC_2.2 pthread_rwlockattr_setpshared F
 GLIBC_2.2 pthread_setconcurrency F
-GLIBC_2.2 pthread_setspecific F
 GLIBC_2.2 pthread_spin_destroy F
 GLIBC_2.2 pthread_spin_init F
 GLIBC_2.2 pthread_spin_lock F
diff --git a/sysdeps/unix/sysv/linux/sh/be/libc.abilist b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
index 68cc0fe760..80adac4961 100644
--- a/sysdeps/unix/sysv/linux/sh/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
@@ -362,6 +362,7 @@  GLIBC_2.2 __progname_full D 0x4
 GLIBC_2.2 __pthread_getspecific F
 GLIBC_2.2 __pthread_key_create F
 GLIBC_2.2 __pthread_once F
+GLIBC_2.2 __pthread_setspecific F
 GLIBC_2.2 __pwrite64 F
 GLIBC_2.2 __rawmemchr F
 GLIBC_2.2 __rcmd_errstr D 0x4
@@ -1290,6 +1291,7 @@  GLIBC_2.2 pthread_self F
 GLIBC_2.2 pthread_setcancelstate F
 GLIBC_2.2 pthread_setcanceltype F
 GLIBC_2.2 pthread_setschedparam F
+GLIBC_2.2 pthread_setspecific F
 GLIBC_2.2 pthread_sigmask F
 GLIBC_2.2 ptrace F
 GLIBC_2.2 ptsname F
@@ -2100,12 +2102,14 @@  GLIBC_2.34 __pthread_cleanup_routine F
 GLIBC_2.34 __pthread_getspecific F
 GLIBC_2.34 __pthread_key_create F
 GLIBC_2.34 __pthread_once F
+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_kill F
 GLIBC_2.34 pthread_mutex_consistent F
 GLIBC_2.34 pthread_once F
+GLIBC_2.34 pthread_setspecific F
 GLIBC_2.4 __confstr_chk F
 GLIBC_2.4 __fgets_chk F
 GLIBC_2.4 __fgets_unlocked_chk F
diff --git a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
index cba038e89b..9eec6e67d3 100644
--- a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
@@ -25,7 +25,6 @@  GLIBC_2.2 __pthread_rwlock_tryrdlock F
 GLIBC_2.2 __pthread_rwlock_trywrlock F
 GLIBC_2.2 __pthread_rwlock_unlock F
 GLIBC_2.2 __pthread_rwlock_wrlock F
-GLIBC_2.2 __pthread_setspecific F
 GLIBC_2.2 __res_state F
 GLIBC_2.2 flockfile F
 GLIBC_2.2 ftrylockfile F
@@ -89,7 +88,6 @@  GLIBC_2.2 pthread_rwlockattr_init F
 GLIBC_2.2 pthread_rwlockattr_setkind_np F
 GLIBC_2.2 pthread_rwlockattr_setpshared F
 GLIBC_2.2 pthread_setconcurrency F
-GLIBC_2.2 pthread_setspecific F
 GLIBC_2.2 pthread_spin_destroy F
 GLIBC_2.2 pthread_spin_init F
 GLIBC_2.2 pthread_spin_lock F
diff --git a/sysdeps/unix/sysv/linux/sh/le/libc.abilist b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
index 582cbb59ad..94a05525e2 100644
--- a/sysdeps/unix/sysv/linux/sh/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
@@ -362,6 +362,7 @@  GLIBC_2.2 __progname_full D 0x4
 GLIBC_2.2 __pthread_getspecific F
 GLIBC_2.2 __pthread_key_create F
 GLIBC_2.2 __pthread_once F
+GLIBC_2.2 __pthread_setspecific F
 GLIBC_2.2 __pwrite64 F
 GLIBC_2.2 __rawmemchr F
 GLIBC_2.2 __rcmd_errstr D 0x4
@@ -1290,6 +1291,7 @@  GLIBC_2.2 pthread_self F
 GLIBC_2.2 pthread_setcancelstate F
 GLIBC_2.2 pthread_setcanceltype F
 GLIBC_2.2 pthread_setschedparam F
+GLIBC_2.2 pthread_setspecific F
 GLIBC_2.2 pthread_sigmask F
 GLIBC_2.2 ptrace F
 GLIBC_2.2 ptsname F
@@ -2097,12 +2099,14 @@  GLIBC_2.34 __pthread_cleanup_routine F
 GLIBC_2.34 __pthread_getspecific F
 GLIBC_2.34 __pthread_key_create F
 GLIBC_2.34 __pthread_once F
+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_kill F
 GLIBC_2.34 pthread_mutex_consistent F
 GLIBC_2.34 pthread_once F
+GLIBC_2.34 pthread_setspecific F
 GLIBC_2.4 __confstr_chk F
 GLIBC_2.4 __fgets_chk F
 GLIBC_2.4 __fgets_unlocked_chk F
diff --git a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
index cba038e89b..9eec6e67d3 100644
--- a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
@@ -25,7 +25,6 @@  GLIBC_2.2 __pthread_rwlock_tryrdlock F
 GLIBC_2.2 __pthread_rwlock_trywrlock F
 GLIBC_2.2 __pthread_rwlock_unlock F
 GLIBC_2.2 __pthread_rwlock_wrlock F
-GLIBC_2.2 __pthread_setspecific F
 GLIBC_2.2 __res_state F
 GLIBC_2.2 flockfile F
 GLIBC_2.2 ftrylockfile F
@@ -89,7 +88,6 @@  GLIBC_2.2 pthread_rwlockattr_init F
 GLIBC_2.2 pthread_rwlockattr_setkind_np F
 GLIBC_2.2 pthread_rwlockattr_setpshared F
 GLIBC_2.2 pthread_setconcurrency F
-GLIBC_2.2 pthread_setspecific F
 GLIBC_2.2 pthread_spin_destroy F
 GLIBC_2.2 pthread_spin_init F
 GLIBC_2.2 pthread_spin_lock F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
index 392359b52a..67074bb6b8 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
@@ -192,6 +192,7 @@  GLIBC_2.0 __progname_full D 0x4
 GLIBC_2.0 __pthread_getspecific F
 GLIBC_2.0 __pthread_key_create F
 GLIBC_2.0 __pthread_once F
+GLIBC_2.0 __pthread_setspecific F
 GLIBC_2.0 __rcmd_errstr D 0x4
 GLIBC_2.0 __read F
 GLIBC_2.0 __realloc_hook D 0x4
@@ -880,6 +881,7 @@  GLIBC_2.0 pthread_self F
 GLIBC_2.0 pthread_setcancelstate F
 GLIBC_2.0 pthread_setcanceltype F
 GLIBC_2.0 pthread_setschedparam F
+GLIBC_2.0 pthread_setspecific F
 GLIBC_2.0 pthread_sigmask F
 GLIBC_2.0 ptrace F
 GLIBC_2.0 putc F
@@ -2229,12 +2231,14 @@  GLIBC_2.34 __pthread_cleanup_routine F
 GLIBC_2.34 __pthread_getspecific F
 GLIBC_2.34 __pthread_key_create F
 GLIBC_2.34 __pthread_once F
+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_kill F
 GLIBC_2.34 pthread_mutex_consistent F
 GLIBC_2.34 pthread_once F
+GLIBC_2.34 pthread_setspecific F
 GLIBC_2.4 _IO_fprintf F
 GLIBC_2.4 _IO_printf F
 GLIBC_2.4 _IO_sprintf F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
index 400e0b824f..e25edce338 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
@@ -11,7 +11,6 @@  GLIBC_2.0 __pthread_mutex_unlock F
 GLIBC_2.0 __pthread_mutexattr_destroy F
 GLIBC_2.0 __pthread_mutexattr_init F
 GLIBC_2.0 __pthread_mutexattr_settype F
-GLIBC_2.0 __pthread_setspecific F
 GLIBC_2.0 flockfile F
 GLIBC_2.0 ftrylockfile F
 GLIBC_2.0 funlockfile F
@@ -35,7 +34,6 @@  GLIBC_2.0 pthread_mutexattr_destroy F
 GLIBC_2.0 pthread_mutexattr_getkind_np F
 GLIBC_2.0 pthread_mutexattr_init F
 GLIBC_2.0 pthread_mutexattr_setkind_np F
-GLIBC_2.0 pthread_setspecific F
 GLIBC_2.0 pthread_testcancel F
 GLIBC_2.0 sem_destroy F
 GLIBC_2.0 sem_getvalue F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
index 43ce1cbc0d..ac127bcf17 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
@@ -400,6 +400,7 @@  GLIBC_2.2 __progname_full D 0x8
 GLIBC_2.2 __pthread_getspecific F
 GLIBC_2.2 __pthread_key_create F
 GLIBC_2.2 __pthread_once F
+GLIBC_2.2 __pthread_setspecific F
 GLIBC_2.2 __pwrite64 F
 GLIBC_2.2 __rawmemchr F
 GLIBC_2.2 __rcmd_errstr D 0x8
@@ -1333,6 +1334,7 @@  GLIBC_2.2 pthread_self F
 GLIBC_2.2 pthread_setcancelstate F
 GLIBC_2.2 pthread_setcanceltype F
 GLIBC_2.2 pthread_setschedparam F
+GLIBC_2.2 pthread_setspecific F
 GLIBC_2.2 pthread_sigmask F
 GLIBC_2.2 ptrace F
 GLIBC_2.2 ptsname F
@@ -2148,12 +2150,14 @@  GLIBC_2.34 __pthread_cleanup_routine F
 GLIBC_2.34 __pthread_getspecific F
 GLIBC_2.34 __pthread_key_create F
 GLIBC_2.34 __pthread_once F
+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_kill F
 GLIBC_2.34 pthread_mutex_consistent F
 GLIBC_2.34 pthread_once F
+GLIBC_2.34 pthread_setspecific F
 GLIBC_2.4 __confstr_chk F
 GLIBC_2.4 __fgets_chk F
 GLIBC_2.4 __fgets_unlocked_chk F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
index fc8f95ef0f..629211caf5 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
@@ -25,7 +25,6 @@  GLIBC_2.2 __pthread_rwlock_tryrdlock F
 GLIBC_2.2 __pthread_rwlock_trywrlock F
 GLIBC_2.2 __pthread_rwlock_unlock F
 GLIBC_2.2 __pthread_rwlock_wrlock F
-GLIBC_2.2 __pthread_setspecific F
 GLIBC_2.2 __res_state F
 GLIBC_2.2 flockfile F
 GLIBC_2.2 ftrylockfile F
@@ -89,7 +88,6 @@  GLIBC_2.2 pthread_rwlockattr_init F
 GLIBC_2.2 pthread_rwlockattr_setkind_np F
 GLIBC_2.2 pthread_rwlockattr_setpshared F
 GLIBC_2.2 pthread_setconcurrency F
-GLIBC_2.2 pthread_setspecific F
 GLIBC_2.2 pthread_spin_destroy F
 GLIBC_2.2 pthread_spin_init F
 GLIBC_2.2 pthread_spin_lock F
diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
index 374b6c78a4..6a493dd54c 100644
--- a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
@@ -361,6 +361,7 @@  GLIBC_2.2.5 __progname_full D 0x8
 GLIBC_2.2.5 __pthread_getspecific F
 GLIBC_2.2.5 __pthread_key_create F
 GLIBC_2.2.5 __pthread_once F
+GLIBC_2.2.5 __pthread_setspecific F
 GLIBC_2.2.5 __pwrite64 F
 GLIBC_2.2.5 __rawmemchr F
 GLIBC_2.2.5 __rcmd_errstr D 0x8
@@ -1301,6 +1302,7 @@  GLIBC_2.2.5 pthread_self F
 GLIBC_2.2.5 pthread_setcancelstate F
 GLIBC_2.2.5 pthread_setcanceltype F
 GLIBC_2.2.5 pthread_setschedparam F
+GLIBC_2.2.5 pthread_setspecific F
 GLIBC_2.2.5 pthread_sigmask F
 GLIBC_2.2.5 ptrace F
 GLIBC_2.2.5 ptsname F
@@ -2109,12 +2111,14 @@  GLIBC_2.34 __pthread_cleanup_routine F
 GLIBC_2.34 __pthread_getspecific F
 GLIBC_2.34 __pthread_key_create F
 GLIBC_2.34 __pthread_once F
+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_kill F
 GLIBC_2.34 pthread_mutex_consistent F
 GLIBC_2.34 pthread_once F
+GLIBC_2.34 pthread_setspecific F
 GLIBC_2.4 __confstr_chk F
 GLIBC_2.4 __fgets_chk F
 GLIBC_2.4 __fgets_unlocked_chk F
diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
index aa14ca52fb..99bdb3dad8 100644
--- a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
@@ -25,7 +25,6 @@  GLIBC_2.2.5 __pthread_rwlock_tryrdlock F
 GLIBC_2.2.5 __pthread_rwlock_trywrlock F
 GLIBC_2.2.5 __pthread_rwlock_unlock F
 GLIBC_2.2.5 __pthread_rwlock_wrlock F
-GLIBC_2.2.5 __pthread_setspecific F
 GLIBC_2.2.5 __res_state F
 GLIBC_2.2.5 flockfile F
 GLIBC_2.2.5 ftrylockfile F
@@ -89,7 +88,6 @@  GLIBC_2.2.5 pthread_rwlockattr_init F
 GLIBC_2.2.5 pthread_rwlockattr_setkind_np F
 GLIBC_2.2.5 pthread_rwlockattr_setpshared F
 GLIBC_2.2.5 pthread_setconcurrency F
-GLIBC_2.2.5 pthread_setspecific F
 GLIBC_2.2.5 pthread_spin_destroy F
 GLIBC_2.2.5 pthread_spin_init F
 GLIBC_2.2.5 pthread_spin_lock F
diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
index 943a2f6dc4..5714f38a5d 100644
--- a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
@@ -343,6 +343,7 @@  GLIBC_2.16 __pthread_cleanup_routine F
 GLIBC_2.16 __pthread_getspecific F
 GLIBC_2.16 __pthread_key_create F
 GLIBC_2.16 __pthread_once F
+GLIBC_2.16 __pthread_setspecific F
 GLIBC_2.16 __pthread_unwind_next F
 GLIBC_2.16 __ptsname_r_chk F
 GLIBC_2.16 __pwrite64 F
@@ -1473,6 +1474,7 @@  GLIBC_2.16 pthread_self F
 GLIBC_2.16 pthread_setcancelstate F
 GLIBC_2.16 pthread_setcanceltype F
 GLIBC_2.16 pthread_setschedparam F
+GLIBC_2.16 pthread_setspecific F
 GLIBC_2.16 pthread_sigmask F
 GLIBC_2.16 ptrace F
 GLIBC_2.16 ptsname F
@@ -2207,9 +2209,11 @@  GLIBC_2.34 __pthread_cleanup_routine F
 GLIBC_2.34 __pthread_getspecific F
 GLIBC_2.34 __pthread_key_create F
 GLIBC_2.34 __pthread_once F
+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_kill 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 7b9ab492fd..432b566717 100644
--- a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
@@ -20,7 +20,6 @@  GLIBC_2.16 __pthread_rwlock_tryrdlock F
 GLIBC_2.16 __pthread_rwlock_trywrlock F
 GLIBC_2.16 __pthread_rwlock_unlock F
 GLIBC_2.16 __pthread_rwlock_wrlock F
-GLIBC_2.16 __pthread_setspecific F
 GLIBC_2.16 __pthread_unregister_cancel F
 GLIBC_2.16 __pthread_unregister_cancel_restore F
 GLIBC_2.16 __res_state F
@@ -103,7 +102,6 @@  GLIBC_2.16 pthread_setaffinity_np F
 GLIBC_2.16 pthread_setconcurrency F
 GLIBC_2.16 pthread_setname_np F
 GLIBC_2.16 pthread_setschedprio F
-GLIBC_2.16 pthread_setspecific F
 GLIBC_2.16 pthread_sigqueue F
 GLIBC_2.16 pthread_spin_destroy F
 GLIBC_2.16 pthread_spin_init F