[18/19] nptl: Move tss_get into libc

Message ID 82ffbc0cb28a440d9f7ba8607bf467f09c99795c.1619456219.git.fweimer@redhat.com
State Committed
Commit a062ba38362f370aefac400e34ece13d09083752
Headers
Series nptl: Move most C11 symbols into libc |

Commit Message

Florian Weimer April 26, 2021, 5:11 p.m. UTC
  The symbol was moved using scripts/move-symbol-to-libc.py.

__pthread_getspecific@@GLIBC_2.34 is no longer needed after the move,
so it is removed with this commit, too.
---
 nptl/Versions                                         |  4 ++--
 nptl/pthread_getspecific.c                            |  7 ++++---
 sysdeps/pthread/Makefile                              |  3 ++-
 sysdeps/pthread/tss_get.c                             | 11 ++++++++++-
 sysdeps/unix/sysv/linux/aarch64/libc.abilist          |  3 ++-
 sysdeps/unix/sysv/linux/aarch64/libpthread.abilist    |  1 -
 sysdeps/unix/sysv/linux/alpha/libc.abilist            |  3 ++-
 sysdeps/unix/sysv/linux/alpha/libpthread.abilist      |  1 -
 sysdeps/unix/sysv/linux/arc/libc.abilist              |  3 ++-
 sysdeps/unix/sysv/linux/arc/libpthread.abilist        |  1 -
 sysdeps/unix/sysv/linux/arm/be/libc.abilist           |  3 ++-
 sysdeps/unix/sysv/linux/arm/be/libpthread.abilist     |  1 -
 sysdeps/unix/sysv/linux/arm/le/libc.abilist           |  3 ++-
 sysdeps/unix/sysv/linux/arm/le/libpthread.abilist     |  1 -
 sysdeps/unix/sysv/linux/csky/libc.abilist             |  3 ++-
 sysdeps/unix/sysv/linux/csky/libpthread.abilist       |  1 -
 sysdeps/unix/sysv/linux/hppa/libc.abilist             |  3 ++-
 sysdeps/unix/sysv/linux/hppa/libpthread.abilist       |  1 -
 sysdeps/unix/sysv/linux/i386/libc.abilist             |  3 ++-
 sysdeps/unix/sysv/linux/i386/libpthread.abilist       |  1 -
 sysdeps/unix/sysv/linux/ia64/libc.abilist             |  3 ++-
 sysdeps/unix/sysv/linux/ia64/libpthread.abilist       |  1 -
 sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist    |  3 ++-
 .../unix/sysv/linux/m68k/coldfire/libpthread.abilist  |  1 -
 sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist      |  3 ++-
 .../unix/sysv/linux/m68k/m680x0/libpthread.abilist    |  1 -
 sysdeps/unix/sysv/linux/microblaze/be/libc.abilist    |  3 ++-
 .../unix/sysv/linux/microblaze/be/libpthread.abilist  |  1 -
 sysdeps/unix/sysv/linux/microblaze/le/libc.abilist    |  3 ++-
 .../unix/sysv/linux/microblaze/le/libpthread.abilist  |  1 -
 sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist  |  3 ++-
 .../unix/sysv/linux/mips/mips32/libpthread.abilist    |  1 -
 .../unix/sysv/linux/mips/mips32/nofpu/libc.abilist    |  3 ++-
 .../unix/sysv/linux/mips/mips64/libpthread.abilist    |  1 -
 sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist  |  3 ++-
 sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist  |  3 ++-
 sysdeps/unix/sysv/linux/nios2/libc.abilist            |  3 ++-
 sysdeps/unix/sysv/linux/nios2/libpthread.abilist      |  1 -
 .../sysv/linux/powerpc/powerpc32/fpu/libc.abilist     |  3 ++-
 .../sysv/linux/powerpc/powerpc32/libpthread.abilist   |  1 -
 .../sysv/linux/powerpc/powerpc32/nofpu/libc.abilist   |  3 ++-
 .../unix/sysv/linux/powerpc/powerpc64/be/libc.abilist |  3 ++-
 .../linux/powerpc/powerpc64/be/libpthread.abilist     |  1 -
 .../unix/sysv/linux/powerpc/powerpc64/le/libc.abilist |  3 ++-
 .../linux/powerpc/powerpc64/le/libpthread.abilist     |  1 -
 sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist       |  3 ++-
 sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist |  1 -
 sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist       |  3 ++-
 sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist |  1 -
 sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist     |  3 ++-
 .../unix/sysv/linux/s390/s390-32/libpthread.abilist   |  1 -
 sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist     |  3 ++-
 .../unix/sysv/linux/s390/s390-64/libpthread.abilist   |  1 -
 sysdeps/unix/sysv/linux/sh/be/libc.abilist            |  3 ++-
 sysdeps/unix/sysv/linux/sh/be/libpthread.abilist      |  1 -
 sysdeps/unix/sysv/linux/sh/le/libc.abilist            |  3 ++-
 sysdeps/unix/sysv/linux/sh/le/libpthread.abilist      |  1 -
 sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist    |  3 ++-
 .../unix/sysv/linux/sparc/sparc32/libpthread.abilist  |  1 -
 sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist    |  3 ++-
 .../unix/sysv/linux/sparc/sparc64/libpthread.abilist  |  1 -
 sysdeps/unix/sysv/linux/x86_64/64/libc.abilist        |  3 ++-
 sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist  |  1 -
 sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist       |  3 ++-
 sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist |  1 -
 65 files changed, 82 insertions(+), 68 deletions(-)
  

Comments

Carlos O'Donell May 2, 2021, 8:46 p.m. UTC | #1
On 4/26/21 1:11 PM, Florian Weimer via Libc-alpha wrote:
> The symbol was moved using scripts/move-symbol-to-libc.py.

Tested and reviewed on x86_64 and i686.

LGTM.

Reviewed-by: Carlos O'Donell <carlos@redhat.com>
Tested-by: Carlos O'Donell <carlos@redhat.com>
 
> __pthread_getspecific@@GLIBC_2.34 is no longer needed after the move,
> so it is removed with this commit, too.

OK.

