[01/11] nptl: Move pthread_testcancel into libc

Message ID a7d9a4890b924449702c6d22f7b254399add7de9.1620049437.git.fweimer@redhat.com
State Superseded
Headers show
Series
  • nptl: Move semaphore functions into libc
Related show

Commit Message

Adhemerval Zanella via Libc-alpha May 3, 2021, 1:51 p.m.
The symbol was moved using scripts/move-symbol-to-libc.py.

A temporary __pthread_testcancel@@GLIBC_PRIVATE export is created
because it is needed by the semaphore implementation.
---
 nptl/Makefile                                      |  2 +-
 nptl/Versions                                      |  4 +++-
 nptl/pthreadP.h                                    |  2 +-
 nptl/pthread_testcancel.c                          | 14 ++++++++++----
 sysdeps/unix/sysv/linux/aarch64/libc.abilist       |  2 ++
 sysdeps/unix/sysv/linux/aarch64/libpthread.abilist |  1 -
 sysdeps/unix/sysv/linux/alpha/libc.abilist         |  2 ++
 sysdeps/unix/sysv/linux/alpha/libpthread.abilist   |  1 -
 sysdeps/unix/sysv/linux/arc/libc.abilist           |  2 ++
 sysdeps/unix/sysv/linux/arc/libpthread.abilist     |  1 -
 sysdeps/unix/sysv/linux/arm/be/libc.abilist        |  2 ++
 sysdeps/unix/sysv/linux/arm/be/libpthread.abilist  |  1 -
 sysdeps/unix/sysv/linux/arm/le/libc.abilist        |  2 ++
 sysdeps/unix/sysv/linux/arm/le/libpthread.abilist  |  1 -
 sysdeps/unix/sysv/linux/csky/libc.abilist          |  2 ++
 sysdeps/unix/sysv/linux/csky/libpthread.abilist    |  1 -
 sysdeps/unix/sysv/linux/hppa/libc.abilist          |  2 ++
 sysdeps/unix/sysv/linux/hppa/libpthread.abilist    |  1 -
 sysdeps/unix/sysv/linux/i386/libc.abilist          |  2 ++
 sysdeps/unix/sysv/linux/i386/libpthread.abilist    |  1 -
 sysdeps/unix/sysv/linux/ia64/libc.abilist          |  2 ++
 sysdeps/unix/sysv/linux/ia64/libpthread.abilist    |  1 -
 sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist |  2 ++
 .../sysv/linux/m68k/coldfire/libpthread.abilist    |  1 -
 sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist   |  2 ++
 .../unix/sysv/linux/m68k/m680x0/libpthread.abilist |  1 -
 sysdeps/unix/sysv/linux/microblaze/be/libc.abilist |  2 ++
 .../sysv/linux/microblaze/be/libpthread.abilist    |  1 -
 sysdeps/unix/sysv/linux/microblaze/le/libc.abilist |  2 ++
 .../sysv/linux/microblaze/le/libpthread.abilist    |  1 -
 .../unix/sysv/linux/mips/mips32/fpu/libc.abilist   |  2 ++
 .../unix/sysv/linux/mips/mips32/libpthread.abilist |  1 -
 .../unix/sysv/linux/mips/mips32/nofpu/libc.abilist |  2 ++
 .../unix/sysv/linux/mips/mips64/libpthread.abilist |  1 -
 .../unix/sysv/linux/mips/mips64/n32/libc.abilist   |  2 ++
 .../unix/sysv/linux/mips/mips64/n64/libc.abilist   |  2 ++
 sysdeps/unix/sysv/linux/nios2/libc.abilist         |  2 ++
 sysdeps/unix/sysv/linux/nios2/libpthread.abilist   |  1 -
 .../sysv/linux/powerpc/powerpc32/fpu/libc.abilist  |  2 ++
 .../linux/powerpc/powerpc32/libpthread.abilist     |  1 -
 .../linux/powerpc/powerpc32/nofpu/libc.abilist     |  2 ++
 .../sysv/linux/powerpc/powerpc64/be/libc.abilist   |  2 ++
 .../linux/powerpc/powerpc64/be/libpthread.abilist  |  1 -
 .../sysv/linux/powerpc/powerpc64/le/libc.abilist   |  2 ++
 .../linux/powerpc/powerpc64/le/libpthread.abilist  |  1 -
 sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist    |  2 ++
 .../unix/sysv/linux/riscv/rv32/libpthread.abilist  |  1 -
 sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist    |  2 ++
 .../unix/sysv/linux/riscv/rv64/libpthread.abilist  |  1 -
 sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist  |  2 ++
 .../sysv/linux/s390/s390-32/libpthread.abilist     |  1 -
 sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist  |  2 ++
 .../sysv/linux/s390/s390-64/libpthread.abilist     |  1 -
 sysdeps/unix/sysv/linux/sh/be/libc.abilist         |  2 ++
 sysdeps/unix/sysv/linux/sh/be/libpthread.abilist   |  1 -
 sysdeps/unix/sysv/linux/sh/le/libc.abilist         |  2 ++
 sysdeps/unix/sysv/linux/sh/le/libpthread.abilist   |  1 -
 sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist |  2 ++
 .../sysv/linux/sparc/sparc32/libpthread.abilist    |  1 -
 sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist |  2 ++
 .../sysv/linux/sparc/sparc64/libpthread.abilist    |  1 -
 sysdeps/unix/sysv/linux/x86_64/64/libc.abilist     |  2 ++
 .../unix/sysv/linux/x86_64/64/libpthread.abilist   |  1 -
 sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist    |  2 ++
 .../unix/sysv/linux/x86_64/x32/libpthread.abilist  |  1 -
 65 files changed, 79 insertions(+), 36 deletions(-)

-- 
2.30.2

Comments

Adhemerval Zanella via Libc-alpha May 5, 2021, 2:16 p.m. | #1
On 03/05/2021 10:51, Florian Weimer via Libc-alpha wrote:
> The symbol was moved using scripts/move-symbol-to-libc.py.

> 

> A temporary __pthread_testcancel@@GLIBC_PRIVATE export is created

> because it is needed by the semaphore implementation.


LGTM, thanks.

Reviewed-by: Adhemerval Zanella  <adhemerval.zanella@linaro.org>


> ---

>  nptl/Makefile                                      |  2 +-

>  nptl/Versions                                      |  4 +++-

>  nptl/pthreadP.h                                    |  2 +-

>  nptl/pthread_testcancel.c                          | 14 ++++++++++----

>  sysdeps/unix/sysv/linux/aarch64/libc.abilist       |  2 ++

>  sysdeps/unix/sysv/linux/aarch64/libpthread.abilist |  1 -

>  sysdeps/unix/sysv/linux/alpha/libc.abilist         |  2 ++

>  sysdeps/unix/sysv/linux/alpha/libpthread.abilist   |  1 -

>  sysdeps/unix/sysv/linux/arc/libc.abilist           |  2 ++

>  sysdeps/unix/sysv/linux/arc/libpthread.abilist     |  1 -

>  sysdeps/unix/sysv/linux/arm/be/libc.abilist        |  2 ++

>  sysdeps/unix/sysv/linux/arm/be/libpthread.abilist  |  1 -

>  sysdeps/unix/sysv/linux/arm/le/libc.abilist        |  2 ++

>  sysdeps/unix/sysv/linux/arm/le/libpthread.abilist  |  1 -

>  sysdeps/unix/sysv/linux/csky/libc.abilist          |  2 ++

>  sysdeps/unix/sysv/linux/csky/libpthread.abilist    |  1 -

>  sysdeps/unix/sysv/linux/hppa/libc.abilist          |  2 ++

>  sysdeps/unix/sysv/linux/hppa/libpthread.abilist    |  1 -

>  sysdeps/unix/sysv/linux/i386/libc.abilist          |  2 ++

>  sysdeps/unix/sysv/linux/i386/libpthread.abilist    |  1 -

>  sysdeps/unix/sysv/linux/ia64/libc.abilist          |  2 ++

>  sysdeps/unix/sysv/linux/ia64/libpthread.abilist    |  1 -

>  sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist |  2 ++

>  .../sysv/linux/m68k/coldfire/libpthread.abilist    |  1 -

>  sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist   |  2 ++

>  .../unix/sysv/linux/m68k/m680x0/libpthread.abilist |  1 -

>  sysdeps/unix/sysv/linux/microblaze/be/libc.abilist |  2 ++

>  .../sysv/linux/microblaze/be/libpthread.abilist    |  1 -

>  sysdeps/unix/sysv/linux/microblaze/le/libc.abilist |  2 ++

>  .../sysv/linux/microblaze/le/libpthread.abilist    |  1 -

>  .../unix/sysv/linux/mips/mips32/fpu/libc.abilist   |  2 ++

>  .../unix/sysv/linux/mips/mips32/libpthread.abilist |  1 -

>  .../unix/sysv/linux/mips/mips32/nofpu/libc.abilist |  2 ++

>  .../unix/sysv/linux/mips/mips64/libpthread.abilist |  1 -

>  .../unix/sysv/linux/mips/mips64/n32/libc.abilist   |  2 ++

>  .../unix/sysv/linux/mips/mips64/n64/libc.abilist   |  2 ++

>  sysdeps/unix/sysv/linux/nios2/libc.abilist         |  2 ++

>  sysdeps/unix/sysv/linux/nios2/libpthread.abilist   |  1 -

>  .../sysv/linux/powerpc/powerpc32/fpu/libc.abilist  |  2 ++

>  .../linux/powerpc/powerpc32/libpthread.abilist     |  1 -

>  .../linux/powerpc/powerpc32/nofpu/libc.abilist     |  2 ++

>  .../sysv/linux/powerpc/powerpc64/be/libc.abilist   |  2 ++

>  .../linux/powerpc/powerpc64/be/libpthread.abilist  |  1 -

>  .../sysv/linux/powerpc/powerpc64/le/libc.abilist   |  2 ++

>  .../linux/powerpc/powerpc64/le/libpthread.abilist  |  1 -

>  sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist    |  2 ++

>  .../unix/sysv/linux/riscv/rv32/libpthread.abilist  |  1 -

>  sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist    |  2 ++

>  .../unix/sysv/linux/riscv/rv64/libpthread.abilist  |  1 -

>  sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist  |  2 ++

>  .../sysv/linux/s390/s390-32/libpthread.abilist     |  1 -

>  sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist  |  2 ++

>  .../sysv/linux/s390/s390-64/libpthread.abilist     |  1 -

>  sysdeps/unix/sysv/linux/sh/be/libc.abilist         |  2 ++

>  sysdeps/unix/sysv/linux/sh/be/libpthread.abilist   |  1 -

>  sysdeps/unix/sysv/linux/sh/le/libc.abilist         |  2 ++

>  sysdeps/unix/sysv/linux/sh/le/libpthread.abilist   |  1 -

>  sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist |  2 ++

>  .../sysv/linux/sparc/sparc32/libpthread.abilist    |  1 -

>  sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist |  2 ++

>  .../sysv/linux/sparc/sparc64/libpthread.abilist    |  1 -

>  sysdeps/unix/sysv/linux/x86_64/64/libc.abilist     |  2 ++

>  .../unix/sysv/linux/x86_64/64/libpthread.abilist   |  1 -

>  sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist    |  2 ++

>  .../unix/sysv/linux/x86_64/x32/libpthread.abilist  |  1 -

>  65 files changed, 79 insertions(+), 36 deletions(-)

> 

> diff --git a/nptl/Makefile b/nptl/Makefile

> index 38f2715c2c..884cb69bb4 100644

> --- a/nptl/Makefile

> +++ b/nptl/Makefile

> @@ -148,6 +148,7 @@ routines = \

>    pthread_spin_lock \

>    pthread_spin_trylock \

>    pthread_spin_unlock \

> +  pthread_testcancel \

>    pthread_yield \

>    tpp \

>    unwind \

> @@ -199,7 +200,6 @@ libpthread-routines = \

>    pthread_setname \

>    pthread_setschedprio \

>    pthread_sigqueue \

> -  pthread_testcancel \

>    pthread_timedjoin \

>    pthread_tryjoin \

>    sem_clockwait \

> diff --git a/nptl/Versions b/nptl/Versions

> index 0914630be3..ce09c73727 100644

> --- a/nptl/Versions

> +++ b/nptl/Versions

> @@ -61,6 +61,7 @@ libc {

>      pthread_setschedparam;

>      pthread_setspecific;

>      pthread_sigmask;

> +    pthread_testcancel;

>    }

