public inbox for libc-alpha@sourceware.org
 help / color / mirror / Atom feed
* [PATCH 0/3] nptl: Move remaining cancellation functionality into libc
@ 2021-05-11 10:56 Florian Weimer
  2021-05-11 10:56 ` [PATCH 1/3] nptl: Move __pthread_register_cancel, __pthread_unregister_cancel to libc Florian Weimer
                   ` (2 more replies)
  0 siblings, 3 replies; 11+ messages in thread
From: Florian Weimer @ 2021-05-11 10:56 UTC (permalink / raw)
  To: libc-alpha

Tested on i686-linux-gnu, x86_64-linux-gnu.  Built with
build-many-glibcs.py.

Florian Weimer (3):
  nptl: Move __pthread_register_cancel, __pthread_unregister_cancel to
    libc
  nptl: Move __pthread_register_cancel_defer,
    __pthread_unregister_cancel_restore to libc
  nptl: Move pthread_cancel into libc

 nptl/Makefile                                 |  6 ++---
 nptl/Versions                                 | 15 ++++++++----
 nptl/cleanup.c                                | 24 +++++++++++++++----
 nptl/cleanup_defer.c                          | 19 ++++++++++++---
 nptl/pthreadP.h                               | 14 ++---------
 nptl/pthread_cancel.c                         |  6 ++++-
 sysdeps/unix/sysv/linux/aarch64/libc.abilist  | 10 ++++++++
 .../sysv/linux/aarch64/libpthread.abilist     |  5 ----
 sysdeps/unix/sysv/linux/alpha/libc.abilist    | 10 ++++++++
 .../unix/sysv/linux/alpha/libpthread.abilist  |  5 ----
 sysdeps/unix/sysv/linux/arc/libc.abilist      | 10 ++++++++
 .../unix/sysv/linux/arc/libpthread.abilist    |  5 ----
 sysdeps/unix/sysv/linux/arm/be/libc.abilist   | 10 ++++++++
 .../unix/sysv/linux/arm/be/libpthread.abilist |  5 ----
 sysdeps/unix/sysv/linux/arm/le/libc.abilist   | 10 ++++++++
 .../unix/sysv/linux/arm/le/libpthread.abilist |  5 ----
 sysdeps/unix/sysv/linux/csky/libc.abilist     | 10 ++++++++
 .../unix/sysv/linux/csky/libpthread.abilist   |  5 ----
 sysdeps/unix/sysv/linux/hppa/libc.abilist     | 10 ++++++++
 .../unix/sysv/linux/hppa/libpthread.abilist   |  5 ----
 sysdeps/unix/sysv/linux/i386/libc.abilist     | 10 ++++++++
 .../unix/sysv/linux/i386/libpthread.abilist   |  5 ----
 sysdeps/unix/sysv/linux/ia64/libc.abilist     | 10 ++++++++
 .../unix/sysv/linux/ia64/libpthread.abilist   |  5 ----
 .../sysv/linux/m68k/coldfire/libc.abilist     | 10 ++++++++
 .../linux/m68k/coldfire/libpthread.abilist    |  5 ----
 .../unix/sysv/linux/m68k/m680x0/libc.abilist  | 10 ++++++++
 .../sysv/linux/m68k/m680x0/libpthread.abilist |  5 ----
 .../sysv/linux/microblaze/be/libc.abilist     | 10 ++++++++
 .../linux/microblaze/be/libpthread.abilist    |  5 ----
 .../sysv/linux/microblaze/le/libc.abilist     | 10 ++++++++
 .../linux/microblaze/le/libpthread.abilist    |  5 ----
 .../sysv/linux/mips/mips32/fpu/libc.abilist   | 10 ++++++++
 .../sysv/linux/mips/mips32/libpthread.abilist |  5 ----
 .../sysv/linux/mips/mips32/nofpu/libc.abilist | 10 ++++++++
 .../sysv/linux/mips/mips64/libpthread.abilist |  5 ----
 .../sysv/linux/mips/mips64/n32/libc.abilist   | 10 ++++++++
 .../sysv/linux/mips/mips64/n64/libc.abilist   | 10 ++++++++
 sysdeps/unix/sysv/linux/nios2/libc.abilist    | 10 ++++++++
 .../unix/sysv/linux/nios2/libpthread.abilist  |  5 ----
 .../linux/powerpc/powerpc32/fpu/libc.abilist  | 10 ++++++++
 .../powerpc/powerpc32/libpthread.abilist      |  5 ----
 .../powerpc/powerpc32/nofpu/libc.abilist      | 10 ++++++++
 .../linux/powerpc/powerpc64/be/libc.abilist   | 10 ++++++++
 .../powerpc/powerpc64/be/libpthread.abilist   |  5 ----
 .../linux/powerpc/powerpc64/le/libc.abilist   | 10 ++++++++
 .../powerpc/powerpc64/le/libpthread.abilist   |  5 ----
 .../unix/sysv/linux/riscv/rv32/libc.abilist   | 10 ++++++++
 .../sysv/linux/riscv/rv32/libpthread.abilist  |  5 ----
 .../unix/sysv/linux/riscv/rv64/libc.abilist   | 10 ++++++++
 .../sysv/linux/riscv/rv64/libpthread.abilist  |  5 ----
 .../unix/sysv/linux/s390/s390-32/libc.abilist | 10 ++++++++
 .../linux/s390/s390-32/libpthread.abilist     |  5 ----
 .../unix/sysv/linux/s390/s390-64/libc.abilist | 10 ++++++++
 .../linux/s390/s390-64/libpthread.abilist     |  5 ----
 sysdeps/unix/sysv/linux/sh/be/libc.abilist    | 10 ++++++++
 .../unix/sysv/linux/sh/be/libpthread.abilist  |  5 ----
 sysdeps/unix/sysv/linux/sh/le/libc.abilist    | 10 ++++++++
 .../unix/sysv/linux/sh/le/libpthread.abilist  |  5 ----
 .../sysv/linux/sparc/sparc32/libc.abilist     | 10 ++++++++
 .../linux/sparc/sparc32/libpthread.abilist    |  5 ----
 .../sysv/linux/sparc/sparc64/libc.abilist     | 10 ++++++++
 .../linux/sparc/sparc64/libpthread.abilist    |  5 ----
 .../unix/sysv/linux/x86_64/64/libc.abilist    | 10 ++++++++
 .../sysv/linux/x86_64/64/libpthread.abilist   |  5 ----
 .../unix/sysv/linux/x86_64/x32/libc.abilist   | 10 ++++++++
 .../sysv/linux/x86_64/x32/libpthread.abilist  |  5 ----
 67 files changed, 375 insertions(+), 174 deletions(-)

-- 
2.31.1


^ permalink raw reply	[flat|nested] 11+ messages in thread

* [PATCH 1/3] nptl: Move __pthread_register_cancel, __pthread_unregister_cancel to libc
  2021-05-11 10:56 [PATCH 0/3] nptl: Move remaining cancellation functionality into libc Florian Weimer
@ 2021-05-11 10:56 ` Florian Weimer
  2021-05-11 17:27   ` Adhemerval Zanella
  2021-05-11 10:56 ` [PATCH 2/3] nptl: Move __pthread_register_cancel_defer, __pthread_unregister_cancel_restore " Florian Weimer
  2021-05-11 10:56 ` [PATCH 3/3] nptl: Move pthread_cancel into libc Florian Weimer
  2 siblings, 1 reply; 11+ messages in thread
From: Florian Weimer @ 2021-05-11 10:56 UTC (permalink / raw)
  To: libc-alpha

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(-)

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
-- 
2.31.1



^ permalink raw reply	[flat|nested] 11+ messages in thread

* [PATCH 2/3] nptl: Move __pthread_register_cancel_defer, __pthread_unregister_cancel_restore to libc
  2021-05-11 10:56 [PATCH 0/3] nptl: Move remaining cancellation functionality into libc Florian Weimer
  2021-05-11 10:56 ` [PATCH 1/3] nptl: Move __pthread_register_cancel, __pthread_unregister_cancel to libc Florian Weimer
@ 2021-05-11 10:56 ` Florian Weimer
  2021-05-11 17:29   ` Adhemerval Zanella
  2021-05-11 10:56 ` [PATCH 3/3] nptl: Move pthread_cancel into libc Florian Weimer
  2 siblings, 1 reply; 11+ messages in thread
From: Florian Weimer @ 2021-05-11 10:56 UTC (permalink / raw)
  To: libc-alpha

The symbols were moved using scripts/move-symbol-to-libc.py.
---
 nptl/Makefile                                 |  2 +-
 nptl/Versions                                 |  6 ++++--
 nptl/cleanup_defer.c                          | 19 ++++++++++++++++---
 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 --
 64 files changed, 149 insertions(+), 64 deletions(-)

diff --git a/nptl/Makefile b/nptl/Makefile
index eb6c910656..7e070e490b 100644
--- a/nptl/Makefile
+++ b/nptl/Makefile
@@ -33,6 +33,7 @@ routines = \
   cancellation \
   cleanup \
   cleanup_compat \
+  cleanup_defer \
   cleanup_defer_compat \
   cleanup_routine \
   elision-conf \
@@ -187,7 +188,6 @@ shared-only-routines = forward
 static-only-routines = pthread_atfork
 
 libpthread-routines = \
-  cleanup_defer \
   events \
   libpthread-compat \
   nptl-init \
