From: gfleury <gfle...@disroot.org> Message-ID: <20250815181500.107433-10-gfle...@disroot.org> --- htl/Makefile | 4 ++-- htl/Versions | 4 ++-- htl/pt-cancel.c | 9 ++++++++- sysdeps/mach/hurd/i386/libc.abilist | 2 ++ sysdeps/mach/hurd/i386/libpthread.abilist | 1 - sysdeps/mach/hurd/x86_64/libc.abilist | 2 ++ sysdeps/mach/hurd/x86_64/libpthread.abilist | 1 - 7 files changed, 16 insertions(+), 7 deletions(-)
diff --git a/htl/Makefile b/htl/Makefile index 88f65c419a..3ec68aa842 100644 --- a/htl/Makefile +++ b/htl/Makefile @@ -33,12 +33,10 @@ libpthread-routines := \ pt-join \ pt-spin-inlines \ pt-testcancel \ - pt-cancel \ pt-mutex-transfer-np \ pt-hurd-cond-wait \ pt-hurd-cond-timedwait \ pt-startup \ - pt-docancel \ pt-sysdep \ pt-setup \ pt-spin \ @@ -130,6 +128,7 @@ routines := \ pt-barrierattr-setpshared \ pt-block \ pt-block-intr \ + pt-cancel \ pt-cleanup \ pt-cond \ pt-cond-brdcast \ @@ -146,6 +145,7 @@ routines := \ pt-condattr-setpshared \ pt-dealloc \ pt-destroy-specific \ + pt-docancel \ pt-getconcurrency \ pt-getcpuclockid \ pt-getschedparam \ diff --git a/htl/Versions b/htl/Versions index e5ff9186aa..078aa8b33a 100644 --- a/htl/Versions +++ b/htl/Versions @@ -37,6 +37,7 @@ libc { pthread_barrierattr_getpshared; pthread_barrierattr_init; pthread_barrierattr_setpshared; + pthread_cancel; pthread_cond_broadcast; pthread_cond_destroy; pthread_cond_init; @@ -192,6 +193,7 @@ libc { } GLIBC_2.43 { + pthread_cancel; pthread_getconcurrency; pthread_getcpuclockid; pthread_setconcurrency; @@ -283,8 +285,6 @@ libpthread { pthread_atfork; - pthread_cancel; - pthread_create; pthread_detach; pthread_exit; pthread_getattr_np; diff --git a/htl/pt-cancel.c b/htl/pt-cancel.c index b4f3a8b7e4..0005284fa8 100644 --- a/htl/pt-cancel.c +++ b/htl/pt-cancel.c @@ -19,9 +19,11 @@ #include <pthread.h> #include <pt-internal.h> +#include <shlib-compat.h> +#include <ldsodefs.h> int -pthread_cancel (pthread_t t) +__pthread_cancel (pthread_t t) { int err = 0; struct __pthread *p; @@ -60,3 +62,8 @@ pthread_cancel (pthread_t t) return err; } +versioned_symbol (libc, __pthread_cancel, pthread_cancel, GLIBC_2_43); + +#if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_12, GLIBC_2_43) +compat_symbol (libpthread, __pthread_cancel, pthread_cancel, GLIBC_2_12); +#endif diff --git a/sysdeps/mach/hurd/i386/libc.abilist b/sysdeps/mach/hurd/i386/libc.abilist index 20cff5f143..1128ca2496 100644 --- a/sysdeps/mach/hurd/i386/libc.abilist +++ b/sysdeps/mach/hurd/i386/libc.abilist @@ -58,6 +58,7 @@ GLIBC_2.12 pthread_barrierattr_destroy F GLIBC_2.12 pthread_barrierattr_getpshared F GLIBC_2.12 pthread_barrierattr_init F GLIBC_2.12 pthread_barrierattr_setpshared F +GLIBC_2.12 pthread_cancel F GLIBC_2.12 pthread_cond_broadcast F GLIBC_2.12 pthread_cond_destroy F GLIBC_2.12 pthread_cond_init F @@ -2638,6 +2639,7 @@ GLIBC_2.42 uabs F GLIBC_2.42 uimaxabs F GLIBC_2.42 ulabs F GLIBC_2.42 ullabs F +GLIBC_2.43 pthread_cancel F GLIBC_2.43 pthread_getconcurrency F GLIBC_2.43 pthread_getcpuclockid F GLIBC_2.43 pthread_setconcurrency F diff --git a/sysdeps/mach/hurd/i386/libpthread.abilist b/sysdeps/mach/hurd/i386/libpthread.abilist index b3afc039e5..3c7c8d9398 100644 --- a/sysdeps/mach/hurd/i386/libpthread.abilist +++ b/sysdeps/mach/hurd/i386/libpthread.abilist @@ -20,7 +20,6 @@ GLIBC_2.12 flockfile F GLIBC_2.12 ftrylockfile F GLIBC_2.12 funlockfile F GLIBC_2.12 pthread_atfork F -GLIBC_2.12 pthread_cancel F GLIBC_2.12 pthread_create F GLIBC_2.12 pthread_detach F GLIBC_2.12 pthread_exit F diff --git a/sysdeps/mach/hurd/x86_64/libc.abilist b/sysdeps/mach/hurd/x86_64/libc.abilist index 88d180fcf2..8b5d0c8871 100644 --- a/sysdeps/mach/hurd/x86_64/libc.abilist +++ b/sysdeps/mach/hurd/x86_64/libc.abilist @@ -1539,6 +1539,7 @@ GLIBC_2.38 pthread_barrierattr_destroy F GLIBC_2.38 pthread_barrierattr_getpshared F GLIBC_2.38 pthread_barrierattr_init F GLIBC_2.38 pthread_barrierattr_setpshared F +GLIBC_2.38 pthread_cancel F GLIBC_2.38 pthread_cond_broadcast F GLIBC_2.38 pthread_cond_clockwait F GLIBC_2.38 pthread_cond_destroy F @@ -2320,6 +2321,7 @@ GLIBC_2.42 uabs F GLIBC_2.42 uimaxabs F GLIBC_2.42 ulabs F GLIBC_2.42 ullabs F +GLIBC_2.43 pthread_cancel F GLIBC_2.43 pthread_getconcurrency F GLIBC_2.43 pthread_getcpuclockid F GLIBC_2.43 pthread_setconcurrency F diff --git a/sysdeps/mach/hurd/x86_64/libpthread.abilist b/sysdeps/mach/hurd/x86_64/libpthread.abilist index e76c359b1d..f8d7ee6bfd 100644 --- a/sysdeps/mach/hurd/x86_64/libpthread.abilist +++ b/sysdeps/mach/hurd/x86_64/libpthread.abilist @@ -37,7 +37,6 @@ GLIBC_2.38 mtx_lock F GLIBC_2.38 mtx_timedlock F GLIBC_2.38 mtx_trylock F GLIBC_2.38 mtx_unlock F -GLIBC_2.38 pthread_cancel F GLIBC_2.38 pthread_clockjoin_np F GLIBC_2.38 pthread_create F GLIBC_2.38 pthread_detach F -- 2.47.2