summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--nptl/Versions3
-rw-r--r--nptl/pthreadP.h1
-rw-r--r--sysdeps/pthread/Makefile3
-rw-r--r--sysdeps/pthread/tss_create.c11
-rw-r--r--sysdeps/unix/sysv/linux/aarch64/libc.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/aarch64/libpthread.abilist1
-rw-r--r--sysdeps/unix/sysv/linux/alpha/libc.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/alpha/libpthread.abilist1
-rw-r--r--sysdeps/unix/sysv/linux/arc/libc.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/arc/libpthread.abilist1
-rw-r--r--sysdeps/unix/sysv/linux/arm/be/libc.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/arm/be/libpthread.abilist1
-rw-r--r--sysdeps/unix/sysv/linux/arm/le/libc.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/arm/le/libpthread.abilist1
-rw-r--r--sysdeps/unix/sysv/linux/csky/libc.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/csky/libpthread.abilist1
-rw-r--r--sysdeps/unix/sysv/linux/hppa/libc.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/hppa/libpthread.abilist1
-rw-r--r--sysdeps/unix/sysv/linux/i386/libc.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/i386/libpthread.abilist1
-rw-r--r--sysdeps/unix/sysv/linux/ia64/libc.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/ia64/libpthread.abilist1
-rw-r--r--sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist1
-rw-r--r--sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist1
-rw-r--r--sysdeps/unix/sysv/linux/microblaze/be/libc.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist1
-rw-r--r--sysdeps/unix/sysv/linux/microblaze/le/libc.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist1
-rw-r--r--sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist1
-rw-r--r--sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist1
-rw-r--r--sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/nios2/libc.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/nios2/libpthread.abilist1
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist1
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist1
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist1
-rw-r--r--sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist1
-rw-r--r--sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist1
-rw-r--r--sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist1
-rw-r--r--sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist1
-rw-r--r--sysdeps/unix/sysv/linux/sh/be/libc.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/sh/be/libpthread.abilist1
-rw-r--r--sysdeps/unix/sysv/linux/sh/le/libc.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/sh/le/libpthread.abilist1
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist1
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist1
-rw-r--r--sysdeps/unix/sysv/linux/x86_64/64/libc.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist1
-rw-r--r--sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist1
65 files changed, 79 insertions, 32 deletions
diff --git a/nptl/Versions b/nptl/Versions
index 834fdbbd87..f267d4d1e7 100644
--- a/nptl/Versions
+++ b/nptl/Versions
@@ -144,6 +144,7 @@ libc {
thrd_exit;
thrd_sleep;
thrd_yield;
+ tss_create;
}
GLIBC_2.30 {
pthread_cond_clockwait;
@@ -212,6 +213,7 @@ libc {
pthread_spin_trylock;
pthread_spin_unlock;
thrd_exit;
+ tss_create;
}
GLIBC_PRIVATE {
__futex_abstimed_wait64;
@@ -391,7 +393,6 @@ libpthread {
thrd_create;
thrd_detach;
thrd_join;
- tss_create;
tss_delete;
tss_get;
tss_set;
diff --git a/nptl/pthreadP.h b/nptl/pthreadP.h
index 3b070ee10d..d98bd11d6e 100644
--- a/nptl/pthreadP.h
+++ b/nptl/pthreadP.h
@@ -547,6 +547,7 @@ libc_hidden_proto (__pthread_mutex_timedlock)
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 *));
+libc_hidden_proto (__pthread_key_create)
extern int __pthread_key_delete (pthread_key_t key);
libc_hidden_proto (__pthread_key_delete)
extern void *__pthread_getspecific (pthread_key_t key);
diff --git a/sysdeps/pthread/Makefile b/sysdeps/pthread/Makefile
index 75a74be340..4b7e43078c 100644
--- a/sysdeps/pthread/Makefile
+++ b/sysdeps/pthread/Makefile
@@ -32,7 +32,7 @@ headers += threads.h
routines += thrd_current thrd_equal thrd_sleep thrd_yield
libpthread-routines += thrd_create thrd_detach thrd_join \
- tss_create tss_delete tss_get tss_set
+ tss_delete tss_get tss_set
$(libpthread-routines-var) += \
call_once \
@@ -49,6 +49,7 @@ $(libpthread-routines-var) += \
mtx_trylock \
mtx_unlock \
thrd_exit \
+ tss_create \
tests += tst-cnd-basic tst-mtx-trylock tst-cnd-broadcast \
tst-cnd-timedwait tst-thrd-detach tst-mtx-basic tst-thrd-sleep \
diff --git a/sysdeps/pthread/tss_create.c b/sysdeps/pthread/tss_create.c
index a059f39ac8..197f643401 100644
--- a/sysdeps/pthread/tss_create.c
+++ b/sysdeps/pthread/tss_create.c
@@ -16,10 +16,11 @@
License along with the GNU C Library; if not, see
<https://www.gnu.org/licenses/>. */
+#include <shlib-compat.h>
#include "thrd_priv.h"
int
-tss_create (tss_t *tss_id, tss_dtor_t destructor)
+__tss_create (tss_t *tss_id, tss_dtor_t destructor)
{
_Static_assert (sizeof (tss_t) == sizeof (pthread_key_t),
"sizeof (tss_t) != sizeof (pthread_key_t)");
@@ -31,3 +32,11 @@ tss_create (tss_t *tss_id, tss_dtor_t destructor)
int err_code = __pthread_key_create (tss_id, destructor);
return thrd_err_map (err_code);
}
+#if PTHREAD_IN_LIBC
+versioned_symbol (libc, __tss_create, tss_create, GLIBC_2_34);
+# if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_28, GLIBC_2_34)
+compat_symbol (libpthread, __tss_create, tss_create, GLIBC_2_28);
+# endif
+#else /* !PTHREAD_IN_LIBC */
+strong_alias (__tss_create, tss_create)
+#endif
diff --git a/sysdeps/unix/sysv/linux/aarch64/libc.abilist b/sysdeps/unix/sysv/linux/aarch64/libc.abilist
index 9390752b11..22c83416d9 100644
--- a/sysdeps/unix/sysv/linux/aarch64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/aarch64/libc.abilist
@@ -2219,6 +2219,7 @@ GLIBC_2.28 thrd_equal F
GLIBC_2.28 thrd_exit F
GLIBC_2.28 thrd_sleep F
GLIBC_2.28 thrd_yield F
+GLIBC_2.28 tss_create F
GLIBC_2.29 getcpu F
GLIBC_2.29 posix_spawn_file_actions_addchdir_np F
GLIBC_2.29 posix_spawn_file_actions_addfchdir_np F
@@ -2309,3 +2310,4 @@ GLIBC_2.34 pthread_spin_lock F
GLIBC_2.34 pthread_spin_trylock F
GLIBC_2.34 pthread_spin_unlock F
GLIBC_2.34 thrd_exit F
+GLIBC_2.34 tss_create F
diff --git a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
index 2e044698b7..22d805d968 100644
--- a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
@@ -72,7 +72,6 @@ GLIBC_2.18 pthread_setattr_default_np F
GLIBC_2.28 thrd_create F
GLIBC_2.28 thrd_detach F
GLIBC_2.28 thrd_join F
-GLIBC_2.28 tss_create F
GLIBC_2.28 tss_delete F
GLIBC_2.28 tss_get F
GLIBC_2.28 tss_set F
diff --git a/sysdeps/unix/sysv/linux/alpha/libc.abilist b/sysdeps/unix/sysv/linux/alpha/libc.abilist
index 01830f4b8c..69246ca59d 100644
--- a/sysdeps/unix/sysv/linux/alpha/libc.abilist
+++ b/sysdeps/unix/sysv/linux/alpha/libc.abilist
@@ -2112,6 +2112,7 @@ GLIBC_2.28 thrd_equal F
GLIBC_2.28 thrd_exit F
GLIBC_2.28 thrd_sleep F
GLIBC_2.28 thrd_yield F
+GLIBC_2.28 tss_create F
GLIBC_2.29 getcpu F
GLIBC_2.29 posix_spawn_file_actions_addchdir_np F
GLIBC_2.29 posix_spawn_file_actions_addfchdir_np F
@@ -2390,6 +2391,7 @@ GLIBC_2.34 pthread_spin_lock F
GLIBC_2.34 pthread_spin_trylock F
GLIBC_2.34 pthread_spin_unlock F
GLIBC_2.34 thrd_exit F
+GLIBC_2.34 tss_create 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 69716922ba..32f24fc73f 100644
--- a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
@@ -72,7 +72,6 @@ GLIBC_2.2.6 __libpthread_version_placeholder F
GLIBC_2.28 thrd_create F
GLIBC_2.28 thrd_detach F
GLIBC_2.28 thrd_join F
-GLIBC_2.28 tss_create F
GLIBC_2.28 tss_delete F
GLIBC_2.28 tss_get F
GLIBC_2.28 tss_set F
diff --git a/sysdeps/unix/sysv/linux/arc/libc.abilist b/sysdeps/unix/sysv/linux/arc/libc.abilist
index f647e9ceb9..3ccb9d8723 100644
--- a/sysdeps/unix/sysv/linux/arc/libc.abilist
+++ b/sysdeps/unix/sysv/linux/arc/libc.abilist
@@ -1855,6 +1855,7 @@ GLIBC_2.32 tr_break F
GLIBC_2.32 truncate F
GLIBC_2.32 truncate64 F
GLIBC_2.32 tsearch F
+GLIBC_2.32 tss_create F
GLIBC_2.32 ttyname F
GLIBC_2.32 ttyname_r F
GLIBC_2.32 ttyslot F
@@ -2068,3 +2069,4 @@ GLIBC_2.34 pthread_spin_lock F
GLIBC_2.34 pthread_spin_trylock F
GLIBC_2.34 pthread_spin_unlock F
GLIBC_2.34 thrd_exit F
+GLIBC_2.34 tss_create F
diff --git a/sysdeps/unix/sysv/linux/arc/libpthread.abilist b/sysdeps/unix/sysv/linux/arc/libpthread.abilist
index ed881e9417..f4cabfdc5e 100644
--- a/sysdeps/unix/sysv/linux/arc/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/arc/libpthread.abilist
@@ -76,7 +76,6 @@ GLIBC_2.32 sem_wait F
GLIBC_2.32 thrd_create F
GLIBC_2.32 thrd_detach F
GLIBC_2.32 thrd_join F
-GLIBC_2.32 tss_create F
GLIBC_2.32 tss_delete F
GLIBC_2.32 tss_get F
GLIBC_2.32 tss_set F
diff --git a/sysdeps/unix/sysv/linux/arm/be/libc.abilist b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
index b088edc561..11dd473a81 100644
--- a/sysdeps/unix/sysv/linux/arm/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
@@ -140,6 +140,7 @@ GLIBC_2.28 thrd_equal F
GLIBC_2.28 thrd_exit F
GLIBC_2.28 thrd_sleep F
GLIBC_2.28 thrd_yield F
+GLIBC_2.28 tss_create F
GLIBC_2.29 getcpu F
GLIBC_2.29 posix_spawn_file_actions_addchdir_np F
GLIBC_2.29 posix_spawn_file_actions_addfchdir_np F
@@ -233,6 +234,7 @@ GLIBC_2.34 pthread_spin_lock F
GLIBC_2.34 pthread_spin_trylock F
GLIBC_2.34 pthread_spin_unlock F
GLIBC_2.34 thrd_exit F
+GLIBC_2.34 tss_create F
GLIBC_2.4 _Exit F
GLIBC_2.4 _IO_2_1_stderr_ D 0xa0
GLIBC_2.4 _IO_2_1_stdin_ D 0xa0
diff --git a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
index 9579814f70..7a4971951c 100644
--- a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
@@ -6,7 +6,6 @@ GLIBC_2.18 pthread_setattr_default_np F
GLIBC_2.28 thrd_create F
GLIBC_2.28 thrd_detach F
GLIBC_2.28 thrd_join F
-GLIBC_2.28 tss_create F
GLIBC_2.28 tss_delete F
GLIBC_2.28 tss_get F
GLIBC_2.28 tss_set F
diff --git a/sysdeps/unix/sysv/linux/arm/le/libc.abilist b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
index c9820ecb46..50231abb2a 100644
--- a/sysdeps/unix/sysv/linux/arm/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
@@ -140,6 +140,7 @@ GLIBC_2.28 thrd_equal F
GLIBC_2.28 thrd_exit F
GLIBC_2.28 thrd_sleep F
GLIBC_2.28 thrd_yield F
+GLIBC_2.28 tss_create F
GLIBC_2.29 getcpu F
GLIBC_2.29 posix_spawn_file_actions_addchdir_np F
GLIBC_2.29 posix_spawn_file_actions_addfchdir_np F
@@ -230,6 +231,7 @@ GLIBC_2.34 pthread_spin_lock F
GLIBC_2.34 pthread_spin_trylock F
GLIBC_2.34 pthread_spin_unlock F
GLIBC_2.34 thrd_exit F
+GLIBC_2.34 tss_create F
GLIBC_2.4 _Exit F
GLIBC_2.4 _IO_2_1_stderr_ D 0xa0
GLIBC_2.4 _IO_2_1_stdin_ D 0xa0
diff --git a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
index 9579814f70..7a4971951c 100644
--- a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
@@ -6,7 +6,6 @@ GLIBC_2.18 pthread_setattr_default_np F
GLIBC_2.28 thrd_create F
GLIBC_2.28 thrd_detach F
GLIBC_2.28 thrd_join F
-GLIBC_2.28 tss_create F
GLIBC_2.28 tss_delete F
GLIBC_2.28 tss_get F
GLIBC_2.28 tss_set F
diff --git a/sysdeps/unix/sysv/linux/csky/libc.abilist b/sysdeps/unix/sysv/linux/csky/libc.abilist
index 7a9c18250a..1aacd7ed75 100644
--- a/sysdeps/unix/sysv/linux/csky/libc.abilist
+++ b/sysdeps/unix/sysv/linux/csky/libc.abilist
@@ -1949,6 +1949,7 @@ GLIBC_2.29 tr_break F
GLIBC_2.29 truncate F
GLIBC_2.29 truncate64 F
GLIBC_2.29 tsearch F
+GLIBC_2.29 tss_create F
GLIBC_2.29 ttyname F
GLIBC_2.29 ttyname_r F
GLIBC_2.29 ttyslot F
@@ -2252,3 +2253,4 @@ GLIBC_2.34 pthread_spin_lock F
GLIBC_2.34 pthread_spin_trylock F
GLIBC_2.34 pthread_spin_unlock F
GLIBC_2.34 thrd_exit F
+GLIBC_2.34 tss_create F
diff --git a/sysdeps/unix/sysv/linux/csky/libpthread.abilist b/sysdeps/unix/sysv/linux/csky/libpthread.abilist
index 57a14c0db4..df5edd755b 100644
--- a/sysdeps/unix/sysv/linux/csky/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/csky/libpthread.abilist
@@ -72,7 +72,6 @@ GLIBC_2.29 sem_wait F
GLIBC_2.29 thrd_create F
GLIBC_2.29 thrd_detach F
GLIBC_2.29 thrd_join F
-GLIBC_2.29 tss_create F
GLIBC_2.29 tss_delete F
GLIBC_2.29 tss_get F
GLIBC_2.29 tss_set F
diff --git a/sysdeps/unix/sysv/linux/hppa/libc.abilist b/sysdeps/unix/sysv/linux/hppa/libc.abilist
index a811fe0505..c4b9358061 100644
--- a/sysdeps/unix/sysv/linux/hppa/libc.abilist
+++ b/sysdeps/unix/sysv/linux/hppa/libc.abilist
@@ -1951,6 +1951,7 @@ GLIBC_2.28 thrd_equal F
GLIBC_2.28 thrd_exit F
GLIBC_2.28 thrd_sleep F
GLIBC_2.28 thrd_yield F
+GLIBC_2.28 tss_create F
GLIBC_2.29 getcpu F
GLIBC_2.29 posix_spawn_file_actions_addchdir_np F
GLIBC_2.29 posix_spawn_file_actions_addfchdir_np F
@@ -2203,6 +2204,7 @@ GLIBC_2.34 pthread_spin_lock F
GLIBC_2.34 pthread_spin_trylock F
GLIBC_2.34 pthread_spin_unlock F
GLIBC_2.34 thrd_exit F
+GLIBC_2.34 tss_create 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 727b654b8e..9481575392 100644
--- a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
@@ -64,7 +64,6 @@ GLIBC_2.2.6 __libpthread_version_placeholder F
GLIBC_2.28 thrd_create F
GLIBC_2.28 thrd_detach F
GLIBC_2.28 thrd_join F
-GLIBC_2.28 tss_create F
GLIBC_2.28 tss_delete F
GLIBC_2.28 tss_get F
GLIBC_2.28 tss_set F
diff --git a/sysdeps/unix/sysv/linux/i386/libc.abilist b/sysdeps/unix/sysv/linux/i386/libc.abilist
index b2f8bae2c5..983256528e 100644
--- a/sysdeps/unix/sysv/linux/i386/libc.abilist
+++ b/sysdeps/unix/sysv/linux/i386/libc.abilist
@@ -2125,6 +2125,7 @@ GLIBC_2.28 thrd_equal F
GLIBC_2.28 thrd_exit F
GLIBC_2.28 thrd_sleep F
GLIBC_2.28 thrd_yield F
+GLIBC_2.28 tss_create F
GLIBC_2.29 getcpu F
GLIBC_2.29 posix_spawn_file_actions_addchdir_np F
GLIBC_2.29 posix_spawn_file_actions_addfchdir_np F
@@ -2380,6 +2381,7 @@ GLIBC_2.34 pthread_spin_lock F
GLIBC_2.34 pthread_spin_trylock F
GLIBC_2.34 pthread_spin_unlock F
GLIBC_2.34 thrd_exit F
+GLIBC_2.34 tss_create 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 0a9d46d9cc..668e2d74e8 100644
--- a/sysdeps/unix/sysv/linux/i386/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/i386/libpthread.abilist
@@ -72,7 +72,6 @@ GLIBC_2.2.6 __libpthread_version_placeholder F
GLIBC_2.28 thrd_create F
GLIBC_2.28 thrd_detach F
GLIBC_2.28 thrd_join F
-GLIBC_2.28 tss_create F
GLIBC_2.28 tss_delete F
GLIBC_2.28 tss_get F
GLIBC_2.28 tss_set F
diff --git a/sysdeps/unix/sysv/linux/ia64/libc.abilist b/sysdeps/unix/sysv/linux/ia64/libc.abilist
index b5c58de5f5..9c394a4962 100644
--- a/sysdeps/unix/sysv/linux/ia64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/ia64/libc.abilist
@@ -1986,6 +1986,7 @@ GLIBC_2.28 thrd_equal F
GLIBC_2.28 thrd_exit F
GLIBC_2.28 thrd_sleep F
GLIBC_2.28 thrd_yield F
+GLIBC_2.28 tss_create F
GLIBC_2.29 getcpu F
GLIBC_2.29 posix_spawn_file_actions_addchdir_np F
GLIBC_2.29 posix_spawn_file_actions_addfchdir_np F
@@ -2237,6 +2238,7 @@ GLIBC_2.34 pthread_spin_lock F
GLIBC_2.34 pthread_spin_trylock F
GLIBC_2.34 pthread_spin_unlock F
GLIBC_2.34 thrd_exit F
+GLIBC_2.34 tss_create 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 93c85d7a2c..d694d38c29 100644
--- a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
@@ -64,7 +64,6 @@ GLIBC_2.2.6 __libpthread_version_placeholder F
GLIBC_2.28 thrd_create F
GLIBC_2.28 thrd_detach F
GLIBC_2.28 thrd_join F
-GLIBC_2.28 tss_create F
GLIBC_2.28 tss_delete F
GLIBC_2.28 tss_get F
GLIBC_2.28 tss_set F
diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
index 23a3f12406..aaebf896c5 100644
--- a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
@@ -141,6 +141,7 @@ GLIBC_2.28 thrd_equal F
GLIBC_2.28 thrd_exit F
GLIBC_2.28 thrd_sleep F
GLIBC_2.28 thrd_yield F
+GLIBC_2.28 tss_create F
GLIBC_2.29 getcpu F
GLIBC_2.29 posix_spawn_file_actions_addchdir_np F
GLIBC_2.29 posix_spawn_file_actions_addfchdir_np F
@@ -234,6 +235,7 @@ GLIBC_2.34 pthread_spin_lock F
GLIBC_2.34 pthread_spin_trylock F
GLIBC_2.34 pthread_spin_unlock F
GLIBC_2.34 thrd_exit F
+GLIBC_2.34 tss_create F
GLIBC_2.4 _Exit F
GLIBC_2.4 _IO_2_1_stderr_ D 0x98
GLIBC_2.4 _IO_2_1_stdin_ D 0x98
diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
index 9579814f70..7a4971951c 100644
--- a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
@@ -6,7 +6,6 @@ GLIBC_2.18 pthread_setattr_default_np F
GLIBC_2.28 thrd_create F
GLIBC_2.28 thrd_detach F
GLIBC_2.28 thrd_join F
-GLIBC_2.28 tss_create F
GLIBC_2.28 tss_delete F
GLIBC_2.28 tss_get F
GLIBC_2.28 tss_set F
diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
index e729a07a9f..4dd68aba24 100644
--- a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
@@ -2068,6 +2068,7 @@ GLIBC_2.28 thrd_equal F
GLIBC_2.28 thrd_exit F
GLIBC_2.28 thrd_sleep F
GLIBC_2.28 thrd_yield F
+GLIBC_2.28 tss_create F
GLIBC_2.29 getcpu F
GLIBC_2.29 posix_spawn_file_actions_addchdir_np F
GLIBC_2.29 posix_spawn_file_actions_addfchdir_np F
@@ -2323,6 +2324,7 @@ GLIBC_2.34 pthread_spin_lock F
GLIBC_2.34 pthread_spin_trylock F
GLIBC_2.34 pthread_spin_unlock F
GLIBC_2.34 thrd_exit F
+GLIBC_2.34 tss_create 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 0a9d46d9cc..668e2d74e8 100644
--- a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
@@ -72,7 +72,6 @@ GLIBC_2.2.6 __libpthread_version_placeholder F
GLIBC_2.28 thrd_create F
GLIBC_2.28 thrd_detach F
GLIBC_2.28 thrd_join F
-GLIBC_2.28 tss_create F
GLIBC_2.28 tss_delete F
GLIBC_2.28 tss_get F
GLIBC_2.28 tss_set F
diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
index 3dd1428f25..f260228737 100644
--- a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
@@ -2210,6 +2210,7 @@ GLIBC_2.28 thrd_equal F
GLIBC_2.28 thrd_exit F
GLIBC_2.28 thrd_sleep F
GLIBC_2.28 thrd_yield F
+GLIBC_2.28 tss_create F
GLIBC_2.29 getcpu F
GLIBC_2.29 posix_spawn_file_actions_addchdir_np F
GLIBC_2.29 posix_spawn_file_actions_addfchdir_np F
@@ -2303,3 +2304,4 @@ GLIBC_2.34 pthread_spin_lock F
GLIBC_2.34 pthread_spin_trylock F
GLIBC_2.34 pthread_spin_unlock F
GLIBC_2.34 thrd_exit F
+GLIBC_2.34 tss_create F
diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
index dfeb3e6b9c..259dd6d483 100644
--- a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
@@ -72,7 +72,6 @@ GLIBC_2.18 sem_wait F
GLIBC_2.28 thrd_create F
GLIBC_2.28 thrd_detach F
GLIBC_2.28 thrd_join F
-GLIBC_2.28 tss_create F
GLIBC_2.28 tss_delete F
GLIBC_2.28 tss_get F
GLIBC_2.28 tss_set F
diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
index 800797f67c..35896e5572 100644
--- a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
@@ -2210,6 +2210,7 @@ GLIBC_2.28 thrd_equal F
GLIBC_2.28 thrd_exit F
GLIBC_2.28 thrd_sleep F
GLIBC_2.28 thrd_yield F
+GLIBC_2.28 tss_create F
GLIBC_2.29 getcpu F
GLIBC_2.29 posix_spawn_file_actions_addchdir_np F
GLIBC_2.29 posix_spawn_file_actions_addfchdir_np F
@@ -2300,3 +2301,4 @@ GLIBC_2.34 pthread_spin_lock F
GLIBC_2.34 pthread_spin_trylock F
GLIBC_2.34 pthread_spin_unlock F
GLIBC_2.34 thrd_exit F
+GLIBC_2.34 tss_create F
diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
index dfeb3e6b9c..259dd6d483 100644
--- a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
@@ -72,7 +72,6 @@ GLIBC_2.18 sem_wait F
GLIBC_2.28 thrd_create F
GLIBC_2.28 thrd_detach F
GLIBC_2.28 thrd_join F
-GLIBC_2.28 tss_create F
GLIBC_2.28 tss_delete F
GLIBC_2.28 tss_get F
GLIBC_2.28 tss_set F
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
index 4ada6e5338..3d6e68147a 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
@@ -2038,6 +2038,7 @@ GLIBC_2.28 thrd_equal F
GLIBC_2.28 thrd_exit F
GLIBC_2.28 thrd_sleep F
GLIBC_2.28 thrd_yield F
+GLIBC_2.28 tss_create F
GLIBC_2.29 getcpu F
GLIBC_2.29 posix_spawn_file_actions_addchdir_np F
GLIBC_2.29 posix_spawn_file_actions_addfchdir_np F
@@ -2286,6 +2287,7 @@ GLIBC_2.34 pthread_spin_lock F
GLIBC_2.34 pthread_spin_trylock F
GLIBC_2.34 pthread_spin_unlock F
GLIBC_2.34 thrd_exit F
+GLIBC_2.34 tss_create 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 20c9082450..c7784f4c7e 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
@@ -71,7 +71,6 @@ GLIBC_2.2.6 __libpthread_version_placeholder F
GLIBC_2.28 thrd_create F
GLIBC_2.28 thrd_detach F
GLIBC_2.28 thrd_join F
-GLIBC_2.28 tss_create F
GLIBC_2.28 tss_delete F
GLIBC_2.28 tss_get F
GLIBC_2.28 tss_set F
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
index f3a3f9db83..ac7cb3820f 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
@@ -2036,6 +2036,7 @@ GLIBC_2.28 thrd_equal F
GLIBC_2.28 thrd_exit F
GLIBC_2.28 thrd_sleep F
GLIBC_2.28 thrd_yield F
+GLIBC_2.28 tss_create F
GLIBC_2.29 getcpu F
GLIBC_2.29 posix_spawn_file_actions_addchdir_np F
GLIBC_2.29 posix_spawn_file_actions_addfchdir_np F
@@ -2284,6 +2285,7 @@ GLIBC_2.34 pthread_spin_lock F
GLIBC_2.34 pthread_spin_trylock F
GLIBC_2.34 pthread_spin_unlock F
GLIBC_2.34 thrd_exit F
+GLIBC_2.34 tss_create 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 20c9082450..c7784f4c7e 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
@@ -71,7 +71,6 @@ GLIBC_2.2.6 __libpthread_version_placeholder F
GLIBC_2.28 thrd_create F
GLIBC_2.28 thrd_detach F
GLIBC_2.28 thrd_join F
-GLIBC_2.28 tss_create F
GLIBC_2.28 tss_delete F
GLIBC_2.28 tss_get F
GLIBC_2.28 tss_set F
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
index 3790903af4..c5aa9d6052 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
@@ -2044,6 +2044,7 @@ GLIBC_2.28 thrd_equal F
GLIBC_2.28 thrd_exit F
GLIBC_2.28 thrd_sleep F
GLIBC_2.28 thrd_yield F
+GLIBC_2.28 tss_create F
GLIBC_2.29 getcpu F
GLIBC_2.29 posix_spawn_file_actions_addchdir_np F
GLIBC_2.29 posix_spawn_file_actions_addfchdir_np F
@@ -2292,6 +2293,7 @@ GLIBC_2.34 pthread_spin_lock F
GLIBC_2.34 pthread_spin_trylock F
GLIBC_2.34 pthread_spin_unlock F
GLIBC_2.34 thrd_exit F
+GLIBC_2.34 tss_create 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 38e5aba36f..8f3e00676a 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
@@ -2039,6 +2039,7 @@ GLIBC_2.28 thrd_equal F
GLIBC_2.28 thrd_exit F
GLIBC_2.28 thrd_sleep F
GLIBC_2.28 thrd_yield F
+GLIBC_2.28 tss_create F
GLIBC_2.29 getcpu F
GLIBC_2.29 posix_spawn_file_actions_addchdir_np F
GLIBC_2.29 posix_spawn_file_actions_addfchdir_np F
@@ -2286,6 +2287,7 @@ GLIBC_2.34 pthread_spin_lock F
GLIBC_2.34 pthread_spin_trylock F
GLIBC_2.34 pthread_spin_unlock F
GLIBC_2.34 thrd_exit F
+GLIBC_2.34 tss_create 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 d37e1419e5..6f9f3674a1 100644
--- a/sysdeps/unix/sysv/linux/nios2/libc.abilist
+++ b/sysdeps/unix/sysv/linux/nios2/libc.abilist
@@ -2252,6 +2252,7 @@ GLIBC_2.28 thrd_equal F
GLIBC_2.28 thrd_exit F
GLIBC_2.28 thrd_sleep F
GLIBC_2.28 thrd_yield F
+GLIBC_2.28 tss_create F
GLIBC_2.29 getcpu F
GLIBC_2.29 posix_spawn_file_actions_addchdir_np F
GLIBC_2.29 posix_spawn_file_actions_addfchdir_np F
@@ -2342,3 +2343,4 @@ GLIBC_2.34 pthread_spin_lock F
GLIBC_2.34 pthread_spin_trylock F
GLIBC_2.34 pthread_spin_unlock F
GLIBC_2.34 thrd_exit F
+GLIBC_2.34 tss_create F
diff --git a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
index 0e33b9f0fa..53fc617f30 100644
--- a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
@@ -72,7 +72,6 @@ GLIBC_2.21 sem_wait F
GLIBC_2.28 thrd_create F
GLIBC_2.28 thrd_detach F
GLIBC_2.28 thrd_join F
-GLIBC_2.28 tss_create F
GLIBC_2.28 tss_delete F
GLIBC_2.28 tss_get F
GLIBC_2.28 tss_set F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
index dbd492a3b1..14c2793499 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
@@ -2072,6 +2072,7 @@ GLIBC_2.28 thrd_equal F
GLIBC_2.28 thrd_exit F
GLIBC_2.28 thrd_sleep F
GLIBC_2.28 thrd_yield F
+GLIBC_2.28 tss_create F
GLIBC_2.29 getcpu F
GLIBC_2.29 posix_spawn_file_actions_addchdir_np F
GLIBC_2.29 posix_spawn_file_actions_addfchdir_np F
@@ -2350,6 +2351,7 @@ GLIBC_2.34 pthread_spin_lock F
GLIBC_2.34 pthread_spin_trylock F
GLIBC_2.34 pthread_spin_unlock F
GLIBC_2.34 thrd_exit F
+GLIBC_2.34 tss_create 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 740ac67c90..fc7a3a1a2f 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
@@ -72,7 +72,6 @@ GLIBC_2.2.6 __libpthread_version_placeholder F
GLIBC_2.28 thrd_create F
GLIBC_2.28 thrd_detach F
GLIBC_2.28 thrd_join F
-GLIBC_2.28 tss_create F
GLIBC_2.28 tss_delete F
GLIBC_2.28 tss_get F
GLIBC_2.28 tss_set F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
index 0c82faa201..27833cbb2a 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
@@ -2076,6 +2076,7 @@ GLIBC_2.28 thrd_equal F
GLIBC_2.28 thrd_exit F
GLIBC_2.28 thrd_sleep F
GLIBC_2.28 thrd_yield F
+GLIBC_2.28 tss_create F
GLIBC_2.29 getcpu F
GLIBC_2.29 posix_spawn_file_actions_addchdir_np F
GLIBC_2.29 posix_spawn_file_actions_addfchdir_np F
@@ -2383,6 +2384,7 @@ GLIBC_2.34 pthread_spin_lock F
GLIBC_2.34 pthread_spin_trylock F
GLIBC_2.34 pthread_spin_unlock F
GLIBC_2.34 thrd_exit F
+GLIBC_2.34 tss_create 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 f479c57024..f0de72f476 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
@@ -140,6 +140,7 @@ GLIBC_2.28 thrd_equal F
GLIBC_2.28 thrd_exit F
GLIBC_2.28 thrd_sleep F
GLIBC_2.28 thrd_yield F
+GLIBC_2.28 tss_create F
GLIBC_2.29 getcpu F
GLIBC_2.29 posix_spawn_file_actions_addchdir_np F
GLIBC_2.29 posix_spawn_file_actions_addfchdir_np F
@@ -2204,6 +2205,7 @@ GLIBC_2.34 pthread_spin_lock F
GLIBC_2.34 pthread_spin_trylock F
GLIBC_2.34 pthread_spin_unlock F
GLIBC_2.34 thrd_exit F
+GLIBC_2.34 tss_create 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 2af5309ed9..e392ce41f1 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
@@ -6,7 +6,6 @@ GLIBC_2.18 pthread_setattr_default_np F
GLIBC_2.28 thrd_create F
GLIBC_2.28 thrd_detach F
GLIBC_2.28 thrd_join F
-GLIBC_2.28 tss_create F
GLIBC_2.28 tss_delete F
GLIBC_2.28 tss_get F
GLIBC_2.28 tss_set F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
index 892e46c976..6663a5bb53 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
@@ -2309,6 +2309,7 @@ GLIBC_2.28 thrd_equal F
GLIBC_2.28 thrd_exit F
GLIBC_2.28 thrd_sleep F
GLIBC_2.28 thrd_yield F
+GLIBC_2.28 tss_create F
GLIBC_2.29 getcpu F
GLIBC_2.29 posix_spawn_file_actions_addchdir_np F
GLIBC_2.29 posix_spawn_file_actions_addfchdir_np F
@@ -2505,3 +2506,4 @@ GLIBC_2.34 pthread_spin_lock F
GLIBC_2.34 pthread_spin_trylock F
GLIBC_2.34 pthread_spin_unlock F
GLIBC_2.34 thrd_exit F
+GLIBC_2.34 tss_create F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
index 2e044698b7..22d805d968 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
@@ -72,7 +72,6 @@ GLIBC_2.18 pthread_setattr_default_np F
GLIBC_2.28 thrd_create F
GLIBC_2.28 thrd_detach F
GLIBC_2.28 thrd_join F
-GLIBC_2.28 tss_create F
GLIBC_2.28 tss_delete F
GLIBC_2.28 tss_get F
GLIBC_2.28 tss_set F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
index 459edaa125..706562670f 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
@@ -1865,6 +1865,7 @@ GLIBC_2.33 tr_break F
GLIBC_2.33 truncate F
GLIBC_2.33 truncate64 F
GLIBC_2.33 tsearch F
+GLIBC_2.33 tss_create F
GLIBC_2.33 ttyname F
GLIBC_2.33 ttyname_r F
GLIBC_2.33 ttyslot F
@@ -2070,3 +2071,4 @@ GLIBC_2.34 pthread_spin_lock F
GLIBC_2.34 pthread_spin_trylock F
GLIBC_2.34 pthread_spin_unlock F
GLIBC_2.34 thrd_exit F
+GLIBC_2.34 tss_create F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
index e688a30693..7dfb444833 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
@@ -76,7 +76,6 @@ GLIBC_2.33 sem_wait F
GLIBC_2.33 thrd_create F
GLIBC_2.33 thrd_detach F
GLIBC_2.33 thrd_join F
-GLIBC_2.33 tss_create F
GLIBC_2.33 tss_delete F
GLIBC_2.33 tss_get F
GLIBC_2.33 tss_set F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
index 17345bbd51..d6906016be 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
@@ -2180,6 +2180,7 @@ GLIBC_2.28 thrd_equal F
GLIBC_2.28 thrd_exit F
GLIBC_2.28 thrd_sleep F
GLIBC_2.28 thrd_yield F
+GLIBC_2.28 tss_create F
GLIBC_2.29 getcpu F
GLIBC_2.29 posix_spawn_file_actions_addchdir_np F
GLIBC_2.29 posix_spawn_file_actions_addfchdir_np F
@@ -2270,3 +2271,4 @@ GLIBC_2.34 pthread_spin_lock F
GLIBC_2.34 pthread_spin_trylock F
GLIBC_2.34 pthread_spin_unlock F
GLIBC_2.34 thrd_exit F
+GLIBC_2.34 tss_create F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
index 23cec4e3dc..ed2e835de7 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
@@ -72,7 +72,6 @@ GLIBC_2.27 sem_wait F
GLIBC_2.28 thrd_create F
GLIBC_2.28 thrd_detach F
GLIBC_2.28 thrd_join F
-GLIBC_2.28 tss_create F
GLIBC_2.28 tss_delete F
GLIBC_2.28 tss_get F
GLIBC_2.28 tss_set F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
index 25d56b5c7d..e3fcaf1a95 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
@@ -2081,6 +2081,7 @@ GLIBC_2.28 thrd_equal F
GLIBC_2.28 thrd_exit F
GLIBC_2.28 thrd_sleep F
GLIBC_2.28 thrd_yield F
+GLIBC_2.28 tss_create F
GLIBC_2.29 getcpu F
GLIBC_2.29 posix_spawn_file_actions_addchdir_np F
GLIBC_2.29 posix_spawn_file_actions_addfchdir_np F
@@ -2348,6 +2349,7 @@ GLIBC_2.34 pthread_spin_lock F
GLIBC_2.34 pthread_spin_trylock F
GLIBC_2.34 pthread_spin_unlock F
GLIBC_2.34 thrd_exit F
+GLIBC_2.34 tss_create 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 51d8afb571..c0ce5d844f 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
@@ -73,7 +73,6 @@ GLIBC_2.2.6 __libpthread_version_placeholder F
GLIBC_2.28 thrd_create F
GLIBC_2.28 thrd_detach F
GLIBC_2.28 thrd_join F
-GLIBC_2.28 tss_create F
GLIBC_2.28 tss_delete F
GLIBC_2.28 tss_get F
GLIBC_2.28 tss_set F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
index 950de9cf1e..0af71e5ef4 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
@@ -1978,6 +1978,7 @@ GLIBC_2.28 thrd_equal F
GLIBC_2.28 thrd_exit F
GLIBC_2.28 thrd_sleep F
GLIBC_2.28 thrd_yield F
+GLIBC_2.28 tss_create F
GLIBC_2.29 __fentry__ F
GLIBC_2.29 getcpu F
GLIBC_2.29 posix_spawn_file_actions_addchdir_np F
@@ -2241,6 +2242,7 @@ GLIBC_2.34 pthread_spin_lock F
GLIBC_2.34 pthread_spin_trylock F
GLIBC_2.34 pthread_spin_unlock F
GLIBC_2.34 thrd_exit F
+GLIBC_2.34 tss_create 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 5a19f9d49a..17cece1b7b 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
@@ -65,7 +65,6 @@ GLIBC_2.2.6 __libpthread_version_placeholder F
GLIBC_2.28 thrd_create F
GLIBC_2.28 thrd_detach F
GLIBC_2.28 thrd_join F
-GLIBC_2.28 tss_create F
GLIBC_2.28 tss_delete F
GLIBC_2.28 tss_get F
GLIBC_2.28 tss_set F
diff --git a/sysdeps/unix/sysv/linux/sh/be/libc.abilist b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
index a0b7a5cae7..2ee952555b 100644
--- a/sysdeps/unix/sysv/linux/sh/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
@@ -1955,6 +1955,7 @@ GLIBC_2.28 thrd_equal F
GLIBC_2.28 thrd_exit F
GLIBC_2.28 thrd_sleep F
GLIBC_2.28 thrd_yield F
+GLIBC_2.28 tss_create F
GLIBC_2.29 getcpu F
GLIBC_2.29 posix_spawn_file_actions_addchdir_np F
GLIBC_2.29 posix_spawn_file_actions_addfchdir_np F
@@ -2210,6 +2211,7 @@ GLIBC_2.34 pthread_spin_lock F
GLIBC_2.34 pthread_spin_trylock F
GLIBC_2.34 pthread_spin_unlock F
GLIBC_2.34 thrd_exit F
+GLIBC_2.34 tss_create 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 727b654b8e..9481575392 100644
--- a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
@@ -64,7 +64,6 @@ GLIBC_2.2.6 __libpthread_version_placeholder F
GLIBC_2.28 thrd_create F
GLIBC_2.28 thrd_detach F
GLIBC_2.28 thrd_join F
-GLIBC_2.28 tss_create F
GLIBC_2.28 tss_delete F
GLIBC_2.28 tss_get F
GLIBC_2.28 tss_set F
diff --git a/sysdeps/unix/sysv/linux/sh/le/libc.abilist b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
index 5eaa888765..d72c0c8266 100644
--- a/sysdeps/unix/sysv/linux/sh/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
@@ -1955,6 +1955,7 @@ GLIBC_2.28 thrd_equal F
GLIBC_2.28 thrd_exit F
GLIBC_2.28 thrd_sleep F
GLIBC_2.28 thrd_yield F
+GLIBC_2.28 tss_create F
GLIBC_2.29 getcpu F
GLIBC_2.29 posix_spawn_file_actions_addchdir_np F
GLIBC_2.29 posix_spawn_file_actions_addfchdir_np F
@@ -2207,6 +2208,7 @@ GLIBC_2.34 pthread_spin_lock F
GLIBC_2.34 pthread_spin_trylock F
GLIBC_2.34 pthread_spin_unlock F
GLIBC_2.34 thrd_exit F
+GLIBC_2.34 tss_create 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 727b654b8e..9481575392 100644
--- a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
@@ -64,7 +64,6 @@ GLIBC_2.2.6 __libpthread_version_placeholder F
GLIBC_2.28 thrd_create F
GLIBC_2.28 thrd_detach F
GLIBC_2.28 thrd_join F
-GLIBC_2.28 tss_create F
GLIBC_2.28 tss_delete F
GLIBC_2.28 tss_get F
GLIBC_2.28 tss_set F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
index 37ace12a89..64825445f7 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
@@ -2075,6 +2075,7 @@ GLIBC_2.28 thrd_equal F
GLIBC_2.28 thrd_exit F
GLIBC_2.28 thrd_sleep F
GLIBC_2.28 thrd_yield F
+GLIBC_2.28 tss_create F
GLIBC_2.29 getcpu F
GLIBC_2.29 posix_spawn_file_actions_addchdir_np F
GLIBC_2.29 posix_spawn_file_actions_addfchdir_np F
@@ -2339,6 +2340,7 @@ GLIBC_2.34 pthread_spin_lock F
GLIBC_2.34 pthread_spin_trylock F
GLIBC_2.34 pthread_spin_unlock F
GLIBC_2.34 thrd_exit F
+GLIBC_2.34 tss_create 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 69716922ba..32f24fc73f 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
@@ -72,7 +72,6 @@ GLIBC_2.2.6 __libpthread_version_placeholder F
GLIBC_2.28 thrd_create F
GLIBC_2.28 thrd_detach F
GLIBC_2.28 thrd_join F
-GLIBC_2.28 tss_create F
GLIBC_2.28 tss_delete F
GLIBC_2.28 tss_get F
GLIBC_2.28 tss_set F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
index e7ff31b657..2e7eea908e 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
@@ -2008,6 +2008,7 @@ GLIBC_2.28 thrd_equal F
GLIBC_2.28 thrd_exit F
GLIBC_2.28 thrd_sleep F
GLIBC_2.28 thrd_yield F
+GLIBC_2.28 tss_create F
GLIBC_2.29 getcpu F
GLIBC_2.29 posix_spawn_file_actions_addchdir_np F
GLIBC_2.29 posix_spawn_file_actions_addfchdir_np F
@@ -2258,6 +2259,7 @@ GLIBC_2.34 pthread_spin_lock F
GLIBC_2.34 pthread_spin_trylock F
GLIBC_2.34 pthread_spin_unlock F
GLIBC_2.34 thrd_exit F
+GLIBC_2.34 tss_create 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 93c85d7a2c..d694d38c29 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
@@ -64,7 +64,6 @@ GLIBC_2.2.6 __libpthread_version_placeholder F
GLIBC_2.28 thrd_create F
GLIBC_2.28 thrd_detach F
GLIBC_2.28 thrd_join F
-GLIBC_2.28 tss_create F
GLIBC_2.28 tss_delete F
GLIBC_2.28 tss_get F
GLIBC_2.28 tss_set F
diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
index ab2445528e..fd940ed805 100644
--- a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
@@ -1967,6 +1967,7 @@ GLIBC_2.28 thrd_equal F
GLIBC_2.28 thrd_exit F
GLIBC_2.28 thrd_sleep F
GLIBC_2.28 thrd_yield F
+GLIBC_2.28 tss_create F
GLIBC_2.29 getcpu F
GLIBC_2.29 posix_spawn_file_actions_addchdir_np F
GLIBC_2.29 posix_spawn_file_actions_addfchdir_np F
@@ -2219,6 +2220,7 @@ GLIBC_2.34 pthread_spin_lock F
GLIBC_2.34 pthread_spin_trylock F
GLIBC_2.34 pthread_spin_unlock F
GLIBC_2.34 thrd_exit F
+GLIBC_2.34 tss_create 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 aaa813da94..59e6258f0c 100644
--- a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
@@ -63,7 +63,6 @@ GLIBC_2.2.6 __libpthread_version_placeholder F
GLIBC_2.28 thrd_create F
GLIBC_2.28 thrd_detach F
GLIBC_2.28 thrd_join F
-GLIBC_2.28 tss_create F
GLIBC_2.28 tss_delete F
GLIBC_2.28 tss_get F
GLIBC_2.28 tss_set F
diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
index 1c68c6ee85..90d4c176b5 100644
--- a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
@@ -2232,6 +2232,7 @@ GLIBC_2.28 thrd_equal F
GLIBC_2.28 thrd_exit F
GLIBC_2.28 thrd_sleep F
GLIBC_2.28 thrd_yield F
+GLIBC_2.28 tss_create F
GLIBC_2.29 getcpu F
GLIBC_2.29 posix_spawn_file_actions_addchdir_np F
GLIBC_2.29 posix_spawn_file_actions_addfchdir_np F
@@ -2324,3 +2325,4 @@ GLIBC_2.34 pthread_spin_lock F
GLIBC_2.34 pthread_spin_trylock F
GLIBC_2.34 pthread_spin_unlock F
GLIBC_2.34 thrd_exit F
+GLIBC_2.34 tss_create F
diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
index 916b4ef95c..08208af7f3 100644
--- a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
@@ -72,7 +72,6 @@ GLIBC_2.18 pthread_setattr_default_np F
GLIBC_2.28 thrd_create F
GLIBC_2.28 thrd_detach F
GLIBC_2.28 thrd_join F
-GLIBC_2.28 tss_create F
GLIBC_2.28 tss_delete F
GLIBC_2.28 tss_get F
GLIBC_2.28 tss_set F