diff mbox series

[1/3] nptl: Move __pthread_register_cancel, __pthread_unregister_cancel to libc

Message ID 14d59ff79779cc36d9522afbf44787890d33f759.1620730538.git.fweimer@redhat.com
State New
Headers show
Series nptl: Move remaining cancellation functionality into libc | expand

Commit Message

Florian Weimer May 11, 2021, 10:56 a.m. UTC
The symbols were moved using scripts/move-symbol-to-libc.py.

Also clean up some unwinder linking leftover in the same spot
in nptl/pthreadP.h.
---
 nptl/Makefile                                 |  2 +-
 nptl/Versions                                 |  6 +++--
 nptl/cleanup.c                                | 24 +++++++++++++++----
 nptl/pthreadP.h                               | 13 ++--------
 sysdeps/unix/sysv/linux/aarch64/libc.abilist  |  4 ++++
 .../sysv/linux/aarch64/libpthread.abilist     |  2 --
 sysdeps/unix/sysv/linux/alpha/libc.abilist    |  4 ++++
 .../unix/sysv/linux/alpha/libpthread.abilist  |  2 --
 sysdeps/unix/sysv/linux/arc/libc.abilist      |  4 ++++
 .../unix/sysv/linux/arc/libpthread.abilist    |  2 --
 sysdeps/unix/sysv/linux/arm/be/libc.abilist   |  4 ++++
 .../unix/sysv/linux/arm/be/libpthread.abilist |  2 --
 sysdeps/unix/sysv/linux/arm/le/libc.abilist   |  4 ++++
 .../unix/sysv/linux/arm/le/libpthread.abilist |  2 --
 sysdeps/unix/sysv/linux/csky/libc.abilist     |  4 ++++
 .../unix/sysv/linux/csky/libpthread.abilist   |  2 --
 sysdeps/unix/sysv/linux/hppa/libc.abilist     |  4 ++++
 .../unix/sysv/linux/hppa/libpthread.abilist   |  2 --
 sysdeps/unix/sysv/linux/i386/libc.abilist     |  4 ++++
 .../unix/sysv/linux/i386/libpthread.abilist   |  2 --
 sysdeps/unix/sysv/linux/ia64/libc.abilist     |  4 ++++
 .../unix/sysv/linux/ia64/libpthread.abilist   |  2 --
 .../sysv/linux/m68k/coldfire/libc.abilist     |  4 ++++
 .../linux/m68k/coldfire/libpthread.abilist    |  2 --
 .../unix/sysv/linux/m68k/m680x0/libc.abilist  |  4 ++++
 .../sysv/linux/m68k/m680x0/libpthread.abilist |  2 --
 .../sysv/linux/microblaze/be/libc.abilist     |  4 ++++
 .../linux/microblaze/be/libpthread.abilist    |  2 --
 .../sysv/linux/microblaze/le/libc.abilist     |  4 ++++
 .../linux/microblaze/le/libpthread.abilist    |  2 --
 .../sysv/linux/mips/mips32/fpu/libc.abilist   |  4 ++++
 .../sysv/linux/mips/mips32/libpthread.abilist |  2 --
 .../sysv/linux/mips/mips32/nofpu/libc.abilist |  4 ++++
 .../sysv/linux/mips/mips64/libpthread.abilist |  2 --
 .../sysv/linux/mips/mips64/n32/libc.abilist   |  4 ++++
 .../sysv/linux/mips/mips64/n64/libc.abilist   |  4 ++++
 sysdeps/unix/sysv/linux/nios2/libc.abilist    |  4 ++++
 .../unix/sysv/linux/nios2/libpthread.abilist  |  2 --
 .../linux/powerpc/powerpc32/fpu/libc.abilist  |  4 ++++
 .../powerpc/powerpc32/libpthread.abilist      |  2 --
 .../powerpc/powerpc32/nofpu/libc.abilist      |  4 ++++
 .../linux/powerpc/powerpc64/be/libc.abilist   |  4 ++++
 .../powerpc/powerpc64/be/libpthread.abilist   |  2 --
 .../linux/powerpc/powerpc64/le/libc.abilist   |  4 ++++
 .../powerpc/powerpc64/le/libpthread.abilist   |  2 --
 .../unix/sysv/linux/riscv/rv32/libc.abilist   |  4 ++++
 .../sysv/linux/riscv/rv32/libpthread.abilist  |  2 --
 .../unix/sysv/linux/riscv/rv64/libc.abilist   |  4 ++++
 .../sysv/linux/riscv/rv64/libpthread.abilist  |  2 --
 .../unix/sysv/linux/s390/s390-32/libc.abilist |  4 ++++
 .../linux/s390/s390-32/libpthread.abilist     |  2 --
 .../unix/sysv/linux/s390/s390-64/libc.abilist |  4 ++++
 .../linux/s390/s390-64/libpthread.abilist     |  2 --
 sysdeps/unix/sysv/linux/sh/be/libc.abilist    |  4 ++++
 .../unix/sysv/linux/sh/be/libpthread.abilist  |  2 --
 sysdeps/unix/sysv/linux/sh/le/libc.abilist    |  4 ++++
 .../unix/sysv/linux/sh/le/libpthread.abilist  |  2 --
 .../sysv/linux/sparc/sparc32/libc.abilist     |  4 ++++
 .../linux/sparc/sparc32/libpthread.abilist    |  2 --
 .../sysv/linux/sparc/sparc64/libc.abilist     |  4 ++++
 .../linux/sparc/sparc64/libpthread.abilist    |  2 --
 .../unix/sysv/linux/x86_64/64/libc.abilist    |  4 ++++
 .../sysv/linux/x86_64/64/libpthread.abilist   |  2 --
 .../unix/sysv/linux/x86_64/x32/libc.abilist   |  4 ++++
 .../sysv/linux/x86_64/x32/libpthread.abilist  |  2 --
 65 files changed, 154 insertions(+), 77 deletions(-)

Comments

Adhemerval Zanella Netto May 11, 2021, 5:27 p.m. UTC | #1
On 11/05/2021 07:56, Florian Weimer via Libc-alpha wrote:
> The symbols were moved using scripts/move-symbol-to-libc.py.
> 
> Also clean up some unwinder linking leftover in the same spot
> in nptl/pthreadP.h.

LGTM, thanks.

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

> ---
>  nptl/Makefile                                 |  2 +-
>  nptl/Versions                                 |  6 +++--
>  nptl/cleanup.c                                | 24 +++++++++++++++----
>  nptl/pthreadP.h                               | 13 ++--------
>  sysdeps/unix/sysv/linux/aarch64/libc.abilist  |  4 ++++
>  .../sysv/linux/aarch64/libpthread.abilist     |  2 --
>  sysdeps/unix/sysv/linux/alpha/libc.abilist    |  4 ++++
>  .../unix/sysv/linux/alpha/libpthread.abilist  |  2 --
>  sysdeps/unix/sysv/linux/arc/libc.abilist      |  4 ++++
>  .../unix/sysv/linux/arc/libpthread.abilist    |  2 --
>  sysdeps/unix/sysv/linux/arm/be/libc.abilist   |  4 ++++
>  .../unix/sysv/linux/arm/be/libpthread.abilist |  2 --
>  sysdeps/unix/sysv/linux/arm/le/libc.abilist   |  4 ++++
>  .../unix/sysv/linux/arm/le/libpthread.abilist |  2 --
>  sysdeps/unix/sysv/linux/csky/libc.abilist     |  4 ++++
>  .../unix/sysv/linux/csky/libpthread.abilist   |  2 --
>  sysdeps/unix/sysv/linux/hppa/libc.abilist     |  4 ++++
>  .../unix/sysv/linux/hppa/libpthread.abilist   |  2 --
>  sysdeps/unix/sysv/linux/i386/libc.abilist     |  4 ++++
>  .../unix/sysv/linux/i386/libpthread.abilist   |  2 --
>  sysdeps/unix/sysv/linux/ia64/libc.abilist     |  4 ++++
>  .../unix/sysv/linux/ia64/libpthread.abilist   |  2 --
>  .../sysv/linux/m68k/coldfire/libc.abilist     |  4 ++++
>  .../linux/m68k/coldfire/libpthread.abilist    |  2 --
>  .../unix/sysv/linux/m68k/m680x0/libc.abilist  |  4 ++++
>  .../sysv/linux/m68k/m680x0/libpthread.abilist |  2 --
>  .../sysv/linux/microblaze/be/libc.abilist     |  4 ++++
>  .../linux/microblaze/be/libpthread.abilist    |  2 --
>  .../sysv/linux/microblaze/le/libc.abilist     |  4 ++++
>  .../linux/microblaze/le/libpthread.abilist    |  2 --
>  .../sysv/linux/mips/mips32/fpu/libc.abilist   |  4 ++++
>  .../sysv/linux/mips/mips32/libpthread.abilist |  2 --
>  .../sysv/linux/mips/mips32/nofpu/libc.abilist |  4 ++++
>  .../sysv/linux/mips/mips64/libpthread.abilist |  2 --
>  .../sysv/linux/mips/mips64/n32/libc.abilist   |  4 ++++
>  .../sysv/linux/mips/mips64/n64/libc.abilist   |  4 ++++
>  sysdeps/unix/sysv/linux/nios2/libc.abilist    |  4 ++++
>  .../unix/sysv/linux/nios2/libpthread.abilist  |  2 --
>  .../linux/powerpc/powerpc32/fpu/libc.abilist  |  4 ++++
>  .../powerpc/powerpc32/libpthread.abilist      |  2 --
>  .../powerpc/powerpc32/nofpu/libc.abilist      |  4 ++++
>  .../linux/powerpc/powerpc64/be/libc.abilist   |  4 ++++
>  .../powerpc/powerpc64/be/libpthread.abilist   |  2 --
>  .../linux/powerpc/powerpc64/le/libc.abilist   |  4 ++++
>  .../powerpc/powerpc64/le/libpthread.abilist   |  2 --
>  .../unix/sysv/linux/riscv/rv32/libc.abilist   |  4 ++++
>  .../sysv/linux/riscv/rv32/libpthread.abilist  |  2 --
>  .../unix/sysv/linux/riscv/rv64/libc.abilist   |  4 ++++
>  .../sysv/linux/riscv/rv64/libpthread.abilist  |  2 --
>  .../unix/sysv/linux/s390/s390-32/libc.abilist |  4 ++++
>  .../linux/s390/s390-32/libpthread.abilist     |  2 --
>  .../unix/sysv/linux/s390/s390-64/libc.abilist |  4 ++++
>  .../linux/s390/s390-64/libpthread.abilist     |  2 --
>  sysdeps/unix/sysv/linux/sh/be/libc.abilist    |  4 ++++
>  .../unix/sysv/linux/sh/be/libpthread.abilist  |  2 --
>  sysdeps/unix/sysv/linux/sh/le/libc.abilist    |  4 ++++
>  .../unix/sysv/linux/sh/le/libpthread.abilist  |  2 --
>  .../sysv/linux/sparc/sparc32/libc.abilist     |  4 ++++
>  .../linux/sparc/sparc32/libpthread.abilist    |  2 --
>  .../sysv/linux/sparc/sparc64/libc.abilist     |  4 ++++
>  .../linux/sparc/sparc64/libpthread.abilist    |  2 --
>  .../unix/sysv/linux/x86_64/64/libc.abilist    |  4 ++++
>  .../sysv/linux/x86_64/64/libpthread.abilist   |  2 --
>  .../unix/sysv/linux/x86_64/x32/libc.abilist   |  4 ++++
>  .../sysv/linux/x86_64/x32/libpthread.abilist  |  2 --
>  65 files changed, 154 insertions(+), 77 deletions(-)
> 
> diff --git a/nptl/Makefile b/nptl/Makefile
> index f81b2f64df..eb6c910656 100644
> --- a/nptl/Makefile
> +++ b/nptl/Makefile
> @@ -31,6 +31,7 @@ extra-libs-others := $(extra-libs)
>  routines = \
>    alloca_cutoff \
>    cancellation \
> +  cleanup \
>    cleanup_compat \
>    cleanup_defer_compat \
>    cleanup_routine \

Ok.

> @@ -186,7 +187,6 @@ shared-only-routines = forward
>  static-only-routines = pthread_atfork
>  
>  libpthread-routines = \
> -  cleanup \
>    cleanup_defer \
>    events \
>    libpthread-compat \

Ok.

