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
