diff options
author | gfleury <gfleury@disroot.org> | 2025-08-17 12:40:19 +0200 |
---|---|---|
committer | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2025-08-18 00:55:18 +0200 |
commit | 50f5ddc20abe4c389f2b8c4f34164ae3f330bb80 (patch) | |
tree | 5f484bad8df0a6f0623bd9b124847e0fdbb5b828 /sysdeps | |
parent | b2b6d32f11bad38e1ec036f5127f703ca29560aa (diff) | |
download | glibc-50f5ddc20abe4c389f2b8c4f34164ae3f330bb80.zip glibc-50f5ddc20abe4c389f2b8c4f34164ae3f330bb80.tar.gz glibc-50f5ddc20abe4c389f2b8c4f34164ae3f330bb80.tar.bz2 |
htl: move sem_open, sem_close into libc.
Message-ID: <20250817104023.91919-5-gfleury@disroot.org>
Diffstat (limited to 'sysdeps')
-rw-r--r-- | sysdeps/mach/hurd/i386/libc.abilist | 4 | ||||
-rw-r--r-- | sysdeps/mach/hurd/i386/libpthread.abilist | 2 | ||||
-rw-r--r-- | sysdeps/mach/hurd/x86_64/libc.abilist | 4 | ||||
-rw-r--r-- | sysdeps/mach/hurd/x86_64/libpthread.abilist | 2 | ||||
-rw-r--r-- | sysdeps/pthread/sem_close.c | 10 | ||||
-rw-r--r-- | sysdeps/pthread/sem_open.c | 18 | ||||
-rw-r--r-- | sysdeps/pthread/sem_routines.c | 1 |
7 files changed, 24 insertions, 17 deletions
diff --git a/sysdeps/mach/hurd/i386/libc.abilist b/sysdeps/mach/hurd/i386/libc.abilist index 02bc296..9764b60 100644 --- a/sysdeps/mach/hurd/i386/libc.abilist +++ b/sysdeps/mach/hurd/i386/libc.abilist @@ -128,9 +128,11 @@ 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_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 GLIBC_2.13 __fentry__ F GLIBC_2.14 syncfs F GLIBC_2.15 __fdelt_chk F @@ -2669,9 +2671,11 @@ 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_close F GLIBC_2.43 sem_destroy F GLIBC_2.43 sem_getvalue F GLIBC_2.43 sem_init F +GLIBC_2.43 sem_open 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 8d04328..c7e8bc5 100644 --- a/sysdeps/mach/hurd/i386/libpthread.abilist +++ b/sysdeps/mach/hurd/i386/libpthread.abilist @@ -24,8 +24,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.12 sem_close F -GLIBC_2.12 sem_open F GLIBC_2.12 sem_post F GLIBC_2.12 sem_timedwait F GLIBC_2.12 sem_trywait F diff --git a/sysdeps/mach/hurd/x86_64/libc.abilist b/sysdeps/mach/hurd/x86_64/libc.abilist index 3fc4337..e64bf54 100644 --- a/sysdeps/mach/hurd/x86_64/libc.abilist +++ b/sysdeps/mach/hurd/x86_64/libc.abilist @@ -1759,9 +1759,11 @@ 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_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 GLIBC_2.38 semctl F GLIBC_2.38 semget F GLIBC_2.38 semop F @@ -2350,9 +2352,11 @@ 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_close F GLIBC_2.43 sem_destroy F GLIBC_2.43 sem_getvalue F GLIBC_2.43 sem_init F +GLIBC_2.43 sem_open 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 a612aa9..ee0fac3 100644 --- a/sysdeps/mach/hurd/x86_64/libpthread.abilist +++ b/sysdeps/mach/hurd/x86_64/libpthread.abilist @@ -44,8 +44,6 @@ GLIBC_2.38 pthread_spin_lock F 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_open F GLIBC_2.38 sem_post F GLIBC_2.38 sem_timedwait F GLIBC_2.38 sem_trywait F diff --git a/sysdeps/pthread/sem_close.c b/sysdeps/pthread/sem_close.c index e989ed8..6e80bb0 100644 --- a/sysdeps/pthread/sem_close.c +++ b/sysdeps/pthread/sem_close.c @@ -18,6 +18,7 @@ #include <errno.h> #include "semaphoreP.h" #include <sem_routines.h> +#include <shlib-compat.h> int __sem_close (sem_t *sem) @@ -30,11 +31,14 @@ __sem_close (sem_t *sem) return 0; } -#if PTHREAD_IN_LIBC +#ifndef __PTHREAD_HTL versioned_symbol (libc, __sem_close, sem_close, GLIBC_2_34); # if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_1_1, GLIBC_2_34) compat_symbol (libpthread, __sem_close, sem_close, GLIBC_2_1_1); # endif -#else /* !PTHREAD_IN_LIBC */ -strong_alias (__sem_close, sem_close) +#else /* __PTHREAD_HTL */ +versioned_symbol (libc, __sem_close, sem_close, GLIBC_2_43); +# if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_12, GLIBC_2_43) +compat_symbol (libpthread, __sem_close, sem_close, GLIBC_2_12); +#endif #endif diff --git a/sysdeps/pthread/sem_open.c b/sysdeps/pthread/sem_open.c index e5eacb5..992786e 100644 --- a/sysdeps/pthread/sem_open.c +++ b/sysdeps/pthread/sem_open.c @@ -25,13 +25,8 @@ #include <sem_routines.h> #include <futex-internal.h> #include <libc-lock.h> - - -#if !PTHREAD_IN_LIBC -/* The private names are not exported from libc. */ -# define __link link -# define __unlink unlink -#endif +#include <string.h> +#include <shlib-compat.h> #define SEM_OPEN_FLAGS (O_RDWR | O_NOFOLLOW | O_CLOEXEC) @@ -215,11 +210,14 @@ out: return result; } -#if PTHREAD_IN_LIBC +#ifndef __PTHREAD_HTL versioned_symbol (libc, __sem_open, sem_open, GLIBC_2_34); # if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_1_1, GLIBC_2_34) compat_symbol (libpthread, __sem_open, sem_open, GLIBC_2_1_1); # endif -#else /* !PTHREAD_IN_LIBC */ -strong_alias (__sem_open, sem_open) +#else /* __PTHREAD_HTL */ +versioned_symbol (libc, __sem_open, sem_open, GLIBC_2_43); +# if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_12, GLIBC_2_43) +compat_symbol (libpthread, __sem_open, sem_open, GLIBC_2_12); +#endif #endif diff --git a/sysdeps/pthread/sem_routines.c b/sysdeps/pthread/sem_routines.c index 6208935..fb6a555 100644 --- a/sysdeps/pthread/sem_routines.c +++ b/sysdeps/pthread/sem_routines.c @@ -20,6 +20,7 @@ #include <semaphoreP.h> #include <sys/mman.h> #include <sem_routines.h> +#include <string.h> /* Keeping track of currently used mappings. */ struct inuse_sem |