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

Message-ID: <20250817104023.91919-2-gfle...@disroot.org>
---
 htl/Makefile                                | 2 +-
 htl/Versions                                | 4 +++-
 sysdeps/htl/sem-destroy.c                   | 6 +++++-
 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, 13 insertions(+), 5 deletions(-)

diff --git a/htl/Makefile b/htl/Makefile
index ec48f8b91a..e4a3adc99c 100644
--- a/htl/Makefile
+++ b/htl/Makefile
@@ -35,7 +35,6 @@ libpthread-routines := \
   pt-getname-np \
   pt-setname-np \
   sem_close \
-  sem-destroy \
   sem-getvalue \
   sem-init \
   sem_open \
@@ -211,6 +210,7 @@ routines := \
   pt-timedblock-intr \
   pt-wakeup \
   pt-yield \
+  sem-destroy \
   # routines
 shared-only-routines = forward
 
diff --git a/htl/Versions b/htl/Versions
index 5570a2b631..48e7fcead4 100644
--- a/htl/Versions
+++ b/htl/Versions
@@ -101,6 +101,7 @@ libc {
     pthread_sigmask;
     pthread_testcancel;
     pthread_yield;
+    sem_destroy;
   }
 
   GLIBC_2.21 {
@@ -219,6 +220,7 @@ libc {
     pthread_timedjoin_np;
     pthread_tryjoin_np;
     pthread_yield;
+    sem_destroy;
   }
 
   GLIBC_PRIVATE {
@@ -311,7 +313,7 @@ libpthread {
 
     pthread_create;
 
-    sem_close; sem_destroy; sem_getvalue; sem_init; sem_open; sem_post;
+    sem_close; sem_getvalue; sem_init; sem_open; sem_post;
     sem_timedwait; sem_trywait; sem_unlink; sem_wait;
 
     pthread_spin_destroy; pthread_spin_init; pthread_spin_lock;
diff --git a/sysdeps/htl/sem-destroy.c b/sysdeps/htl/sem-destroy.c
index 89b162d64c..daecf1a7e4 100644
--- a/sysdeps/htl/sem-destroy.c
+++ b/sysdeps/htl/sem-destroy.c
@@ -21,6 +21,7 @@
 
 #include <hurd.h>
 #include <pt-internal.h>
+#include <shlib-compat.h>
 
 int
 __sem_destroy (sem_t *sem)
@@ -40,4 +41,7 @@ __sem_destroy (sem_t *sem)
   return 0;
 }
 
-strong_alias (__sem_destroy, sem_destroy);
+versioned_symbol (libc, __sem_destroy, sem_destroy, GLIBC_2_43);
+# if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_12, GLIBC_2_43)
+compat_symbol (libpthread, __sem_destroy, sem_destroy, GLIBC_2_12);
+#endif
diff --git a/sysdeps/mach/hurd/i386/libc.abilist 
b/sysdeps/mach/hurd/i386/libc.abilist
index 1e5454818a..80bf6408ef 100644
--- a/sysdeps/mach/hurd/i386/libc.abilist
+++ b/sysdeps/mach/hurd/i386/libc.abilist
@@ -128,6 +128,7 @@ GLIBC_2.12 pthread_setspecific F
 GLIBC_2.12 pthread_sigmask F
 GLIBC_2.12 pthread_testcancel F
 GLIBC_2.12 pthread_yield F
+GLIBC_2.12 sem_destroy F
 GLIBC_2.13 __fentry__ F
 GLIBC_2.14 syncfs F
 GLIBC_2.15 __fdelt_chk F
@@ -2666,6 +2667,7 @@ GLIBC_2.43 pthread_testcancel F
 GLIBC_2.43 pthread_timedjoin_np F
 GLIBC_2.43 pthread_tryjoin_np F
 GLIBC_2.43 pthread_yield F
+GLIBC_2.43 sem_destroy F
 GLIBC_2.5 __readlinkat_chk F
 GLIBC_2.5 inet6_opt_append F
 GLIBC_2.5 inet6_opt_find F
diff --git a/sysdeps/mach/hurd/i386/libpthread.abilist 
b/sysdeps/mach/hurd/i386/libpthread.abilist
index 8a056c89ff..99fdf00e14 100644
--- a/sysdeps/mach/hurd/i386/libpthread.abilist
+++ b/sysdeps/mach/hurd/i386/libpthread.abilist
@@ -25,7 +25,6 @@ GLIBC_2.12 pthread_spin_lock F
 GLIBC_2.12 pthread_spin_trylock F
 GLIBC_2.12 pthread_spin_unlock F
 GLIBC_2.12 sem_close F
-GLIBC_2.12 sem_destroy F
 GLIBC_2.12 sem_getvalue F
 GLIBC_2.12 sem_init F
 GLIBC_2.12 sem_open F
diff --git a/sysdeps/mach/hurd/x86_64/libc.abilist 
b/sysdeps/mach/hurd/x86_64/libc.abilist
index 1bf1bcabe4..b3d402f059 100644
--- a/sysdeps/mach/hurd/x86_64/libc.abilist
+++ b/sysdeps/mach/hurd/x86_64/libc.abilist
@@ -1759,6 +1759,7 @@ GLIBC_2.38 seed48 F
 GLIBC_2.38 seed48_r F
 GLIBC_2.38 seekdir F
 GLIBC_2.38 select F
+GLIBC_2.38 sem_destroy F
 GLIBC_2.38 semctl F
 GLIBC_2.38 semget F
 GLIBC_2.38 semop F
@@ -2347,6 +2348,7 @@ GLIBC_2.43 pthread_testcancel F
 GLIBC_2.43 pthread_timedjoin_np F
 GLIBC_2.43 pthread_tryjoin_np F
 GLIBC_2.43 pthread_yield F
+GLIBC_2.43 sem_destroy F
 HURD_CTHREADS_0.3 __cthread_getspecific F
 HURD_CTHREADS_0.3 __cthread_keycreate F
 HURD_CTHREADS_0.3 __cthread_setspecific F
diff --git a/sysdeps/mach/hurd/x86_64/libpthread.abilist 
b/sysdeps/mach/hurd/x86_64/libpthread.abilist
index 5caa7bcfb9..a03bebdf9e 100644
--- a/sysdeps/mach/hurd/x86_64/libpthread.abilist
+++ b/sysdeps/mach/hurd/x86_64/libpthread.abilist
@@ -45,7 +45,6 @@ GLIBC_2.38 pthread_spin_trylock F
 GLIBC_2.38 pthread_spin_unlock F
 GLIBC_2.38 sem_clockwait F
 GLIBC_2.38 sem_close F
-GLIBC_2.38 sem_destroy F
 GLIBC_2.38 sem_getvalue F
 GLIBC_2.38 sem_init F
 GLIBC_2.38 sem_open F
-- 
2.47.2


Reply via email to