diff --git a/nptl/Versions b/nptl/Versions
index 329f0722a6..0868a8cfb2 100644
--- a/nptl/Versions
+++ b/nptl/Versions
@@ -144,7 +144,9 @@ libc {
   GLIBC_2.3.3 {
     __pthread_cleanup_routine;
     __pthread_register_cancel;
+    __pthread_register_cancel_defer;
     __pthread_unregister_cancel;
+    __pthread_unregister_cancel_restore;
     __pthread_unwind_next;
     pthread_attr_setaffinity_np;
     pthread_barrierattr_getpshared;
@@ -227,7 +229,9 @@ libc {
     __pthread_mutex_lock;
     __pthread_mutex_unlock;
     __pthread_register_cancel;
+    __pthread_register_cancel_defer;
     __pthread_unregister_cancel;
+    __pthread_unregister_cancel_restore;
     call_once;
     cnd_broadcast;
     cnd_destroy;
@@ -430,8 +434,6 @@ libpthread {
   }
 
   GLIBC_2.3.3 {
-    __pthread_register_cancel_defer;
-    __pthread_unregister_cancel_restore;
     pthread_attr_getaffinity_np;
     pthread_setaffinity_np;
   }
diff --git a/nptl/cleanup_defer.c b/nptl/cleanup_defer.c
index 08271e352f..6d85359118 100644
--- a/nptl/cleanup_defer.c
+++ b/nptl/cleanup_defer.c
@@ -18,11 +18,11 @@
 
 #include <stdlib.h>
 #include "pthreadP.h"
-
+#include <shlib-compat.h>
 
 void
 __cleanup_fct_attribute
-__pthread_register_cancel_defer (__pthread_unwind_buf_t *buf)
+___pthread_register_cancel_defer (__pthread_unwind_buf_t *buf)
 {
   struct pthread_unwind_buf *ibuf = (struct pthread_unwind_buf *) buf;
   struct pthread *self = THREAD_SELF;
@@ -56,11 +56,17 @@ __pthread_register_cancel_defer (__pthread_unwind_buf_t *buf)
   /* Store the new cleanup handler info.  */
   THREAD_SETMEM (self, cleanup_jmp_buf, (struct pthread_unwind_buf *) buf);
 }
+versioned_symbol (libc, ___pthread_register_cancel_defer,
+		  __pthread_register_cancel_defer, GLIBC_2_34);
 
+#if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_3_3, GLIBC_2_34)
+compat_symbol (libpthread, ___pthread_register_cancel_defer,
+	       __pthread_register_cancel_defer, GLIBC_2_3_3);
+#endif
 
 void
 __cleanup_fct_attribute
-__pthread_unregister_cancel_restore (__pthread_unwind_buf_t *buf)
+___pthread_unregister_cancel_restore (__pthread_unwind_buf_t *buf)
 {
   struct pthread *self = THREAD_SELF;
   struct pthread_unwind_buf *ibuf = (struct pthread_unwind_buf *) buf;
@@ -89,3 +95,10 @@ __pthread_unregister_cancel_restore (__pthread_unwind_buf_t *buf)
       CANCELLATION_P (self);
     }
 }
+versioned_symbol (libc, ___pthread_unregister_cancel_restore,
+		  __pthread_unregister_cancel_restore, GLIBC_2_34);
+
+#if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_3_3, GLIBC_2_34)
+compat_symbol (libpthread, ___pthread_unregister_cancel_restore,
+	       __pthread_unregister_cancel_restore, GLIBC_2_3_3);
+#endif
diff --git a/sysdeps/unix/sysv/linux/aarch64/libc.abilist b/sysdeps/unix/sysv/linux/aarch64/libc.abilist
index 68afc4d209..79b373a45d 100644
--- a/sysdeps/unix/sysv/linux/aarch64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/aarch64/libc.abilist
@@ -351,6 +351,7 @@ 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_register_cancel_defer F
 GLIBC_2.17 __pthread_rwlock_destroy F
 GLIBC_2.17 __pthread_rwlock_init F
 GLIBC_2.17 __pthread_rwlock_rdlock F
@@ -360,6 +361,7 @@ GLIBC_2.17 __pthread_rwlock_unlock F
 GLIBC_2.17 __pthread_rwlock_wrlock F
 GLIBC_2.17 __pthread_setspecific F
 GLIBC_2.17 __pthread_unregister_cancel F
+GLIBC_2.17 __pthread_unregister_cancel_restore F
 GLIBC_2.17 __pthread_unwind_next F
 GLIBC_2.17 __ptsname_r_chk F
 GLIBC_2.17 __pwrite64 F
@@ -2308,7 +2310,9 @@ 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_register_cancel_defer F
 GLIBC_2.34 __pthread_unregister_cancel F
+GLIBC_2.34 __pthread_unregister_cancel_restore 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 633df92b7c..72bbdf0f37 100644
--- a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
@@ -1,6 +1,4 @@
 GLIBC_2.17 __errno_location F
-GLIBC_2.17 __pthread_register_cancel_defer F
-GLIBC_2.17 __pthread_unregister_cancel_restore F
 GLIBC_2.17 pthread_attr_getaffinity_np F
 GLIBC_2.17 pthread_attr_getguardsize F
 GLIBC_2.17 pthread_attr_getstack F
diff --git a/sysdeps/unix/sysv/linux/alpha/libc.abilist b/sysdeps/unix/sysv/linux/alpha/libc.abilist
index 0eee74431c..8961d6799c 100644
--- a/sysdeps/unix/sysv/linux/alpha/libc.abilist
+++ b/sysdeps/unix/sysv/linux/alpha/libc.abilist
@@ -2269,7 +2269,9 @@ 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_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_unwind_next F
 GLIBC_2.3.3 _sys_siglist D 0x208
 GLIBC_2.3.3 gnu_dev_major F
@@ -2395,7 +2397,9 @@ 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_register_cancel_defer F
 GLIBC_2.34 __pthread_unregister_cancel F
+GLIBC_2.34 __pthread_unregister_cancel_restore 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 fa996f19d7..19e1375b54 100644
--- a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
@@ -23,8 +23,6 @@ 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_defer 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
 GLIBC_2.3.3 pthread_attr_setstacksize F
diff --git a/sysdeps/unix/sysv/linux/arc/libc.abilist b/sysdeps/unix/sysv/linux/arc/libc.abilist
index 3caf14215d..47504af7fa 100644
--- a/sysdeps/unix/sysv/linux/arc/libc.abilist
+++ b/sysdeps/unix/sysv/linux/arc/libc.abilist
@@ -340,6 +340,7 @@ 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_register_cancel_defer F
 GLIBC_2.32 __pthread_rwlock_destroy F
 GLIBC_2.32 __pthread_rwlock_init F
 GLIBC_2.32 __pthread_rwlock_rdlock F
@@ -349,6 +350,7 @@ GLIBC_2.32 __pthread_rwlock_unlock F
 GLIBC_2.32 __pthread_rwlock_wrlock F
 GLIBC_2.32 __pthread_setspecific F
 GLIBC_2.32 __pthread_unregister_cancel F
+GLIBC_2.32 __pthread_unregister_cancel_restore F
 GLIBC_2.32 __pthread_unwind_next F
 GLIBC_2.32 __ptsname_r_chk F
 GLIBC_2.32 __pwrite64 F
@@ -2067,7 +2069,9 @@ 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_register_cancel_defer F
 GLIBC_2.34 __pthread_unregister_cancel F
+GLIBC_2.34 __pthread_unregister_cancel_restore 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 93f0474e31..d47f656bf3 100644
--- a/sysdeps/unix/sysv/linux/arc/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/arc/libpthread.abilist
@@ -1,6 +1,4 @@
 GLIBC_2.32 __errno_location F
-GLIBC_2.32 __pthread_register_cancel_defer F
-GLIBC_2.32 __pthread_unregister_cancel_restore F
 GLIBC_2.32 pthread_attr_getaffinity_np F
 GLIBC_2.32 pthread_attr_getguardsize F
 GLIBC_2.32 pthread_attr_getstack F
diff --git a/sysdeps/unix/sysv/linux/arm/be/libc.abilist b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
index 1cf65ff0c7..1a4395ba35 100644
--- a/sysdeps/unix/sysv/linux/arm/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
@@ -191,7 +191,9 @@ 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_register_cancel_defer F
 GLIBC_2.34 __pthread_unregister_cancel F
+GLIBC_2.34 __pthread_unregister_cancel_restore F
 GLIBC_2.34 __pthread_unwind_next F
 GLIBC_2.34 call_once F
 GLIBC_2.34 cnd_broadcast F
@@ -630,6 +632,7 @@ 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_register_cancel_defer F
 GLIBC_2.4 __pthread_rwlock_destroy F
 GLIBC_2.4 __pthread_rwlock_init F
 GLIBC_2.4 __pthread_rwlock_rdlock F
@@ -639,6 +642,7 @@ GLIBC_2.4 __pthread_rwlock_unlock F
 GLIBC_2.4 __pthread_rwlock_wrlock F
 GLIBC_2.4 __pthread_setspecific F
 GLIBC_2.4 __pthread_unregister_cancel F
+GLIBC_2.4 __pthread_unregister_cancel_restore F
 GLIBC_2.4 __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 fcf9bae888..dffabc237c 100644
--- a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
@@ -7,8 +7,6 @@ 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_defer F
-GLIBC_2.4 __pthread_unregister_cancel_restore F
 GLIBC_2.4 pthread_attr_getaffinity_np F
 GLIBC_2.4 pthread_attr_getguardsize F
 GLIBC_2.4 pthread_attr_getstack F
diff --git a/sysdeps/unix/sysv/linux/arm/le/libc.abilist b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
index 26428e0030..2344dc0638 100644
--- a/sysdeps/unix/sysv/linux/arm/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
@@ -188,7 +188,9 @@ 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_register_cancel_defer F
 GLIBC_2.34 __pthread_unregister_cancel F
+GLIBC_2.34 __pthread_unregister_cancel_restore 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_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_register_cancel_defer F
 GLIBC_2.4 __pthread_rwlock_destroy F
 GLIBC_2.4 __pthread_rwlock_init F
 GLIBC_2.4 __pthread_rwlock_rdlock F
@@ -636,6 +639,7 @@ GLIBC_2.4 __pthread_rwlock_unlock F
 GLIBC_2.4 __pthread_rwlock_wrlock F
 GLIBC_2.4 __pthread_setspecific F
 GLIBC_2.4 __pthread_unregister_cancel F
+GLIBC_2.4 __pthread_unregister_cancel_restore F
 GLIBC_2.4 __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 fcf9bae888..dffabc237c 100644
--- a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
@@ -7,8 +7,6 @@ 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_defer F
-GLIBC_2.4 __pthread_unregister_cancel_restore F
 GLIBC_2.4 pthread_attr_getaffinity_np F
 GLIBC_2.4 pthread_attr_getguardsize F
 GLIBC_2.4 pthread_attr_getstack F
diff --git a/sysdeps/unix/sysv/linux/csky/libc.abilist b/sysdeps/unix/sysv/linux/csky/libc.abilist
index ae01f32a0c..b3aec7bdad 100644
--- a/sysdeps/unix/sysv/linux/csky/libc.abilist
+++ b/sysdeps/unix/sysv/linux/csky/libc.abilist
@@ -344,6 +344,7 @@ 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_register_cancel_defer F
 GLIBC_2.29 __pthread_rwlock_destroy F
 GLIBC_2.29 __pthread_rwlock_init F
 GLIBC_2.29 __pthread_rwlock_rdlock F
@@ -353,6 +354,7 @@ GLIBC_2.29 __pthread_rwlock_unlock F
 GLIBC_2.29 __pthread_rwlock_wrlock F
 GLIBC_2.29 __pthread_setspecific F
 GLIBC_2.29 __pthread_unregister_cancel F
+GLIBC_2.29 __pthread_unregister_cancel_restore F
 GLIBC_2.29 __pthread_unwind_next F
 GLIBC_2.29 __ptsname_r_chk F
 GLIBC_2.29 __pwrite64 F
@@ -2251,7 +2253,9 @@ 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_register_cancel_defer F
 GLIBC_2.34 __pthread_unregister_cancel F
+GLIBC_2.34 __pthread_unregister_cancel_restore 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 df027689e8..2b66c04b6c 100644
--- a/sysdeps/unix/sysv/linux/csky/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/csky/libpthread.abilist
@@ -1,6 +1,4 @@
 GLIBC_2.29 __errno_location F
-GLIBC_2.29 __pthread_register_cancel_defer F
-GLIBC_2.29 __pthread_unregister_cancel_restore F
 GLIBC_2.29 pthread_attr_getaffinity_np F
 GLIBC_2.29 pthread_attr_getguardsize F
 GLIBC_2.29 pthread_attr_getstack F
diff --git a/sysdeps/unix/sysv/linux/hppa/libc.abilist b/sysdeps/unix/sysv/linux/hppa/libc.abilist
index 166af94540..59afc75408 100644
--- a/sysdeps/unix/sysv/linux/hppa/libc.abilist
+++ b/sysdeps/unix/sysv/linux/hppa/libc.abilist
@@ -2104,7 +2104,9 @@ 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_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_unwind_next F
 GLIBC_2.3.3 _sys_siglist D 0x104
 GLIBC_2.3.3 gnu_dev_major F
@@ -2202,7 +2204,9 @@ 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_register_cancel_defer F
 GLIBC_2.34 __pthread_unregister_cancel F
+GLIBC_2.34 __pthread_unregister_cancel_restore 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 071fd3e5eb..7ee08fbcc9 100644
--- a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
@@ -20,8 +20,6 @@ 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_defer 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
 GLIBC_2.3.4 pthread_attr_getaffinity_np F
diff --git a/sysdeps/unix/sysv/linux/i386/libc.abilist b/sysdeps/unix/sysv/linux/i386/libc.abilist
index 37b5718e49..eabfdee4bb 100644
--- a/sysdeps/unix/sysv/linux/i386/libc.abilist
+++ b/sysdeps/unix/sysv/linux/i386/libc.abilist
@@ -2284,7 +2284,9 @@ 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_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_unwind_next F
 GLIBC_2.3.3 _sys_siglist D 0x104
 GLIBC_2.3.3 gnu_dev_major F
@@ -2385,7 +2387,9 @@ 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_register_cancel_defer F
 GLIBC_2.34 __pthread_unregister_cancel F
+GLIBC_2.34 __pthread_unregister_cancel_restore 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 a67cc86dcd..f2c64dd9c8 100644
--- a/sysdeps/unix/sysv/linux/i386/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/i386/libpthread.abilist
@@ -23,8 +23,6 @@ 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_defer 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
 GLIBC_2.3.4 pthread_attr_getaffinity_np F
diff --git a/sysdeps/unix/sysv/linux/ia64/libc.abilist b/sysdeps/unix/sysv/linux/ia64/libc.abilist
index 2273cff802..8307bd5568 100644
--- a/sysdeps/unix/sysv/linux/ia64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/ia64/libc.abilist
@@ -2137,7 +2137,9 @@ 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_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_unwind_next F
 GLIBC_2.3.3 _sys_siglist D 0x208
 GLIBC_2.3.3 gnu_dev_major F
@@ -2236,7 +2238,9 @@ 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_register_cancel_defer F
 GLIBC_2.34 __pthread_unregister_cancel F
+GLIBC_2.34 __pthread_unregister_cancel_restore 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 2dbc645d17..f11429ad6b 100644
--- a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
@@ -20,8 +20,6 @@ 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_defer 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
 GLIBC_2.3.3 pthread_attr_setstacksize F
diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
index 54822cb0ff..faeb98053c 100644
--- a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
@@ -192,7 +192,9 @@ 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_register_cancel_defer F
 GLIBC_2.34 __pthread_unregister_cancel F
+GLIBC_2.34 __pthread_unregister_cancel_restore F
 GLIBC_2.34 __pthread_unwind_next F
 GLIBC_2.34 call_once F
 GLIBC_2.34 cnd_broadcast F
@@ -616,6 +618,7 @@ 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_register_cancel_defer F
 GLIBC_2.4 __pthread_rwlock_destroy F
 GLIBC_2.4 __pthread_rwlock_init F
 GLIBC_2.4 __pthread_rwlock_rdlock F
@@ -625,6 +628,7 @@ GLIBC_2.4 __pthread_rwlock_unlock F
 GLIBC_2.4 __pthread_rwlock_wrlock F
 GLIBC_2.4 __pthread_setspecific F
 GLIBC_2.4 __pthread_unregister_cancel F
+GLIBC_2.4 __pthread_unregister_cancel_restore F
 GLIBC_2.4 __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 fcf9bae888..dffabc237c 100644
--- a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
@@ -7,8 +7,6 @@ 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_defer F
-GLIBC_2.4 __pthread_unregister_cancel_restore F
 GLIBC_2.4 pthread_attr_getaffinity_np F
 GLIBC_2.4 pthread_attr_getguardsize F
 GLIBC_2.4 pthread_attr_getstack F
diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
index 78676b83eb..987c85a011 100644
--- a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
@@ -2227,7 +2227,9 @@ 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_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_unwind_next F
 GLIBC_2.3.3 _sys_siglist D 0x104
 GLIBC_2.3.3 gnu_dev_major F
@@ -2328,7 +2330,9 @@ 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_register_cancel_defer F
 GLIBC_2.34 __pthread_unregister_cancel F
+GLIBC_2.34 __pthread_unregister_cancel_restore 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 a67cc86dcd..f2c64dd9c8 100644
--- a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
@@ -23,8 +23,6 @@ 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_defer 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
 GLIBC_2.3.4 pthread_attr_getaffinity_np F
diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
index ddc36aaa80..45f5b21895 100644
--- a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
@@ -352,6 +352,7 @@ 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_register_cancel_defer F
 GLIBC_2.18 __pthread_rwlock_destroy F
 GLIBC_2.18 __pthread_rwlock_init F
 GLIBC_2.18 __pthread_rwlock_rdlock F
@@ -361,6 +362,7 @@ GLIBC_2.18 __pthread_rwlock_unlock F
 GLIBC_2.18 __pthread_rwlock_wrlock F
 GLIBC_2.18 __pthread_setspecific F
 GLIBC_2.18 __pthread_unregister_cancel F
+GLIBC_2.18 __pthread_unregister_cancel_restore F
 GLIBC_2.18 __pthread_unwind_next F
 GLIBC_2.18 __ptsname_r_chk F
 GLIBC_2.18 __pwrite64 F
@@ -2302,7 +2304,9 @@ 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_register_cancel_defer F
 GLIBC_2.34 __pthread_unregister_cancel F
+GLIBC_2.34 __pthread_unregister_cancel_restore 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 f3a5b67d41..93b99ca4a7 100644
--- a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
@@ -1,6 +1,4 @@
 GLIBC_2.18 __errno_location F
-GLIBC_2.18 __pthread_register_cancel_defer F
-GLIBC_2.18 __pthread_unregister_cancel_restore F
 GLIBC_2.18 pthread_attr_getaffinity_np F
 GLIBC_2.18 pthread_attr_getguardsize F
 GLIBC_2.18 pthread_attr_getstack F
diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
index 410cf82c0e..ce10bfbf47 100644
--- a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
@@ -352,6 +352,7 @@ 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_register_cancel_defer F
 GLIBC_2.18 __pthread_rwlock_destroy F
 GLIBC_2.18 __pthread_rwlock_init F
 GLIBC_2.18 __pthread_rwlock_rdlock F
@@ -361,6 +362,7 @@ GLIBC_2.18 __pthread_rwlock_unlock F
 GLIBC_2.18 __pthread_rwlock_wrlock F
 GLIBC_2.18 __pthread_setspecific F
 GLIBC_2.18 __pthread_unregister_cancel F
+GLIBC_2.18 __pthread_unregister_cancel_restore F
 GLIBC_2.18 __pthread_unwind_next F
 GLIBC_2.18 __ptsname_r_chk F
 GLIBC_2.18 __pwrite64 F
@@ -2299,7 +2301,9 @@ 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_register_cancel_defer F
 GLIBC_2.34 __pthread_unregister_cancel F
+GLIBC_2.34 __pthread_unregister_cancel_restore 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 f3a5b67d41..93b99ca4a7 100644
--- a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
@@ -1,6 +1,4 @@
 GLIBC_2.18 __errno_location F
-GLIBC_2.18 __pthread_register_cancel_defer F
-GLIBC_2.18 __pthread_unregister_cancel_restore F
 GLIBC_2.18 pthread_attr_getaffinity_np F
 GLIBC_2.18 pthread_attr_getguardsize F
 GLIBC_2.18 pthread_attr_getstack F
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
index 9a2b97b6e2..c09f0f7634 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
@@ -2193,7 +2193,9 @@ 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_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_unwind_next F
 GLIBC_2.3.3 _sys_siglist D 0x200
 GLIBC_2.3.3 gnu_dev_major F
@@ -2291,7 +2293,9 @@ 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_register_cancel_defer F
 GLIBC_2.34 __pthread_unregister_cancel F
+GLIBC_2.34 __pthread_unregister_cancel_restore 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 26ae04300c..156eae46c9 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
@@ -21,8 +21,6 @@ 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_defer 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
 GLIBC_2.3.3 pthread_attr_setstacksize F
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
index e73613e7d7..bf2f7a8bb5 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
@@ -2191,7 +2191,9 @@ 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_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_unwind_next F
 GLIBC_2.3.3 _sys_siglist D 0x200
 GLIBC_2.3.3 gnu_dev_major F
@@ -2289,7 +2291,9 @@ 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_register_cancel_defer F
 GLIBC_2.34 __pthread_unregister_cancel F
+GLIBC_2.34 __pthread_unregister_cancel_restore 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 26ae04300c..156eae46c9 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
@@ -21,8 +21,6 @@ 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_defer 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
 GLIBC_2.3.3 pthread_attr_setstacksize F
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
index 7512fb6e4e..7f37f64c2e 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
@@ -2199,7 +2199,9 @@ 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_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_unwind_next F
 GLIBC_2.3.3 _sys_siglist D 0x200
 GLIBC_2.3.3 gnu_dev_major F
@@ -2297,7 +2299,9 @@ 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_register_cancel_defer F
 GLIBC_2.34 __pthread_unregister_cancel F
+GLIBC_2.34 __pthread_unregister_cancel_restore 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 41578b8c93..1db4d23af4 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
@@ -2192,7 +2192,9 @@ 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_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_unwind_next F
 GLIBC_2.3.3 _sys_siglist D 0x400
 GLIBC_2.3.3 gnu_dev_major F
@@ -2291,7 +2293,9 @@ 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_register_cancel_defer F
 GLIBC_2.34 __pthread_unregister_cancel F
+GLIBC_2.34 __pthread_unregister_cancel_restore 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 34fff4c240..fc563e2b6e 100644
--- a/sysdeps/unix/sysv/linux/nios2/libc.abilist
+++ b/sysdeps/unix/sysv/linux/nios2/libc.abilist
@@ -389,6 +389,7 @@ 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_register_cancel_defer F
 GLIBC_2.21 __pthread_rwlock_destroy F
 GLIBC_2.21 __pthread_rwlock_init F
 GLIBC_2.21 __pthread_rwlock_rdlock F
@@ -398,6 +399,7 @@ GLIBC_2.21 __pthread_rwlock_unlock F
 GLIBC_2.21 __pthread_rwlock_wrlock F
 GLIBC_2.21 __pthread_setspecific F
 GLIBC_2.21 __pthread_unregister_cancel F
+GLIBC_2.21 __pthread_unregister_cancel_restore F
 GLIBC_2.21 __pthread_unwind_next F
 GLIBC_2.21 __ptsname_r_chk F
 GLIBC_2.21 __pwrite64 F
@@ -2341,7 +2343,9 @@ 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_register_cancel_defer F
 GLIBC_2.34 __pthread_unregister_cancel F
+GLIBC_2.34 __pthread_unregister_cancel_restore 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 9bee776f4f..b7c7c83d68 100644
--- a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
@@ -1,6 +1,4 @@
 GLIBC_2.21 __errno_location F
-GLIBC_2.21 __pthread_register_cancel_defer F
-GLIBC_2.21 __pthread_unregister_cancel_restore F
 GLIBC_2.21 pthread_attr_getaffinity_np F
 GLIBC_2.21 pthread_attr_getguardsize F
 GLIBC_2.21 pthread_attr_getstack F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
index 8b8adc06ce..6e85b889b8 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
@@ -2231,7 +2231,9 @@ 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_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_unwind_next F
 GLIBC_2.3.3 _sys_siglist D 0x104
 GLIBC_2.3.3 getcontext F
@@ -2355,7 +2357,9 @@ 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_register_cancel_defer F
 GLIBC_2.34 __pthread_unregister_cancel F
+GLIBC_2.34 __pthread_unregister_cancel_restore 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 a30be35a7a..17be75afae 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
@@ -23,8 +23,6 @@ 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_defer 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
 GLIBC_2.3.4 pthread_attr_getaffinity_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 5754fd3589..e3e8390e0e 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
@@ -2264,7 +2264,9 @@ 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_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_unwind_next F
 GLIBC_2.3.3 _sys_siglist D 0x104
 GLIBC_2.3.3 getcontext F
@@ -2388,7 +2390,9 @@ 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_register_cancel_defer F
 GLIBC_2.34 __pthread_unregister_cancel F
+GLIBC_2.34 __pthread_unregister_cancel_restore 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 47812d2be1..26a638edc8 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
@@ -2084,7 +2084,9 @@ 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_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_unwind_next F
 GLIBC_2.3.3 _sys_siglist D 0x208
 GLIBC_2.3.3 gnu_dev_major F
@@ -2203,7 +2205,9 @@ 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_register_cancel_defer F
 GLIBC_2.34 __pthread_unregister_cancel F
+GLIBC_2.34 __pthread_unregister_cancel_restore 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 5129d976a1..1549e29f64 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
@@ -18,8 +18,6 @@ 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_defer 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
 GLIBC_2.3.4 pthread_attr_getaffinity_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 9af9e3fba6..09560c93d2 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
@@ -437,6 +437,7 @@ 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_register_cancel_defer F
 GLIBC_2.17 __pthread_rwlock_destroy F
 GLIBC_2.17 __pthread_rwlock_init F
 GLIBC_2.17 __pthread_rwlock_rdlock F
@@ -446,6 +447,7 @@ GLIBC_2.17 __pthread_rwlock_unlock F
 GLIBC_2.17 __pthread_rwlock_wrlock F
 GLIBC_2.17 __pthread_setspecific F
 GLIBC_2.17 __pthread_unregister_cancel F
+GLIBC_2.17 __pthread_unregister_cancel_restore F
 GLIBC_2.17 __pthread_unwind_next F
 GLIBC_2.17 __ptsname_r_chk F
 GLIBC_2.17 __pwrite64 F
@@ -2504,7 +2506,9 @@ 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_register_cancel_defer F
 GLIBC_2.34 __pthread_unregister_cancel F
+GLIBC_2.34 __pthread_unregister_cancel_restore 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 633df92b7c..72bbdf0f37 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
@@ -1,6 +1,4 @@
 GLIBC_2.17 __errno_location F
-GLIBC_2.17 __pthread_register_cancel_defer F
-GLIBC_2.17 __pthread_unregister_cancel_restore F
 GLIBC_2.17 pthread_attr_getaffinity_np F
 GLIBC_2.17 pthread_attr_getguardsize F
 GLIBC_2.17 pthread_attr_getstack F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
index ce2057f817..3941ef0b70 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
@@ -337,6 +337,7 @@ 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_register_cancel_defer F
 GLIBC_2.33 __pthread_rwlock_destroy F
 GLIBC_2.33 __pthread_rwlock_init F
 GLIBC_2.33 __pthread_rwlock_rdlock F
@@ -346,6 +347,7 @@ GLIBC_2.33 __pthread_rwlock_unlock F
 GLIBC_2.33 __pthread_rwlock_wrlock F
 GLIBC_2.33 __pthread_setspecific F
 GLIBC_2.33 __pthread_unregister_cancel F
+GLIBC_2.33 __pthread_unregister_cancel_restore F
 GLIBC_2.33 __pthread_unwind_next F
 GLIBC_2.33 __ptsname_r_chk F
 GLIBC_2.33 __pwrite64 F
@@ -2069,7 +2071,9 @@ 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_register_cancel_defer F
 GLIBC_2.34 __pthread_unregister_cancel F
+GLIBC_2.34 __pthread_unregister_cancel_restore 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 a1b36b3b46..0efcff840e 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
@@ -1,6 +1,4 @@
 GLIBC_2.33 __errno_location F
-GLIBC_2.33 __pthread_register_cancel_defer F
-GLIBC_2.33 __pthread_unregister_cancel_restore F
 GLIBC_2.33 pthread_attr_getaffinity_np F
 GLIBC_2.33 pthread_attr_getguardsize F
 GLIBC_2.33 pthread_attr_getstack F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
index e5ea5fd6e0..b0db186f7a 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
@@ -348,6 +348,7 @@ 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_register_cancel_defer F
 GLIBC_2.27 __pthread_rwlock_destroy F
 GLIBC_2.27 __pthread_rwlock_init F
 GLIBC_2.27 __pthread_rwlock_rdlock F
@@ -357,6 +358,7 @@ GLIBC_2.27 __pthread_rwlock_unlock F
 GLIBC_2.27 __pthread_rwlock_wrlock F
 GLIBC_2.27 __pthread_setspecific F
 GLIBC_2.27 __pthread_unregister_cancel F
+GLIBC_2.27 __pthread_unregister_cancel_restore F
 GLIBC_2.27 __pthread_unwind_next F
 GLIBC_2.27 __ptsname_r_chk F
 GLIBC_2.27 __pwrite64 F
@@ -2269,7 +2271,9 @@ 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_register_cancel_defer F
 GLIBC_2.34 __pthread_unregister_cancel F
+GLIBC_2.34 __pthread_unregister_cancel_restore 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 e8dc7c3910..cf21e1dd7f 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
@@ -1,6 +1,4 @@
 GLIBC_2.27 __errno_location F
-GLIBC_2.27 __pthread_register_cancel_defer F
-GLIBC_2.27 __pthread_unregister_cancel_restore F
 GLIBC_2.27 pthread_attr_getaffinity_np F
 GLIBC_2.27 pthread_attr_getguardsize F
 GLIBC_2.27 pthread_attr_getstack F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
index fbb75ccf9d..60bbe8bbf5 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
@@ -2240,7 +2240,9 @@ 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_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_unwind_next F
 GLIBC_2.3.3 _sys_siglist D 0x104
 GLIBC_2.3.3 gnu_dev_major F
@@ -2353,7 +2355,9 @@ 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_register_cancel_defer F
 GLIBC_2.34 __pthread_unregister_cancel F
+GLIBC_2.34 __pthread_unregister_cancel_restore 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 f5deee544b..6daef10e8d 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
@@ -24,8 +24,6 @@ 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_defer 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
 GLIBC_2.3.4 pthread_attr_getaffinity_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 7c1e46cdf0..b7bff58264 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
@@ -2130,7 +2130,9 @@ 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_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_unwind_next F
 GLIBC_2.3.3 _sys_siglist D 0x208
 GLIBC_2.3.3 gnu_dev_major F
@@ -2240,7 +2242,9 @@ 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_register_cancel_defer F
 GLIBC_2.34 __pthread_unregister_cancel F
+GLIBC_2.34 __pthread_unregister_cancel_restore 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 9fdcccffb0..e5998b3edc 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
@@ -21,8 +21,6 @@ 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_defer 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
 GLIBC_2.3.4 pthread_attr_getaffinity_np F
diff --git a/sysdeps/unix/sysv/linux/sh/be/libc.abilist b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
index bfa7943954..46fca5bdbf 100644
--- a/sysdeps/unix/sysv/linux/sh/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
@@ -2108,7 +2108,9 @@ 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_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_unwind_next F
 GLIBC_2.3.3 _sys_siglist D 0x104
 GLIBC_2.3.3 gnu_dev_major F
@@ -2209,7 +2211,9 @@ 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_register_cancel_defer F
 GLIBC_2.34 __pthread_unregister_cancel F
+GLIBC_2.34 __pthread_unregister_cancel_restore 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 071fd3e5eb..7ee08fbcc9 100644
--- a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
@@ -20,8 +20,6 @@ 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_defer 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
 GLIBC_2.3.4 pthread_attr_getaffinity_np F
diff --git a/sysdeps/unix/sysv/linux/sh/le/libc.abilist b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
index 440eed94c8..0d885f202e 100644
--- a/sysdeps/unix/sysv/linux/sh/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
@@ -2108,7 +2108,9 @@ 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_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_unwind_next F
 GLIBC_2.3.3 _sys_siglist D 0x104
 GLIBC_2.3.3 gnu_dev_major F
@@ -2206,7 +2208,9 @@ 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_register_cancel_defer F
 GLIBC_2.34 __pthread_unregister_cancel F
+GLIBC_2.34 __pthread_unregister_cancel_restore 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 071fd3e5eb..7ee08fbcc9 100644
--- a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
@@ -20,8 +20,6 @@ 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_defer 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
 GLIBC_2.3.4 pthread_attr_getaffinity_np F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
index 2e3f5ec667..c4571c476f 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
@@ -2234,7 +2234,9 @@ 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_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_unwind_next F
 GLIBC_2.3.3 _sys_siglist D 0x104
 GLIBC_2.3.3 gnu_dev_major F
@@ -2344,7 +2346,9 @@ 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_register_cancel_defer F
 GLIBC_2.34 __pthread_unregister_cancel F
+GLIBC_2.34 __pthread_unregister_cancel_restore 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 fa996f19d7..19e1375b54 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
@@ -23,8 +23,6 @@ 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_defer 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
 GLIBC_2.3.3 pthread_attr_setstacksize F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
index 1a88c40a3a..cb18e01a23 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
@@ -2159,7 +2159,9 @@ 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_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_unwind_next F
 GLIBC_2.3.3 _sys_siglist D 0x208
 GLIBC_2.3.3 gnu_dev_major F
@@ -2257,7 +2259,9 @@ 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_register_cancel_defer F
 GLIBC_2.34 __pthread_unregister_cancel F
+GLIBC_2.34 __pthread_unregister_cancel_restore 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 2dbc645d17..f11429ad6b 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
@@ -20,8 +20,6 @@ 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_defer 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
 GLIBC_2.3.3 pthread_attr_setstacksize F
diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
index c0c3538772..a5a2a8cb64 100644
--- a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
@@ -2118,7 +2118,9 @@ 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_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_unwind_next F
 GLIBC_2.3.3 _sys_siglist D 0x208
 GLIBC_2.3.3 gnu_dev_major F
@@ -2218,7 +2220,9 @@ 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_register_cancel_defer F
 GLIBC_2.34 __pthread_unregister_cancel F
+GLIBC_2.34 __pthread_unregister_cancel_restore 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 e835a66869..6644d3cd23 100644
--- a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
@@ -19,8 +19,6 @@ 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_defer 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
 GLIBC_2.3.4 pthread_attr_getaffinity_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 cea07a7812..93c17798fa 100644
--- a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
@@ -352,6 +352,7 @@ 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_register_cancel_defer F
 GLIBC_2.16 __pthread_rwlock_destroy F
 GLIBC_2.16 __pthread_rwlock_init F
 GLIBC_2.16 __pthread_rwlock_rdlock F
@@ -361,6 +362,7 @@ GLIBC_2.16 __pthread_rwlock_unlock F
 GLIBC_2.16 __pthread_rwlock_wrlock F
 GLIBC_2.16 __pthread_setspecific F
 GLIBC_2.16 __pthread_unregister_cancel F
+GLIBC_2.16 __pthread_unregister_cancel_restore F
 GLIBC_2.16 __pthread_unwind_next F
 GLIBC_2.16 __ptsname_r_chk F
 GLIBC_2.16 __pwrite64 F
@@ -2323,7 +2325,9 @@ 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_register_cancel_defer F
 GLIBC_2.34 __pthread_unregister_cancel F
+GLIBC_2.34 __pthread_unregister_cancel_restore 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 fc978dfbe6..c7144f2a0e 100644
--- a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
@@ -1,6 +1,4 @@
 GLIBC_2.16 __errno_location F
-GLIBC_2.16 __pthread_register_cancel_defer F
-GLIBC_2.16 __pthread_unregister_cancel_restore F
 GLIBC_2.16 pthread_attr_getaffinity_np F
 GLIBC_2.16 pthread_attr_getguardsize F
 GLIBC_2.16 pthread_attr_getstack F
-- 
2.31.1



^ permalink raw reply	[flat|nested] 11+ messages in thread

* [PATCH 3/3] nptl: Move pthread_cancel into libc
  2021-05-11 10:56 [PATCH 0/3] nptl: Move remaining cancellation functionality into libc Florian Weimer
  2021-05-11 10:56 ` [PATCH 1/3] nptl: Move __pthread_register_cancel, __pthread_unregister_cancel to libc Florian Weimer
  2021-05-11 10:56 ` [PATCH 2/3] nptl: Move __pthread_register_cancel_defer, __pthread_unregister_cancel_restore " Florian Weimer
@ 2021-05-11 10:56 ` Florian Weimer
  2021-05-11 17:32   ` Adhemerval Zanella
  2 siblings, 1 reply; 11+ messages in thread
From: Florian Weimer @ 2021-05-11 10:56 UTC (permalink / raw)
  To: libc-alpha

The symbol was moved using scripts/move-symbol-to-libc.py.
---
 nptl/Makefile                                               | 2 +-
 nptl/Versions                                               | 3 ++-
 nptl/pthreadP.h                                             | 1 -
 nptl/pthread_cancel.c                                       | 6 +++++-
 sysdeps/unix/sysv/linux/aarch64/libc.abilist                | 2 ++
 sysdeps/unix/sysv/linux/aarch64/libpthread.abilist          | 1 -
 sysdeps/unix/sysv/linux/alpha/libc.abilist                  | 2 ++
 sysdeps/unix/sysv/linux/alpha/libpthread.abilist            | 1 -
 sysdeps/unix/sysv/linux/arc/libc.abilist                    | 2 ++
 sysdeps/unix/sysv/linux/arc/libpthread.abilist              | 1 -
 sysdeps/unix/sysv/linux/arm/be/libc.abilist                 | 2 ++
 sysdeps/unix/sysv/linux/arm/be/libpthread.abilist           | 1 -
 sysdeps/unix/sysv/linux/arm/le/libc.abilist                 | 2 ++
 sysdeps/unix/sysv/linux/arm/le/libpthread.abilist           | 1 -
 sysdeps/unix/sysv/linux/csky/libc.abilist                   | 2 ++
 sysdeps/unix/sysv/linux/csky/libpthread.abilist             | 1 -
 sysdeps/unix/sysv/linux/hppa/libc.abilist                   | 2 ++
 sysdeps/unix/sysv/linux/hppa/libpthread.abilist             | 1 -
 sysdeps/unix/sysv/linux/i386/libc.abilist                   | 2 ++
 sysdeps/unix/sysv/linux/i386/libpthread.abilist             | 1 -
 sysdeps/unix/sysv/linux/ia64/libc.abilist                   | 2 ++
 sysdeps/unix/sysv/linux/ia64/libpthread.abilist             | 1 -
 sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist          | 2 ++
 sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist    | 1 -
 sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist            | 2 ++
 sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist      | 1 -
 sysdeps/unix/sysv/linux/microblaze/be/libc.abilist          | 2 ++
 sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist    | 1 -
 sysdeps/unix/sysv/linux/microblaze/le/libc.abilist          | 2 ++
 sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist    | 1 -
 sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist        | 2 ++
 sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist      | 1 -
 sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist      | 2 ++
 sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist      | 1 -
 sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist        | 2 ++
 sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist        | 2 ++
 sysdeps/unix/sysv/linux/nios2/libc.abilist                  | 2 ++
 sysdeps/unix/sysv/linux/nios2/libpthread.abilist            | 1 -
 sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist  | 2 ++
 .../unix/sysv/linux/powerpc/powerpc32/libpthread.abilist    | 1 -
 .../unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist    | 2 ++
 sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist   | 2 ++
 .../unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist | 1 -
 sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist   | 2 ++
 .../unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist | 1 -
 sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist             | 2 ++
 sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist       | 1 -
 sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist             | 2 ++
 sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist       | 1 -
 sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist           | 2 ++
 sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist     | 1 -
 sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist           | 2 ++
 sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist     | 1 -
 sysdeps/unix/sysv/linux/sh/be/libc.abilist                  | 2 ++
 sysdeps/unix/sysv/linux/sh/be/libpthread.abilist            | 1 -
 sysdeps/unix/sysv/linux/sh/le/libc.abilist                  | 2 ++
 sysdeps/unix/sysv/linux/sh/le/libpthread.abilist            | 1 -
 sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist          | 2 ++
 sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist    | 1 -
 sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist          | 2 ++
 sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist    | 1 -
 sysdeps/unix/sysv/linux/x86_64/64/libc.abilist              | 2 ++
 sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist        | 1 -
 sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist             | 2 ++
 sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist       | 1 -
 65 files changed, 72 insertions(+), 33 deletions(-)

diff --git a/nptl/Makefile b/nptl/Makefile
index 7e070e490b..94cdc76942 100644
--- a/nptl/Makefile
+++ b/nptl/Makefile
@@ -85,6 +85,7 @@ routines = \
   pthread_barrierattr_getpshared \
   pthread_barrierattr_init \
   pthread_barrierattr_setpshared \
+  pthread_cancel \
   pthread_cleanup_upto \
   pthread_clockjoin \
   pthread_cond_broadcast \
@@ -201,7 +202,6 @@ libpthread-routines = \
   pthread_attr_setstack \
   pthread_attr_setstackaddr \
   pthread_attr_setstacksize \
-  pthread_cancel \
   pthread_create \
   pthread_getattr_default_np \
   pthread_getconcurrency \
diff --git a/nptl/Versions b/nptl/Versions
index 0868a8cfb2..94e55bc785 100644
--- a/nptl/Versions
+++ b/nptl/Versions
@@ -29,6 +29,7 @@ libc {
     pthread_attr_setschedparam;
     pthread_attr_setschedpolicy;
     pthread_attr_setscope;
+    pthread_cancel;
     pthread_cond_broadcast;
     pthread_cond_destroy;
     pthread_cond_init;
@@ -252,6 +253,7 @@ libc {
     pthread_barrierattr_getpshared;
     pthread_barrierattr_init;
     pthread_barrierattr_setpshared;
+    pthread_cancel;
     pthread_clockjoin_np;
     pthread_cond_clockwait;
     pthread_condattr_getclock;
@@ -387,7 +389,6 @@ libpthread {
     flockfile;
     ftrylockfile;
     funlockfile;
-    pthread_cancel;
     pthread_create;
     pthread_sigmask;
   }
diff --git a/nptl/pthreadP.h b/nptl/pthreadP.h
index 1692788528..5b844f331a 100644
--- a/nptl/pthreadP.h
+++ b/nptl/pthreadP.h
@@ -521,7 +521,6 @@ extern pthread_t __pthread_self (void);
 extern int __pthread_equal (pthread_t thread1, pthread_t thread2);
 extern int __pthread_detach (pthread_t th);
 libc_hidden_proto (__pthread_detach)
-extern int __pthread_cancel (pthread_t th);
 extern int __pthread_kill (pthread_t threadid, int signo);
 extern void __pthread_exit (void *value) __attribute__ ((__noreturn__));
 libc_hidden_proto (__pthread_exit)
diff --git a/nptl/pthread_cancel.c b/nptl/pthread_cancel.c
index fd04bedf6c..e4ad602900 100644
--- a/nptl/pthread_cancel.c
+++ b/nptl/pthread_cancel.c
@@ -100,6 +100,10 @@ __pthread_cancel (pthread_t th)
 
   return result;
 }
-weak_alias (__pthread_cancel, pthread_cancel)
+versioned_symbol (libc, __pthread_cancel, pthread_cancel, GLIBC_2_34);
+
+#if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_0, GLIBC_2_34)
+compat_symbol (libpthread, __pthread_cancel, pthread_cancel, GLIBC_2_0);
+#endif
 
 PTHREAD_STATIC_FN_REQUIRE (__pthread_create)
diff --git a/sysdeps/unix/sysv/linux/aarch64/libc.abilist b/sysdeps/unix/sysv/linux/aarch64/libc.abilist
index 79b373a45d..9ff2b6ac14 100644
--- a/sysdeps/unix/sysv/linux/aarch64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/aarch64/libc.abilist
@@ -1466,6 +1466,7 @@ GLIBC_2.17 pthread_barrierattr_destroy F
 GLIBC_2.17 pthread_barrierattr_getpshared F
 GLIBC_2.17 pthread_barrierattr_init F
 GLIBC_2.17 pthread_barrierattr_setpshared F
+GLIBC_2.17 pthread_cancel F
 GLIBC_2.17 pthread_cond_broadcast F
 GLIBC_2.17 pthread_cond_destroy F
 GLIBC_2.17 pthread_cond_init F
@@ -2335,6 +2336,7 @@ GLIBC_2.34 pthread_barrierattr_destroy F
 GLIBC_2.34 pthread_barrierattr_getpshared F
 GLIBC_2.34 pthread_barrierattr_init F
 GLIBC_2.34 pthread_barrierattr_setpshared F
+GLIBC_2.34 pthread_cancel F
 GLIBC_2.34 pthread_clockjoin_np F
 GLIBC_2.34 pthread_cond_clockwait F
 GLIBC_2.34 pthread_condattr_getclock F
diff --git a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
index 72bbdf0f37..5e1bbfa024 100644
--- a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
@@ -8,7 +8,6 @@ GLIBC_2.17 pthread_attr_setguardsize F
 GLIBC_2.17 pthread_attr_setstack F
 GLIBC_2.17 pthread_attr_setstackaddr F
 GLIBC_2.17 pthread_attr_setstacksize F
-GLIBC_2.17 pthread_cancel F
 GLIBC_2.17 pthread_create F
 GLIBC_2.17 pthread_getconcurrency F
 GLIBC_2.17 pthread_getcpuclockid F
diff --git a/sysdeps/unix/sysv/linux/alpha/libc.abilist b/sysdeps/unix/sysv/linux/alpha/libc.abilist
index 8961d6799c..822ef11b8d 100644
--- a/sysdeps/unix/sysv/linux/alpha/libc.abilist
+++ b/sysdeps/unix/sysv/linux/alpha/libc.abilist
@@ -889,6 +889,7 @@ GLIBC_2.0 pthread_attr_setinheritsched F
 GLIBC_2.0 pthread_attr_setschedparam F
 GLIBC_2.0 pthread_attr_setschedpolicy F
 GLIBC_2.0 pthread_attr_setscope F
+GLIBC_2.0 pthread_cancel F
 GLIBC_2.0 pthread_cond_broadcast F
 GLIBC_2.0 pthread_cond_destroy F
 GLIBC_2.0 pthread_cond_init F
@@ -2422,6 +2423,7 @@ GLIBC_2.34 pthread_barrierattr_destroy F
 GLIBC_2.34 pthread_barrierattr_getpshared F
 GLIBC_2.34 pthread_barrierattr_init F
 GLIBC_2.34 pthread_barrierattr_setpshared F
+GLIBC_2.34 pthread_cancel F
 GLIBC_2.34 pthread_clockjoin_np F
 GLIBC_2.34 pthread_cond_clockwait F
 GLIBC_2.34 pthread_condattr_getclock F
diff --git a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
index 19e1375b54..2362e75022 100644
--- a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
@@ -1,5 +1,4 @@
 GLIBC_2.0 __errno_location F
-GLIBC_2.0 pthread_cancel F
 GLIBC_2.0 pthread_create F
 GLIBC_2.1 pthread_attr_getguardsize F
 GLIBC_2.1 pthread_attr_getstackaddr F
diff --git a/sysdeps/unix/sysv/linux/arc/libc.abilist b/sysdeps/unix/sysv/linux/arc/libc.abilist
index 47504af7fa..7e3ff64bf7 100644
--- a/sysdeps/unix/sysv/linux/arc/libc.abilist
+++ b/sysdeps/unix/sysv/linux/arc/libc.abilist
@@ -1405,6 +1405,7 @@ GLIBC_2.32 pthread_barrierattr_destroy F
 GLIBC_2.32 pthread_barrierattr_getpshared F
 GLIBC_2.32 pthread_barrierattr_init F
 GLIBC_2.32 pthread_barrierattr_setpshared F
+GLIBC_2.32 pthread_cancel F
 GLIBC_2.32 pthread_clockjoin_np F
 GLIBC_2.32 pthread_cond_broadcast F
 GLIBC_2.32 pthread_cond_clockwait F
@@ -2094,6 +2095,7 @@ GLIBC_2.34 pthread_barrierattr_destroy F
 GLIBC_2.34 pthread_barrierattr_getpshared F
 GLIBC_2.34 pthread_barrierattr_init F
 GLIBC_2.34 pthread_barrierattr_setpshared F
+GLIBC_2.34 pthread_cancel F
 GLIBC_2.34 pthread_clockjoin_np F
 GLIBC_2.34 pthread_cond_clockwait F
 GLIBC_2.34 pthread_condattr_getclock F
diff --git a/sysdeps/unix/sysv/linux/arc/libpthread.abilist b/sysdeps/unix/sysv/linux/arc/libpthread.abilist
index d47f656bf3..8a01895ba5 100644
--- a/sysdeps/unix/sysv/linux/arc/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/arc/libpthread.abilist
@@ -8,7 +8,6 @@ GLIBC_2.32 pthread_attr_setguardsize F
 GLIBC_2.32 pthread_attr_setstack F
 GLIBC_2.32 pthread_attr_setstackaddr F
 GLIBC_2.32 pthread_attr_setstacksize F
-GLIBC_2.32 pthread_cancel F
 GLIBC_2.32 pthread_create F
 GLIBC_2.32 pthread_getattr_default_np F
 GLIBC_2.32 pthread_getconcurrency F
diff --git a/sysdeps/unix/sysv/linux/arm/be/libc.abilist b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
index 1a4395ba35..ed75decfa1 100644
--- a/sysdeps/unix/sysv/linux/arm/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
@@ -216,6 +216,7 @@ GLIBC_2.34 pthread_barrierattr_destroy F
 GLIBC_2.34 pthread_barrierattr_getpshared F
 GLIBC_2.34 pthread_barrierattr_init F
 GLIBC_2.34 pthread_barrierattr_setpshared F
+GLIBC_2.34 pthread_cancel F
 GLIBC_2.34 pthread_clockjoin_np F
 GLIBC_2.34 pthread_cond_clockwait F
 GLIBC_2.34 pthread_condattr_getclock F
@@ -1694,6 +1695,7 @@ GLIBC_2.4 pthread_barrierattr_destroy F
 GLIBC_2.4 pthread_barrierattr_getpshared F
 GLIBC_2.4 pthread_barrierattr_init F
 GLIBC_2.4 pthread_barrierattr_setpshared F
+GLIBC_2.4 pthread_cancel F
 GLIBC_2.4 pthread_cond_broadcast F
 GLIBC_2.4 pthread_cond_destroy F
 GLIBC_2.4 pthread_cond_init F
diff --git a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
index dffabc237c..95ce36b829 100644
--- a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
@@ -16,7 +16,6 @@ GLIBC_2.4 pthread_attr_setguardsize F
 GLIBC_2.4 pthread_attr_setstack F
 GLIBC_2.4 pthread_attr_setstackaddr F
 GLIBC_2.4 pthread_attr_setstacksize F
-GLIBC_2.4 pthread_cancel F
 GLIBC_2.4 pthread_create F
 GLIBC_2.4 pthread_getconcurrency F
 GLIBC_2.4 pthread_getcpuclockid F
diff --git a/sysdeps/unix/sysv/linux/arm/le/libc.abilist b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
index 2344dc0638..78ecc3a850 100644
--- a/sysdeps/unix/sysv/linux/arm/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
@@ -213,6 +213,7 @@ GLIBC_2.34 pthread_barrierattr_destroy F
 GLIBC_2.34 pthread_barrierattr_getpshared F
 GLIBC_2.34 pthread_barrierattr_init F
 GLIBC_2.34 pthread_barrierattr_setpshared F
+GLIBC_2.34 pthread_cancel F
 GLIBC_2.34 pthread_clockjoin_np F
 GLIBC_2.34 pthread_cond_clockwait F
 GLIBC_2.34 pthread_condattr_getclock F
@@ -1691,6 +1692,7 @@ GLIBC_2.4 pthread_barrierattr_destroy F
 GLIBC_2.4 pthread_barrierattr_getpshared F
 GLIBC_2.4 pthread_barrierattr_init F
 GLIBC_2.4 pthread_barrierattr_setpshared F
+GLIBC_2.4 pthread_cancel F
 GLIBC_2.4 pthread_cond_broadcast F
 GLIBC_2.4 pthread_cond_destroy F
 GLIBC_2.4 pthread_cond_init F
diff --git a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
index dffabc237c..95ce36b829 100644
--- a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
@@ -16,7 +16,6 @@ GLIBC_2.4 pthread_attr_setguardsize F
 GLIBC_2.4 pthread_attr_setstack F
 GLIBC_2.4 pthread_attr_setstackaddr F
 GLIBC_2.4 pthread_attr_setstacksize F
-GLIBC_2.4 pthread_cancel F
 GLIBC_2.4 pthread_create F
 GLIBC_2.4 pthread_getconcurrency F
 GLIBC_2.4 pthread_getcpuclockid F
diff --git a/sysdeps/unix/sysv/linux/csky/libc.abilist b/sysdeps/unix/sysv/linux/csky/libc.abilist
index b3aec7bdad..5367122efd 100644
--- a/sysdeps/unix/sysv/linux/csky/libc.abilist
+++ b/sysdeps/unix/sysv/linux/csky/libc.abilist
@@ -1466,6 +1466,7 @@ GLIBC_2.29 pthread_barrierattr_destroy F
 GLIBC_2.29 pthread_barrierattr_getpshared F
 GLIBC_2.29 pthread_barrierattr_init F
 GLIBC_2.29 pthread_barrierattr_setpshared F
+GLIBC_2.29 pthread_cancel F
 GLIBC_2.29 pthread_cond_broadcast F
 GLIBC_2.29 pthread_cond_destroy F
 GLIBC_2.29 pthread_cond_init F
@@ -2278,6 +2279,7 @@ GLIBC_2.34 pthread_barrierattr_destroy F
 GLIBC_2.34 pthread_barrierattr_getpshared F
 GLIBC_2.34 pthread_barrierattr_init F
 GLIBC_2.34 pthread_barrierattr_setpshared F
+GLIBC_2.34 pthread_cancel F
 GLIBC_2.34 pthread_clockjoin_np F
 GLIBC_2.34 pthread_cond_clockwait F
 GLIBC_2.34 pthread_condattr_getclock F
diff --git a/sysdeps/unix/sysv/linux/csky/libpthread.abilist b/sysdeps/unix/sysv/linux/csky/libpthread.abilist
index 2b66c04b6c..92e778eb82 100644
--- a/sysdeps/unix/sysv/linux/csky/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/csky/libpthread.abilist
@@ -8,7 +8,6 @@ GLIBC_2.29 pthread_attr_setguardsize F
 GLIBC_2.29 pthread_attr_setstack F
 GLIBC_2.29 pthread_attr_setstackaddr F
 GLIBC_2.29 pthread_attr_setstacksize F
-GLIBC_2.29 pthread_cancel F
 GLIBC_2.29 pthread_create F
 GLIBC_2.29 pthread_getattr_default_np F
 GLIBC_2.29 pthread_getconcurrency F
diff --git a/sysdeps/unix/sysv/linux/hppa/libc.abilist b/sysdeps/unix/sysv/linux/hppa/libc.abilist
index 59afc75408..be7b9d8e23 100644
--- a/sysdeps/unix/sysv/linux/hppa/libc.abilist
+++ b/sysdeps/unix/sysv/linux/hppa/libc.abilist
@@ -1289,6 +1289,7 @@ GLIBC_2.2 pthread_barrier_wait F
 GLIBC_2.2 pthread_barrierattr_destroy F
 GLIBC_2.2 pthread_barrierattr_init F
 GLIBC_2.2 pthread_barrierattr_setpshared F
+GLIBC_2.2 pthread_cancel F
 GLIBC_2.2 pthread_cond_broadcast F
 GLIBC_2.2 pthread_cond_destroy F
 GLIBC_2.2 pthread_cond_init F
@@ -2229,6 +2230,7 @@ GLIBC_2.34 pthread_barrierattr_destroy F
 GLIBC_2.34 pthread_barrierattr_getpshared F
 GLIBC_2.34 pthread_barrierattr_init F
 GLIBC_2.34 pthread_barrierattr_setpshared F
+GLIBC_2.34 pthread_cancel F
 GLIBC_2.34 pthread_clockjoin_np F
 GLIBC_2.34 pthread_cond_clockwait F
 GLIBC_2.34 pthread_condattr_getclock F
diff --git a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
index 7ee08fbcc9..7336ba3193 100644
--- a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
@@ -11,7 +11,6 @@ GLIBC_2.2 pthread_attr_setguardsize F
 GLIBC_2.2 pthread_attr_setstack F
 GLIBC_2.2 pthread_attr_setstackaddr F
 GLIBC_2.2 pthread_attr_setstacksize F
-GLIBC_2.2 pthread_cancel F
 GLIBC_2.2 pthread_create F
 GLIBC_2.2 pthread_getconcurrency F
 GLIBC_2.2 pthread_getcpuclockid F
diff --git a/sysdeps/unix/sysv/linux/i386/libc.abilist b/sysdeps/unix/sysv/linux/i386/libc.abilist
index eabfdee4bb..22da6982b9 100644
--- a/sysdeps/unix/sysv/linux/i386/libc.abilist
+++ b/sysdeps/unix/sysv/linux/i386/libc.abilist
@@ -866,6 +866,7 @@ GLIBC_2.0 pthread_attr_setinheritsched F
 GLIBC_2.0 pthread_attr_setschedparam F
 GLIBC_2.0 pthread_attr_setschedpolicy F
 GLIBC_2.0 pthread_attr_setscope F
+GLIBC_2.0 pthread_cancel F
 GLIBC_2.0 pthread_cond_broadcast F
 GLIBC_2.0 pthread_cond_destroy F
 GLIBC_2.0 pthread_cond_init F
@@ -2412,6 +2413,7 @@ GLIBC_2.34 pthread_barrierattr_destroy F
 GLIBC_2.34 pthread_barrierattr_getpshared F
 GLIBC_2.34 pthread_barrierattr_init F
 GLIBC_2.34 pthread_barrierattr_setpshared F
+GLIBC_2.34 pthread_cancel F
 GLIBC_2.34 pthread_clockjoin_np F
 GLIBC_2.34 pthread_cond_clockwait F
 GLIBC_2.34 pthread_condattr_getclock F
diff --git a/sysdeps/unix/sysv/linux/i386/libpthread.abilist b/sysdeps/unix/sysv/linux/i386/libpthread.abilist
index f2c64dd9c8..c28b299beb 100644
--- a/sysdeps/unix/sysv/linux/i386/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/i386/libpthread.abilist
@@ -1,5 +1,4 @@
 GLIBC_2.0 __errno_location F
-GLIBC_2.0 pthread_cancel F
 GLIBC_2.0 pthread_create F
 GLIBC_2.1 pthread_attr_getguardsize F
 GLIBC_2.1 pthread_attr_getstackaddr F
diff --git a/sysdeps/unix/sysv/linux/ia64/libc.abilist b/sysdeps/unix/sysv/linux/ia64/libc.abilist
index 8307bd5568..d866b02ee9 100644
--- a/sysdeps/unix/sysv/linux/ia64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/ia64/libc.abilist
@@ -1310,6 +1310,7 @@ GLIBC_2.2 pthread_barrier_wait F
 GLIBC_2.2 pthread_barrierattr_destroy F
 GLIBC_2.2 pthread_barrierattr_init F
 GLIBC_2.2 pthread_barrierattr_setpshared F
+GLIBC_2.2 pthread_cancel F
 GLIBC_2.2 pthread_cond_broadcast F
 GLIBC_2.2 pthread_cond_destroy F
 GLIBC_2.2 pthread_cond_init F
@@ -2263,6 +2264,7 @@ GLIBC_2.34 pthread_barrierattr_destroy F
 GLIBC_2.34 pthread_barrierattr_getpshared F
 GLIBC_2.34 pthread_barrierattr_init F
 GLIBC_2.34 pthread_barrierattr_setpshared F
+GLIBC_2.34 pthread_cancel F
 GLIBC_2.34 pthread_clockjoin_np F
 GLIBC_2.34 pthread_cond_clockwait F
 GLIBC_2.34 pthread_condattr_getclock F
diff --git a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
index f11429ad6b..6bdd14dfb9 100644
--- a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
@@ -11,7 +11,6 @@ GLIBC_2.2 pthread_attr_setguardsize F
 GLIBC_2.2 pthread_attr_setstack F
 GLIBC_2.2 pthread_attr_setstackaddr F
 GLIBC_2.2 pthread_attr_setstacksize F
-GLIBC_2.2 pthread_cancel F
 GLIBC_2.2 pthread_create F
 GLIBC_2.2 pthread_getconcurrency F
 GLIBC_2.2 pthread_getcpuclockid F
diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
index faeb98053c..0edb178a90 100644
--- a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
@@ -217,6 +217,7 @@ GLIBC_2.34 pthread_barrierattr_destroy F
 GLIBC_2.34 pthread_barrierattr_getpshared F
 GLIBC_2.34 pthread_barrierattr_init F
 GLIBC_2.34 pthread_barrierattr_setpshared F
+GLIBC_2.34 pthread_cancel F
 GLIBC_2.34 pthread_clockjoin_np F
 GLIBC_2.34 pthread_cond_clockwait F
 GLIBC_2.34 pthread_condattr_getclock F
@@ -1674,6 +1675,7 @@ GLIBC_2.4 pthread_barrierattr_destroy F
 GLIBC_2.4 pthread_barrierattr_getpshared F
 GLIBC_2.4 pthread_barrierattr_init F
 GLIBC_2.4 pthread_barrierattr_setpshared F
+GLIBC_2.4 pthread_cancel F
 GLIBC_2.4 pthread_cond_broadcast F
 GLIBC_2.4 pthread_cond_destroy F
 GLIBC_2.4 pthread_cond_init F
diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
index dffabc237c..95ce36b829 100644
--- a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
@@ -16,7 +16,6 @@ GLIBC_2.4 pthread_attr_setguardsize F
 GLIBC_2.4 pthread_attr_setstack F
 GLIBC_2.4 pthread_attr_setstackaddr F
 GLIBC_2.4 pthread_attr_setstacksize F
-GLIBC_2.4 pthread_cancel F
 GLIBC_2.4 pthread_create F
 GLIBC_2.4 pthread_getconcurrency F
 GLIBC_2.4 pthread_getcpuclockid F
diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
index 987c85a011..e47b343e04 100644
--- a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
@@ -865,6 +865,7 @@ GLIBC_2.0 pthread_attr_setinheritsched F
 GLIBC_2.0 pthread_attr_setschedparam F
 GLIBC_2.0 pthread_attr_setschedpolicy F
 GLIBC_2.0 pthread_attr_setscope F
+GLIBC_2.0 pthread_cancel F
 GLIBC_2.0 pthread_cond_broadcast F
 GLIBC_2.0 pthread_cond_destroy F
 GLIBC_2.0 pthread_cond_init F
@@ -2355,6 +2356,7 @@ GLIBC_2.34 pthread_barrierattr_destroy F
 GLIBC_2.34 pthread_barrierattr_getpshared F
 GLIBC_2.34 pthread_barrierattr_init F
 GLIBC_2.34 pthread_barrierattr_setpshared F
+GLIBC_2.34 pthread_cancel F
 GLIBC_2.34 pthread_clockjoin_np F
 GLIBC_2.34 pthread_cond_clockwait F
 GLIBC_2.34 pthread_condattr_getclock F
diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
index f2c64dd9c8..c28b299beb 100644
--- a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
@@ -1,5 +1,4 @@
 GLIBC_2.0 __errno_location F
-GLIBC_2.0 pthread_cancel F
 GLIBC_2.0 pthread_create F
 GLIBC_2.1 pthread_attr_getguardsize F
 GLIBC_2.1 pthread_attr_getstackaddr F
diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
index 45f5b21895..dc74d613c9 100644
--- a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
@@ -1468,6 +1468,7 @@ GLIBC_2.18 pthread_barrierattr_destroy F
 GLIBC_2.18 pthread_barrierattr_getpshared F
 GLIBC_2.18 pthread_barrierattr_init F
 GLIBC_2.18 pthread_barrierattr_setpshared F
+GLIBC_2.18 pthread_cancel F
 GLIBC_2.18 pthread_cond_broadcast F
 GLIBC_2.18 pthread_cond_destroy F
 GLIBC_2.18 pthread_cond_init F
@@ -2329,6 +2330,7 @@ GLIBC_2.34 pthread_barrierattr_destroy F
 GLIBC_2.34 pthread_barrierattr_getpshared F
 GLIBC_2.34 pthread_barrierattr_init F
 GLIBC_2.34 pthread_barrierattr_setpshared F
+GLIBC_2.34 pthread_cancel F
 GLIBC_2.34 pthread_clockjoin_np F
 GLIBC_2.34 pthread_cond_clockwait F
 GLIBC_2.34 pthread_condattr_getclock F
diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
index 93b99ca4a7..07d34543b0 100644
--- a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
@@ -8,7 +8,6 @@ GLIBC_2.18 pthread_attr_setguardsize F
 GLIBC_2.18 pthread_attr_setstack F
 GLIBC_2.18 pthread_attr_setstackaddr F
 GLIBC_2.18 pthread_attr_setstacksize F
-GLIBC_2.18 pthread_cancel F
 GLIBC_2.18 pthread_create F
 GLIBC_2.18 pthread_getattr_default_np F
 GLIBC_2.18 pthread_getconcurrency F
diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
index ce10bfbf47..c58d10d5dd 100644
--- a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
@@ -1468,6 +1468,7 @@ GLIBC_2.18 pthread_barrierattr_destroy F
 GLIBC_2.18 pthread_barrierattr_getpshared F
 GLIBC_2.18 pthread_barrierattr_init F
 GLIBC_2.18 pthread_barrierattr_setpshared F
+GLIBC_2.18 pthread_cancel F
 GLIBC_2.18 pthread_cond_broadcast F
 GLIBC_2.18 pthread_cond_destroy F
 GLIBC_2.18 pthread_cond_init F
@@ -2326,6 +2327,7 @@ GLIBC_2.34 pthread_barrierattr_destroy F
 GLIBC_2.34 pthread_barrierattr_getpshared F
 GLIBC_2.34 pthread_barrierattr_init F
 GLIBC_2.34 pthread_barrierattr_setpshared F
+GLIBC_2.34 pthread_cancel F
 GLIBC_2.34 pthread_clockjoin_np F
 GLIBC_2.34 pthread_cond_clockwait F
 GLIBC_2.34 pthread_condattr_getclock F
diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
index 93b99ca4a7..07d34543b0 100644
--- a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
@@ -8,7 +8,6 @@ GLIBC_2.18 pthread_attr_setguardsize F
 GLIBC_2.18 pthread_attr_setstack F
 GLIBC_2.18 pthread_attr_setstackaddr F
 GLIBC_2.18 pthread_attr_setstacksize F
-GLIBC_2.18 pthread_cancel F
 GLIBC_2.18 pthread_create F
 GLIBC_2.18 pthread_getattr_default_np F
 GLIBC_2.18 pthread_getconcurrency F
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
index c09f0f7634..17481fa785 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
@@ -862,6 +862,7 @@ GLIBC_2.0 pthread_attr_setinheritsched F
 GLIBC_2.0 pthread_attr_setschedparam F
 GLIBC_2.0 pthread_attr_setschedpolicy F
 GLIBC_2.0 pthread_attr_setscope F
+GLIBC_2.0 pthread_cancel F
 GLIBC_2.0 pthread_cond_broadcast F
 GLIBC_2.0 pthread_cond_destroy F
 GLIBC_2.0 pthread_cond_init F
@@ -2318,6 +2319,7 @@ GLIBC_2.34 pthread_barrierattr_destroy F
 GLIBC_2.34 pthread_barrierattr_getpshared F
 GLIBC_2.34 pthread_barrierattr_init F
 GLIBC_2.34 pthread_barrierattr_setpshared F
+GLIBC_2.34 pthread_cancel F
 GLIBC_2.34 pthread_clockjoin_np F
 GLIBC_2.34 pthread_cond_clockwait F
 GLIBC_2.34 pthread_condattr_getclock F
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
index 156eae46c9..7784336090 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
@@ -1,5 +1,4 @@
 GLIBC_2.0 __errno_location F
-GLIBC_2.0 pthread_cancel F
 GLIBC_2.0 pthread_create F
 GLIBC_2.11 pthread_sigqueue F
 GLIBC_2.12 pthread_getname_np F
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
index bf2f7a8bb5..0fa35108a2 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
@@ -862,6 +862,7 @@ GLIBC_2.0 pthread_attr_setinheritsched F
 GLIBC_2.0 pthread_attr_setschedparam F
 GLIBC_2.0 pthread_attr_setschedpolicy F
 GLIBC_2.0 pthread_attr_setscope F
+GLIBC_2.0 pthread_cancel F
 GLIBC_2.0 pthread_cond_broadcast F
 GLIBC_2.0 pthread_cond_destroy F
 GLIBC_2.0 pthread_cond_init F
@@ -2316,6 +2317,7 @@ GLIBC_2.34 pthread_barrierattr_destroy F
 GLIBC_2.34 pthread_barrierattr_getpshared F
 GLIBC_2.34 pthread_barrierattr_init F
 GLIBC_2.34 pthread_barrierattr_setpshared F
+GLIBC_2.34 pthread_cancel F
 GLIBC_2.34 pthread_clockjoin_np F
 GLIBC_2.34 pthread_cond_clockwait F
 GLIBC_2.34 pthread_condattr_getclock F
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
index 156eae46c9..7784336090 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
@@ -1,5 +1,4 @@
 GLIBC_2.0 __errno_location F
-GLIBC_2.0 pthread_cancel F
 GLIBC_2.0 pthread_create F
 GLIBC_2.11 pthread_sigqueue F
 GLIBC_2.12 pthread_getname_np F
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
index 7f37f64c2e..62d522bbbe 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
@@ -862,6 +862,7 @@ GLIBC_2.0 pthread_attr_setinheritsched F
 GLIBC_2.0 pthread_attr_setschedparam F
 GLIBC_2.0 pthread_attr_setschedpolicy F
 GLIBC_2.0 pthread_attr_setscope F
+GLIBC_2.0 pthread_cancel F
 GLIBC_2.0 pthread_cond_broadcast F
 GLIBC_2.0 pthread_cond_destroy F
 GLIBC_2.0 pthread_cond_init F
@@ -2324,6 +2325,7 @@ GLIBC_2.34 pthread_barrierattr_destroy F
 GLIBC_2.34 pthread_barrierattr_getpshared F
 GLIBC_2.34 pthread_barrierattr_init F
 GLIBC_2.34 pthread_barrierattr_setpshared F
+GLIBC_2.34 pthread_cancel F
 GLIBC_2.34 pthread_clockjoin_np F
 GLIBC_2.34 pthread_cond_clockwait F
 GLIBC_2.34 pthread_condattr_getclock F
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
index 1db4d23af4..7da2457db3 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
@@ -860,6 +860,7 @@ GLIBC_2.0 pthread_attr_setinheritsched F
 GLIBC_2.0 pthread_attr_setschedparam F
 GLIBC_2.0 pthread_attr_setschedpolicy F
 GLIBC_2.0 pthread_attr_setscope F
+GLIBC_2.0 pthread_cancel F
 GLIBC_2.0 pthread_cond_broadcast F
 GLIBC_2.0 pthread_cond_destroy F
 GLIBC_2.0 pthread_cond_init F
@@ -2318,6 +2319,7 @@ GLIBC_2.34 pthread_barrierattr_destroy F
 GLIBC_2.34 pthread_barrierattr_getpshared F
 GLIBC_2.34 pthread_barrierattr_init F
 GLIBC_2.34 pthread_barrierattr_setpshared F
+GLIBC_2.34 pthread_cancel F
 GLIBC_2.34 pthread_clockjoin_np F
 GLIBC_2.34 pthread_cond_clockwait F
 GLIBC_2.34 pthread_condattr_getclock F
diff --git a/sysdeps/unix/sysv/linux/nios2/libc.abilist b/sysdeps/unix/sysv/linux/nios2/libc.abilist
index fc563e2b6e..d2c4e4f948 100644
--- a/sysdeps/unix/sysv/linux/nios2/libc.abilist
+++ b/sysdeps/unix/sysv/linux/nios2/libc.abilist
@@ -1511,6 +1511,7 @@ GLIBC_2.21 pthread_barrierattr_destroy F
 GLIBC_2.21 pthread_barrierattr_getpshared F
 GLIBC_2.21 pthread_barrierattr_init F
 GLIBC_2.21 pthread_barrierattr_setpshared F
+GLIBC_2.21 pthread_cancel F
 GLIBC_2.21 pthread_cond_broadcast F
 GLIBC_2.21 pthread_cond_destroy F
 GLIBC_2.21 pthread_cond_init F
@@ -2368,6 +2369,7 @@ GLIBC_2.34 pthread_barrierattr_destroy F
 GLIBC_2.34 pthread_barrierattr_getpshared F
 GLIBC_2.34 pthread_barrierattr_init F
 GLIBC_2.34 pthread_barrierattr_setpshared F
+GLIBC_2.34 pthread_cancel F
 GLIBC_2.34 pthread_clockjoin_np F
 GLIBC_2.34 pthread_cond_clockwait F
 GLIBC_2.34 pthread_condattr_getclock F
diff --git a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
index b7c7c83d68..b0df0a7b03 100644
--- a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
@@ -8,7 +8,6 @@ GLIBC_2.21 pthread_attr_setguardsize F
 GLIBC_2.21 pthread_attr_setstack F
 GLIBC_2.21 pthread_attr_setstackaddr F
 GLIBC_2.21 pthread_attr_setstacksize F
-GLIBC_2.21 pthread_cancel F
 GLIBC_2.21 pthread_create F
 GLIBC_2.21 pthread_getattr_default_np F
 GLIBC_2.21 pthread_getconcurrency F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
index 6e85b889b8..a7400470d9 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
@@ -873,6 +873,7 @@ GLIBC_2.0 pthread_attr_setinheritsched F
 GLIBC_2.0 pthread_attr_setschedparam F
 GLIBC_2.0 pthread_attr_setschedpolicy F
 GLIBC_2.0 pthread_attr_setscope F
+GLIBC_2.0 pthread_cancel F
 GLIBC_2.0 pthread_cond_broadcast F
 GLIBC_2.0 pthread_cond_destroy F
 GLIBC_2.0 pthread_cond_init F
@@ -2382,6 +2383,7 @@ GLIBC_2.34 pthread_barrierattr_destroy F
 GLIBC_2.34 pthread_barrierattr_getpshared F
 GLIBC_2.34 pthread_barrierattr_init F
 GLIBC_2.34 pthread_barrierattr_setpshared F
+GLIBC_2.34 pthread_cancel F
 GLIBC_2.34 pthread_clockjoin_np F
 GLIBC_2.34 pthread_cond_clockwait F
 GLIBC_2.34 pthread_condattr_getclock F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
index 17be75afae..2bd7686c6b 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
@@ -1,5 +1,4 @@
 GLIBC_2.0 __errno_location F
-GLIBC_2.0 pthread_cancel F
 GLIBC_2.0 pthread_create F
 GLIBC_2.1 pthread_attr_getguardsize F
 GLIBC_2.1 pthread_attr_getstackaddr F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
index e3e8390e0e..b0c189fcf0 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
@@ -873,6 +873,7 @@ GLIBC_2.0 pthread_attr_setinheritsched F
 GLIBC_2.0 pthread_attr_setschedparam F
 GLIBC_2.0 pthread_attr_setschedpolicy F
 GLIBC_2.0 pthread_attr_setscope F
+GLIBC_2.0 pthread_cancel F
 GLIBC_2.0 pthread_cond_broadcast F
 GLIBC_2.0 pthread_cond_destroy F
 GLIBC_2.0 pthread_cond_init F
@@ -2415,6 +2416,7 @@ GLIBC_2.34 pthread_barrierattr_destroy F
 GLIBC_2.34 pthread_barrierattr_getpshared F
 GLIBC_2.34 pthread_barrierattr_init F
 GLIBC_2.34 pthread_barrierattr_setpshared F
+GLIBC_2.34 pthread_cancel F
 GLIBC_2.34 pthread_clockjoin_np F
 GLIBC_2.34 pthread_cond_clockwait F
 GLIBC_2.34 pthread_condattr_getclock F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
index 26a638edc8..3b90820891 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
@@ -1414,6 +1414,7 @@ GLIBC_2.3 pthread_barrier_wait F
 GLIBC_2.3 pthread_barrierattr_destroy F
 GLIBC_2.3 pthread_barrierattr_init F
 GLIBC_2.3 pthread_barrierattr_setpshared F
+GLIBC_2.3 pthread_cancel F
 GLIBC_2.3 pthread_cond_broadcast F
 GLIBC_2.3 pthread_cond_destroy F
 GLIBC_2.3 pthread_cond_init F
@@ -2230,6 +2231,7 @@ GLIBC_2.34 pthread_barrierattr_destroy F
 GLIBC_2.34 pthread_barrierattr_getpshared F
 GLIBC_2.34 pthread_barrierattr_init F
 GLIBC_2.34 pthread_barrierattr_setpshared F
+GLIBC_2.34 pthread_cancel F
 GLIBC_2.34 pthread_clockjoin_np F
 GLIBC_2.34 pthread_cond_clockwait F
 GLIBC_2.34 pthread_condattr_getclock F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
index 1549e29f64..30f76e8b84 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
@@ -12,7 +12,6 @@ GLIBC_2.3 pthread_attr_setguardsize F
 GLIBC_2.3 pthread_attr_setstack F
 GLIBC_2.3 pthread_attr_setstackaddr F
 GLIBC_2.3 pthread_attr_setstacksize F
-GLIBC_2.3 pthread_cancel F
 GLIBC_2.3 pthread_create F
 GLIBC_2.3 pthread_getconcurrency F
 GLIBC_2.3 pthread_getcpuclockid F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
index 09560c93d2..83e1299302 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
@@ -1554,6 +1554,7 @@ GLIBC_2.17 pthread_barrierattr_destroy F
 GLIBC_2.17 pthread_barrierattr_getpshared F
 GLIBC_2.17 pthread_barrierattr_init F
 GLIBC_2.17 pthread_barrierattr_setpshared F
+GLIBC_2.17 pthread_cancel F
 GLIBC_2.17 pthread_cond_broadcast F
 GLIBC_2.17 pthread_cond_destroy F
 GLIBC_2.17 pthread_cond_init F
@@ -2531,6 +2532,7 @@ GLIBC_2.34 pthread_barrierattr_destroy F
 GLIBC_2.34 pthread_barrierattr_getpshared F
 GLIBC_2.34 pthread_barrierattr_init F
 GLIBC_2.34 pthread_barrierattr_setpshared F
+GLIBC_2.34 pthread_cancel F
 GLIBC_2.34 pthread_clockjoin_np F
 GLIBC_2.34 pthread_cond_clockwait F
 GLIBC_2.34 pthread_condattr_getclock F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
index 72bbdf0f37..5e1bbfa024 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
@@ -8,7 +8,6 @@ GLIBC_2.17 pthread_attr_setguardsize F
 GLIBC_2.17 pthread_attr_setstack F
 GLIBC_2.17 pthread_attr_setstackaddr F
 GLIBC_2.17 pthread_attr_setstacksize F
-GLIBC_2.17 pthread_cancel F
 GLIBC_2.17 pthread_create F
 GLIBC_2.17 pthread_getconcurrency F
 GLIBC_2.17 pthread_getcpuclockid F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
index 3941ef0b70..ad50284075 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
@@ -1407,6 +1407,7 @@ GLIBC_2.33 pthread_barrierattr_destroy F
 GLIBC_2.33 pthread_barrierattr_getpshared F
 GLIBC_2.33 pthread_barrierattr_init F
 GLIBC_2.33 pthread_barrierattr_setpshared F
+GLIBC_2.33 pthread_cancel F
 GLIBC_2.33 pthread_clockjoin_np F
 GLIBC_2.33 pthread_cond_broadcast F
 GLIBC_2.33 pthread_cond_clockwait F
@@ -2096,6 +2097,7 @@ GLIBC_2.34 pthread_barrierattr_destroy F
 GLIBC_2.34 pthread_barrierattr_getpshared F
 GLIBC_2.34 pthread_barrierattr_init F
 GLIBC_2.34 pthread_barrierattr_setpshared F
+GLIBC_2.34 pthread_cancel F
 GLIBC_2.34 pthread_clockjoin_np F
 GLIBC_2.34 pthread_cond_clockwait F
 GLIBC_2.34 pthread_condattr_getclock F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
index 0efcff840e..fa86a05f56 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
@@ -8,7 +8,6 @@ GLIBC_2.33 pthread_attr_setguardsize F
 GLIBC_2.33 pthread_attr_setstack F
 GLIBC_2.33 pthread_attr_setstackaddr F
 GLIBC_2.33 pthread_attr_setstacksize F
-GLIBC_2.33 pthread_cancel F
 GLIBC_2.33 pthread_create F
 GLIBC_2.33 pthread_getattr_default_np F
 GLIBC_2.33 pthread_getconcurrency F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
index b0db186f7a..aa459ca768 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
@@ -1456,6 +1456,7 @@ GLIBC_2.27 pthread_barrierattr_destroy F
 GLIBC_2.27 pthread_barrierattr_getpshared F
 GLIBC_2.27 pthread_barrierattr_init F
 GLIBC_2.27 pthread_barrierattr_setpshared F
+GLIBC_2.27 pthread_cancel F
 GLIBC_2.27 pthread_cond_broadcast F
 GLIBC_2.27 pthread_cond_destroy F
 GLIBC_2.27 pthread_cond_init F
@@ -2296,6 +2297,7 @@ GLIBC_2.34 pthread_barrierattr_destroy F
 GLIBC_2.34 pthread_barrierattr_getpshared F
 GLIBC_2.34 pthread_barrierattr_init F
 GLIBC_2.34 pthread_barrierattr_setpshared F
+GLIBC_2.34 pthread_cancel F
 GLIBC_2.34 pthread_clockjoin_np F
 GLIBC_2.34 pthread_cond_clockwait F
 GLIBC_2.34 pthread_condattr_getclock F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
index cf21e1dd7f..3e66fa2b76 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
@@ -8,7 +8,6 @@ GLIBC_2.27 pthread_attr_setguardsize F
 GLIBC_2.27 pthread_attr_setstack F
 GLIBC_2.27 pthread_attr_setstackaddr F
 GLIBC_2.27 pthread_attr_setstacksize F
-GLIBC_2.27 pthread_cancel F
 GLIBC_2.27 pthread_create F
 GLIBC_2.27 pthread_getattr_default_np F
 GLIBC_2.27 pthread_getconcurrency F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
index 60bbe8bbf5..e973fda219 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
@@ -864,6 +864,7 @@ GLIBC_2.0 pthread_attr_setinheritsched F
 GLIBC_2.0 pthread_attr_setschedparam F
 GLIBC_2.0 pthread_attr_setschedpolicy F
 GLIBC_2.0 pthread_attr_setscope F
+GLIBC_2.0 pthread_cancel F
 GLIBC_2.0 pthread_cond_broadcast F
 GLIBC_2.0 pthread_cond_destroy F
 GLIBC_2.0 pthread_cond_init F
@@ -2380,6 +2381,7 @@ GLIBC_2.34 pthread_barrierattr_destroy F
 GLIBC_2.34 pthread_barrierattr_getpshared F
 GLIBC_2.34 pthread_barrierattr_init F
 GLIBC_2.34 pthread_barrierattr_setpshared F
+GLIBC_2.34 pthread_cancel F
 GLIBC_2.34 pthread_clockjoin_np F
 GLIBC_2.34 pthread_cond_clockwait F
 GLIBC_2.34 pthread_condattr_getclock F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
index 6daef10e8d..28f04f6a8d 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
@@ -1,5 +1,4 @@
 GLIBC_2.0 __errno_location F
-GLIBC_2.0 pthread_cancel F
 GLIBC_2.0 pthread_create F
 GLIBC_2.1 pthread_attr_getguardsize F
 GLIBC_2.1 pthread_attr_getstackaddr F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
index b7bff58264..6507112c09 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
@@ -1307,6 +1307,7 @@ GLIBC_2.2 pthread_barrier_wait F
 GLIBC_2.2 pthread_barrierattr_destroy F
 GLIBC_2.2 pthread_barrierattr_init F
 GLIBC_2.2 pthread_barrierattr_setpshared F
+GLIBC_2.2 pthread_cancel F
 GLIBC_2.2 pthread_cond_broadcast F
 GLIBC_2.2 pthread_cond_destroy F
 GLIBC_2.2 pthread_cond_init F
@@ -2267,6 +2268,7 @@ GLIBC_2.34 pthread_barrierattr_destroy F
 GLIBC_2.34 pthread_barrierattr_getpshared F
 GLIBC_2.34 pthread_barrierattr_init F
 GLIBC_2.34 pthread_barrierattr_setpshared F
+GLIBC_2.34 pthread_cancel F
 GLIBC_2.34 pthread_clockjoin_np F
 GLIBC_2.34 pthread_cond_clockwait F
 GLIBC_2.34 pthread_condattr_getclock F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
index e5998b3edc..1e78dd8265 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
@@ -12,7 +12,6 @@ GLIBC_2.2 pthread_attr_setguardsize F
 GLIBC_2.2 pthread_attr_setstack F
 GLIBC_2.2 pthread_attr_setstackaddr F
 GLIBC_2.2 pthread_attr_setstacksize F
-GLIBC_2.2 pthread_cancel F
 GLIBC_2.2 pthread_create F
 GLIBC_2.2 pthread_getconcurrency F
 GLIBC_2.2 pthread_getcpuclockid F
diff --git a/sysdeps/unix/sysv/linux/sh/be/libc.abilist b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
index 46fca5bdbf..6d4971b996 100644
--- a/sysdeps/unix/sysv/linux/sh/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
@@ -1293,6 +1293,7 @@ GLIBC_2.2 pthread_barrier_wait F
 GLIBC_2.2 pthread_barrierattr_destroy F
 GLIBC_2.2 pthread_barrierattr_init F
 GLIBC_2.2 pthread_barrierattr_setpshared F
+GLIBC_2.2 pthread_cancel F
 GLIBC_2.2 pthread_cond_broadcast F
 GLIBC_2.2 pthread_cond_destroy F
 GLIBC_2.2 pthread_cond_init F
@@ -2236,6 +2237,7 @@ GLIBC_2.34 pthread_barrierattr_destroy F
 GLIBC_2.34 pthread_barrierattr_getpshared F
 GLIBC_2.34 pthread_barrierattr_init F
 GLIBC_2.34 pthread_barrierattr_setpshared F
+GLIBC_2.34 pthread_cancel F
 GLIBC_2.34 pthread_clockjoin_np F
 GLIBC_2.34 pthread_cond_clockwait F
 GLIBC_2.34 pthread_condattr_getclock F
diff --git a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
index 7ee08fbcc9..7336ba3193 100644
--- a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
@@ -11,7 +11,6 @@ GLIBC_2.2 pthread_attr_setguardsize F
 GLIBC_2.2 pthread_attr_setstack F
 GLIBC_2.2 pthread_attr_setstackaddr F
 GLIBC_2.2 pthread_attr_setstacksize F
-GLIBC_2.2 pthread_cancel F
 GLIBC_2.2 pthread_create F
 GLIBC_2.2 pthread_getconcurrency F
 GLIBC_2.2 pthread_getcpuclockid F
diff --git a/sysdeps/unix/sysv/linux/sh/le/libc.abilist b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
index 0d885f202e..f1b6bd3824 100644
--- a/sysdeps/unix/sysv/linux/sh/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
@@ -1293,6 +1293,7 @@ GLIBC_2.2 pthread_barrier_wait F
 GLIBC_2.2 pthread_barrierattr_destroy F
 GLIBC_2.2 pthread_barrierattr_init F
 GLIBC_2.2 pthread_barrierattr_setpshared F
+GLIBC_2.2 pthread_cancel F
 GLIBC_2.2 pthread_cond_broadcast F
 GLIBC_2.2 pthread_cond_destroy F
 GLIBC_2.2 pthread_cond_init F
@@ -2233,6 +2234,7 @@ GLIBC_2.34 pthread_barrierattr_destroy F
 GLIBC_2.34 pthread_barrierattr_getpshared F
 GLIBC_2.34 pthread_barrierattr_init F
 GLIBC_2.34 pthread_barrierattr_setpshared F
+GLIBC_2.34 pthread_cancel F
 GLIBC_2.34 pthread_clockjoin_np F
 GLIBC_2.34 pthread_cond_clockwait F
 GLIBC_2.34 pthread_condattr_getclock F
diff --git a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
index 7ee08fbcc9..7336ba3193 100644
--- a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
@@ -11,7 +11,6 @@ GLIBC_2.2 pthread_attr_setguardsize F
 GLIBC_2.2 pthread_attr_setstack F
 GLIBC_2.2 pthread_attr_setstackaddr F
 GLIBC_2.2 pthread_attr_setstacksize F
-GLIBC_2.2 pthread_cancel F
 GLIBC_2.2 pthread_create F
 GLIBC_2.2 pthread_getconcurrency F
 GLIBC_2.2 pthread_getcpuclockid F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
index c4571c476f..3240a8c655 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
@@ -867,6 +867,7 @@ GLIBC_2.0 pthread_attr_setinheritsched F
 GLIBC_2.0 pthread_attr_setschedparam F
 GLIBC_2.0 pthread_attr_setschedpolicy F
 GLIBC_2.0 pthread_attr_setscope F
+GLIBC_2.0 pthread_cancel F
 GLIBC_2.0 pthread_cond_broadcast F
 GLIBC_2.0 pthread_cond_destroy F
 GLIBC_2.0 pthread_cond_init F
@@ -2371,6 +2372,7 @@ GLIBC_2.34 pthread_barrierattr_destroy F
 GLIBC_2.34 pthread_barrierattr_getpshared F
 GLIBC_2.34 pthread_barrierattr_init F
 GLIBC_2.34 pthread_barrierattr_setpshared F
+GLIBC_2.34 pthread_cancel F
 GLIBC_2.34 pthread_clockjoin_np F
 GLIBC_2.34 pthread_cond_clockwait F
 GLIBC_2.34 pthread_condattr_getclock F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
index 19e1375b54..2362e75022 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
@@ -1,5 +1,4 @@
 GLIBC_2.0 __errno_location F
-GLIBC_2.0 pthread_cancel F
 GLIBC_2.0 pthread_create F
 GLIBC_2.1 pthread_attr_getguardsize F
 GLIBC_2.1 pthread_attr_getstackaddr F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
index cb18e01a23..9ae4258422 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
@@ -1336,6 +1336,7 @@ GLIBC_2.2 pthread_barrier_wait F
 GLIBC_2.2 pthread_barrierattr_destroy F
 GLIBC_2.2 pthread_barrierattr_init F
 GLIBC_2.2 pthread_barrierattr_setpshared F
+GLIBC_2.2 pthread_cancel F
 GLIBC_2.2 pthread_cond_broadcast F
 GLIBC_2.2 pthread_cond_destroy F
 GLIBC_2.2 pthread_cond_init F
@@ -2284,6 +2285,7 @@ GLIBC_2.34 pthread_barrierattr_destroy F
 GLIBC_2.34 pthread_barrierattr_getpshared F
 GLIBC_2.34 pthread_barrierattr_init F
 GLIBC_2.34 pthread_barrierattr_setpshared F
+GLIBC_2.34 pthread_cancel F
 GLIBC_2.34 pthread_clockjoin_np F
 GLIBC_2.34 pthread_cond_clockwait F
 GLIBC_2.34 pthread_condattr_getclock F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
index f11429ad6b..6bdd14dfb9 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
@@ -11,7 +11,6 @@ GLIBC_2.2 pthread_attr_setguardsize F
 GLIBC_2.2 pthread_attr_setstack F
 GLIBC_2.2 pthread_attr_setstackaddr F
 GLIBC_2.2 pthread_attr_setstacksize F
-GLIBC_2.2 pthread_cancel F
 GLIBC_2.2 pthread_create F
 GLIBC_2.2 pthread_getconcurrency F
 GLIBC_2.2 pthread_getcpuclockid F
diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
index a5a2a8cb64..37d6c5808a 100644
--- a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
@@ -1303,6 +1303,7 @@ GLIBC_2.2.5 pthread_barrier_wait F
 GLIBC_2.2.5 pthread_barrierattr_destroy F
 GLIBC_2.2.5 pthread_barrierattr_init F
 GLIBC_2.2.5 pthread_barrierattr_setpshared F
+GLIBC_2.2.5 pthread_cancel F
 GLIBC_2.2.5 pthread_cond_broadcast F
 GLIBC_2.2.5 pthread_cond_destroy F
 GLIBC_2.2.5 pthread_cond_init F
@@ -2245,6 +2246,7 @@ GLIBC_2.34 pthread_barrierattr_destroy F
 GLIBC_2.34 pthread_barrierattr_getpshared F
 GLIBC_2.34 pthread_barrierattr_init F
 GLIBC_2.34 pthread_barrierattr_setpshared F
+GLIBC_2.34 pthread_cancel F
 GLIBC_2.34 pthread_clockjoin_np F
 GLIBC_2.34 pthread_cond_clockwait F
 GLIBC_2.34 pthread_condattr_getclock F
diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
index 6644d3cd23..8a26d7c2b2 100644
--- a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
@@ -11,7 +11,6 @@ GLIBC_2.2.5 pthread_attr_setguardsize F
 GLIBC_2.2.5 pthread_attr_setstack F
 GLIBC_2.2.5 pthread_attr_setstackaddr F
 GLIBC_2.2.5 pthread_attr_setstacksize F
-GLIBC_2.2.5 pthread_cancel F
 GLIBC_2.2.5 pthread_create F
 GLIBC_2.2.5 pthread_getconcurrency F
 GLIBC_2.2.5 pthread_getcpuclockid F
diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
index 93c17798fa..c8a2b437ad 100644
--- a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
@@ -1473,6 +1473,7 @@ GLIBC_2.16 pthread_barrierattr_destroy F
 GLIBC_2.16 pthread_barrierattr_getpshared F
 GLIBC_2.16 pthread_barrierattr_init F
 GLIBC_2.16 pthread_barrierattr_setpshared F
+GLIBC_2.16 pthread_cancel F
 GLIBC_2.16 pthread_cond_broadcast F
 GLIBC_2.16 pthread_cond_destroy F
 GLIBC_2.16 pthread_cond_init F
@@ -2350,6 +2351,7 @@ GLIBC_2.34 pthread_barrierattr_destroy F
 GLIBC_2.34 pthread_barrierattr_getpshared F
 GLIBC_2.34 pthread_barrierattr_init F
 GLIBC_2.34 pthread_barrierattr_setpshared F
+GLIBC_2.34 pthread_cancel F
 GLIBC_2.34 pthread_clockjoin_np F
 GLIBC_2.34 pthread_cond_clockwait F
 GLIBC_2.34 pthread_condattr_getclock F
diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
index c7144f2a0e..16622552e6 100644
--- a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
@@ -8,7 +8,6 @@ GLIBC_2.16 pthread_attr_setguardsize F
 GLIBC_2.16 pthread_attr_setstack F
 GLIBC_2.16 pthread_attr_setstackaddr F
 GLIBC_2.16 pthread_attr_setstacksize F
-GLIBC_2.16 pthread_cancel F
 GLIBC_2.16 pthread_create F
 GLIBC_2.16 pthread_getconcurrency F
 GLIBC_2.16 pthread_getcpuclockid F
-- 
2.31.1


^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH 1/3] nptl: Move __pthread_register_cancel, __pthread_unregister_cancel to libc
  2021-05-11 10:56 ` [PATCH 1/3] nptl: Move __pthread_register_cancel, __pthread_unregister_cancel to libc Florian Weimer
@ 2021-05-11 17:27   ` Adhemerval Zanella
  0 siblings, 0 replies; 11+ messages in thread
From: Adhemerval Zanella @ 2021-05-11 17:27 UTC (permalink / raw)
  To: Florian Weimer, libc-alpha



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.

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH 2/3] nptl: Move __pthread_register_cancel_defer, __pthread_unregister_cancel_restore to libc
  2021-05-11 10:56 ` [PATCH 2/3] nptl: Move __pthread_register_cancel_defer, __pthread_unregister_cancel_restore " Florian Weimer
@ 2021-05-11 17:29   ` Adhemerval Zanella
  0 siblings, 0 replies; 11+ messages in thread
From: Adhemerval Zanella @ 2021-05-11 17:29 UTC (permalink / raw)
  To: Florian Weimer, libc-alpha



On 11/05/2021 07:56, Florian Weimer via Libc-alpha wrote:
> The symbols were moved using scripts/move-symbol-to-libc.py.

LGTM, thanks.

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

> ---
>  nptl/Makefile                                 |  2 +-
>  nptl/Versions                                 |  6 ++++--
>  nptl/cleanup_defer.c                          | 19 ++++++++++++++++---
>  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 --
>  64 files changed, 149 insertions(+), 64 deletions(-)
> 
> diff --git a/nptl/Makefile b/nptl/Makefile
> index eb6c910656..7e070e490b 100644
> --- a/nptl/Makefile
> +++ b/nptl/Makefile
> @@ -33,6 +33,7 @@ routines = \
>    cancellation \
>    cleanup \
>    cleanup_compat \
> +  cleanup_defer \
>    cleanup_defer_compat \
>    cleanup_routine \
>    elision-conf \

Ok.

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

Ok.

> diff --git a/nptl/Versions b/nptl/Versions
> index 329f0722a6..0868a8cfb2 100644
> --- a/nptl/Versions
> +++ b/nptl/Versions
> @@ -144,7 +144,9 @@ libc {
>    GLIBC_2.3.3 {
>      __pthread_cleanup_routine;
>      __pthread_register_cancel;
> +    __pthread_register_cancel_defer;
>      __pthread_unregister_cancel;
> +    __pthread_unregister_cancel_restore;
>      __pthread_unwind_next;
>      pthread_attr_setaffinity_np;
>      pthread_barrierattr_getpshared;
> @@ -227,7 +229,9 @@ libc {
>      __pthread_mutex_lock;
>      __pthread_mutex_unlock;
>      __pthread_register_cancel;
> +    __pthread_register_cancel_defer;
>      __pthread_unregister_cancel;
> +    __pthread_unregister_cancel_restore;
>      call_once;
>      cnd_broadcast;
>      cnd_destroy;
> @@ -430,8 +434,6 @@ libpthread {
>    }
>  
>    GLIBC_2.3.3 {
> -    __pthread_register_cancel_defer;
> -    __pthread_unregister_cancel_restore;
>      pthread_attr_getaffinity_np;
>      pthread_setaffinity_np;
>    }

Ok.

> diff --git a/nptl/cleanup_defer.c b/nptl/cleanup_defer.c
> index 08271e352f..6d85359118 100644
> --- a/nptl/cleanup_defer.c
> +++ b/nptl/cleanup_defer.c
> @@ -18,11 +18,11 @@
>  
>  #include <stdlib.h>
>  #include "pthreadP.h"
> -
> +#include <shlib-compat.h>
>  
>  void
>  __cleanup_fct_attribute
> -__pthread_register_cancel_defer (__pthread_unwind_buf_t *buf)
> +___pthread_register_cancel_defer (__pthread_unwind_buf_t *buf)
>  {
>    struct pthread_unwind_buf *ibuf = (struct pthread_unwind_buf *) buf;
>    struct pthread *self = THREAD_SELF;
> @@ -56,11 +56,17 @@ __pthread_register_cancel_defer (__pthread_unwind_buf_t *buf)
>    /* Store the new cleanup handler info.  */
>    THREAD_SETMEM (self, cleanup_jmp_buf, (struct pthread_unwind_buf *) buf);
>  }
> +versioned_symbol (libc, ___pthread_register_cancel_defer,
> +		  __pthread_register_cancel_defer, GLIBC_2_34);
>  
> +#if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_3_3, GLIBC_2_34)
> +compat_symbol (libpthread, ___pthread_register_cancel_defer,
> +	       __pthread_register_cancel_defer, GLIBC_2_3_3);
> +#endif

Ok.

>  
>  void
>  __cleanup_fct_attribute
> -__pthread_unregister_cancel_restore (__pthread_unwind_buf_t *buf)
> +___pthread_unregister_cancel_restore (__pthread_unwind_buf_t *buf)
>  {
>    struct pthread *self = THREAD_SELF;
>    struct pthread_unwind_buf *ibuf = (struct pthread_unwind_buf *) buf;
> @@ -89,3 +95,10 @@ __pthread_unregister_cancel_restore (__pthread_unwind_buf_t *buf)
>        CANCELLATION_P (self);
>      }
>  }
> +versioned_symbol (libc, ___pthread_unregister_cancel_restore,
> +		  __pthread_unregister_cancel_restore, GLIBC_2_34);
> +
> +#if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_3_3, GLIBC_2_34)
> +compat_symbol (libpthread, ___pthread_unregister_cancel_restore,
> +	       __pthread_unregister_cancel_restore, GLIBC_2_3_3);
> +#endif

Ok.

> diff --git a/sysdeps/unix/sysv/linux/aarch64/libc.abilist b/sysdeps/unix/sysv/linux/aarch64/libc.abilist
> index 68afc4d209..79b373a45d 100644
> --- a/sysdeps/unix/sysv/linux/aarch64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/aarch64/libc.abilist
> @@ -351,6 +351,7 @@ 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_register_cancel_defer F
>  GLIBC_2.17 __pthread_rwlock_destroy F
>  GLIBC_2.17 __pthread_rwlock_init F
>  GLIBC_2.17 __pthread_rwlock_rdlock F
> @@ -360,6 +361,7 @@ GLIBC_2.17 __pthread_rwlock_unlock F
>  GLIBC_2.17 __pthread_rwlock_wrlock F
>  GLIBC_2.17 __pthread_setspecific F
>  GLIBC_2.17 __pthread_unregister_cancel F
> +GLIBC_2.17 __pthread_unregister_cancel_restore F
>  GLIBC_2.17 __pthread_unwind_next F
>  GLIBC_2.17 __ptsname_r_chk F
>  GLIBC_2.17 __pwrite64 F
> @@ -2308,7 +2310,9 @@ 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_register_cancel_defer F
>  GLIBC_2.34 __pthread_unregister_cancel F
> +GLIBC_2.34 __pthread_unregister_cancel_restore 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 633df92b7c..72bbdf0f37 100644
> --- a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
> @@ -1,6 +1,4 @@
>  GLIBC_2.17 __errno_location F
> -GLIBC_2.17 __pthread_register_cancel_defer F
> -GLIBC_2.17 __pthread_unregister_cancel_restore F
>  GLIBC_2.17 pthread_attr_getaffinity_np F
>  GLIBC_2.17 pthread_attr_getguardsize F
>  GLIBC_2.17 pthread_attr_getstack F
> diff --git a/sysdeps/unix/sysv/linux/alpha/libc.abilist b/sysdeps/unix/sysv/linux/alpha/libc.abilist
> index 0eee74431c..8961d6799c 100644
> --- a/sysdeps/unix/sysv/linux/alpha/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/alpha/libc.abilist
> @@ -2269,7 +2269,9 @@ 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_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_unwind_next F
>  GLIBC_2.3.3 _sys_siglist D 0x208
>  GLIBC_2.3.3 gnu_dev_major F
> @@ -2395,7 +2397,9 @@ 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_register_cancel_defer F
>  GLIBC_2.34 __pthread_unregister_cancel F
> +GLIBC_2.34 __pthread_unregister_cancel_restore 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 fa996f19d7..19e1375b54 100644
> --- a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
> @@ -23,8 +23,6 @@ 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_defer 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
>  GLIBC_2.3.3 pthread_attr_setstacksize F
> diff --git a/sysdeps/unix/sysv/linux/arc/libc.abilist b/sysdeps/unix/sysv/linux/arc/libc.abilist
> index 3caf14215d..47504af7fa 100644
> --- a/sysdeps/unix/sysv/linux/arc/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/arc/libc.abilist
> @@ -340,6 +340,7 @@ 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_register_cancel_defer F
>  GLIBC_2.32 __pthread_rwlock_destroy F
>  GLIBC_2.32 __pthread_rwlock_init F
>  GLIBC_2.32 __pthread_rwlock_rdlock F
> @@ -349,6 +350,7 @@ GLIBC_2.32 __pthread_rwlock_unlock F
>  GLIBC_2.32 __pthread_rwlock_wrlock F
>  GLIBC_2.32 __pthread_setspecific F
>  GLIBC_2.32 __pthread_unregister_cancel F
> +GLIBC_2.32 __pthread_unregister_cancel_restore F
>  GLIBC_2.32 __pthread_unwind_next F
>  GLIBC_2.32 __ptsname_r_chk F
>  GLIBC_2.32 __pwrite64 F
> @@ -2067,7 +2069,9 @@ 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_register_cancel_defer F
>  GLIBC_2.34 __pthread_unregister_cancel F
> +GLIBC_2.34 __pthread_unregister_cancel_restore 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 93f0474e31..d47f656bf3 100644
> --- a/sysdeps/unix/sysv/linux/arc/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/arc/libpthread.abilist
> @@ -1,6 +1,4 @@
>  GLIBC_2.32 __errno_location F
> -GLIBC_2.32 __pthread_register_cancel_defer F
> -GLIBC_2.32 __pthread_unregister_cancel_restore F
>  GLIBC_2.32 pthread_attr_getaffinity_np F
>  GLIBC_2.32 pthread_attr_getguardsize F
>  GLIBC_2.32 pthread_attr_getstack F
> diff --git a/sysdeps/unix/sysv/linux/arm/be/libc.abilist b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
> index 1cf65ff0c7..1a4395ba35 100644
> --- a/sysdeps/unix/sysv/linux/arm/be/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
> @@ -191,7 +191,9 @@ 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_register_cancel_defer F
>  GLIBC_2.34 __pthread_unregister_cancel F
> +GLIBC_2.34 __pthread_unregister_cancel_restore F
>  GLIBC_2.34 __pthread_unwind_next F
>  GLIBC_2.34 call_once F
>  GLIBC_2.34 cnd_broadcast F
> @@ -630,6 +632,7 @@ 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_register_cancel_defer F
>  GLIBC_2.4 __pthread_rwlock_destroy F
>  GLIBC_2.4 __pthread_rwlock_init F
>  GLIBC_2.4 __pthread_rwlock_rdlock F
> @@ -639,6 +642,7 @@ GLIBC_2.4 __pthread_rwlock_unlock F
>  GLIBC_2.4 __pthread_rwlock_wrlock F
>  GLIBC_2.4 __pthread_setspecific F
>  GLIBC_2.4 __pthread_unregister_cancel F
> +GLIBC_2.4 __pthread_unregister_cancel_restore F
>  GLIBC_2.4 __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 fcf9bae888..dffabc237c 100644
> --- a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
> @@ -7,8 +7,6 @@ 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_defer F
> -GLIBC_2.4 __pthread_unregister_cancel_restore F
>  GLIBC_2.4 pthread_attr_getaffinity_np F
>  GLIBC_2.4 pthread_attr_getguardsize F
>  GLIBC_2.4 pthread_attr_getstack F
> diff --git a/sysdeps/unix/sysv/linux/arm/le/libc.abilist b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
> index 26428e0030..2344dc0638 100644
> --- a/sysdeps/unix/sysv/linux/arm/le/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
> @@ -188,7 +188,9 @@ 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_register_cancel_defer F
>  GLIBC_2.34 __pthread_unregister_cancel F
> +GLIBC_2.34 __pthread_unregister_cancel_restore 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_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_register_cancel_defer F
>  GLIBC_2.4 __pthread_rwlock_destroy F
>  GLIBC_2.4 __pthread_rwlock_init F
>  GLIBC_2.4 __pthread_rwlock_rdlock F
> @@ -636,6 +639,7 @@ GLIBC_2.4 __pthread_rwlock_unlock F
>  GLIBC_2.4 __pthread_rwlock_wrlock F
>  GLIBC_2.4 __pthread_setspecific F
>  GLIBC_2.4 __pthread_unregister_cancel F
> +GLIBC_2.4 __pthread_unregister_cancel_restore F
>  GLIBC_2.4 __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 fcf9bae888..dffabc237c 100644
> --- a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
> @@ -7,8 +7,6 @@ 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_defer F
> -GLIBC_2.4 __pthread_unregister_cancel_restore F
>  GLIBC_2.4 pthread_attr_getaffinity_np F
>  GLIBC_2.4 pthread_attr_getguardsize F
>  GLIBC_2.4 pthread_attr_getstack F
> diff --git a/sysdeps/unix/sysv/linux/csky/libc.abilist b/sysdeps/unix/sysv/linux/csky/libc.abilist
> index ae01f32a0c..b3aec7bdad 100644
> --- a/sysdeps/unix/sysv/linux/csky/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/csky/libc.abilist
> @@ -344,6 +344,7 @@ 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_register_cancel_defer F
>  GLIBC_2.29 __pthread_rwlock_destroy F
>  GLIBC_2.29 __pthread_rwlock_init F
>  GLIBC_2.29 __pthread_rwlock_rdlock F
> @@ -353,6 +354,7 @@ GLIBC_2.29 __pthread_rwlock_unlock F
>  GLIBC_2.29 __pthread_rwlock_wrlock F
>  GLIBC_2.29 __pthread_setspecific F
>  GLIBC_2.29 __pthread_unregister_cancel F
> +GLIBC_2.29 __pthread_unregister_cancel_restore F
>  GLIBC_2.29 __pthread_unwind_next F
>  GLIBC_2.29 __ptsname_r_chk F
>  GLIBC_2.29 __pwrite64 F
> @@ -2251,7 +2253,9 @@ 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_register_cancel_defer F
>  GLIBC_2.34 __pthread_unregister_cancel F
> +GLIBC_2.34 __pthread_unregister_cancel_restore 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 df027689e8..2b66c04b6c 100644
> --- a/sysdeps/unix/sysv/linux/csky/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/csky/libpthread.abilist
> @@ -1,6 +1,4 @@
>  GLIBC_2.29 __errno_location F
> -GLIBC_2.29 __pthread_register_cancel_defer F
> -GLIBC_2.29 __pthread_unregister_cancel_restore F
>  GLIBC_2.29 pthread_attr_getaffinity_np F
>  GLIBC_2.29 pthread_attr_getguardsize F
>  GLIBC_2.29 pthread_attr_getstack F
> diff --git a/sysdeps/unix/sysv/linux/hppa/libc.abilist b/sysdeps/unix/sysv/linux/hppa/libc.abilist
> index 166af94540..59afc75408 100644
> --- a/sysdeps/unix/sysv/linux/hppa/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/hppa/libc.abilist
> @@ -2104,7 +2104,9 @@ 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_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_unwind_next F
>  GLIBC_2.3.3 _sys_siglist D 0x104
>  GLIBC_2.3.3 gnu_dev_major F
> @@ -2202,7 +2204,9 @@ 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_register_cancel_defer F
>  GLIBC_2.34 __pthread_unregister_cancel F
> +GLIBC_2.34 __pthread_unregister_cancel_restore 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 071fd3e5eb..7ee08fbcc9 100644
> --- a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
> @@ -20,8 +20,6 @@ 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_defer 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
>  GLIBC_2.3.4 pthread_attr_getaffinity_np F
> diff --git a/sysdeps/unix/sysv/linux/i386/libc.abilist b/sysdeps/unix/sysv/linux/i386/libc.abilist
> index 37b5718e49..eabfdee4bb 100644
> --- a/sysdeps/unix/sysv/linux/i386/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/i386/libc.abilist
> @@ -2284,7 +2284,9 @@ 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_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_unwind_next F
>  GLIBC_2.3.3 _sys_siglist D 0x104
>  GLIBC_2.3.3 gnu_dev_major F
> @@ -2385,7 +2387,9 @@ 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_register_cancel_defer F
>  GLIBC_2.34 __pthread_unregister_cancel F
> +GLIBC_2.34 __pthread_unregister_cancel_restore 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 a67cc86dcd..f2c64dd9c8 100644
> --- a/sysdeps/unix/sysv/linux/i386/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/i386/libpthread.abilist
> @@ -23,8 +23,6 @@ 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_defer 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
>  GLIBC_2.3.4 pthread_attr_getaffinity_np F
> diff --git a/sysdeps/unix/sysv/linux/ia64/libc.abilist b/sysdeps/unix/sysv/linux/ia64/libc.abilist
> index 2273cff802..8307bd5568 100644
> --- a/sysdeps/unix/sysv/linux/ia64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/ia64/libc.abilist
> @@ -2137,7 +2137,9 @@ 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_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_unwind_next F
>  GLIBC_2.3.3 _sys_siglist D 0x208
>  GLIBC_2.3.3 gnu_dev_major F
> @@ -2236,7 +2238,9 @@ 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_register_cancel_defer F
>  GLIBC_2.34 __pthread_unregister_cancel F
> +GLIBC_2.34 __pthread_unregister_cancel_restore 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 2dbc645d17..f11429ad6b 100644
> --- a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
> @@ -20,8 +20,6 @@ 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_defer 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
>  GLIBC_2.3.3 pthread_attr_setstacksize F
> diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
> index 54822cb0ff..faeb98053c 100644
> --- a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
> @@ -192,7 +192,9 @@ 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_register_cancel_defer F
>  GLIBC_2.34 __pthread_unregister_cancel F
> +GLIBC_2.34 __pthread_unregister_cancel_restore F
>  GLIBC_2.34 __pthread_unwind_next F
>  GLIBC_2.34 call_once F
>  GLIBC_2.34 cnd_broadcast F
> @@ -616,6 +618,7 @@ 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_register_cancel_defer F
>  GLIBC_2.4 __pthread_rwlock_destroy F
>  GLIBC_2.4 __pthread_rwlock_init F
>  GLIBC_2.4 __pthread_rwlock_rdlock F
> @@ -625,6 +628,7 @@ GLIBC_2.4 __pthread_rwlock_unlock F
>  GLIBC_2.4 __pthread_rwlock_wrlock F
>  GLIBC_2.4 __pthread_setspecific F
>  GLIBC_2.4 __pthread_unregister_cancel F
> +GLIBC_2.4 __pthread_unregister_cancel_restore F
>  GLIBC_2.4 __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 fcf9bae888..dffabc237c 100644
> --- a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
> @@ -7,8 +7,6 @@ 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_defer F
> -GLIBC_2.4 __pthread_unregister_cancel_restore F
>  GLIBC_2.4 pthread_attr_getaffinity_np F
>  GLIBC_2.4 pthread_attr_getguardsize F
>  GLIBC_2.4 pthread_attr_getstack F
> diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
> index 78676b83eb..987c85a011 100644
> --- a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
> @@ -2227,7 +2227,9 @@ 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_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_unwind_next F
>  GLIBC_2.3.3 _sys_siglist D 0x104
>  GLIBC_2.3.3 gnu_dev_major F
> @@ -2328,7 +2330,9 @@ 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_register_cancel_defer F
>  GLIBC_2.34 __pthread_unregister_cancel F
> +GLIBC_2.34 __pthread_unregister_cancel_restore 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 a67cc86dcd..f2c64dd9c8 100644
> --- a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
> @@ -23,8 +23,6 @@ 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_defer 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
>  GLIBC_2.3.4 pthread_attr_getaffinity_np F
> diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
> index ddc36aaa80..45f5b21895 100644
> --- a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
> @@ -352,6 +352,7 @@ 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_register_cancel_defer F
>  GLIBC_2.18 __pthread_rwlock_destroy F
>  GLIBC_2.18 __pthread_rwlock_init F
>  GLIBC_2.18 __pthread_rwlock_rdlock F
> @@ -361,6 +362,7 @@ GLIBC_2.18 __pthread_rwlock_unlock F
>  GLIBC_2.18 __pthread_rwlock_wrlock F
>  GLIBC_2.18 __pthread_setspecific F
>  GLIBC_2.18 __pthread_unregister_cancel F
> +GLIBC_2.18 __pthread_unregister_cancel_restore F
>  GLIBC_2.18 __pthread_unwind_next F
>  GLIBC_2.18 __ptsname_r_chk F
>  GLIBC_2.18 __pwrite64 F
> @@ -2302,7 +2304,9 @@ 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_register_cancel_defer F
>  GLIBC_2.34 __pthread_unregister_cancel F
> +GLIBC_2.34 __pthread_unregister_cancel_restore 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 f3a5b67d41..93b99ca4a7 100644
> --- a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
> @@ -1,6 +1,4 @@
>  GLIBC_2.18 __errno_location F
> -GLIBC_2.18 __pthread_register_cancel_defer F
> -GLIBC_2.18 __pthread_unregister_cancel_restore F
>  GLIBC_2.18 pthread_attr_getaffinity_np F
>  GLIBC_2.18 pthread_attr_getguardsize F
>  GLIBC_2.18 pthread_attr_getstack F
> diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
> index 410cf82c0e..ce10bfbf47 100644
> --- a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
> @@ -352,6 +352,7 @@ 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_register_cancel_defer F
>  GLIBC_2.18 __pthread_rwlock_destroy F
>  GLIBC_2.18 __pthread_rwlock_init F
>  GLIBC_2.18 __pthread_rwlock_rdlock F
> @@ -361,6 +362,7 @@ GLIBC_2.18 __pthread_rwlock_unlock F
>  GLIBC_2.18 __pthread_rwlock_wrlock F
>  GLIBC_2.18 __pthread_setspecific F
>  GLIBC_2.18 __pthread_unregister_cancel F
> +GLIBC_2.18 __pthread_unregister_cancel_restore F
>  GLIBC_2.18 __pthread_unwind_next F
>  GLIBC_2.18 __ptsname_r_chk F
>  GLIBC_2.18 __pwrite64 F
> @@ -2299,7 +2301,9 @@ 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_register_cancel_defer F
>  GLIBC_2.34 __pthread_unregister_cancel F
> +GLIBC_2.34 __pthread_unregister_cancel_restore 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 f3a5b67d41..93b99ca4a7 100644
> --- a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
> @@ -1,6 +1,4 @@
>  GLIBC_2.18 __errno_location F
> -GLIBC_2.18 __pthread_register_cancel_defer F
> -GLIBC_2.18 __pthread_unregister_cancel_restore F
>  GLIBC_2.18 pthread_attr_getaffinity_np F
>  GLIBC_2.18 pthread_attr_getguardsize F
>  GLIBC_2.18 pthread_attr_getstack F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
> index 9a2b97b6e2..c09f0f7634 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
> @@ -2193,7 +2193,9 @@ 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_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_unwind_next F
>  GLIBC_2.3.3 _sys_siglist D 0x200
>  GLIBC_2.3.3 gnu_dev_major F
> @@ -2291,7 +2293,9 @@ 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_register_cancel_defer F
>  GLIBC_2.34 __pthread_unregister_cancel F
> +GLIBC_2.34 __pthread_unregister_cancel_restore 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 26ae04300c..156eae46c9 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
> @@ -21,8 +21,6 @@ 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_defer 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
>  GLIBC_2.3.3 pthread_attr_setstacksize F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
> index e73613e7d7..bf2f7a8bb5 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
> @@ -2191,7 +2191,9 @@ 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_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_unwind_next F
>  GLIBC_2.3.3 _sys_siglist D 0x200
>  GLIBC_2.3.3 gnu_dev_major F
> @@ -2289,7 +2291,9 @@ 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_register_cancel_defer F
>  GLIBC_2.34 __pthread_unregister_cancel F
> +GLIBC_2.34 __pthread_unregister_cancel_restore 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 26ae04300c..156eae46c9 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
> @@ -21,8 +21,6 @@ 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_defer 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
>  GLIBC_2.3.3 pthread_attr_setstacksize F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
> index 7512fb6e4e..7f37f64c2e 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
> @@ -2199,7 +2199,9 @@ 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_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_unwind_next F
>  GLIBC_2.3.3 _sys_siglist D 0x200
>  GLIBC_2.3.3 gnu_dev_major F
> @@ -2297,7 +2299,9 @@ 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_register_cancel_defer F
>  GLIBC_2.34 __pthread_unregister_cancel F
> +GLIBC_2.34 __pthread_unregister_cancel_restore 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 41578b8c93..1db4d23af4 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
> @@ -2192,7 +2192,9 @@ 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_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_unwind_next F
>  GLIBC_2.3.3 _sys_siglist D 0x400
>  GLIBC_2.3.3 gnu_dev_major F
> @@ -2291,7 +2293,9 @@ 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_register_cancel_defer F
>  GLIBC_2.34 __pthread_unregister_cancel F
> +GLIBC_2.34 __pthread_unregister_cancel_restore 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 34fff4c240..fc563e2b6e 100644
> --- a/sysdeps/unix/sysv/linux/nios2/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/nios2/libc.abilist
> @@ -389,6 +389,7 @@ 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_register_cancel_defer F
>  GLIBC_2.21 __pthread_rwlock_destroy F
>  GLIBC_2.21 __pthread_rwlock_init F
>  GLIBC_2.21 __pthread_rwlock_rdlock F
> @@ -398,6 +399,7 @@ GLIBC_2.21 __pthread_rwlock_unlock F
>  GLIBC_2.21 __pthread_rwlock_wrlock F
>  GLIBC_2.21 __pthread_setspecific F
>  GLIBC_2.21 __pthread_unregister_cancel F
> +GLIBC_2.21 __pthread_unregister_cancel_restore F
>  GLIBC_2.21 __pthread_unwind_next F
>  GLIBC_2.21 __ptsname_r_chk F
>  GLIBC_2.21 __pwrite64 F
> @@ -2341,7 +2343,9 @@ 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_register_cancel_defer F
>  GLIBC_2.34 __pthread_unregister_cancel F
> +GLIBC_2.34 __pthread_unregister_cancel_restore 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 9bee776f4f..b7c7c83d68 100644
> --- a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
> @@ -1,6 +1,4 @@
>  GLIBC_2.21 __errno_location F
> -GLIBC_2.21 __pthread_register_cancel_defer F
> -GLIBC_2.21 __pthread_unregister_cancel_restore F
>  GLIBC_2.21 pthread_attr_getaffinity_np F
>  GLIBC_2.21 pthread_attr_getguardsize F
>  GLIBC_2.21 pthread_attr_getstack F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
> index 8b8adc06ce..6e85b889b8 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
> @@ -2231,7 +2231,9 @@ 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_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_unwind_next F
>  GLIBC_2.3.3 _sys_siglist D 0x104
>  GLIBC_2.3.3 getcontext F
> @@ -2355,7 +2357,9 @@ 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_register_cancel_defer F
>  GLIBC_2.34 __pthread_unregister_cancel F
> +GLIBC_2.34 __pthread_unregister_cancel_restore 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 a30be35a7a..17be75afae 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
> @@ -23,8 +23,6 @@ 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_defer 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
>  GLIBC_2.3.4 pthread_attr_getaffinity_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 5754fd3589..e3e8390e0e 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
> @@ -2264,7 +2264,9 @@ 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_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_unwind_next F
>  GLIBC_2.3.3 _sys_siglist D 0x104
>  GLIBC_2.3.3 getcontext F
> @@ -2388,7 +2390,9 @@ 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_register_cancel_defer F
>  GLIBC_2.34 __pthread_unregister_cancel F
> +GLIBC_2.34 __pthread_unregister_cancel_restore 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 47812d2be1..26a638edc8 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
> @@ -2084,7 +2084,9 @@ 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_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_unwind_next F
>  GLIBC_2.3.3 _sys_siglist D 0x208
>  GLIBC_2.3.3 gnu_dev_major F
> @@ -2203,7 +2205,9 @@ 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_register_cancel_defer F
>  GLIBC_2.34 __pthread_unregister_cancel F
> +GLIBC_2.34 __pthread_unregister_cancel_restore 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 5129d976a1..1549e29f64 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
> @@ -18,8 +18,6 @@ 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_defer 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
>  GLIBC_2.3.4 pthread_attr_getaffinity_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 9af9e3fba6..09560c93d2 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
> @@ -437,6 +437,7 @@ 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_register_cancel_defer F
>  GLIBC_2.17 __pthread_rwlock_destroy F
>  GLIBC_2.17 __pthread_rwlock_init F
>  GLIBC_2.17 __pthread_rwlock_rdlock F
> @@ -446,6 +447,7 @@ GLIBC_2.17 __pthread_rwlock_unlock F
>  GLIBC_2.17 __pthread_rwlock_wrlock F
>  GLIBC_2.17 __pthread_setspecific F
>  GLIBC_2.17 __pthread_unregister_cancel F
> +GLIBC_2.17 __pthread_unregister_cancel_restore F
>  GLIBC_2.17 __pthread_unwind_next F
>  GLIBC_2.17 __ptsname_r_chk F
>  GLIBC_2.17 __pwrite64 F
> @@ -2504,7 +2506,9 @@ 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_register_cancel_defer F
>  GLIBC_2.34 __pthread_unregister_cancel F
> +GLIBC_2.34 __pthread_unregister_cancel_restore 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 633df92b7c..72bbdf0f37 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
> @@ -1,6 +1,4 @@
>  GLIBC_2.17 __errno_location F
> -GLIBC_2.17 __pthread_register_cancel_defer F
> -GLIBC_2.17 __pthread_unregister_cancel_restore F
>  GLIBC_2.17 pthread_attr_getaffinity_np F
>  GLIBC_2.17 pthread_attr_getguardsize F
>  GLIBC_2.17 pthread_attr_getstack F
> diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
> index ce2057f817..3941ef0b70 100644
> --- a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
> @@ -337,6 +337,7 @@ 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_register_cancel_defer F
>  GLIBC_2.33 __pthread_rwlock_destroy F
>  GLIBC_2.33 __pthread_rwlock_init F
>  GLIBC_2.33 __pthread_rwlock_rdlock F
> @@ -346,6 +347,7 @@ GLIBC_2.33 __pthread_rwlock_unlock F
>  GLIBC_2.33 __pthread_rwlock_wrlock F
>  GLIBC_2.33 __pthread_setspecific F
>  GLIBC_2.33 __pthread_unregister_cancel F
> +GLIBC_2.33 __pthread_unregister_cancel_restore F
>  GLIBC_2.33 __pthread_unwind_next F
>  GLIBC_2.33 __ptsname_r_chk F
>  GLIBC_2.33 __pwrite64 F
> @@ -2069,7 +2071,9 @@ 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_register_cancel_defer F
>  GLIBC_2.34 __pthread_unregister_cancel F
> +GLIBC_2.34 __pthread_unregister_cancel_restore 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 a1b36b3b46..0efcff840e 100644
> --- a/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
> @@ -1,6 +1,4 @@
>  GLIBC_2.33 __errno_location F
> -GLIBC_2.33 __pthread_register_cancel_defer F
> -GLIBC_2.33 __pthread_unregister_cancel_restore F
>  GLIBC_2.33 pthread_attr_getaffinity_np F
>  GLIBC_2.33 pthread_attr_getguardsize F
>  GLIBC_2.33 pthread_attr_getstack F
> diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
> index e5ea5fd6e0..b0db186f7a 100644
> --- a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
> @@ -348,6 +348,7 @@ 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_register_cancel_defer F
>  GLIBC_2.27 __pthread_rwlock_destroy F
>  GLIBC_2.27 __pthread_rwlock_init F
>  GLIBC_2.27 __pthread_rwlock_rdlock F
> @@ -357,6 +358,7 @@ GLIBC_2.27 __pthread_rwlock_unlock F
>  GLIBC_2.27 __pthread_rwlock_wrlock F
>  GLIBC_2.27 __pthread_setspecific F
>  GLIBC_2.27 __pthread_unregister_cancel F
> +GLIBC_2.27 __pthread_unregister_cancel_restore F
>  GLIBC_2.27 __pthread_unwind_next F
>  GLIBC_2.27 __ptsname_r_chk F
>  GLIBC_2.27 __pwrite64 F
> @@ -2269,7 +2271,9 @@ 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_register_cancel_defer F
>  GLIBC_2.34 __pthread_unregister_cancel F
> +GLIBC_2.34 __pthread_unregister_cancel_restore 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 e8dc7c3910..cf21e1dd7f 100644
> --- a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
> @@ -1,6 +1,4 @@
>  GLIBC_2.27 __errno_location F
> -GLIBC_2.27 __pthread_register_cancel_defer F
> -GLIBC_2.27 __pthread_unregister_cancel_restore F
>  GLIBC_2.27 pthread_attr_getaffinity_np F
>  GLIBC_2.27 pthread_attr_getguardsize F
>  GLIBC_2.27 pthread_attr_getstack F
> diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
> index fbb75ccf9d..60bbe8bbf5 100644
> --- a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
> @@ -2240,7 +2240,9 @@ 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_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_unwind_next F
>  GLIBC_2.3.3 _sys_siglist D 0x104
>  GLIBC_2.3.3 gnu_dev_major F
> @@ -2353,7 +2355,9 @@ 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_register_cancel_defer F
>  GLIBC_2.34 __pthread_unregister_cancel F
> +GLIBC_2.34 __pthread_unregister_cancel_restore 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 f5deee544b..6daef10e8d 100644
> --- a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
> @@ -24,8 +24,6 @@ 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_defer 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
>  GLIBC_2.3.4 pthread_attr_getaffinity_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 7c1e46cdf0..b7bff58264 100644
> --- a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
> @@ -2130,7 +2130,9 @@ 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_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_unwind_next F
>  GLIBC_2.3.3 _sys_siglist D 0x208
>  GLIBC_2.3.3 gnu_dev_major F
> @@ -2240,7 +2242,9 @@ 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_register_cancel_defer F
>  GLIBC_2.34 __pthread_unregister_cancel F
> +GLIBC_2.34 __pthread_unregister_cancel_restore 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 9fdcccffb0..e5998b3edc 100644
> --- a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
> @@ -21,8 +21,6 @@ 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_defer 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
>  GLIBC_2.3.4 pthread_attr_getaffinity_np F
> diff --git a/sysdeps/unix/sysv/linux/sh/be/libc.abilist b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
> index bfa7943954..46fca5bdbf 100644
> --- a/sysdeps/unix/sysv/linux/sh/be/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
> @@ -2108,7 +2108,9 @@ 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_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_unwind_next F
>  GLIBC_2.3.3 _sys_siglist D 0x104
>  GLIBC_2.3.3 gnu_dev_major F
> @@ -2209,7 +2211,9 @@ 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_register_cancel_defer F
>  GLIBC_2.34 __pthread_unregister_cancel F
> +GLIBC_2.34 __pthread_unregister_cancel_restore 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 071fd3e5eb..7ee08fbcc9 100644
> --- a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
> @@ -20,8 +20,6 @@ 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_defer 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
>  GLIBC_2.3.4 pthread_attr_getaffinity_np F
> diff --git a/sysdeps/unix/sysv/linux/sh/le/libc.abilist b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
> index 440eed94c8..0d885f202e 100644
> --- a/sysdeps/unix/sysv/linux/sh/le/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
> @@ -2108,7 +2108,9 @@ 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_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_unwind_next F
>  GLIBC_2.3.3 _sys_siglist D 0x104
>  GLIBC_2.3.3 gnu_dev_major F
> @@ -2206,7 +2208,9 @@ 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_register_cancel_defer F
>  GLIBC_2.34 __pthread_unregister_cancel F
> +GLIBC_2.34 __pthread_unregister_cancel_restore 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 071fd3e5eb..7ee08fbcc9 100644
> --- a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
> @@ -20,8 +20,6 @@ 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_defer 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
>  GLIBC_2.3.4 pthread_attr_getaffinity_np F
> diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
> index 2e3f5ec667..c4571c476f 100644
> --- a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
> @@ -2234,7 +2234,9 @@ 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_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_unwind_next F
>  GLIBC_2.3.3 _sys_siglist D 0x104
>  GLIBC_2.3.3 gnu_dev_major F
> @@ -2344,7 +2346,9 @@ 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_register_cancel_defer F
>  GLIBC_2.34 __pthread_unregister_cancel F
> +GLIBC_2.34 __pthread_unregister_cancel_restore 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 fa996f19d7..19e1375b54 100644
> --- a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
> @@ -23,8 +23,6 @@ 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_defer 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
>  GLIBC_2.3.3 pthread_attr_setstacksize F
> diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
> index 1a88c40a3a..cb18e01a23 100644
> --- a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
> @@ -2159,7 +2159,9 @@ 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_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_unwind_next F
>  GLIBC_2.3.3 _sys_siglist D 0x208
>  GLIBC_2.3.3 gnu_dev_major F
> @@ -2257,7 +2259,9 @@ 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_register_cancel_defer F
>  GLIBC_2.34 __pthread_unregister_cancel F
> +GLIBC_2.34 __pthread_unregister_cancel_restore 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 2dbc645d17..f11429ad6b 100644
> --- a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
> @@ -20,8 +20,6 @@ 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_defer 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
>  GLIBC_2.3.3 pthread_attr_setstacksize F
> diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
> index c0c3538772..a5a2a8cb64 100644
> --- a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
> @@ -2118,7 +2118,9 @@ 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_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_unwind_next F
>  GLIBC_2.3.3 _sys_siglist D 0x208
>  GLIBC_2.3.3 gnu_dev_major F
> @@ -2218,7 +2220,9 @@ 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_register_cancel_defer F
>  GLIBC_2.34 __pthread_unregister_cancel F
> +GLIBC_2.34 __pthread_unregister_cancel_restore 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 e835a66869..6644d3cd23 100644
> --- a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
> @@ -19,8 +19,6 @@ 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_defer 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
>  GLIBC_2.3.4 pthread_attr_getaffinity_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 cea07a7812..93c17798fa 100644
> --- a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
> @@ -352,6 +352,7 @@ 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_register_cancel_defer F
>  GLIBC_2.16 __pthread_rwlock_destroy F
>  GLIBC_2.16 __pthread_rwlock_init F
>  GLIBC_2.16 __pthread_rwlock_rdlock F
> @@ -361,6 +362,7 @@ GLIBC_2.16 __pthread_rwlock_unlock F
>  GLIBC_2.16 __pthread_rwlock_wrlock F
>  GLIBC_2.16 __pthread_setspecific F
>  GLIBC_2.16 __pthread_unregister_cancel F
> +GLIBC_2.16 __pthread_unregister_cancel_restore F
>  GLIBC_2.16 __pthread_unwind_next F
>  GLIBC_2.16 __ptsname_r_chk F
>  GLIBC_2.16 __pwrite64 F
> @@ -2323,7 +2325,9 @@ 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_register_cancel_defer F
>  GLIBC_2.34 __pthread_unregister_cancel F
> +GLIBC_2.34 __pthread_unregister_cancel_restore 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 fc978dfbe6..c7144f2a0e 100644
> --- a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
> @@ -1,6 +1,4 @@
>  GLIBC_2.16 __errno_location F
> -GLIBC_2.16 __pthread_register_cancel_defer F
> -GLIBC_2.16 __pthread_unregister_cancel_restore F
>  GLIBC_2.16 pthread_attr_getaffinity_np F
>  GLIBC_2.16 pthread_attr_getguardsize F
>  GLIBC_2.16 pthread_attr_getstack F
> 

Ok.

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH 3/3] nptl: Move pthread_cancel into libc
  2021-05-11 10:56 ` [PATCH 3/3] nptl: Move pthread_cancel into libc Florian Weimer
@ 2021-05-11 17:32   ` Adhemerval Zanella
  2021-05-11 17:37     ` Florian Weimer
  0 siblings, 1 reply; 11+ messages in thread
From: Adhemerval Zanella @ 2021-05-11 17:32 UTC (permalink / raw)
  To: Florian Weimer, libc-alpha



On 11/05/2021 07:56, Florian Weimer via Libc-alpha wrote:
> The symbol was moved using scripts/move-symbol-to-libc.py.

LGTM, just a small question below.

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

> ---
>  nptl/Makefile                                               | 2 +-
>  nptl/Versions                                               | 3 ++-
>  nptl/pthreadP.h                                             | 1 -
>  nptl/pthread_cancel.c                                       | 6 +++++-
>  sysdeps/unix/sysv/linux/aarch64/libc.abilist                | 2 ++
>  sysdeps/unix/sysv/linux/aarch64/libpthread.abilist          | 1 -
>  sysdeps/unix/sysv/linux/alpha/libc.abilist                  | 2 ++
>  sysdeps/unix/sysv/linux/alpha/libpthread.abilist            | 1 -
>  sysdeps/unix/sysv/linux/arc/libc.abilist                    | 2 ++
>  sysdeps/unix/sysv/linux/arc/libpthread.abilist              | 1 -
>  sysdeps/unix/sysv/linux/arm/be/libc.abilist                 | 2 ++
>  sysdeps/unix/sysv/linux/arm/be/libpthread.abilist           | 1 -
>  sysdeps/unix/sysv/linux/arm/le/libc.abilist                 | 2 ++
>  sysdeps/unix/sysv/linux/arm/le/libpthread.abilist           | 1 -
>  sysdeps/unix/sysv/linux/csky/libc.abilist                   | 2 ++
>  sysdeps/unix/sysv/linux/csky/libpthread.abilist             | 1 -
>  sysdeps/unix/sysv/linux/hppa/libc.abilist                   | 2 ++
>  sysdeps/unix/sysv/linux/hppa/libpthread.abilist             | 1 -
>  sysdeps/unix/sysv/linux/i386/libc.abilist                   | 2 ++
>  sysdeps/unix/sysv/linux/i386/libpthread.abilist             | 1 -
>  sysdeps/unix/sysv/linux/ia64/libc.abilist                   | 2 ++
>  sysdeps/unix/sysv/linux/ia64/libpthread.abilist             | 1 -
>  sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist          | 2 ++
>  sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist    | 1 -
>  sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist            | 2 ++
>  sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist      | 1 -
>  sysdeps/unix/sysv/linux/microblaze/be/libc.abilist          | 2 ++
>  sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist    | 1 -
>  sysdeps/unix/sysv/linux/microblaze/le/libc.abilist          | 2 ++
>  sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist    | 1 -
>  sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist        | 2 ++
>  sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist      | 1 -
>  sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist      | 2 ++
>  sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist      | 1 -
>  sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist        | 2 ++
>  sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist        | 2 ++
>  sysdeps/unix/sysv/linux/nios2/libc.abilist                  | 2 ++
>  sysdeps/unix/sysv/linux/nios2/libpthread.abilist            | 1 -
>  sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist  | 2 ++
>  .../unix/sysv/linux/powerpc/powerpc32/libpthread.abilist    | 1 -
>  .../unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist    | 2 ++
>  sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist   | 2 ++
>  .../unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist | 1 -
>  sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist   | 2 ++
>  .../unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist | 1 -
>  sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist             | 2 ++
>  sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist       | 1 -
>  sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist             | 2 ++
>  sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist       | 1 -
>  sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist           | 2 ++
>  sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist     | 1 -
>  sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist           | 2 ++
>  sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist     | 1 -
>  sysdeps/unix/sysv/linux/sh/be/libc.abilist                  | 2 ++
>  sysdeps/unix/sysv/linux/sh/be/libpthread.abilist            | 1 -
>  sysdeps/unix/sysv/linux/sh/le/libc.abilist                  | 2 ++
>  sysdeps/unix/sysv/linux/sh/le/libpthread.abilist            | 1 -
>  sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist          | 2 ++
>  sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist    | 1 -
>  sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist          | 2 ++
>  sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist    | 1 -
>  sysdeps/unix/sysv/linux/x86_64/64/libc.abilist              | 2 ++
>  sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist        | 1 -
>  sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist             | 2 ++
>  sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist       | 1 -
>  65 files changed, 72 insertions(+), 33 deletions(-)
> 
> diff --git a/nptl/Makefile b/nptl/Makefile
> index 7e070e490b..94cdc76942 100644
> --- a/nptl/Makefile
> +++ b/nptl/Makefile
> @@ -85,6 +85,7 @@ routines = \
>    pthread_barrierattr_getpshared \
>    pthread_barrierattr_init \
>    pthread_barrierattr_setpshared \
> +  pthread_cancel \
>    pthread_cleanup_upto \
>    pthread_clockjoin \
>    pthread_cond_broadcast \
> @@ -201,7 +202,6 @@ libpthread-routines = \
>    pthread_attr_setstack \
>    pthread_attr_setstackaddr \
>    pthread_attr_setstacksize \
> -  pthread_cancel \
>    pthread_create \
>    pthread_getattr_default_np \
>    pthread_getconcurrency \
> diff --git a/nptl/Versions b/nptl/Versions
> index 0868a8cfb2..94e55bc785 100644
> --- a/nptl/Versions
> +++ b/nptl/Versions
> @@ -29,6 +29,7 @@ libc {
>      pthread_attr_setschedparam;
>      pthread_attr_setschedpolicy;
>      pthread_attr_setscope;
> +    pthread_cancel;
>      pthread_cond_broadcast;
>      pthread_cond_destroy;
>      pthread_cond_init;
> @@ -252,6 +253,7 @@ libc {
>      pthread_barrierattr_getpshared;
>      pthread_barrierattr_init;
>      pthread_barrierattr_setpshared;
> +    pthread_cancel;
>      pthread_clockjoin_np;
>      pthread_cond_clockwait;
>      pthread_condattr_getclock;
> @@ -387,7 +389,6 @@ libpthread {
>      flockfile;
>      ftrylockfile;
>      funlockfile;
> -    pthread_cancel;
>      pthread_create;
>      pthread_sigmask;
>    }

Ok.

> diff --git a/nptl/pthreadP.h b/nptl/pthreadP.h
> index 1692788528..5b844f331a 100644
> --- a/nptl/pthreadP.h
> +++ b/nptl/pthreadP.h
> @@ -521,7 +521,6 @@ extern pthread_t __pthread_self (void);
>  extern int __pthread_equal (pthread_t thread1, pthread_t thread2);
>  extern int __pthread_detach (pthread_t th);
>  libc_hidden_proto (__pthread_detach)
> -extern int __pthread_cancel (pthread_t th);
>  extern int __pthread_kill (pthread_t threadid, int signo);
>  extern void __pthread_exit (void *value) __attribute__ ((__noreturn__));
>  libc_hidden_proto (__pthread_exit)

I am kinda puzzled how the libc_hidden_proto work without the __pthread_cancel
prototype.

> diff --git a/nptl/pthread_cancel.c b/nptl/pthread_cancel.c
> index fd04bedf6c..e4ad602900 100644
> --- a/nptl/pthread_cancel.c
> +++ b/nptl/pthread_cancel.c
> @@ -100,6 +100,10 @@ __pthread_cancel (pthread_t th)
>  
>    return result;
>  }
> -weak_alias (__pthread_cancel, pthread_cancel)
> +versioned_symbol (libc, __pthread_cancel, pthread_cancel, GLIBC_2_34);
> +
> +#if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_0, GLIBC_2_34)
> +compat_symbol (libpthread, __pthread_cancel, pthread_cancel, GLIBC_2_0);
> +#endif
>  
>  PTHREAD_STATIC_FN_REQUIRE (__pthread_create)

Ok.

> diff --git a/sysdeps/unix/sysv/linux/aarch64/libc.abilist b/sysdeps/unix/sysv/linux/aarch64/libc.abilist
> index 79b373a45d..9ff2b6ac14 100644
> --- a/sysdeps/unix/sysv/linux/aarch64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/aarch64/libc.abilist
> @@ -1466,6 +1466,7 @@ GLIBC_2.17 pthread_barrierattr_destroy F
>  GLIBC_2.17 pthread_barrierattr_getpshared F
>  GLIBC_2.17 pthread_barrierattr_init F
>  GLIBC_2.17 pthread_barrierattr_setpshared F
> +GLIBC_2.17 pthread_cancel F
>  GLIBC_2.17 pthread_cond_broadcast F
>  GLIBC_2.17 pthread_cond_destroy F
>  GLIBC_2.17 pthread_cond_init F
> @@ -2335,6 +2336,7 @@ GLIBC_2.34 pthread_barrierattr_destroy F
>  GLIBC_2.34 pthread_barrierattr_getpshared F
>  GLIBC_2.34 pthread_barrierattr_init F
>  GLIBC_2.34 pthread_barrierattr_setpshared F
> +GLIBC_2.34 pthread_cancel F
>  GLIBC_2.34 pthread_clockjoin_np F
>  GLIBC_2.34 pthread_cond_clockwait F
>  GLIBC_2.34 pthread_condattr_getclock F
> diff --git a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
> index 72bbdf0f37..5e1bbfa024 100644
> --- a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
> @@ -8,7 +8,6 @@ GLIBC_2.17 pthread_attr_setguardsize F
>  GLIBC_2.17 pthread_attr_setstack F
>  GLIBC_2.17 pthread_attr_setstackaddr F
>  GLIBC_2.17 pthread_attr_setstacksize F
> -GLIBC_2.17 pthread_cancel F
>  GLIBC_2.17 pthread_create F
>  GLIBC_2.17 pthread_getconcurrency F
>  GLIBC_2.17 pthread_getcpuclockid F
> diff --git a/sysdeps/unix/sysv/linux/alpha/libc.abilist b/sysdeps/unix/sysv/linux/alpha/libc.abilist
> index 8961d6799c..822ef11b8d 100644
> --- a/sysdeps/unix/sysv/linux/alpha/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/alpha/libc.abilist
> @@ -889,6 +889,7 @@ GLIBC_2.0 pthread_attr_setinheritsched F
>  GLIBC_2.0 pthread_attr_setschedparam F
>  GLIBC_2.0 pthread_attr_setschedpolicy F
>  GLIBC_2.0 pthread_attr_setscope F
> +GLIBC_2.0 pthread_cancel F
>  GLIBC_2.0 pthread_cond_broadcast F
>  GLIBC_2.0 pthread_cond_destroy F
>  GLIBC_2.0 pthread_cond_init F
> @@ -2422,6 +2423,7 @@ GLIBC_2.34 pthread_barrierattr_destroy F
>  GLIBC_2.34 pthread_barrierattr_getpshared F
>  GLIBC_2.34 pthread_barrierattr_init F
>  GLIBC_2.34 pthread_barrierattr_setpshared F
> +GLIBC_2.34 pthread_cancel F
>  GLIBC_2.34 pthread_clockjoin_np F
>  GLIBC_2.34 pthread_cond_clockwait F
>  GLIBC_2.34 pthread_condattr_getclock F
> diff --git a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
> index 19e1375b54..2362e75022 100644
> --- a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
> @@ -1,5 +1,4 @@
>  GLIBC_2.0 __errno_location F
> -GLIBC_2.0 pthread_cancel F
>  GLIBC_2.0 pthread_create F
>  GLIBC_2.1 pthread_attr_getguardsize F
>  GLIBC_2.1 pthread_attr_getstackaddr F
> diff --git a/sysdeps/unix/sysv/linux/arc/libc.abilist b/sysdeps/unix/sysv/linux/arc/libc.abilist
> index 47504af7fa..7e3ff64bf7 100644
> --- a/sysdeps/unix/sysv/linux/arc/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/arc/libc.abilist
> @@ -1405,6 +1405,7 @@ GLIBC_2.32 pthread_barrierattr_destroy F
>  GLIBC_2.32 pthread_barrierattr_getpshared F
>  GLIBC_2.32 pthread_barrierattr_init F
>  GLIBC_2.32 pthread_barrierattr_setpshared F
> +GLIBC_2.32 pthread_cancel F
>  GLIBC_2.32 pthread_clockjoin_np F
>  GLIBC_2.32 pthread_cond_broadcast F
>  GLIBC_2.32 pthread_cond_clockwait F
> @@ -2094,6 +2095,7 @@ GLIBC_2.34 pthread_barrierattr_destroy F
>  GLIBC_2.34 pthread_barrierattr_getpshared F
>  GLIBC_2.34 pthread_barrierattr_init F
>  GLIBC_2.34 pthread_barrierattr_setpshared F
> +GLIBC_2.34 pthread_cancel F
>  GLIBC_2.34 pthread_clockjoin_np F
>  GLIBC_2.34 pthread_cond_clockwait F
>  GLIBC_2.34 pthread_condattr_getclock F
> diff --git a/sysdeps/unix/sysv/linux/arc/libpthread.abilist b/sysdeps/unix/sysv/linux/arc/libpthread.abilist
> index d47f656bf3..8a01895ba5 100644
> --- a/sysdeps/unix/sysv/linux/arc/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/arc/libpthread.abilist
> @@ -8,7 +8,6 @@ GLIBC_2.32 pthread_attr_setguardsize F
>  GLIBC_2.32 pthread_attr_setstack F
>  GLIBC_2.32 pthread_attr_setstackaddr F
>  GLIBC_2.32 pthread_attr_setstacksize F
> -GLIBC_2.32 pthread_cancel F
>  GLIBC_2.32 pthread_create F
>  GLIBC_2.32 pthread_getattr_default_np F
>  GLIBC_2.32 pthread_getconcurrency F
> diff --git a/sysdeps/unix/sysv/linux/arm/be/libc.abilist b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
> index 1a4395ba35..ed75decfa1 100644
> --- a/sysdeps/unix/sysv/linux/arm/be/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
> @@ -216,6 +216,7 @@ GLIBC_2.34 pthread_barrierattr_destroy F
>  GLIBC_2.34 pthread_barrierattr_getpshared F
>  GLIBC_2.34 pthread_barrierattr_init F
>  GLIBC_2.34 pthread_barrierattr_setpshared F
> +GLIBC_2.34 pthread_cancel F
>  GLIBC_2.34 pthread_clockjoin_np F
>  GLIBC_2.34 pthread_cond_clockwait F
>  GLIBC_2.34 pthread_condattr_getclock F
> @@ -1694,6 +1695,7 @@ GLIBC_2.4 pthread_barrierattr_destroy F
>  GLIBC_2.4 pthread_barrierattr_getpshared F
>  GLIBC_2.4 pthread_barrierattr_init F
>  GLIBC_2.4 pthread_barrierattr_setpshared F
> +GLIBC_2.4 pthread_cancel F
>  GLIBC_2.4 pthread_cond_broadcast F
>  GLIBC_2.4 pthread_cond_destroy F
>  GLIBC_2.4 pthread_cond_init F
> diff --git a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
> index dffabc237c..95ce36b829 100644
> --- a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
> @@ -16,7 +16,6 @@ GLIBC_2.4 pthread_attr_setguardsize F
>  GLIBC_2.4 pthread_attr_setstack F
>  GLIBC_2.4 pthread_attr_setstackaddr F
>  GLIBC_2.4 pthread_attr_setstacksize F
> -GLIBC_2.4 pthread_cancel F
>  GLIBC_2.4 pthread_create F
>  GLIBC_2.4 pthread_getconcurrency F
>  GLIBC_2.4 pthread_getcpuclockid F
> diff --git a/sysdeps/unix/sysv/linux/arm/le/libc.abilist b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
> index 2344dc0638..78ecc3a850 100644
> --- a/sysdeps/unix/sysv/linux/arm/le/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
> @@ -213,6 +213,7 @@ GLIBC_2.34 pthread_barrierattr_destroy F
>  GLIBC_2.34 pthread_barrierattr_getpshared F
>  GLIBC_2.34 pthread_barrierattr_init F
>  GLIBC_2.34 pthread_barrierattr_setpshared F
> +GLIBC_2.34 pthread_cancel F
>  GLIBC_2.34 pthread_clockjoin_np F
>  GLIBC_2.34 pthread_cond_clockwait F
>  GLIBC_2.34 pthread_condattr_getclock F
> @@ -1691,6 +1692,7 @@ GLIBC_2.4 pthread_barrierattr_destroy F
>  GLIBC_2.4 pthread_barrierattr_getpshared F
>  GLIBC_2.4 pthread_barrierattr_init F
>  GLIBC_2.4 pthread_barrierattr_setpshared F
> +GLIBC_2.4 pthread_cancel F
>  GLIBC_2.4 pthread_cond_broadcast F
>  GLIBC_2.4 pthread_cond_destroy F
>  GLIBC_2.4 pthread_cond_init F
> diff --git a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
> index dffabc237c..95ce36b829 100644
> --- a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
> @@ -16,7 +16,6 @@ GLIBC_2.4 pthread_attr_setguardsize F
>  GLIBC_2.4 pthread_attr_setstack F
>  GLIBC_2.4 pthread_attr_setstackaddr F
>  GLIBC_2.4 pthread_attr_setstacksize F
> -GLIBC_2.4 pthread_cancel F
>  GLIBC_2.4 pthread_create F
>  GLIBC_2.4 pthread_getconcurrency F
>  GLIBC_2.4 pthread_getcpuclockid F
> diff --git a/sysdeps/unix/sysv/linux/csky/libc.abilist b/sysdeps/unix/sysv/linux/csky/libc.abilist
> index b3aec7bdad..5367122efd 100644
> --- a/sysdeps/unix/sysv/linux/csky/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/csky/libc.abilist
> @@ -1466,6 +1466,7 @@ GLIBC_2.29 pthread_barrierattr_destroy F
>  GLIBC_2.29 pthread_barrierattr_getpshared F
>  GLIBC_2.29 pthread_barrierattr_init F
>  GLIBC_2.29 pthread_barrierattr_setpshared F
> +GLIBC_2.29 pthread_cancel F
>  GLIBC_2.29 pthread_cond_broadcast F
>  GLIBC_2.29 pthread_cond_destroy F
>  GLIBC_2.29 pthread_cond_init F
> @@ -2278,6 +2279,7 @@ GLIBC_2.34 pthread_barrierattr_destroy F
>  GLIBC_2.34 pthread_barrierattr_getpshared F
>  GLIBC_2.34 pthread_barrierattr_init F
>  GLIBC_2.34 pthread_barrierattr_setpshared F
> +GLIBC_2.34 pthread_cancel F
>  GLIBC_2.34 pthread_clockjoin_np F
>  GLIBC_2.34 pthread_cond_clockwait F
>  GLIBC_2.34 pthread_condattr_getclock F
> diff --git a/sysdeps/unix/sysv/linux/csky/libpthread.abilist b/sysdeps/unix/sysv/linux/csky/libpthread.abilist
> index 2b66c04b6c..92e778eb82 100644
> --- a/sysdeps/unix/sysv/linux/csky/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/csky/libpthread.abilist
> @@ -8,7 +8,6 @@ GLIBC_2.29 pthread_attr_setguardsize F
>  GLIBC_2.29 pthread_attr_setstack F
>  GLIBC_2.29 pthread_attr_setstackaddr F
>  GLIBC_2.29 pthread_attr_setstacksize F
> -GLIBC_2.29 pthread_cancel F
>  GLIBC_2.29 pthread_create F
>  GLIBC_2.29 pthread_getattr_default_np F
>  GLIBC_2.29 pthread_getconcurrency F
> diff --git a/sysdeps/unix/sysv/linux/hppa/libc.abilist b/sysdeps/unix/sysv/linux/hppa/libc.abilist
> index 59afc75408..be7b9d8e23 100644
> --- a/sysdeps/unix/sysv/linux/hppa/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/hppa/libc.abilist
> @@ -1289,6 +1289,7 @@ GLIBC_2.2 pthread_barrier_wait F
>  GLIBC_2.2 pthread_barrierattr_destroy F
>  GLIBC_2.2 pthread_barrierattr_init F
>  GLIBC_2.2 pthread_barrierattr_setpshared F
> +GLIBC_2.2 pthread_cancel F
>  GLIBC_2.2 pthread_cond_broadcast F
>  GLIBC_2.2 pthread_cond_destroy F
>  GLIBC_2.2 pthread_cond_init F
> @@ -2229,6 +2230,7 @@ GLIBC_2.34 pthread_barrierattr_destroy F
>  GLIBC_2.34 pthread_barrierattr_getpshared F
>  GLIBC_2.34 pthread_barrierattr_init F
>  GLIBC_2.34 pthread_barrierattr_setpshared F
> +GLIBC_2.34 pthread_cancel F
>  GLIBC_2.34 pthread_clockjoin_np F
>  GLIBC_2.34 pthread_cond_clockwait F
>  GLIBC_2.34 pthread_condattr_getclock F
> diff --git a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
> index 7ee08fbcc9..7336ba3193 100644
> --- a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
> @@ -11,7 +11,6 @@ GLIBC_2.2 pthread_attr_setguardsize F
>  GLIBC_2.2 pthread_attr_setstack F
>  GLIBC_2.2 pthread_attr_setstackaddr F
>  GLIBC_2.2 pthread_attr_setstacksize F
> -GLIBC_2.2 pthread_cancel F
>  GLIBC_2.2 pthread_create F
>  GLIBC_2.2 pthread_getconcurrency F
>  GLIBC_2.2 pthread_getcpuclockid F
> diff --git a/sysdeps/unix/sysv/linux/i386/libc.abilist b/sysdeps/unix/sysv/linux/i386/libc.abilist
> index eabfdee4bb..22da6982b9 100644
> --- a/sysdeps/unix/sysv/linux/i386/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/i386/libc.abilist
> @@ -866,6 +866,7 @@ GLIBC_2.0 pthread_attr_setinheritsched F
>  GLIBC_2.0 pthread_attr_setschedparam F
>  GLIBC_2.0 pthread_attr_setschedpolicy F
>  GLIBC_2.0 pthread_attr_setscope F
> +GLIBC_2.0 pthread_cancel F
>  GLIBC_2.0 pthread_cond_broadcast F
>  GLIBC_2.0 pthread_cond_destroy F
>  GLIBC_2.0 pthread_cond_init F
> @@ -2412,6 +2413,7 @@ GLIBC_2.34 pthread_barrierattr_destroy F
>  GLIBC_2.34 pthread_barrierattr_getpshared F
>  GLIBC_2.34 pthread_barrierattr_init F
>  GLIBC_2.34 pthread_barrierattr_setpshared F
> +GLIBC_2.34 pthread_cancel F
>  GLIBC_2.34 pthread_clockjoin_np F
>  GLIBC_2.34 pthread_cond_clockwait F
>  GLIBC_2.34 pthread_condattr_getclock F
> diff --git a/sysdeps/unix/sysv/linux/i386/libpthread.abilist b/sysdeps/unix/sysv/linux/i386/libpthread.abilist
> index f2c64dd9c8..c28b299beb 100644
> --- a/sysdeps/unix/sysv/linux/i386/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/i386/libpthread.abilist
> @@ -1,5 +1,4 @@
>  GLIBC_2.0 __errno_location F
> -GLIBC_2.0 pthread_cancel F
>  GLIBC_2.0 pthread_create F
>  GLIBC_2.1 pthread_attr_getguardsize F
>  GLIBC_2.1 pthread_attr_getstackaddr F
> diff --git a/sysdeps/unix/sysv/linux/ia64/libc.abilist b/sysdeps/unix/sysv/linux/ia64/libc.abilist
> index 8307bd5568..d866b02ee9 100644
> --- a/sysdeps/unix/sysv/linux/ia64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/ia64/libc.abilist
> @@ -1310,6 +1310,7 @@ GLIBC_2.2 pthread_barrier_wait F
>  GLIBC_2.2 pthread_barrierattr_destroy F
>  GLIBC_2.2 pthread_barrierattr_init F
>  GLIBC_2.2 pthread_barrierattr_setpshared F
> +GLIBC_2.2 pthread_cancel F
>  GLIBC_2.2 pthread_cond_broadcast F
>  GLIBC_2.2 pthread_cond_destroy F
>  GLIBC_2.2 pthread_cond_init F
> @@ -2263,6 +2264,7 @@ GLIBC_2.34 pthread_barrierattr_destroy F
>  GLIBC_2.34 pthread_barrierattr_getpshared F
>  GLIBC_2.34 pthread_barrierattr_init F
>  GLIBC_2.34 pthread_barrierattr_setpshared F
> +GLIBC_2.34 pthread_cancel F
>  GLIBC_2.34 pthread_clockjoin_np F
>  GLIBC_2.34 pthread_cond_clockwait F
>  GLIBC_2.34 pthread_condattr_getclock F
> diff --git a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
> index f11429ad6b..6bdd14dfb9 100644
> --- a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
> @@ -11,7 +11,6 @@ GLIBC_2.2 pthread_attr_setguardsize F
>  GLIBC_2.2 pthread_attr_setstack F
>  GLIBC_2.2 pthread_attr_setstackaddr F
>  GLIBC_2.2 pthread_attr_setstacksize F
> -GLIBC_2.2 pthread_cancel F
>  GLIBC_2.2 pthread_create F
>  GLIBC_2.2 pthread_getconcurrency F
>  GLIBC_2.2 pthread_getcpuclockid F
> diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
> index faeb98053c..0edb178a90 100644
> --- a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
> @@ -217,6 +217,7 @@ GLIBC_2.34 pthread_barrierattr_destroy F
>  GLIBC_2.34 pthread_barrierattr_getpshared F
>  GLIBC_2.34 pthread_barrierattr_init F
>  GLIBC_2.34 pthread_barrierattr_setpshared F
> +GLIBC_2.34 pthread_cancel F
>  GLIBC_2.34 pthread_clockjoin_np F
>  GLIBC_2.34 pthread_cond_clockwait F
>  GLIBC_2.34 pthread_condattr_getclock F
> @@ -1674,6 +1675,7 @@ GLIBC_2.4 pthread_barrierattr_destroy F
>  GLIBC_2.4 pthread_barrierattr_getpshared F
>  GLIBC_2.4 pthread_barrierattr_init F
>  GLIBC_2.4 pthread_barrierattr_setpshared F
> +GLIBC_2.4 pthread_cancel F
>  GLIBC_2.4 pthread_cond_broadcast F
>  GLIBC_2.4 pthread_cond_destroy F
>  GLIBC_2.4 pthread_cond_init F
> diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
> index dffabc237c..95ce36b829 100644
> --- a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
> @@ -16,7 +16,6 @@ GLIBC_2.4 pthread_attr_setguardsize F
>  GLIBC_2.4 pthread_attr_setstack F
>  GLIBC_2.4 pthread_attr_setstackaddr F
>  GLIBC_2.4 pthread_attr_setstacksize F
> -GLIBC_2.4 pthread_cancel F
>  GLIBC_2.4 pthread_create F
>  GLIBC_2.4 pthread_getconcurrency F
>  GLIBC_2.4 pthread_getcpuclockid F
> diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
> index 987c85a011..e47b343e04 100644
> --- a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
> @@ -865,6 +865,7 @@ GLIBC_2.0 pthread_attr_setinheritsched F
>  GLIBC_2.0 pthread_attr_setschedparam F
>  GLIBC_2.0 pthread_attr_setschedpolicy F
>  GLIBC_2.0 pthread_attr_setscope F
> +GLIBC_2.0 pthread_cancel F
>  GLIBC_2.0 pthread_cond_broadcast F
>  GLIBC_2.0 pthread_cond_destroy F
>  GLIBC_2.0 pthread_cond_init F
> @@ -2355,6 +2356,7 @@ GLIBC_2.34 pthread_barrierattr_destroy F
>  GLIBC_2.34 pthread_barrierattr_getpshared F
>  GLIBC_2.34 pthread_barrierattr_init F
>  GLIBC_2.34 pthread_barrierattr_setpshared F
> +GLIBC_2.34 pthread_cancel F
>  GLIBC_2.34 pthread_clockjoin_np F
>  GLIBC_2.34 pthread_cond_clockwait F
>  GLIBC_2.34 pthread_condattr_getclock F
> diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
> index f2c64dd9c8..c28b299beb 100644
> --- a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
> @@ -1,5 +1,4 @@
>  GLIBC_2.0 __errno_location F
> -GLIBC_2.0 pthread_cancel F
>  GLIBC_2.0 pthread_create F
>  GLIBC_2.1 pthread_attr_getguardsize F
>  GLIBC_2.1 pthread_attr_getstackaddr F
> diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
> index 45f5b21895..dc74d613c9 100644
> --- a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
> @@ -1468,6 +1468,7 @@ GLIBC_2.18 pthread_barrierattr_destroy F
>  GLIBC_2.18 pthread_barrierattr_getpshared F
>  GLIBC_2.18 pthread_barrierattr_init F
>  GLIBC_2.18 pthread_barrierattr_setpshared F
> +GLIBC_2.18 pthread_cancel F
>  GLIBC_2.18 pthread_cond_broadcast F
>  GLIBC_2.18 pthread_cond_destroy F
>  GLIBC_2.18 pthread_cond_init F
> @@ -2329,6 +2330,7 @@ GLIBC_2.34 pthread_barrierattr_destroy F
>  GLIBC_2.34 pthread_barrierattr_getpshared F
>  GLIBC_2.34 pthread_barrierattr_init F
>  GLIBC_2.34 pthread_barrierattr_setpshared F
> +GLIBC_2.34 pthread_cancel F
>  GLIBC_2.34 pthread_clockjoin_np F
>  GLIBC_2.34 pthread_cond_clockwait F
>  GLIBC_2.34 pthread_condattr_getclock F
> diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
> index 93b99ca4a7..07d34543b0 100644
> --- a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
> @@ -8,7 +8,6 @@ GLIBC_2.18 pthread_attr_setguardsize F
>  GLIBC_2.18 pthread_attr_setstack F
>  GLIBC_2.18 pthread_attr_setstackaddr F
>  GLIBC_2.18 pthread_attr_setstacksize F
> -GLIBC_2.18 pthread_cancel F
>  GLIBC_2.18 pthread_create F
>  GLIBC_2.18 pthread_getattr_default_np F
>  GLIBC_2.18 pthread_getconcurrency F
> diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
> index ce10bfbf47..c58d10d5dd 100644
> --- a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
> @@ -1468,6 +1468,7 @@ GLIBC_2.18 pthread_barrierattr_destroy F
>  GLIBC_2.18 pthread_barrierattr_getpshared F
>  GLIBC_2.18 pthread_barrierattr_init F
>  GLIBC_2.18 pthread_barrierattr_setpshared F
> +GLIBC_2.18 pthread_cancel F
>  GLIBC_2.18 pthread_cond_broadcast F
>  GLIBC_2.18 pthread_cond_destroy F
>  GLIBC_2.18 pthread_cond_init F
> @@ -2326,6 +2327,7 @@ GLIBC_2.34 pthread_barrierattr_destroy F
>  GLIBC_2.34 pthread_barrierattr_getpshared F
>  GLIBC_2.34 pthread_barrierattr_init F
>  GLIBC_2.34 pthread_barrierattr_setpshared F
> +GLIBC_2.34 pthread_cancel F
>  GLIBC_2.34 pthread_clockjoin_np F
>  GLIBC_2.34 pthread_cond_clockwait F
>  GLIBC_2.34 pthread_condattr_getclock F
> diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
> index 93b99ca4a7..07d34543b0 100644
> --- a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
> @@ -8,7 +8,6 @@ GLIBC_2.18 pthread_attr_setguardsize F
>  GLIBC_2.18 pthread_attr_setstack F
>  GLIBC_2.18 pthread_attr_setstackaddr F
>  GLIBC_2.18 pthread_attr_setstacksize F
> -GLIBC_2.18 pthread_cancel F
>  GLIBC_2.18 pthread_create F
>  GLIBC_2.18 pthread_getattr_default_np F
>  GLIBC_2.18 pthread_getconcurrency F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
> index c09f0f7634..17481fa785 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
> @@ -862,6 +862,7 @@ GLIBC_2.0 pthread_attr_setinheritsched F
>  GLIBC_2.0 pthread_attr_setschedparam F
>  GLIBC_2.0 pthread_attr_setschedpolicy F
>  GLIBC_2.0 pthread_attr_setscope F
> +GLIBC_2.0 pthread_cancel F
>  GLIBC_2.0 pthread_cond_broadcast F
>  GLIBC_2.0 pthread_cond_destroy F
>  GLIBC_2.0 pthread_cond_init F
> @@ -2318,6 +2319,7 @@ GLIBC_2.34 pthread_barrierattr_destroy F
>  GLIBC_2.34 pthread_barrierattr_getpshared F
>  GLIBC_2.34 pthread_barrierattr_init F
>  GLIBC_2.34 pthread_barrierattr_setpshared F
> +GLIBC_2.34 pthread_cancel F
>  GLIBC_2.34 pthread_clockjoin_np F
>  GLIBC_2.34 pthread_cond_clockwait F
>  GLIBC_2.34 pthread_condattr_getclock F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
> index 156eae46c9..7784336090 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
> @@ -1,5 +1,4 @@
>  GLIBC_2.0 __errno_location F
> -GLIBC_2.0 pthread_cancel F
>  GLIBC_2.0 pthread_create F
>  GLIBC_2.11 pthread_sigqueue F
>  GLIBC_2.12 pthread_getname_np F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
> index bf2f7a8bb5..0fa35108a2 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
> @@ -862,6 +862,7 @@ GLIBC_2.0 pthread_attr_setinheritsched F
>  GLIBC_2.0 pthread_attr_setschedparam F
>  GLIBC_2.0 pthread_attr_setschedpolicy F
>  GLIBC_2.0 pthread_attr_setscope F
> +GLIBC_2.0 pthread_cancel F
>  GLIBC_2.0 pthread_cond_broadcast F
>  GLIBC_2.0 pthread_cond_destroy F
>  GLIBC_2.0 pthread_cond_init F
> @@ -2316,6 +2317,7 @@ GLIBC_2.34 pthread_barrierattr_destroy F
>  GLIBC_2.34 pthread_barrierattr_getpshared F
>  GLIBC_2.34 pthread_barrierattr_init F
>  GLIBC_2.34 pthread_barrierattr_setpshared F
> +GLIBC_2.34 pthread_cancel F
>  GLIBC_2.34 pthread_clockjoin_np F
>  GLIBC_2.34 pthread_cond_clockwait F
>  GLIBC_2.34 pthread_condattr_getclock F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
> index 156eae46c9..7784336090 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
> @@ -1,5 +1,4 @@
>  GLIBC_2.0 __errno_location F
> -GLIBC_2.0 pthread_cancel F
>  GLIBC_2.0 pthread_create F
>  GLIBC_2.11 pthread_sigqueue F
>  GLIBC_2.12 pthread_getname_np F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
> index 7f37f64c2e..62d522bbbe 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
> @@ -862,6 +862,7 @@ GLIBC_2.0 pthread_attr_setinheritsched F
>  GLIBC_2.0 pthread_attr_setschedparam F
>  GLIBC_2.0 pthread_attr_setschedpolicy F
>  GLIBC_2.0 pthread_attr_setscope F
> +GLIBC_2.0 pthread_cancel F
>  GLIBC_2.0 pthread_cond_broadcast F
>  GLIBC_2.0 pthread_cond_destroy F
>  GLIBC_2.0 pthread_cond_init F
> @@ -2324,6 +2325,7 @@ GLIBC_2.34 pthread_barrierattr_destroy F
>  GLIBC_2.34 pthread_barrierattr_getpshared F
>  GLIBC_2.34 pthread_barrierattr_init F
>  GLIBC_2.34 pthread_barrierattr_setpshared F
> +GLIBC_2.34 pthread_cancel F
>  GLIBC_2.34 pthread_clockjoin_np F
>  GLIBC_2.34 pthread_cond_clockwait F
>  GLIBC_2.34 pthread_condattr_getclock F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
> index 1db4d23af4..7da2457db3 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
> @@ -860,6 +860,7 @@ GLIBC_2.0 pthread_attr_setinheritsched F
>  GLIBC_2.0 pthread_attr_setschedparam F
>  GLIBC_2.0 pthread_attr_setschedpolicy F
>  GLIBC_2.0 pthread_attr_setscope F
> +GLIBC_2.0 pthread_cancel F
>  GLIBC_2.0 pthread_cond_broadcast F
>  GLIBC_2.0 pthread_cond_destroy F
>  GLIBC_2.0 pthread_cond_init F
> @@ -2318,6 +2319,7 @@ GLIBC_2.34 pthread_barrierattr_destroy F
>  GLIBC_2.34 pthread_barrierattr_getpshared F
>  GLIBC_2.34 pthread_barrierattr_init F
>  GLIBC_2.34 pthread_barrierattr_setpshared F
> +GLIBC_2.34 pthread_cancel F
>  GLIBC_2.34 pthread_clockjoin_np F
>  GLIBC_2.34 pthread_cond_clockwait F
>  GLIBC_2.34 pthread_condattr_getclock F
> diff --git a/sysdeps/unix/sysv/linux/nios2/libc.abilist b/sysdeps/unix/sysv/linux/nios2/libc.abilist
> index fc563e2b6e..d2c4e4f948 100644
> --- a/sysdeps/unix/sysv/linux/nios2/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/nios2/libc.abilist
> @@ -1511,6 +1511,7 @@ GLIBC_2.21 pthread_barrierattr_destroy F
>  GLIBC_2.21 pthread_barrierattr_getpshared F
>  GLIBC_2.21 pthread_barrierattr_init F
>  GLIBC_2.21 pthread_barrierattr_setpshared F
> +GLIBC_2.21 pthread_cancel F
>  GLIBC_2.21 pthread_cond_broadcast F
>  GLIBC_2.21 pthread_cond_destroy F
>  GLIBC_2.21 pthread_cond_init F
> @@ -2368,6 +2369,7 @@ GLIBC_2.34 pthread_barrierattr_destroy F
>  GLIBC_2.34 pthread_barrierattr_getpshared F
>  GLIBC_2.34 pthread_barrierattr_init F
>  GLIBC_2.34 pthread_barrierattr_setpshared F
> +GLIBC_2.34 pthread_cancel F
>  GLIBC_2.34 pthread_clockjoin_np F
>  GLIBC_2.34 pthread_cond_clockwait F
>  GLIBC_2.34 pthread_condattr_getclock F
> diff --git a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
> index b7c7c83d68..b0df0a7b03 100644
> --- a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
> @@ -8,7 +8,6 @@ GLIBC_2.21 pthread_attr_setguardsize F
>  GLIBC_2.21 pthread_attr_setstack F
>  GLIBC_2.21 pthread_attr_setstackaddr F
>  GLIBC_2.21 pthread_attr_setstacksize F
> -GLIBC_2.21 pthread_cancel F
>  GLIBC_2.21 pthread_create F
>  GLIBC_2.21 pthread_getattr_default_np F
>  GLIBC_2.21 pthread_getconcurrency F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
> index 6e85b889b8..a7400470d9 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
> @@ -873,6 +873,7 @@ GLIBC_2.0 pthread_attr_setinheritsched F
>  GLIBC_2.0 pthread_attr_setschedparam F
>  GLIBC_2.0 pthread_attr_setschedpolicy F
>  GLIBC_2.0 pthread_attr_setscope F
> +GLIBC_2.0 pthread_cancel F
>  GLIBC_2.0 pthread_cond_broadcast F
>  GLIBC_2.0 pthread_cond_destroy F
>  GLIBC_2.0 pthread_cond_init F
> @@ -2382,6 +2383,7 @@ GLIBC_2.34 pthread_barrierattr_destroy F
>  GLIBC_2.34 pthread_barrierattr_getpshared F
>  GLIBC_2.34 pthread_barrierattr_init F
>  GLIBC_2.34 pthread_barrierattr_setpshared F
> +GLIBC_2.34 pthread_cancel F
>  GLIBC_2.34 pthread_clockjoin_np F
>  GLIBC_2.34 pthread_cond_clockwait F
>  GLIBC_2.34 pthread_condattr_getclock F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
> index 17be75afae..2bd7686c6b 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
> @@ -1,5 +1,4 @@
>  GLIBC_2.0 __errno_location F
> -GLIBC_2.0 pthread_cancel F
>  GLIBC_2.0 pthread_create F
>  GLIBC_2.1 pthread_attr_getguardsize F
>  GLIBC_2.1 pthread_attr_getstackaddr F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
> index e3e8390e0e..b0c189fcf0 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
> @@ -873,6 +873,7 @@ GLIBC_2.0 pthread_attr_setinheritsched F
>  GLIBC_2.0 pthread_attr_setschedparam F
>  GLIBC_2.0 pthread_attr_setschedpolicy F
>  GLIBC_2.0 pthread_attr_setscope F
> +GLIBC_2.0 pthread_cancel F
>  GLIBC_2.0 pthread_cond_broadcast F
>  GLIBC_2.0 pthread_cond_destroy F
>  GLIBC_2.0 pthread_cond_init F
> @@ -2415,6 +2416,7 @@ GLIBC_2.34 pthread_barrierattr_destroy F
>  GLIBC_2.34 pthread_barrierattr_getpshared F
>  GLIBC_2.34 pthread_barrierattr_init F
>  GLIBC_2.34 pthread_barrierattr_setpshared F
> +GLIBC_2.34 pthread_cancel F
>  GLIBC_2.34 pthread_clockjoin_np F
>  GLIBC_2.34 pthread_cond_clockwait F
>  GLIBC_2.34 pthread_condattr_getclock F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
> index 26a638edc8..3b90820891 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
> @@ -1414,6 +1414,7 @@ GLIBC_2.3 pthread_barrier_wait F
>  GLIBC_2.3 pthread_barrierattr_destroy F
>  GLIBC_2.3 pthread_barrierattr_init F
>  GLIBC_2.3 pthread_barrierattr_setpshared F
> +GLIBC_2.3 pthread_cancel F
>  GLIBC_2.3 pthread_cond_broadcast F
>  GLIBC_2.3 pthread_cond_destroy F
>  GLIBC_2.3 pthread_cond_init F
> @@ -2230,6 +2231,7 @@ GLIBC_2.34 pthread_barrierattr_destroy F
>  GLIBC_2.34 pthread_barrierattr_getpshared F
>  GLIBC_2.34 pthread_barrierattr_init F
>  GLIBC_2.34 pthread_barrierattr_setpshared F
> +GLIBC_2.34 pthread_cancel F
>  GLIBC_2.34 pthread_clockjoin_np F
>  GLIBC_2.34 pthread_cond_clockwait F
>  GLIBC_2.34 pthread_condattr_getclock F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
> index 1549e29f64..30f76e8b84 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
> @@ -12,7 +12,6 @@ GLIBC_2.3 pthread_attr_setguardsize F
>  GLIBC_2.3 pthread_attr_setstack F
>  GLIBC_2.3 pthread_attr_setstackaddr F
>  GLIBC_2.3 pthread_attr_setstacksize F
> -GLIBC_2.3 pthread_cancel F
>  GLIBC_2.3 pthread_create F
>  GLIBC_2.3 pthread_getconcurrency F
>  GLIBC_2.3 pthread_getcpuclockid F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
> index 09560c93d2..83e1299302 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
> @@ -1554,6 +1554,7 @@ GLIBC_2.17 pthread_barrierattr_destroy F
>  GLIBC_2.17 pthread_barrierattr_getpshared F
>  GLIBC_2.17 pthread_barrierattr_init F
>  GLIBC_2.17 pthread_barrierattr_setpshared F
> +GLIBC_2.17 pthread_cancel F
>  GLIBC_2.17 pthread_cond_broadcast F
>  GLIBC_2.17 pthread_cond_destroy F
>  GLIBC_2.17 pthread_cond_init F
> @@ -2531,6 +2532,7 @@ GLIBC_2.34 pthread_barrierattr_destroy F
>  GLIBC_2.34 pthread_barrierattr_getpshared F
>  GLIBC_2.34 pthread_barrierattr_init F
>  GLIBC_2.34 pthread_barrierattr_setpshared F
> +GLIBC_2.34 pthread_cancel F
>  GLIBC_2.34 pthread_clockjoin_np F
>  GLIBC_2.34 pthread_cond_clockwait F
>  GLIBC_2.34 pthread_condattr_getclock F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
> index 72bbdf0f37..5e1bbfa024 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
> @@ -8,7 +8,6 @@ GLIBC_2.17 pthread_attr_setguardsize F
>  GLIBC_2.17 pthread_attr_setstack F
>  GLIBC_2.17 pthread_attr_setstackaddr F
>  GLIBC_2.17 pthread_attr_setstacksize F
> -GLIBC_2.17 pthread_cancel F
>  GLIBC_2.17 pthread_create F
>  GLIBC_2.17 pthread_getconcurrency F
>  GLIBC_2.17 pthread_getcpuclockid F
> diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
> index 3941ef0b70..ad50284075 100644
> --- a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
> @@ -1407,6 +1407,7 @@ GLIBC_2.33 pthread_barrierattr_destroy F
>  GLIBC_2.33 pthread_barrierattr_getpshared F
>  GLIBC_2.33 pthread_barrierattr_init F
>  GLIBC_2.33 pthread_barrierattr_setpshared F
> +GLIBC_2.33 pthread_cancel F
>  GLIBC_2.33 pthread_clockjoin_np F
>  GLIBC_2.33 pthread_cond_broadcast F
>  GLIBC_2.33 pthread_cond_clockwait F
> @@ -2096,6 +2097,7 @@ GLIBC_2.34 pthread_barrierattr_destroy F
>  GLIBC_2.34 pthread_barrierattr_getpshared F
>  GLIBC_2.34 pthread_barrierattr_init F
>  GLIBC_2.34 pthread_barrierattr_setpshared F
> +GLIBC_2.34 pthread_cancel F
>  GLIBC_2.34 pthread_clockjoin_np F
>  GLIBC_2.34 pthread_cond_clockwait F
>  GLIBC_2.34 pthread_condattr_getclock F
> diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
> index 0efcff840e..fa86a05f56 100644
> --- a/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
> @@ -8,7 +8,6 @@ GLIBC_2.33 pthread_attr_setguardsize F
>  GLIBC_2.33 pthread_attr_setstack F
>  GLIBC_2.33 pthread_attr_setstackaddr F
>  GLIBC_2.33 pthread_attr_setstacksize F
> -GLIBC_2.33 pthread_cancel F
>  GLIBC_2.33 pthread_create F
>  GLIBC_2.33 pthread_getattr_default_np F
>  GLIBC_2.33 pthread_getconcurrency F
> diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
> index b0db186f7a..aa459ca768 100644
> --- a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
> @@ -1456,6 +1456,7 @@ GLIBC_2.27 pthread_barrierattr_destroy F
>  GLIBC_2.27 pthread_barrierattr_getpshared F
>  GLIBC_2.27 pthread_barrierattr_init F
>  GLIBC_2.27 pthread_barrierattr_setpshared F
> +GLIBC_2.27 pthread_cancel F
>  GLIBC_2.27 pthread_cond_broadcast F
>  GLIBC_2.27 pthread_cond_destroy F
>  GLIBC_2.27 pthread_cond_init F
> @@ -2296,6 +2297,7 @@ GLIBC_2.34 pthread_barrierattr_destroy F
>  GLIBC_2.34 pthread_barrierattr_getpshared F
>  GLIBC_2.34 pthread_barrierattr_init F
>  GLIBC_2.34 pthread_barrierattr_setpshared F
> +GLIBC_2.34 pthread_cancel F
>  GLIBC_2.34 pthread_clockjoin_np F
>  GLIBC_2.34 pthread_cond_clockwait F
>  GLIBC_2.34 pthread_condattr_getclock F
> diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
> index cf21e1dd7f..3e66fa2b76 100644
> --- a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
> @@ -8,7 +8,6 @@ GLIBC_2.27 pthread_attr_setguardsize F
>  GLIBC_2.27 pthread_attr_setstack F
>  GLIBC_2.27 pthread_attr_setstackaddr F
>  GLIBC_2.27 pthread_attr_setstacksize F
> -GLIBC_2.27 pthread_cancel F
>  GLIBC_2.27 pthread_create F
>  GLIBC_2.27 pthread_getattr_default_np F
>  GLIBC_2.27 pthread_getconcurrency F
> diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
> index 60bbe8bbf5..e973fda219 100644
> --- a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
> @@ -864,6 +864,7 @@ GLIBC_2.0 pthread_attr_setinheritsched F
>  GLIBC_2.0 pthread_attr_setschedparam F
>  GLIBC_2.0 pthread_attr_setschedpolicy F
>  GLIBC_2.0 pthread_attr_setscope F
> +GLIBC_2.0 pthread_cancel F
>  GLIBC_2.0 pthread_cond_broadcast F
>  GLIBC_2.0 pthread_cond_destroy F
>  GLIBC_2.0 pthread_cond_init F
> @@ -2380,6 +2381,7 @@ GLIBC_2.34 pthread_barrierattr_destroy F
>  GLIBC_2.34 pthread_barrierattr_getpshared F
>  GLIBC_2.34 pthread_barrierattr_init F
>  GLIBC_2.34 pthread_barrierattr_setpshared F
> +GLIBC_2.34 pthread_cancel F
>  GLIBC_2.34 pthread_clockjoin_np F
>  GLIBC_2.34 pthread_cond_clockwait F
>  GLIBC_2.34 pthread_condattr_getclock F
> diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
> index 6daef10e8d..28f04f6a8d 100644
> --- a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
> @@ -1,5 +1,4 @@
>  GLIBC_2.0 __errno_location F
> -GLIBC_2.0 pthread_cancel F
>  GLIBC_2.0 pthread_create F
>  GLIBC_2.1 pthread_attr_getguardsize F
>  GLIBC_2.1 pthread_attr_getstackaddr F
> diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
> index b7bff58264..6507112c09 100644
> --- a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
> @@ -1307,6 +1307,7 @@ GLIBC_2.2 pthread_barrier_wait F
>  GLIBC_2.2 pthread_barrierattr_destroy F
>  GLIBC_2.2 pthread_barrierattr_init F
>  GLIBC_2.2 pthread_barrierattr_setpshared F
> +GLIBC_2.2 pthread_cancel F
>  GLIBC_2.2 pthread_cond_broadcast F
>  GLIBC_2.2 pthread_cond_destroy F
>  GLIBC_2.2 pthread_cond_init F
> @@ -2267,6 +2268,7 @@ GLIBC_2.34 pthread_barrierattr_destroy F
>  GLIBC_2.34 pthread_barrierattr_getpshared F
>  GLIBC_2.34 pthread_barrierattr_init F
>  GLIBC_2.34 pthread_barrierattr_setpshared F
> +GLIBC_2.34 pthread_cancel F
>  GLIBC_2.34 pthread_clockjoin_np F
>  GLIBC_2.34 pthread_cond_clockwait F
>  GLIBC_2.34 pthread_condattr_getclock F
> diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
> index e5998b3edc..1e78dd8265 100644
> --- a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
> @@ -12,7 +12,6 @@ GLIBC_2.2 pthread_attr_setguardsize F
>  GLIBC_2.2 pthread_attr_setstack F
>  GLIBC_2.2 pthread_attr_setstackaddr F
>  GLIBC_2.2 pthread_attr_setstacksize F
> -GLIBC_2.2 pthread_cancel F
>  GLIBC_2.2 pthread_create F
>  GLIBC_2.2 pthread_getconcurrency F
>  GLIBC_2.2 pthread_getcpuclockid F
> diff --git a/sysdeps/unix/sysv/linux/sh/be/libc.abilist b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
> index 46fca5bdbf..6d4971b996 100644
> --- a/sysdeps/unix/sysv/linux/sh/be/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
> @@ -1293,6 +1293,7 @@ GLIBC_2.2 pthread_barrier_wait F
>  GLIBC_2.2 pthread_barrierattr_destroy F
>  GLIBC_2.2 pthread_barrierattr_init F
>  GLIBC_2.2 pthread_barrierattr_setpshared F
> +GLIBC_2.2 pthread_cancel F
>  GLIBC_2.2 pthread_cond_broadcast F
>  GLIBC_2.2 pthread_cond_destroy F
>  GLIBC_2.2 pthread_cond_init F
> @@ -2236,6 +2237,7 @@ GLIBC_2.34 pthread_barrierattr_destroy F
>  GLIBC_2.34 pthread_barrierattr_getpshared F
>  GLIBC_2.34 pthread_barrierattr_init F
>  GLIBC_2.34 pthread_barrierattr_setpshared F
> +GLIBC_2.34 pthread_cancel F
>  GLIBC_2.34 pthread_clockjoin_np F
>  GLIBC_2.34 pthread_cond_clockwait F
>  GLIBC_2.34 pthread_condattr_getclock F
> diff --git a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
> index 7ee08fbcc9..7336ba3193 100644
> --- a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
> @@ -11,7 +11,6 @@ GLIBC_2.2 pthread_attr_setguardsize F
>  GLIBC_2.2 pthread_attr_setstack F
>  GLIBC_2.2 pthread_attr_setstackaddr F
>  GLIBC_2.2 pthread_attr_setstacksize F
> -GLIBC_2.2 pthread_cancel F
>  GLIBC_2.2 pthread_create F
>  GLIBC_2.2 pthread_getconcurrency F
>  GLIBC_2.2 pthread_getcpuclockid F
> diff --git a/sysdeps/unix/sysv/linux/sh/le/libc.abilist b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
> index 0d885f202e..f1b6bd3824 100644
> --- a/sysdeps/unix/sysv/linux/sh/le/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
> @@ -1293,6 +1293,7 @@ GLIBC_2.2 pthread_barrier_wait F
>  GLIBC_2.2 pthread_barrierattr_destroy F
>  GLIBC_2.2 pthread_barrierattr_init F
>  GLIBC_2.2 pthread_barrierattr_setpshared F
> +GLIBC_2.2 pthread_cancel F
>  GLIBC_2.2 pthread_cond_broadcast F
>  GLIBC_2.2 pthread_cond_destroy F
>  GLIBC_2.2 pthread_cond_init F
> @@ -2233,6 +2234,7 @@ GLIBC_2.34 pthread_barrierattr_destroy F
>  GLIBC_2.34 pthread_barrierattr_getpshared F
>  GLIBC_2.34 pthread_barrierattr_init F
>  GLIBC_2.34 pthread_barrierattr_setpshared F
> +GLIBC_2.34 pthread_cancel F
>  GLIBC_2.34 pthread_clockjoin_np F
>  GLIBC_2.34 pthread_cond_clockwait F
>  GLIBC_2.34 pthread_condattr_getclock F
> diff --git a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
> index 7ee08fbcc9..7336ba3193 100644
> --- a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
> @@ -11,7 +11,6 @@ GLIBC_2.2 pthread_attr_setguardsize F
>  GLIBC_2.2 pthread_attr_setstack F
>  GLIBC_2.2 pthread_attr_setstackaddr F
>  GLIBC_2.2 pthread_attr_setstacksize F
> -GLIBC_2.2 pthread_cancel F
>  GLIBC_2.2 pthread_create F
>  GLIBC_2.2 pthread_getconcurrency F
>  GLIBC_2.2 pthread_getcpuclockid F
> diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
> index c4571c476f..3240a8c655 100644
> --- a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
> @@ -867,6 +867,7 @@ GLIBC_2.0 pthread_attr_setinheritsched F
>  GLIBC_2.0 pthread_attr_setschedparam F
>  GLIBC_2.0 pthread_attr_setschedpolicy F
>  GLIBC_2.0 pthread_attr_setscope F
> +GLIBC_2.0 pthread_cancel F
>  GLIBC_2.0 pthread_cond_broadcast F
>  GLIBC_2.0 pthread_cond_destroy F
>  GLIBC_2.0 pthread_cond_init F
> @@ -2371,6 +2372,7 @@ GLIBC_2.34 pthread_barrierattr_destroy F
>  GLIBC_2.34 pthread_barrierattr_getpshared F
>  GLIBC_2.34 pthread_barrierattr_init F
>  GLIBC_2.34 pthread_barrierattr_setpshared F
> +GLIBC_2.34 pthread_cancel F
>  GLIBC_2.34 pthread_clockjoin_np F
>  GLIBC_2.34 pthread_cond_clockwait F
>  GLIBC_2.34 pthread_condattr_getclock F
> diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
> index 19e1375b54..2362e75022 100644
> --- a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
> @@ -1,5 +1,4 @@
>  GLIBC_2.0 __errno_location F
> -GLIBC_2.0 pthread_cancel F
>  GLIBC_2.0 pthread_create F
>  GLIBC_2.1 pthread_attr_getguardsize F
>  GLIBC_2.1 pthread_attr_getstackaddr F
> diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
> index cb18e01a23..9ae4258422 100644
> --- a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
> @@ -1336,6 +1336,7 @@ GLIBC_2.2 pthread_barrier_wait F
>  GLIBC_2.2 pthread_barrierattr_destroy F
>  GLIBC_2.2 pthread_barrierattr_init F
>  GLIBC_2.2 pthread_barrierattr_setpshared F
> +GLIBC_2.2 pthread_cancel F
>  GLIBC_2.2 pthread_cond_broadcast F
>  GLIBC_2.2 pthread_cond_destroy F
>  GLIBC_2.2 pthread_cond_init F
> @@ -2284,6 +2285,7 @@ GLIBC_2.34 pthread_barrierattr_destroy F
>  GLIBC_2.34 pthread_barrierattr_getpshared F
>  GLIBC_2.34 pthread_barrierattr_init F
>  GLIBC_2.34 pthread_barrierattr_setpshared F
> +GLIBC_2.34 pthread_cancel F
>  GLIBC_2.34 pthread_clockjoin_np F
>  GLIBC_2.34 pthread_cond_clockwait F
>  GLIBC_2.34 pthread_condattr_getclock F
> diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
> index f11429ad6b..6bdd14dfb9 100644
> --- a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
> @@ -11,7 +11,6 @@ GLIBC_2.2 pthread_attr_setguardsize F
>  GLIBC_2.2 pthread_attr_setstack F
>  GLIBC_2.2 pthread_attr_setstackaddr F
>  GLIBC_2.2 pthread_attr_setstacksize F
> -GLIBC_2.2 pthread_cancel F
>  GLIBC_2.2 pthread_create F
>  GLIBC_2.2 pthread_getconcurrency F
>  GLIBC_2.2 pthread_getcpuclockid F
> diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
> index a5a2a8cb64..37d6c5808a 100644
> --- a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
> @@ -1303,6 +1303,7 @@ GLIBC_2.2.5 pthread_barrier_wait F
>  GLIBC_2.2.5 pthread_barrierattr_destroy F
>  GLIBC_2.2.5 pthread_barrierattr_init F
>  GLIBC_2.2.5 pthread_barrierattr_setpshared F
> +GLIBC_2.2.5 pthread_cancel F
>  GLIBC_2.2.5 pthread_cond_broadcast F
>  GLIBC_2.2.5 pthread_cond_destroy F
>  GLIBC_2.2.5 pthread_cond_init F
> @@ -2245,6 +2246,7 @@ GLIBC_2.34 pthread_barrierattr_destroy F
>  GLIBC_2.34 pthread_barrierattr_getpshared F
>  GLIBC_2.34 pthread_barrierattr_init F
>  GLIBC_2.34 pthread_barrierattr_setpshared F
> +GLIBC_2.34 pthread_cancel F
>  GLIBC_2.34 pthread_clockjoin_np F
>  GLIBC_2.34 pthread_cond_clockwait F
>  GLIBC_2.34 pthread_condattr_getclock F
> diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
> index 6644d3cd23..8a26d7c2b2 100644
> --- a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
> @@ -11,7 +11,6 @@ GLIBC_2.2.5 pthread_attr_setguardsize F
>  GLIBC_2.2.5 pthread_attr_setstack F
>  GLIBC_2.2.5 pthread_attr_setstackaddr F
>  GLIBC_2.2.5 pthread_attr_setstacksize F
> -GLIBC_2.2.5 pthread_cancel F
>  GLIBC_2.2.5 pthread_create F
>  GLIBC_2.2.5 pthread_getconcurrency F
>  GLIBC_2.2.5 pthread_getcpuclockid F
> diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
> index 93c17798fa..c8a2b437ad 100644
> --- a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
> @@ -1473,6 +1473,7 @@ GLIBC_2.16 pthread_barrierattr_destroy F
>  GLIBC_2.16 pthread_barrierattr_getpshared F
>  GLIBC_2.16 pthread_barrierattr_init F
>  GLIBC_2.16 pthread_barrierattr_setpshared F
> +GLIBC_2.16 pthread_cancel F
>  GLIBC_2.16 pthread_cond_broadcast F
>  GLIBC_2.16 pthread_cond_destroy F
>  GLIBC_2.16 pthread_cond_init F
> @@ -2350,6 +2351,7 @@ GLIBC_2.34 pthread_barrierattr_destroy F
>  GLIBC_2.34 pthread_barrierattr_getpshared F
>  GLIBC_2.34 pthread_barrierattr_init F
>  GLIBC_2.34 pthread_barrierattr_setpshared F
> +GLIBC_2.34 pthread_cancel F
>  GLIBC_2.34 pthread_clockjoin_np F
>  GLIBC_2.34 pthread_cond_clockwait F
>  GLIBC_2.34 pthread_condattr_getclock F
> diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
> index c7144f2a0e..16622552e6 100644
> --- a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
> @@ -8,7 +8,6 @@ GLIBC_2.16 pthread_attr_setguardsize F
>  GLIBC_2.16 pthread_attr_setstack F
>  GLIBC_2.16 pthread_attr_setstackaddr F
>  GLIBC_2.16 pthread_attr_setstacksize F
> -GLIBC_2.16 pthread_cancel F
>  GLIBC_2.16 pthread_create F
>  GLIBC_2.16 pthread_getconcurrency F
>  GLIBC_2.16 pthread_getcpuclockid F
> 

Ok.

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH 3/3] nptl: Move pthread_cancel into libc
  2021-05-11 17:32   ` Adhemerval Zanella
@ 2021-05-11 17:37     ` Florian Weimer
  2021-05-11 18:13       ` Adhemerval Zanella
  0 siblings, 1 reply; 11+ messages in thread
From: Florian Weimer @ 2021-05-11 17:37 UTC (permalink / raw)
  To: Adhemerval Zanella; +Cc: libc-alpha

* Adhemerval Zanella:

>> diff --git a/nptl/pthreadP.h b/nptl/pthreadP.h
>> index 1692788528..5b844f331a 100644
>> --- a/nptl/pthreadP.h
>> +++ b/nptl/pthreadP.h
>> @@ -521,7 +521,6 @@ extern pthread_t __pthread_self (void);
>>  extern int __pthread_equal (pthread_t thread1, pthread_t thread2);
>>  extern int __pthread_detach (pthread_t th);
>>  libc_hidden_proto (__pthread_detach)
>> -extern int __pthread_cancel (pthread_t th);
>>  extern int __pthread_kill (pthread_t threadid, int signo);
>>  extern void __pthread_exit (void *value) __attribute__ ((__noreturn__));
>>  libc_hidden_proto (__pthread_exit)
>
> I am kinda puzzled how the libc_hidden_proto work without the __pthread_cancel
> prototype.

Sorry, I don't understand the question?  Did I leave libc_hidden_def
somewhere by mistake?

Thanks,
Florian


^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH 3/3] nptl: Move pthread_cancel into libc
  2021-05-11 17:37     ` Florian Weimer
@ 2021-05-11 18:13       ` Adhemerval Zanella
  2021-05-11 18:18         ` Florian Weimer
  0 siblings, 1 reply; 11+ messages in thread
From: Adhemerval Zanella @ 2021-05-11 18:13 UTC (permalink / raw)
  To: Florian Weimer; +Cc: libc-alpha



On 11/05/2021 14:37, Florian Weimer wrote:
> * Adhemerval Zanella:
> 
>>> diff --git a/nptl/pthreadP.h b/nptl/pthreadP.h
>>> index 1692788528..5b844f331a 100644
>>> --- a/nptl/pthreadP.h
>>> +++ b/nptl/pthreadP.h
>>> @@ -521,7 +521,6 @@ extern pthread_t __pthread_self (void);
>>>  extern int __pthread_equal (pthread_t thread1, pthread_t thread2);
>>>  extern int __pthread_detach (pthread_t th);
>>>  libc_hidden_proto (__pthread_detach)
>>> -extern int __pthread_cancel (pthread_t th);
>>>  extern int __pthread_kill (pthread_t threadid, int signo);
>>>  extern void __pthread_exit (void *value) __attribute__ ((__noreturn__));
>>>  libc_hidden_proto (__pthread_exit)
>>
>> I am kinda puzzled how the libc_hidden_proto work without the __pthread_cancel
>> prototype.
> 
> Sorry, I don't understand the question?  Did I leave libc_hidden_def
> somewhere by mistake?

No, it is from where libc_hidden_proto gets __pthread_cancel
definition to use on its internal __typeof.


^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH 3/3] nptl: Move pthread_cancel into libc
  2021-05-11 18:13       ` Adhemerval Zanella
@ 2021-05-11 18:18         ` Florian Weimer
  2021-05-11 18:36           ` Adhemerval Zanella
  0 siblings, 1 reply; 11+ messages in thread
From: Florian Weimer @ 2021-05-11 18:18 UTC (permalink / raw)
  To: Adhemerval Zanella; +Cc: libc-alpha

* Adhemerval Zanella:

> On 11/05/2021 14:37, Florian Weimer wrote:
>> * Adhemerval Zanella:
>> 
>>>> diff --git a/nptl/pthreadP.h b/nptl/pthreadP.h
>>>> index 1692788528..5b844f331a 100644
>>>> --- a/nptl/pthreadP.h
>>>> +++ b/nptl/pthreadP.h
>>>> @@ -521,7 +521,6 @@ extern pthread_t __pthread_self (void);
>>>>  extern int __pthread_equal (pthread_t thread1, pthread_t thread2);
>>>>  extern int __pthread_detach (pthread_t th);
>>>>  libc_hidden_proto (__pthread_detach)
>>>> -extern int __pthread_cancel (pthread_t th);
>>>>  extern int __pthread_kill (pthread_t threadid, int signo);
>>>>  extern void __pthread_exit (void *value) __attribute__ ((__noreturn__));
>>>>  libc_hidden_proto (__pthread_exit)
>>>
>>> I am kinda puzzled how the libc_hidden_proto work without the __pthread_cancel
>>> prototype.
>> 
>> Sorry, I don't understand the question?  Did I leave libc_hidden_def
>> somewhere by mistake?
>
> No, it is from where libc_hidden_proto gets __pthread_cancel
> definition to use on its internal __typeof.

There's no libc_hidden_proto (__pthread_cancel) before or after this
patch.  Sorry for being terse, I really don't get what you are after.

Florian


^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH 3/3] nptl: Move pthread_cancel into libc
  2021-05-11 18:18         ` Florian Weimer
@ 2021-05-11 18:36           ` Adhemerval Zanella
  0 siblings, 0 replies; 11+ messages in thread
