pt-spin \
pt-getname-np \
pt-setname-np \
- sem-timedwait \
- sem-trywait \
sem_unlink \
- sem-wait \
- sem-waitfast \
cancellation \
cthreads-compat \
herrno \
sem-getvalue \
sem-init \
sem-post \
+ sem-timedwait \
+ sem-trywait \
+ sem-wait \
+ sem-waitfast \
sem_close \
sem_open \
sem_routines \
sem_init;
sem_open;
sem_post;
+ sem_timedwait;
+ sem_trywait;
+ sem_wait;
}
GLIBC_2.21 {
pthread_rwlock_clockrdlock; pthread_rwlock_clockwrlock;
pthread_timedjoin_np; pthread_tryjoin_np;
+
+ sem_clockwait;
}
GLIBC_2.41 {
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 {
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;
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 {
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,
/* 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. */
#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
#include <sysdep-cancel.h>
#include <pt-internal.h>
+#include <shlib-compat.h>
#if !__HAVE_64B_ATOMICS
static void
{
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)
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
#include <hurd.h>
#include <pt-internal.h>
+#include <shlib-compat.h>
int
__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
#include <semaphore.h>
#include <pt-internal.h>
+#include <shlib-compat.h>
extern int __sem_timedwait_internal (sem_t *restrict sem,
clockid_t clockid,
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
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
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
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
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
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
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
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
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