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

Signed-off-by: gfleury <gfle...@disroot.org>
Message-ID: <20250216145434.7089-6-gfle...@disroot.org>
---
 htl/Makefile                                |  4 ++--
 htl/Versions                                |  5 ++++-
 sysdeps/htl/libc-lockP.h                    |  6 ++----
 sysdeps/htl/pt-rwlock-tryrdlock.c           | 10 ++++++++--
 sysdeps/htl/pt-rwlock-trywrlock.c           | 10 ++++++++--
 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 --
 9 files changed, 32 insertions(+), 15 deletions(-)

diff --git a/htl/Makefile b/htl/Makefile
index 651af8d82a..0c85ab462c 100644
--- a/htl/Makefile
+++ b/htl/Makefile
@@ -48,8 +48,6 @@ libpthread-routines := \
   pt-rwlock-init \
   pt-rwlock-destroy \
   pt-rwlock-rdlock \
-  pt-rwlock-tryrdlock \
-  pt-rwlock-trywrlock \
   pt-rwlock-wrlock \
   pt-rwlock-timedrdlock \
   pt-rwlock-timedwrlock \
@@ -197,6 +195,8 @@ routines := \
   pt-nthreads \
   pt-pthread_self \
   pt-rwlock-attr \
+  pt-rwlock-tryrdlock \
+  pt-rwlock-trywrlock \
   pt-rwlockattr-destroy \
   pt-rwlockattr-getpshared \
   pt-rwlockattr-init \