From: Adhemerval Zanella @ 2021-05-11 18:36 UTC (permalink / raw)
  To: Florian Weimer; +Cc: libc-alpha



On 11/05/2021 15:18, Florian Weimer wrote:
> * Adhemerval Zanella:
> 
>> On 11/05/2021 14:37, Florian Weimer wrote:
>>> * Adhemerval Zanella:
>>>
>>>>> diff --git a/nptl/pthreadP.h b/nptl/pthreadP.h
>>>>> index 1692788528..5b844f331a 100644
>>>>> --- a/nptl/pthreadP.h
>>>>> +++ b/nptl/pthreadP.h
>>>>> @@ -521,7 +521,6 @@ extern pthread_t __pthread_self (void);
>>>>>  extern int __pthread_equal (pthread_t thread1, pthread_t thread2);
>>>>>  extern int __pthread_detach (pthread_t th);
>>>>>  libc_hidden_proto (__pthread_detach)
>>>>> -extern int __pthread_cancel (pthread_t th);
>>>>>  extern int __pthread_kill (pthread_t threadid, int signo);
>>>>>  extern void __pthread_exit (void *value) __attribute__ ((__noreturn__));
>>>>>  libc_hidden_proto (__pthread_exit)
>>>>
>>>> I am kinda puzzled how the libc_hidden_proto work without the __pthread_cancel
>>>> prototype.
>>>
>>> Sorry, I don't understand the question?  Did I leave libc_hidden_def
>>> somewhere by mistake?
>>
>> No, it is from where libc_hidden_proto gets __pthread_cancel
>> definition to use on its internal __typeof.
> 
> There's no libc_hidden_proto (__pthread_cancel) before or after this
> patch.  Sorry for being terse, I really don't get what you are after.

Nevermind, it was a confusion from my part.  The patch look good.

^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2021-05-11 18:36 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-05-11 10:56 [PATCH 0/3] nptl: Move remaining cancellation functionality into libc Florian Weimer
2021-05-11 10:56 ` [PATCH 1/3] nptl: Move __pthread_register_cancel, __pthread_unregister_cancel to libc Florian Weimer
2021-05-11 17:27   ` Adhemerval Zanella
2021-05-11 10:56 ` [PATCH 2/3] nptl: Move __pthread_register_cancel_defer, __pthread_unregister_cancel_restore " Florian Weimer
2021-05-11 17:29   ` Adhemerval Zanella
2021-05-11 10:56 ` [PATCH 3/3] nptl: Move pthread_cancel into libc Florian Weimer
2021-05-11 17:32   ` Adhemerval Zanella
2021-05-11 17:37     ` Florian Weimer
2021-05-11 18:13       ` Adhemerval Zanella
2021-05-11 18:18         ` Florian Weimer
2021-05-11 18:36           ` Adhemerval Zanella

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).