From d3ef1b56aa81d7f86ebf04c849258f0cf85c4217 Mon Sep 17 00:00:00 2001 From: gfleury Date: Sun, 16 Feb 2025 16:54:32 +0200 Subject: [PATCH] htl: move pthread_rwlock_destroy into libc. Signed-off-by: gfleury Message-ID: <20250216145434.7089-9-gfleury@disroot.org> --- htl/Makefile | 2 +- htl/Versions | 6 ++++-- sysdeps/htl/libc-lockP.h | 3 +-- sysdeps/htl/pt-rwlock-destroy.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 - 8 files changed, 17 insertions(+), 9 deletions(-) diff --git a/htl/Makefile b/htl/Makefile index 85c7b61e99..78d997d4ab 100644 --- a/htl/Makefile +++ b/htl/Makefile @@ -46,7 +46,6 @@ libpthread-routines := \ pt-cancel \ pt-mutex-transfer-np \ pt-rwlock-init \ - pt-rwlock-destroy \ pt-hurd-cond-wait \ pt-hurd-cond-timedwait \ pt-stack-alloc \ @@ -190,6 +189,7 @@ routines := \ pt-nthreads \ pt-pthread_self \ pt-rwlock-attr \ + pt-rwlock-destroy \ pt-rwlock-rdlock \ pt-rwlock-timedrdlock \ pt-rwlock-timedwrlock \ diff --git a/htl/Versions b/htl/Versions index 4c4ceb102c..f636e6ede5 100644 --- a/htl/Versions +++ b/htl/Versions @@ -63,6 +63,7 @@ libc { pthread_mutexattr_setprotocol; pthread_mutexattr_setpshared; pthread_mutexattr_settype; + pthread_rwlock_destroy; pthread_rwlock_rdlock; pthread_rwlock_timedrdlock; pthread_rwlock_timedwrlock; @@ -154,6 +155,7 @@ libc { pthread_mutex_consistent; pthread_mutex_consistent_np; pthread_mutex_getprioceiling; pthread_mutex_setprioceiling; + pthread_rwlock_destroy; pthread_mutex_trylock; pthread_rwlock_clockrdlock; pthread_rwlock_clockwrlock; @@ -263,7 +265,7 @@ libpthread { pthread_once; - pthread_rwlock_destroy; pthread_rwlock_init; + pthread_rwlock_init; pthread_setconcurrency; pthread_setschedprio; pthread_setspecific; @@ -318,6 +320,6 @@ libpthread { __pthread_getattr_np; __pthread_enable_asynccancel; __pthread_disable_asynccancel; - _pthread_rwlock_destroy; _pthread_rwlock_init; + _pthread_rwlock_init; } } diff --git a/sysdeps/htl/libc-lockP.h b/sysdeps/htl/libc-lockP.h index ae2e4668bb..1b5c23ebac 100644 --- a/sysdeps/htl/libc-lockP.h +++ b/sysdeps/htl/libc-lockP.h @@ -94,6 +94,7 @@ extern int __pthread_rwlock_init (pthread_rwlock_t *__rwlock, const pthread_rwlockattr_t *__attr); extern int __pthread_rwlock_destroy (pthread_rwlock_t *__rwlock); +libc_hidden_proto (__pthread_rwlock_destroy) extern int __pthread_rwlock_rdlock (pthread_rwlock_t *__rwlock); libc_hidden_proto (__pthread_rwlock_rdlock) @@ -124,7 +125,6 @@ libc_hidden_proto (__pthread_setcancelstate) #if !defined(__NO_WEAK_PTHREAD_ALIASES) && !IS_IN (libpthread) # ifdef weak_extern weak_extern (__pthread_rwlock_init) -weak_extern (__pthread_rwlock_destroy) weak_extern (__pthread_key_create) weak_extern (__pthread_setspecific) weak_extern (__pthread_getspecific) @@ -132,7 +132,6 @@ weak_extern (__pthread_once) weak_extern (__pthread_initialize) weak_extern (__pthread_atfork) # else -# pragma weak __pthread_rwlock_destroy # pragma weak __pthread_key_create # pragma weak __pthread_setspecific # pragma weak __pthread_getspecific diff --git a/sysdeps/htl/pt-rwlock-destroy.c b/sysdeps/htl/pt-rwlock-destroy.c index 0f862c89a2..ffdd3c0187 100644 --- a/sysdeps/htl/pt-rwlock-destroy.c +++ b/sysdeps/htl/pt-rwlock-destroy.c @@ -18,11 +18,16 @@ #include #include +#include int -_pthread_rwlock_destroy (pthread_rwlock_t *rwlock) +__pthread_rwlock_destroy (pthread_rwlock_t *rwlock) { return 0; } +libc_hidden_def (__pthread_rwlock_destroy) +versioned_symbol (libc, __pthread_rwlock_destroy, pthread_rwlock_destroy, GLIBC_2_42); -strong_alias (_pthread_rwlock_destroy, pthread_rwlock_destroy); +#if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_12, GLIBC_2_42) +compat_symbol (libpthread, __pthread_rwlock_destroy, pthread_rwlock_destroy, GLIBC_2_12); +#endif diff --git a/sysdeps/mach/hurd/i386/libc.abilist b/sysdeps/mach/hurd/i386/libc.abilist index 7fd490912b..e96b22bde4 100644 --- a/sysdeps/mach/hurd/i386/libc.abilist +++ b/sysdeps/mach/hurd/i386/libc.abilist @@ -88,6 +88,7 @@ GLIBC_2.12 pthread_mutexattr_setprioceiling F GLIBC_2.12 pthread_mutexattr_setprotocol F GLIBC_2.12 pthread_mutexattr_setpshared F GLIBC_2.12 pthread_mutexattr_settype F +GLIBC_2.12 pthread_rwlock_destroy F GLIBC_2.12 pthread_rwlock_rdlock F GLIBC_2.12 pthread_rwlock_timedrdlock F GLIBC_2.12 pthread_rwlock_timedwrlock F @@ -2595,6 +2596,7 @@ GLIBC_2.42 pthread_mutex_setprioceiling F GLIBC_2.42 pthread_mutex_trylock F GLIBC_2.42 pthread_rwlock_clockrdlock F GLIBC_2.42 pthread_rwlock_clockwrlock F +GLIBC_2.42 pthread_rwlock_destroy F GLIBC_2.42 pthread_rwlock_rdlock F GLIBC_2.42 pthread_rwlock_timedrdlock F GLIBC_2.42 pthread_rwlock_timedwrlock F diff --git a/sysdeps/mach/hurd/i386/libpthread.abilist b/sysdeps/mach/hurd/i386/libpthread.abilist index 1b4cfa5f1e..3ebfa63738 100644 --- a/sysdeps/mach/hurd/i386/libpthread.abilist +++ b/sysdeps/mach/hurd/i386/libpthread.abilist @@ -36,7 +36,6 @@ GLIBC_2.12 pthread_key_delete F GLIBC_2.12 pthread_kill F GLIBC_2.12 pthread_mutex_transfer_np F GLIBC_2.12 pthread_once F -GLIBC_2.12 pthread_rwlock_destroy F GLIBC_2.12 pthread_rwlock_init F GLIBC_2.12 pthread_setconcurrency F GLIBC_2.12 pthread_setschedprio F diff --git a/sysdeps/mach/hurd/x86_64/libc.abilist b/sysdeps/mach/hurd/x86_64/libc.abilist index dfda521360..f5559a16fa 100644 --- a/sysdeps/mach/hurd/x86_64/libc.abilist +++ b/sysdeps/mach/hurd/x86_64/libc.abilist @@ -1581,6 +1581,7 @@ GLIBC_2.38 pthread_mutexattr_setrobust_np F GLIBC_2.38 pthread_mutexattr_settype F GLIBC_2.38 pthread_rwlock_clockrdlock F GLIBC_2.38 pthread_rwlock_clockwrlock F +GLIBC_2.38 pthread_rwlock_destroy F GLIBC_2.38 pthread_rwlock_rdlock F GLIBC_2.38 pthread_rwlock_timedrdlock F GLIBC_2.38 pthread_rwlock_timedwrlock F @@ -2278,6 +2279,7 @@ GLIBC_2.42 pthread_mutex_setprioceiling F GLIBC_2.42 pthread_mutex_trylock F GLIBC_2.42 pthread_rwlock_clockrdlock F GLIBC_2.42 pthread_rwlock_clockwrlock F +GLIBC_2.42 pthread_rwlock_destroy F GLIBC_2.42 pthread_rwlock_rdlock F GLIBC_2.42 pthread_rwlock_timedrdlock F GLIBC_2.42 pthread_rwlock_timedwrlock F diff --git a/sysdeps/mach/hurd/x86_64/libpthread.abilist b/sysdeps/mach/hurd/x86_64/libpthread.abilist index 32b0b50275..106aa09d8a 100644 --- a/sysdeps/mach/hurd/x86_64/libpthread.abilist +++ b/sysdeps/mach/hurd/x86_64/libpthread.abilist @@ -56,7 +56,6 @@ GLIBC_2.38 pthread_key_delete F GLIBC_2.38 pthread_kill F GLIBC_2.38 pthread_mutex_transfer_np F GLIBC_2.38 pthread_once F -GLIBC_2.38 pthread_rwlock_destroy F GLIBC_2.38 pthread_rwlock_init F GLIBC_2.38 pthread_setconcurrency F GLIBC_2.38 pthread_setschedprio F