From: gfleury <gfle...@disroot.org>

Signed-off-by: gfleury <gfle...@disroot.org>
Message-ID: <20250216145434.7089-9-gfle...@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 <pthread.h>
 #include <pt-internal.h>
+#include <shlib-compat.h>
 
 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
-- 
2.47.2


Reply via email to