diff --git a/htl/Versions b/htl/Versions
index 1d666bcb3c..ca59cd5c99 100644
--- a/htl/Versions
+++ b/htl/Versions
@@ -63,6 +63,8 @@ libc {
     pthread_mutexattr_setprotocol;
     pthread_mutexattr_setpshared;
     pthread_mutexattr_settype;
+    pthread_rwlock_tryrdlock;
+    pthread_rwlock_trywrlock;
     pthread_rwlockattr_destroy;
     pthread_rwlockattr_getpshared;
     pthread_rwlockattr_init;
@@ -146,6 +148,8 @@ libc {
     pthread_mutex_getprioceiling;
     pthread_mutex_setprioceiling;
     pthread_mutex_trylock;
+    pthread_rwlock_tryrdlock;
+    pthread_rwlock_trywrlock;
     pthread_rwlockattr_destroy;
     pthread_rwlockattr_getpshared;
     pthread_rwlockattr_init;
@@ -247,7 +251,6 @@ libpthread {
 
     pthread_rwlock_destroy; pthread_rwlock_init; pthread_rwlock_rdlock;
     pthread_rwlock_timedrdlock; pthread_rwlock_timedwrlock;
-    pthread_rwlock_tryrdlock; pthread_rwlock_trywrlock;
     pthread_rwlock_unlock; pthread_rwlock_wrlock;
 
     pthread_setconcurrency;
diff --git a/sysdeps/htl/libc-lockP.h b/sysdeps/htl/libc-lockP.h
index 6804c0d636..5fad451dfc 100644
--- a/sysdeps/htl/libc-lockP.h
+++ b/sysdeps/htl/libc-lockP.h
@@ -98,10 +98,12 @@ extern int __pthread_rwlock_destroy (pthread_rwlock_t 
*__rwlock);
 extern int __pthread_rwlock_rdlock (pthread_rwlock_t *__rwlock);
 
 extern int __pthread_rwlock_tryrdlock (pthread_rwlock_t *__rwlock);
+libc_hidden_proto (__pthread_rwlock_tryrdlock)
 
 extern int __pthread_rwlock_wrlock (pthread_rwlock_t *__rwlock);
 
 extern int __pthread_rwlock_trywrlock (pthread_rwlock_t *__rwlock);
+libc_hidden_proto (__pthread_rwlock_trywrlock)
 
 extern int __pthread_rwlock_unlock (pthread_rwlock_t *__rwlock);
 
@@ -121,9 +123,7 @@ libc_hidden_proto (__pthread_setcancelstate)
 weak_extern (__pthread_rwlock_init)
 weak_extern (__pthread_rwlock_destroy)
 weak_extern (__pthread_rwlock_rdlock)
-weak_extern (__pthread_rwlock_tryrdlock)
 weak_extern (__pthread_rwlock_wrlock)
-weak_extern (__pthread_rwlock_trywrlock)
 weak_extern (__pthread_rwlock_unlock)
 weak_extern (__pthread_key_create)
 weak_extern (__pthread_setspecific)
@@ -134,9 +134,7 @@ weak_extern (__pthread_atfork)
 # else
 #  pragma weak __pthread_rwlock_destroy
 #  pragma weak __pthread_rwlock_rdlock
-#  pragma weak __pthread_rwlock_tryrdlock
 #  pragma weak __pthread_rwlock_wrlock
-#  pragma weak __pthread_rwlock_trywrlock
 #  pragma weak __pthread_rwlock_unlock
 #  pragma weak __pthread_key_create
 #  pragma weak __pthread_setspecific
diff --git a/sysdeps/htl/pt-rwlock-tryrdlock.c 
b/sysdeps/htl/pt-rwlock-tryrdlock.c
index c34ffccbc4..74aa636f93 100644
--- a/sysdeps/htl/pt-rwlock-tryrdlock.c
+++ b/sysdeps/htl/pt-rwlock-tryrdlock.c
@@ -18,12 +18,12 @@
 
 #include <pthread.h>
 #include <assert.h>
-
 #include <pt-internal.h>
+#include <shlib-compat.h>
 
 /* Try to acquire RWLOCK.  */
 int
-pthread_rwlock_tryrdlock (struct __pthread_rwlock *rwlock)
+__pthread_rwlock_tryrdlock (struct __pthread_rwlock *rwlock)
 {
   __pthread_spin_wait (&rwlock->__lock);
   if (__pthread_spin_trylock (&rwlock->__held) == 0)
@@ -53,3 +53,9 @@ pthread_rwlock_tryrdlock (struct __pthread_rwlock *rwlock)
 
   return EBUSY;
 }
+libc_hidden_def (__pthread_rwlock_tryrdlock)
+versioned_symbol (libc, __pthread_rwlock_tryrdlock, pthread_rwlock_tryrdlock, 
GLIBC_2_42);
+
+#if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_12, GLIBC_2_42)
+compat_symbol (libpthread, __pthread_rwlock_tryrdlock, 
pthread_rwlock_tryrdlock, GLIBC_2_12);
+#endif
diff --git a/sysdeps/htl/pt-rwlock-trywrlock.c 
b/sysdeps/htl/pt-rwlock-trywrlock.c
index 926637a3ff..8de0e59132 100644
--- a/sysdeps/htl/pt-rwlock-trywrlock.c
+++ b/sysdeps/htl/pt-rwlock-trywrlock.c
@@ -18,12 +18,12 @@
 
 #include <pthread.h>
 #include <assert.h>
-
 #include <pt-internal.h>
+#include <shlib-compat.h>
 
 /* Try to acquire RWLOCK for writing.  */
 int
-pthread_rwlock_trywrlock (struct __pthread_rwlock *rwlock)
+__pthread_rwlock_trywrlock (struct __pthread_rwlock *rwlock)
 {
   __pthread_spin_wait (&rwlock->__lock);
   if (__pthread_spin_trylock (&rwlock->__held) == 0)
@@ -43,3 +43,9 @@ pthread_rwlock_trywrlock (struct __pthread_rwlock *rwlock)
 
   return EBUSY;
 }
+libc_hidden_def (__pthread_rwlock_trywrlock)
+versioned_symbol (libc, __pthread_rwlock_trywrlock, pthread_rwlock_trywrlock, 
GLIBC_2_42);
+
+#if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_12, GLIBC_2_42)
+compat_symbol (libpthread, __pthread_rwlock_trywrlock, 
pthread_rwlock_trywrlock, GLIBC_2_12);
+#endif
diff --git a/sysdeps/mach/hurd/i386/libc.abilist 
b/sysdeps/mach/hurd/i386/libc.abilist
index 55ad6b423f..3d786282fa 100644
--- a/sysdeps/mach/hurd/i386/libc.abilist
+++ b/sysdeps/mach/hurd/i386/libc.abilist
@@ -88,6 +88,8 @@ 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_tryrdlock F
+GLIBC_2.12 pthread_rwlock_trywrlock F
 GLIBC_2.12 pthread_rwlockattr_destroy F
 GLIBC_2.12 pthread_rwlockattr_getpshared F
 GLIBC_2.12 pthread_rwlockattr_init F
@@ -2584,6 +2586,8 @@ GLIBC_2.42 pthread_mutex_consistent_np F
 GLIBC_2.42 pthread_mutex_getprioceiling F
 GLIBC_2.42 pthread_mutex_setprioceiling F
 GLIBC_2.42 pthread_mutex_trylock F
+GLIBC_2.42 pthread_rwlock_tryrdlock F
+GLIBC_2.42 pthread_rwlock_trywrlock F
 GLIBC_2.42 pthread_rwlockattr_destroy F
 GLIBC_2.42 pthread_rwlockattr_getpshared F
 GLIBC_2.42 pthread_rwlockattr_init F
diff --git a/sysdeps/mach/hurd/i386/libpthread.abilist 
b/sysdeps/mach/hurd/i386/libpthread.abilist
index df7c46455a..70db951b10 100644
--- a/sysdeps/mach/hurd/i386/libpthread.abilist
+++ b/sysdeps/mach/hurd/i386/libpthread.abilist
@@ -41,8 +41,6 @@ GLIBC_2.12 pthread_rwlock_init F
 GLIBC_2.12 pthread_rwlock_rdlock F
 GLIBC_2.12 pthread_rwlock_timedrdlock F
 GLIBC_2.12 pthread_rwlock_timedwrlock F
-GLIBC_2.12 pthread_rwlock_tryrdlock F
-GLIBC_2.12 pthread_rwlock_trywrlock F
 GLIBC_2.12 pthread_rwlock_unlock F
 GLIBC_2.12 pthread_rwlock_wrlock F
 GLIBC_2.12 pthread_setconcurrency F
diff --git a/sysdeps/mach/hurd/x86_64/libc.abilist 
b/sysdeps/mach/hurd/x86_64/libc.abilist
index 3075e10305..305cdb8cef 100644
--- a/sysdeps/mach/hurd/x86_64/libc.abilist
+++ b/sysdeps/mach/hurd/x86_64/libc.abilist
@@ -1579,6 +1579,8 @@ GLIBC_2.38 pthread_mutexattr_setpshared F
 GLIBC_2.38 pthread_mutexattr_setrobust F
 GLIBC_2.38 pthread_mutexattr_setrobust_np F
 GLIBC_2.38 pthread_mutexattr_settype F
+GLIBC_2.38 pthread_rwlock_tryrdlock F
+GLIBC_2.38 pthread_rwlock_trywrlock F
 GLIBC_2.38 pthread_rwlockattr_destroy F
 GLIBC_2.38 pthread_rwlockattr_getpshared F
 GLIBC_2.38 pthread_rwlockattr_init F
@@ -2267,6 +2269,8 @@ GLIBC_2.42 pthread_mutex_consistent_np F
 GLIBC_2.42 pthread_mutex_getprioceiling F
 GLIBC_2.42 pthread_mutex_setprioceiling F
 GLIBC_2.42 pthread_mutex_trylock F
+GLIBC_2.42 pthread_rwlock_tryrdlock F
+GLIBC_2.42 pthread_rwlock_trywrlock F
 GLIBC_2.42 pthread_rwlockattr_destroy F
 GLIBC_2.42 pthread_rwlockattr_getpshared F
 GLIBC_2.42 pthread_rwlockattr_init F
diff --git a/sysdeps/mach/hurd/x86_64/libpthread.abilist 
b/sysdeps/mach/hurd/x86_64/libpthread.abilist
index 89fe63f256..b712a1b3bf 100644
--- a/sysdeps/mach/hurd/x86_64/libpthread.abilist
+++ b/sysdeps/mach/hurd/x86_64/libpthread.abilist
@@ -63,8 +63,6 @@ GLIBC_2.38 pthread_rwlock_init F
 GLIBC_2.38 pthread_rwlock_rdlock F
 GLIBC_2.38 pthread_rwlock_timedrdlock F
 GLIBC_2.38 pthread_rwlock_timedwrlock F
-GLIBC_2.38 pthread_rwlock_tryrdlock F
-GLIBC_2.38 pthread_rwlock_trywrlock F
 GLIBC_2.38 pthread_rwlock_unlock F
 GLIBC_2.38 pthread_rwlock_wrlock F
 GLIBC_2.38 pthread_setconcurrency F
-- 
2.47.2


Reply via email to