From d9898406939dee16819e90c3f55c356e3e5ef251 Mon Sep 17 00:00:00 2001 From: gfleury Date: Tue, 18 Nov 2025 14:50:44 +0200 Subject: [PATCH] htl: move pthread_hurd_cond_timedwait_np, pthread_hurd_cond_wait_np into libc. Message-ID: <20251118125044.1160780-3-gfleury@disroot.org> --- htl/Makefile | 4 ++-- htl/Versions | 10 +++++++--- sysdeps/mach/hurd/htl/pt-hurd-cond-timedwait.c | 7 ++++++- sysdeps/mach/hurd/htl/pt-hurd-cond-wait.c | 7 ++++++- sysdeps/mach/hurd/i386/libc.abilist | 4 ++++ sysdeps/mach/hurd/i386/libpthread.abilist | 2 -- sysdeps/mach/hurd/x86_64/libc.abilist | 4 ++++ sysdeps/mach/hurd/x86_64/libpthread.abilist | 2 -- 8 files changed, 29 insertions(+), 11 deletions(-) diff --git a/htl/Makefile b/htl/Makefile index ee377463a1..9f14f15c41 100644 --- a/htl/Makefile +++ b/htl/Makefile @@ -26,8 +26,6 @@ LCLHDRS := libpthread-routines := \ pt-spin-inlines \ - pt-hurd-cond-wait \ - pt-hurd-cond-timedwait \ pt-spin \ # libpthread-routine @@ -123,6 +121,8 @@ routines := \ pt-getname-np \ pt-getschedparam \ pt-getspecific \ + pt-hurd-cond-timedwait \ + pt-hurd-cond-wait \ pt-init-specific \ pt-join \ pt-key-create \ diff --git a/htl/Versions b/htl/Versions index ed29636917..0eff9fd7be 100644 --- a/htl/Versions +++ b/htl/Versions @@ -127,7 +127,10 @@ libc { pthread_cond_init; pthread_cond_signal; pthread_cond_wait; pthread_cond_timedwait; pthread_equal; - pthread_exit; pthread_getschedparam; pthread_setschedparam; + pthread_exit; + pthread_hurd_cond_wait_np; + pthread_hurd_cond_timedwait_np; + pthread_getschedparam; pthread_setschedparam; pthread_mutex_destroy; pthread_mutex_init; pthread_mutex_lock; pthread_mutex_unlock; pthread_self; pthread_setcancelstate; pthread_setcanceltype; @@ -231,6 +234,8 @@ libc { pthread_getconcurrency; pthread_getcpuclockid; pthread_getname_np; + pthread_hurd_cond_wait_np; + pthread_hurd_cond_timedwait_np; pthread_join; pthread_kill; pthread_mutex_transfer_np; @@ -338,8 +343,7 @@ libpthread { _pthread_spin_lock; } GLIBC_2.21 { - pthread_hurd_cond_wait_np; - pthread_hurd_cond_timedwait_np; + __libpthread_version_placeholder; } GLIBC_2.32 { diff --git a/sysdeps/mach/hurd/htl/pt-hurd-cond-timedwait.c b/sysdeps/mach/hurd/htl/pt-hurd-cond-timedwait.c index a6c5597dfd..4903b8f8bd 100644 --- a/sysdeps/mach/hurd/htl/pt-hurd-cond-timedwait.c +++ b/sysdeps/mach/hurd/htl/pt-hurd-cond-timedwait.c @@ -22,6 +22,7 @@ #include #include +#include extern int __pthread_hurd_cond_timedwait_internal (pthread_cond_t *cond, pthread_mutex_t *mutex, @@ -36,7 +37,11 @@ __pthread_hurd_cond_timedwait_np (pthread_cond_t *cond, return __pthread_hurd_cond_timedwait_internal (cond, mutex, abstime); } -strong_alias (__pthread_hurd_cond_timedwait_np, pthread_hurd_cond_timedwait_np); +versioned_symbol (libc, __pthread_hurd_cond_timedwait_np, pthread_hurd_cond_timedwait_np, GLIBC_2_43); + +#if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_21, GLIBC_2_43) +compat_symbol (libpthread, __pthread_hurd_cond_timedwait_np, pthread_hurd_cond_timedwait_np, GLIBC_2_21); +#endif int __pthread_hurd_cond_timedwait_internal (pthread_cond_t *cond, diff --git a/sysdeps/mach/hurd/htl/pt-hurd-cond-wait.c b/sysdeps/mach/hurd/htl/pt-hurd-cond-wait.c index d6f541a1fe..fcfa7978d9 100644 --- a/sysdeps/mach/hurd/htl/pt-hurd-cond-wait.c +++ b/sysdeps/mach/hurd/htl/pt-hurd-cond-wait.c @@ -21,6 +21,7 @@ #include #include +#include /* Implemented in pt-hurd-cond-timedwait.c. */ extern int __pthread_hurd_cond_timedwait_internal (pthread_cond_t *cond, @@ -37,4 +38,8 @@ __pthread_hurd_cond_wait_np (pthread_cond_t *cond, pthread_mutex_t *mutex) return err == EINTR; } -strong_alias (__pthread_hurd_cond_wait_np, pthread_hurd_cond_wait_np); +versioned_symbol (libc, __pthread_hurd_cond_wait_np, pthread_hurd_cond_wait_np, GLIBC_2_43); + +#if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_21, GLIBC_2_43) +compat_symbol (libpthread, __pthread_hurd_cond_wait_np, pthread_hurd_cond_wait_np, GLIBC_2_21); +#endif diff --git a/sysdeps/mach/hurd/i386/libc.abilist b/sysdeps/mach/hurd/i386/libc.abilist index a01535746f..6099178c9e 100644 --- a/sysdeps/mach/hurd/i386/libc.abilist +++ b/sysdeps/mach/hurd/i386/libc.abilist @@ -2110,6 +2110,8 @@ GLIBC_2.21 pthread_condattr_init F GLIBC_2.21 pthread_equal F GLIBC_2.21 pthread_exit F GLIBC_2.21 pthread_getschedparam F +GLIBC_2.21 pthread_hurd_cond_timedwait_np F +GLIBC_2.21 pthread_hurd_cond_wait_np F GLIBC_2.21 pthread_mutex_destroy F GLIBC_2.21 pthread_mutex_init F GLIBC_2.21 pthread_mutex_lock F @@ -2679,6 +2681,8 @@ GLIBC_2.43 pthread_getattr_np F GLIBC_2.43 pthread_getconcurrency F GLIBC_2.43 pthread_getcpuclockid F GLIBC_2.43 pthread_getname_np F +GLIBC_2.43 pthread_hurd_cond_timedwait_np F +GLIBC_2.43 pthread_hurd_cond_wait_np F GLIBC_2.43 pthread_join F GLIBC_2.43 pthread_kill F GLIBC_2.43 pthread_mutex_transfer_np F diff --git a/sysdeps/mach/hurd/i386/libpthread.abilist b/sysdeps/mach/hurd/i386/libpthread.abilist index 318aa1a690..24e6bd2c4a 100644 --- a/sysdeps/mach/hurd/i386/libpthread.abilist +++ b/sysdeps/mach/hurd/i386/libpthread.abilist @@ -10,8 +10,6 @@ GLIBC_2.12 pthread_spin_init F GLIBC_2.12 pthread_spin_lock F GLIBC_2.12 pthread_spin_trylock F GLIBC_2.12 pthread_spin_unlock F -GLIBC_2.21 pthread_hurd_cond_timedwait_np F -GLIBC_2.21 pthread_hurd_cond_wait_np F GLIBC_2.32 call_once F GLIBC_2.32 cnd_broadcast F GLIBC_2.32 cnd_destroy F diff --git a/sysdeps/mach/hurd/x86_64/libc.abilist b/sysdeps/mach/hurd/x86_64/libc.abilist index 38261ba339..1aab058a9f 100644 --- a/sysdeps/mach/hurd/x86_64/libc.abilist +++ b/sysdeps/mach/hurd/x86_64/libc.abilist @@ -1565,6 +1565,8 @@ GLIBC_2.38 pthread_getconcurrency F GLIBC_2.38 pthread_getcpuclockid F GLIBC_2.38 pthread_getschedparam F GLIBC_2.38 pthread_getspecific F +GLIBC_2.38 pthread_hurd_cond_timedwait_np F +GLIBC_2.38 pthread_hurd_cond_wait_np F GLIBC_2.38 pthread_join F GLIBC_2.38 pthread_key_create F GLIBC_2.38 pthread_key_delete F @@ -2357,6 +2359,8 @@ GLIBC_2.43 pthread_getattr_np F GLIBC_2.43 pthread_getconcurrency F GLIBC_2.43 pthread_getcpuclockid F GLIBC_2.43 pthread_getname_np F +GLIBC_2.43 pthread_hurd_cond_timedwait_np F +GLIBC_2.43 pthread_hurd_cond_wait_np F GLIBC_2.43 pthread_join F GLIBC_2.43 pthread_kill F GLIBC_2.43 pthread_mutex_transfer_np F diff --git a/sysdeps/mach/hurd/x86_64/libpthread.abilist b/sysdeps/mach/hurd/x86_64/libpthread.abilist index c9ad949d65..57d796482b 100644 --- a/sysdeps/mach/hurd/x86_64/libpthread.abilist +++ b/sysdeps/mach/hurd/x86_64/libpthread.abilist @@ -17,8 +17,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_hurd_cond_timedwait_np F -GLIBC_2.38 pthread_hurd_cond_wait_np F GLIBC_2.38 pthread_spin_destroy F GLIBC_2.38 pthread_spin_init F GLIBC_2.38 pthread_spin_lock F