mirror of git://sourceware.org/git/glibc.git
htl: move sem_{clockwait, timedwait, wait, trywait} into libc.
Message-ID: <20250817104023.91919-7-gfleury@disroot.org>
This commit is contained in:
parent
795f5f2a8b
commit
f5a43420e2
|
|
@ -34,11 +34,7 @@ libpthread-routines := \
|
|||
pt-spin \
|
||||
pt-getname-np \
|
||||
pt-setname-np \
|
||||
sem-timedwait \
|
||||
sem-trywait \
|
||||
sem_unlink \
|
||||
sem-wait \
|
||||
sem-waitfast \
|
||||
cancellation \
|
||||
cthreads-compat \
|
||||
herrno \
|
||||
|
|
@ -208,6 +204,10 @@ routines := \
|
|||
sem-getvalue \
|
||||
sem-init \
|
||||
sem-post \
|
||||
sem-timedwait \
|
||||
sem-trywait \
|
||||
sem-wait \
|
||||
sem-waitfast \
|
||||
sem_close \
|
||||
sem_open \
|
||||
sem_routines \
|
||||
|
|
|
|||
13
htl/Versions
13
htl/Versions
|
|
@ -107,6 +107,9 @@ libc {
|
|||
sem_init;
|
||||
sem_open;
|
||||
sem_post;
|
||||
sem_timedwait;
|
||||
sem_trywait;
|
||||
sem_wait;
|
||||
}
|
||||
|
||||
GLIBC_2.21 {
|
||||
|
|
@ -147,6 +150,8 @@ libc {
|
|||
|
||||
pthread_rwlock_clockrdlock; pthread_rwlock_clockwrlock;
|
||||
pthread_timedjoin_np; pthread_tryjoin_np;
|
||||
|
||||
sem_clockwait;
|
||||
}
|
||||
|
||||
GLIBC_2.41 {
|
||||
|
|
@ -225,12 +230,16 @@ libc {
|
|||
pthread_timedjoin_np;
|
||||
pthread_tryjoin_np;
|
||||
pthread_yield;
|
||||
sem_clockwait;
|
||||
sem_close;
|
||||
sem_destroy;
|
||||
sem_getvalue;
|
||||
sem_init;
|
||||
sem_open;
|
||||
sem_post;
|
||||
sem_timedwait;
|
||||
sem_trywait;
|
||||
sem_wait;
|
||||
}
|
||||
|
||||
GLIBC_PRIVATE {
|
||||
|
|
@ -323,7 +332,7 @@ libpthread {
|
|||
|
||||
pthread_create;
|
||||
|
||||
sem_timedwait; sem_trywait; sem_unlink; sem_wait;
|
||||
sem_unlink;
|
||||
|
||||
pthread_spin_destroy; pthread_spin_init; pthread_spin_lock;
|
||||
pthread_spin_trylock; pthread_spin_unlock;
|
||||
|
|
@ -343,8 +352,6 @@ libpthread {
|
|||
call_once;
|
||||
cnd_broadcast; cnd_destroy; cnd_init; cnd_signal; cnd_timedwait; cnd_wait;
|
||||
tss_create; tss_delete; tss_get; tss_set;
|
||||
|
||||
sem_clockwait;
|
||||
}
|
||||
|
||||
GLIBC_2.40 {
|
||||
|
|
|
|||
|
|
@ -64,6 +64,7 @@ __lll_abstimed_wait_intr (void *ptr, int val,
|
|||
int mlsec = compute_reltime (tsp, clk);
|
||||
return mlsec < 0 ? KERN_TIMEDOUT : __lll_timed_wait_intr (ptr, val, mlsec, flags);
|
||||
}
|
||||
libc_hidden_def (__lll_abstimed_wait_intr)
|
||||
|
||||
int
|
||||
__lll_abstimed_xwait (void *ptr, int lo, int hi,
|
||||
|
|
|
|||
|
|
@ -58,6 +58,7 @@ extern int __lll_abstimed_wait (void *__ptr, int __val,
|
|||
/* Interruptible version. */
|
||||
extern int __lll_abstimed_wait_intr (void *__ptr, int __val,
|
||||
const struct timespec *__tsp, int __flags, int __clk);
|
||||
libc_hidden_proto (__lll_abstimed_wait_intr)
|
||||
|
||||
/* Same as 'lll_xwait', but only block until TSP elapses,
|
||||
using clock CLK. */
|
||||
|
|
|
|||
|
|
@ -4,6 +4,17 @@
|
|||
#ifndef _ISOMAC
|
||||
extern __typeof (sem_post) __sem_post;
|
||||
libc_hidden_proto (__sem_post)
|
||||
|
||||
extern int __sem_clockwait (sem_t *__sem,
|
||||
clockid_t clock,
|
||||
const struct timespec *__abstime);
|
||||
libc_hidden_proto (__sem_clockwait)
|
||||
extern int __sem_timedwait (sem_t *__sem,
|
||||
const struct timespec *__abstime);
|
||||
libc_hidden_proto (__sem_timedwait)
|
||||
|
||||
extern int __sem_trywait (sem_t *__sem);
|
||||
libc_hidden_proto (__sem_trywait)
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -25,6 +25,7 @@
|
|||
#include <sysdep-cancel.h>
|
||||
|
||||
#include <pt-internal.h>
|
||||
#include <shlib-compat.h>
|
||||
|
||||
#if !__HAVE_64B_ATOMICS
|
||||
static void
|
||||
|
|
@ -196,7 +197,12 @@ __sem_clockwait (sem_t *sem, clockid_t clockid,
|
|||
{
|
||||
return __sem_timedwait_internal (sem, clockid, timeout);
|
||||
}
|
||||
weak_alias (__sem_clockwait, sem_clockwait);
|
||||
|
||||
libc_hidden_def (__sem_clockwait)
|
||||
versioned_symbol (libc, __sem_clockwait, sem_clockwait, GLIBC_2_43);
|
||||
# if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_32, GLIBC_2_43)
|
||||
compat_symbol (libpthread, __sem_clockwait, sem_clockwait, GLIBC_2_32);
|
||||
#endif
|
||||
|
||||
int
|
||||
__sem_timedwait (sem_t *restrict sem, const struct timespec *restrict timeout)
|
||||
|
|
@ -204,4 +210,8 @@ __sem_timedwait (sem_t *restrict sem, const struct timespec *restrict timeout)
|
|||
return __sem_timedwait_internal (sem, CLOCK_REALTIME, timeout);
|
||||
}
|
||||
|
||||
weak_alias (__sem_timedwait, sem_timedwait);
|
||||
libc_hidden_def (__sem_timedwait)
|
||||
versioned_symbol (libc, __sem_timedwait, sem_timedwait, GLIBC_2_43);
|
||||
# if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_12, GLIBC_2_43)
|
||||
compat_symbol (libpthread, __sem_timedwait, sem_timedwait, GLIBC_2_12);
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -21,6 +21,7 @@
|
|||
|
||||
#include <hurd.h>
|
||||
#include <pt-internal.h>
|
||||
#include <shlib-compat.h>
|
||||
|
||||
int
|
||||
__sem_trywait (sem_t *sem)
|
||||
|
|
@ -33,4 +34,8 @@ __sem_trywait (sem_t *sem)
|
|||
return __hurd_fail (EAGAIN);
|
||||
}
|
||||
|
||||
weak_alias (__sem_trywait, sem_trywait);
|
||||
libc_hidden_def (__sem_trywait)
|
||||
versioned_symbol (libc, __sem_trywait, sem_trywait, GLIBC_2_43);
|
||||
# if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_12, GLIBC_2_43)
|
||||
compat_symbol (libpthread, __sem_trywait, sem_trywait, GLIBC_2_12);
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -18,6 +18,7 @@
|
|||
|
||||
#include <semaphore.h>
|
||||
#include <pt-internal.h>
|
||||
#include <shlib-compat.h>
|
||||
|
||||
extern int __sem_timedwait_internal (sem_t *restrict sem,
|
||||
clockid_t clockid,
|
||||
|
|
@ -29,4 +30,7 @@ __sem_wait (sem_t *sem)
|
|||
return __sem_timedwait_internal (sem, CLOCK_REALTIME, 0);
|
||||
}
|
||||
|
||||
strong_alias (__sem_wait, sem_wait);
|
||||
versioned_symbol (libc, __sem_wait, sem_wait, GLIBC_2_43);
|
||||
# if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_12, GLIBC_2_43)
|
||||
compat_symbol (libpthread, __sem_wait, sem_wait, GLIBC_2_12);
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -134,6 +134,9 @@ GLIBC_2.12 sem_getvalue F
|
|||
GLIBC_2.12 sem_init 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
|
||||
GLIBC_2.12 sem_wait F
|
||||
GLIBC_2.13 __fentry__ F
|
||||
GLIBC_2.14 syncfs F
|
||||
GLIBC_2.15 __fdelt_chk F
|
||||
|
|
@ -2333,6 +2336,7 @@ GLIBC_2.32 pthread_rwlock_clockrdlock F
|
|||
GLIBC_2.32 pthread_rwlock_clockwrlock F
|
||||
GLIBC_2.32 pthread_timedjoin_np F
|
||||
GLIBC_2.32 pthread_tryjoin_np F
|
||||
GLIBC_2.32 sem_clockwait F
|
||||
GLIBC_2.32 sigabbrev_np F
|
||||
GLIBC_2.32 sigdescr_np F
|
||||
GLIBC_2.32 strerrordesc_np F
|
||||
|
|
@ -2672,12 +2676,16 @@ 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_clockwait 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.43 sem_post F
|
||||
GLIBC_2.43 sem_timedwait F
|
||||
GLIBC_2.43 sem_trywait F
|
||||
GLIBC_2.43 sem_wait F
|
||||
GLIBC_2.5 __readlinkat_chk F
|
||||
GLIBC_2.5 inet6_opt_append F
|
||||
GLIBC_2.5 inet6_opt_find F
|
||||
|
|
|
|||
|
|
@ -24,10 +24,7 @@ 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_timedwait F
|
||||
GLIBC_2.12 sem_trywait F
|
||||
GLIBC_2.12 sem_unlink F
|
||||
GLIBC_2.12 sem_wait F
|
||||
GLIBC_2.2.6 _IO_flockfile F
|
||||
GLIBC_2.2.6 _IO_ftrylockfile F
|
||||
GLIBC_2.2.6 _IO_funlockfile F
|
||||
|
|
@ -48,7 +45,6 @@ GLIBC_2.32 mtx_lock F
|
|||
GLIBC_2.32 mtx_timedlock F
|
||||
GLIBC_2.32 mtx_trylock F
|
||||
GLIBC_2.32 mtx_unlock F
|
||||
GLIBC_2.32 sem_clockwait F
|
||||
GLIBC_2.32 thrd_create F
|
||||
GLIBC_2.32 thrd_detach F
|
||||
GLIBC_2.32 thrd_exit F
|
||||
|
|
|
|||
|
|
@ -1759,12 +1759,16 @@ 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_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
|
||||
GLIBC_2.38 sem_post F
|
||||
GLIBC_2.38 sem_timedwait F
|
||||
GLIBC_2.38 sem_trywait F
|
||||
GLIBC_2.38 sem_wait F
|
||||
GLIBC_2.38 semctl F
|
||||
GLIBC_2.38 semget F
|
||||
GLIBC_2.38 semop F
|
||||
|
|
@ -2353,12 +2357,16 @@ 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_clockwait 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.43 sem_post F
|
||||
GLIBC_2.43 sem_timedwait F
|
||||
GLIBC_2.43 sem_trywait F
|
||||
GLIBC_2.43 sem_wait F
|
||||
HURD_CTHREADS_0.3 __cthread_getspecific F
|
||||
HURD_CTHREADS_0.3 __cthread_keycreate F
|
||||
HURD_CTHREADS_0.3 __cthread_setspecific F
|
||||
|
|
|
|||
|
|
@ -43,11 +43,7 @@ GLIBC_2.38 pthread_spin_init F
|
|||
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_timedwait F
|
||||
GLIBC_2.38 sem_trywait F
|
||||
GLIBC_2.38 sem_unlink F
|
||||
GLIBC_2.38 sem_wait F
|
||||
GLIBC_2.38 thrd_create F
|
||||
GLIBC_2.38 thrd_detach F
|
||||
GLIBC_2.38 thrd_exit F
|
||||
|
|
|
|||
Loading…
Reference in New Issue