>    GLIBC_2.1 {

>      pthread_attr_init;

> @@ -245,6 +246,7 @@ libc {

>      pthread_spin_lock;

>      pthread_spin_trylock;

>      pthread_spin_unlock;

> +    pthread_testcancel;

>      thrd_exit;

>      tss_create;

>      tss_delete;

> @@ -284,6 +286,7 @@ libc {

>      __pthread_keys;

>      __pthread_mutex_unlock_usercnt;

>      __pthread_setcancelstate;

> +    __pthread_testcancel;

>      __pthread_tpp_change_priority;

>      __pthread_unwind;

>      __sched_fifo_max_prio;

> @@ -307,7 +310,6 @@ libpthread {

>      pthread_detach;

>      pthread_join;

>      pthread_sigmask;

> -    pthread_testcancel;

>      sem_destroy;

>      sem_getvalue;

>      sem_init;

> diff --git a/nptl/pthreadP.h b/nptl/pthreadP.h

> index 00d2cfe764..ee77928fc7 100644

> --- a/nptl/pthreadP.h

> +++ b/nptl/pthreadP.h

> @@ -572,6 +572,7 @@ libc_hidden_proto (__pthread_setcanceltype)

>  extern int __pthread_enable_asynccancel (void) attribute_hidden;

>  extern void __pthread_disable_asynccancel (int oldtype) attribute_hidden;

>  extern void __pthread_testcancel (void);

> +libc_hidden_proto (__pthread_testcancel)

>  extern int __pthread_clockjoin_ex (pthread_t, void **, clockid_t,

>  				   const struct __timespec64 *, bool)

>    attribute_hidden;

> @@ -581,7 +582,6 @@ libc_hidden_proto (__pthread_sigmask);

>  

>  #if IS_IN (libpthread)

>  hidden_proto (__pthread_rwlock_unlock)

> -hidden_proto (__pthread_testcancel)

>  #endif

>  

>  extern int __pthread_cond_broadcast_2_0 (pthread_cond_2_0_t *cond);

> diff --git a/nptl/pthread_testcancel.c b/nptl/pthread_testcancel.c

> index 8ed2370afa..a9e941ddb7 100644

> --- a/nptl/pthread_testcancel.c

> +++ b/nptl/pthread_testcancel.c

> @@ -18,12 +18,18 @@

>  

>  #include <stdlib.h>

>  #include "pthreadP.h"

> -

> +#include <shlib-compat.h>

>  

>  void

> -__pthread_testcancel (void)

> +___pthread_testcancel (void)

>  {

>    CANCELLATION_P (THREAD_SELF);

>  }

> -strong_alias (__pthread_testcancel, pthread_testcancel)

> -hidden_def (__pthread_testcancel)

> +versioned_symbol (libc, ___pthread_testcancel, pthread_testcancel, GLIBC_2_34);

> +versioned_symbol (libc, ___pthread_testcancel, __pthread_testcancel,

> +                  GLIBC_PRIVATE);

> +libc_hidden_ver (___pthread_testcancel, __pthread_testcancel)

> +

> +#if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_0, GLIBC_2_34)

> +compat_symbol (libc, ___pthread_testcancel, pthread_testcancel, GLIBC_2_0);

> +#endif

> diff --git a/sysdeps/unix/sysv/linux/aarch64/libc.abilist b/sysdeps/unix/sysv/linux/aarch64/libc.abilist

> index aad440cc6a..5dfea47ebf 100644

> --- a/sysdeps/unix/sysv/linux/aarch64/libc.abilist

> +++ b/sysdeps/unix/sysv/linux/aarch64/libc.abilist

> @@ -1530,6 +1530,7 @@ GLIBC_2.17 pthread_spin_init F

>  GLIBC_2.17 pthread_spin_lock F

>  GLIBC_2.17 pthread_spin_trylock F

>  GLIBC_2.17 pthread_spin_unlock F

> +GLIBC_2.17 pthread_testcancel F

>  GLIBC_2.17 pthread_yield F

>  GLIBC_2.17 ptrace F

>  GLIBC_2.17 ptsname F

> @@ -2343,6 +2344,7 @@ GLIBC_2.34 pthread_spin_init F

>  GLIBC_2.34 pthread_spin_lock F

>  GLIBC_2.34 pthread_spin_trylock F

>  GLIBC_2.34 pthread_spin_unlock F

> +GLIBC_2.34 pthread_testcancel F

>  GLIBC_2.34 thrd_exit F

>  GLIBC_2.34 tss_create F

>  GLIBC_2.34 tss_delete F

> diff --git a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist

> index c1f11e12df..839f2ff64a 100644

> --- a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist

> +++ b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist

> @@ -37,7 +37,6 @@ GLIBC_2.17 pthread_setconcurrency F

>  GLIBC_2.17 pthread_setname_np F

>  GLIBC_2.17 pthread_setschedprio F

>  GLIBC_2.17 pthread_sigqueue F

> -GLIBC_2.17 pthread_testcancel F

>  GLIBC_2.17 pthread_timedjoin_np F

>  GLIBC_2.17 pthread_tryjoin_np F

>  GLIBC_2.17 sem_close F

> diff --git a/sysdeps/unix/sysv/linux/alpha/libc.abilist b/sysdeps/unix/sysv/linux/alpha/libc.abilist

> index e0deca069c..318eea546a 100644

> --- a/sysdeps/unix/sysv/linux/alpha/libc.abilist

> +++ b/sysdeps/unix/sysv/linux/alpha/libc.abilist

> @@ -921,6 +921,7 @@ GLIBC_2.0 pthread_setcanceltype F

>  GLIBC_2.0 pthread_setschedparam F

>  GLIBC_2.0 pthread_setspecific F

>  GLIBC_2.0 pthread_sigmask F

> +GLIBC_2.0 pthread_testcancel F

>  GLIBC_2.0 ptrace F

>  GLIBC_2.0 putc F

>  GLIBC_2.0 putc_unlocked F

> @@ -2424,6 +2425,7 @@ GLIBC_2.34 pthread_spin_init F

>  GLIBC_2.34 pthread_spin_lock F

>  GLIBC_2.34 pthread_spin_trylock F

>  GLIBC_2.34 pthread_spin_unlock F

> +GLIBC_2.34 pthread_testcancel F

>  GLIBC_2.34 thrd_exit F

>  GLIBC_2.34 tss_create F

>  GLIBC_2.34 tss_delete F

> diff --git a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist

> index 5eae00fd6b..2633a1c816 100644

> --- a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist

> +++ b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist

> @@ -9,7 +9,6 @@ GLIBC_2.0 pthread_cancel F

>  GLIBC_2.0 pthread_create F

>  GLIBC_2.0 pthread_detach F

>  GLIBC_2.0 pthread_join F

> -GLIBC_2.0 pthread_testcancel F

>  GLIBC_2.0 sem_destroy F

>  GLIBC_2.0 sem_getvalue F

>  GLIBC_2.0 sem_init F

> diff --git a/sysdeps/unix/sysv/linux/arc/libc.abilist b/sysdeps/unix/sysv/linux/arc/libc.abilist

> index ac0f574207..18b5c97cc8 100644

> --- a/sysdeps/unix/sysv/linux/arc/libc.abilist

> +++ b/sysdeps/unix/sysv/linux/arc/libc.abilist

> @@ -1473,6 +1473,7 @@ GLIBC_2.32 pthread_spin_init F

>  GLIBC_2.32 pthread_spin_lock F

>  GLIBC_2.32 pthread_spin_trylock F

>  GLIBC_2.32 pthread_spin_unlock F

> +GLIBC_2.32 pthread_testcancel F

>  GLIBC_2.32 pthread_yield F

>  GLIBC_2.32 ptrace F

>  GLIBC_2.32 ptsname F

> @@ -2102,6 +2103,7 @@ GLIBC_2.34 pthread_spin_init F

>  GLIBC_2.34 pthread_spin_lock F

>  GLIBC_2.34 pthread_spin_trylock F

>  GLIBC_2.34 pthread_spin_unlock F

> +GLIBC_2.34 pthread_testcancel F

>  GLIBC_2.34 thrd_exit F

>  GLIBC_2.34 tss_create F

>  GLIBC_2.34 tss_delete F

> diff --git a/sysdeps/unix/sysv/linux/arc/libpthread.abilist b/sysdeps/unix/sysv/linux/arc/libpthread.abilist

> index 8d12b93ff1..fbe2217064 100644

> --- a/sysdeps/unix/sysv/linux/arc/libpthread.abilist

> +++ b/sysdeps/unix/sysv/linux/arc/libpthread.abilist

> @@ -40,7 +40,6 @@ GLIBC_2.32 pthread_setconcurrency F

>  GLIBC_2.32 pthread_setname_np F

>  GLIBC_2.32 pthread_setschedprio F

>  GLIBC_2.32 pthread_sigqueue F

> -GLIBC_2.32 pthread_testcancel F

>  GLIBC_2.32 pthread_timedjoin_np F

>  GLIBC_2.32 pthread_tryjoin_np F

>  GLIBC_2.32 sem_clockwait F

> diff --git a/sysdeps/unix/sysv/linux/arm/be/libc.abilist b/sysdeps/unix/sysv/linux/arm/be/libc.abilist

> index c77241c227..7de0e34b14 100644

> --- a/sysdeps/unix/sysv/linux/arm/be/libc.abilist

> +++ b/sysdeps/unix/sysv/linux/arm/be/libc.abilist

> @@ -250,6 +250,7 @@ GLIBC_2.34 pthread_spin_init F

>  GLIBC_2.34 pthread_spin_lock F

>  GLIBC_2.34 pthread_spin_trylock F

>  GLIBC_2.34 pthread_spin_unlock F

> +GLIBC_2.34 pthread_testcancel F

>  GLIBC_2.34 thrd_exit F

>  GLIBC_2.34 tss_create F

>  GLIBC_2.34 tss_delete F

> @@ -1718,6 +1719,7 @@ GLIBC_2.4 pthread_spin_init F

>  GLIBC_2.4 pthread_spin_lock F

>  GLIBC_2.4 pthread_spin_trylock F

>  GLIBC_2.4 pthread_spin_unlock F

> +GLIBC_2.4 pthread_testcancel F

>  GLIBC_2.4 pthread_yield F

>  GLIBC_2.4 ptrace F

>  GLIBC_2.4 ptsname F

> diff --git a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist

> index e7907d89b8..bd82a85136 100644

> --- a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist

> +++ b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist

> @@ -45,7 +45,6 @@ GLIBC_2.4 pthread_join F

>  GLIBC_2.4 pthread_setaffinity_np F

>  GLIBC_2.4 pthread_setconcurrency F

>  GLIBC_2.4 pthread_setschedprio F

> -GLIBC_2.4 pthread_testcancel F

>  GLIBC_2.4 pthread_timedjoin_np F

>  GLIBC_2.4 pthread_tryjoin_np F

>  GLIBC_2.4 sem_close F

> diff --git a/sysdeps/unix/sysv/linux/arm/le/libc.abilist b/sysdeps/unix/sysv/linux/arm/le/libc.abilist

> index 9e02ac94d8..3e79ca85f0 100644

> --- a/sysdeps/unix/sysv/linux/arm/le/libc.abilist

> +++ b/sysdeps/unix/sysv/linux/arm/le/libc.abilist

> @@ -247,6 +247,7 @@ GLIBC_2.34 pthread_spin_init F

>  GLIBC_2.34 pthread_spin_lock F

>  GLIBC_2.34 pthread_spin_trylock F

>  GLIBC_2.34 pthread_spin_unlock F

> +GLIBC_2.34 pthread_testcancel F

>  GLIBC_2.34 thrd_exit F

>  GLIBC_2.34 tss_create F

>  GLIBC_2.34 tss_delete F

> @@ -1715,6 +1716,7 @@ GLIBC_2.4 pthread_spin_init F

>  GLIBC_2.4 pthread_spin_lock F

>  GLIBC_2.4 pthread_spin_trylock F

>  GLIBC_2.4 pthread_spin_unlock F

> +GLIBC_2.4 pthread_testcancel F

>  GLIBC_2.4 pthread_yield F

>  GLIBC_2.4 ptrace F

>  GLIBC_2.4 ptsname F

> diff --git a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist

> index e7907d89b8..bd82a85136 100644

> --- a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist

> +++ b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist

> @@ -45,7 +45,6 @@ GLIBC_2.4 pthread_join F

>  GLIBC_2.4 pthread_setaffinity_np F

>  GLIBC_2.4 pthread_setconcurrency F

>  GLIBC_2.4 pthread_setschedprio F

> -GLIBC_2.4 pthread_testcancel F

>  GLIBC_2.4 pthread_timedjoin_np F

>  GLIBC_2.4 pthread_tryjoin_np F

>  GLIBC_2.4 sem_close F

> diff --git a/sysdeps/unix/sysv/linux/csky/libc.abilist b/sysdeps/unix/sysv/linux/csky/libc.abilist

> index a209787385..9eaeda5d49 100644

> --- a/sysdeps/unix/sysv/linux/csky/libc.abilist

> +++ b/sysdeps/unix/sysv/linux/csky/libc.abilist

> @@ -1530,6 +1530,7 @@ GLIBC_2.29 pthread_spin_init F

>  GLIBC_2.29 pthread_spin_lock F

>  GLIBC_2.29 pthread_spin_trylock F

>  GLIBC_2.29 pthread_spin_unlock F

> +GLIBC_2.29 pthread_testcancel F

>  GLIBC_2.29 pthread_yield F

>  GLIBC_2.29 ptrace F

>  GLIBC_2.29 ptsname F

> @@ -2286,6 +2287,7 @@ GLIBC_2.34 pthread_spin_init F

>  GLIBC_2.34 pthread_spin_lock F

>  GLIBC_2.34 pthread_spin_trylock F

>  GLIBC_2.34 pthread_spin_unlock F

> +GLIBC_2.34 pthread_testcancel F

>  GLIBC_2.34 thrd_exit F

>  GLIBC_2.34 tss_create F

>  GLIBC_2.34 tss_delete F

> diff --git a/sysdeps/unix/sysv/linux/csky/libpthread.abilist b/sysdeps/unix/sysv/linux/csky/libpthread.abilist

> index 4030a58e1a..c1e500ab59 100644

> --- a/sysdeps/unix/sysv/linux/csky/libpthread.abilist

> +++ b/sysdeps/unix/sysv/linux/csky/libpthread.abilist

> @@ -39,7 +39,6 @@ GLIBC_2.29 pthread_setconcurrency F

>  GLIBC_2.29 pthread_setname_np F

>  GLIBC_2.29 pthread_setschedprio F

>  GLIBC_2.29 pthread_sigqueue F

> -GLIBC_2.29 pthread_testcancel F

>  GLIBC_2.29 pthread_timedjoin_np F

>  GLIBC_2.29 pthread_tryjoin_np F

>  GLIBC_2.29 sem_close F

> diff --git a/sysdeps/unix/sysv/linux/hppa/libc.abilist b/sysdeps/unix/sysv/linux/hppa/libc.abilist

> index cbbf211ee5..59165723ed 100644

> --- a/sysdeps/unix/sysv/linux/hppa/libc.abilist

> +++ b/sysdeps/unix/sysv/linux/hppa/libc.abilist

> @@ -1341,6 +1341,7 @@ GLIBC_2.2 pthread_spin_init F

>  GLIBC_2.2 pthread_spin_lock F

>  GLIBC_2.2 pthread_spin_trylock F

>  GLIBC_2.2 pthread_spin_unlock F

> +GLIBC_2.2 pthread_testcancel F

>  GLIBC_2.2 pthread_yield F

>  GLIBC_2.2 ptrace F

>  GLIBC_2.2 ptsname F

> @@ -2237,6 +2238,7 @@ GLIBC_2.34 pthread_spin_init F

>  GLIBC_2.34 pthread_spin_lock F

>  GLIBC_2.34 pthread_spin_trylock F

>  GLIBC_2.34 pthread_spin_unlock F

> +GLIBC_2.34 pthread_testcancel F

>  GLIBC_2.34 thrd_exit F

>  GLIBC_2.34 tss_create F

>  GLIBC_2.34 tss_delete F

> diff --git a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist

> index af0359bd14..0d4dfb6328 100644

> --- a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist

> +++ b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist

> @@ -31,7 +31,6 @@ GLIBC_2.2 pthread_getconcurrency F

>  GLIBC_2.2 pthread_getcpuclockid F

>  GLIBC_2.2 pthread_join F

>  GLIBC_2.2 pthread_setconcurrency F

> -GLIBC_2.2 pthread_testcancel F

>  GLIBC_2.2 sem_close F

>  GLIBC_2.2 sem_destroy F

>  GLIBC_2.2 sem_getvalue F

> diff --git a/sysdeps/unix/sysv/linux/i386/libc.abilist b/sysdeps/unix/sysv/linux/i386/libc.abilist

> index 24cb2d684d..05c26afb65 100644

> --- a/sysdeps/unix/sysv/linux/i386/libc.abilist

> +++ b/sysdeps/unix/sysv/linux/i386/libc.abilist

> @@ -898,6 +898,7 @@ GLIBC_2.0 pthread_setcanceltype F

>  GLIBC_2.0 pthread_setschedparam F

>  GLIBC_2.0 pthread_setspecific F

>  GLIBC_2.0 pthread_sigmask F

> +GLIBC_2.0 pthread_testcancel F

>  GLIBC_2.0 ptrace F

>  GLIBC_2.0 putc F

>  GLIBC_2.0 putc_unlocked F

> @@ -2414,6 +2415,7 @@ GLIBC_2.34 pthread_spin_init F

>  GLIBC_2.34 pthread_spin_lock F

>  GLIBC_2.34 pthread_spin_trylock F

>  GLIBC_2.34 pthread_spin_unlock F

> +GLIBC_2.34 pthread_testcancel F

>  GLIBC_2.34 thrd_exit F

>  GLIBC_2.34 tss_create F

>  GLIBC_2.34 tss_delete F

> diff --git a/sysdeps/unix/sysv/linux/i386/libpthread.abilist b/sysdeps/unix/sysv/linux/i386/libpthread.abilist

> index 1fdd0c7758..7b43b9309b 100644

> --- a/sysdeps/unix/sysv/linux/i386/libpthread.abilist

> +++ b/sysdeps/unix/sysv/linux/i386/libpthread.abilist

> @@ -9,7 +9,6 @@ GLIBC_2.0 pthread_cancel F

>  GLIBC_2.0 pthread_create F

>  GLIBC_2.0 pthread_detach F

>  GLIBC_2.0 pthread_join F

> -GLIBC_2.0 pthread_testcancel F

>  GLIBC_2.0 sem_destroy F

>  GLIBC_2.0 sem_getvalue F

>  GLIBC_2.0 sem_init F

> diff --git a/sysdeps/unix/sysv/linux/ia64/libc.abilist b/sysdeps/unix/sysv/linux/ia64/libc.abilist

> index 7513d48cae..2aeb8e0be5 100644

> --- a/sysdeps/unix/sysv/linux/ia64/libc.abilist

> +++ b/sysdeps/unix/sysv/linux/ia64/libc.abilist

> @@ -1362,6 +1362,7 @@ GLIBC_2.2 pthread_spin_init F

>  GLIBC_2.2 pthread_spin_lock F

>  GLIBC_2.2 pthread_spin_trylock F

>  GLIBC_2.2 pthread_spin_unlock F

> +GLIBC_2.2 pthread_testcancel F

>  GLIBC_2.2 pthread_yield F

>  GLIBC_2.2 ptrace F

>  GLIBC_2.2 ptsname F

> @@ -2271,6 +2272,7 @@ GLIBC_2.34 pthread_spin_init F

>  GLIBC_2.34 pthread_spin_lock F

>  GLIBC_2.34 pthread_spin_trylock F

>  GLIBC_2.34 pthread_spin_unlock F

> +GLIBC_2.34 pthread_testcancel F

>  GLIBC_2.34 thrd_exit F

>  GLIBC_2.34 tss_create F

>  GLIBC_2.34 tss_delete F

> diff --git a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist

> index c6c1f7ac7b..cef26d71d6 100644

> --- a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist

> +++ b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist

> @@ -31,7 +31,6 @@ GLIBC_2.2 pthread_getconcurrency F

>  GLIBC_2.2 pthread_getcpuclockid F

>  GLIBC_2.2 pthread_join F

>  GLIBC_2.2 pthread_setconcurrency F

> -GLIBC_2.2 pthread_testcancel F

>  GLIBC_2.2 sem_close F

>  GLIBC_2.2 sem_destroy F

>  GLIBC_2.2 sem_getvalue F

> diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist

> index 013dcbb16d..571c501b95 100644

> --- a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist

> +++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist

> @@ -251,6 +251,7 @@ GLIBC_2.34 pthread_spin_init F

>  GLIBC_2.34 pthread_spin_lock F

>  GLIBC_2.34 pthread_spin_trylock F

>  GLIBC_2.34 pthread_spin_unlock F

> +GLIBC_2.34 pthread_testcancel F

>  GLIBC_2.34 thrd_exit F

>  GLIBC_2.34 tss_create F

>  GLIBC_2.34 tss_delete F

> @@ -1698,6 +1699,7 @@ GLIBC_2.4 pthread_spin_init F

>  GLIBC_2.4 pthread_spin_lock F

>  GLIBC_2.4 pthread_spin_trylock F

>  GLIBC_2.4 pthread_spin_unlock F

> +GLIBC_2.4 pthread_testcancel F

>  GLIBC_2.4 pthread_yield F

>  GLIBC_2.4 ptrace F

>  GLIBC_2.4 ptsname F

> diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist

> index e7907d89b8..bd82a85136 100644

> --- a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist

> +++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist

> @@ -45,7 +45,6 @@ GLIBC_2.4 pthread_join F

>  GLIBC_2.4 pthread_setaffinity_np F

>  GLIBC_2.4 pthread_setconcurrency F

>  GLIBC_2.4 pthread_setschedprio F

> -GLIBC_2.4 pthread_testcancel F

>  GLIBC_2.4 pthread_timedjoin_np F

>  GLIBC_2.4 pthread_tryjoin_np F

>  GLIBC_2.4 sem_close F

> diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist

> index 0748c21b38..0404cf1749 100644

> --- a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist

> +++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist

> @@ -897,6 +897,7 @@ GLIBC_2.0 pthread_setcanceltype F

>  GLIBC_2.0 pthread_setschedparam F

>  GLIBC_2.0 pthread_setspecific F

>  GLIBC_2.0 pthread_sigmask F

> +GLIBC_2.0 pthread_testcancel F

>  GLIBC_2.0 ptrace F

>  GLIBC_2.0 putc F

>  GLIBC_2.0 putc_unlocked F

> @@ -2357,6 +2358,7 @@ GLIBC_2.34 pthread_spin_init F

>  GLIBC_2.34 pthread_spin_lock F

>  GLIBC_2.34 pthread_spin_trylock F

>  GLIBC_2.34 pthread_spin_unlock F

> +GLIBC_2.34 pthread_testcancel F

>  GLIBC_2.34 thrd_exit F

>  GLIBC_2.34 tss_create F

>  GLIBC_2.34 tss_delete F

> diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist

> index 1fdd0c7758..7b43b9309b 100644

> --- a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist

> +++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist

> @@ -9,7 +9,6 @@ GLIBC_2.0 pthread_cancel F

>  GLIBC_2.0 pthread_create F

>  GLIBC_2.0 pthread_detach F

>  GLIBC_2.0 pthread_join F

> -GLIBC_2.0 pthread_testcancel F

>  GLIBC_2.0 sem_destroy F

>  GLIBC_2.0 sem_getvalue F

>  GLIBC_2.0 sem_init F

> diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist

> index 4f0cf3bd56..7be131d0fc 100644

> --- a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist

> +++ b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist

> @@ -1532,6 +1532,7 @@ GLIBC_2.18 pthread_spin_init F

>  GLIBC_2.18 pthread_spin_lock F

>  GLIBC_2.18 pthread_spin_trylock F

>  GLIBC_2.18 pthread_spin_unlock F

> +GLIBC_2.18 pthread_testcancel F

>  GLIBC_2.18 pthread_yield F

>  GLIBC_2.18 ptrace F

>  GLIBC_2.18 ptsname F

> @@ -2337,6 +2338,7 @@ GLIBC_2.34 pthread_spin_init F

>  GLIBC_2.34 pthread_spin_lock F

>  GLIBC_2.34 pthread_spin_trylock F

>  GLIBC_2.34 pthread_spin_unlock F

> +GLIBC_2.34 pthread_testcancel F

>  GLIBC_2.34 thrd_exit F

>  GLIBC_2.34 tss_create F

>  GLIBC_2.34 tss_delete F

> diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist

> index 785630fec3..6bfa410c44 100644

> --- a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist

> +++ b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist

> @@ -39,7 +39,6 @@ GLIBC_2.18 pthread_setconcurrency F

>  GLIBC_2.18 pthread_setname_np F

>  GLIBC_2.18 pthread_setschedprio F

>  GLIBC_2.18 pthread_sigqueue F

> -GLIBC_2.18 pthread_testcancel F

>  GLIBC_2.18 pthread_timedjoin_np F

>  GLIBC_2.18 pthread_tryjoin_np F

>  GLIBC_2.18 sem_close F

> diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist

> index 726bae9a75..31c157bb4a 100644

> --- a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist

> +++ b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist

> @@ -1532,6 +1532,7 @@ GLIBC_2.18 pthread_spin_init F

>  GLIBC_2.18 pthread_spin_lock F

>  GLIBC_2.18 pthread_spin_trylock F

>  GLIBC_2.18 pthread_spin_unlock F

> +GLIBC_2.18 pthread_testcancel F

>  GLIBC_2.18 pthread_yield F

>  GLIBC_2.18 ptrace F

>  GLIBC_2.18 ptsname F

> @@ -2334,6 +2335,7 @@ GLIBC_2.34 pthread_spin_init F

>  GLIBC_2.34 pthread_spin_lock F

>  GLIBC_2.34 pthread_spin_trylock F

>  GLIBC_2.34 pthread_spin_unlock F

> +GLIBC_2.34 pthread_testcancel F

>  GLIBC_2.34 thrd_exit F

>  GLIBC_2.34 tss_create F

>  GLIBC_2.34 tss_delete F

> diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist

> index 785630fec3..6bfa410c44 100644

> --- a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist

> +++ b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist

> @@ -39,7 +39,6 @@ GLIBC_2.18 pthread_setconcurrency F

>  GLIBC_2.18 pthread_setname_np F

>  GLIBC_2.18 pthread_setschedprio F

>  GLIBC_2.18 pthread_sigqueue F

> -GLIBC_2.18 pthread_testcancel F

>  GLIBC_2.18 pthread_timedjoin_np F

>  GLIBC_2.18 pthread_tryjoin_np F

>  GLIBC_2.18 sem_close F

> diff --git a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist

> index 12f4c46f75..0f6e9cbf01 100644

> --- a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist

> +++ b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist

> @@ -894,6 +894,7 @@ GLIBC_2.0 pthread_setcanceltype F

>  GLIBC_2.0 pthread_setschedparam F

>  GLIBC_2.0 pthread_setspecific F

>  GLIBC_2.0 pthread_sigmask F

> +GLIBC_2.0 pthread_testcancel F

>  GLIBC_2.0 ptrace F

>  GLIBC_2.0 putc F

>  GLIBC_2.0 putc_unlocked F

> @@ -2320,6 +2321,7 @@ GLIBC_2.34 pthread_spin_init F

>  GLIBC_2.34 pthread_spin_lock F

>  GLIBC_2.34 pthread_spin_trylock F

>  GLIBC_2.34 pthread_spin_unlock F

> +GLIBC_2.34 pthread_testcancel F

>  GLIBC_2.34 thrd_exit F

>  GLIBC_2.34 tss_create F

>  GLIBC_2.34 tss_delete F

> diff --git a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist

> index 8df7179bd2..83434ae1b6 100644

> --- a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist

> +++ b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist

> @@ -9,7 +9,6 @@ GLIBC_2.0 pthread_cancel F

>  GLIBC_2.0 pthread_create F

>  GLIBC_2.0 pthread_detach F

>  GLIBC_2.0 pthread_join F

> -GLIBC_2.0 pthread_testcancel F

>  GLIBC_2.0 sem_destroy F

>  GLIBC_2.0 sem_getvalue F

>  GLIBC_2.0 sem_init F

> diff --git a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist

> index 640f5e8c7b..9fc089707f 100644

> --- a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist

> +++ b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist

> @@ -894,6 +894,7 @@ GLIBC_2.0 pthread_setcanceltype F

>  GLIBC_2.0 pthread_setschedparam F

>  GLIBC_2.0 pthread_setspecific F

>  GLIBC_2.0 pthread_sigmask F

> +GLIBC_2.0 pthread_testcancel F

>  GLIBC_2.0 ptrace F

>  GLIBC_2.0 putc F

>  GLIBC_2.0 putc_unlocked F

> @@ -2318,6 +2319,7 @@ GLIBC_2.34 pthread_spin_init F

>  GLIBC_2.34 pthread_spin_lock F

>  GLIBC_2.34 pthread_spin_trylock F

>  GLIBC_2.34 pthread_spin_unlock F

> +GLIBC_2.34 pthread_testcancel F

>  GLIBC_2.34 thrd_exit F

>  GLIBC_2.34 tss_create F

>  GLIBC_2.34 tss_delete F

> diff --git a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist

> index 8df7179bd2..83434ae1b6 100644

> --- a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist

> +++ b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist

> @@ -9,7 +9,6 @@ GLIBC_2.0 pthread_cancel F

>  GLIBC_2.0 pthread_create F

>  GLIBC_2.0 pthread_detach F

>  GLIBC_2.0 pthread_join F

> -GLIBC_2.0 pthread_testcancel F

>  GLIBC_2.0 sem_destroy F

>  GLIBC_2.0 sem_getvalue F

>  GLIBC_2.0 sem_init F

> diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist

> index 92c0be4e90..edb5b754bf 100644

> --- a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist

> +++ b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist

> @@ -894,6 +894,7 @@ GLIBC_2.0 pthread_setcanceltype F

>  GLIBC_2.0 pthread_setschedparam F

>  GLIBC_2.0 pthread_setspecific F

>  GLIBC_2.0 pthread_sigmask F

> +GLIBC_2.0 pthread_testcancel F

>  GLIBC_2.0 ptrace F

>  GLIBC_2.0 putc F

>  GLIBC_2.0 putc_unlocked F

> @@ -2326,6 +2327,7 @@ GLIBC_2.34 pthread_spin_init F

>  GLIBC_2.34 pthread_spin_lock F

>  GLIBC_2.34 pthread_spin_trylock F

>  GLIBC_2.34 pthread_spin_unlock F

> +GLIBC_2.34 pthread_testcancel F

>  GLIBC_2.34 thrd_exit F

>  GLIBC_2.34 tss_create F

>  GLIBC_2.34 tss_delete F

> diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist

> index 90a0e497f6..a80f4d6138 100644

> --- a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist

> +++ b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist

> @@ -892,6 +892,7 @@ GLIBC_2.0 pthread_setcanceltype F

>  GLIBC_2.0 pthread_setschedparam F

>  GLIBC_2.0 pthread_setspecific F

>  GLIBC_2.0 pthread_sigmask F

> +GLIBC_2.0 pthread_testcancel F

>  GLIBC_2.0 ptrace F

>  GLIBC_2.0 putc F

>  GLIBC_2.0 putc_unlocked F

> @@ -2320,6 +2321,7 @@ GLIBC_2.34 pthread_spin_init F

>  GLIBC_2.34 pthread_spin_lock F

>  GLIBC_2.34 pthread_spin_trylock F

>  GLIBC_2.34 pthread_spin_unlock F

> +GLIBC_2.34 pthread_testcancel F

>  GLIBC_2.34 thrd_exit F

>  GLIBC_2.34 tss_create F

>  GLIBC_2.34 tss_delete F

> diff --git a/sysdeps/unix/sysv/linux/nios2/libc.abilist b/sysdeps/unix/sysv/linux/nios2/libc.abilist

> index caeb686742..ce16d91d60 100644

> --- a/sysdeps/unix/sysv/linux/nios2/libc.abilist

> +++ b/sysdeps/unix/sysv/linux/nios2/libc.abilist

> @@ -1575,6 +1575,7 @@ GLIBC_2.21 pthread_spin_init F

>  GLIBC_2.21 pthread_spin_lock F

>  GLIBC_2.21 pthread_spin_trylock F

>  GLIBC_2.21 pthread_spin_unlock F

> +GLIBC_2.21 pthread_testcancel F

>  GLIBC_2.21 pthread_yield F

>  GLIBC_2.21 ptrace F

>  GLIBC_2.21 ptsname F

> @@ -2376,6 +2377,7 @@ GLIBC_2.34 pthread_spin_init F

>  GLIBC_2.34 pthread_spin_lock F

>  GLIBC_2.34 pthread_spin_trylock F

>  GLIBC_2.34 pthread_spin_unlock F

> +GLIBC_2.34 pthread_testcancel F

>  GLIBC_2.34 thrd_exit F

>  GLIBC_2.34 tss_create F

>  GLIBC_2.34 tss_delete F

> diff --git a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist

> index fb9c53ec2b..197827a386 100644

> --- a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist

> +++ b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist

> @@ -39,7 +39,6 @@ GLIBC_2.21 pthread_setconcurrency F

>  GLIBC_2.21 pthread_setname_np F

>  GLIBC_2.21 pthread_setschedprio F

>  GLIBC_2.21 pthread_sigqueue F

> -GLIBC_2.21 pthread_testcancel F

>  GLIBC_2.21 pthread_timedjoin_np F

>  GLIBC_2.21 pthread_tryjoin_np F

>  GLIBC_2.21 sem_close F

> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist

> index 6bb6f8f092..c8478bd5d4 100644

> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist

> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist

> @@ -905,6 +905,7 @@ GLIBC_2.0 pthread_setcanceltype F

>  GLIBC_2.0 pthread_setschedparam F

>  GLIBC_2.0 pthread_setspecific F

>  GLIBC_2.0 pthread_sigmask F

> +GLIBC_2.0 pthread_testcancel F

>  GLIBC_2.0 ptrace F

>  GLIBC_2.0 putc F

>  GLIBC_2.0 putc_unlocked F

> @@ -2384,6 +2385,7 @@ GLIBC_2.34 pthread_spin_init F

>  GLIBC_2.34 pthread_spin_lock F

>  GLIBC_2.34 pthread_spin_trylock F

>  GLIBC_2.34 pthread_spin_unlock F

> +GLIBC_2.34 pthread_testcancel F

>  GLIBC_2.34 thrd_exit F

>  GLIBC_2.34 tss_create F

>  GLIBC_2.34 tss_delete F

> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist

> index c761c15e3a..79bc809cfa 100644

> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist

> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist

> @@ -9,7 +9,6 @@ GLIBC_2.0 pthread_cancel F

>  GLIBC_2.0 pthread_create F

>  GLIBC_2.0 pthread_detach F

>  GLIBC_2.0 pthread_join F

> -GLIBC_2.0 pthread_testcancel F

>  GLIBC_2.0 sem_destroy F

>  GLIBC_2.0 sem_getvalue F

>  GLIBC_2.0 sem_init F

> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist

> index 29dad1780c..05e79162d1 100644

> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist

> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist

> @@ -905,6 +905,7 @@ GLIBC_2.0 pthread_setcanceltype F

>  GLIBC_2.0 pthread_setschedparam F

>  GLIBC_2.0 pthread_setspecific F

>  GLIBC_2.0 pthread_sigmask F

> +GLIBC_2.0 pthread_testcancel F

>  GLIBC_2.0 ptrace F

>  GLIBC_2.0 putc F

>  GLIBC_2.0 putc_unlocked F

> @@ -2417,6 +2418,7 @@ GLIBC_2.34 pthread_spin_init F

>  GLIBC_2.34 pthread_spin_lock F

>  GLIBC_2.34 pthread_spin_trylock F

>  GLIBC_2.34 pthread_spin_unlock F

> +GLIBC_2.34 pthread_testcancel F

>  GLIBC_2.34 thrd_exit F

>  GLIBC_2.34 tss_create F

>  GLIBC_2.34 tss_delete F

> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist

> index c410a6cc6a..8ca7a93538 100644

> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist

> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist

> @@ -1465,6 +1465,7 @@ GLIBC_2.3 pthread_spin_init F

>  GLIBC_2.3 pthread_spin_lock F

>  GLIBC_2.3 pthread_spin_trylock F

>  GLIBC_2.3 pthread_spin_unlock F

> +GLIBC_2.3 pthread_testcancel F

>  GLIBC_2.3 pthread_yield F

>  GLIBC_2.3 ptrace F

>  GLIBC_2.3 ptsname F

> @@ -2238,6 +2239,7 @@ GLIBC_2.34 pthread_spin_init F

>  GLIBC_2.34 pthread_spin_lock F

>  GLIBC_2.34 pthread_spin_trylock F

>  GLIBC_2.34 pthread_spin_unlock F

> +GLIBC_2.34 pthread_testcancel F

>  GLIBC_2.34 thrd_exit F

>  GLIBC_2.34 tss_create F

>  GLIBC_2.34 tss_delete F

> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist

> index 037f0f2839..0c5ee381d2 100644

> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist

> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist

> @@ -34,7 +34,6 @@ GLIBC_2.3 pthread_getconcurrency F

>  GLIBC_2.3 pthread_getcpuclockid F

>  GLIBC_2.3 pthread_join F

>  GLIBC_2.3 pthread_setconcurrency F

> -GLIBC_2.3 pthread_testcancel F

>  GLIBC_2.3 sem_close F

>  GLIBC_2.3 sem_destroy F

>  GLIBC_2.3 sem_getvalue F

> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist

> index 7a2bf05cb0..7c69ef778e 100644

> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist

> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist

> @@ -1618,6 +1618,7 @@ GLIBC_2.17 pthread_spin_init F

>  GLIBC_2.17 pthread_spin_lock F

>  GLIBC_2.17 pthread_spin_trylock F

>  GLIBC_2.17 pthread_spin_unlock F

> +GLIBC_2.17 pthread_testcancel F

>  GLIBC_2.17 pthread_yield F

>  GLIBC_2.17 ptrace F

>  GLIBC_2.17 ptsname F

> @@ -2539,6 +2540,7 @@ GLIBC_2.34 pthread_spin_init F

>  GLIBC_2.34 pthread_spin_lock F

>  GLIBC_2.34 pthread_spin_trylock F

>  GLIBC_2.34 pthread_spin_unlock F

> +GLIBC_2.34 pthread_testcancel F

>  GLIBC_2.34 thrd_exit F

>  GLIBC_2.34 tss_create F

>  GLIBC_2.34 tss_delete F

> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist

> index c1f11e12df..839f2ff64a 100644

> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist

> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist

> @@ -37,7 +37,6 @@ GLIBC_2.17 pthread_setconcurrency F

>  GLIBC_2.17 pthread_setname_np F

>  GLIBC_2.17 pthread_setschedprio F

>  GLIBC_2.17 pthread_sigqueue F

> -GLIBC_2.17 pthread_testcancel F

>  GLIBC_2.17 pthread_timedjoin_np F

>  GLIBC_2.17 pthread_tryjoin_np F

>  GLIBC_2.17 sem_close F

> diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist

> index fa4803dae3..a1158f7747 100644

> --- a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist

> +++ b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist

> @@ -1475,6 +1475,7 @@ GLIBC_2.33 pthread_spin_init F

>  GLIBC_2.33 pthread_spin_lock F

>  GLIBC_2.33 pthread_spin_trylock F

>  GLIBC_2.33 pthread_spin_unlock F

> +GLIBC_2.33 pthread_testcancel F

>  GLIBC_2.33 pthread_yield F

>  GLIBC_2.33 ptrace F

>  GLIBC_2.33 ptsname F

> @@ -2104,6 +2105,7 @@ GLIBC_2.34 pthread_spin_init F

>  GLIBC_2.34 pthread_spin_lock F

>  GLIBC_2.34 pthread_spin_trylock F

>  GLIBC_2.34 pthread_spin_unlock F

> +GLIBC_2.34 pthread_testcancel F

>  GLIBC_2.34 thrd_exit F

>  GLIBC_2.34 tss_create F

>  GLIBC_2.34 tss_delete F

> diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist

> index b06dfc1038..94fcac028c 100644

> --- a/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist

> +++ b/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist

> @@ -40,7 +40,6 @@ GLIBC_2.33 pthread_setconcurrency F

>  GLIBC_2.33 pthread_setname_np F

>  GLIBC_2.33 pthread_setschedprio F

>  GLIBC_2.33 pthread_sigqueue F

> -GLIBC_2.33 pthread_testcancel F

>  GLIBC_2.33 pthread_timedjoin_np F

>  GLIBC_2.33 pthread_tryjoin_np F

>  GLIBC_2.33 sem_clockwait F

> diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist

> index 91cbd00879..0914e4b443 100644

> --- a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist

> +++ b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist

> @@ -1520,6 +1520,7 @@ GLIBC_2.27 pthread_spin_init F

>  GLIBC_2.27 pthread_spin_lock F

>  GLIBC_2.27 pthread_spin_trylock F

>  GLIBC_2.27 pthread_spin_unlock F

> +GLIBC_2.27 pthread_testcancel F

>  GLIBC_2.27 pthread_yield F

>  GLIBC_2.27 ptrace F

>  GLIBC_2.27 ptsname F

> @@ -2304,6 +2305,7 @@ GLIBC_2.34 pthread_spin_init F

>  GLIBC_2.34 pthread_spin_lock F

>  GLIBC_2.34 pthread_spin_trylock F

>  GLIBC_2.34 pthread_spin_unlock F

> +GLIBC_2.34 pthread_testcancel F

>  GLIBC_2.34 thrd_exit F

>  GLIBC_2.34 tss_create F

>  GLIBC_2.34 tss_delete F

> diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist

> index 5a7d9561fd..fdab0f5ab4 100644

> --- a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist

> +++ b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist

> @@ -39,7 +39,6 @@ GLIBC_2.27 pthread_setconcurrency F

>  GLIBC_2.27 pthread_setname_np F

>  GLIBC_2.27 pthread_setschedprio F

>  GLIBC_2.27 pthread_sigqueue F

> -GLIBC_2.27 pthread_testcancel F

>  GLIBC_2.27 pthread_timedjoin_np F

>  GLIBC_2.27 pthread_tryjoin_np F

>  GLIBC_2.27 sem_close F

> diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist

> index 78bc38dc23..9333d220ed 100644

> --- a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist

> +++ b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist

> @@ -896,6 +896,7 @@ GLIBC_2.0 pthread_setcanceltype F

>  GLIBC_2.0 pthread_setschedparam F

>  GLIBC_2.0 pthread_setspecific F

>  GLIBC_2.0 pthread_sigmask F

> +GLIBC_2.0 pthread_testcancel F

>  GLIBC_2.0 ptrace F

>  GLIBC_2.0 putc F

>  GLIBC_2.0 putc_unlocked F

> @@ -2382,6 +2383,7 @@ GLIBC_2.34 pthread_spin_init F

>  GLIBC_2.34 pthread_spin_lock F

>  GLIBC_2.34 pthread_spin_trylock F

>  GLIBC_2.34 pthread_spin_unlock F

> +GLIBC_2.34 pthread_testcancel F

>  GLIBC_2.34 thrd_exit F

>  GLIBC_2.34 tss_create F

>  GLIBC_2.34 tss_delete F

> diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist

> index ddcff610d2..911048092d 100644

> --- a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist

> +++ b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist

> @@ -9,7 +9,6 @@ GLIBC_2.0 pthread_cancel F

>  GLIBC_2.0 pthread_create F

>  GLIBC_2.0 pthread_detach F

>  GLIBC_2.0 pthread_join F

> -GLIBC_2.0 pthread_testcancel F

>  GLIBC_2.0 sem_destroy F

>  GLIBC_2.0 sem_getvalue F

>  GLIBC_2.0 sem_init F

> diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist

> index 8fbd2129b4..1c3b757684 100644

> --- a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist

> +++ b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist

> @@ -1359,6 +1359,7 @@ GLIBC_2.2 pthread_spin_init F

>  GLIBC_2.2 pthread_spin_lock F

>  GLIBC_2.2 pthread_spin_trylock F

>  GLIBC_2.2 pthread_spin_unlock F

> +GLIBC_2.2 pthread_testcancel F

>  GLIBC_2.2 pthread_yield F

>  GLIBC_2.2 ptrace F

>  GLIBC_2.2 ptsname F

> @@ -2275,6 +2276,7 @@ GLIBC_2.34 pthread_spin_init F

>  GLIBC_2.34 pthread_spin_lock F

>  GLIBC_2.34 pthread_spin_trylock F

>  GLIBC_2.34 pthread_spin_unlock F

> +GLIBC_2.34 pthread_testcancel F

>  GLIBC_2.34 thrd_exit F

>  GLIBC_2.34 tss_create F

>  GLIBC_2.34 tss_delete F

> diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist

> index ffe9d5fed1..c5c78cb049 100644

> --- a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist

> +++ b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist

> @@ -32,7 +32,6 @@ GLIBC_2.2 pthread_getconcurrency F

>  GLIBC_2.2 pthread_getcpuclockid F

>  GLIBC_2.2 pthread_join F

>  GLIBC_2.2 pthread_setconcurrency F

> -GLIBC_2.2 pthread_testcancel F

>  GLIBC_2.2 sem_close F

>  GLIBC_2.2 sem_destroy F

>  GLIBC_2.2 sem_getvalue F

> diff --git a/sysdeps/unix/sysv/linux/sh/be/libc.abilist b/sysdeps/unix/sysv/linux/sh/be/libc.abilist

> index 2199062106..66be9c89c9 100644

> --- a/sysdeps/unix/sysv/linux/sh/be/libc.abilist

> +++ b/sysdeps/unix/sysv/linux/sh/be/libc.abilist

> @@ -1345,6 +1345,7 @@ GLIBC_2.2 pthread_spin_init F

>  GLIBC_2.2 pthread_spin_lock F

>  GLIBC_2.2 pthread_spin_trylock F

>  GLIBC_2.2 pthread_spin_unlock F

> +GLIBC_2.2 pthread_testcancel F

>  GLIBC_2.2 pthread_yield F

>  GLIBC_2.2 ptrace F

>  GLIBC_2.2 ptsname F

> @@ -2244,6 +2245,7 @@ GLIBC_2.34 pthread_spin_init F

>  GLIBC_2.34 pthread_spin_lock F

>  GLIBC_2.34 pthread_spin_trylock F

>  GLIBC_2.34 pthread_spin_unlock F

> +GLIBC_2.34 pthread_testcancel F

>  GLIBC_2.34 thrd_exit F

>  GLIBC_2.34 tss_create F

>  GLIBC_2.34 tss_delete F

> diff --git a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist

> index af0359bd14..0d4dfb6328 100644

> --- a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist

> +++ b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist

> @@ -31,7 +31,6 @@ GLIBC_2.2 pthread_getconcurrency F

>  GLIBC_2.2 pthread_getcpuclockid F

>  GLIBC_2.2 pthread_join F

>  GLIBC_2.2 pthread_setconcurrency F

> -GLIBC_2.2 pthread_testcancel F

>  GLIBC_2.2 sem_close F

>  GLIBC_2.2 sem_destroy F

>  GLIBC_2.2 sem_getvalue F

> diff --git a/sysdeps/unix/sysv/linux/sh/le/libc.abilist b/sysdeps/unix/sysv/linux/sh/le/libc.abilist

> index 10d5e2d2c9..fb0fed082f 100644

> --- a/sysdeps/unix/sysv/linux/sh/le/libc.abilist

> +++ b/sysdeps/unix/sysv/linux/sh/le/libc.abilist

> @@ -1345,6 +1345,7 @@ GLIBC_2.2 pthread_spin_init F

>  GLIBC_2.2 pthread_spin_lock F

>  GLIBC_2.2 pthread_spin_trylock F

>  GLIBC_2.2 pthread_spin_unlock F

> +GLIBC_2.2 pthread_testcancel F

>  GLIBC_2.2 pthread_yield F

>  GLIBC_2.2 ptrace F

>  GLIBC_2.2 ptsname F

> @@ -2241,6 +2242,7 @@ GLIBC_2.34 pthread_spin_init F

>  GLIBC_2.34 pthread_spin_lock F

>  GLIBC_2.34 pthread_spin_trylock F

>  GLIBC_2.34 pthread_spin_unlock F

> +GLIBC_2.34 pthread_testcancel F

>  GLIBC_2.34 thrd_exit F

>  GLIBC_2.34 tss_create F

>  GLIBC_2.34 tss_delete F

> diff --git a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist

> index af0359bd14..0d4dfb6328 100644

> --- a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist

> +++ b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist

> @@ -31,7 +31,6 @@ GLIBC_2.2 pthread_getconcurrency F

>  GLIBC_2.2 pthread_getcpuclockid F

>  GLIBC_2.2 pthread_join F

>  GLIBC_2.2 pthread_setconcurrency F

> -GLIBC_2.2 pthread_testcancel F

>  GLIBC_2.2 sem_close F

>  GLIBC_2.2 sem_destroy F

>  GLIBC_2.2 sem_getvalue F

> diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist

> index 55df20cf28..37c3cf105f 100644

> --- a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist

> +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist

> @@ -899,6 +899,7 @@ GLIBC_2.0 pthread_setcanceltype F

>  GLIBC_2.0 pthread_setschedparam F

>  GLIBC_2.0 pthread_setspecific F

>  GLIBC_2.0 pthread_sigmask F

> +GLIBC_2.0 pthread_testcancel F

>  GLIBC_2.0 ptrace F

>  GLIBC_2.0 putc F

>  GLIBC_2.0 putc_unlocked F

> @@ -2373,6 +2374,7 @@ GLIBC_2.34 pthread_spin_init F

>  GLIBC_2.34 pthread_spin_lock F

>  GLIBC_2.34 pthread_spin_trylock F

>  GLIBC_2.34 pthread_spin_unlock F

> +GLIBC_2.34 pthread_testcancel F

>  GLIBC_2.34 thrd_exit F

>  GLIBC_2.34 tss_create F

>  GLIBC_2.34 tss_delete F

> diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist

> index 5eae00fd6b..2633a1c816 100644

> --- a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist

> +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist

> @@ -9,7 +9,6 @@ GLIBC_2.0 pthread_cancel F

>  GLIBC_2.0 pthread_create F

>  GLIBC_2.0 pthread_detach F

>  GLIBC_2.0 pthread_join F

> -GLIBC_2.0 pthread_testcancel F

>  GLIBC_2.0 sem_destroy F

>  GLIBC_2.0 sem_getvalue F

>  GLIBC_2.0 sem_init F

> diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist

> index f9520b474d..80f79eb731 100644

> --- a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist

> +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist

> @@ -1388,6 +1388,7 @@ GLIBC_2.2 pthread_spin_init F

>  GLIBC_2.2 pthread_spin_lock F

>  GLIBC_2.2 pthread_spin_trylock F

>  GLIBC_2.2 pthread_spin_unlock F

> +GLIBC_2.2 pthread_testcancel F

>  GLIBC_2.2 pthread_yield F

>  GLIBC_2.2 ptrace F

>  GLIBC_2.2 ptsname F

> @@ -2292,6 +2293,7 @@ GLIBC_2.34 pthread_spin_init F

>  GLIBC_2.34 pthread_spin_lock F

>  GLIBC_2.34 pthread_spin_trylock F

>  GLIBC_2.34 pthread_spin_unlock F

> +GLIBC_2.34 pthread_testcancel F

>  GLIBC_2.34 thrd_exit F

>  GLIBC_2.34 tss_create F

>  GLIBC_2.34 tss_delete F

> diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist

> index c6c1f7ac7b..cef26d71d6 100644

> --- a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist

> +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist

> @@ -31,7 +31,6 @@ GLIBC_2.2 pthread_getconcurrency F

>  GLIBC_2.2 pthread_getcpuclockid F

>  GLIBC_2.2 pthread_join F

>  GLIBC_2.2 pthread_setconcurrency F

> -GLIBC_2.2 pthread_testcancel F

>  GLIBC_2.2 sem_close F

>  GLIBC_2.2 sem_destroy F

>  GLIBC_2.2 sem_getvalue F

> diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist

> index 9a4a3c16fa..a743156f26 100644

> --- a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist

> +++ b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist

> @@ -1356,6 +1356,7 @@ GLIBC_2.2.5 pthread_spin_init F

>  GLIBC_2.2.5 pthread_spin_lock F

>  GLIBC_2.2.5 pthread_spin_trylock F

>  GLIBC_2.2.5 pthread_spin_unlock F

> +GLIBC_2.2.5 pthread_testcancel F

>  GLIBC_2.2.5 pthread_yield F

>  GLIBC_2.2.5 ptrace F

>  GLIBC_2.2.5 ptsname F

> @@ -2253,6 +2254,7 @@ GLIBC_2.34 pthread_spin_init F

>  GLIBC_2.34 pthread_spin_lock F

>  GLIBC_2.34 pthread_spin_trylock F

>  GLIBC_2.34 pthread_spin_unlock F

> +GLIBC_2.34 pthread_testcancel F

>  GLIBC_2.34 thrd_exit F

>  GLIBC_2.34 tss_create F

>  GLIBC_2.34 tss_delete F

> diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist

> index 540c8760ed..000cf018c7 100644

> --- a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist

> +++ b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist

> @@ -31,7 +31,6 @@ GLIBC_2.2.5 pthread_getconcurrency F

>  GLIBC_2.2.5 pthread_getcpuclockid F

>  GLIBC_2.2.5 pthread_join F

>  GLIBC_2.2.5 pthread_setconcurrency F

> -GLIBC_2.2.5 pthread_testcancel F

>  GLIBC_2.2.5 sem_close F

>  GLIBC_2.2.5 sem_destroy F

>  GLIBC_2.2.5 sem_getvalue F

> diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist

> index 21385c23d1..828c2f922b 100644

> --- a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist

> +++ b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist

> @@ -1537,6 +1537,7 @@ GLIBC_2.16 pthread_spin_init F

>  GLIBC_2.16 pthread_spin_lock F

>  GLIBC_2.16 pthread_spin_trylock F

>  GLIBC_2.16 pthread_spin_unlock F

> +GLIBC_2.16 pthread_testcancel F

>  GLIBC_2.16 pthread_yield F

>  GLIBC_2.16 ptrace F

>  GLIBC_2.16 ptsname F

> @@ -2358,6 +2359,7 @@ GLIBC_2.34 pthread_spin_init F

>  GLIBC_2.34 pthread_spin_lock F

>  GLIBC_2.34 pthread_spin_trylock F

>  GLIBC_2.34 pthread_spin_unlock F

> +GLIBC_2.34 pthread_testcancel F

>  GLIBC_2.34 thrd_exit F

>  GLIBC_2.34 tss_create F

>  GLIBC_2.34 tss_delete F

> diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist

> index 01f6915331..068065e40c 100644

> --- a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist

> +++ b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist

> @@ -37,7 +37,6 @@ GLIBC_2.16 pthread_setconcurrency F

>  GLIBC_2.16 pthread_setname_np F

>  GLIBC_2.16 pthread_setschedprio F

>  GLIBC_2.16 pthread_sigqueue F

> -GLIBC_2.16 pthread_testcancel F

>  GLIBC_2.16 pthread_timedjoin_np F

>  GLIBC_2.16 pthread_tryjoin_np F

>  GLIBC_2.16 sem_close F

>

Patch

diff --git a/nptl/Makefile b/nptl/Makefile
index 38f2715c2c..884cb69bb4 100644
--- a/nptl/Makefile
+++ b/nptl/Makefile
@@ -148,6 +148,7 @@  routines = \
   pthread_spin_lock \
   pthread_spin_trylock \
   pthread_spin_unlock \
+  pthread_testcancel \
   pthread_yield \
   tpp \
   unwind \
@@ -199,7 +200,6 @@  libpthread-routines = \
   pthread_setname \
   pthread_setschedprio \
   pthread_sigqueue \
-  pthread_testcancel \
   pthread_timedjoin \
   pthread_tryjoin \
   sem_clockwait \
diff --git a/nptl/Versions b/nptl/Versions
index 0914630be3..ce09c73727 100644
--- a/nptl/Versions
+++ b/nptl/Versions
@@ -61,6 +61,7 @@  libc {
     pthread_setschedparam;
     pthread_setspecific;
     pthread_sigmask;
+    pthread_testcancel;
   }
   GLIBC_2.1 {
     pthread_attr_init;
@@ -245,6 +246,7 @@  libc {
     pthread_spin_lock;
     pthread_spin_trylock;
     pthread_spin_unlock;
+    pthread_testcancel;
     thrd_exit;
     tss_create;
     tss_delete;
@@ -284,6 +286,7 @@  libc {
     __pthread_keys;
     __pthread_mutex_unlock_usercnt;
     __pthread_setcancelstate;
+    __pthread_testcancel;
     __pthread_tpp_change_priority;
     __pthread_unwind;
     __sched_fifo_max_prio;
@@ -307,7 +310,6 @@  libpthread {
     pthread_detach;
     pthread_join;
     pthread_sigmask;
-    pthread_testcancel;
     sem_destroy;
     sem_getvalue;
     sem_init;
diff --git a/nptl/pthreadP.h b/nptl/pthreadP.h
index 00d2cfe764..ee77928fc7 100644
--- a/nptl/pthreadP.h
+++ b/nptl/pthreadP.h
@@ -572,6 +572,7 @@  libc_hidden_proto (__pthread_setcanceltype)
 extern int __pthread_enable_asynccancel (void) attribute_hidden;
 extern void __pthread_disable_asynccancel (int oldtype) attribute_hidden;
 extern void __pthread_testcancel (void);
+libc_hidden_proto (__pthread_testcancel)
 extern int __pthread_clockjoin_ex (pthread_t, void **, clockid_t,
 				   const struct __timespec64 *, bool)
   attribute_hidden;
@@ -581,7 +582,6 @@  libc_hidden_proto (__pthread_sigmask);
 
 #if IS_IN (libpthread)
 hidden_proto (__pthread_rwlock_unlock)
-hidden_proto (__pthread_testcancel)
 #endif
 
 extern int __pthread_cond_broadcast_2_0 (pthread_cond_2_0_t *cond);
diff --git a/nptl/pthread_testcancel.c b/nptl/pthread_testcancel.c
index 8ed2370afa..a9e941ddb7 100644
--- a/nptl/pthread_testcancel.c
+++ b/nptl/pthread_testcancel.c
@@ -18,12 +18,18 @@ 
 
 #include <stdlib.h>
 #include "pthreadP.h"
-
+#include <shlib-compat.h>
 
 void
-__pthread_testcancel (void)
+___pthread_testcancel (void)
 {
   CANCELLATION_P (THREAD_SELF);
 }
-strong_alias (__pthread_testcancel, pthread_testcancel)
-hidden_def (__pthread_testcancel)
+versioned_symbol (libc, ___pthread_testcancel, pthread_testcancel, GLIBC_2_34);
+versioned_symbol (libc, ___pthread_testcancel, __pthread_testcancel,
+                  GLIBC_PRIVATE);
+libc_hidden_ver (___pthread_testcancel, __pthread_testcancel)
+
+#if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_0, GLIBC_2_34)
+compat_symbol (libc, ___pthread_testcancel, pthread_testcancel, GLIBC_2_0);
+#endif
diff --git a/sysdeps/unix/sysv/linux/aarch64/libc.abilist b/sysdeps/unix/sysv/linux/aarch64/libc.abilist
index aad440cc6a..5dfea47ebf 100644
--- a/sysdeps/unix/sysv/linux/aarch64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/aarch64/libc.abilist
@@ -1530,6 +1530,7 @@  GLIBC_2.17 pthread_spin_init F
 GLIBC_2.17 pthread_spin_lock F
 GLIBC_2.17 pthread_spin_trylock F
 GLIBC_2.17 pthread_spin_unlock F
+GLIBC_2.17 pthread_testcancel F
 GLIBC_2.17 pthread_yield F
 GLIBC_2.17 ptrace F
 GLIBC_2.17 ptsname F
@@ -2343,6 +2344,7 @@  GLIBC_2.34 pthread_spin_init F
 GLIBC_2.34 pthread_spin_lock F
 GLIBC_2.34 pthread_spin_trylock F
 GLIBC_2.34 pthread_spin_unlock F
+GLIBC_2.34 pthread_testcancel F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
index c1f11e12df..839f2ff64a 100644
--- a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
@@ -37,7 +37,6 @@  GLIBC_2.17 pthread_setconcurrency F
 GLIBC_2.17 pthread_setname_np F
 GLIBC_2.17 pthread_setschedprio F
 GLIBC_2.17 pthread_sigqueue F
-GLIBC_2.17 pthread_testcancel F
 GLIBC_2.17 pthread_timedjoin_np F
 GLIBC_2.17 pthread_tryjoin_np F
 GLIBC_2.17 sem_close F
diff --git a/sysdeps/unix/sysv/linux/alpha/libc.abilist b/sysdeps/unix/sysv/linux/alpha/libc.abilist
index e0deca069c..318eea546a 100644
--- a/sysdeps/unix/sysv/linux/alpha/libc.abilist
+++ b/sysdeps/unix/sysv/linux/alpha/libc.abilist
@@ -921,6 +921,7 @@  GLIBC_2.0 pthread_setcanceltype F
 GLIBC_2.0 pthread_setschedparam F
 GLIBC_2.0 pthread_setspecific F
 GLIBC_2.0 pthread_sigmask F
+GLIBC_2.0 pthread_testcancel F
 GLIBC_2.0 ptrace F
 GLIBC_2.0 putc F
 GLIBC_2.0 putc_unlocked F
@@ -2424,6 +2425,7 @@  GLIBC_2.34 pthread_spin_init F
 GLIBC_2.34 pthread_spin_lock F
 GLIBC_2.34 pthread_spin_trylock F
 GLIBC_2.34 pthread_spin_unlock F
+GLIBC_2.34 pthread_testcancel F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
index 5eae00fd6b..2633a1c816 100644
--- a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
@@ -9,7 +9,6 @@  GLIBC_2.0 pthread_cancel F
 GLIBC_2.0 pthread_create F
 GLIBC_2.0 pthread_detach F
 GLIBC_2.0 pthread_join F
-GLIBC_2.0 pthread_testcancel F
 GLIBC_2.0 sem_destroy F
 GLIBC_2.0 sem_getvalue F
 GLIBC_2.0 sem_init F
diff --git a/sysdeps/unix/sysv/linux/arc/libc.abilist b/sysdeps/unix/sysv/linux/arc/libc.abilist
index ac0f574207..18b5c97cc8 100644
--- a/sysdeps/unix/sysv/linux/arc/libc.abilist
+++ b/sysdeps/unix/sysv/linux/arc/libc.abilist
@@ -1473,6 +1473,7 @@  GLIBC_2.32 pthread_spin_init F
 GLIBC_2.32 pthread_spin_lock F
 GLIBC_2.32 pthread_spin_trylock F
 GLIBC_2.32 pthread_spin_unlock F
+GLIBC_2.32 pthread_testcancel F
 GLIBC_2.32 pthread_yield F
 GLIBC_2.32 ptrace F
 GLIBC_2.32 ptsname F
@@ -2102,6 +2103,7 @@  GLIBC_2.34 pthread_spin_init F
 GLIBC_2.34 pthread_spin_lock F
 GLIBC_2.34 pthread_spin_trylock F
 GLIBC_2.34 pthread_spin_unlock F
+GLIBC_2.34 pthread_testcancel F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/arc/libpthread.abilist b/sysdeps/unix/sysv/linux/arc/libpthread.abilist
index 8d12b93ff1..fbe2217064 100644
--- a/sysdeps/unix/sysv/linux/arc/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/arc/libpthread.abilist
@@ -40,7 +40,6 @@  GLIBC_2.32 pthread_setconcurrency F
 GLIBC_2.32 pthread_setname_np F
 GLIBC_2.32 pthread_setschedprio F
 GLIBC_2.32 pthread_sigqueue F
-GLIBC_2.32 pthread_testcancel F
 GLIBC_2.32 pthread_timedjoin_np F
 GLIBC_2.32 pthread_tryjoin_np F
 GLIBC_2.32 sem_clockwait F
diff --git a/sysdeps/unix/sysv/linux/arm/be/libc.abilist b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
index c77241c227..7de0e34b14 100644
--- a/sysdeps/unix/sysv/linux/arm/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
@@ -250,6 +250,7 @@  GLIBC_2.34 pthread_spin_init F
 GLIBC_2.34 pthread_spin_lock F
 GLIBC_2.34 pthread_spin_trylock F
 GLIBC_2.34 pthread_spin_unlock F
+GLIBC_2.34 pthread_testcancel F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
@@ -1718,6 +1719,7 @@  GLIBC_2.4 pthread_spin_init F
 GLIBC_2.4 pthread_spin_lock F
 GLIBC_2.4 pthread_spin_trylock F
 GLIBC_2.4 pthread_spin_unlock F
+GLIBC_2.4 pthread_testcancel F
 GLIBC_2.4 pthread_yield F
 GLIBC_2.4 ptrace F
 GLIBC_2.4 ptsname F
diff --git a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
index e7907d89b8..bd82a85136 100644
--- a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
@@ -45,7 +45,6 @@  GLIBC_2.4 pthread_join F
 GLIBC_2.4 pthread_setaffinity_np F
 GLIBC_2.4 pthread_setconcurrency F
 GLIBC_2.4 pthread_setschedprio F
-GLIBC_2.4 pthread_testcancel F
 GLIBC_2.4 pthread_timedjoin_np F
 GLIBC_2.4 pthread_tryjoin_np F
 GLIBC_2.4 sem_close F
diff --git a/sysdeps/unix/sysv/linux/arm/le/libc.abilist b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
index 9e02ac94d8..3e79ca85f0 100644
--- a/sysdeps/unix/sysv/linux/arm/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
@@ -247,6 +247,7 @@  GLIBC_2.34 pthread_spin_init F
 GLIBC_2.34 pthread_spin_lock F
 GLIBC_2.34 pthread_spin_trylock F
 GLIBC_2.34 pthread_spin_unlock F
+GLIBC_2.34 pthread_testcancel F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
@@ -1715,6 +1716,7 @@  GLIBC_2.4 pthread_spin_init F
 GLIBC_2.4 pthread_spin_lock F
 GLIBC_2.4 pthread_spin_trylock F
 GLIBC_2.4 pthread_spin_unlock F
+GLIBC_2.4 pthread_testcancel F
 GLIBC_2.4 pthread_yield F
 GLIBC_2.4 ptrace F
 GLIBC_2.4 ptsname F
diff --git a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
index e7907d89b8..bd82a85136 100644
--- a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
@@ -45,7 +45,6 @@  GLIBC_2.4 pthread_join F
 GLIBC_2.4 pthread_setaffinity_np F
 GLIBC_2.4 pthread_setconcurrency F
 GLIBC_2.4 pthread_setschedprio F
-GLIBC_2.4 pthread_testcancel F
 GLIBC_2.4 pthread_timedjoin_np F
 GLIBC_2.4 pthread_tryjoin_np F
 GLIBC_2.4 sem_close F
diff --git a/sysdeps/unix/sysv/linux/csky/libc.abilist b/sysdeps/unix/sysv/linux/csky/libc.abilist
index a209787385..9eaeda5d49 100644
--- a/sysdeps/unix/sysv/linux/csky/libc.abilist
+++ b/sysdeps/unix/sysv/linux/csky/libc.abilist
@@ -1530,6 +1530,7 @@  GLIBC_2.29 pthread_spin_init F
 GLIBC_2.29 pthread_spin_lock F
 GLIBC_2.29 pthread_spin_trylock F
 GLIBC_2.29 pthread_spin_unlock F
+GLIBC_2.29 pthread_testcancel F
 GLIBC_2.29 pthread_yield F
 GLIBC_2.29 ptrace F
 GLIBC_2.29 ptsname F
@@ -2286,6 +2287,7 @@  GLIBC_2.34 pthread_spin_init F
 GLIBC_2.34 pthread_spin_lock F
 GLIBC_2.34 pthread_spin_trylock F
 GLIBC_2.34 pthread_spin_unlock F
+GLIBC_2.34 pthread_testcancel F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/csky/libpthread.abilist b/sysdeps/unix/sysv/linux/csky/libpthread.abilist
index 4030a58e1a..c1e500ab59 100644
--- a/sysdeps/unix/sysv/linux/csky/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/csky/libpthread.abilist
@@ -39,7 +39,6 @@  GLIBC_2.29 pthread_setconcurrency F
 GLIBC_2.29 pthread_setname_np F
 GLIBC_2.29 pthread_setschedprio F
 GLIBC_2.29 pthread_sigqueue F
-GLIBC_2.29 pthread_testcancel F
 GLIBC_2.29 pthread_timedjoin_np F
 GLIBC_2.29 pthread_tryjoin_np F
 GLIBC_2.29 sem_close F
diff --git a/sysdeps/unix/sysv/linux/hppa/libc.abilist b/sysdeps/unix/sysv/linux/hppa/libc.abilist
index cbbf211ee5..59165723ed 100644
--- a/sysdeps/unix/sysv/linux/hppa/libc.abilist
+++ b/sysdeps/unix/sysv/linux/hppa/libc.abilist
@@ -1341,6 +1341,7 @@  GLIBC_2.2 pthread_spin_init F
 GLIBC_2.2 pthread_spin_lock F
 GLIBC_2.2 pthread_spin_trylock F
 GLIBC_2.2 pthread_spin_unlock F
+GLIBC_2.2 pthread_testcancel F
 GLIBC_2.2 pthread_yield F
 GLIBC_2.2 ptrace F
 GLIBC_2.2 ptsname F
@@ -2237,6 +2238,7 @@  GLIBC_2.34 pthread_spin_init F
 GLIBC_2.34 pthread_spin_lock F
 GLIBC_2.34 pthread_spin_trylock F
 GLIBC_2.34 pthread_spin_unlock F
+GLIBC_2.34 pthread_testcancel F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
index af0359bd14..0d4dfb6328 100644
--- a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
@@ -31,7 +31,6 @@  GLIBC_2.2 pthread_getconcurrency F
 GLIBC_2.2 pthread_getcpuclockid F
 GLIBC_2.2 pthread_join F
 GLIBC_2.2 pthread_setconcurrency F
-GLIBC_2.2 pthread_testcancel F
 GLIBC_2.2 sem_close F
 GLIBC_2.2 sem_destroy F
 GLIBC_2.2 sem_getvalue F
diff --git a/sysdeps/unix/sysv/linux/i386/libc.abilist b/sysdeps/unix/sysv/linux/i386/libc.abilist
index 24cb2d684d..05c26afb65 100644
--- a/sysdeps/unix/sysv/linux/i386/libc.abilist
+++ b/sysdeps/unix/sysv/linux/i386/libc.abilist
@@ -898,6 +898,7 @@  GLIBC_2.0 pthread_setcanceltype F
 GLIBC_2.0 pthread_setschedparam F
 GLIBC_2.0 pthread_setspecific F
 GLIBC_2.0 pthread_sigmask F
+GLIBC_2.0 pthread_testcancel F
 GLIBC_2.0 ptrace F
 GLIBC_2.0 putc F
 GLIBC_2.0 putc_unlocked F
@@ -2414,6 +2415,7 @@  GLIBC_2.34 pthread_spin_init F
 GLIBC_2.34 pthread_spin_lock F
 GLIBC_2.34 pthread_spin_trylock F
 GLIBC_2.34 pthread_spin_unlock F
+GLIBC_2.34 pthread_testcancel F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/i386/libpthread.abilist b/sysdeps/unix/sysv/linux/i386/libpthread.abilist
index 1fdd0c7758..7b43b9309b 100644
--- a/sysdeps/unix/sysv/linux/i386/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/i386/libpthread.abilist
@@ -9,7 +9,6 @@  GLIBC_2.0 pthread_cancel F
 GLIBC_2.0 pthread_create F
 GLIBC_2.0 pthread_detach F
 GLIBC_2.0 pthread_join F
-GLIBC_2.0 pthread_testcancel F
 GLIBC_2.0 sem_destroy F
 GLIBC_2.0 sem_getvalue F
 GLIBC_2.0 sem_init F
diff --git a/sysdeps/unix/sysv/linux/ia64/libc.abilist b/sysdeps/unix/sysv/linux/ia64/libc.abilist
index 7513d48cae..2aeb8e0be5 100644
--- a/sysdeps/unix/sysv/linux/ia64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/ia64/libc.abilist
@@ -1362,6 +1362,7 @@  GLIBC_2.2 pthread_spin_init F
 GLIBC_2.2 pthread_spin_lock F
 GLIBC_2.2 pthread_spin_trylock F
 GLIBC_2.2 pthread_spin_unlock F
+GLIBC_2.2 pthread_testcancel F
 GLIBC_2.2 pthread_yield F
 GLIBC_2.2 ptrace F
 GLIBC_2.2 ptsname F
@@ -2271,6 +2272,7 @@  GLIBC_2.34 pthread_spin_init F
 GLIBC_2.34 pthread_spin_lock F
 GLIBC_2.34 pthread_spin_trylock F
 GLIBC_2.34 pthread_spin_unlock F
+GLIBC_2.34 pthread_testcancel F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
index c6c1f7ac7b..cef26d71d6 100644
--- a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
@@ -31,7 +31,6 @@  GLIBC_2.2 pthread_getconcurrency F
 GLIBC_2.2 pthread_getcpuclockid F
 GLIBC_2.2 pthread_join F
 GLIBC_2.2 pthread_setconcurrency F
-GLIBC_2.2 pthread_testcancel F
 GLIBC_2.2 sem_close F
 GLIBC_2.2 sem_destroy F
 GLIBC_2.2 sem_getvalue F
diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
index 013dcbb16d..571c501b95 100644
--- a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
@@ -251,6 +251,7 @@  GLIBC_2.34 pthread_spin_init F
 GLIBC_2.34 pthread_spin_lock F
 GLIBC_2.34 pthread_spin_trylock F
 GLIBC_2.34 pthread_spin_unlock F
+GLIBC_2.34 pthread_testcancel F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
@@ -1698,6 +1699,7 @@  GLIBC_2.4 pthread_spin_init F
 GLIBC_2.4 pthread_spin_lock F
 GLIBC_2.4 pthread_spin_trylock F
 GLIBC_2.4 pthread_spin_unlock F
+GLIBC_2.4 pthread_testcancel F
 GLIBC_2.4 pthread_yield F
 GLIBC_2.4 ptrace F
 GLIBC_2.4 ptsname F
diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
index e7907d89b8..bd82a85136 100644
--- a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
@@ -45,7 +45,6 @@  GLIBC_2.4 pthread_join F
 GLIBC_2.4 pthread_setaffinity_np F
 GLIBC_2.4 pthread_setconcurrency F
 GLIBC_2.4 pthread_setschedprio F
-GLIBC_2.4 pthread_testcancel F
 GLIBC_2.4 pthread_timedjoin_np F
 GLIBC_2.4 pthread_tryjoin_np F
 GLIBC_2.4 sem_close F
diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
index 0748c21b38..0404cf1749 100644
--- a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
@@ -897,6 +897,7 @@  GLIBC_2.0 pthread_setcanceltype F
 GLIBC_2.0 pthread_setschedparam F
 GLIBC_2.0 pthread_setspecific F
 GLIBC_2.0 pthread_sigmask F
+GLIBC_2.0 pthread_testcancel F
 GLIBC_2.0 ptrace F
 GLIBC_2.0 putc F
 GLIBC_2.0 putc_unlocked F
@@ -2357,6 +2358,7 @@  GLIBC_2.34 pthread_spin_init F
 GLIBC_2.34 pthread_spin_lock F
 GLIBC_2.34 pthread_spin_trylock F
 GLIBC_2.34 pthread_spin_unlock F
+GLIBC_2.34 pthread_testcancel F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
index 1fdd0c7758..7b43b9309b 100644
--- a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
@@ -9,7 +9,6 @@  GLIBC_2.0 pthread_cancel F
 GLIBC_2.0 pthread_create F
 GLIBC_2.0 pthread_detach F
 GLIBC_2.0 pthread_join F
-GLIBC_2.0 pthread_testcancel F
 GLIBC_2.0 sem_destroy F
 GLIBC_2.0 sem_getvalue F
 GLIBC_2.0 sem_init F
diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
index 4f0cf3bd56..7be131d0fc 100644
--- a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
@@ -1532,6 +1532,7 @@  GLIBC_2.18 pthread_spin_init F
 GLIBC_2.18 pthread_spin_lock F
 GLIBC_2.18 pthread_spin_trylock F
 GLIBC_2.18 pthread_spin_unlock F
+GLIBC_2.18 pthread_testcancel F
 GLIBC_2.18 pthread_yield F
 GLIBC_2.18 ptrace F
 GLIBC_2.18 ptsname F
@@ -2337,6 +2338,7 @@  GLIBC_2.34 pthread_spin_init F
 GLIBC_2.34 pthread_spin_lock F
 GLIBC_2.34 pthread_spin_trylock F
 GLIBC_2.34 pthread_spin_unlock F
+GLIBC_2.34 pthread_testcancel F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
index 785630fec3..6bfa410c44 100644
--- a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
@@ -39,7 +39,6 @@  GLIBC_2.18 pthread_setconcurrency F
 GLIBC_2.18 pthread_setname_np F
 GLIBC_2.18 pthread_setschedprio F
 GLIBC_2.18 pthread_sigqueue F
-GLIBC_2.18 pthread_testcancel F
 GLIBC_2.18 pthread_timedjoin_np F
 GLIBC_2.18 pthread_tryjoin_np F
 GLIBC_2.18 sem_close F
diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
index 726bae9a75..31c157bb4a 100644
--- a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
@@ -1532,6 +1532,7 @@  GLIBC_2.18 pthread_spin_init F
 GLIBC_2.18 pthread_spin_lock F
 GLIBC_2.18 pthread_spin_trylock F
 GLIBC_2.18 pthread_spin_unlock F
+GLIBC_2.18 pthread_testcancel F
 GLIBC_2.18 pthread_yield F
 GLIBC_2.18 ptrace F
 GLIBC_2.18 ptsname F
@@ -2334,6 +2335,7 @@  GLIBC_2.34 pthread_spin_init F
 GLIBC_2.34 pthread_spin_lock F
 GLIBC_2.34 pthread_spin_trylock F
 GLIBC_2.34 pthread_spin_unlock F
+GLIBC_2.34 pthread_testcancel F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
index 785630fec3..6bfa410c44 100644
--- a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
@@ -39,7 +39,6 @@  GLIBC_2.18 pthread_setconcurrency F
 GLIBC_2.18 pthread_setname_np F
 GLIBC_2.18 pthread_setschedprio F
 GLIBC_2.18 pthread_sigqueue F
-GLIBC_2.18 pthread_testcancel F
 GLIBC_2.18 pthread_timedjoin_np F
 GLIBC_2.18 pthread_tryjoin_np F
 GLIBC_2.18 sem_close F
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
index 12f4c46f75..0f6e9cbf01 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
@@ -894,6 +894,7 @@  GLIBC_2.0 pthread_setcanceltype F
 GLIBC_2.0 pthread_setschedparam F
 GLIBC_2.0 pthread_setspecific F
 GLIBC_2.0 pthread_sigmask F
+GLIBC_2.0 pthread_testcancel F
 GLIBC_2.0 ptrace F
 GLIBC_2.0 putc F
 GLIBC_2.0 putc_unlocked F
@@ -2320,6 +2321,7 @@  GLIBC_2.34 pthread_spin_init F
 GLIBC_2.34 pthread_spin_lock F
 GLIBC_2.34 pthread_spin_trylock F
 GLIBC_2.34 pthread_spin_unlock F
+GLIBC_2.34 pthread_testcancel F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
index 8df7179bd2..83434ae1b6 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
@@ -9,7 +9,6 @@  GLIBC_2.0 pthread_cancel F
 GLIBC_2.0 pthread_create F
 GLIBC_2.0 pthread_detach F
 GLIBC_2.0 pthread_join F
-GLIBC_2.0 pthread_testcancel F
 GLIBC_2.0 sem_destroy F
 GLIBC_2.0 sem_getvalue F
 GLIBC_2.0 sem_init F
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
index 640f5e8c7b..9fc089707f 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
@@ -894,6 +894,7 @@  GLIBC_2.0 pthread_setcanceltype F
 GLIBC_2.0 pthread_setschedparam F
 GLIBC_2.0 pthread_setspecific F
 GLIBC_2.0 pthread_sigmask F
+GLIBC_2.0 pthread_testcancel F
 GLIBC_2.0 ptrace F
 GLIBC_2.0 putc F
 GLIBC_2.0 putc_unlocked F
@@ -2318,6 +2319,7 @@  GLIBC_2.34 pthread_spin_init F
 GLIBC_2.34 pthread_spin_lock F
 GLIBC_2.34 pthread_spin_trylock F
 GLIBC_2.34 pthread_spin_unlock F
+GLIBC_2.34 pthread_testcancel F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
index 8df7179bd2..83434ae1b6 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
@@ -9,7 +9,6 @@  GLIBC_2.0 pthread_cancel F
 GLIBC_2.0 pthread_create F
 GLIBC_2.0 pthread_detach F
 GLIBC_2.0 pthread_join F
-GLIBC_2.0 pthread_testcancel F
 GLIBC_2.0 sem_destroy F
 GLIBC_2.0 sem_getvalue F
 GLIBC_2.0 sem_init F
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
index 92c0be4e90..edb5b754bf 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
@@ -894,6 +894,7 @@  GLIBC_2.0 pthread_setcanceltype F
 GLIBC_2.0 pthread_setschedparam F
 GLIBC_2.0 pthread_setspecific F
 GLIBC_2.0 pthread_sigmask F
+GLIBC_2.0 pthread_testcancel F
 GLIBC_2.0 ptrace F
 GLIBC_2.0 putc F
 GLIBC_2.0 putc_unlocked F
@@ -2326,6 +2327,7 @@  GLIBC_2.34 pthread_spin_init F
 GLIBC_2.34 pthread_spin_lock F
 GLIBC_2.34 pthread_spin_trylock F
 GLIBC_2.34 pthread_spin_unlock F
+GLIBC_2.34 pthread_testcancel F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
index 90a0e497f6..a80f4d6138 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
@@ -892,6 +892,7 @@  GLIBC_2.0 pthread_setcanceltype F
 GLIBC_2.0 pthread_setschedparam F
 GLIBC_2.0 pthread_setspecific F
 GLIBC_2.0 pthread_sigmask F
+GLIBC_2.0 pthread_testcancel F
 GLIBC_2.0 ptrace F
 GLIBC_2.0 putc F
 GLIBC_2.0 putc_unlocked F
@@ -2320,6 +2321,7 @@  GLIBC_2.34 pthread_spin_init F
 GLIBC_2.34 pthread_spin_lock F
 GLIBC_2.34 pthread_spin_trylock F
 GLIBC_2.34 pthread_spin_unlock F
+GLIBC_2.34 pthread_testcancel F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/nios2/libc.abilist b/sysdeps/unix/sysv/linux/nios2/libc.abilist
index caeb686742..ce16d91d60 100644
--- a/sysdeps/unix/sysv/linux/nios2/libc.abilist
+++ b/sysdeps/unix/sysv/linux/nios2/libc.abilist
@@ -1575,6 +1575,7 @@  GLIBC_2.21 pthread_spin_init F
 GLIBC_2.21 pthread_spin_lock F
 GLIBC_2.21 pthread_spin_trylock F
 GLIBC_2.21 pthread_spin_unlock F
+GLIBC_2.21 pthread_testcancel F
 GLIBC_2.21 pthread_yield F
 GLIBC_2.21 ptrace F
 GLIBC_2.21 ptsname F
@@ -2376,6 +2377,7 @@  GLIBC_2.34 pthread_spin_init F
 GLIBC_2.34 pthread_spin_lock F
 GLIBC_2.34 pthread_spin_trylock F
 GLIBC_2.34 pthread_spin_unlock F
+GLIBC_2.34 pthread_testcancel F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
index fb9c53ec2b..197827a386 100644
--- a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
@@ -39,7 +39,6 @@  GLIBC_2.21 pthread_setconcurrency F
 GLIBC_2.21 pthread_setname_np F
 GLIBC_2.21 pthread_setschedprio F
 GLIBC_2.21 pthread_sigqueue F
-GLIBC_2.21 pthread_testcancel F
 GLIBC_2.21 pthread_timedjoin_np F
 GLIBC_2.21 pthread_tryjoin_np F
 GLIBC_2.21 sem_close F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
index 6bb6f8f092..c8478bd5d4 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
@@ -905,6 +905,7 @@  GLIBC_2.0 pthread_setcanceltype F
 GLIBC_2.0 pthread_setschedparam F
 GLIBC_2.0 pthread_setspecific F
 GLIBC_2.0 pthread_sigmask F
+GLIBC_2.0 pthread_testcancel F
 GLIBC_2.0 ptrace F
 GLIBC_2.0 putc F
 GLIBC_2.0 putc_unlocked F
@@ -2384,6 +2385,7 @@  GLIBC_2.34 pthread_spin_init F
 GLIBC_2.34 pthread_spin_lock F
 GLIBC_2.34 pthread_spin_trylock F
 GLIBC_2.34 pthread_spin_unlock F
+GLIBC_2.34 pthread_testcancel F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
index c761c15e3a..79bc809cfa 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
@@ -9,7 +9,6 @@  GLIBC_2.0 pthread_cancel F
 GLIBC_2.0 pthread_create F
 GLIBC_2.0 pthread_detach F
 GLIBC_2.0 pthread_join F
-GLIBC_2.0 pthread_testcancel F
 GLIBC_2.0 sem_destroy F
 GLIBC_2.0 sem_getvalue F
 GLIBC_2.0 sem_init F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
index 29dad1780c..05e79162d1 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
@@ -905,6 +905,7 @@  GLIBC_2.0 pthread_setcanceltype F
 GLIBC_2.0 pthread_setschedparam F
 GLIBC_2.0 pthread_setspecific F
 GLIBC_2.0 pthread_sigmask F
+GLIBC_2.0 pthread_testcancel F
 GLIBC_2.0 ptrace F
 GLIBC_2.0 putc F
 GLIBC_2.0 putc_unlocked F
@@ -2417,6 +2418,7 @@  GLIBC_2.34 pthread_spin_init F
 GLIBC_2.34 pthread_spin_lock F
 GLIBC_2.34 pthread_spin_trylock F
 GLIBC_2.34 pthread_spin_unlock F
+GLIBC_2.34 pthread_testcancel F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
index c410a6cc6a..8ca7a93538 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
@@ -1465,6 +1465,7 @@  GLIBC_2.3 pthread_spin_init F
 GLIBC_2.3 pthread_spin_lock F
 GLIBC_2.3 pthread_spin_trylock F
 GLIBC_2.3 pthread_spin_unlock F
+GLIBC_2.3 pthread_testcancel F
 GLIBC_2.3 pthread_yield F
 GLIBC_2.3 ptrace F
 GLIBC_2.3 ptsname F
@@ -2238,6 +2239,7 @@  GLIBC_2.34 pthread_spin_init F
 GLIBC_2.34 pthread_spin_lock F
 GLIBC_2.34 pthread_spin_trylock F
 GLIBC_2.34 pthread_spin_unlock F
+GLIBC_2.34 pthread_testcancel F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
index 037f0f2839..0c5ee381d2 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
@@ -34,7 +34,6 @@  GLIBC_2.3 pthread_getconcurrency F
 GLIBC_2.3 pthread_getcpuclockid F
 GLIBC_2.3 pthread_join F
 GLIBC_2.3 pthread_setconcurrency F
-GLIBC_2.3 pthread_testcancel F
 GLIBC_2.3 sem_close F
 GLIBC_2.3 sem_destroy F
 GLIBC_2.3 sem_getvalue F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
index 7a2bf05cb0..7c69ef778e 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
@@ -1618,6 +1618,7 @@  GLIBC_2.17 pthread_spin_init F
 GLIBC_2.17 pthread_spin_lock F
 GLIBC_2.17 pthread_spin_trylock F
 GLIBC_2.17 pthread_spin_unlock F
+GLIBC_2.17 pthread_testcancel F
 GLIBC_2.17 pthread_yield F
 GLIBC_2.17 ptrace F
 GLIBC_2.17 ptsname F
@@ -2539,6 +2540,7 @@  GLIBC_2.34 pthread_spin_init F
 GLIBC_2.34 pthread_spin_lock F
 GLIBC_2.34 pthread_spin_trylock F
 GLIBC_2.34 pthread_spin_unlock F
+GLIBC_2.34 pthread_testcancel F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
index c1f11e12df..839f2ff64a 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
@@ -37,7 +37,6 @@  GLIBC_2.17 pthread_setconcurrency F
 GLIBC_2.17 pthread_setname_np F
 GLIBC_2.17 pthread_setschedprio F
 GLIBC_2.17 pthread_sigqueue F
-GLIBC_2.17 pthread_testcancel F
 GLIBC_2.17 pthread_timedjoin_np F
 GLIBC_2.17 pthread_tryjoin_np F
 GLIBC_2.17 sem_close F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
index fa4803dae3..a1158f7747 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
@@ -1475,6 +1475,7 @@  GLIBC_2.33 pthread_spin_init F
 GLIBC_2.33 pthread_spin_lock F
 GLIBC_2.33 pthread_spin_trylock F
 GLIBC_2.33 pthread_spin_unlock F
+GLIBC_2.33 pthread_testcancel F
 GLIBC_2.33 pthread_yield F
 GLIBC_2.33 ptrace F
 GLIBC_2.33 ptsname F
@@ -2104,6 +2105,7 @@  GLIBC_2.34 pthread_spin_init F
 GLIBC_2.34 pthread_spin_lock F
 GLIBC_2.34 pthread_spin_trylock F
 GLIBC_2.34 pthread_spin_unlock F
+GLIBC_2.34 pthread_testcancel F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
index b06dfc1038..94fcac028c 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
@@ -40,7 +40,6 @@  GLIBC_2.33 pthread_setconcurrency F
 GLIBC_2.33 pthread_setname_np F
 GLIBC_2.33 pthread_setschedprio F
 GLIBC_2.33 pthread_sigqueue F
-GLIBC_2.33 pthread_testcancel F
 GLIBC_2.33 pthread_timedjoin_np F
 GLIBC_2.33 pthread_tryjoin_np F
 GLIBC_2.33 sem_clockwait F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
index 91cbd00879..0914e4b443 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
@@ -1520,6 +1520,7 @@  GLIBC_2.27 pthread_spin_init F
 GLIBC_2.27 pthread_spin_lock F
 GLIBC_2.27 pthread_spin_trylock F
 GLIBC_2.27 pthread_spin_unlock F
+GLIBC_2.27 pthread_testcancel F
 GLIBC_2.27 pthread_yield F
 GLIBC_2.27 ptrace F
 GLIBC_2.27 ptsname F
@@ -2304,6 +2305,7 @@  GLIBC_2.34 pthread_spin_init F
 GLIBC_2.34 pthread_spin_lock F
 GLIBC_2.34 pthread_spin_trylock F
 GLIBC_2.34 pthread_spin_unlock F
+GLIBC_2.34 pthread_testcancel F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
index 5a7d9561fd..fdab0f5ab4 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
@@ -39,7 +39,6 @@  GLIBC_2.27 pthread_setconcurrency F
 GLIBC_2.27 pthread_setname_np F
 GLIBC_2.27 pthread_setschedprio F
 GLIBC_2.27 pthread_sigqueue F
-GLIBC_2.27 pthread_testcancel F
 GLIBC_2.27 pthread_timedjoin_np F
 GLIBC_2.27 pthread_tryjoin_np F
 GLIBC_2.27 sem_close F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
index 78bc38dc23..9333d220ed 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
@@ -896,6 +896,7 @@  GLIBC_2.0 pthread_setcanceltype F
 GLIBC_2.0 pthread_setschedparam F
 GLIBC_2.0 pthread_setspecific F
 GLIBC_2.0 pthread_sigmask F
+GLIBC_2.0 pthread_testcancel F
 GLIBC_2.0 ptrace F
 GLIBC_2.0 putc F
 GLIBC_2.0 putc_unlocked F
@@ -2382,6 +2383,7 @@  GLIBC_2.34 pthread_spin_init F
 GLIBC_2.34 pthread_spin_lock F
 GLIBC_2.34 pthread_spin_trylock F
 GLIBC_2.34 pthread_spin_unlock F
+GLIBC_2.34 pthread_testcancel F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
index ddcff610d2..911048092d 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
@@ -9,7 +9,6 @@  GLIBC_2.0 pthread_cancel F
 GLIBC_2.0 pthread_create F
 GLIBC_2.0 pthread_detach F
 GLIBC_2.0 pthread_join F
-GLIBC_2.0 pthread_testcancel F
 GLIBC_2.0 sem_destroy F
 GLIBC_2.0 sem_getvalue F
 GLIBC_2.0 sem_init F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
index 8fbd2129b4..1c3b757684 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
@@ -1359,6 +1359,7 @@  GLIBC_2.2 pthread_spin_init F
 GLIBC_2.2 pthread_spin_lock F
 GLIBC_2.2 pthread_spin_trylock F
 GLIBC_2.2 pthread_spin_unlock F
+GLIBC_2.2 pthread_testcancel F
 GLIBC_2.2 pthread_yield F
 GLIBC_2.2 ptrace F
 GLIBC_2.2 ptsname F
@@ -2275,6 +2276,7 @@  GLIBC_2.34 pthread_spin_init F
 GLIBC_2.34 pthread_spin_lock F
 GLIBC_2.34 pthread_spin_trylock F
 GLIBC_2.34 pthread_spin_unlock F
+GLIBC_2.34 pthread_testcancel F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
index ffe9d5fed1..c5c78cb049 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
@@ -32,7 +32,6 @@  GLIBC_2.2 pthread_getconcurrency F
 GLIBC_2.2 pthread_getcpuclockid F
 GLIBC_2.2 pthread_join F
 GLIBC_2.2 pthread_setconcurrency F
-GLIBC_2.2 pthread_testcancel F
 GLIBC_2.2 sem_close F
 GLIBC_2.2 sem_destroy F
 GLIBC_2.2 sem_getvalue F
diff --git a/sysdeps/unix/sysv/linux/sh/be/libc.abilist b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
index 2199062106..66be9c89c9 100644
--- a/sysdeps/unix/sysv/linux/sh/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
@@ -1345,6 +1345,7 @@  GLIBC_2.2 pthread_spin_init F
 GLIBC_2.2 pthread_spin_lock F
 GLIBC_2.2 pthread_spin_trylock F
 GLIBC_2.2 pthread_spin_unlock F
+GLIBC_2.2 pthread_testcancel F
 GLIBC_2.2 pthread_yield F
 GLIBC_2.2 ptrace F
 GLIBC_2.2 ptsname F
@@ -2244,6 +2245,7 @@  GLIBC_2.34 pthread_spin_init F
 GLIBC_2.34 pthread_spin_lock F
 GLIBC_2.34 pthread_spin_trylock F
 GLIBC_2.34 pthread_spin_unlock F
+GLIBC_2.34 pthread_testcancel F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
index af0359bd14..0d4dfb6328 100644
--- a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
@@ -31,7 +31,6 @@  GLIBC_2.2 pthread_getconcurrency F
 GLIBC_2.2 pthread_getcpuclockid F
 GLIBC_2.2 pthread_join F
 GLIBC_2.2 pthread_setconcurrency F
-GLIBC_2.2 pthread_testcancel F
 GLIBC_2.2 sem_close F
 GLIBC_2.2 sem_destroy F
 GLIBC_2.2 sem_getvalue F
diff --git a/sysdeps/unix/sysv/linux/sh/le/libc.abilist b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
index 10d5e2d2c9..fb0fed082f 100644
--- a/sysdeps/unix/sysv/linux/sh/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
@@ -1345,6 +1345,7 @@  GLIBC_2.2 pthread_spin_init F
 GLIBC_2.2 pthread_spin_lock F
 GLIBC_2.2 pthread_spin_trylock F
 GLIBC_2.2 pthread_spin_unlock F
+GLIBC_2.2 pthread_testcancel F
 GLIBC_2.2 pthread_yield F
 GLIBC_2.2 ptrace F
 GLIBC_2.2 ptsname F
@@ -2241,6 +2242,7 @@  GLIBC_2.34 pthread_spin_init F
 GLIBC_2.34 pthread_spin_lock F
 GLIBC_2.34 pthread_spin_trylock F
 GLIBC_2.34 pthread_spin_unlock F
+GLIBC_2.34 pthread_testcancel F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
index af0359bd14..0d4dfb6328 100644
--- a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
@@ -31,7 +31,6 @@  GLIBC_2.2 pthread_getconcurrency F
 GLIBC_2.2 pthread_getcpuclockid F
 GLIBC_2.2 pthread_join F
 GLIBC_2.2 pthread_setconcurrency F
-GLIBC_2.2 pthread_testcancel F
 GLIBC_2.2 sem_close F
 GLIBC_2.2 sem_destroy F
 GLIBC_2.2 sem_getvalue F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
index 55df20cf28..37c3cf105f 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
@@ -899,6 +899,7 @@  GLIBC_2.0 pthread_setcanceltype F
 GLIBC_2.0 pthread_setschedparam F
 GLIBC_2.0 pthread_setspecific F
 GLIBC_2.0 pthread_sigmask F
+GLIBC_2.0 pthread_testcancel F
 GLIBC_2.0 ptrace F
 GLIBC_2.0 putc F
 GLIBC_2.0 putc_unlocked F
@@ -2373,6 +2374,7 @@  GLIBC_2.34 pthread_spin_init F
 GLIBC_2.34 pthread_spin_lock F
 GLIBC_2.34 pthread_spin_trylock F
 GLIBC_2.34 pthread_spin_unlock F
+GLIBC_2.34 pthread_testcancel F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
index 5eae00fd6b..2633a1c816 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
@@ -9,7 +9,6 @@  GLIBC_2.0 pthread_cancel F
 GLIBC_2.0 pthread_create F
 GLIBC_2.0 pthread_detach F
 GLIBC_2.0 pthread_join F
-GLIBC_2.0 pthread_testcancel F
 GLIBC_2.0 sem_destroy F
 GLIBC_2.0 sem_getvalue F
 GLIBC_2.0 sem_init F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
index f9520b474d..80f79eb731 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
@@ -1388,6 +1388,7 @@  GLIBC_2.2 pthread_spin_init F
 GLIBC_2.2 pthread_spin_lock F
 GLIBC_2.2 pthread_spin_trylock F
 GLIBC_2.2 pthread_spin_unlock F
+GLIBC_2.2 pthread_testcancel F
 GLIBC_2.2 pthread_yield F
 GLIBC_2.2 ptrace F
 GLIBC_2.2 ptsname F
@@ -2292,6 +2293,7 @@  GLIBC_2.34 pthread_spin_init F
 GLIBC_2.34 pthread_spin_lock F
 GLIBC_2.34 pthread_spin_trylock F
 GLIBC_2.34 pthread_spin_unlock F
+GLIBC_2.34 pthread_testcancel F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
index c6c1f7ac7b..cef26d71d6 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
@@ -31,7 +31,6 @@  GLIBC_2.2 pthread_getconcurrency F
 GLIBC_2.2 pthread_getcpuclockid F
 GLIBC_2.2 pthread_join F
 GLIBC_2.2 pthread_setconcurrency F
-GLIBC_2.2 pthread_testcancel F
 GLIBC_2.2 sem_close F
 GLIBC_2.2 sem_destroy F
 GLIBC_2.2 sem_getvalue F
diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
index 9a4a3c16fa..a743156f26 100644
--- a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
@@ -1356,6 +1356,7 @@  GLIBC_2.2.5 pthread_spin_init F
 GLIBC_2.2.5 pthread_spin_lock F
 GLIBC_2.2.5 pthread_spin_trylock F
 GLIBC_2.2.5 pthread_spin_unlock F
+GLIBC_2.2.5 pthread_testcancel F
 GLIBC_2.2.5 pthread_yield F
 GLIBC_2.2.5 ptrace F
 GLIBC_2.2.5 ptsname F
@@ -2253,6 +2254,7 @@  GLIBC_2.34 pthread_spin_init F
 GLIBC_2.34 pthread_spin_lock F
 GLIBC_2.34 pthread_spin_trylock F
 GLIBC_2.34 pthread_spin_unlock F
+GLIBC_2.34 pthread_testcancel F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
index 540c8760ed..000cf018c7 100644
--- a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
@@ -31,7 +31,6 @@  GLIBC_2.2.5 pthread_getconcurrency F
 GLIBC_2.2.5 pthread_getcpuclockid F
 GLIBC_2.2.5 pthread_join F
 GLIBC_2.2.5 pthread_setconcurrency F
-GLIBC_2.2.5 pthread_testcancel F
 GLIBC_2.2.5 sem_close F
 GLIBC_2.2.5 sem_destroy F
 GLIBC_2.2.5 sem_getvalue F
diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
index 21385c23d1..828c2f922b 100644
--- a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
@@ -1537,6 +1537,7 @@  GLIBC_2.16 pthread_spin_init F
 GLIBC_2.16 pthread_spin_lock F
 GLIBC_2.16 pthread_spin_trylock F
 GLIBC_2.16 pthread_spin_unlock F
+GLIBC_2.16 pthread_testcancel F
 GLIBC_2.16 pthread_yield F
 GLIBC_2.16 ptrace F
 GLIBC_2.16 ptsname F
@@ -2358,6 +2359,7 @@  GLIBC_2.34 pthread_spin_init F
 GLIBC_2.34 pthread_spin_lock F
 GLIBC_2.34 pthread_spin_trylock F
 GLIBC_2.34 pthread_spin_unlock F
+GLIBC_2.34 pthread_testcancel F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
index 01f6915331..068065e40c 100644
--- a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
@@ -37,7 +37,6 @@  GLIBC_2.16 pthread_setconcurrency F
 GLIBC_2.16 pthread_setname_np F
 GLIBC_2.16 pthread_setschedprio F
 GLIBC_2.16 pthread_sigqueue F
-GLIBC_2.16 pthread_testcancel F
 GLIBC_2.16 pthread_timedjoin_np F
 GLIBC_2.16 pthread_tryjoin_np F
 GLIBC_2.16 sem_close F