> diff --git a/nptl/Versions b/nptl/Versions
> index 8c3e825083..329f0722a6 100644
> --- a/nptl/Versions
> +++ b/nptl/Versions
> @@ -143,6 +143,8 @@ libc {
>    }
>    GLIBC_2.3.3 {
>      __pthread_cleanup_routine;
> +    __pthread_register_cancel;
> +    __pthread_unregister_cancel;
>      __pthread_unwind_next;
>      pthread_attr_setaffinity_np;
>      pthread_barrierattr_getpshared;

Ok.

> @@ -224,6 +226,8 @@ libc {
>      __pthread_key_create;
>      __pthread_mutex_lock;
>      __pthread_mutex_unlock;
> +    __pthread_register_cancel;
> +    __pthread_unregister_cancel;
>      call_once;
>      cnd_broadcast;
>      cnd_destroy;

Ok.

> @@ -426,9 +430,7 @@ libpthread {
>    }
>  
>    GLIBC_2.3.3 {
> -    __pthread_register_cancel;
>      __pthread_register_cancel_defer;
> -    __pthread_unregister_cancel;
>      __pthread_unregister_cancel_restore;
>      pthread_attr_getaffinity_np;
>      pthread_setaffinity_np;

Ok.

> diff --git a/nptl/cleanup.c b/nptl/cleanup.c
> index ad1651577b..040786fc44 100644
> --- a/nptl/cleanup.c
> +++ b/nptl/cleanup.c
> @@ -18,11 +18,11 @@
>  
>  #include <stdlib.h>
>  #include "pthreadP.h"
> -
> +#include <shlib-compat.h>
>  
>  void
>  __cleanup_fct_attribute
> -__pthread_register_cancel (__pthread_unwind_buf_t *buf)
> +___pthread_register_cancel (__pthread_unwind_buf_t *buf)
>  {
>    struct pthread_unwind_buf *ibuf = (struct pthread_unwind_buf *) buf;
>    struct pthread *self = THREAD_SELF;
> @@ -34,15 +34,29 @@ __pthread_register_cancel (__pthread_unwind_buf_t *buf)
>    /* Store the new cleanup handler info.  */
>    THREAD_SETMEM (self, cleanup_jmp_buf, (struct pthread_unwind_buf *) buf);
>  }
> -hidden_def (__pthread_register_cancel)
> +versioned_symbol (libc, ___pthread_register_cancel,
> +                  __pthread_register_cancel, GLIBC_2_34);
> +libc_hidden_ver (___pthread_register_cancel, __pthread_register_cancel)
> +
> +#if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_3_3, GLIBC_2_34)
> +compat_symbol (libpthread, ___pthread_register_cancel,
> +               __pthread_register_cancel, GLIBC_2_3_3);
> +#endif
>  
>  

Ok.

>  void
>  __cleanup_fct_attribute
> -__pthread_unregister_cancel (__pthread_unwind_buf_t *buf)
> +___pthread_unregister_cancel (__pthread_unwind_buf_t *buf)
>  {
>    struct pthread_unwind_buf *ibuf = (struct pthread_unwind_buf *) buf;
>  
>    THREAD_SETMEM (THREAD_SELF, cleanup_jmp_buf, ibuf->priv.data.prev);
>  }
> -hidden_def (__pthread_unregister_cancel)
> +versioned_symbol (libc, ___pthread_unregister_cancel,
> +                  __pthread_unregister_cancel, GLIBC_2_34);
> +libc_hidden_ver (___pthread_unregister_cancel, __pthread_unregister_cancel)
> +
> +#if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_3_3, GLIBC_2_34)
> +compat_symbol (libpthread, ___pthread_unregister_cancel,
> +               __pthread_unregister_cancel, GLIBC_2_3_3);
> +#endif

Ok.

> diff --git a/nptl/pthreadP.h b/nptl/pthreadP.h
> index 7e3cef4709..1692788528 100644
> --- a/nptl/pthreadP.h
> +++ b/nptl/pthreadP.h
> @@ -277,21 +277,12 @@ extern void __pthread_unwind_next (__pthread_unwind_buf_t *__buf)
>  /* NB: No hidden proto for __pthread_unwind_next: inside glibc, the
>     legacy unwinding mechanism is used.  */
>  
> -#if IS_IN (libpthread)
>  extern void __pthread_register_cancel (__pthread_unwind_buf_t *__buf)
>       __cleanup_fct_attribute;
> +libc_hidden_proto (__pthread_register_cancel)
>  extern void __pthread_unregister_cancel (__pthread_unwind_buf_t *__buf)
>       __cleanup_fct_attribute;
> -hidden_proto (__pthread_register_cancel)
> -hidden_proto (__pthread_unregister_cancel)
> -# ifdef SHARED
> -/* The difference from __libc_unwind_link_get is that here, errors
> -   terminate the process.  */
> -struct unwind_link ;
> -struct unwind_link *__pthread_unwind_link_get (void) attribute_hidden;
> -# endif
> -#endif
> -
> +libc_hidden_proto (__pthread_unregister_cancel)
>  
>  /* Called when a thread reacts on a cancellation request.  */
>  static inline void

Ok.

> diff --git a/sysdeps/unix/sysv/linux/aarch64/libc.abilist b/sysdeps/unix/sysv/linux/aarch64/libc.abilist
> index 2d06bfef34..68afc4d209 100644
> --- a/sysdeps/unix/sysv/linux/aarch64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/aarch64/libc.abilist
> @@ -350,6 +350,7 @@ GLIBC_2.17 __pthread_mutexattr_destroy F
>  GLIBC_2.17 __pthread_mutexattr_init F
>  GLIBC_2.17 __pthread_mutexattr_settype F
>  GLIBC_2.17 __pthread_once F
> +GLIBC_2.17 __pthread_register_cancel F
>  GLIBC_2.17 __pthread_rwlock_destroy F
>  GLIBC_2.17 __pthread_rwlock_init F
>  GLIBC_2.17 __pthread_rwlock_rdlock F
> @@ -358,6 +359,7 @@ GLIBC_2.17 __pthread_rwlock_trywrlock F
>  GLIBC_2.17 __pthread_rwlock_unlock F
>  GLIBC_2.17 __pthread_rwlock_wrlock F
>  GLIBC_2.17 __pthread_setspecific F
> +GLIBC_2.17 __pthread_unregister_cancel F
>  GLIBC_2.17 __pthread_unwind_next F
>  GLIBC_2.17 __ptsname_r_chk F
>  GLIBC_2.17 __pwrite64 F
> @@ -2305,6 +2307,8 @@ GLIBC_2.34 __pthread_cleanup_routine F
>  GLIBC_2.34 __pthread_key_create F
>  GLIBC_2.34 __pthread_mutex_lock F
>  GLIBC_2.34 __pthread_mutex_unlock F
> +GLIBC_2.34 __pthread_register_cancel F
> +GLIBC_2.34 __pthread_unregister_cancel F
>  GLIBC_2.34 __pthread_unwind_next F
>  GLIBC_2.34 call_once F
>  GLIBC_2.34 cnd_broadcast F
> diff --git a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
> index 2b21af13ad..633df92b7c 100644
> --- a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
> @@ -1,7 +1,5 @@
>  GLIBC_2.17 __errno_location F
> -GLIBC_2.17 __pthread_register_cancel F
>  GLIBC_2.17 __pthread_register_cancel_defer F
> -GLIBC_2.17 __pthread_unregister_cancel F
>  GLIBC_2.17 __pthread_unregister_cancel_restore F
>  GLIBC_2.17 pthread_attr_getaffinity_np F
>  GLIBC_2.17 pthread_attr_getguardsize F
> diff --git a/sysdeps/unix/sysv/linux/alpha/libc.abilist b/sysdeps/unix/sysv/linux/alpha/libc.abilist
> index 8f1c1368ad..0eee74431c 100644
> --- a/sysdeps/unix/sysv/linux/alpha/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/alpha/libc.abilist
> @@ -2268,6 +2268,8 @@ GLIBC_2.3.2 pthread_cond_timedwait F
>  GLIBC_2.3.2 pthread_cond_wait F
>  GLIBC_2.3.2 strptime_l F
>  GLIBC_2.3.3 __pthread_cleanup_routine F
> +GLIBC_2.3.3 __pthread_register_cancel F
> +GLIBC_2.3.3 __pthread_unregister_cancel F
>  GLIBC_2.3.3 __pthread_unwind_next F
>  GLIBC_2.3.3 _sys_siglist D 0x208
>  GLIBC_2.3.3 gnu_dev_major F
> @@ -2392,6 +2394,8 @@ GLIBC_2.34 __pthread_cleanup_routine F
>  GLIBC_2.34 __pthread_key_create F
>  GLIBC_2.34 __pthread_mutex_lock F
>  GLIBC_2.34 __pthread_mutex_unlock F
> +GLIBC_2.34 __pthread_register_cancel F
> +GLIBC_2.34 __pthread_unregister_cancel F
>  GLIBC_2.34 __pthread_unwind_next F
>  GLIBC_2.34 call_once F
>  GLIBC_2.34 cnd_broadcast F
> diff --git a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
> index 56ac3b7e71..fa996f19d7 100644
> --- a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
> @@ -23,9 +23,7 @@ GLIBC_2.2.3 __libpthread_version_placeholder F
>  GLIBC_2.2.6 __libpthread_version_placeholder F
>  GLIBC_2.28 thrd_create F
>  GLIBC_2.3.2 __libpthread_version_placeholder F
> -GLIBC_2.3.3 __pthread_register_cancel F
>  GLIBC_2.3.3 __pthread_register_cancel_defer F
> -GLIBC_2.3.3 __pthread_unregister_cancel F
>  GLIBC_2.3.3 __pthread_unregister_cancel_restore F
>  GLIBC_2.3.3 pthread_attr_getaffinity_np F
>  GLIBC_2.3.3 pthread_attr_setstack F
> diff --git a/sysdeps/unix/sysv/linux/arc/libc.abilist b/sysdeps/unix/sysv/linux/arc/libc.abilist
> index ae902ecdd0..3caf14215d 100644
> --- a/sysdeps/unix/sysv/linux/arc/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/arc/libc.abilist
> @@ -339,6 +339,7 @@ GLIBC_2.32 __pthread_mutexattr_destroy F
>  GLIBC_2.32 __pthread_mutexattr_init F
>  GLIBC_2.32 __pthread_mutexattr_settype F
>  GLIBC_2.32 __pthread_once F
> +GLIBC_2.32 __pthread_register_cancel F
>  GLIBC_2.32 __pthread_rwlock_destroy F
>  GLIBC_2.32 __pthread_rwlock_init F
>  GLIBC_2.32 __pthread_rwlock_rdlock F
> @@ -347,6 +348,7 @@ GLIBC_2.32 __pthread_rwlock_trywrlock F
>  GLIBC_2.32 __pthread_rwlock_unlock F
>  GLIBC_2.32 __pthread_rwlock_wrlock F
>  GLIBC_2.32 __pthread_setspecific F
> +GLIBC_2.32 __pthread_unregister_cancel F
>  GLIBC_2.32 __pthread_unwind_next F
>  GLIBC_2.32 __ptsname_r_chk F
>  GLIBC_2.32 __pwrite64 F
> @@ -2064,6 +2066,8 @@ GLIBC_2.34 __pthread_cleanup_routine F
>  GLIBC_2.34 __pthread_key_create F
>  GLIBC_2.34 __pthread_mutex_lock F
>  GLIBC_2.34 __pthread_mutex_unlock F
> +GLIBC_2.34 __pthread_register_cancel F
> +GLIBC_2.34 __pthread_unregister_cancel F
>  GLIBC_2.34 __pthread_unwind_next F
>  GLIBC_2.34 call_once F
>  GLIBC_2.34 cnd_broadcast F
> diff --git a/sysdeps/unix/sysv/linux/arc/libpthread.abilist b/sysdeps/unix/sysv/linux/arc/libpthread.abilist
> index 7a8ca30604..93f0474e31 100644
> --- a/sysdeps/unix/sysv/linux/arc/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/arc/libpthread.abilist
> @@ -1,7 +1,5 @@
>  GLIBC_2.32 __errno_location F
> -GLIBC_2.32 __pthread_register_cancel F
>  GLIBC_2.32 __pthread_register_cancel_defer F
> -GLIBC_2.32 __pthread_unregister_cancel F
>  GLIBC_2.32 __pthread_unregister_cancel_restore F
>  GLIBC_2.32 pthread_attr_getaffinity_np F
>  GLIBC_2.32 pthread_attr_getguardsize F
> diff --git a/sysdeps/unix/sysv/linux/arm/be/libc.abilist b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
> index acc620643f..1cf65ff0c7 100644
> --- a/sysdeps/unix/sysv/linux/arm/be/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
> @@ -190,6 +190,8 @@ GLIBC_2.34 __pthread_cleanup_routine F
>  GLIBC_2.34 __pthread_key_create F
>  GLIBC_2.34 __pthread_mutex_lock F
>  GLIBC_2.34 __pthread_mutex_unlock F
> +GLIBC_2.34 __pthread_register_cancel F
> +GLIBC_2.34 __pthread_unregister_cancel F
>  GLIBC_2.34 __pthread_unwind_next F
>  GLIBC_2.34 call_once F
>  GLIBC_2.34 cnd_broadcast F
> @@ -627,6 +629,7 @@ GLIBC_2.4 __pthread_mutexattr_destroy F
>  GLIBC_2.4 __pthread_mutexattr_init F
>  GLIBC_2.4 __pthread_mutexattr_settype F
>  GLIBC_2.4 __pthread_once F
> +GLIBC_2.4 __pthread_register_cancel F
>  GLIBC_2.4 __pthread_rwlock_destroy F
>  GLIBC_2.4 __pthread_rwlock_init F
>  GLIBC_2.4 __pthread_rwlock_rdlock F
> @@ -635,6 +638,7 @@ GLIBC_2.4 __pthread_rwlock_trywrlock F
>  GLIBC_2.4 __pthread_rwlock_unlock F
>  GLIBC_2.4 __pthread_rwlock_wrlock F
>  GLIBC_2.4 __pthread_setspecific F
> +GLIBC_2.4 __pthread_unregister_cancel F
>  GLIBC_2.4 __pthread_unwind_next F
>  GLIBC_2.4 __ptsname_r_chk F
>  GLIBC_2.4 __pwrite64 F
> diff --git a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
> index d629cc23e7..fcf9bae888 100644
> --- a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
> @@ -7,9 +7,7 @@ GLIBC_2.30 __libpthread_version_placeholder F
>  GLIBC_2.31 __libpthread_version_placeholder F
>  GLIBC_2.4 __errno_location F
>  GLIBC_2.4 __libpthread_version_placeholder F
> -GLIBC_2.4 __pthread_register_cancel F
>  GLIBC_2.4 __pthread_register_cancel_defer F
> -GLIBC_2.4 __pthread_unregister_cancel F
>  GLIBC_2.4 __pthread_unregister_cancel_restore F
>  GLIBC_2.4 pthread_attr_getaffinity_np F
>  GLIBC_2.4 pthread_attr_getguardsize F
> diff --git a/sysdeps/unix/sysv/linux/arm/le/libc.abilist b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
> index fd33a2317f..26428e0030 100644
> --- a/sysdeps/unix/sysv/linux/arm/le/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
> @@ -187,6 +187,8 @@ GLIBC_2.34 __pthread_cleanup_routine F
>  GLIBC_2.34 __pthread_key_create F
>  GLIBC_2.34 __pthread_mutex_lock F
>  GLIBC_2.34 __pthread_mutex_unlock F
> +GLIBC_2.34 __pthread_register_cancel F
> +GLIBC_2.34 __pthread_unregister_cancel F
>  GLIBC_2.34 __pthread_unwind_next F
>  GLIBC_2.34 call_once F
>  GLIBC_2.34 cnd_broadcast F
> @@ -624,6 +626,7 @@ GLIBC_2.4 __pthread_mutexattr_destroy F
>  GLIBC_2.4 __pthread_mutexattr_init F
>  GLIBC_2.4 __pthread_mutexattr_settype F
>  GLIBC_2.4 __pthread_once F
> +GLIBC_2.4 __pthread_register_cancel F
>  GLIBC_2.4 __pthread_rwlock_destroy F
>  GLIBC_2.4 __pthread_rwlock_init F
>  GLIBC_2.4 __pthread_rwlock_rdlock F
> @@ -632,6 +635,7 @@ GLIBC_2.4 __pthread_rwlock_trywrlock F
>  GLIBC_2.4 __pthread_rwlock_unlock F
>  GLIBC_2.4 __pthread_rwlock_wrlock F
>  GLIBC_2.4 __pthread_setspecific F
> +GLIBC_2.4 __pthread_unregister_cancel F
>  GLIBC_2.4 __pthread_unwind_next F
>  GLIBC_2.4 __ptsname_r_chk F
>  GLIBC_2.4 __pwrite64 F
> diff --git a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
> index d629cc23e7..fcf9bae888 100644
> --- a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
> @@ -7,9 +7,7 @@ GLIBC_2.30 __libpthread_version_placeholder F
>  GLIBC_2.31 __libpthread_version_placeholder F
>  GLIBC_2.4 __errno_location F
>  GLIBC_2.4 __libpthread_version_placeholder F
> -GLIBC_2.4 __pthread_register_cancel F
>  GLIBC_2.4 __pthread_register_cancel_defer F
> -GLIBC_2.4 __pthread_unregister_cancel F
>  GLIBC_2.4 __pthread_unregister_cancel_restore F
>  GLIBC_2.4 pthread_attr_getaffinity_np F
>  GLIBC_2.4 pthread_attr_getguardsize F
> diff --git a/sysdeps/unix/sysv/linux/csky/libc.abilist b/sysdeps/unix/sysv/linux/csky/libc.abilist
> index c1ac24c3a2..ae01f32a0c 100644
> --- a/sysdeps/unix/sysv/linux/csky/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/csky/libc.abilist
> @@ -343,6 +343,7 @@ GLIBC_2.29 __pthread_mutexattr_destroy F
>  GLIBC_2.29 __pthread_mutexattr_init F
>  GLIBC_2.29 __pthread_mutexattr_settype F
>  GLIBC_2.29 __pthread_once F
> +GLIBC_2.29 __pthread_register_cancel F
>  GLIBC_2.29 __pthread_rwlock_destroy F
>  GLIBC_2.29 __pthread_rwlock_init F
>  GLIBC_2.29 __pthread_rwlock_rdlock F
> @@ -351,6 +352,7 @@ GLIBC_2.29 __pthread_rwlock_trywrlock F
>  GLIBC_2.29 __pthread_rwlock_unlock F
>  GLIBC_2.29 __pthread_rwlock_wrlock F
>  GLIBC_2.29 __pthread_setspecific F
> +GLIBC_2.29 __pthread_unregister_cancel F
>  GLIBC_2.29 __pthread_unwind_next F
>  GLIBC_2.29 __ptsname_r_chk F
>  GLIBC_2.29 __pwrite64 F
> @@ -2248,6 +2250,8 @@ GLIBC_2.34 __pthread_cleanup_routine F
>  GLIBC_2.34 __pthread_key_create F
>  GLIBC_2.34 __pthread_mutex_lock F
>  GLIBC_2.34 __pthread_mutex_unlock F
> +GLIBC_2.34 __pthread_register_cancel F
> +GLIBC_2.34 __pthread_unregister_cancel F
>  GLIBC_2.34 __pthread_unwind_next F
>  GLIBC_2.34 call_once F
>  GLIBC_2.34 cnd_broadcast F
> diff --git a/sysdeps/unix/sysv/linux/csky/libpthread.abilist b/sysdeps/unix/sysv/linux/csky/libpthread.abilist
> index 4fc96fb0d8..df027689e8 100644
> --- a/sysdeps/unix/sysv/linux/csky/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/csky/libpthread.abilist
> @@ -1,7 +1,5 @@
>  GLIBC_2.29 __errno_location F
> -GLIBC_2.29 __pthread_register_cancel F
>  GLIBC_2.29 __pthread_register_cancel_defer F
> -GLIBC_2.29 __pthread_unregister_cancel F
>  GLIBC_2.29 __pthread_unregister_cancel_restore F
>  GLIBC_2.29 pthread_attr_getaffinity_np F
>  GLIBC_2.29 pthread_attr_getguardsize F
> diff --git a/sysdeps/unix/sysv/linux/hppa/libc.abilist b/sysdeps/unix/sysv/linux/hppa/libc.abilist
> index 29225ac912..166af94540 100644
> --- a/sysdeps/unix/sysv/linux/hppa/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/hppa/libc.abilist
> @@ -2103,6 +2103,8 @@ GLIBC_2.3.2 pthread_cond_timedwait F
>  GLIBC_2.3.2 pthread_cond_wait F
>  GLIBC_2.3.2 strptime_l F
>  GLIBC_2.3.3 __pthread_cleanup_routine F
> +GLIBC_2.3.3 __pthread_register_cancel F
> +GLIBC_2.3.3 __pthread_unregister_cancel F
>  GLIBC_2.3.3 __pthread_unwind_next F
>  GLIBC_2.3.3 _sys_siglist D 0x104
>  GLIBC_2.3.3 gnu_dev_major F
> @@ -2199,6 +2201,8 @@ GLIBC_2.34 __pthread_cleanup_routine F
>  GLIBC_2.34 __pthread_key_create F
>  GLIBC_2.34 __pthread_mutex_lock F
>  GLIBC_2.34 __pthread_mutex_unlock F
> +GLIBC_2.34 __pthread_register_cancel F
> +GLIBC_2.34 __pthread_unregister_cancel F
>  GLIBC_2.34 __pthread_unwind_next F
>  GLIBC_2.34 call_once F
>  GLIBC_2.34 cnd_broadcast F
> diff --git a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
> index 77bf2e186d..071fd3e5eb 100644
> --- a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
> @@ -20,9 +20,7 @@ GLIBC_2.2.3 __libpthread_version_placeholder F
>  GLIBC_2.2.6 __libpthread_version_placeholder F
>  GLIBC_2.28 thrd_create F
>  GLIBC_2.3.2 __libpthread_version_placeholder F
> -GLIBC_2.3.3 __pthread_register_cancel F
>  GLIBC_2.3.3 __pthread_register_cancel_defer F
> -GLIBC_2.3.3 __pthread_unregister_cancel F
>  GLIBC_2.3.3 __pthread_unregister_cancel_restore F
>  GLIBC_2.3.3 pthread_attr_getaffinity_np F
>  GLIBC_2.3.3 pthread_setaffinity_np F
> diff --git a/sysdeps/unix/sysv/linux/i386/libc.abilist b/sysdeps/unix/sysv/linux/i386/libc.abilist
> index b5026ba906..37b5718e49 100644
> --- a/sysdeps/unix/sysv/linux/i386/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/i386/libc.abilist
> @@ -2283,6 +2283,8 @@ GLIBC_2.3.2 pthread_cond_timedwait F
>  GLIBC_2.3.2 pthread_cond_wait F
>  GLIBC_2.3.2 strptime_l F
>  GLIBC_2.3.3 __pthread_cleanup_routine F
> +GLIBC_2.3.3 __pthread_register_cancel F
> +GLIBC_2.3.3 __pthread_unregister_cancel F
>  GLIBC_2.3.3 __pthread_unwind_next F
>  GLIBC_2.3.3 _sys_siglist D 0x104
>  GLIBC_2.3.3 gnu_dev_major F
> @@ -2382,6 +2384,8 @@ GLIBC_2.34 __pthread_cleanup_routine F
>  GLIBC_2.34 __pthread_key_create F
>  GLIBC_2.34 __pthread_mutex_lock F
>  GLIBC_2.34 __pthread_mutex_unlock F
> +GLIBC_2.34 __pthread_register_cancel F
> +GLIBC_2.34 __pthread_unregister_cancel F
>  GLIBC_2.34 __pthread_unwind_next F
>  GLIBC_2.34 call_once F
>  GLIBC_2.34 cnd_broadcast F
> diff --git a/sysdeps/unix/sysv/linux/i386/libpthread.abilist b/sysdeps/unix/sysv/linux/i386/libpthread.abilist
> index 6c36475ccb..a67cc86dcd 100644
> --- a/sysdeps/unix/sysv/linux/i386/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/i386/libpthread.abilist
> @@ -23,9 +23,7 @@ GLIBC_2.2.3 __libpthread_version_placeholder F
>  GLIBC_2.2.6 __libpthread_version_placeholder F
>  GLIBC_2.28 thrd_create F
>  GLIBC_2.3.2 __libpthread_version_placeholder F
> -GLIBC_2.3.3 __pthread_register_cancel F
>  GLIBC_2.3.3 __pthread_register_cancel_defer F
> -GLIBC_2.3.3 __pthread_unregister_cancel F
>  GLIBC_2.3.3 __pthread_unregister_cancel_restore F
>  GLIBC_2.3.3 pthread_attr_getaffinity_np F
>  GLIBC_2.3.3 pthread_setaffinity_np F
> diff --git a/sysdeps/unix/sysv/linux/ia64/libc.abilist b/sysdeps/unix/sysv/linux/ia64/libc.abilist
> index f6fc393a21..2273cff802 100644
> --- a/sysdeps/unix/sysv/linux/ia64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/ia64/libc.abilist
> @@ -2136,6 +2136,8 @@ GLIBC_2.3.2 pthread_cond_timedwait F
>  GLIBC_2.3.2 pthread_cond_wait F
>  GLIBC_2.3.2 strptime_l F
>  GLIBC_2.3.3 __pthread_cleanup_routine F
> +GLIBC_2.3.3 __pthread_register_cancel F
> +GLIBC_2.3.3 __pthread_unregister_cancel F
>  GLIBC_2.3.3 __pthread_unwind_next F
>  GLIBC_2.3.3 _sys_siglist D 0x208
>  GLIBC_2.3.3 gnu_dev_major F
> @@ -2233,6 +2235,8 @@ GLIBC_2.34 __pthread_cleanup_routine F
>  GLIBC_2.34 __pthread_key_create F
>  GLIBC_2.34 __pthread_mutex_lock F
>  GLIBC_2.34 __pthread_mutex_unlock F
> +GLIBC_2.34 __pthread_register_cancel F
> +GLIBC_2.34 __pthread_unregister_cancel F
>  GLIBC_2.34 __pthread_unwind_next F
>  GLIBC_2.34 call_once F
>  GLIBC_2.34 cnd_broadcast F
> diff --git a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
> index 8db794d53e..2dbc645d17 100644
> --- a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
> @@ -20,9 +20,7 @@ GLIBC_2.2.3 __libpthread_version_placeholder F
>  GLIBC_2.2.6 __libpthread_version_placeholder F
>  GLIBC_2.28 thrd_create F
>  GLIBC_2.3.2 __libpthread_version_placeholder F
> -GLIBC_2.3.3 __pthread_register_cancel F
>  GLIBC_2.3.3 __pthread_register_cancel_defer F
> -GLIBC_2.3.3 __pthread_unregister_cancel F
>  GLIBC_2.3.3 __pthread_unregister_cancel_restore F
>  GLIBC_2.3.3 pthread_attr_getaffinity_np F
>  GLIBC_2.3.3 pthread_attr_setstack F
> diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
> index dfb73924b9..54822cb0ff 100644
> --- a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
> @@ -191,6 +191,8 @@ GLIBC_2.34 __pthread_cleanup_routine F
>  GLIBC_2.34 __pthread_key_create F
>  GLIBC_2.34 __pthread_mutex_lock F
>  GLIBC_2.34 __pthread_mutex_unlock F
> +GLIBC_2.34 __pthread_register_cancel F
> +GLIBC_2.34 __pthread_unregister_cancel F
>  GLIBC_2.34 __pthread_unwind_next F
>  GLIBC_2.34 call_once F
>  GLIBC_2.34 cnd_broadcast F
> @@ -613,6 +615,7 @@ GLIBC_2.4 __pthread_mutexattr_destroy F
>  GLIBC_2.4 __pthread_mutexattr_init F
>  GLIBC_2.4 __pthread_mutexattr_settype F
>  GLIBC_2.4 __pthread_once F
> +GLIBC_2.4 __pthread_register_cancel F
>  GLIBC_2.4 __pthread_rwlock_destroy F
>  GLIBC_2.4 __pthread_rwlock_init F
>  GLIBC_2.4 __pthread_rwlock_rdlock F
> @@ -621,6 +624,7 @@ GLIBC_2.4 __pthread_rwlock_trywrlock F
>  GLIBC_2.4 __pthread_rwlock_unlock F
>  GLIBC_2.4 __pthread_rwlock_wrlock F
>  GLIBC_2.4 __pthread_setspecific F
> +GLIBC_2.4 __pthread_unregister_cancel F
>  GLIBC_2.4 __pthread_unwind_next F
>  GLIBC_2.4 __ptsname_r_chk F
>  GLIBC_2.4 __pwrite64 F
> diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
> index d629cc23e7..fcf9bae888 100644
> --- a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
> @@ -7,9 +7,7 @@ GLIBC_2.30 __libpthread_version_placeholder F
>  GLIBC_2.31 __libpthread_version_placeholder F
>  GLIBC_2.4 __errno_location F
>  GLIBC_2.4 __libpthread_version_placeholder F
> -GLIBC_2.4 __pthread_register_cancel F
>  GLIBC_2.4 __pthread_register_cancel_defer F
> -GLIBC_2.4 __pthread_unregister_cancel F
>  GLIBC_2.4 __pthread_unregister_cancel_restore F
>  GLIBC_2.4 pthread_attr_getaffinity_np F
>  GLIBC_2.4 pthread_attr_getguardsize F
> diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
> index 1a88ecbca4..78676b83eb 100644
> --- a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
> @@ -2226,6 +2226,8 @@ GLIBC_2.3.2 pthread_cond_timedwait F
>  GLIBC_2.3.2 pthread_cond_wait F
>  GLIBC_2.3.2 strptime_l F
>  GLIBC_2.3.3 __pthread_cleanup_routine F
> +GLIBC_2.3.3 __pthread_register_cancel F
> +GLIBC_2.3.3 __pthread_unregister_cancel F
>  GLIBC_2.3.3 __pthread_unwind_next F
>  GLIBC_2.3.3 _sys_siglist D 0x104
>  GLIBC_2.3.3 gnu_dev_major F
> @@ -2325,6 +2327,8 @@ GLIBC_2.34 __pthread_cleanup_routine F
>  GLIBC_2.34 __pthread_key_create F
>  GLIBC_2.34 __pthread_mutex_lock F
>  GLIBC_2.34 __pthread_mutex_unlock F
> +GLIBC_2.34 __pthread_register_cancel F
> +GLIBC_2.34 __pthread_unregister_cancel F
>  GLIBC_2.34 __pthread_unwind_next F
>  GLIBC_2.34 call_once F
>  GLIBC_2.34 cnd_broadcast F
> diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
> index 6c36475ccb..a67cc86dcd 100644
> --- a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
> @@ -23,9 +23,7 @@ GLIBC_2.2.3 __libpthread_version_placeholder F
>  GLIBC_2.2.6 __libpthread_version_placeholder F
>  GLIBC_2.28 thrd_create F
>  GLIBC_2.3.2 __libpthread_version_placeholder F
> -GLIBC_2.3.3 __pthread_register_cancel F
>  GLIBC_2.3.3 __pthread_register_cancel_defer F
> -GLIBC_2.3.3 __pthread_unregister_cancel F
>  GLIBC_2.3.3 __pthread_unregister_cancel_restore F
>  GLIBC_2.3.3 pthread_attr_getaffinity_np F
>  GLIBC_2.3.3 pthread_setaffinity_np F
> diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
> index f07dba5ef0..ddc36aaa80 100644
> --- a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
> @@ -351,6 +351,7 @@ GLIBC_2.18 __pthread_mutexattr_destroy F
>  GLIBC_2.18 __pthread_mutexattr_init F
>  GLIBC_2.18 __pthread_mutexattr_settype F
>  GLIBC_2.18 __pthread_once F
> +GLIBC_2.18 __pthread_register_cancel F
>  GLIBC_2.18 __pthread_rwlock_destroy F
>  GLIBC_2.18 __pthread_rwlock_init F
>  GLIBC_2.18 __pthread_rwlock_rdlock F
> @@ -359,6 +360,7 @@ GLIBC_2.18 __pthread_rwlock_trywrlock F
>  GLIBC_2.18 __pthread_rwlock_unlock F
>  GLIBC_2.18 __pthread_rwlock_wrlock F
>  GLIBC_2.18 __pthread_setspecific F
> +GLIBC_2.18 __pthread_unregister_cancel F
>  GLIBC_2.18 __pthread_unwind_next F
>  GLIBC_2.18 __ptsname_r_chk F
>  GLIBC_2.18 __pwrite64 F
> @@ -2299,6 +2301,8 @@ GLIBC_2.34 __pthread_cleanup_routine F
>  GLIBC_2.34 __pthread_key_create F
>  GLIBC_2.34 __pthread_mutex_lock F
>  GLIBC_2.34 __pthread_mutex_unlock F
> +GLIBC_2.34 __pthread_register_cancel F
> +GLIBC_2.34 __pthread_unregister_cancel F
>  GLIBC_2.34 __pthread_unwind_next F
>  GLIBC_2.34 call_once F
>  GLIBC_2.34 cnd_broadcast F
> diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
> index 64fff0e0e0..f3a5b67d41 100644
> --- a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
> @@ -1,7 +1,5 @@
>  GLIBC_2.18 __errno_location F
> -GLIBC_2.18 __pthread_register_cancel F
>  GLIBC_2.18 __pthread_register_cancel_defer F
> -GLIBC_2.18 __pthread_unregister_cancel F
>  GLIBC_2.18 __pthread_unregister_cancel_restore F
>  GLIBC_2.18 pthread_attr_getaffinity_np F
>  GLIBC_2.18 pthread_attr_getguardsize F
> diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
> index 688de4ee35..410cf82c0e 100644
> --- a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
> @@ -351,6 +351,7 @@ GLIBC_2.18 __pthread_mutexattr_destroy F
>  GLIBC_2.18 __pthread_mutexattr_init F
>  GLIBC_2.18 __pthread_mutexattr_settype F
>  GLIBC_2.18 __pthread_once F
> +GLIBC_2.18 __pthread_register_cancel F
>  GLIBC_2.18 __pthread_rwlock_destroy F
>  GLIBC_2.18 __pthread_rwlock_init F
>  GLIBC_2.18 __pthread_rwlock_rdlock F
> @@ -359,6 +360,7 @@ GLIBC_2.18 __pthread_rwlock_trywrlock F
>  GLIBC_2.18 __pthread_rwlock_unlock F
>  GLIBC_2.18 __pthread_rwlock_wrlock F
>  GLIBC_2.18 __pthread_setspecific F
> +GLIBC_2.18 __pthread_unregister_cancel F
>  GLIBC_2.18 __pthread_unwind_next F
>  GLIBC_2.18 __ptsname_r_chk F
>  GLIBC_2.18 __pwrite64 F
> @@ -2296,6 +2298,8 @@ GLIBC_2.34 __pthread_cleanup_routine F
>  GLIBC_2.34 __pthread_key_create F
>  GLIBC_2.34 __pthread_mutex_lock F
>  GLIBC_2.34 __pthread_mutex_unlock F
> +GLIBC_2.34 __pthread_register_cancel F
> +GLIBC_2.34 __pthread_unregister_cancel F
>  GLIBC_2.34 __pthread_unwind_next F
>  GLIBC_2.34 call_once F
>  GLIBC_2.34 cnd_broadcast F
> diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
> index 64fff0e0e0..f3a5b67d41 100644
> --- a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
> @@ -1,7 +1,5 @@
>  GLIBC_2.18 __errno_location F
> -GLIBC_2.18 __pthread_register_cancel F
>  GLIBC_2.18 __pthread_register_cancel_defer F
> -GLIBC_2.18 __pthread_unregister_cancel F
>  GLIBC_2.18 __pthread_unregister_cancel_restore F
>  GLIBC_2.18 pthread_attr_getaffinity_np F
>  GLIBC_2.18 pthread_attr_getguardsize F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
> index 7e82eadb1d..9a2b97b6e2 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
> @@ -2192,6 +2192,8 @@ GLIBC_2.3.2 pthread_cond_timedwait F
>  GLIBC_2.3.2 pthread_cond_wait F
>  GLIBC_2.3.2 strptime_l F
>  GLIBC_2.3.3 __pthread_cleanup_routine F
> +GLIBC_2.3.3 __pthread_register_cancel F
> +GLIBC_2.3.3 __pthread_unregister_cancel F
>  GLIBC_2.3.3 __pthread_unwind_next F
>  GLIBC_2.3.3 _sys_siglist D 0x200
>  GLIBC_2.3.3 gnu_dev_major F
> @@ -2288,6 +2290,8 @@ GLIBC_2.34 __pthread_cleanup_routine F
>  GLIBC_2.34 __pthread_key_create F
>  GLIBC_2.34 __pthread_mutex_lock F
>  GLIBC_2.34 __pthread_mutex_unlock F
> +GLIBC_2.34 __pthread_register_cancel F
> +GLIBC_2.34 __pthread_unregister_cancel F
>  GLIBC_2.34 __pthread_unwind_next F
>  GLIBC_2.34 call_once F
>  GLIBC_2.34 cnd_broadcast F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
> index 8a95354f94..26ae04300c 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
> @@ -21,9 +21,7 @@ GLIBC_2.2.3 __libpthread_version_placeholder F
>  GLIBC_2.2.6 __libpthread_version_placeholder F
>  GLIBC_2.28 thrd_create F
>  GLIBC_2.3.2 __libpthread_version_placeholder F
> -GLIBC_2.3.3 __pthread_register_cancel F
>  GLIBC_2.3.3 __pthread_register_cancel_defer F
> -GLIBC_2.3.3 __pthread_unregister_cancel F
>  GLIBC_2.3.3 __pthread_unregister_cancel_restore F
>  GLIBC_2.3.3 pthread_attr_getaffinity_np F
>  GLIBC_2.3.3 pthread_attr_setstack F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
> index 5891b9b563..e73613e7d7 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
> @@ -2190,6 +2190,8 @@ GLIBC_2.3.2 pthread_cond_timedwait F
>  GLIBC_2.3.2 pthread_cond_wait F
>  GLIBC_2.3.2 strptime_l F
>  GLIBC_2.3.3 __pthread_cleanup_routine F
> +GLIBC_2.3.3 __pthread_register_cancel F
> +GLIBC_2.3.3 __pthread_unregister_cancel F
>  GLIBC_2.3.3 __pthread_unwind_next F
>  GLIBC_2.3.3 _sys_siglist D 0x200
>  GLIBC_2.3.3 gnu_dev_major F
> @@ -2286,6 +2288,8 @@ GLIBC_2.34 __pthread_cleanup_routine F
>  GLIBC_2.34 __pthread_key_create F
>  GLIBC_2.34 __pthread_mutex_lock F
>  GLIBC_2.34 __pthread_mutex_unlock F
> +GLIBC_2.34 __pthread_register_cancel F
> +GLIBC_2.34 __pthread_unregister_cancel F
>  GLIBC_2.34 __pthread_unwind_next F
>  GLIBC_2.34 call_once F
>  GLIBC_2.34 cnd_broadcast F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
> index 8a95354f94..26ae04300c 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
> @@ -21,9 +21,7 @@ GLIBC_2.2.3 __libpthread_version_placeholder F
>  GLIBC_2.2.6 __libpthread_version_placeholder F
>  GLIBC_2.28 thrd_create F
>  GLIBC_2.3.2 __libpthread_version_placeholder F
> -GLIBC_2.3.3 __pthread_register_cancel F
>  GLIBC_2.3.3 __pthread_register_cancel_defer F
> -GLIBC_2.3.3 __pthread_unregister_cancel F
>  GLIBC_2.3.3 __pthread_unregister_cancel_restore F
>  GLIBC_2.3.3 pthread_attr_getaffinity_np F
>  GLIBC_2.3.3 pthread_attr_setstack F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
> index dbf9dcf588..7512fb6e4e 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
> @@ -2198,6 +2198,8 @@ GLIBC_2.3.2 pthread_cond_timedwait F
>  GLIBC_2.3.2 pthread_cond_wait F
>  GLIBC_2.3.2 strptime_l F
>  GLIBC_2.3.3 __pthread_cleanup_routine F
> +GLIBC_2.3.3 __pthread_register_cancel F
> +GLIBC_2.3.3 __pthread_unregister_cancel F
>  GLIBC_2.3.3 __pthread_unwind_next F
>  GLIBC_2.3.3 _sys_siglist D 0x200
>  GLIBC_2.3.3 gnu_dev_major F
> @@ -2294,6 +2296,8 @@ GLIBC_2.34 __pthread_cleanup_routine F
>  GLIBC_2.34 __pthread_key_create F
>  GLIBC_2.34 __pthread_mutex_lock F
>  GLIBC_2.34 __pthread_mutex_unlock F
> +GLIBC_2.34 __pthread_register_cancel F
> +GLIBC_2.34 __pthread_unregister_cancel F
>  GLIBC_2.34 __pthread_unwind_next F
>  GLIBC_2.34 call_once F
>  GLIBC_2.34 cnd_broadcast F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
> index ed31156fe5..41578b8c93 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
> @@ -2191,6 +2191,8 @@ GLIBC_2.3.2 pthread_cond_timedwait F
>  GLIBC_2.3.2 pthread_cond_wait F
>  GLIBC_2.3.2 strptime_l F
>  GLIBC_2.3.3 __pthread_cleanup_routine F
> +GLIBC_2.3.3 __pthread_register_cancel F
> +GLIBC_2.3.3 __pthread_unregister_cancel F
>  GLIBC_2.3.3 __pthread_unwind_next F
>  GLIBC_2.3.3 _sys_siglist D 0x400
>  GLIBC_2.3.3 gnu_dev_major F
> @@ -2288,6 +2290,8 @@ GLIBC_2.34 __pthread_cleanup_routine F
>  GLIBC_2.34 __pthread_key_create F
>  GLIBC_2.34 __pthread_mutex_lock F
>  GLIBC_2.34 __pthread_mutex_unlock F
> +GLIBC_2.34 __pthread_register_cancel F
> +GLIBC_2.34 __pthread_unregister_cancel F
>  GLIBC_2.34 __pthread_unwind_next F
>  GLIBC_2.34 call_once F
>  GLIBC_2.34 cnd_broadcast F
> diff --git a/sysdeps/unix/sysv/linux/nios2/libc.abilist b/sysdeps/unix/sysv/linux/nios2/libc.abilist
> index bca4034be2..34fff4c240 100644
> --- a/sysdeps/unix/sysv/linux/nios2/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/nios2/libc.abilist
> @@ -388,6 +388,7 @@ GLIBC_2.21 __pthread_mutexattr_destroy F
>  GLIBC_2.21 __pthread_mutexattr_init F
>  GLIBC_2.21 __pthread_mutexattr_settype F
>  GLIBC_2.21 __pthread_once F
> +GLIBC_2.21 __pthread_register_cancel F
>  GLIBC_2.21 __pthread_rwlock_destroy F
>  GLIBC_2.21 __pthread_rwlock_init F
>  GLIBC_2.21 __pthread_rwlock_rdlock F
> @@ -396,6 +397,7 @@ GLIBC_2.21 __pthread_rwlock_trywrlock F
>  GLIBC_2.21 __pthread_rwlock_unlock F
>  GLIBC_2.21 __pthread_rwlock_wrlock F
>  GLIBC_2.21 __pthread_setspecific F
> +GLIBC_2.21 __pthread_unregister_cancel F
>  GLIBC_2.21 __pthread_unwind_next F
>  GLIBC_2.21 __ptsname_r_chk F
>  GLIBC_2.21 __pwrite64 F
> @@ -2338,6 +2340,8 @@ GLIBC_2.34 __pthread_cleanup_routine F
>  GLIBC_2.34 __pthread_key_create F
>  GLIBC_2.34 __pthread_mutex_lock F
>  GLIBC_2.34 __pthread_mutex_unlock F
> +GLIBC_2.34 __pthread_register_cancel F
> +GLIBC_2.34 __pthread_unregister_cancel F
>  GLIBC_2.34 __pthread_unwind_next F
>  GLIBC_2.34 call_once F
>  GLIBC_2.34 cnd_broadcast F
> diff --git a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
> index 4dec581eb6..9bee776f4f 100644
> --- a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
> @@ -1,7 +1,5 @@
>  GLIBC_2.21 __errno_location F
> -GLIBC_2.21 __pthread_register_cancel F
>  GLIBC_2.21 __pthread_register_cancel_defer F
> -GLIBC_2.21 __pthread_unregister_cancel F
>  GLIBC_2.21 __pthread_unregister_cancel_restore F
>  GLIBC_2.21 pthread_attr_getaffinity_np F
>  GLIBC_2.21 pthread_attr_getguardsize F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
> index 5de9636022..8b8adc06ce 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
> @@ -2230,6 +2230,8 @@ GLIBC_2.3.2 pthread_cond_timedwait F
>  GLIBC_2.3.2 pthread_cond_wait F
>  GLIBC_2.3.2 strptime_l F
>  GLIBC_2.3.3 __pthread_cleanup_routine F
> +GLIBC_2.3.3 __pthread_register_cancel F
> +GLIBC_2.3.3 __pthread_unregister_cancel F
>  GLIBC_2.3.3 __pthread_unwind_next F
>  GLIBC_2.3.3 _sys_siglist D 0x104
>  GLIBC_2.3.3 getcontext F
> @@ -2352,6 +2354,8 @@ GLIBC_2.34 __pthread_cleanup_routine F
>  GLIBC_2.34 __pthread_key_create F
>  GLIBC_2.34 __pthread_mutex_lock F
>  GLIBC_2.34 __pthread_mutex_unlock F
> +GLIBC_2.34 __pthread_register_cancel F
> +GLIBC_2.34 __pthread_unregister_cancel F
>  GLIBC_2.34 __pthread_unwind_next F
>  GLIBC_2.34 call_once F
>  GLIBC_2.34 cnd_broadcast F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
> index cf9b765b38..a30be35a7a 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
> @@ -23,9 +23,7 @@ GLIBC_2.2.3 __libpthread_version_placeholder F
>  GLIBC_2.2.6 __libpthread_version_placeholder F
>  GLIBC_2.28 thrd_create F
>  GLIBC_2.3.2 __libpthread_version_placeholder F
> -GLIBC_2.3.3 __pthread_register_cancel F
>  GLIBC_2.3.3 __pthread_register_cancel_defer F
> -GLIBC_2.3.3 __pthread_unregister_cancel F
>  GLIBC_2.3.3 __pthread_unregister_cancel_restore F
>  GLIBC_2.3.3 pthread_attr_getaffinity_np F
>  GLIBC_2.3.3 pthread_setaffinity_np F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
> index 10cb492163..5754fd3589 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
> @@ -2263,6 +2263,8 @@ GLIBC_2.3.2 pthread_cond_timedwait F
>  GLIBC_2.3.2 pthread_cond_wait F
>  GLIBC_2.3.2 strptime_l F
>  GLIBC_2.3.3 __pthread_cleanup_routine F
> +GLIBC_2.3.3 __pthread_register_cancel F
> +GLIBC_2.3.3 __pthread_unregister_cancel F
>  GLIBC_2.3.3 __pthread_unwind_next F
>  GLIBC_2.3.3 _sys_siglist D 0x104
>  GLIBC_2.3.3 getcontext F
> @@ -2385,6 +2387,8 @@ GLIBC_2.34 __pthread_cleanup_routine F
>  GLIBC_2.34 __pthread_key_create F
>  GLIBC_2.34 __pthread_mutex_lock F
>  GLIBC_2.34 __pthread_mutex_unlock F
> +GLIBC_2.34 __pthread_register_cancel F
> +GLIBC_2.34 __pthread_unregister_cancel F
>  GLIBC_2.34 __pthread_unwind_next F
>  GLIBC_2.34 call_once F
>  GLIBC_2.34 cnd_broadcast F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
> index 4d72e24c22..47812d2be1 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
> @@ -2083,6 +2083,8 @@ GLIBC_2.3.2 pthread_cond_timedwait F
>  GLIBC_2.3.2 pthread_cond_wait F
>  GLIBC_2.3.2 strptime_l F
>  GLIBC_2.3.3 __pthread_cleanup_routine F
> +GLIBC_2.3.3 __pthread_register_cancel F
> +GLIBC_2.3.3 __pthread_unregister_cancel F
>  GLIBC_2.3.3 __pthread_unwind_next F
>  GLIBC_2.3.3 _sys_siglist D 0x208
>  GLIBC_2.3.3 gnu_dev_major F
> @@ -2200,6 +2202,8 @@ GLIBC_2.34 __pthread_cleanup_routine F
>  GLIBC_2.34 __pthread_key_create F
>  GLIBC_2.34 __pthread_mutex_lock F
>  GLIBC_2.34 __pthread_mutex_unlock F
> +GLIBC_2.34 __pthread_register_cancel F
> +GLIBC_2.34 __pthread_unregister_cancel F
>  GLIBC_2.34 __pthread_unwind_next F
>  GLIBC_2.34 call_once F
>  GLIBC_2.34 cnd_broadcast F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
> index 66f04c69a2..5129d976a1 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
> @@ -18,9 +18,7 @@ GLIBC_2.3 pthread_getconcurrency F
>  GLIBC_2.3 pthread_getcpuclockid F
>  GLIBC_2.3 pthread_setconcurrency F
>  GLIBC_2.3.2 __libpthread_version_placeholder F
> -GLIBC_2.3.3 __pthread_register_cancel F
>  GLIBC_2.3.3 __pthread_register_cancel_defer F
> -GLIBC_2.3.3 __pthread_unregister_cancel F
>  GLIBC_2.3.3 __pthread_unregister_cancel_restore F
>  GLIBC_2.3.3 pthread_attr_getaffinity_np F
>  GLIBC_2.3.3 pthread_setaffinity_np F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
> index d3ac4aeefc..9af9e3fba6 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
> @@ -436,6 +436,7 @@ GLIBC_2.17 __pthread_mutexattr_destroy F
>  GLIBC_2.17 __pthread_mutexattr_init F
>  GLIBC_2.17 __pthread_mutexattr_settype F
>  GLIBC_2.17 __pthread_once F
> +GLIBC_2.17 __pthread_register_cancel F
>  GLIBC_2.17 __pthread_rwlock_destroy F
>  GLIBC_2.17 __pthread_rwlock_init F
>  GLIBC_2.17 __pthread_rwlock_rdlock F
> @@ -444,6 +445,7 @@ GLIBC_2.17 __pthread_rwlock_trywrlock F
>  GLIBC_2.17 __pthread_rwlock_unlock F
>  GLIBC_2.17 __pthread_rwlock_wrlock F
>  GLIBC_2.17 __pthread_setspecific F
> +GLIBC_2.17 __pthread_unregister_cancel F
>  GLIBC_2.17 __pthread_unwind_next F
>  GLIBC_2.17 __ptsname_r_chk F
>  GLIBC_2.17 __pwrite64 F
> @@ -2501,6 +2503,8 @@ GLIBC_2.34 __pthread_cleanup_routine F
>  GLIBC_2.34 __pthread_key_create F
>  GLIBC_2.34 __pthread_mutex_lock F
>  GLIBC_2.34 __pthread_mutex_unlock F
> +GLIBC_2.34 __pthread_register_cancel F
> +GLIBC_2.34 __pthread_unregister_cancel F
>  GLIBC_2.34 __pthread_unwind_next F
>  GLIBC_2.34 call_once F
>  GLIBC_2.34 cnd_broadcast F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
> index 2b21af13ad..633df92b7c 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
> @@ -1,7 +1,5 @@
>  GLIBC_2.17 __errno_location F
> -GLIBC_2.17 __pthread_register_cancel F
>  GLIBC_2.17 __pthread_register_cancel_defer F
> -GLIBC_2.17 __pthread_unregister_cancel F
>  GLIBC_2.17 __pthread_unregister_cancel_restore F
>  GLIBC_2.17 pthread_attr_getaffinity_np F
>  GLIBC_2.17 pthread_attr_getguardsize F
> diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
> index dcef189dcc..ce2057f817 100644
> --- a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
> @@ -336,6 +336,7 @@ GLIBC_2.33 __pthread_mutexattr_destroy F
>  GLIBC_2.33 __pthread_mutexattr_init F
>  GLIBC_2.33 __pthread_mutexattr_settype F
>  GLIBC_2.33 __pthread_once F
> +GLIBC_2.33 __pthread_register_cancel F
>  GLIBC_2.33 __pthread_rwlock_destroy F
>  GLIBC_2.33 __pthread_rwlock_init F
>  GLIBC_2.33 __pthread_rwlock_rdlock F
> @@ -344,6 +345,7 @@ GLIBC_2.33 __pthread_rwlock_trywrlock F
>  GLIBC_2.33 __pthread_rwlock_unlock F
>  GLIBC_2.33 __pthread_rwlock_wrlock F
>  GLIBC_2.33 __pthread_setspecific F
> +GLIBC_2.33 __pthread_unregister_cancel F
>  GLIBC_2.33 __pthread_unwind_next F
>  GLIBC_2.33 __ptsname_r_chk F
>  GLIBC_2.33 __pwrite64 F
> @@ -2066,6 +2068,8 @@ GLIBC_2.34 __pthread_cleanup_routine F
>  GLIBC_2.34 __pthread_key_create F
>  GLIBC_2.34 __pthread_mutex_lock F
>  GLIBC_2.34 __pthread_mutex_unlock F
> +GLIBC_2.34 __pthread_register_cancel F
> +GLIBC_2.34 __pthread_unregister_cancel F
>  GLIBC_2.34 __pthread_unwind_next F
>  GLIBC_2.34 call_once F
>  GLIBC_2.34 cnd_broadcast F
> diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
> index ccfa97c0e5..a1b36b3b46 100644
> --- a/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
> @@ -1,7 +1,5 @@
>  GLIBC_2.33 __errno_location F
> -GLIBC_2.33 __pthread_register_cancel F
>  GLIBC_2.33 __pthread_register_cancel_defer F
> -GLIBC_2.33 __pthread_unregister_cancel F
>  GLIBC_2.33 __pthread_unregister_cancel_restore F
>  GLIBC_2.33 pthread_attr_getaffinity_np F
>  GLIBC_2.33 pthread_attr_getguardsize F
> diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
> index 806d787b3f..e5ea5fd6e0 100644
> --- a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
> @@ -347,6 +347,7 @@ GLIBC_2.27 __pthread_mutexattr_destroy F
>  GLIBC_2.27 __pthread_mutexattr_init F
>  GLIBC_2.27 __pthread_mutexattr_settype F
>  GLIBC_2.27 __pthread_once F
> +GLIBC_2.27 __pthread_register_cancel F
>  GLIBC_2.27 __pthread_rwlock_destroy F
>  GLIBC_2.27 __pthread_rwlock_init F
>  GLIBC_2.27 __pthread_rwlock_rdlock F
> @@ -355,6 +356,7 @@ GLIBC_2.27 __pthread_rwlock_trywrlock F
>  GLIBC_2.27 __pthread_rwlock_unlock F
>  GLIBC_2.27 __pthread_rwlock_wrlock F
>  GLIBC_2.27 __pthread_setspecific F
> +GLIBC_2.27 __pthread_unregister_cancel F
>  GLIBC_2.27 __pthread_unwind_next F
>  GLIBC_2.27 __ptsname_r_chk F
>  GLIBC_2.27 __pwrite64 F
> @@ -2266,6 +2268,8 @@ GLIBC_2.34 __pthread_cleanup_routine F
>  GLIBC_2.34 __pthread_key_create F
>  GLIBC_2.34 __pthread_mutex_lock F
>  GLIBC_2.34 __pthread_mutex_unlock F
> +GLIBC_2.34 __pthread_register_cancel F
> +GLIBC_2.34 __pthread_unregister_cancel F
>  GLIBC_2.34 __pthread_unwind_next F
>  GLIBC_2.34 call_once F
>  GLIBC_2.34 cnd_broadcast F
> diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
> index dbb1a42922..e8dc7c3910 100644
> --- a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
> @@ -1,7 +1,5 @@
>  GLIBC_2.27 __errno_location F
> -GLIBC_2.27 __pthread_register_cancel F
>  GLIBC_2.27 __pthread_register_cancel_defer F
> -GLIBC_2.27 __pthread_unregister_cancel F
>  GLIBC_2.27 __pthread_unregister_cancel_restore F
>  GLIBC_2.27 pthread_attr_getaffinity_np F
>  GLIBC_2.27 pthread_attr_getguardsize F
> diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
> index 52f3cc5a97..fbb75ccf9d 100644
> --- a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
> @@ -2239,6 +2239,8 @@ GLIBC_2.3.2 pthread_cond_timedwait F
>  GLIBC_2.3.2 pthread_cond_wait F
>  GLIBC_2.3.2 strptime_l F
>  GLIBC_2.3.3 __pthread_cleanup_routine F
> +GLIBC_2.3.3 __pthread_register_cancel F
> +GLIBC_2.3.3 __pthread_unregister_cancel F
>  GLIBC_2.3.3 __pthread_unwind_next F
>  GLIBC_2.3.3 _sys_siglist D 0x104
>  GLIBC_2.3.3 gnu_dev_major F
> @@ -2350,6 +2352,8 @@ GLIBC_2.34 __pthread_cleanup_routine F
>  GLIBC_2.34 __pthread_key_create F
>  GLIBC_2.34 __pthread_mutex_lock F
>  GLIBC_2.34 __pthread_mutex_unlock F
> +GLIBC_2.34 __pthread_register_cancel F
> +GLIBC_2.34 __pthread_unregister_cancel F
>  GLIBC_2.34 __pthread_unwind_next F
>  GLIBC_2.34 call_once F
>  GLIBC_2.34 cnd_broadcast F
> diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
> index caeaf1c3c8..f5deee544b 100644
> --- a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
> @@ -24,9 +24,7 @@ GLIBC_2.2.3 __libpthread_version_placeholder F
>  GLIBC_2.2.6 __libpthread_version_placeholder F
>  GLIBC_2.28 thrd_create F
>  GLIBC_2.3.2 __libpthread_version_placeholder F
> -GLIBC_2.3.3 __pthread_register_cancel F
>  GLIBC_2.3.3 __pthread_register_cancel_defer F
> -GLIBC_2.3.3 __pthread_unregister_cancel F
>  GLIBC_2.3.3 __pthread_unregister_cancel_restore F
>  GLIBC_2.3.3 pthread_attr_getaffinity_np F
>  GLIBC_2.3.3 pthread_setaffinity_np F
> diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
> index 96dcf91860..7c1e46cdf0 100644
> --- a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
> @@ -2129,6 +2129,8 @@ GLIBC_2.3.2 pthread_cond_timedwait F
>  GLIBC_2.3.2 pthread_cond_wait F
>  GLIBC_2.3.2 strptime_l F
>  GLIBC_2.3.3 __pthread_cleanup_routine F
> +GLIBC_2.3.3 __pthread_register_cancel F
> +GLIBC_2.3.3 __pthread_unregister_cancel F
>  GLIBC_2.3.3 __pthread_unwind_next F
>  GLIBC_2.3.3 _sys_siglist D 0x208
>  GLIBC_2.3.3 gnu_dev_major F
> @@ -2237,6 +2239,8 @@ GLIBC_2.34 __pthread_cleanup_routine F
>  GLIBC_2.34 __pthread_key_create F
>  GLIBC_2.34 __pthread_mutex_lock F
>  GLIBC_2.34 __pthread_mutex_unlock F
> +GLIBC_2.34 __pthread_register_cancel F
> +GLIBC_2.34 __pthread_unregister_cancel F
>  GLIBC_2.34 __pthread_unwind_next F
>  GLIBC_2.34 call_once F
>  GLIBC_2.34 cnd_broadcast F
> diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
> index 396dff1d9f..9fdcccffb0 100644
> --- a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
> @@ -21,9 +21,7 @@ GLIBC_2.2.3 __libpthread_version_placeholder F
>  GLIBC_2.2.6 __libpthread_version_placeholder F
>  GLIBC_2.28 thrd_create F
>  GLIBC_2.3.2 __libpthread_version_placeholder F
> -GLIBC_2.3.3 __pthread_register_cancel F
>  GLIBC_2.3.3 __pthread_register_cancel_defer F
> -GLIBC_2.3.3 __pthread_unregister_cancel F
>  GLIBC_2.3.3 __pthread_unregister_cancel_restore F
>  GLIBC_2.3.3 pthread_attr_getaffinity_np F
>  GLIBC_2.3.3 pthread_setaffinity_np F
> diff --git a/sysdeps/unix/sysv/linux/sh/be/libc.abilist b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
> index 0360f65963..bfa7943954 100644
> --- a/sysdeps/unix/sysv/linux/sh/be/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
> @@ -2107,6 +2107,8 @@ GLIBC_2.3.2 pthread_cond_timedwait F
>  GLIBC_2.3.2 pthread_cond_wait F
>  GLIBC_2.3.2 strptime_l F
>  GLIBC_2.3.3 __pthread_cleanup_routine F
> +GLIBC_2.3.3 __pthread_register_cancel F
> +GLIBC_2.3.3 __pthread_unregister_cancel F
>  GLIBC_2.3.3 __pthread_unwind_next F
>  GLIBC_2.3.3 _sys_siglist D 0x104
>  GLIBC_2.3.3 gnu_dev_major F
> @@ -2206,6 +2208,8 @@ GLIBC_2.34 __pthread_cleanup_routine F
>  GLIBC_2.34 __pthread_key_create F
>  GLIBC_2.34 __pthread_mutex_lock F
>  GLIBC_2.34 __pthread_mutex_unlock F
> +GLIBC_2.34 __pthread_register_cancel F
> +GLIBC_2.34 __pthread_unregister_cancel F
>  GLIBC_2.34 __pthread_unwind_next F
>  GLIBC_2.34 call_once F
>  GLIBC_2.34 cnd_broadcast F
> diff --git a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
> index 77bf2e186d..071fd3e5eb 100644
> --- a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
> @@ -20,9 +20,7 @@ GLIBC_2.2.3 __libpthread_version_placeholder F
>  GLIBC_2.2.6 __libpthread_version_placeholder F
>  GLIBC_2.28 thrd_create F
>  GLIBC_2.3.2 __libpthread_version_placeholder F
> -GLIBC_2.3.3 __pthread_register_cancel F
>  GLIBC_2.3.3 __pthread_register_cancel_defer F
> -GLIBC_2.3.3 __pthread_unregister_cancel F
>  GLIBC_2.3.3 __pthread_unregister_cancel_restore F
>  GLIBC_2.3.3 pthread_attr_getaffinity_np F
>  GLIBC_2.3.3 pthread_setaffinity_np F
> diff --git a/sysdeps/unix/sysv/linux/sh/le/libc.abilist b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
> index c99300d9fc..440eed94c8 100644
> --- a/sysdeps/unix/sysv/linux/sh/le/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
> @@ -2107,6 +2107,8 @@ GLIBC_2.3.2 pthread_cond_timedwait F
>  GLIBC_2.3.2 pthread_cond_wait F
>  GLIBC_2.3.2 strptime_l F
>  GLIBC_2.3.3 __pthread_cleanup_routine F
> +GLIBC_2.3.3 __pthread_register_cancel F
> +GLIBC_2.3.3 __pthread_unregister_cancel F
>  GLIBC_2.3.3 __pthread_unwind_next F
>  GLIBC_2.3.3 _sys_siglist D 0x104
>  GLIBC_2.3.3 gnu_dev_major F
> @@ -2203,6 +2205,8 @@ GLIBC_2.34 __pthread_cleanup_routine F
>  GLIBC_2.34 __pthread_key_create F
>  GLIBC_2.34 __pthread_mutex_lock F
>  GLIBC_2.34 __pthread_mutex_unlock F
> +GLIBC_2.34 __pthread_register_cancel F
> +GLIBC_2.34 __pthread_unregister_cancel F
>  GLIBC_2.34 __pthread_unwind_next F
>  GLIBC_2.34 call_once F
>  GLIBC_2.34 cnd_broadcast F
> diff --git a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
> index 77bf2e186d..071fd3e5eb 100644
> --- a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
> @@ -20,9 +20,7 @@ GLIBC_2.2.3 __libpthread_version_placeholder F
>  GLIBC_2.2.6 __libpthread_version_placeholder F
>  GLIBC_2.28 thrd_create F
>  GLIBC_2.3.2 __libpthread_version_placeholder F
> -GLIBC_2.3.3 __pthread_register_cancel F
>  GLIBC_2.3.3 __pthread_register_cancel_defer F
> -GLIBC_2.3.3 __pthread_unregister_cancel F
>  GLIBC_2.3.3 __pthread_unregister_cancel_restore F
>  GLIBC_2.3.3 pthread_attr_getaffinity_np F
>  GLIBC_2.3.3 pthread_setaffinity_np F
> diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
> index 1d3f00ec04..2e3f5ec667 100644
> --- a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
> @@ -2233,6 +2233,8 @@ GLIBC_2.3.2 pthread_cond_timedwait F
>  GLIBC_2.3.2 pthread_cond_wait F
>  GLIBC_2.3.2 strptime_l F
>  GLIBC_2.3.3 __pthread_cleanup_routine F
> +GLIBC_2.3.3 __pthread_register_cancel F
> +GLIBC_2.3.3 __pthread_unregister_cancel F
>  GLIBC_2.3.3 __pthread_unwind_next F
>  GLIBC_2.3.3 _sys_siglist D 0x104
>  GLIBC_2.3.3 gnu_dev_major F
> @@ -2341,6 +2343,8 @@ GLIBC_2.34 __pthread_cleanup_routine F
>  GLIBC_2.34 __pthread_key_create F
>  GLIBC_2.34 __pthread_mutex_lock F
>  GLIBC_2.34 __pthread_mutex_unlock F
> +GLIBC_2.34 __pthread_register_cancel F
> +GLIBC_2.34 __pthread_unregister_cancel F
>  GLIBC_2.34 __pthread_unwind_next F
>  GLIBC_2.34 call_once F
>  GLIBC_2.34 cnd_broadcast F
> diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
> index 56ac3b7e71..fa996f19d7 100644
> --- a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
> @@ -23,9 +23,7 @@ GLIBC_2.2.3 __libpthread_version_placeholder F
>  GLIBC_2.2.6 __libpthread_version_placeholder F
>  GLIBC_2.28 thrd_create F
>  GLIBC_2.3.2 __libpthread_version_placeholder F
> -GLIBC_2.3.3 __pthread_register_cancel F
>  GLIBC_2.3.3 __pthread_register_cancel_defer F
> -GLIBC_2.3.3 __pthread_unregister_cancel F
>  GLIBC_2.3.3 __pthread_unregister_cancel_restore F
>  GLIBC_2.3.3 pthread_attr_getaffinity_np F
>  GLIBC_2.3.3 pthread_attr_setstack F
> diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
> index eb222daa74..1a88c40a3a 100644
> --- a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
> @@ -2158,6 +2158,8 @@ GLIBC_2.3.2 pthread_cond_timedwait F
>  GLIBC_2.3.2 pthread_cond_wait F
>  GLIBC_2.3.2 strptime_l F
>  GLIBC_2.3.3 __pthread_cleanup_routine F
> +GLIBC_2.3.3 __pthread_register_cancel F
> +GLIBC_2.3.3 __pthread_unregister_cancel F
>  GLIBC_2.3.3 __pthread_unwind_next F
>  GLIBC_2.3.3 _sys_siglist D 0x208
>  GLIBC_2.3.3 gnu_dev_major F
> @@ -2254,6 +2256,8 @@ GLIBC_2.34 __pthread_cleanup_routine F
>  GLIBC_2.34 __pthread_key_create F
>  GLIBC_2.34 __pthread_mutex_lock F
>  GLIBC_2.34 __pthread_mutex_unlock F
> +GLIBC_2.34 __pthread_register_cancel F
> +GLIBC_2.34 __pthread_unregister_cancel F
>  GLIBC_2.34 __pthread_unwind_next F
>  GLIBC_2.34 call_once F
>  GLIBC_2.34 cnd_broadcast F
> diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
> index 8db794d53e..2dbc645d17 100644
> --- a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
> @@ -20,9 +20,7 @@ GLIBC_2.2.3 __libpthread_version_placeholder F
>  GLIBC_2.2.6 __libpthread_version_placeholder F
>  GLIBC_2.28 thrd_create F
>  GLIBC_2.3.2 __libpthread_version_placeholder F
> -GLIBC_2.3.3 __pthread_register_cancel F
>  GLIBC_2.3.3 __pthread_register_cancel_defer F
> -GLIBC_2.3.3 __pthread_unregister_cancel F
>  GLIBC_2.3.3 __pthread_unregister_cancel_restore F
>  GLIBC_2.3.3 pthread_attr_getaffinity_np F
>  GLIBC_2.3.3 pthread_attr_setstack F
> diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
> index c34f50d673..c0c3538772 100644
> --- a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
> @@ -2117,6 +2117,8 @@ GLIBC_2.3.2 pthread_cond_timedwait F
>  GLIBC_2.3.2 pthread_cond_wait F
>  GLIBC_2.3.2 strptime_l F
>  GLIBC_2.3.3 __pthread_cleanup_routine F
> +GLIBC_2.3.3 __pthread_register_cancel F
> +GLIBC_2.3.3 __pthread_unregister_cancel F
>  GLIBC_2.3.3 __pthread_unwind_next F
>  GLIBC_2.3.3 _sys_siglist D 0x208
>  GLIBC_2.3.3 gnu_dev_major F
> @@ -2215,6 +2217,8 @@ GLIBC_2.34 __pthread_cleanup_routine F
>  GLIBC_2.34 __pthread_key_create F
>  GLIBC_2.34 __pthread_mutex_lock F
>  GLIBC_2.34 __pthread_mutex_unlock F
> +GLIBC_2.34 __pthread_register_cancel F
> +GLIBC_2.34 __pthread_unregister_cancel F
>  GLIBC_2.34 __pthread_unwind_next F
>  GLIBC_2.34 call_once F
>  GLIBC_2.34 cnd_broadcast F
> diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
> index acfc54c409..e835a66869 100644
> --- a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
> @@ -19,9 +19,7 @@ GLIBC_2.2.5 pthread_setconcurrency F
>  GLIBC_2.2.6 __libpthread_version_placeholder F
>  GLIBC_2.28 thrd_create F
>  GLIBC_2.3.2 __libpthread_version_placeholder F
> -GLIBC_2.3.3 __pthread_register_cancel F
>  GLIBC_2.3.3 __pthread_register_cancel_defer F
> -GLIBC_2.3.3 __pthread_unregister_cancel F
>  GLIBC_2.3.3 __pthread_unregister_cancel_restore F
>  GLIBC_2.3.3 pthread_attr_getaffinity_np F
>  GLIBC_2.3.3 pthread_setaffinity_np F
> diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
> index 4fae69daff..cea07a7812 100644
> --- a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
> @@ -351,6 +351,7 @@ GLIBC_2.16 __pthread_mutexattr_destroy F
>  GLIBC_2.16 __pthread_mutexattr_init F
>  GLIBC_2.16 __pthread_mutexattr_settype F
>  GLIBC_2.16 __pthread_once F
> +GLIBC_2.16 __pthread_register_cancel F
>  GLIBC_2.16 __pthread_rwlock_destroy F
>  GLIBC_2.16 __pthread_rwlock_init F
>  GLIBC_2.16 __pthread_rwlock_rdlock F
> @@ -359,6 +360,7 @@ GLIBC_2.16 __pthread_rwlock_trywrlock F
>  GLIBC_2.16 __pthread_rwlock_unlock F
>  GLIBC_2.16 __pthread_rwlock_wrlock F
>  GLIBC_2.16 __pthread_setspecific F
> +GLIBC_2.16 __pthread_unregister_cancel F
>  GLIBC_2.16 __pthread_unwind_next F
>  GLIBC_2.16 __ptsname_r_chk F
>  GLIBC_2.16 __pwrite64 F
> @@ -2320,6 +2322,8 @@ GLIBC_2.34 __pthread_cleanup_routine F
>  GLIBC_2.34 __pthread_key_create F
>  GLIBC_2.34 __pthread_mutex_lock F
>  GLIBC_2.34 __pthread_mutex_unlock F
> +GLIBC_2.34 __pthread_register_cancel F
> +GLIBC_2.34 __pthread_unregister_cancel F
>  GLIBC_2.34 __pthread_unwind_next F
>  GLIBC_2.34 call_once F
>  GLIBC_2.34 cnd_broadcast F
> diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
> index fe8c2eec64..fc978dfbe6 100644
> --- a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
> @@ -1,7 +1,5 @@
>  GLIBC_2.16 __errno_location F
> -GLIBC_2.16 __pthread_register_cancel F
>  GLIBC_2.16 __pthread_register_cancel_defer F
> -GLIBC_2.16 __pthread_unregister_cancel F
>  GLIBC_2.16 __pthread_unregister_cancel_restore F
>  GLIBC_2.16 pthread_attr_getaffinity_np F
>  GLIBC_2.16 pthread_attr_getguardsize F
>

Ok.
diff mbox series

Patch

diff --git a/nptl/Makefile b/nptl/Makefile
index f81b2f64df..eb6c910656 100644
--- a/nptl/Makefile
+++ b/nptl/Makefile
@@ -31,6 +31,7 @@  extra-libs-others := $(extra-libs)
 routines = \
   alloca_cutoff \
   cancellation \
+  cleanup \
   cleanup_compat \
   cleanup_defer_compat \
   cleanup_routine \
@@ -186,7 +187,6 @@  shared-only-routines = forward
 static-only-routines = pthread_atfork
 
 libpthread-routines = \
-  cleanup \
   cleanup_defer \
   events \
   libpthread-compat \
diff --git a/nptl/Versions b/nptl/Versions
index 8c3e825083..329f0722a6 100644
--- a/nptl/Versions
+++ b/nptl/Versions
@@ -143,6 +143,8 @@  libc {
   }
   GLIBC_2.3.3 {
     __pthread_cleanup_routine;
+    __pthread_register_cancel;
+    __pthread_unregister_cancel;
     __pthread_unwind_next;
     pthread_attr_setaffinity_np;
     pthread_barrierattr_getpshared;
@@ -224,6 +226,8 @@  libc {
     __pthread_key_create;
     __pthread_mutex_lock;
     __pthread_mutex_unlock;
+    __pthread_register_cancel;
+    __pthread_unregister_cancel;
     call_once;
     cnd_broadcast;
     cnd_destroy;
@@ -426,9 +430,7 @@  libpthread {
   }
 
   GLIBC_2.3.3 {
-    __pthread_register_cancel;
     __pthread_register_cancel_defer;
-    __pthread_unregister_cancel;
     __pthread_unregister_cancel_restore;
     pthread_attr_getaffinity_np;
     pthread_setaffinity_np;
diff --git a/nptl/cleanup.c b/nptl/cleanup.c
index ad1651577b..040786fc44 100644
--- a/nptl/cleanup.c
+++ b/nptl/cleanup.c
@@ -18,11 +18,11 @@ 
 
 #include <stdlib.h>
 #include "pthreadP.h"
-
+#include <shlib-compat.h>
 
 void
 __cleanup_fct_attribute
-__pthread_register_cancel (__pthread_unwind_buf_t *buf)
+___pthread_register_cancel (__pthread_unwind_buf_t *buf)
 {
   struct pthread_unwind_buf *ibuf = (struct pthread_unwind_buf *) buf;
   struct pthread *self = THREAD_SELF;
@@ -34,15 +34,29 @@  __pthread_register_cancel (__pthread_unwind_buf_t *buf)
   /* Store the new cleanup handler info.  */
   THREAD_SETMEM (self, cleanup_jmp_buf, (struct pthread_unwind_buf *) buf);
 }
-hidden_def (__pthread_register_cancel)
+versioned_symbol (libc, ___pthread_register_cancel,
+                  __pthread_register_cancel, GLIBC_2_34);
+libc_hidden_ver (___pthread_register_cancel, __pthread_register_cancel)
+
+#if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_3_3, GLIBC_2_34)
+compat_symbol (libpthread, ___pthread_register_cancel,
+               __pthread_register_cancel, GLIBC_2_3_3);
+#endif
 
 
 void
 __cleanup_fct_attribute
-__pthread_unregister_cancel (__pthread_unwind_buf_t *buf)
+___pthread_unregister_cancel (__pthread_unwind_buf_t *buf)
 {
   struct pthread_unwind_buf *ibuf = (struct pthread_unwind_buf *) buf;
 
   THREAD_SETMEM (THREAD_SELF, cleanup_jmp_buf, ibuf->priv.data.prev);
 }
-hidden_def (__pthread_unregister_cancel)
+versioned_symbol (libc, ___pthread_unregister_cancel,
+                  __pthread_unregister_cancel, GLIBC_2_34);
+libc_hidden_ver (___pthread_unregister_cancel, __pthread_unregister_cancel)
+
+#if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_3_3, GLIBC_2_34)
+compat_symbol (libpthread, ___pthread_unregister_cancel,
+               __pthread_unregister_cancel, GLIBC_2_3_3);
+#endif
diff --git a/nptl/pthreadP.h b/nptl/pthreadP.h
index 7e3cef4709..1692788528 100644
--- a/nptl/pthreadP.h
+++ b/nptl/pthreadP.h
@@ -277,21 +277,12 @@  extern void __pthread_unwind_next (__pthread_unwind_buf_t *__buf)
 /* NB: No hidden proto for __pthread_unwind_next: inside glibc, the
    legacy unwinding mechanism is used.  */
 
-#if IS_IN (libpthread)
 extern void __pthread_register_cancel (__pthread_unwind_buf_t *__buf)
      __cleanup_fct_attribute;
+libc_hidden_proto (__pthread_register_cancel)
 extern void __pthread_unregister_cancel (__pthread_unwind_buf_t *__buf)
      __cleanup_fct_attribute;
-hidden_proto (__pthread_register_cancel)
-hidden_proto (__pthread_unregister_cancel)
-# ifdef SHARED
-/* The difference from __libc_unwind_link_get is that here, errors
-   terminate the process.  */
-struct unwind_link ;
-struct unwind_link *__pthread_unwind_link_get (void) attribute_hidden;
-# endif
-#endif
-
+libc_hidden_proto (__pthread_unregister_cancel)
 
 /* Called when a thread reacts on a cancellation request.  */
 static inline void
diff --git a/sysdeps/unix/sysv/linux/aarch64/libc.abilist b/sysdeps/unix/sysv/linux/aarch64/libc.abilist
index 2d06bfef34..68afc4d209 100644
--- a/sysdeps/unix/sysv/linux/aarch64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/aarch64/libc.abilist
@@ -350,6 +350,7 @@  GLIBC_2.17 __pthread_mutexattr_destroy F
 GLIBC_2.17 __pthread_mutexattr_init F
 GLIBC_2.17 __pthread_mutexattr_settype F
 GLIBC_2.17 __pthread_once F
+GLIBC_2.17 __pthread_register_cancel F
 GLIBC_2.17 __pthread_rwlock_destroy F
 GLIBC_2.17 __pthread_rwlock_init F
 GLIBC_2.17 __pthread_rwlock_rdlock F
@@ -358,6 +359,7 @@  GLIBC_2.17 __pthread_rwlock_trywrlock F
 GLIBC_2.17 __pthread_rwlock_unlock F
 GLIBC_2.17 __pthread_rwlock_wrlock F
 GLIBC_2.17 __pthread_setspecific F
+GLIBC_2.17 __pthread_unregister_cancel F
 GLIBC_2.17 __pthread_unwind_next F
 GLIBC_2.17 __ptsname_r_chk F
 GLIBC_2.17 __pwrite64 F
@@ -2305,6 +2307,8 @@  GLIBC_2.34 __pthread_cleanup_routine F
 GLIBC_2.34 __pthread_key_create F
 GLIBC_2.34 __pthread_mutex_lock F
 GLIBC_2.34 __pthread_mutex_unlock F
+GLIBC_2.34 __pthread_register_cancel F
+GLIBC_2.34 __pthread_unregister_cancel F
 GLIBC_2.34 __pthread_unwind_next F
 GLIBC_2.34 call_once F
 GLIBC_2.34 cnd_broadcast F
diff --git a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
index 2b21af13ad..633df92b7c 100644
--- a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
@@ -1,7 +1,5 @@ 
 GLIBC_2.17 __errno_location F
-GLIBC_2.17 __pthread_register_cancel F
 GLIBC_2.17 __pthread_register_cancel_defer F
-GLIBC_2.17 __pthread_unregister_cancel F
 GLIBC_2.17 __pthread_unregister_cancel_restore F
 GLIBC_2.17 pthread_attr_getaffinity_np F
 GLIBC_2.17 pthread_attr_getguardsize F
diff --git a/sysdeps/unix/sysv/linux/alpha/libc.abilist b/sysdeps/unix/sysv/linux/alpha/libc.abilist
index 8f1c1368ad..0eee74431c 100644
--- a/sysdeps/unix/sysv/linux/alpha/libc.abilist
+++ b/sysdeps/unix/sysv/linux/alpha/libc.abilist
@@ -2268,6 +2268,8 @@  GLIBC_2.3.2 pthread_cond_timedwait F
 GLIBC_2.3.2 pthread_cond_wait F
 GLIBC_2.3.2 strptime_l F
 GLIBC_2.3.3 __pthread_cleanup_routine F
+GLIBC_2.3.3 __pthread_register_cancel F
+GLIBC_2.3.3 __pthread_unregister_cancel F
 GLIBC_2.3.3 __pthread_unwind_next F
 GLIBC_2.3.3 _sys_siglist D 0x208
 GLIBC_2.3.3 gnu_dev_major F
@@ -2392,6 +2394,8 @@  GLIBC_2.34 __pthread_cleanup_routine F
 GLIBC_2.34 __pthread_key_create F
 GLIBC_2.34 __pthread_mutex_lock F
 GLIBC_2.34 __pthread_mutex_unlock F
+GLIBC_2.34 __pthread_register_cancel F
+GLIBC_2.34 __pthread_unregister_cancel F
 GLIBC_2.34 __pthread_unwind_next F
 GLIBC_2.34 call_once F
 GLIBC_2.34 cnd_broadcast F
diff --git a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
index 56ac3b7e71..fa996f19d7 100644
--- a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
@@ -23,9 +23,7 @@  GLIBC_2.2.3 __libpthread_version_placeholder F
 GLIBC_2.2.6 __libpthread_version_placeholder F
 GLIBC_2.28 thrd_create F
 GLIBC_2.3.2 __libpthread_version_placeholder F
-GLIBC_2.3.3 __pthread_register_cancel F
 GLIBC_2.3.3 __pthread_register_cancel_defer F
-GLIBC_2.3.3 __pthread_unregister_cancel F
 GLIBC_2.3.3 __pthread_unregister_cancel_restore F
 GLIBC_2.3.3 pthread_attr_getaffinity_np F
 GLIBC_2.3.3 pthread_attr_setstack F
diff --git a/sysdeps/unix/sysv/linux/arc/libc.abilist b/sysdeps/unix/sysv/linux/arc/libc.abilist
index ae902ecdd0..3caf14215d 100644
--- a/sysdeps/unix/sysv/linux/arc/libc.abilist
+++ b/sysdeps/unix/sysv/linux/arc/libc.abilist
@@ -339,6 +339,7 @@  GLIBC_2.32 __pthread_mutexattr_destroy F
 GLIBC_2.32 __pthread_mutexattr_init F
 GLIBC_2.32 __pthread_mutexattr_settype F
 GLIBC_2.32 __pthread_once F
+GLIBC_2.32 __pthread_register_cancel F
 GLIBC_2.32 __pthread_rwlock_destroy F
 GLIBC_2.32 __pthread_rwlock_init F
 GLIBC_2.32 __pthread_rwlock_rdlock F
@@ -347,6 +348,7 @@  GLIBC_2.32 __pthread_rwlock_trywrlock F
 GLIBC_2.32 __pthread_rwlock_unlock F
 GLIBC_2.32 __pthread_rwlock_wrlock F
 GLIBC_2.32 __pthread_setspecific F
+GLIBC_2.32 __pthread_unregister_cancel F
 GLIBC_2.32 __pthread_unwind_next F
 GLIBC_2.32 __ptsname_r_chk F
 GLIBC_2.32 __pwrite64 F
@@ -2064,6 +2066,8 @@  GLIBC_2.34 __pthread_cleanup_routine F
 GLIBC_2.34 __pthread_key_create F
 GLIBC_2.34 __pthread_mutex_lock F
 GLIBC_2.34 __pthread_mutex_unlock F
+GLIBC_2.34 __pthread_register_cancel F
+GLIBC_2.34 __pthread_unregister_cancel F
 GLIBC_2.34 __pthread_unwind_next F
 GLIBC_2.34 call_once F
 GLIBC_2.34 cnd_broadcast F
diff --git a/sysdeps/unix/sysv/linux/arc/libpthread.abilist b/sysdeps/unix/sysv/linux/arc/libpthread.abilist
index 7a8ca30604..93f0474e31 100644
--- a/sysdeps/unix/sysv/linux/arc/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/arc/libpthread.abilist
@@ -1,7 +1,5 @@ 
 GLIBC_2.32 __errno_location F
-GLIBC_2.32 __pthread_register_cancel F
 GLIBC_2.32 __pthread_register_cancel_defer F
-GLIBC_2.32 __pthread_unregister_cancel F
 GLIBC_2.32 __pthread_unregister_cancel_restore F
 GLIBC_2.32 pthread_attr_getaffinity_np F
 GLIBC_2.32 pthread_attr_getguardsize F
diff --git a/sysdeps/unix/sysv/linux/arm/be/libc.abilist b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
index acc620643f..1cf65ff0c7 100644
--- a/sysdeps/unix/sysv/linux/arm/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
@@ -190,6 +190,8 @@  GLIBC_2.34 __pthread_cleanup_routine F
 GLIBC_2.34 __pthread_key_create F
 GLIBC_2.34 __pthread_mutex_lock F
 GLIBC_2.34 __pthread_mutex_unlock F
+GLIBC_2.34 __pthread_register_cancel F
+GLIBC_2.34 __pthread_unregister_cancel F
 GLIBC_2.34 __pthread_unwind_next F
 GLIBC_2.34 call_once F
 GLIBC_2.34 cnd_broadcast F
@@ -627,6 +629,7 @@  GLIBC_2.4 __pthread_mutexattr_destroy F
 GLIBC_2.4 __pthread_mutexattr_init F
 GLIBC_2.4 __pthread_mutexattr_settype F
 GLIBC_2.4 __pthread_once F
+GLIBC_2.4 __pthread_register_cancel F
 GLIBC_2.4 __pthread_rwlock_destroy F
 GLIBC_2.4 __pthread_rwlock_init F
 GLIBC_2.4 __pthread_rwlock_rdlock F
@@ -635,6 +638,7 @@  GLIBC_2.4 __pthread_rwlock_trywrlock F
 GLIBC_2.4 __pthread_rwlock_unlock F
 GLIBC_2.4 __pthread_rwlock_wrlock F
 GLIBC_2.4 __pthread_setspecific F
+GLIBC_2.4 __pthread_unregister_cancel F
 GLIBC_2.4 __pthread_unwind_next F
 GLIBC_2.4 __ptsname_r_chk F
 GLIBC_2.4 __pwrite64 F
diff --git a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
index d629cc23e7..fcf9bae888 100644
--- a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
@@ -7,9 +7,7 @@  GLIBC_2.30 __libpthread_version_placeholder F
 GLIBC_2.31 __libpthread_version_placeholder F
 GLIBC_2.4 __errno_location F
 GLIBC_2.4 __libpthread_version_placeholder F
-GLIBC_2.4 __pthread_register_cancel F
 GLIBC_2.4 __pthread_register_cancel_defer F
-GLIBC_2.4 __pthread_unregister_cancel F
 GLIBC_2.4 __pthread_unregister_cancel_restore F
 GLIBC_2.4 pthread_attr_getaffinity_np F
 GLIBC_2.4 pthread_attr_getguardsize F
diff --git a/sysdeps/unix/sysv/linux/arm/le/libc.abilist b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
index fd33a2317f..26428e0030 100644
--- a/sysdeps/unix/sysv/linux/arm/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
@@ -187,6 +187,8 @@  GLIBC_2.34 __pthread_cleanup_routine F
 GLIBC_2.34 __pthread_key_create F
 GLIBC_2.34 __pthread_mutex_lock F
 GLIBC_2.34 __pthread_mutex_unlock F
+GLIBC_2.34 __pthread_register_cancel F
+GLIBC_2.34 __pthread_unregister_cancel F
 GLIBC_2.34 __pthread_unwind_next F
 GLIBC_2.34 call_once F
 GLIBC_2.34 cnd_broadcast F
@@ -624,6 +626,7 @@  GLIBC_2.4 __pthread_mutexattr_destroy F
 GLIBC_2.4 __pthread_mutexattr_init F
 GLIBC_2.4 __pthread_mutexattr_settype F
 GLIBC_2.4 __pthread_once F
+GLIBC_2.4 __pthread_register_cancel F
 GLIBC_2.4 __pthread_rwlock_destroy F
 GLIBC_2.4 __pthread_rwlock_init F
 GLIBC_2.4 __pthread_rwlock_rdlock F
@@ -632,6 +635,7 @@  GLIBC_2.4 __pthread_rwlock_trywrlock F
 GLIBC_2.4 __pthread_rwlock_unlock F
 GLIBC_2.4 __pthread_rwlock_wrlock F
 GLIBC_2.4 __pthread_setspecific F
+GLIBC_2.4 __pthread_unregister_cancel F
 GLIBC_2.4 __pthread_unwind_next F
 GLIBC_2.4 __ptsname_r_chk F
 GLIBC_2.4 __pwrite64 F
diff --git a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
index d629cc23e7..fcf9bae888 100644
--- a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
@@ -7,9 +7,7 @@  GLIBC_2.30 __libpthread_version_placeholder F
 GLIBC_2.31 __libpthread_version_placeholder F
 GLIBC_2.4 __errno_location F
 GLIBC_2.4 __libpthread_version_placeholder F
-GLIBC_2.4 __pthread_register_cancel F
 GLIBC_2.4 __pthread_register_cancel_defer F
-GLIBC_2.4 __pthread_unregister_cancel F
 GLIBC_2.4 __pthread_unregister_cancel_restore F
 GLIBC_2.4 pthread_attr_getaffinity_np F
 GLIBC_2.4 pthread_attr_getguardsize F
diff --git a/sysdeps/unix/sysv/linux/csky/libc.abilist b/sysdeps/unix/sysv/linux/csky/libc.abilist
index c1ac24c3a2..ae01f32a0c 100644
--- a/sysdeps/unix/sysv/linux/csky/libc.abilist
+++ b/sysdeps/unix/sysv/linux/csky/libc.abilist
@@ -343,6 +343,7 @@  GLIBC_2.29 __pthread_mutexattr_destroy F
 GLIBC_2.29 __pthread_mutexattr_init F
 GLIBC_2.29 __pthread_mutexattr_settype F
 GLIBC_2.29 __pthread_once F
+GLIBC_2.29 __pthread_register_cancel F
 GLIBC_2.29 __pthread_rwlock_destroy F
 GLIBC_2.29 __pthread_rwlock_init F
 GLIBC_2.29 __pthread_rwlock_rdlock F
@@ -351,6 +352,7 @@  GLIBC_2.29 __pthread_rwlock_trywrlock F
 GLIBC_2.29 __pthread_rwlock_unlock F
 GLIBC_2.29 __pthread_rwlock_wrlock F
 GLIBC_2.29 __pthread_setspecific F
+GLIBC_2.29 __pthread_unregister_cancel F
 GLIBC_2.29 __pthread_unwind_next F
 GLIBC_2.29 __ptsname_r_chk F
 GLIBC_2.29 __pwrite64 F
@@ -2248,6 +2250,8 @@  GLIBC_2.34 __pthread_cleanup_routine F
 GLIBC_2.34 __pthread_key_create F
 GLIBC_2.34 __pthread_mutex_lock F
 GLIBC_2.34 __pthread_mutex_unlock F
+GLIBC_2.34 __pthread_register_cancel F
+GLIBC_2.34 __pthread_unregister_cancel F
 GLIBC_2.34 __pthread_unwind_next F
 GLIBC_2.34 call_once F
 GLIBC_2.34 cnd_broadcast F
diff --git a/sysdeps/unix/sysv/linux/csky/libpthread.abilist b/sysdeps/unix/sysv/linux/csky/libpthread.abilist
index 4fc96fb0d8..df027689e8 100644
--- a/sysdeps/unix/sysv/linux/csky/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/csky/libpthread.abilist
@@ -1,7 +1,5 @@ 
 GLIBC_2.29 __errno_location F
-GLIBC_2.29 __pthread_register_cancel F
 GLIBC_2.29 __pthread_register_cancel_defer F
-GLIBC_2.29 __pthread_unregister_cancel F
 GLIBC_2.29 __pthread_unregister_cancel_restore F
 GLIBC_2.29 pthread_attr_getaffinity_np F
 GLIBC_2.29 pthread_attr_getguardsize F
diff --git a/sysdeps/unix/sysv/linux/hppa/libc.abilist b/sysdeps/unix/sysv/linux/hppa/libc.abilist
index 29225ac912..166af94540 100644
--- a/sysdeps/unix/sysv/linux/hppa/libc.abilist
+++ b/sysdeps/unix/sysv/linux/hppa/libc.abilist
@@ -2103,6 +2103,8 @@  GLIBC_2.3.2 pthread_cond_timedwait F
 GLIBC_2.3.2 pthread_cond_wait F
 GLIBC_2.3.2 strptime_l F
 GLIBC_2.3.3 __pthread_cleanup_routine F
+GLIBC_2.3.3 __pthread_register_cancel F
+GLIBC_2.3.3 __pthread_unregister_cancel F
 GLIBC_2.3.3 __pthread_unwind_next F
 GLIBC_2.3.3 _sys_siglist D 0x104
 GLIBC_2.3.3 gnu_dev_major F
@@ -2199,6 +2201,8 @@  GLIBC_2.34 __pthread_cleanup_routine F
 GLIBC_2.34 __pthread_key_create F
 GLIBC_2.34 __pthread_mutex_lock F
 GLIBC_2.34 __pthread_mutex_unlock F
+GLIBC_2.34 __pthread_register_cancel F
+GLIBC_2.34 __pthread_unregister_cancel F
 GLIBC_2.34 __pthread_unwind_next F
 GLIBC_2.34 call_once F
 GLIBC_2.34 cnd_broadcast F
diff --git a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
index 77bf2e186d..071fd3e5eb 100644
--- a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
@@ -20,9 +20,7 @@  GLIBC_2.2.3 __libpthread_version_placeholder F
 GLIBC_2.2.6 __libpthread_version_placeholder F
 GLIBC_2.28 thrd_create F
 GLIBC_2.3.2 __libpthread_version_placeholder F
-GLIBC_2.3.3 __pthread_register_cancel F
 GLIBC_2.3.3 __pthread_register_cancel_defer F
-GLIBC_2.3.3 __pthread_unregister_cancel F
 GLIBC_2.3.3 __pthread_unregister_cancel_restore F
 GLIBC_2.3.3 pthread_attr_getaffinity_np F
 GLIBC_2.3.3 pthread_setaffinity_np F
diff --git a/sysdeps/unix/sysv/linux/i386/libc.abilist b/sysdeps/unix/sysv/linux/i386/libc.abilist
index b5026ba906..37b5718e49 100644
--- a/sysdeps/unix/sysv/linux/i386/libc.abilist
+++ b/sysdeps/unix/sysv/linux/i386/libc.abilist
@@ -2283,6 +2283,8 @@  GLIBC_2.3.2 pthread_cond_timedwait F
 GLIBC_2.3.2 pthread_cond_wait F
 GLIBC_2.3.2 strptime_l F
 GLIBC_2.3.3 __pthread_cleanup_routine F
+GLIBC_2.3.3 __pthread_register_cancel F
+GLIBC_2.3.3 __pthread_unregister_cancel F
 GLIBC_2.3.3 __pthread_unwind_next F
 GLIBC_2.3.3 _sys_siglist D 0x104
 GLIBC_2.3.3 gnu_dev_major F
@@ -2382,6 +2384,8 @@  GLIBC_2.34 __pthread_cleanup_routine F
 GLIBC_2.34 __pthread_key_create F
 GLIBC_2.34 __pthread_mutex_lock F
 GLIBC_2.34 __pthread_mutex_unlock F
+GLIBC_2.34 __pthread_register_cancel F
+GLIBC_2.34 __pthread_unregister_cancel F
 GLIBC_2.34 __pthread_unwind_next F
 GLIBC_2.34 call_once F
 GLIBC_2.34 cnd_broadcast F
diff --git a/sysdeps/unix/sysv/linux/i386/libpthread.abilist b/sysdeps/unix/sysv/linux/i386/libpthread.abilist
index 6c36475ccb..a67cc86dcd 100644
--- a/sysdeps/unix/sysv/linux/i386/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/i386/libpthread.abilist
@@ -23,9 +23,7 @@  GLIBC_2.2.3 __libpthread_version_placeholder F
 GLIBC_2.2.6 __libpthread_version_placeholder F
 GLIBC_2.28 thrd_create F
 GLIBC_2.3.2 __libpthread_version_placeholder F
-GLIBC_2.3.3 __pthread_register_cancel F
 GLIBC_2.3.3 __pthread_register_cancel_defer F
-GLIBC_2.3.3 __pthread_unregister_cancel F
 GLIBC_2.3.3 __pthread_unregister_cancel_restore F
 GLIBC_2.3.3 pthread_attr_getaffinity_np F
 GLIBC_2.3.3 pthread_setaffinity_np F
diff --git a/sysdeps/unix/sysv/linux/ia64/libc.abilist b/sysdeps/unix/sysv/linux/ia64/libc.abilist
index f6fc393a21..2273cff802 100644
--- a/sysdeps/unix/sysv/linux/ia64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/ia64/libc.abilist
@@ -2136,6 +2136,8 @@  GLIBC_2.3.2 pthread_cond_timedwait F
 GLIBC_2.3.2 pthread_cond_wait F
 GLIBC_2.3.2 strptime_l F
 GLIBC_2.3.3 __pthread_cleanup_routine F
+GLIBC_2.3.3 __pthread_register_cancel F
+GLIBC_2.3.3 __pthread_unregister_cancel F
 GLIBC_2.3.3 __pthread_unwind_next F
 GLIBC_2.3.3 _sys_siglist D 0x208
 GLIBC_2.3.3 gnu_dev_major F
@@ -2233,6 +2235,8 @@  GLIBC_2.34 __pthread_cleanup_routine F
 GLIBC_2.34 __pthread_key_create F
 GLIBC_2.34 __pthread_mutex_lock F
 GLIBC_2.34 __pthread_mutex_unlock F
+GLIBC_2.34 __pthread_register_cancel F
+GLIBC_2.34 __pthread_unregister_cancel F
 GLIBC_2.34 __pthread_unwind_next F
 GLIBC_2.34 call_once F
 GLIBC_2.34 cnd_broadcast F
diff --git a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
index 8db794d53e..2dbc645d17 100644
--- a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
@@ -20,9 +20,7 @@  GLIBC_2.2.3 __libpthread_version_placeholder F
 GLIBC_2.2.6 __libpthread_version_placeholder F
 GLIBC_2.28 thrd_create F
 GLIBC_2.3.2 __libpthread_version_placeholder F
-GLIBC_2.3.3 __pthread_register_cancel F
 GLIBC_2.3.3 __pthread_register_cancel_defer F
-GLIBC_2.3.3 __pthread_unregister_cancel F
 GLIBC_2.3.3 __pthread_unregister_cancel_restore F
 GLIBC_2.3.3 pthread_attr_getaffinity_np F
 GLIBC_2.3.3 pthread_attr_setstack F
diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
index dfb73924b9..54822cb0ff 100644
--- a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
@@ -191,6 +191,8 @@  GLIBC_2.34 __pthread_cleanup_routine F
 GLIBC_2.34 __pthread_key_create F
 GLIBC_2.34 __pthread_mutex_lock F
 GLIBC_2.34 __pthread_mutex_unlock F
+GLIBC_2.34 __pthread_register_cancel F
+GLIBC_2.34 __pthread_unregister_cancel F
 GLIBC_2.34 __pthread_unwind_next F
 GLIBC_2.34 call_once F
 GLIBC_2.34 cnd_broadcast F
@@ -613,6 +615,7 @@  GLIBC_2.4 __pthread_mutexattr_destroy F
 GLIBC_2.4 __pthread_mutexattr_init F
 GLIBC_2.4 __pthread_mutexattr_settype F
 GLIBC_2.4 __pthread_once F
+GLIBC_2.4 __pthread_register_cancel F
 GLIBC_2.4 __pthread_rwlock_destroy F
 GLIBC_2.4 __pthread_rwlock_init F
 GLIBC_2.4 __pthread_rwlock_rdlock F
@@ -621,6 +624,7 @@  GLIBC_2.4 __pthread_rwlock_trywrlock F
 GLIBC_2.4 __pthread_rwlock_unlock F
 GLIBC_2.4 __pthread_rwlock_wrlock F
 GLIBC_2.4 __pthread_setspecific F
+GLIBC_2.4 __pthread_unregister_cancel F
 GLIBC_2.4 __pthread_unwind_next F
 GLIBC_2.4 __ptsname_r_chk F
 GLIBC_2.4 __pwrite64 F
diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
index d629cc23e7..fcf9bae888 100644
--- a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
@@ -7,9 +7,7 @@  GLIBC_2.30 __libpthread_version_placeholder F
 GLIBC_2.31 __libpthread_version_placeholder F
 GLIBC_2.4 __errno_location F
 GLIBC_2.4 __libpthread_version_placeholder F
-GLIBC_2.4 __pthread_register_cancel F
 GLIBC_2.4 __pthread_register_cancel_defer F
-GLIBC_2.4 __pthread_unregister_cancel F
 GLIBC_2.4 __pthread_unregister_cancel_restore F
 GLIBC_2.4 pthread_attr_getaffinity_np F
 GLIBC_2.4 pthread_attr_getguardsize F
diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
index 1a88ecbca4..78676b83eb 100644
--- a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
@@ -2226,6 +2226,8 @@  GLIBC_2.3.2 pthread_cond_timedwait F
 GLIBC_2.3.2 pthread_cond_wait F
 GLIBC_2.3.2 strptime_l F
 GLIBC_2.3.3 __pthread_cleanup_routine F
+GLIBC_2.3.3 __pthread_register_cancel F
+GLIBC_2.3.3 __pthread_unregister_cancel F
 GLIBC_2.3.3 __pthread_unwind_next F
 GLIBC_2.3.3 _sys_siglist D 0x104
 GLIBC_2.3.3 gnu_dev_major F
@@ -2325,6 +2327,8 @@  GLIBC_2.34 __pthread_cleanup_routine F
 GLIBC_2.34 __pthread_key_create F
 GLIBC_2.34 __pthread_mutex_lock F
 GLIBC_2.34 __pthread_mutex_unlock F
+GLIBC_2.34 __pthread_register_cancel F
+GLIBC_2.34 __pthread_unregister_cancel F
 GLIBC_2.34 __pthread_unwind_next F
 GLIBC_2.34 call_once F
 GLIBC_2.34 cnd_broadcast F
diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
index 6c36475ccb..a67cc86dcd 100644
--- a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
@@ -23,9 +23,7 @@  GLIBC_2.2.3 __libpthread_version_placeholder F
 GLIBC_2.2.6 __libpthread_version_placeholder F
 GLIBC_2.28 thrd_create F
 GLIBC_2.3.2 __libpthread_version_placeholder F
-GLIBC_2.3.3 __pthread_register_cancel F
 GLIBC_2.3.3 __pthread_register_cancel_defer F
-GLIBC_2.3.3 __pthread_unregister_cancel F
 GLIBC_2.3.3 __pthread_unregister_cancel_restore F
 GLIBC_2.3.3 pthread_attr_getaffinity_np F
 GLIBC_2.3.3 pthread_setaffinity_np F
diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
index f07dba5ef0..ddc36aaa80 100644
--- a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
@@ -351,6 +351,7 @@  GLIBC_2.18 __pthread_mutexattr_destroy F
 GLIBC_2.18 __pthread_mutexattr_init F
 GLIBC_2.18 __pthread_mutexattr_settype F
 GLIBC_2.18 __pthread_once F
+GLIBC_2.18 __pthread_register_cancel F
 GLIBC_2.18 __pthread_rwlock_destroy F
 GLIBC_2.18 __pthread_rwlock_init F
 GLIBC_2.18 __pthread_rwlock_rdlock F
@@ -359,6 +360,7 @@  GLIBC_2.18 __pthread_rwlock_trywrlock F
 GLIBC_2.18 __pthread_rwlock_unlock F
 GLIBC_2.18 __pthread_rwlock_wrlock F
 GLIBC_2.18 __pthread_setspecific F
+GLIBC_2.18 __pthread_unregister_cancel F
 GLIBC_2.18 __pthread_unwind_next F
 GLIBC_2.18 __ptsname_r_chk F
 GLIBC_2.18 __pwrite64 F
@@ -2299,6 +2301,8 @@  GLIBC_2.34 __pthread_cleanup_routine F
 GLIBC_2.34 __pthread_key_create F
 GLIBC_2.34 __pthread_mutex_lock F
 GLIBC_2.34 __pthread_mutex_unlock F
+GLIBC_2.34 __pthread_register_cancel F
+GLIBC_2.34 __pthread_unregister_cancel F
 GLIBC_2.34 __pthread_unwind_next F
 GLIBC_2.34 call_once F
 GLIBC_2.34 cnd_broadcast F
diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
index 64fff0e0e0..f3a5b67d41 100644
--- a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
@@ -1,7 +1,5 @@ 
 GLIBC_2.18 __errno_location F
-GLIBC_2.18 __pthread_register_cancel F
 GLIBC_2.18 __pthread_register_cancel_defer F
-GLIBC_2.18 __pthread_unregister_cancel F
 GLIBC_2.18 __pthread_unregister_cancel_restore F
 GLIBC_2.18 pthread_attr_getaffinity_np F
 GLIBC_2.18 pthread_attr_getguardsize F
diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
index 688de4ee35..410cf82c0e 100644
--- a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
@@ -351,6 +351,7 @@  GLIBC_2.18 __pthread_mutexattr_destroy F
 GLIBC_2.18 __pthread_mutexattr_init F
 GLIBC_2.18 __pthread_mutexattr_settype F
 GLIBC_2.18 __pthread_once F
+GLIBC_2.18 __pthread_register_cancel F
 GLIBC_2.18 __pthread_rwlock_destroy F
 GLIBC_2.18 __pthread_rwlock_init F
 GLIBC_2.18 __pthread_rwlock_rdlock F
@@ -359,6 +360,7 @@  GLIBC_2.18 __pthread_rwlock_trywrlock F
 GLIBC_2.18 __pthread_rwlock_unlock F
 GLIBC_2.18 __pthread_rwlock_wrlock F
 GLIBC_2.18 __pthread_setspecific F
+GLIBC_2.18 __pthread_unregister_cancel F
 GLIBC_2.18 __pthread_unwind_next F
 GLIBC_2.18 __ptsname_r_chk F
 GLIBC_2.18 __pwrite64 F
@@ -2296,6 +2298,8 @@  GLIBC_2.34 __pthread_cleanup_routine F
 GLIBC_2.34 __pthread_key_create F
 GLIBC_2.34 __pthread_mutex_lock F
 GLIBC_2.34 __pthread_mutex_unlock F
+GLIBC_2.34 __pthread_register_cancel F
+GLIBC_2.34 __pthread_unregister_cancel F
 GLIBC_2.34 __pthread_unwind_next F
 GLIBC_2.34 call_once F
 GLIBC_2.34 cnd_broadcast F
diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
index 64fff0e0e0..f3a5b67d41 100644
--- a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
@@ -1,7 +1,5 @@ 
 GLIBC_2.18 __errno_location F
-GLIBC_2.18 __pthread_register_cancel F
 GLIBC_2.18 __pthread_register_cancel_defer F
-GLIBC_2.18 __pthread_unregister_cancel F
 GLIBC_2.18 __pthread_unregister_cancel_restore F
 GLIBC_2.18 pthread_attr_getaffinity_np F
 GLIBC_2.18 pthread_attr_getguardsize F
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
index 7e82eadb1d..9a2b97b6e2 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
@@ -2192,6 +2192,8 @@  GLIBC_2.3.2 pthread_cond_timedwait F
 GLIBC_2.3.2 pthread_cond_wait F
 GLIBC_2.3.2 strptime_l F
 GLIBC_2.3.3 __pthread_cleanup_routine F
+GLIBC_2.3.3 __pthread_register_cancel F
+GLIBC_2.3.3 __pthread_unregister_cancel F
 GLIBC_2.3.3 __pthread_unwind_next F
 GLIBC_2.3.3 _sys_siglist D 0x200
 GLIBC_2.3.3 gnu_dev_major F
@@ -2288,6 +2290,8 @@  GLIBC_2.34 __pthread_cleanup_routine F
 GLIBC_2.34 __pthread_key_create F
 GLIBC_2.34 __pthread_mutex_lock F
 GLIBC_2.34 __pthread_mutex_unlock F
+GLIBC_2.34 __pthread_register_cancel F
+GLIBC_2.34 __pthread_unregister_cancel F
 GLIBC_2.34 __pthread_unwind_next F
 GLIBC_2.34 call_once F
 GLIBC_2.34 cnd_broadcast F
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
index 8a95354f94..26ae04300c 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
@@ -21,9 +21,7 @@  GLIBC_2.2.3 __libpthread_version_placeholder F
 GLIBC_2.2.6 __libpthread_version_placeholder F
 GLIBC_2.28 thrd_create F
 GLIBC_2.3.2 __libpthread_version_placeholder F
-GLIBC_2.3.3 __pthread_register_cancel F
 GLIBC_2.3.3 __pthread_register_cancel_defer F
-GLIBC_2.3.3 __pthread_unregister_cancel F
 GLIBC_2.3.3 __pthread_unregister_cancel_restore F
 GLIBC_2.3.3 pthread_attr_getaffinity_np F
 GLIBC_2.3.3 pthread_attr_setstack F
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
index 5891b9b563..e73613e7d7 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
@@ -2190,6 +2190,8 @@  GLIBC_2.3.2 pthread_cond_timedwait F
 GLIBC_2.3.2 pthread_cond_wait F
 GLIBC_2.3.2 strptime_l F
 GLIBC_2.3.3 __pthread_cleanup_routine F
+GLIBC_2.3.3 __pthread_register_cancel F
+GLIBC_2.3.3 __pthread_unregister_cancel F
 GLIBC_2.3.3 __pthread_unwind_next F
 GLIBC_2.3.3 _sys_siglist D 0x200
 GLIBC_2.3.3 gnu_dev_major F
@@ -2286,6 +2288,8 @@  GLIBC_2.34 __pthread_cleanup_routine F
 GLIBC_2.34 __pthread_key_create F
 GLIBC_2.34 __pthread_mutex_lock F
 GLIBC_2.34 __pthread_mutex_unlock F
+GLIBC_2.34 __pthread_register_cancel F
+GLIBC_2.34 __pthread_unregister_cancel F
 GLIBC_2.34 __pthread_unwind_next F
 GLIBC_2.34 call_once F
 GLIBC_2.34 cnd_broadcast F
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
index 8a95354f94..26ae04300c 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
@@ -21,9 +21,7 @@  GLIBC_2.2.3 __libpthread_version_placeholder F
 GLIBC_2.2.6 __libpthread_version_placeholder F
 GLIBC_2.28 thrd_create F
 GLIBC_2.3.2 __libpthread_version_placeholder F
-GLIBC_2.3.3 __pthread_register_cancel F
 GLIBC_2.3.3 __pthread_register_cancel_defer F
-GLIBC_2.3.3 __pthread_unregister_cancel F
 GLIBC_2.3.3 __pthread_unregister_cancel_restore F
 GLIBC_2.3.3 pthread_attr_getaffinity_np F
 GLIBC_2.3.3 pthread_attr_setstack F
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
index dbf9dcf588..7512fb6e4e 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
@@ -2198,6 +2198,8 @@  GLIBC_2.3.2 pthread_cond_timedwait F
 GLIBC_2.3.2 pthread_cond_wait F
 GLIBC_2.3.2 strptime_l F
 GLIBC_2.3.3 __pthread_cleanup_routine F
+GLIBC_2.3.3 __pthread_register_cancel F
+GLIBC_2.3.3 __pthread_unregister_cancel F
 GLIBC_2.3.3 __pthread_unwind_next F
 GLIBC_2.3.3 _sys_siglist D 0x200
 GLIBC_2.3.3 gnu_dev_major F
@@ -2294,6 +2296,8 @@  GLIBC_2.34 __pthread_cleanup_routine F
 GLIBC_2.34 __pthread_key_create F
 GLIBC_2.34 __pthread_mutex_lock F
 GLIBC_2.34 __pthread_mutex_unlock F
+GLIBC_2.34 __pthread_register_cancel F
+GLIBC_2.34 __pthread_unregister_cancel F
 GLIBC_2.34 __pthread_unwind_next F
 GLIBC_2.34 call_once F
 GLIBC_2.34 cnd_broadcast F
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
index ed31156fe5..41578b8c93 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
@@ -2191,6 +2191,8 @@  GLIBC_2.3.2 pthread_cond_timedwait F
 GLIBC_2.3.2 pthread_cond_wait F
 GLIBC_2.3.2 strptime_l F
 GLIBC_2.3.3 __pthread_cleanup_routine F
+GLIBC_2.3.3 __pthread_register_cancel F
+GLIBC_2.3.3 __pthread_unregister_cancel F
 GLIBC_2.3.3 __pthread_unwind_next F
 GLIBC_2.3.3 _sys_siglist D 0x400
 GLIBC_2.3.3 gnu_dev_major F
@@ -2288,6 +2290,8 @@  GLIBC_2.34 __pthread_cleanup_routine F
 GLIBC_2.34 __pthread_key_create F
 GLIBC_2.34 __pthread_mutex_lock F
 GLIBC_2.34 __pthread_mutex_unlock F
+GLIBC_2.34 __pthread_register_cancel F
+GLIBC_2.34 __pthread_unregister_cancel F
 GLIBC_2.34 __pthread_unwind_next F
 GLIBC_2.34 call_once F
 GLIBC_2.34 cnd_broadcast F
diff --git a/sysdeps/unix/sysv/linux/nios2/libc.abilist b/sysdeps/unix/sysv/linux/nios2/libc.abilist
index bca4034be2..34fff4c240 100644
--- a/sysdeps/unix/sysv/linux/nios2/libc.abilist
+++ b/sysdeps/unix/sysv/linux/nios2/libc.abilist
@@ -388,6 +388,7 @@  GLIBC_2.21 __pthread_mutexattr_destroy F
 GLIBC_2.21 __pthread_mutexattr_init F
 GLIBC_2.21 __pthread_mutexattr_settype F
 GLIBC_2.21 __pthread_once F
+GLIBC_2.21 __pthread_register_cancel F
 GLIBC_2.21 __pthread_rwlock_destroy F
 GLIBC_2.21 __pthread_rwlock_init F
 GLIBC_2.21 __pthread_rwlock_rdlock F
@@ -396,6 +397,7 @@  GLIBC_2.21 __pthread_rwlock_trywrlock F
 GLIBC_2.21 __pthread_rwlock_unlock F
 GLIBC_2.21 __pthread_rwlock_wrlock F
 GLIBC_2.21 __pthread_setspecific F
+GLIBC_2.21 __pthread_unregister_cancel F
 GLIBC_2.21 __pthread_unwind_next F
 GLIBC_2.21 __ptsname_r_chk F
 GLIBC_2.21 __pwrite64 F
@@ -2338,6 +2340,8 @@  GLIBC_2.34 __pthread_cleanup_routine F
 GLIBC_2.34 __pthread_key_create F
 GLIBC_2.34 __pthread_mutex_lock F
 GLIBC_2.34 __pthread_mutex_unlock F
+GLIBC_2.34 __pthread_register_cancel F
+GLIBC_2.34 __pthread_unregister_cancel F
 GLIBC_2.34 __pthread_unwind_next F
 GLIBC_2.34 call_once F
 GLIBC_2.34 cnd_broadcast F
diff --git a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
index 4dec581eb6..9bee776f4f 100644
--- a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
@@ -1,7 +1,5 @@ 
 GLIBC_2.21 __errno_location F
-GLIBC_2.21 __pthread_register_cancel F
 GLIBC_2.21 __pthread_register_cancel_defer F
-GLIBC_2.21 __pthread_unregister_cancel F
 GLIBC_2.21 __pthread_unregister_cancel_restore F
 GLIBC_2.21 pthread_attr_getaffinity_np F
 GLIBC_2.21 pthread_attr_getguardsize F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
index 5de9636022..8b8adc06ce 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
@@ -2230,6 +2230,8 @@  GLIBC_2.3.2 pthread_cond_timedwait F
 GLIBC_2.3.2 pthread_cond_wait F
 GLIBC_2.3.2 strptime_l F
 GLIBC_2.3.3 __pthread_cleanup_routine F
+GLIBC_2.3.3 __pthread_register_cancel F
+GLIBC_2.3.3 __pthread_unregister_cancel F
 GLIBC_2.3.3 __pthread_unwind_next F
 GLIBC_2.3.3 _sys_siglist D 0x104
 GLIBC_2.3.3 getcontext F
@@ -2352,6 +2354,8 @@  GLIBC_2.34 __pthread_cleanup_routine F
 GLIBC_2.34 __pthread_key_create F
 GLIBC_2.34 __pthread_mutex_lock F
 GLIBC_2.34 __pthread_mutex_unlock F
+GLIBC_2.34 __pthread_register_cancel F
+GLIBC_2.34 __pthread_unregister_cancel F
 GLIBC_2.34 __pthread_unwind_next F
 GLIBC_2.34 call_once F
 GLIBC_2.34 cnd_broadcast F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
index cf9b765b38..a30be35a7a 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
@@ -23,9 +23,7 @@  GLIBC_2.2.3 __libpthread_version_placeholder F
 GLIBC_2.2.6 __libpthread_version_placeholder F
 GLIBC_2.28 thrd_create F
 GLIBC_2.3.2 __libpthread_version_placeholder F
-GLIBC_2.3.3 __pthread_register_cancel F
 GLIBC_2.3.3 __pthread_register_cancel_defer F
-GLIBC_2.3.3 __pthread_unregister_cancel F
 GLIBC_2.3.3 __pthread_unregister_cancel_restore F
 GLIBC_2.3.3 pthread_attr_getaffinity_np F
 GLIBC_2.3.3 pthread_setaffinity_np F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
index 10cb492163..5754fd3589 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
@@ -2263,6 +2263,8 @@  GLIBC_2.3.2 pthread_cond_timedwait F
 GLIBC_2.3.2 pthread_cond_wait F
 GLIBC_2.3.2 strptime_l F
 GLIBC_2.3.3 __pthread_cleanup_routine F
+GLIBC_2.3.3 __pthread_register_cancel F
+GLIBC_2.3.3 __pthread_unregister_cancel F
 GLIBC_2.3.3 __pthread_unwind_next F
 GLIBC_2.3.3 _sys_siglist D 0x104
 GLIBC_2.3.3 getcontext F
@@ -2385,6 +2387,8 @@  GLIBC_2.34 __pthread_cleanup_routine F
 GLIBC_2.34 __pthread_key_create F
 GLIBC_2.34 __pthread_mutex_lock F
 GLIBC_2.34 __pthread_mutex_unlock F
+GLIBC_2.34 __pthread_register_cancel F
+GLIBC_2.34 __pthread_unregister_cancel F
 GLIBC_2.34 __pthread_unwind_next F
 GLIBC_2.34 call_once F
 GLIBC_2.34 cnd_broadcast F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
index 4d72e24c22..47812d2be1 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
@@ -2083,6 +2083,8 @@  GLIBC_2.3.2 pthread_cond_timedwait F
 GLIBC_2.3.2 pthread_cond_wait F
 GLIBC_2.3.2 strptime_l F
 GLIBC_2.3.3 __pthread_cleanup_routine F
+GLIBC_2.3.3 __pthread_register_cancel F
+GLIBC_2.3.3 __pthread_unregister_cancel F
 GLIBC_2.3.3 __pthread_unwind_next F
 GLIBC_2.3.3 _sys_siglist D 0x208
 GLIBC_2.3.3 gnu_dev_major F
@@ -2200,6 +2202,8 @@  GLIBC_2.34 __pthread_cleanup_routine F
 GLIBC_2.34 __pthread_key_create F
 GLIBC_2.34 __pthread_mutex_lock F
 GLIBC_2.34 __pthread_mutex_unlock F
+GLIBC_2.34 __pthread_register_cancel F
+GLIBC_2.34 __pthread_unregister_cancel F
 GLIBC_2.34 __pthread_unwind_next F
 GLIBC_2.34 call_once F
 GLIBC_2.34 cnd_broadcast F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
index 66f04c69a2..5129d976a1 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
@@ -18,9 +18,7 @@  GLIBC_2.3 pthread_getconcurrency F
 GLIBC_2.3 pthread_getcpuclockid F
 GLIBC_2.3 pthread_setconcurrency F
 GLIBC_2.3.2 __libpthread_version_placeholder F
-GLIBC_2.3.3 __pthread_register_cancel F
 GLIBC_2.3.3 __pthread_register_cancel_defer F
-GLIBC_2.3.3 __pthread_unregister_cancel F
 GLIBC_2.3.3 __pthread_unregister_cancel_restore F
 GLIBC_2.3.3 pthread_attr_getaffinity_np F
 GLIBC_2.3.3 pthread_setaffinity_np F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
index d3ac4aeefc..9af9e3fba6 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
@@ -436,6 +436,7 @@  GLIBC_2.17 __pthread_mutexattr_destroy F
 GLIBC_2.17 __pthread_mutexattr_init F
 GLIBC_2.17 __pthread_mutexattr_settype F
 GLIBC_2.17 __pthread_once F
+GLIBC_2.17 __pthread_register_cancel F
 GLIBC_2.17 __pthread_rwlock_destroy F
 GLIBC_2.17 __pthread_rwlock_init F
 GLIBC_2.17 __pthread_rwlock_rdlock F
@@ -444,6 +445,7 @@  GLIBC_2.17 __pthread_rwlock_trywrlock F
 GLIBC_2.17 __pthread_rwlock_unlock F
 GLIBC_2.17 __pthread_rwlock_wrlock F
 GLIBC_2.17 __pthread_setspecific F
+GLIBC_2.17 __pthread_unregister_cancel F
 GLIBC_2.17 __pthread_unwind_next F
 GLIBC_2.17 __ptsname_r_chk F
 GLIBC_2.17 __pwrite64 F
@@ -2501,6 +2503,8 @@  GLIBC_2.34 __pthread_cleanup_routine F
 GLIBC_2.34 __pthread_key_create F
 GLIBC_2.34 __pthread_mutex_lock F
 GLIBC_2.34 __pthread_mutex_unlock F
+GLIBC_2.34 __pthread_register_cancel F
+GLIBC_2.34 __pthread_unregister_cancel F
 GLIBC_2.34 __pthread_unwind_next F
 GLIBC_2.34 call_once F
 GLIBC_2.34 cnd_broadcast F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
index 2b21af13ad..633df92b7c 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
@@ -1,7 +1,5 @@ 
 GLIBC_2.17 __errno_location F
-GLIBC_2.17 __pthread_register_cancel F
 GLIBC_2.17 __pthread_register_cancel_defer F
-GLIBC_2.17 __pthread_unregister_cancel F
 GLIBC_2.17 __pthread_unregister_cancel_restore F
 GLIBC_2.17 pthread_attr_getaffinity_np F
 GLIBC_2.17 pthread_attr_getguardsize F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
index dcef189dcc..ce2057f817 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
@@ -336,6 +336,7 @@  GLIBC_2.33 __pthread_mutexattr_destroy F
 GLIBC_2.33 __pthread_mutexattr_init F
 GLIBC_2.33 __pthread_mutexattr_settype F
 GLIBC_2.33 __pthread_once F
+GLIBC_2.33 __pthread_register_cancel F
 GLIBC_2.33 __pthread_rwlock_destroy F
 GLIBC_2.33 __pthread_rwlock_init F
 GLIBC_2.33 __pthread_rwlock_rdlock F
@@ -344,6 +345,7 @@  GLIBC_2.33 __pthread_rwlock_trywrlock F
 GLIBC_2.33 __pthread_rwlock_unlock F
 GLIBC_2.33 __pthread_rwlock_wrlock F
 GLIBC_2.33 __pthread_setspecific F
+GLIBC_2.33 __pthread_unregister_cancel F
 GLIBC_2.33 __pthread_unwind_next F
 GLIBC_2.33 __ptsname_r_chk F
 GLIBC_2.33 __pwrite64 F
@@ -2066,6 +2068,8 @@  GLIBC_2.34 __pthread_cleanup_routine F
 GLIBC_2.34 __pthread_key_create F
 GLIBC_2.34 __pthread_mutex_lock F
 GLIBC_2.34 __pthread_mutex_unlock F
+GLIBC_2.34 __pthread_register_cancel F
+GLIBC_2.34 __pthread_unregister_cancel F
 GLIBC_2.34 __pthread_unwind_next F
 GLIBC_2.34 call_once F
 GLIBC_2.34 cnd_broadcast F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
index ccfa97c0e5..a1b36b3b46 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
@@ -1,7 +1,5 @@ 
 GLIBC_2.33 __errno_location F
-GLIBC_2.33 __pthread_register_cancel F
 GLIBC_2.33 __pthread_register_cancel_defer F
-GLIBC_2.33 __pthread_unregister_cancel F
 GLIBC_2.33 __pthread_unregister_cancel_restore F
 GLIBC_2.33 pthread_attr_getaffinity_np F
 GLIBC_2.33 pthread_attr_getguardsize F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
index 806d787b3f..e5ea5fd6e0 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
@@ -347,6 +347,7 @@  GLIBC_2.27 __pthread_mutexattr_destroy F
 GLIBC_2.27 __pthread_mutexattr_init F
 GLIBC_2.27 __pthread_mutexattr_settype F
 GLIBC_2.27 __pthread_once F
+GLIBC_2.27 __pthread_register_cancel F
 GLIBC_2.27 __pthread_rwlock_destroy F
 GLIBC_2.27 __pthread_rwlock_init F
 GLIBC_2.27 __pthread_rwlock_rdlock F
@@ -355,6 +356,7 @@  GLIBC_2.27 __pthread_rwlock_trywrlock F
 GLIBC_2.27 __pthread_rwlock_unlock F
 GLIBC_2.27 __pthread_rwlock_wrlock F
 GLIBC_2.27 __pthread_setspecific F
+GLIBC_2.27 __pthread_unregister_cancel F
 GLIBC_2.27 __pthread_unwind_next F
 GLIBC_2.27 __ptsname_r_chk F
 GLIBC_2.27 __pwrite64 F
@@ -2266,6 +2268,8 @@  GLIBC_2.34 __pthread_cleanup_routine F
 GLIBC_2.34 __pthread_key_create F
 GLIBC_2.34 __pthread_mutex_lock F
 GLIBC_2.34 __pthread_mutex_unlock F
+GLIBC_2.34 __pthread_register_cancel F
+GLIBC_2.34 __pthread_unregister_cancel F
 GLIBC_2.34 __pthread_unwind_next F
 GLIBC_2.34 call_once F
 GLIBC_2.34 cnd_broadcast F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
index dbb1a42922..e8dc7c3910 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
@@ -1,7 +1,5 @@ 
 GLIBC_2.27 __errno_location F
-GLIBC_2.27 __pthread_register_cancel F
 GLIBC_2.27 __pthread_register_cancel_defer F
-GLIBC_2.27 __pthread_unregister_cancel F
 GLIBC_2.27 __pthread_unregister_cancel_restore F
 GLIBC_2.27 pthread_attr_getaffinity_np F
 GLIBC_2.27 pthread_attr_getguardsize F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
index 52f3cc5a97..fbb75ccf9d 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
@@ -2239,6 +2239,8 @@  GLIBC_2.3.2 pthread_cond_timedwait F
 GLIBC_2.3.2 pthread_cond_wait F
 GLIBC_2.3.2 strptime_l F
 GLIBC_2.3.3 __pthread_cleanup_routine F
+GLIBC_2.3.3 __pthread_register_cancel F
+GLIBC_2.3.3 __pthread_unregister_cancel F
 GLIBC_2.3.3 __pthread_unwind_next F
 GLIBC_2.3.3 _sys_siglist D 0x104
 GLIBC_2.3.3 gnu_dev_major F
@@ -2350,6 +2352,8 @@  GLIBC_2.34 __pthread_cleanup_routine F
 GLIBC_2.34 __pthread_key_create F
 GLIBC_2.34 __pthread_mutex_lock F
 GLIBC_2.34 __pthread_mutex_unlock F
+GLIBC_2.34 __pthread_register_cancel F
+GLIBC_2.34 __pthread_unregister_cancel F
 GLIBC_2.34 __pthread_unwind_next F
 GLIBC_2.34 call_once F
 GLIBC_2.34 cnd_broadcast F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
index caeaf1c3c8..f5deee544b 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
@@ -24,9 +24,7 @@  GLIBC_2.2.3 __libpthread_version_placeholder F
 GLIBC_2.2.6 __libpthread_version_placeholder F
 GLIBC_2.28 thrd_create F
 GLIBC_2.3.2 __libpthread_version_placeholder F
-GLIBC_2.3.3 __pthread_register_cancel F
 GLIBC_2.3.3 __pthread_register_cancel_defer F
-GLIBC_2.3.3 __pthread_unregister_cancel F
 GLIBC_2.3.3 __pthread_unregister_cancel_restore F
 GLIBC_2.3.3 pthread_attr_getaffinity_np F
 GLIBC_2.3.3 pthread_setaffinity_np F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
index 96dcf91860..7c1e46cdf0 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
@@ -2129,6 +2129,8 @@  GLIBC_2.3.2 pthread_cond_timedwait F
 GLIBC_2.3.2 pthread_cond_wait F
 GLIBC_2.3.2 strptime_l F
 GLIBC_2.3.3 __pthread_cleanup_routine F
+GLIBC_2.3.3 __pthread_register_cancel F
+GLIBC_2.3.3 __pthread_unregister_cancel F
 GLIBC_2.3.3 __pthread_unwind_next F
 GLIBC_2.3.3 _sys_siglist D 0x208
 GLIBC_2.3.3 gnu_dev_major F
@@ -2237,6 +2239,8 @@  GLIBC_2.34 __pthread_cleanup_routine F
 GLIBC_2.34 __pthread_key_create F
 GLIBC_2.34 __pthread_mutex_lock F
 GLIBC_2.34 __pthread_mutex_unlock F
+GLIBC_2.34 __pthread_register_cancel F
+GLIBC_2.34 __pthread_unregister_cancel F
 GLIBC_2.34 __pthread_unwind_next F
 GLIBC_2.34 call_once F
 GLIBC_2.34 cnd_broadcast F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
index 396dff1d9f..9fdcccffb0 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
@@ -21,9 +21,7 @@  GLIBC_2.2.3 __libpthread_version_placeholder F
 GLIBC_2.2.6 __libpthread_version_placeholder F
 GLIBC_2.28 thrd_create F
 GLIBC_2.3.2 __libpthread_version_placeholder F
-GLIBC_2.3.3 __pthread_register_cancel F
 GLIBC_2.3.3 __pthread_register_cancel_defer F
-GLIBC_2.3.3 __pthread_unregister_cancel F
 GLIBC_2.3.3 __pthread_unregister_cancel_restore F
 GLIBC_2.3.3 pthread_attr_getaffinity_np F
 GLIBC_2.3.3 pthread_setaffinity_np F
diff --git a/sysdeps/unix/sysv/linux/sh/be/libc.abilist b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
index 0360f65963..bfa7943954 100644
--- a/sysdeps/unix/sysv/linux/sh/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
@@ -2107,6 +2107,8 @@  GLIBC_2.3.2 pthread_cond_timedwait F
 GLIBC_2.3.2 pthread_cond_wait F
 GLIBC_2.3.2 strptime_l F
 GLIBC_2.3.3 __pthread_cleanup_routine F
+GLIBC_2.3.3 __pthread_register_cancel F
+GLIBC_2.3.3 __pthread_unregister_cancel F
 GLIBC_2.3.3 __pthread_unwind_next F
 GLIBC_2.3.3 _sys_siglist D 0x104
 GLIBC_2.3.3 gnu_dev_major F
@@ -2206,6 +2208,8 @@  GLIBC_2.34 __pthread_cleanup_routine F
 GLIBC_2.34 __pthread_key_create F
 GLIBC_2.34 __pthread_mutex_lock F
 GLIBC_2.34 __pthread_mutex_unlock F
+GLIBC_2.34 __pthread_register_cancel F
+GLIBC_2.34 __pthread_unregister_cancel F
 GLIBC_2.34 __pthread_unwind_next F
 GLIBC_2.34 call_once F
 GLIBC_2.34 cnd_broadcast F
diff --git a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
index 77bf2e186d..071fd3e5eb 100644
--- a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
@@ -20,9 +20,7 @@  GLIBC_2.2.3 __libpthread_version_placeholder F
 GLIBC_2.2.6 __libpthread_version_placeholder F
 GLIBC_2.28 thrd_create F
 GLIBC_2.3.2 __libpthread_version_placeholder F
-GLIBC_2.3.3 __pthread_register_cancel F
 GLIBC_2.3.3 __pthread_register_cancel_defer F
-GLIBC_2.3.3 __pthread_unregister_cancel F
 GLIBC_2.3.3 __pthread_unregister_cancel_restore F
 GLIBC_2.3.3 pthread_attr_getaffinity_np F
 GLIBC_2.3.3 pthread_setaffinity_np F
diff --git a/sysdeps/unix/sysv/linux/sh/le/libc.abilist b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
index c99300d9fc..440eed94c8 100644
--- a/sysdeps/unix/sysv/linux/sh/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
@@ -2107,6 +2107,8 @@  GLIBC_2.3.2 pthread_cond_timedwait F
 GLIBC_2.3.2 pthread_cond_wait F
 GLIBC_2.3.2 strptime_l F
 GLIBC_2.3.3 __pthread_cleanup_routine F
+GLIBC_2.3.3 __pthread_register_cancel F
+GLIBC_2.3.3 __pthread_unregister_cancel F
 GLIBC_2.3.3 __pthread_unwind_next F
 GLIBC_2.3.3 _sys_siglist D 0x104
 GLIBC_2.3.3 gnu_dev_major F
@@ -2203,6 +2205,8 @@  GLIBC_2.34 __pthread_cleanup_routine F
 GLIBC_2.34 __pthread_key_create F
 GLIBC_2.34 __pthread_mutex_lock F
 GLIBC_2.34 __pthread_mutex_unlock F
+GLIBC_2.34 __pthread_register_cancel F
+GLIBC_2.34 __pthread_unregister_cancel F
 GLIBC_2.34 __pthread_unwind_next F
 GLIBC_2.34 call_once F
 GLIBC_2.34 cnd_broadcast F
diff --git a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
index 77bf2e186d..071fd3e5eb 100644
--- a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
@@ -20,9 +20,7 @@  GLIBC_2.2.3 __libpthread_version_placeholder F
 GLIBC_2.2.6 __libpthread_version_placeholder F
 GLIBC_2.28 thrd_create F
 GLIBC_2.3.2 __libpthread_version_placeholder F
-GLIBC_2.3.3 __pthread_register_cancel F
 GLIBC_2.3.3 __pthread_register_cancel_defer F
-GLIBC_2.3.3 __pthread_unregister_cancel F
 GLIBC_2.3.3 __pthread_unregister_cancel_restore F
 GLIBC_2.3.3 pthread_attr_getaffinity_np F
 GLIBC_2.3.3 pthread_setaffinity_np F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
index 1d3f00ec04..2e3f5ec667 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
@@ -2233,6 +2233,8 @@  GLIBC_2.3.2 pthread_cond_timedwait F
 GLIBC_2.3.2 pthread_cond_wait F
 GLIBC_2.3.2 strptime_l F
 GLIBC_2.3.3 __pthread_cleanup_routine F
+GLIBC_2.3.3 __pthread_register_cancel F
+GLIBC_2.3.3 __pthread_unregister_cancel F
 GLIBC_2.3.3 __pthread_unwind_next F
 GLIBC_2.3.3 _sys_siglist D 0x104
 GLIBC_2.3.3 gnu_dev_major F
@@ -2341,6 +2343,8 @@  GLIBC_2.34 __pthread_cleanup_routine F
 GLIBC_2.34 __pthread_key_create F
 GLIBC_2.34 __pthread_mutex_lock F
 GLIBC_2.34 __pthread_mutex_unlock F
+GLIBC_2.34 __pthread_register_cancel F
+GLIBC_2.34 __pthread_unregister_cancel F
 GLIBC_2.34 __pthread_unwind_next F
 GLIBC_2.34 call_once F
 GLIBC_2.34 cnd_broadcast F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
index 56ac3b7e71..fa996f19d7 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
@@ -23,9 +23,7 @@  GLIBC_2.2.3 __libpthread_version_placeholder F
 GLIBC_2.2.6 __libpthread_version_placeholder F
 GLIBC_2.28 thrd_create F
 GLIBC_2.3.2 __libpthread_version_placeholder F
-GLIBC_2.3.3 __pthread_register_cancel F
 GLIBC_2.3.3 __pthread_register_cancel_defer F
-GLIBC_2.3.3 __pthread_unregister_cancel F
 GLIBC_2.3.3 __pthread_unregister_cancel_restore F
 GLIBC_2.3.3 pthread_attr_getaffinity_np F
 GLIBC_2.3.3 pthread_attr_setstack F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
index eb222daa74..1a88c40a3a 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
@@ -2158,6 +2158,8 @@  GLIBC_2.3.2 pthread_cond_timedwait F
 GLIBC_2.3.2 pthread_cond_wait F
 GLIBC_2.3.2 strptime_l F
 GLIBC_2.3.3 __pthread_cleanup_routine F
+GLIBC_2.3.3 __pthread_register_cancel F
+GLIBC_2.3.3 __pthread_unregister_cancel F
 GLIBC_2.3.3 __pthread_unwind_next F
 GLIBC_2.3.3 _sys_siglist D 0x208
 GLIBC_2.3.3 gnu_dev_major F
@@ -2254,6 +2256,8 @@  GLIBC_2.34 __pthread_cleanup_routine F
 GLIBC_2.34 __pthread_key_create F
 GLIBC_2.34 __pthread_mutex_lock F
 GLIBC_2.34 __pthread_mutex_unlock F
+GLIBC_2.34 __pthread_register_cancel F
+GLIBC_2.34 __pthread_unregister_cancel F
 GLIBC_2.34 __pthread_unwind_next F
 GLIBC_2.34 call_once F
 GLIBC_2.34 cnd_broadcast F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
index 8db794d53e..2dbc645d17 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
@@ -20,9 +20,7 @@  GLIBC_2.2.3 __libpthread_version_placeholder F
 GLIBC_2.2.6 __libpthread_version_placeholder F
 GLIBC_2.28 thrd_create F
 GLIBC_2.3.2 __libpthread_version_placeholder F
-GLIBC_2.3.3 __pthread_register_cancel F
 GLIBC_2.3.3 __pthread_register_cancel_defer F
-GLIBC_2.3.3 __pthread_unregister_cancel F
 GLIBC_2.3.3 __pthread_unregister_cancel_restore F
 GLIBC_2.3.3 pthread_attr_getaffinity_np F
 GLIBC_2.3.3 pthread_attr_setstack F
diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
index c34f50d673..c0c3538772 100644
--- a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
@@ -2117,6 +2117,8 @@  GLIBC_2.3.2 pthread_cond_timedwait F
 GLIBC_2.3.2 pthread_cond_wait F
 GLIBC_2.3.2 strptime_l F
 GLIBC_2.3.3 __pthread_cleanup_routine F
+GLIBC_2.3.3 __pthread_register_cancel F
+GLIBC_2.3.3 __pthread_unregister_cancel F
 GLIBC_2.3.3 __pthread_unwind_next F
 GLIBC_2.3.3 _sys_siglist D 0x208
 GLIBC_2.3.3 gnu_dev_major F
@@ -2215,6 +2217,8 @@  GLIBC_2.34 __pthread_cleanup_routine F
 GLIBC_2.34 __pthread_key_create F
 GLIBC_2.34 __pthread_mutex_lock F
 GLIBC_2.34 __pthread_mutex_unlock F
+GLIBC_2.34 __pthread_register_cancel F
+GLIBC_2.34 __pthread_unregister_cancel F
 GLIBC_2.34 __pthread_unwind_next F
 GLIBC_2.34 call_once F
 GLIBC_2.34 cnd_broadcast F
diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
index acfc54c409..e835a66869 100644
--- a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
@@ -19,9 +19,7 @@  GLIBC_2.2.5 pthread_setconcurrency F
 GLIBC_2.2.6 __libpthread_version_placeholder F
 GLIBC_2.28 thrd_create F
 GLIBC_2.3.2 __libpthread_version_placeholder F
-GLIBC_2.3.3 __pthread_register_cancel F
 GLIBC_2.3.3 __pthread_register_cancel_defer F
-GLIBC_2.3.3 __pthread_unregister_cancel F
 GLIBC_2.3.3 __pthread_unregister_cancel_restore F
 GLIBC_2.3.3 pthread_attr_getaffinity_np F
 GLIBC_2.3.3 pthread_setaffinity_np F
diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
index 4fae69daff..cea07a7812 100644
--- a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
@@ -351,6 +351,7 @@  GLIBC_2.16 __pthread_mutexattr_destroy F
 GLIBC_2.16 __pthread_mutexattr_init F
 GLIBC_2.16 __pthread_mutexattr_settype F
 GLIBC_2.16 __pthread_once F
+GLIBC_2.16 __pthread_register_cancel F
 GLIBC_2.16 __pthread_rwlock_destroy F
 GLIBC_2.16 __pthread_rwlock_init F
 GLIBC_2.16 __pthread_rwlock_rdlock F
@@ -359,6 +360,7 @@  GLIBC_2.16 __pthread_rwlock_trywrlock F
 GLIBC_2.16 __pthread_rwlock_unlock F
 GLIBC_2.16 __pthread_rwlock_wrlock F
 GLIBC_2.16 __pthread_setspecific F
+GLIBC_2.16 __pthread_unregister_cancel F
 GLIBC_2.16 __pthread_unwind_next F
 GLIBC_2.16 __ptsname_r_chk F
 GLIBC_2.16 __pwrite64 F
@@ -2320,6 +2322,8 @@  GLIBC_2.34 __pthread_cleanup_routine F
 GLIBC_2.34 __pthread_key_create F
 GLIBC_2.34 __pthread_mutex_lock F
 GLIBC_2.34 __pthread_mutex_unlock F
+GLIBC_2.34 __pthread_register_cancel F
+GLIBC_2.34 __pthread_unregister_cancel F
 GLIBC_2.34 __pthread_unwind_next F
 GLIBC_2.34 call_once F
 GLIBC_2.34 cnd_broadcast F
diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
index fe8c2eec64..fc978dfbe6 100644
--- a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
@@ -1,7 +1,5 @@ 
 GLIBC_2.16 __errno_location F
-GLIBC_2.16 __pthread_register_cancel F
 GLIBC_2.16 __pthread_register_cancel_defer F
-GLIBC_2.16 __pthread_unregister_cancel F
 GLIBC_2.16 __pthread_unregister_cancel_restore F
 GLIBC_2.16 pthread_attr_getaffinity_np F
 GLIBC_2.16 pthread_attr_getguardsize F