> ---
>  nptl/Versions                                         |  4 ++--
>  nptl/pthread_getspecific.c                            |  7 ++++---
>  sysdeps/pthread/Makefile                              |  3 ++-
>  sysdeps/pthread/tss_get.c                             | 11 ++++++++++-
>  sysdeps/unix/sysv/linux/aarch64/libc.abilist          |  3 ++-
>  sysdeps/unix/sysv/linux/aarch64/libpthread.abilist    |  1 -
>  sysdeps/unix/sysv/linux/alpha/libc.abilist            |  3 ++-
>  sysdeps/unix/sysv/linux/alpha/libpthread.abilist      |  1 -
>  sysdeps/unix/sysv/linux/arc/libc.abilist              |  3 ++-
>  sysdeps/unix/sysv/linux/arc/libpthread.abilist        |  1 -
>  sysdeps/unix/sysv/linux/arm/be/libc.abilist           |  3 ++-
>  sysdeps/unix/sysv/linux/arm/be/libpthread.abilist     |  1 -
>  sysdeps/unix/sysv/linux/arm/le/libc.abilist           |  3 ++-
>  sysdeps/unix/sysv/linux/arm/le/libpthread.abilist     |  1 -
>  sysdeps/unix/sysv/linux/csky/libc.abilist             |  3 ++-
>  sysdeps/unix/sysv/linux/csky/libpthread.abilist       |  1 -
>  sysdeps/unix/sysv/linux/hppa/libc.abilist             |  3 ++-
>  sysdeps/unix/sysv/linux/hppa/libpthread.abilist       |  1 -
>  sysdeps/unix/sysv/linux/i386/libc.abilist             |  3 ++-
>  sysdeps/unix/sysv/linux/i386/libpthread.abilist       |  1 -
>  sysdeps/unix/sysv/linux/ia64/libc.abilist             |  3 ++-
>  sysdeps/unix/sysv/linux/ia64/libpthread.abilist       |  1 -
>  sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist    |  3 ++-
>  .../unix/sysv/linux/m68k/coldfire/libpthread.abilist  |  1 -
>  sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist      |  3 ++-
>  .../unix/sysv/linux/m68k/m680x0/libpthread.abilist    |  1 -
>  sysdeps/unix/sysv/linux/microblaze/be/libc.abilist    |  3 ++-
>  .../unix/sysv/linux/microblaze/be/libpthread.abilist  |  1 -
>  sysdeps/unix/sysv/linux/microblaze/le/libc.abilist    |  3 ++-
>  .../unix/sysv/linux/microblaze/le/libpthread.abilist  |  1 -
>  sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist  |  3 ++-
>  .../unix/sysv/linux/mips/mips32/libpthread.abilist    |  1 -
>  .../unix/sysv/linux/mips/mips32/nofpu/libc.abilist    |  3 ++-
>  .../unix/sysv/linux/mips/mips64/libpthread.abilist    |  1 -
>  sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist  |  3 ++-
>  sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist  |  3 ++-
>  sysdeps/unix/sysv/linux/nios2/libc.abilist            |  3 ++-
>  sysdeps/unix/sysv/linux/nios2/libpthread.abilist      |  1 -
>  .../sysv/linux/powerpc/powerpc32/fpu/libc.abilist     |  3 ++-
>  .../sysv/linux/powerpc/powerpc32/libpthread.abilist   |  1 -
>  .../sysv/linux/powerpc/powerpc32/nofpu/libc.abilist   |  3 ++-
>  .../unix/sysv/linux/powerpc/powerpc64/be/libc.abilist |  3 ++-
>  .../linux/powerpc/powerpc64/be/libpthread.abilist     |  1 -
>  .../unix/sysv/linux/powerpc/powerpc64/le/libc.abilist |  3 ++-
>  .../linux/powerpc/powerpc64/le/libpthread.abilist     |  1 -
>  sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist       |  3 ++-
>  sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist |  1 -
>  sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist       |  3 ++-
>  sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist |  1 -
>  sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist     |  3 ++-
>  .../unix/sysv/linux/s390/s390-32/libpthread.abilist   |  1 -
>  sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist     |  3 ++-
>  .../unix/sysv/linux/s390/s390-64/libpthread.abilist   |  1 -
>  sysdeps/unix/sysv/linux/sh/be/libc.abilist            |  3 ++-
>  sysdeps/unix/sysv/linux/sh/be/libpthread.abilist      |  1 -
>  sysdeps/unix/sysv/linux/sh/le/libc.abilist            |  3 ++-
>  sysdeps/unix/sysv/linux/sh/le/libpthread.abilist      |  1 -
>  sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist    |  3 ++-
>  .../unix/sysv/linux/sparc/sparc32/libpthread.abilist  |  1 -
>  sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist    |  3 ++-
>  .../unix/sysv/linux/sparc/sparc64/libpthread.abilist  |  1 -
>  sysdeps/unix/sysv/linux/x86_64/64/libc.abilist        |  3 ++-
>  sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist  |  1 -
>  sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist       |  3 ++-
>  sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist |  1 -
>  65 files changed, 82 insertions(+), 68 deletions(-)
> 
> diff --git a/nptl/Versions b/nptl/Versions
> index fa7882a22c..487e251445 100644
> --- a/nptl/Versions
> +++ b/nptl/Versions
> @@ -146,6 +146,7 @@ libc {
>      thrd_yield;
>      tss_create;
>      tss_delete;
> +    tss_get;
>    }
>    GLIBC_2.30 {
>      pthread_cond_clockwait;
> @@ -161,7 +162,6 @@ libc {
>    }
>    GLIBC_2.34 {
>      __pthread_cleanup_routine;
> -    __pthread_getspecific;
>      __pthread_key_create;
>      __pthread_mutex_lock;
>      __pthread_mutex_unlock;
> @@ -216,6 +216,7 @@ libc {
>      thrd_exit;
>      tss_create;
>      tss_delete;
> +    tss_get;
>    }
>    GLIBC_PRIVATE {
>      __futex_abstimed_wait64;
> @@ -394,7 +395,6 @@ libpthread {
>      thrd_create;
>      thrd_detach;
>      thrd_join;
> -    tss_get;
>      tss_set;
>    }
>  
> diff --git a/nptl/pthread_getspecific.c b/nptl/pthread_getspecific.c
> index 230497a84d..3aad6713e4 100644
> --- a/nptl/pthread_getspecific.c
> +++ b/nptl/pthread_getspecific.c
> @@ -63,12 +63,13 @@ ___pthread_getspecific (pthread_key_t key)
>  
>    return result;
>  }
> -versioned_symbol (libc, ___pthread_getspecific, __pthread_getspecific,
> +versioned_symbol (libc, ___pthread_getspecific, pthread_getspecific,
>  		  GLIBC_2_34);
>  libc_hidden_ver (___pthread_getspecific, __pthread_getspecific)
> +#ifndef SHARED
> +strong_alias (___pthread_getspecific, __pthread_getspecific)
> +#endif
>  
> -versioned_symbol (libc, ___pthread_getspecific, pthread_getspecific,
> -		  GLIBC_2_34);
>  #if OTHER_SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_34)
>  compat_symbol (libpthread, ___pthread_getspecific, __pthread_getspecific,
>  	       GLIBC_2_0);
> diff --git a/sysdeps/pthread/Makefile b/sysdeps/pthread/Makefile
> index fd06d0a448..493087732d 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_get tss_set
> +		       tss_set
>  
>  $(libpthread-routines-var) += \
>    call_once \
> @@ -51,6 +51,7 @@ $(libpthread-routines-var) += \
>    thrd_exit \
>    tss_create \
>    tss_delete \
> +  tss_get \
>  
>  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_get.c b/sysdeps/pthread/tss_get.c
> index a4b6f82b5e..f74af18017 100644
> --- a/sysdeps/pthread/tss_get.c
> +++ b/sysdeps/pthread/tss_get.c
> @@ -16,10 +16,19 @@
>     License along with the GNU C Library; if not, see
>     <https://www.gnu.org/licenses/>.  */
>  
> +#include <shlib-compat.h>
>  #include "thrd_priv.h"
>  
>  void *
> -tss_get (tss_t tss_id)
> +__tss_get (tss_t tss_id)
>  {
>    return __pthread_getspecific (tss_id);
>  }
> +#if PTHREAD_IN_LIBC
> +versioned_symbol (libc, __tss_get, tss_get, GLIBC_2_34);
> +# if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_28, GLIBC_2_34)
> +compat_symbol (libpthread, __tss_get, tss_get, GLIBC_2_28);
> +# endif
> +#else /* !PTHREAD_IN_LIBC */
> +strong_alias (__tss_get, tss_get)
> +#endif
> diff --git a/sysdeps/unix/sysv/linux/aarch64/libc.abilist b/sysdeps/unix/sysv/linux/aarch64/libc.abilist
> index 71f7cdbc6b..62ee51335d 100644
> --- a/sysdeps/unix/sysv/linux/aarch64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/aarch64/libc.abilist
> @@ -2221,6 +2221,7 @@ GLIBC_2.28 thrd_sleep F
>  GLIBC_2.28 thrd_yield F
>  GLIBC_2.28 tss_create F
>  GLIBC_2.28 tss_delete F
> +GLIBC_2.28 tss_get 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
> @@ -2254,7 +2255,6 @@ GLIBC_2.33 stat F
>  GLIBC_2.33 stat64 F
>  GLIBC_2.34 __libc_start_main F
>  GLIBC_2.34 __pthread_cleanup_routine F
> -GLIBC_2.34 __pthread_getspecific F
>  GLIBC_2.34 __pthread_key_create F
>  GLIBC_2.34 __pthread_mutex_lock F
>  GLIBC_2.34 __pthread_mutex_unlock F
> @@ -2313,3 +2313,4 @@ GLIBC_2.34 pthread_spin_unlock F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> +GLIBC_2.34 tss_get F
> diff --git a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
> index de3b4fb61b..3408697ac1 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_get F
>  GLIBC_2.28 tss_set F
>  GLIBC_2.30 pthread_rwlock_clockrdlock F
>  GLIBC_2.30 pthread_rwlock_clockwrlock F
> diff --git a/sysdeps/unix/sysv/linux/alpha/libc.abilist b/sysdeps/unix/sysv/linux/alpha/libc.abilist
> index 6349910312..16bf215d70 100644
> --- a/sysdeps/unix/sysv/linux/alpha/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/alpha/libc.abilist
> @@ -2114,6 +2114,7 @@ GLIBC_2.28 thrd_sleep F
>  GLIBC_2.28 thrd_yield F
>  GLIBC_2.28 tss_create F
>  GLIBC_2.28 tss_delete F
> +GLIBC_2.28 tss_get 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
> @@ -2335,7 +2336,6 @@ GLIBC_2.33 stat F
>  GLIBC_2.33 stat64 F
>  GLIBC_2.34 __libc_start_main F
>  GLIBC_2.34 __pthread_cleanup_routine F
> -GLIBC_2.34 __pthread_getspecific F
>  GLIBC_2.34 __pthread_key_create F
>  GLIBC_2.34 __pthread_mutex_lock F
>  GLIBC_2.34 __pthread_mutex_unlock F
> @@ -2394,6 +2394,7 @@ GLIBC_2.34 pthread_spin_unlock F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> +GLIBC_2.34 tss_get 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 c9e8450c69..f6871dd45e 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_get F
>  GLIBC_2.28 tss_set F
>  GLIBC_2.3.2 __libpthread_version_placeholder F
>  GLIBC_2.3.3 __pthread_register_cancel F
> diff --git a/sysdeps/unix/sysv/linux/arc/libc.abilist b/sysdeps/unix/sysv/linux/arc/libc.abilist
> index 9522a2169e..0255fcc1e1 100644
> --- a/sysdeps/unix/sysv/linux/arc/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/arc/libc.abilist
> @@ -1857,6 +1857,7 @@ GLIBC_2.32 truncate64 F
>  GLIBC_2.32 tsearch F
>  GLIBC_2.32 tss_create F
>  GLIBC_2.32 tss_delete F
> +GLIBC_2.32 tss_get F
>  GLIBC_2.32 ttyname F
>  GLIBC_2.32 ttyname_r F
>  GLIBC_2.32 ttyslot F
> @@ -2013,7 +2014,6 @@ GLIBC_2.33 stat F
>  GLIBC_2.33 stat64 F
>  GLIBC_2.34 __libc_start_main F
>  GLIBC_2.34 __pthread_cleanup_routine F
> -GLIBC_2.34 __pthread_getspecific F
>  GLIBC_2.34 __pthread_key_create F
>  GLIBC_2.34 __pthread_mutex_lock F
>  GLIBC_2.34 __pthread_mutex_unlock F
> @@ -2072,3 +2072,4 @@ GLIBC_2.34 pthread_spin_unlock F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> +GLIBC_2.34 tss_get F
> diff --git a/sysdeps/unix/sysv/linux/arc/libpthread.abilist b/sysdeps/unix/sysv/linux/arc/libpthread.abilist
> index 4ac12de47d..d8023bec23 100644
> --- a/sysdeps/unix/sysv/linux/arc/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/arc/libpthread.abilist
> @@ -76,5 +76,4 @@ 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_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 9b1d78a387..36fde345c9 100644
> --- a/sysdeps/unix/sysv/linux/arm/be/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
> @@ -142,6 +142,7 @@ GLIBC_2.28 thrd_sleep F
>  GLIBC_2.28 thrd_yield F
>  GLIBC_2.28 tss_create F
>  GLIBC_2.28 tss_delete F
> +GLIBC_2.28 tss_get 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
> @@ -178,7 +179,6 @@ GLIBC_2.33 stat F
>  GLIBC_2.33 stat64 F
>  GLIBC_2.34 __libc_start_main F
>  GLIBC_2.34 __pthread_cleanup_routine F
> -GLIBC_2.34 __pthread_getspecific F
>  GLIBC_2.34 __pthread_key_create F
>  GLIBC_2.34 __pthread_mutex_lock F
>  GLIBC_2.34 __pthread_mutex_unlock F
> @@ -237,6 +237,7 @@ GLIBC_2.34 pthread_spin_unlock F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> +GLIBC_2.34 tss_get 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 68dead7f88..45e6151bba 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_get F
>  GLIBC_2.28 tss_set F
>  GLIBC_2.30 pthread_rwlock_clockrdlock F
>  GLIBC_2.30 pthread_rwlock_clockwrlock F
> diff --git a/sysdeps/unix/sysv/linux/arm/le/libc.abilist b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
> index 47335ca485..5f7bec9410 100644
> --- a/sysdeps/unix/sysv/linux/arm/le/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
> @@ -142,6 +142,7 @@ GLIBC_2.28 thrd_sleep F
>  GLIBC_2.28 thrd_yield F
>  GLIBC_2.28 tss_create F
>  GLIBC_2.28 tss_delete F
> +GLIBC_2.28 tss_get 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
> @@ -175,7 +176,6 @@ GLIBC_2.33 stat F
>  GLIBC_2.33 stat64 F
>  GLIBC_2.34 __libc_start_main F
>  GLIBC_2.34 __pthread_cleanup_routine F
> -GLIBC_2.34 __pthread_getspecific F
>  GLIBC_2.34 __pthread_key_create F
>  GLIBC_2.34 __pthread_mutex_lock F
>  GLIBC_2.34 __pthread_mutex_unlock F
> @@ -234,6 +234,7 @@ GLIBC_2.34 pthread_spin_unlock F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> +GLIBC_2.34 tss_get 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 68dead7f88..45e6151bba 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_get F
>  GLIBC_2.28 tss_set F
>  GLIBC_2.30 pthread_rwlock_clockrdlock F
>  GLIBC_2.30 pthread_rwlock_clockwrlock F
> diff --git a/sysdeps/unix/sysv/linux/csky/libc.abilist b/sysdeps/unix/sysv/linux/csky/libc.abilist
> index a8ca179158..e42b58f8d6 100644
> --- a/sysdeps/unix/sysv/linux/csky/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/csky/libc.abilist
> @@ -1951,6 +1951,7 @@ GLIBC_2.29 truncate64 F
>  GLIBC_2.29 tsearch F
>  GLIBC_2.29 tss_create F
>  GLIBC_2.29 tss_delete F
> +GLIBC_2.29 tss_get F
>  GLIBC_2.29 ttyname F
>  GLIBC_2.29 ttyname_r F
>  GLIBC_2.29 ttyslot F
> @@ -2197,7 +2198,6 @@ GLIBC_2.33 stat F
>  GLIBC_2.33 stat64 F
>  GLIBC_2.34 __libc_start_main F
>  GLIBC_2.34 __pthread_cleanup_routine F
> -GLIBC_2.34 __pthread_getspecific F
>  GLIBC_2.34 __pthread_key_create F
>  GLIBC_2.34 __pthread_mutex_lock F
>  GLIBC_2.34 __pthread_mutex_unlock F
> @@ -2256,3 +2256,4 @@ GLIBC_2.34 pthread_spin_unlock F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> +GLIBC_2.34 tss_get F
> diff --git a/sysdeps/unix/sysv/linux/csky/libpthread.abilist b/sysdeps/unix/sysv/linux/csky/libpthread.abilist
> index 28194afa85..d8d06a9ec3 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_get F
>  GLIBC_2.29 tss_set F
>  GLIBC_2.30 pthread_rwlock_clockrdlock F
>  GLIBC_2.30 pthread_rwlock_clockwrlock F
> diff --git a/sysdeps/unix/sysv/linux/hppa/libc.abilist b/sysdeps/unix/sysv/linux/hppa/libc.abilist
> index 01269fe8a0..7771295b65 100644
> --- a/sysdeps/unix/sysv/linux/hppa/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/hppa/libc.abilist
> @@ -1953,6 +1953,7 @@ GLIBC_2.28 thrd_sleep F
>  GLIBC_2.28 thrd_yield F
>  GLIBC_2.28 tss_create F
>  GLIBC_2.28 tss_delete F
> +GLIBC_2.28 tss_get 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
> @@ -2148,7 +2149,6 @@ GLIBC_2.33 stat F
>  GLIBC_2.33 stat64 F
>  GLIBC_2.34 __libc_start_main F
>  GLIBC_2.34 __pthread_cleanup_routine F
> -GLIBC_2.34 __pthread_getspecific F
>  GLIBC_2.34 __pthread_key_create F
>  GLIBC_2.34 __pthread_mutex_lock F
>  GLIBC_2.34 __pthread_mutex_unlock F
> @@ -2207,6 +2207,7 @@ GLIBC_2.34 pthread_spin_unlock F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> +GLIBC_2.34 tss_get 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 9e3482ec98..9bd73db6fa 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_get F
>  GLIBC_2.28 tss_set F
>  GLIBC_2.3.2 __libpthread_version_placeholder F
>  GLIBC_2.3.3 __pthread_register_cancel F
> diff --git a/sysdeps/unix/sysv/linux/i386/libc.abilist b/sysdeps/unix/sysv/linux/i386/libc.abilist
> index 49a2a54ad5..07da7f0bb8 100644
> --- a/sysdeps/unix/sysv/linux/i386/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/i386/libc.abilist
> @@ -2127,6 +2127,7 @@ GLIBC_2.28 thrd_sleep F
>  GLIBC_2.28 thrd_yield F
>  GLIBC_2.28 tss_create F
>  GLIBC_2.28 tss_delete F
> +GLIBC_2.28 tss_get 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
> @@ -2325,7 +2326,6 @@ GLIBC_2.33 stat64 F
>  GLIBC_2.34 __isnanf128 F
>  GLIBC_2.34 __libc_start_main F
>  GLIBC_2.34 __pthread_cleanup_routine F
> -GLIBC_2.34 __pthread_getspecific F
>  GLIBC_2.34 __pthread_key_create F
>  GLIBC_2.34 __pthread_mutex_lock F
>  GLIBC_2.34 __pthread_mutex_unlock F
> @@ -2384,6 +2384,7 @@ GLIBC_2.34 pthread_spin_unlock F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> +GLIBC_2.34 tss_get 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 b3f7ef9fc9..52e697f27d 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_get F
>  GLIBC_2.28 tss_set F
>  GLIBC_2.3.2 __libpthread_version_placeholder F
>  GLIBC_2.3.3 __pthread_register_cancel F
> diff --git a/sysdeps/unix/sysv/linux/ia64/libc.abilist b/sysdeps/unix/sysv/linux/ia64/libc.abilist
> index 100c49b62e..b7c9b9c360 100644
> --- a/sysdeps/unix/sysv/linux/ia64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/ia64/libc.abilist
> @@ -1988,6 +1988,7 @@ GLIBC_2.28 thrd_sleep F
>  GLIBC_2.28 thrd_yield F
>  GLIBC_2.28 tss_create F
>  GLIBC_2.28 tss_delete F
> +GLIBC_2.28 tss_get 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
> @@ -2182,7 +2183,6 @@ GLIBC_2.33 stat64 F
>  GLIBC_2.34 __isnanf128 F
>  GLIBC_2.34 __libc_start_main F
>  GLIBC_2.34 __pthread_cleanup_routine F
> -GLIBC_2.34 __pthread_getspecific F
>  GLIBC_2.34 __pthread_key_create F
>  GLIBC_2.34 __pthread_mutex_lock F
>  GLIBC_2.34 __pthread_mutex_unlock F
> @@ -2241,6 +2241,7 @@ GLIBC_2.34 pthread_spin_unlock F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> +GLIBC_2.34 tss_get 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 d9275af39c..30c081b219 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_get F
>  GLIBC_2.28 tss_set F
>  GLIBC_2.3.2 __libpthread_version_placeholder F
>  GLIBC_2.3.3 __pthread_register_cancel F
> diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
> index 97d08d7f17..042951b552 100644
> --- a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
> @@ -143,6 +143,7 @@ GLIBC_2.28 thrd_sleep F
>  GLIBC_2.28 thrd_yield F
>  GLIBC_2.28 tss_create F
>  GLIBC_2.28 tss_delete F
> +GLIBC_2.28 tss_get 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
> @@ -179,7 +180,6 @@ GLIBC_2.33 stat F
>  GLIBC_2.33 stat64 F
>  GLIBC_2.34 __libc_start_main F
>  GLIBC_2.34 __pthread_cleanup_routine F
> -GLIBC_2.34 __pthread_getspecific F
>  GLIBC_2.34 __pthread_key_create F
>  GLIBC_2.34 __pthread_mutex_lock F
>  GLIBC_2.34 __pthread_mutex_unlock F
> @@ -238,6 +238,7 @@ GLIBC_2.34 pthread_spin_unlock F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> +GLIBC_2.34 tss_get 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 68dead7f88..45e6151bba 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_get F
>  GLIBC_2.28 tss_set F
>  GLIBC_2.30 pthread_rwlock_clockrdlock F
>  GLIBC_2.30 pthread_rwlock_clockwrlock F
> diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
> index e198750419..78b3b976c8 100644
> --- a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
> @@ -2070,6 +2070,7 @@ GLIBC_2.28 thrd_sleep F
>  GLIBC_2.28 thrd_yield F
>  GLIBC_2.28 tss_create F
>  GLIBC_2.28 tss_delete F
> +GLIBC_2.28 tss_get 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
> @@ -2268,7 +2269,6 @@ GLIBC_2.33 stat F
>  GLIBC_2.33 stat64 F
>  GLIBC_2.34 __libc_start_main F
>  GLIBC_2.34 __pthread_cleanup_routine F
> -GLIBC_2.34 __pthread_getspecific F
>  GLIBC_2.34 __pthread_key_create F
>  GLIBC_2.34 __pthread_mutex_lock F
>  GLIBC_2.34 __pthread_mutex_unlock F
> @@ -2327,6 +2327,7 @@ GLIBC_2.34 pthread_spin_unlock F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> +GLIBC_2.34 tss_get 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 b3f7ef9fc9..52e697f27d 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_get F
>  GLIBC_2.28 tss_set F
>  GLIBC_2.3.2 __libpthread_version_placeholder F
>  GLIBC_2.3.3 __pthread_register_cancel F
> diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
> index 7ffe207da5..8dcc8af3c8 100644
> --- a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
> @@ -2212,6 +2212,7 @@ GLIBC_2.28 thrd_sleep F
>  GLIBC_2.28 thrd_yield F
>  GLIBC_2.28 tss_create F
>  GLIBC_2.28 tss_delete F
> +GLIBC_2.28 tss_get 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
> @@ -2248,7 +2249,6 @@ GLIBC_2.33 stat F
>  GLIBC_2.33 stat64 F
>  GLIBC_2.34 __libc_start_main F
>  GLIBC_2.34 __pthread_cleanup_routine F
> -GLIBC_2.34 __pthread_getspecific F
>  GLIBC_2.34 __pthread_key_create F
>  GLIBC_2.34 __pthread_mutex_lock F
>  GLIBC_2.34 __pthread_mutex_unlock F
> @@ -2307,3 +2307,4 @@ GLIBC_2.34 pthread_spin_unlock F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> +GLIBC_2.34 tss_get F
> diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
> index 0f41086821..d57ecd3bec 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_get F
>  GLIBC_2.28 tss_set F
>  GLIBC_2.30 pthread_rwlock_clockrdlock F
>  GLIBC_2.30 pthread_rwlock_clockwrlock F
> diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
> index 3be60ae963..b9b3bda375 100644
> --- a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
> @@ -2212,6 +2212,7 @@ GLIBC_2.28 thrd_sleep F
>  GLIBC_2.28 thrd_yield F
>  GLIBC_2.28 tss_create F
>  GLIBC_2.28 tss_delete F
> +GLIBC_2.28 tss_get 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
> @@ -2245,7 +2246,6 @@ GLIBC_2.33 stat F
>  GLIBC_2.33 stat64 F
>  GLIBC_2.34 __libc_start_main F
>  GLIBC_2.34 __pthread_cleanup_routine F
> -GLIBC_2.34 __pthread_getspecific F
>  GLIBC_2.34 __pthread_key_create F
>  GLIBC_2.34 __pthread_mutex_lock F
>  GLIBC_2.34 __pthread_mutex_unlock F
> @@ -2304,3 +2304,4 @@ GLIBC_2.34 pthread_spin_unlock F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> +GLIBC_2.34 tss_get F
> diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
> index 0f41086821..d57ecd3bec 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_get F
>  GLIBC_2.28 tss_set F
>  GLIBC_2.30 pthread_rwlock_clockrdlock F
>  GLIBC_2.30 pthread_rwlock_clockwrlock F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
> index 4ffeddcc09..90496e5a6f 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
> @@ -2040,6 +2040,7 @@ GLIBC_2.28 thrd_sleep F
>  GLIBC_2.28 thrd_yield F
>  GLIBC_2.28 tss_create F
>  GLIBC_2.28 tss_delete F
> +GLIBC_2.28 tss_get 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
> @@ -2231,7 +2232,6 @@ GLIBC_2.33 stat F
>  GLIBC_2.33 stat64 F
>  GLIBC_2.34 __libc_start_main F
>  GLIBC_2.34 __pthread_cleanup_routine F
> -GLIBC_2.34 __pthread_getspecific F
>  GLIBC_2.34 __pthread_key_create F
>  GLIBC_2.34 __pthread_mutex_lock F
>  GLIBC_2.34 __pthread_mutex_unlock F
> @@ -2290,6 +2290,7 @@ GLIBC_2.34 pthread_spin_unlock F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> +GLIBC_2.34 tss_get 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 d742b32191..3c3a1e5540 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_get F
>  GLIBC_2.28 tss_set F
>  GLIBC_2.3.2 __libpthread_version_placeholder F
>  GLIBC_2.3.3 __pthread_register_cancel F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
> index cb5cc15e53..57fc1c073f 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
> @@ -2038,6 +2038,7 @@ GLIBC_2.28 thrd_sleep F
>  GLIBC_2.28 thrd_yield F
>  GLIBC_2.28 tss_create F
>  GLIBC_2.28 tss_delete F
> +GLIBC_2.28 tss_get 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
> @@ -2229,7 +2230,6 @@ GLIBC_2.33 stat F
>  GLIBC_2.33 stat64 F
>  GLIBC_2.34 __libc_start_main F
>  GLIBC_2.34 __pthread_cleanup_routine F
> -GLIBC_2.34 __pthread_getspecific F
>  GLIBC_2.34 __pthread_key_create F
>  GLIBC_2.34 __pthread_mutex_lock F
>  GLIBC_2.34 __pthread_mutex_unlock F
> @@ -2288,6 +2288,7 @@ GLIBC_2.34 pthread_spin_unlock F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> +GLIBC_2.34 tss_get 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 d742b32191..3c3a1e5540 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_get F
>  GLIBC_2.28 tss_set F
>  GLIBC_2.3.2 __libpthread_version_placeholder F
>  GLIBC_2.3.3 __pthread_register_cancel F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
> index b798a93b4b..8fe30c4d18 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
> @@ -2046,6 +2046,7 @@ GLIBC_2.28 thrd_sleep F
>  GLIBC_2.28 thrd_yield F
>  GLIBC_2.28 tss_create F
>  GLIBC_2.28 tss_delete F
> +GLIBC_2.28 tss_get 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,7 +2238,6 @@ GLIBC_2.33 stat F
>  GLIBC_2.33 stat64 F
>  GLIBC_2.34 __libc_start_main F
>  GLIBC_2.34 __pthread_cleanup_routine F
> -GLIBC_2.34 __pthread_getspecific F
>  GLIBC_2.34 __pthread_key_create F
>  GLIBC_2.34 __pthread_mutex_lock F
>  GLIBC_2.34 __pthread_mutex_unlock F
> @@ -2296,6 +2296,7 @@ GLIBC_2.34 pthread_spin_unlock F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> +GLIBC_2.34 tss_get 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 7adef927a3..1950c16ee4 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
> @@ -2041,6 +2041,7 @@ GLIBC_2.28 thrd_sleep F
>  GLIBC_2.28 thrd_yield F
>  GLIBC_2.28 tss_create F
>  GLIBC_2.28 tss_delete F
> +GLIBC_2.28 tss_get 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
> @@ -2231,7 +2232,6 @@ GLIBC_2.33 stat F
>  GLIBC_2.33 stat64 F
>  GLIBC_2.34 __libc_start_main F
>  GLIBC_2.34 __pthread_cleanup_routine F
> -GLIBC_2.34 __pthread_getspecific F
>  GLIBC_2.34 __pthread_key_create F
>  GLIBC_2.34 __pthread_mutex_lock F
>  GLIBC_2.34 __pthread_mutex_unlock F
> @@ -2290,6 +2290,7 @@ GLIBC_2.34 pthread_spin_unlock F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> +GLIBC_2.34 tss_get 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 198632d640..95af15367b 100644
> --- a/sysdeps/unix/sysv/linux/nios2/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/nios2/libc.abilist
> @@ -2254,6 +2254,7 @@ GLIBC_2.28 thrd_sleep F
>  GLIBC_2.28 thrd_yield F
>  GLIBC_2.28 tss_create F
>  GLIBC_2.28 tss_delete F
> +GLIBC_2.28 tss_get 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
> @@ -2287,7 +2288,6 @@ GLIBC_2.33 stat F
>  GLIBC_2.33 stat64 F
>  GLIBC_2.34 __libc_start_main F
>  GLIBC_2.34 __pthread_cleanup_routine F
> -GLIBC_2.34 __pthread_getspecific F
>  GLIBC_2.34 __pthread_key_create F
>  GLIBC_2.34 __pthread_mutex_lock F
>  GLIBC_2.34 __pthread_mutex_unlock F
> @@ -2346,3 +2346,4 @@ GLIBC_2.34 pthread_spin_unlock F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> +GLIBC_2.34 tss_get F
> diff --git a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
> index 8468ce7b9c..fdf7ebbfa9 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_get F
>  GLIBC_2.28 tss_set F
>  GLIBC_2.30 pthread_rwlock_clockrdlock F
>  GLIBC_2.30 pthread_rwlock_clockwrlock F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
> index 0b9534bea8..ad916e3599 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
> @@ -2074,6 +2074,7 @@ GLIBC_2.28 thrd_sleep F
>  GLIBC_2.28 thrd_yield F
>  GLIBC_2.28 tss_create F
>  GLIBC_2.28 tss_delete F
> +GLIBC_2.28 tss_get 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
> @@ -2295,7 +2296,6 @@ GLIBC_2.33 stat F
>  GLIBC_2.33 stat64 F
>  GLIBC_2.34 __libc_start_main F
>  GLIBC_2.34 __pthread_cleanup_routine F
> -GLIBC_2.34 __pthread_getspecific F
>  GLIBC_2.34 __pthread_key_create F
>  GLIBC_2.34 __pthread_mutex_lock F
>  GLIBC_2.34 __pthread_mutex_unlock F
> @@ -2354,6 +2354,7 @@ GLIBC_2.34 pthread_spin_unlock F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> +GLIBC_2.34 tss_get 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 e25f7c6cd0..cccea1d79c 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_get F
>  GLIBC_2.28 tss_set F
>  GLIBC_2.3.2 __libpthread_version_placeholder F
>  GLIBC_2.3.3 __pthread_register_cancel F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
> index 1c5354b98c..72b9b70208 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
> @@ -2078,6 +2078,7 @@ GLIBC_2.28 thrd_sleep F
>  GLIBC_2.28 thrd_yield F
>  GLIBC_2.28 tss_create F
>  GLIBC_2.28 tss_delete F
> +GLIBC_2.28 tss_get 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
> @@ -2328,7 +2329,6 @@ GLIBC_2.33 stat F
>  GLIBC_2.33 stat64 F
>  GLIBC_2.34 __libc_start_main F
>  GLIBC_2.34 __pthread_cleanup_routine F
> -GLIBC_2.34 __pthread_getspecific F
>  GLIBC_2.34 __pthread_key_create F
>  GLIBC_2.34 __pthread_mutex_lock F
>  GLIBC_2.34 __pthread_mutex_unlock F
> @@ -2387,6 +2387,7 @@ GLIBC_2.34 pthread_spin_unlock F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> +GLIBC_2.34 tss_get 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 450d15ac66..32f77e9b88 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
> @@ -142,6 +142,7 @@ GLIBC_2.28 thrd_sleep F
>  GLIBC_2.28 thrd_yield F
>  GLIBC_2.28 tss_create F
>  GLIBC_2.28 tss_delete F
> +GLIBC_2.28 tss_get 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
> @@ -2149,7 +2150,6 @@ GLIBC_2.33 stat F
>  GLIBC_2.33 stat64 F
>  GLIBC_2.34 __libc_start_main F
>  GLIBC_2.34 __pthread_cleanup_routine F
> -GLIBC_2.34 __pthread_getspecific F
>  GLIBC_2.34 __pthread_key_create F
>  GLIBC_2.34 __pthread_mutex_lock F
>  GLIBC_2.34 __pthread_mutex_unlock F
> @@ -2208,6 +2208,7 @@ GLIBC_2.34 pthread_spin_unlock F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> +GLIBC_2.34 tss_get 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 58adcb0736..a6b2357141 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_get F
>  GLIBC_2.28 tss_set F
>  GLIBC_2.3 _IO_flockfile F
>  GLIBC_2.3 _IO_ftrylockfile F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
> index 573fbb8680..4b552c13a7 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
> @@ -2311,6 +2311,7 @@ GLIBC_2.28 thrd_sleep F
>  GLIBC_2.28 thrd_yield F
>  GLIBC_2.28 tss_create F
>  GLIBC_2.28 tss_delete F
> +GLIBC_2.28 tss_get 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
> @@ -2450,7 +2451,6 @@ GLIBC_2.33 stat64 F
>  GLIBC_2.34 __isnanf128 F
>  GLIBC_2.34 __libc_start_main F
>  GLIBC_2.34 __pthread_cleanup_routine F
> -GLIBC_2.34 __pthread_getspecific F
>  GLIBC_2.34 __pthread_key_create F
>  GLIBC_2.34 __pthread_mutex_lock F
>  GLIBC_2.34 __pthread_mutex_unlock F
> @@ -2509,3 +2509,4 @@ GLIBC_2.34 pthread_spin_unlock F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> +GLIBC_2.34 tss_get F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
> index de3b4fb61b..3408697ac1 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_get F
>  GLIBC_2.28 tss_set F
>  GLIBC_2.30 pthread_rwlock_clockrdlock F
>  GLIBC_2.30 pthread_rwlock_clockwrlock F
> diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
> index 1a6e26fdae..c55b18032e 100644
> --- a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
> @@ -1867,6 +1867,7 @@ GLIBC_2.33 truncate64 F
>  GLIBC_2.33 tsearch F
>  GLIBC_2.33 tss_create F
>  GLIBC_2.33 tss_delete F
> +GLIBC_2.33 tss_get F
>  GLIBC_2.33 ttyname F
>  GLIBC_2.33 ttyname_r F
>  GLIBC_2.33 ttyslot F
> @@ -2015,7 +2016,6 @@ GLIBC_2.33 writev F
>  GLIBC_2.33 wscanf F
>  GLIBC_2.34 __libc_start_main F
>  GLIBC_2.34 __pthread_cleanup_routine F
> -GLIBC_2.34 __pthread_getspecific F
>  GLIBC_2.34 __pthread_key_create F
>  GLIBC_2.34 __pthread_mutex_lock F
>  GLIBC_2.34 __pthread_mutex_unlock F
> @@ -2074,3 +2074,4 @@ GLIBC_2.34 pthread_spin_unlock F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> +GLIBC_2.34 tss_get F
> diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
> index 9490e140db..6755efa8cb 100644
> --- a/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
> @@ -76,5 +76,4 @@ 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_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 3445071ba5..84f0aa9ddb 100644
> --- a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
> @@ -2182,6 +2182,7 @@ GLIBC_2.28 thrd_sleep F
>  GLIBC_2.28 thrd_yield F
>  GLIBC_2.28 tss_create F
>  GLIBC_2.28 tss_delete F
> +GLIBC_2.28 tss_get 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
> @@ -2215,7 +2216,6 @@ GLIBC_2.33 stat F
>  GLIBC_2.33 stat64 F
>  GLIBC_2.34 __libc_start_main F
>  GLIBC_2.34 __pthread_cleanup_routine F
> -GLIBC_2.34 __pthread_getspecific F
>  GLIBC_2.34 __pthread_key_create F
>  GLIBC_2.34 __pthread_mutex_lock F
>  GLIBC_2.34 __pthread_mutex_unlock F
> @@ -2274,3 +2274,4 @@ GLIBC_2.34 pthread_spin_unlock F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> +GLIBC_2.34 tss_get F
> diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
> index 9639c2e8bf..77bf50b3c5 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_get F
>  GLIBC_2.28 tss_set F
>  GLIBC_2.30 pthread_rwlock_clockrdlock F
>  GLIBC_2.30 pthread_rwlock_clockwrlock F
> diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
> index 49e80b77dd..38ea2a7978 100644
> --- a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
> @@ -2083,6 +2083,7 @@ GLIBC_2.28 thrd_sleep F
>  GLIBC_2.28 thrd_yield F
>  GLIBC_2.28 tss_create F
>  GLIBC_2.28 tss_delete F
> +GLIBC_2.28 tss_get 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
> @@ -2293,7 +2294,6 @@ GLIBC_2.33 stat F
>  GLIBC_2.33 stat64 F
>  GLIBC_2.34 __libc_start_main F
>  GLIBC_2.34 __pthread_cleanup_routine F
> -GLIBC_2.34 __pthread_getspecific F
>  GLIBC_2.34 __pthread_key_create F
>  GLIBC_2.34 __pthread_mutex_lock F
>  GLIBC_2.34 __pthread_mutex_unlock F
> @@ -2352,6 +2352,7 @@ GLIBC_2.34 pthread_spin_unlock F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> +GLIBC_2.34 tss_get 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 0db413f623..cf2d781c97 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_get F
>  GLIBC_2.28 tss_set F
>  GLIBC_2.3.2 __libpthread_version_placeholder F
>  GLIBC_2.3.3 __pthread_register_cancel F
> diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
> index e9464eeb0e..efaed9f5d0 100644
> --- a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
> @@ -1980,6 +1980,7 @@ GLIBC_2.28 thrd_sleep F
>  GLIBC_2.28 thrd_yield F
>  GLIBC_2.28 tss_create F
>  GLIBC_2.28 tss_delete F
> +GLIBC_2.28 tss_get F
>  GLIBC_2.29 __fentry__ F
>  GLIBC_2.29 getcpu F
>  GLIBC_2.29 posix_spawn_file_actions_addchdir_np F
> @@ -2186,7 +2187,6 @@ GLIBC_2.33 stat F
>  GLIBC_2.33 stat64 F
>  GLIBC_2.34 __libc_start_main F
>  GLIBC_2.34 __pthread_cleanup_routine F
> -GLIBC_2.34 __pthread_getspecific F
>  GLIBC_2.34 __pthread_key_create F
>  GLIBC_2.34 __pthread_mutex_lock F
>  GLIBC_2.34 __pthread_mutex_unlock F
> @@ -2245,6 +2245,7 @@ GLIBC_2.34 pthread_spin_unlock F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> +GLIBC_2.34 tss_get 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 236803430d..b3ec48c222 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_get F
>  GLIBC_2.28 tss_set F
>  GLIBC_2.3.2 __libpthread_version_placeholder F
>  GLIBC_2.3.3 __pthread_register_cancel F
> diff --git a/sysdeps/unix/sysv/linux/sh/be/libc.abilist b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
> index 6ff970ac15..7fda32fd9d 100644
> --- a/sysdeps/unix/sysv/linux/sh/be/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
> @@ -1957,6 +1957,7 @@ GLIBC_2.28 thrd_sleep F
>  GLIBC_2.28 thrd_yield F
>  GLIBC_2.28 tss_create F
>  GLIBC_2.28 tss_delete F
> +GLIBC_2.28 tss_get 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
> @@ -2155,7 +2156,6 @@ GLIBC_2.33 stat F
>  GLIBC_2.33 stat64 F
>  GLIBC_2.34 __libc_start_main F
>  GLIBC_2.34 __pthread_cleanup_routine F
> -GLIBC_2.34 __pthread_getspecific F
>  GLIBC_2.34 __pthread_key_create F
>  GLIBC_2.34 __pthread_mutex_lock F
>  GLIBC_2.34 __pthread_mutex_unlock F
> @@ -2214,6 +2214,7 @@ GLIBC_2.34 pthread_spin_unlock F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> +GLIBC_2.34 tss_get 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 9e3482ec98..9bd73db6fa 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_get F
>  GLIBC_2.28 tss_set F
>  GLIBC_2.3.2 __libpthread_version_placeholder F
>  GLIBC_2.3.3 __pthread_register_cancel F
> diff --git a/sysdeps/unix/sysv/linux/sh/le/libc.abilist b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
> index a96e00c5ad..261188d612 100644
> --- a/sysdeps/unix/sysv/linux/sh/le/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
> @@ -1957,6 +1957,7 @@ GLIBC_2.28 thrd_sleep F
>  GLIBC_2.28 thrd_yield F
>  GLIBC_2.28 tss_create F
>  GLIBC_2.28 tss_delete F
> +GLIBC_2.28 tss_get 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
> @@ -2152,7 +2153,6 @@ GLIBC_2.33 stat F
>  GLIBC_2.33 stat64 F
>  GLIBC_2.34 __libc_start_main F
>  GLIBC_2.34 __pthread_cleanup_routine F
> -GLIBC_2.34 __pthread_getspecific F
>  GLIBC_2.34 __pthread_key_create F
>  GLIBC_2.34 __pthread_mutex_lock F
>  GLIBC_2.34 __pthread_mutex_unlock F
> @@ -2211,6 +2211,7 @@ GLIBC_2.34 pthread_spin_unlock F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> +GLIBC_2.34 tss_get 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 9e3482ec98..9bd73db6fa 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_get F
>  GLIBC_2.28 tss_set F
>  GLIBC_2.3.2 __libpthread_version_placeholder F
>  GLIBC_2.3.3 __pthread_register_cancel F
> diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
> index e4651dfd63..98026922b3 100644
> --- a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
> @@ -2077,6 +2077,7 @@ GLIBC_2.28 thrd_sleep F
>  GLIBC_2.28 thrd_yield F
>  GLIBC_2.28 tss_create F
>  GLIBC_2.28 tss_delete F
> +GLIBC_2.28 tss_get 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,7 +2285,6 @@ GLIBC_2.33 stat F
>  GLIBC_2.33 stat64 F
>  GLIBC_2.34 __libc_start_main F
>  GLIBC_2.34 __pthread_cleanup_routine F
> -GLIBC_2.34 __pthread_getspecific F
>  GLIBC_2.34 __pthread_key_create F
>  GLIBC_2.34 __pthread_mutex_lock F
>  GLIBC_2.34 __pthread_mutex_unlock F
> @@ -2343,6 +2343,7 @@ GLIBC_2.34 pthread_spin_unlock F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> +GLIBC_2.34 tss_get 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 c9e8450c69..f6871dd45e 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_get F
>  GLIBC_2.28 tss_set F
>  GLIBC_2.3.2 __libpthread_version_placeholder F
>  GLIBC_2.3.3 __pthread_register_cancel F
> diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
> index aae58b0576..cbe0479a38 100644
> --- a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
> @@ -2010,6 +2010,7 @@ GLIBC_2.28 thrd_sleep F
>  GLIBC_2.28 thrd_yield F
>  GLIBC_2.28 tss_create F
>  GLIBC_2.28 tss_delete F
> +GLIBC_2.28 tss_get 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,7 +2204,6 @@ GLIBC_2.33 stat F
>  GLIBC_2.33 stat64 F
>  GLIBC_2.34 __libc_start_main F
>  GLIBC_2.34 __pthread_cleanup_routine F
> -GLIBC_2.34 __pthread_getspecific F
>  GLIBC_2.34 __pthread_key_create F
>  GLIBC_2.34 __pthread_mutex_lock F
>  GLIBC_2.34 __pthread_mutex_unlock F
> @@ -2262,6 +2262,7 @@ GLIBC_2.34 pthread_spin_unlock F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> +GLIBC_2.34 tss_get 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 d9275af39c..30c081b219 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_get F
>  GLIBC_2.28 tss_set F
>  GLIBC_2.3.2 __libpthread_version_placeholder F
>  GLIBC_2.3.3 __pthread_register_cancel F
> diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
> index 8026e01b61..5adbbd5a88 100644
> --- a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
> @@ -1969,6 +1969,7 @@ GLIBC_2.28 thrd_sleep F
>  GLIBC_2.28 thrd_yield F
>  GLIBC_2.28 tss_create F
>  GLIBC_2.28 tss_delete F
> +GLIBC_2.28 tss_get 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
> @@ -2164,7 +2165,6 @@ GLIBC_2.33 stat64 F
>  GLIBC_2.34 __isnanf128 F
>  GLIBC_2.34 __libc_start_main F
>  GLIBC_2.34 __pthread_cleanup_routine F
> -GLIBC_2.34 __pthread_getspecific F
>  GLIBC_2.34 __pthread_key_create F
>  GLIBC_2.34 __pthread_mutex_lock F
>  GLIBC_2.34 __pthread_mutex_unlock F
> @@ -2223,6 +2223,7 @@ GLIBC_2.34 pthread_spin_unlock F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> +GLIBC_2.34 tss_get 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 671698e609..1b9c4c063e 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_get F
>  GLIBC_2.28 tss_set F
>  GLIBC_2.3.2 __libpthread_version_placeholder F
>  GLIBC_2.3.3 __pthread_register_cancel F
> diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
> index 1d2154fee4..b09e8145f4 100644
> --- a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
> @@ -2234,6 +2234,7 @@ GLIBC_2.28 thrd_sleep F
>  GLIBC_2.28 thrd_yield F
>  GLIBC_2.28 tss_create F
>  GLIBC_2.28 tss_delete F
> +GLIBC_2.28 tss_get 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
> @@ -2269,7 +2270,6 @@ GLIBC_2.33 stat64 F
>  GLIBC_2.34 __isnanf128 F
>  GLIBC_2.34 __libc_start_main F
>  GLIBC_2.34 __pthread_cleanup_routine F
> -GLIBC_2.34 __pthread_getspecific F
>  GLIBC_2.34 __pthread_key_create F
>  GLIBC_2.34 __pthread_mutex_lock F
>  GLIBC_2.34 __pthread_mutex_unlock F
> @@ -2328,3 +2328,4 @@ GLIBC_2.34 pthread_spin_unlock F
>  GLIBC_2.34 thrd_exit F
>  GLIBC_2.34 tss_create F
>  GLIBC_2.34 tss_delete F
> +GLIBC_2.34 tss_get F
> diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
> index 7e44ebfcc3..7518cf95fe 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_get F
>  GLIBC_2.28 tss_set F
>  GLIBC_2.30 pthread_rwlock_clockrdlock F
>  GLIBC_2.30 pthread_rwlock_clockwrlock F
>
  

Patch

diff --git a/nptl/Versions b/nptl/Versions
index fa7882a22c..487e251445 100644
--- a/nptl/Versions
+++ b/nptl/Versions
@@ -146,6 +146,7 @@  libc {
     thrd_yield;
     tss_create;
     tss_delete;
+    tss_get;
   }
   GLIBC_2.30 {
     pthread_cond_clockwait;
@@ -161,7 +162,6 @@  libc {
   }
   GLIBC_2.34 {
     __pthread_cleanup_routine;
-    __pthread_getspecific;
     __pthread_key_create;
     __pthread_mutex_lock;
     __pthread_mutex_unlock;
@@ -216,6 +216,7 @@  libc {
     thrd_exit;
     tss_create;
     tss_delete;
+    tss_get;
   }
   GLIBC_PRIVATE {
     __futex_abstimed_wait64;
@@ -394,7 +395,6 @@  libpthread {
     thrd_create;
     thrd_detach;
     thrd_join;
-    tss_get;
     tss_set;
   }
 
diff --git a/nptl/pthread_getspecific.c b/nptl/pthread_getspecific.c
index 230497a84d..3aad6713e4 100644
--- a/nptl/pthread_getspecific.c
+++ b/nptl/pthread_getspecific.c
@@ -63,12 +63,13 @@  ___pthread_getspecific (pthread_key_t key)
 
   return result;
 }
-versioned_symbol (libc, ___pthread_getspecific, __pthread_getspecific,
+versioned_symbol (libc, ___pthread_getspecific, pthread_getspecific,
 		  GLIBC_2_34);
 libc_hidden_ver (___pthread_getspecific, __pthread_getspecific)
+#ifndef SHARED
+strong_alias (___pthread_getspecific, __pthread_getspecific)
+#endif
 
-versioned_symbol (libc, ___pthread_getspecific, pthread_getspecific,
-		  GLIBC_2_34);
 #if OTHER_SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_34)
 compat_symbol (libpthread, ___pthread_getspecific, __pthread_getspecific,
 	       GLIBC_2_0);
diff --git a/sysdeps/pthread/Makefile b/sysdeps/pthread/Makefile
index fd06d0a448..493087732d 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_get tss_set
+		       tss_set
 
 $(libpthread-routines-var) += \
   call_once \
@@ -51,6 +51,7 @@  $(libpthread-routines-var) += \
   thrd_exit \
   tss_create \
   tss_delete \
+  tss_get \
 
 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_get.c b/sysdeps/pthread/tss_get.c
index a4b6f82b5e..f74af18017 100644
--- a/sysdeps/pthread/tss_get.c
+++ b/sysdeps/pthread/tss_get.c
@@ -16,10 +16,19 @@ 
    License along with the GNU C Library; if not, see
    <https://www.gnu.org/licenses/>.  */
 
+#include <shlib-compat.h>
 #include "thrd_priv.h"
 
 void *
-tss_get (tss_t tss_id)
+__tss_get (tss_t tss_id)
 {
   return __pthread_getspecific (tss_id);
 }
+#if PTHREAD_IN_LIBC
+versioned_symbol (libc, __tss_get, tss_get, GLIBC_2_34);
+# if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_28, GLIBC_2_34)
+compat_symbol (libpthread, __tss_get, tss_get, GLIBC_2_28);
+# endif
+#else /* !PTHREAD_IN_LIBC */
+strong_alias (__tss_get, tss_get)
+#endif
diff --git a/sysdeps/unix/sysv/linux/aarch64/libc.abilist b/sysdeps/unix/sysv/linux/aarch64/libc.abilist
index 71f7cdbc6b..62ee51335d 100644
--- a/sysdeps/unix/sysv/linux/aarch64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/aarch64/libc.abilist
@@ -2221,6 +2221,7 @@  GLIBC_2.28 thrd_sleep F
 GLIBC_2.28 thrd_yield F
 GLIBC_2.28 tss_create F
 GLIBC_2.28 tss_delete F
+GLIBC_2.28 tss_get 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
@@ -2254,7 +2255,6 @@  GLIBC_2.33 stat F
 GLIBC_2.33 stat64 F
 GLIBC_2.34 __libc_start_main F
 GLIBC_2.34 __pthread_cleanup_routine F
-GLIBC_2.34 __pthread_getspecific F
 GLIBC_2.34 __pthread_key_create F
 GLIBC_2.34 __pthread_mutex_lock F
 GLIBC_2.34 __pthread_mutex_unlock F
@@ -2313,3 +2313,4 @@  GLIBC_2.34 pthread_spin_unlock F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
+GLIBC_2.34 tss_get F
diff --git a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
index de3b4fb61b..3408697ac1 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_get F
 GLIBC_2.28 tss_set F
 GLIBC_2.30 pthread_rwlock_clockrdlock F
 GLIBC_2.30 pthread_rwlock_clockwrlock F
diff --git a/sysdeps/unix/sysv/linux/alpha/libc.abilist b/sysdeps/unix/sysv/linux/alpha/libc.abilist
index 6349910312..16bf215d70 100644
--- a/sysdeps/unix/sysv/linux/alpha/libc.abilist
+++ b/sysdeps/unix/sysv/linux/alpha/libc.abilist
@@ -2114,6 +2114,7 @@  GLIBC_2.28 thrd_sleep F
 GLIBC_2.28 thrd_yield F
 GLIBC_2.28 tss_create F
 GLIBC_2.28 tss_delete F
+GLIBC_2.28 tss_get 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
@@ -2335,7 +2336,6 @@  GLIBC_2.33 stat F
 GLIBC_2.33 stat64 F
 GLIBC_2.34 __libc_start_main F
 GLIBC_2.34 __pthread_cleanup_routine F
-GLIBC_2.34 __pthread_getspecific F
 GLIBC_2.34 __pthread_key_create F
 GLIBC_2.34 __pthread_mutex_lock F
 GLIBC_2.34 __pthread_mutex_unlock F
@@ -2394,6 +2394,7 @@  GLIBC_2.34 pthread_spin_unlock F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
+GLIBC_2.34 tss_get 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 c9e8450c69..f6871dd45e 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_get F
 GLIBC_2.28 tss_set F
 GLIBC_2.3.2 __libpthread_version_placeholder F
 GLIBC_2.3.3 __pthread_register_cancel F
diff --git a/sysdeps/unix/sysv/linux/arc/libc.abilist b/sysdeps/unix/sysv/linux/arc/libc.abilist
index 9522a2169e..0255fcc1e1 100644
--- a/sysdeps/unix/sysv/linux/arc/libc.abilist
+++ b/sysdeps/unix/sysv/linux/arc/libc.abilist
@@ -1857,6 +1857,7 @@  GLIBC_2.32 truncate64 F
 GLIBC_2.32 tsearch F
 GLIBC_2.32 tss_create F
 GLIBC_2.32 tss_delete F
+GLIBC_2.32 tss_get F
 GLIBC_2.32 ttyname F
 GLIBC_2.32 ttyname_r F
 GLIBC_2.32 ttyslot F
@@ -2013,7 +2014,6 @@  GLIBC_2.33 stat F
 GLIBC_2.33 stat64 F
 GLIBC_2.34 __libc_start_main F
 GLIBC_2.34 __pthread_cleanup_routine F
-GLIBC_2.34 __pthread_getspecific F
 GLIBC_2.34 __pthread_key_create F
 GLIBC_2.34 __pthread_mutex_lock F
 GLIBC_2.34 __pthread_mutex_unlock F
@@ -2072,3 +2072,4 @@  GLIBC_2.34 pthread_spin_unlock F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
+GLIBC_2.34 tss_get F
diff --git a/sysdeps/unix/sysv/linux/arc/libpthread.abilist b/sysdeps/unix/sysv/linux/arc/libpthread.abilist
index 4ac12de47d..d8023bec23 100644
--- a/sysdeps/unix/sysv/linux/arc/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/arc/libpthread.abilist
@@ -76,5 +76,4 @@  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_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 9b1d78a387..36fde345c9 100644
--- a/sysdeps/unix/sysv/linux/arm/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
@@ -142,6 +142,7 @@  GLIBC_2.28 thrd_sleep F
 GLIBC_2.28 thrd_yield F
 GLIBC_2.28 tss_create F
 GLIBC_2.28 tss_delete F
+GLIBC_2.28 tss_get 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
@@ -178,7 +179,6 @@  GLIBC_2.33 stat F
 GLIBC_2.33 stat64 F
 GLIBC_2.34 __libc_start_main F
 GLIBC_2.34 __pthread_cleanup_routine F
-GLIBC_2.34 __pthread_getspecific F
 GLIBC_2.34 __pthread_key_create F
 GLIBC_2.34 __pthread_mutex_lock F
 GLIBC_2.34 __pthread_mutex_unlock F
@@ -237,6 +237,7 @@  GLIBC_2.34 pthread_spin_unlock F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
+GLIBC_2.34 tss_get 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 68dead7f88..45e6151bba 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_get F
 GLIBC_2.28 tss_set F
 GLIBC_2.30 pthread_rwlock_clockrdlock F
 GLIBC_2.30 pthread_rwlock_clockwrlock F
diff --git a/sysdeps/unix/sysv/linux/arm/le/libc.abilist b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
index 47335ca485..5f7bec9410 100644
--- a/sysdeps/unix/sysv/linux/arm/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
@@ -142,6 +142,7 @@  GLIBC_2.28 thrd_sleep F
 GLIBC_2.28 thrd_yield F
 GLIBC_2.28 tss_create F
 GLIBC_2.28 tss_delete F
+GLIBC_2.28 tss_get 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
@@ -175,7 +176,6 @@  GLIBC_2.33 stat F
 GLIBC_2.33 stat64 F
 GLIBC_2.34 __libc_start_main F
 GLIBC_2.34 __pthread_cleanup_routine F
-GLIBC_2.34 __pthread_getspecific F
 GLIBC_2.34 __pthread_key_create F
 GLIBC_2.34 __pthread_mutex_lock F
 GLIBC_2.34 __pthread_mutex_unlock F
@@ -234,6 +234,7 @@  GLIBC_2.34 pthread_spin_unlock F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
+GLIBC_2.34 tss_get 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 68dead7f88..45e6151bba 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_get F
 GLIBC_2.28 tss_set F
 GLIBC_2.30 pthread_rwlock_clockrdlock F
 GLIBC_2.30 pthread_rwlock_clockwrlock F
diff --git a/sysdeps/unix/sysv/linux/csky/libc.abilist b/sysdeps/unix/sysv/linux/csky/libc.abilist
index a8ca179158..e42b58f8d6 100644
--- a/sysdeps/unix/sysv/linux/csky/libc.abilist
+++ b/sysdeps/unix/sysv/linux/csky/libc.abilist
@@ -1951,6 +1951,7 @@  GLIBC_2.29 truncate64 F
 GLIBC_2.29 tsearch F
 GLIBC_2.29 tss_create F
 GLIBC_2.29 tss_delete F
+GLIBC_2.29 tss_get F
 GLIBC_2.29 ttyname F
 GLIBC_2.29 ttyname_r F
 GLIBC_2.29 ttyslot F
@@ -2197,7 +2198,6 @@  GLIBC_2.33 stat F
 GLIBC_2.33 stat64 F
 GLIBC_2.34 __libc_start_main F
 GLIBC_2.34 __pthread_cleanup_routine F
-GLIBC_2.34 __pthread_getspecific F
 GLIBC_2.34 __pthread_key_create F
 GLIBC_2.34 __pthread_mutex_lock F
 GLIBC_2.34 __pthread_mutex_unlock F
@@ -2256,3 +2256,4 @@  GLIBC_2.34 pthread_spin_unlock F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
+GLIBC_2.34 tss_get F
diff --git a/sysdeps/unix/sysv/linux/csky/libpthread.abilist b/sysdeps/unix/sysv/linux/csky/libpthread.abilist
index 28194afa85..d8d06a9ec3 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_get F
 GLIBC_2.29 tss_set F
 GLIBC_2.30 pthread_rwlock_clockrdlock F
 GLIBC_2.30 pthread_rwlock_clockwrlock F
diff --git a/sysdeps/unix/sysv/linux/hppa/libc.abilist b/sysdeps/unix/sysv/linux/hppa/libc.abilist
index 01269fe8a0..7771295b65 100644
--- a/sysdeps/unix/sysv/linux/hppa/libc.abilist
+++ b/sysdeps/unix/sysv/linux/hppa/libc.abilist
@@ -1953,6 +1953,7 @@  GLIBC_2.28 thrd_sleep F
 GLIBC_2.28 thrd_yield F
 GLIBC_2.28 tss_create F
 GLIBC_2.28 tss_delete F
+GLIBC_2.28 tss_get 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
@@ -2148,7 +2149,6 @@  GLIBC_2.33 stat F
 GLIBC_2.33 stat64 F
 GLIBC_2.34 __libc_start_main F
 GLIBC_2.34 __pthread_cleanup_routine F
-GLIBC_2.34 __pthread_getspecific F
 GLIBC_2.34 __pthread_key_create F
 GLIBC_2.34 __pthread_mutex_lock F
 GLIBC_2.34 __pthread_mutex_unlock F
@@ -2207,6 +2207,7 @@  GLIBC_2.34 pthread_spin_unlock F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
+GLIBC_2.34 tss_get 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 9e3482ec98..9bd73db6fa 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_get F
 GLIBC_2.28 tss_set F
 GLIBC_2.3.2 __libpthread_version_placeholder F
 GLIBC_2.3.3 __pthread_register_cancel F
diff --git a/sysdeps/unix/sysv/linux/i386/libc.abilist b/sysdeps/unix/sysv/linux/i386/libc.abilist
index 49a2a54ad5..07da7f0bb8 100644
--- a/sysdeps/unix/sysv/linux/i386/libc.abilist
+++ b/sysdeps/unix/sysv/linux/i386/libc.abilist
@@ -2127,6 +2127,7 @@  GLIBC_2.28 thrd_sleep F
 GLIBC_2.28 thrd_yield F
 GLIBC_2.28 tss_create F
 GLIBC_2.28 tss_delete F
+GLIBC_2.28 tss_get 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
@@ -2325,7 +2326,6 @@  GLIBC_2.33 stat64 F
 GLIBC_2.34 __isnanf128 F
 GLIBC_2.34 __libc_start_main F
 GLIBC_2.34 __pthread_cleanup_routine F
-GLIBC_2.34 __pthread_getspecific F
 GLIBC_2.34 __pthread_key_create F
 GLIBC_2.34 __pthread_mutex_lock F
 GLIBC_2.34 __pthread_mutex_unlock F
@@ -2384,6 +2384,7 @@  GLIBC_2.34 pthread_spin_unlock F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
+GLIBC_2.34 tss_get 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 b3f7ef9fc9..52e697f27d 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_get F
 GLIBC_2.28 tss_set F
 GLIBC_2.3.2 __libpthread_version_placeholder F
 GLIBC_2.3.3 __pthread_register_cancel F
diff --git a/sysdeps/unix/sysv/linux/ia64/libc.abilist b/sysdeps/unix/sysv/linux/ia64/libc.abilist
index 100c49b62e..b7c9b9c360 100644
--- a/sysdeps/unix/sysv/linux/ia64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/ia64/libc.abilist
@@ -1988,6 +1988,7 @@  GLIBC_2.28 thrd_sleep F
 GLIBC_2.28 thrd_yield F
 GLIBC_2.28 tss_create F
 GLIBC_2.28 tss_delete F
+GLIBC_2.28 tss_get 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
@@ -2182,7 +2183,6 @@  GLIBC_2.33 stat64 F
 GLIBC_2.34 __isnanf128 F
 GLIBC_2.34 __libc_start_main F
 GLIBC_2.34 __pthread_cleanup_routine F
-GLIBC_2.34 __pthread_getspecific F
 GLIBC_2.34 __pthread_key_create F
 GLIBC_2.34 __pthread_mutex_lock F
 GLIBC_2.34 __pthread_mutex_unlock F
@@ -2241,6 +2241,7 @@  GLIBC_2.34 pthread_spin_unlock F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
+GLIBC_2.34 tss_get 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 d9275af39c..30c081b219 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_get F
 GLIBC_2.28 tss_set F
 GLIBC_2.3.2 __libpthread_version_placeholder F
 GLIBC_2.3.3 __pthread_register_cancel F
diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
index 97d08d7f17..042951b552 100644
--- a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
@@ -143,6 +143,7 @@  GLIBC_2.28 thrd_sleep F
 GLIBC_2.28 thrd_yield F
 GLIBC_2.28 tss_create F
 GLIBC_2.28 tss_delete F
+GLIBC_2.28 tss_get 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
@@ -179,7 +180,6 @@  GLIBC_2.33 stat F
 GLIBC_2.33 stat64 F
 GLIBC_2.34 __libc_start_main F
 GLIBC_2.34 __pthread_cleanup_routine F
-GLIBC_2.34 __pthread_getspecific F
 GLIBC_2.34 __pthread_key_create F
 GLIBC_2.34 __pthread_mutex_lock F
 GLIBC_2.34 __pthread_mutex_unlock F
@@ -238,6 +238,7 @@  GLIBC_2.34 pthread_spin_unlock F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
+GLIBC_2.34 tss_get 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 68dead7f88..45e6151bba 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_get F
 GLIBC_2.28 tss_set F
 GLIBC_2.30 pthread_rwlock_clockrdlock F
 GLIBC_2.30 pthread_rwlock_clockwrlock F
diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
index e198750419..78b3b976c8 100644
--- a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
@@ -2070,6 +2070,7 @@  GLIBC_2.28 thrd_sleep F
 GLIBC_2.28 thrd_yield F
 GLIBC_2.28 tss_create F
 GLIBC_2.28 tss_delete F
+GLIBC_2.28 tss_get 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
@@ -2268,7 +2269,6 @@  GLIBC_2.33 stat F
 GLIBC_2.33 stat64 F
 GLIBC_2.34 __libc_start_main F
 GLIBC_2.34 __pthread_cleanup_routine F
-GLIBC_2.34 __pthread_getspecific F
 GLIBC_2.34 __pthread_key_create F
 GLIBC_2.34 __pthread_mutex_lock F
 GLIBC_2.34 __pthread_mutex_unlock F
@@ -2327,6 +2327,7 @@  GLIBC_2.34 pthread_spin_unlock F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
+GLIBC_2.34 tss_get 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 b3f7ef9fc9..52e697f27d 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_get F
 GLIBC_2.28 tss_set F
 GLIBC_2.3.2 __libpthread_version_placeholder F
 GLIBC_2.3.3 __pthread_register_cancel F
diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
index 7ffe207da5..8dcc8af3c8 100644
--- a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
@@ -2212,6 +2212,7 @@  GLIBC_2.28 thrd_sleep F
 GLIBC_2.28 thrd_yield F
 GLIBC_2.28 tss_create F
 GLIBC_2.28 tss_delete F
+GLIBC_2.28 tss_get 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
@@ -2248,7 +2249,6 @@  GLIBC_2.33 stat F
 GLIBC_2.33 stat64 F
 GLIBC_2.34 __libc_start_main F
 GLIBC_2.34 __pthread_cleanup_routine F
-GLIBC_2.34 __pthread_getspecific F
 GLIBC_2.34 __pthread_key_create F
 GLIBC_2.34 __pthread_mutex_lock F
 GLIBC_2.34 __pthread_mutex_unlock F
@@ -2307,3 +2307,4 @@  GLIBC_2.34 pthread_spin_unlock F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
+GLIBC_2.34 tss_get F
diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
index 0f41086821..d57ecd3bec 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_get F
 GLIBC_2.28 tss_set F
 GLIBC_2.30 pthread_rwlock_clockrdlock F
 GLIBC_2.30 pthread_rwlock_clockwrlock F
diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
index 3be60ae963..b9b3bda375 100644
--- a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
@@ -2212,6 +2212,7 @@  GLIBC_2.28 thrd_sleep F
 GLIBC_2.28 thrd_yield F
 GLIBC_2.28 tss_create F
 GLIBC_2.28 tss_delete F
+GLIBC_2.28 tss_get 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
@@ -2245,7 +2246,6 @@  GLIBC_2.33 stat F
 GLIBC_2.33 stat64 F
 GLIBC_2.34 __libc_start_main F
 GLIBC_2.34 __pthread_cleanup_routine F
-GLIBC_2.34 __pthread_getspecific F
 GLIBC_2.34 __pthread_key_create F
 GLIBC_2.34 __pthread_mutex_lock F
 GLIBC_2.34 __pthread_mutex_unlock F
@@ -2304,3 +2304,4 @@  GLIBC_2.34 pthread_spin_unlock F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
+GLIBC_2.34 tss_get F
diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
index 0f41086821..d57ecd3bec 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_get F
 GLIBC_2.28 tss_set F
 GLIBC_2.30 pthread_rwlock_clockrdlock F
 GLIBC_2.30 pthread_rwlock_clockwrlock F
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
index 4ffeddcc09..90496e5a6f 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
@@ -2040,6 +2040,7 @@  GLIBC_2.28 thrd_sleep F
 GLIBC_2.28 thrd_yield F
 GLIBC_2.28 tss_create F
 GLIBC_2.28 tss_delete F
+GLIBC_2.28 tss_get 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
@@ -2231,7 +2232,6 @@  GLIBC_2.33 stat F
 GLIBC_2.33 stat64 F
 GLIBC_2.34 __libc_start_main F
 GLIBC_2.34 __pthread_cleanup_routine F
-GLIBC_2.34 __pthread_getspecific F
 GLIBC_2.34 __pthread_key_create F
 GLIBC_2.34 __pthread_mutex_lock F
 GLIBC_2.34 __pthread_mutex_unlock F
@@ -2290,6 +2290,7 @@  GLIBC_2.34 pthread_spin_unlock F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
+GLIBC_2.34 tss_get 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 d742b32191..3c3a1e5540 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_get F
 GLIBC_2.28 tss_set F
 GLIBC_2.3.2 __libpthread_version_placeholder F
 GLIBC_2.3.3 __pthread_register_cancel F
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
index cb5cc15e53..57fc1c073f 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
@@ -2038,6 +2038,7 @@  GLIBC_2.28 thrd_sleep F
 GLIBC_2.28 thrd_yield F
 GLIBC_2.28 tss_create F
 GLIBC_2.28 tss_delete F
+GLIBC_2.28 tss_get 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
@@ -2229,7 +2230,6 @@  GLIBC_2.33 stat F
 GLIBC_2.33 stat64 F
 GLIBC_2.34 __libc_start_main F
 GLIBC_2.34 __pthread_cleanup_routine F
-GLIBC_2.34 __pthread_getspecific F
 GLIBC_2.34 __pthread_key_create F
 GLIBC_2.34 __pthread_mutex_lock F
 GLIBC_2.34 __pthread_mutex_unlock F
@@ -2288,6 +2288,7 @@  GLIBC_2.34 pthread_spin_unlock F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
+GLIBC_2.34 tss_get 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 d742b32191..3c3a1e5540 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_get F
 GLIBC_2.28 tss_set F
 GLIBC_2.3.2 __libpthread_version_placeholder F
 GLIBC_2.3.3 __pthread_register_cancel F
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
index b798a93b4b..8fe30c4d18 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
@@ -2046,6 +2046,7 @@  GLIBC_2.28 thrd_sleep F
 GLIBC_2.28 thrd_yield F
 GLIBC_2.28 tss_create F
 GLIBC_2.28 tss_delete F
+GLIBC_2.28 tss_get 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,7 +2238,6 @@  GLIBC_2.33 stat F
 GLIBC_2.33 stat64 F
 GLIBC_2.34 __libc_start_main F
 GLIBC_2.34 __pthread_cleanup_routine F
-GLIBC_2.34 __pthread_getspecific F
 GLIBC_2.34 __pthread_key_create F
 GLIBC_2.34 __pthread_mutex_lock F
 GLIBC_2.34 __pthread_mutex_unlock F
@@ -2296,6 +2296,7 @@  GLIBC_2.34 pthread_spin_unlock F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
+GLIBC_2.34 tss_get 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 7adef927a3..1950c16ee4 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
@@ -2041,6 +2041,7 @@  GLIBC_2.28 thrd_sleep F
 GLIBC_2.28 thrd_yield F
 GLIBC_2.28 tss_create F
 GLIBC_2.28 tss_delete F
+GLIBC_2.28 tss_get 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
@@ -2231,7 +2232,6 @@  GLIBC_2.33 stat F
 GLIBC_2.33 stat64 F
 GLIBC_2.34 __libc_start_main F
 GLIBC_2.34 __pthread_cleanup_routine F
-GLIBC_2.34 __pthread_getspecific F
 GLIBC_2.34 __pthread_key_create F
 GLIBC_2.34 __pthread_mutex_lock F
 GLIBC_2.34 __pthread_mutex_unlock F
@@ -2290,6 +2290,7 @@  GLIBC_2.34 pthread_spin_unlock F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
+GLIBC_2.34 tss_get 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 198632d640..95af15367b 100644
--- a/sysdeps/unix/sysv/linux/nios2/libc.abilist
+++ b/sysdeps/unix/sysv/linux/nios2/libc.abilist
@@ -2254,6 +2254,7 @@  GLIBC_2.28 thrd_sleep F
 GLIBC_2.28 thrd_yield F
 GLIBC_2.28 tss_create F
 GLIBC_2.28 tss_delete F
+GLIBC_2.28 tss_get 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
@@ -2287,7 +2288,6 @@  GLIBC_2.33 stat F
 GLIBC_2.33 stat64 F
 GLIBC_2.34 __libc_start_main F
 GLIBC_2.34 __pthread_cleanup_routine F
-GLIBC_2.34 __pthread_getspecific F
 GLIBC_2.34 __pthread_key_create F
 GLIBC_2.34 __pthread_mutex_lock F
 GLIBC_2.34 __pthread_mutex_unlock F
@@ -2346,3 +2346,4 @@  GLIBC_2.34 pthread_spin_unlock F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
+GLIBC_2.34 tss_get F
diff --git a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
index 8468ce7b9c..fdf7ebbfa9 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_get F
 GLIBC_2.28 tss_set F
 GLIBC_2.30 pthread_rwlock_clockrdlock F
 GLIBC_2.30 pthread_rwlock_clockwrlock F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
index 0b9534bea8..ad916e3599 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
@@ -2074,6 +2074,7 @@  GLIBC_2.28 thrd_sleep F
 GLIBC_2.28 thrd_yield F
 GLIBC_2.28 tss_create F
 GLIBC_2.28 tss_delete F
+GLIBC_2.28 tss_get 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
@@ -2295,7 +2296,6 @@  GLIBC_2.33 stat F
 GLIBC_2.33 stat64 F
 GLIBC_2.34 __libc_start_main F
 GLIBC_2.34 __pthread_cleanup_routine F
-GLIBC_2.34 __pthread_getspecific F
 GLIBC_2.34 __pthread_key_create F
 GLIBC_2.34 __pthread_mutex_lock F
 GLIBC_2.34 __pthread_mutex_unlock F
@@ -2354,6 +2354,7 @@  GLIBC_2.34 pthread_spin_unlock F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
+GLIBC_2.34 tss_get 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 e25f7c6cd0..cccea1d79c 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_get F
 GLIBC_2.28 tss_set F
 GLIBC_2.3.2 __libpthread_version_placeholder F
 GLIBC_2.3.3 __pthread_register_cancel F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
index 1c5354b98c..72b9b70208 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
@@ -2078,6 +2078,7 @@  GLIBC_2.28 thrd_sleep F
 GLIBC_2.28 thrd_yield F
 GLIBC_2.28 tss_create F
 GLIBC_2.28 tss_delete F
+GLIBC_2.28 tss_get 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
@@ -2328,7 +2329,6 @@  GLIBC_2.33 stat F
 GLIBC_2.33 stat64 F
 GLIBC_2.34 __libc_start_main F
 GLIBC_2.34 __pthread_cleanup_routine F
-GLIBC_2.34 __pthread_getspecific F
 GLIBC_2.34 __pthread_key_create F
 GLIBC_2.34 __pthread_mutex_lock F
 GLIBC_2.34 __pthread_mutex_unlock F
@@ -2387,6 +2387,7 @@  GLIBC_2.34 pthread_spin_unlock F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
+GLIBC_2.34 tss_get 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 450d15ac66..32f77e9b88 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
@@ -142,6 +142,7 @@  GLIBC_2.28 thrd_sleep F
 GLIBC_2.28 thrd_yield F
 GLIBC_2.28 tss_create F
 GLIBC_2.28 tss_delete F
+GLIBC_2.28 tss_get 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
@@ -2149,7 +2150,6 @@  GLIBC_2.33 stat F
 GLIBC_2.33 stat64 F
 GLIBC_2.34 __libc_start_main F
 GLIBC_2.34 __pthread_cleanup_routine F
-GLIBC_2.34 __pthread_getspecific F
 GLIBC_2.34 __pthread_key_create F
 GLIBC_2.34 __pthread_mutex_lock F
 GLIBC_2.34 __pthread_mutex_unlock F
@@ -2208,6 +2208,7 @@  GLIBC_2.34 pthread_spin_unlock F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
+GLIBC_2.34 tss_get 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 58adcb0736..a6b2357141 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_get F
 GLIBC_2.28 tss_set F
 GLIBC_2.3 _IO_flockfile F
 GLIBC_2.3 _IO_ftrylockfile F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
index 573fbb8680..4b552c13a7 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
@@ -2311,6 +2311,7 @@  GLIBC_2.28 thrd_sleep F
 GLIBC_2.28 thrd_yield F
 GLIBC_2.28 tss_create F
 GLIBC_2.28 tss_delete F
+GLIBC_2.28 tss_get 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
@@ -2450,7 +2451,6 @@  GLIBC_2.33 stat64 F
 GLIBC_2.34 __isnanf128 F
 GLIBC_2.34 __libc_start_main F
 GLIBC_2.34 __pthread_cleanup_routine F
-GLIBC_2.34 __pthread_getspecific F
 GLIBC_2.34 __pthread_key_create F
 GLIBC_2.34 __pthread_mutex_lock F
 GLIBC_2.34 __pthread_mutex_unlock F
@@ -2509,3 +2509,4 @@  GLIBC_2.34 pthread_spin_unlock F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
+GLIBC_2.34 tss_get F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
index de3b4fb61b..3408697ac1 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_get F
 GLIBC_2.28 tss_set F
 GLIBC_2.30 pthread_rwlock_clockrdlock F
 GLIBC_2.30 pthread_rwlock_clockwrlock F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
index 1a6e26fdae..c55b18032e 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
@@ -1867,6 +1867,7 @@  GLIBC_2.33 truncate64 F
 GLIBC_2.33 tsearch F
 GLIBC_2.33 tss_create F
 GLIBC_2.33 tss_delete F
+GLIBC_2.33 tss_get F
 GLIBC_2.33 ttyname F
 GLIBC_2.33 ttyname_r F
 GLIBC_2.33 ttyslot F
@@ -2015,7 +2016,6 @@  GLIBC_2.33 writev F
 GLIBC_2.33 wscanf F
 GLIBC_2.34 __libc_start_main F
 GLIBC_2.34 __pthread_cleanup_routine F
-GLIBC_2.34 __pthread_getspecific F
 GLIBC_2.34 __pthread_key_create F
 GLIBC_2.34 __pthread_mutex_lock F
 GLIBC_2.34 __pthread_mutex_unlock F
@@ -2074,3 +2074,4 @@  GLIBC_2.34 pthread_spin_unlock F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
+GLIBC_2.34 tss_get F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
index 9490e140db..6755efa8cb 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
@@ -76,5 +76,4 @@  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_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 3445071ba5..84f0aa9ddb 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
@@ -2182,6 +2182,7 @@  GLIBC_2.28 thrd_sleep F
 GLIBC_2.28 thrd_yield F
 GLIBC_2.28 tss_create F
 GLIBC_2.28 tss_delete F
+GLIBC_2.28 tss_get 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
@@ -2215,7 +2216,6 @@  GLIBC_2.33 stat F
 GLIBC_2.33 stat64 F
 GLIBC_2.34 __libc_start_main F
 GLIBC_2.34 __pthread_cleanup_routine F
-GLIBC_2.34 __pthread_getspecific F
 GLIBC_2.34 __pthread_key_create F
 GLIBC_2.34 __pthread_mutex_lock F
 GLIBC_2.34 __pthread_mutex_unlock F
@@ -2274,3 +2274,4 @@  GLIBC_2.34 pthread_spin_unlock F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
+GLIBC_2.34 tss_get F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
index 9639c2e8bf..77bf50b3c5 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_get F
 GLIBC_2.28 tss_set F
 GLIBC_2.30 pthread_rwlock_clockrdlock F
 GLIBC_2.30 pthread_rwlock_clockwrlock F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
index 49e80b77dd..38ea2a7978 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
@@ -2083,6 +2083,7 @@  GLIBC_2.28 thrd_sleep F
 GLIBC_2.28 thrd_yield F
 GLIBC_2.28 tss_create F
 GLIBC_2.28 tss_delete F
+GLIBC_2.28 tss_get 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
@@ -2293,7 +2294,6 @@  GLIBC_2.33 stat F
 GLIBC_2.33 stat64 F
 GLIBC_2.34 __libc_start_main F
 GLIBC_2.34 __pthread_cleanup_routine F
-GLIBC_2.34 __pthread_getspecific F
 GLIBC_2.34 __pthread_key_create F
 GLIBC_2.34 __pthread_mutex_lock F
 GLIBC_2.34 __pthread_mutex_unlock F
@@ -2352,6 +2352,7 @@  GLIBC_2.34 pthread_spin_unlock F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
+GLIBC_2.34 tss_get 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 0db413f623..cf2d781c97 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_get F
 GLIBC_2.28 tss_set F
 GLIBC_2.3.2 __libpthread_version_placeholder F
 GLIBC_2.3.3 __pthread_register_cancel F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
index e9464eeb0e..efaed9f5d0 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
@@ -1980,6 +1980,7 @@  GLIBC_2.28 thrd_sleep F
 GLIBC_2.28 thrd_yield F
 GLIBC_2.28 tss_create F
 GLIBC_2.28 tss_delete F
+GLIBC_2.28 tss_get F
 GLIBC_2.29 __fentry__ F
 GLIBC_2.29 getcpu F
 GLIBC_2.29 posix_spawn_file_actions_addchdir_np F
@@ -2186,7 +2187,6 @@  GLIBC_2.33 stat F
 GLIBC_2.33 stat64 F
 GLIBC_2.34 __libc_start_main F
 GLIBC_2.34 __pthread_cleanup_routine F
-GLIBC_2.34 __pthread_getspecific F
 GLIBC_2.34 __pthread_key_create F
 GLIBC_2.34 __pthread_mutex_lock F
 GLIBC_2.34 __pthread_mutex_unlock F
@@ -2245,6 +2245,7 @@  GLIBC_2.34 pthread_spin_unlock F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
+GLIBC_2.34 tss_get 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 236803430d..b3ec48c222 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_get F
 GLIBC_2.28 tss_set F
 GLIBC_2.3.2 __libpthread_version_placeholder F
 GLIBC_2.3.3 __pthread_register_cancel F
diff --git a/sysdeps/unix/sysv/linux/sh/be/libc.abilist b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
index 6ff970ac15..7fda32fd9d 100644
--- a/sysdeps/unix/sysv/linux/sh/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
@@ -1957,6 +1957,7 @@  GLIBC_2.28 thrd_sleep F
 GLIBC_2.28 thrd_yield F
 GLIBC_2.28 tss_create F
 GLIBC_2.28 tss_delete F
+GLIBC_2.28 tss_get 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
@@ -2155,7 +2156,6 @@  GLIBC_2.33 stat F
 GLIBC_2.33 stat64 F
 GLIBC_2.34 __libc_start_main F
 GLIBC_2.34 __pthread_cleanup_routine F
-GLIBC_2.34 __pthread_getspecific F
 GLIBC_2.34 __pthread_key_create F
 GLIBC_2.34 __pthread_mutex_lock F
 GLIBC_2.34 __pthread_mutex_unlock F
@@ -2214,6 +2214,7 @@  GLIBC_2.34 pthread_spin_unlock F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
+GLIBC_2.34 tss_get 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 9e3482ec98..9bd73db6fa 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_get F
 GLIBC_2.28 tss_set F
 GLIBC_2.3.2 __libpthread_version_placeholder F
 GLIBC_2.3.3 __pthread_register_cancel F
diff --git a/sysdeps/unix/sysv/linux/sh/le/libc.abilist b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
index a96e00c5ad..261188d612 100644
--- a/sysdeps/unix/sysv/linux/sh/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
@@ -1957,6 +1957,7 @@  GLIBC_2.28 thrd_sleep F
 GLIBC_2.28 thrd_yield F
 GLIBC_2.28 tss_create F
 GLIBC_2.28 tss_delete F
+GLIBC_2.28 tss_get 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
@@ -2152,7 +2153,6 @@  GLIBC_2.33 stat F
 GLIBC_2.33 stat64 F
 GLIBC_2.34 __libc_start_main F
 GLIBC_2.34 __pthread_cleanup_routine F
-GLIBC_2.34 __pthread_getspecific F
 GLIBC_2.34 __pthread_key_create F
 GLIBC_2.34 __pthread_mutex_lock F
 GLIBC_2.34 __pthread_mutex_unlock F
@@ -2211,6 +2211,7 @@  GLIBC_2.34 pthread_spin_unlock F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
+GLIBC_2.34 tss_get 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 9e3482ec98..9bd73db6fa 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_get F
 GLIBC_2.28 tss_set F
 GLIBC_2.3.2 __libpthread_version_placeholder F
 GLIBC_2.3.3 __pthread_register_cancel F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
index e4651dfd63..98026922b3 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
@@ -2077,6 +2077,7 @@  GLIBC_2.28 thrd_sleep F
 GLIBC_2.28 thrd_yield F
 GLIBC_2.28 tss_create F
 GLIBC_2.28 tss_delete F
+GLIBC_2.28 tss_get 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,7 +2285,6 @@  GLIBC_2.33 stat F
 GLIBC_2.33 stat64 F
 GLIBC_2.34 __libc_start_main F
 GLIBC_2.34 __pthread_cleanup_routine F
-GLIBC_2.34 __pthread_getspecific F
 GLIBC_2.34 __pthread_key_create F
 GLIBC_2.34 __pthread_mutex_lock F
 GLIBC_2.34 __pthread_mutex_unlock F
@@ -2343,6 +2343,7 @@  GLIBC_2.34 pthread_spin_unlock F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
+GLIBC_2.34 tss_get 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 c9e8450c69..f6871dd45e 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_get F
 GLIBC_2.28 tss_set F
 GLIBC_2.3.2 __libpthread_version_placeholder F
 GLIBC_2.3.3 __pthread_register_cancel F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
index aae58b0576..cbe0479a38 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
@@ -2010,6 +2010,7 @@  GLIBC_2.28 thrd_sleep F
 GLIBC_2.28 thrd_yield F
 GLIBC_2.28 tss_create F
 GLIBC_2.28 tss_delete F
+GLIBC_2.28 tss_get 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,7 +2204,6 @@  GLIBC_2.33 stat F
 GLIBC_2.33 stat64 F
 GLIBC_2.34 __libc_start_main F
 GLIBC_2.34 __pthread_cleanup_routine F
-GLIBC_2.34 __pthread_getspecific F
 GLIBC_2.34 __pthread_key_create F
 GLIBC_2.34 __pthread_mutex_lock F
 GLIBC_2.34 __pthread_mutex_unlock F
@@ -2262,6 +2262,7 @@  GLIBC_2.34 pthread_spin_unlock F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
+GLIBC_2.34 tss_get 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 d9275af39c..30c081b219 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_get F
 GLIBC_2.28 tss_set F
 GLIBC_2.3.2 __libpthread_version_placeholder F
 GLIBC_2.3.3 __pthread_register_cancel F
diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
index 8026e01b61..5adbbd5a88 100644
--- a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
@@ -1969,6 +1969,7 @@  GLIBC_2.28 thrd_sleep F
 GLIBC_2.28 thrd_yield F
 GLIBC_2.28 tss_create F
 GLIBC_2.28 tss_delete F
+GLIBC_2.28 tss_get 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
@@ -2164,7 +2165,6 @@  GLIBC_2.33 stat64 F
 GLIBC_2.34 __isnanf128 F
 GLIBC_2.34 __libc_start_main F
 GLIBC_2.34 __pthread_cleanup_routine F
-GLIBC_2.34 __pthread_getspecific F
 GLIBC_2.34 __pthread_key_create F
 GLIBC_2.34 __pthread_mutex_lock F
 GLIBC_2.34 __pthread_mutex_unlock F
@@ -2223,6 +2223,7 @@  GLIBC_2.34 pthread_spin_unlock F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
+GLIBC_2.34 tss_get 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 671698e609..1b9c4c063e 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_get F
 GLIBC_2.28 tss_set F
 GLIBC_2.3.2 __libpthread_version_placeholder F
 GLIBC_2.3.3 __pthread_register_cancel F
diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
index 1d2154fee4..b09e8145f4 100644
--- a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
@@ -2234,6 +2234,7 @@  GLIBC_2.28 thrd_sleep F
 GLIBC_2.28 thrd_yield F
 GLIBC_2.28 tss_create F
 GLIBC_2.28 tss_delete F
+GLIBC_2.28 tss_get 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
@@ -2269,7 +2270,6 @@  GLIBC_2.33 stat64 F
 GLIBC_2.34 __isnanf128 F
 GLIBC_2.34 __libc_start_main F
 GLIBC_2.34 __pthread_cleanup_routine F
-GLIBC_2.34 __pthread_getspecific F
 GLIBC_2.34 __pthread_key_create F
 GLIBC_2.34 __pthread_mutex_lock F
 GLIBC_2.34 __pthread_mutex_unlock F
@@ -2328,3 +2328,4 @@  GLIBC_2.34 pthread_spin_unlock F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
+GLIBC_2.34 tss_get F
diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
index 7e44ebfcc3..7518cf95fe 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_get F
 GLIBC_2.28 tss_set F
 GLIBC_2.30 pthread_rwlock_clockrdlock F
 GLIBC_2.30 pthread_rwlock_clockwrlock F