The symbols were moved using move-symbol-to-libc.py.
Both functions are moved at the same time because they depend
on internal functions in sysdeps/pthread/sem_routines.c, which
are moved in this commit as well. Additional hidden prototypes
are required to avoid check-localplt failures.
Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
SEM_PREFIX is true. */
int __shm_get_name (struct shmdir_name *result, const char *name,
bool sem_prefix);
+libc_hidden_proto (__shm_get_name)
#endif /* shm-directory.h */
extern int __unsetenv (const char *__name) attribute_hidden;
extern int __clearenv (void) attribute_hidden;
extern char *__mktemp (char *__template) __THROW __nonnull ((1));
+libc_hidden_proto (__mktemp)
extern char *__canonicalize_file_name (const char *__name);
extern char *__realpath (const char *__name, char *__resolved);
libc_hidden_proto (__realpath)
return template;
}
+libc_hidden_def (__mktemp)
weak_alias (__mktemp, mktemp)
link_warning (mktemp, "the use of `mktemp' is dangerous, "
pthread_testcancel \
pthread_yield \
sem_clockwait \
+ sem_close \
+ sem_open \
+ sem_routines \
tpp \
unwind \
pthread_sigqueue \
pthread_timedjoin \
pthread_tryjoin \
- sem_close \
sem_destroy \
sem_getvalue \
sem_init \
- sem_open \
sem_post \
- sem_routines \
sem_timedwait \
sem_unlink \
sem_wait \
pthread_rwlockattr_setkind_np;
pthread_rwlockattr_setpshared;
}
+ GLIBC_2.1.1 {
+ sem_close;
+ sem_open;
+ }
GLIBC_2.2 {
__pthread_rwlock_destroy;
__pthread_rwlock_init;
pthread_spin_unlock;
pthread_testcancel;
sem_clockwait;
+ sem_close;
+ sem_open;
thrd_exit;
tss_create;
tss_delete;
}
GLIBC_2.1.1 {
- sem_close;
- sem_open;
sem_unlink;
}
return -1;
return 0;
}
+libc_hidden_def (__shm_get_name)
#endif
#include <sem_routines.h>
int
-sem_close (sem_t *sem)
+__sem_close (sem_t *sem)
{
if (!__sem_remove_mapping (sem))
{
return 0;
}
+#if PTHREAD_IN_LIBC
+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)
+#endif
#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
+
sem_t *
-sem_open (const char *name, int oflag, ...)
+__sem_open (const char *name, int oflag, ...)
{
int fd;
sem_t *result;
if ((oflag & O_CREAT) == 0 || (oflag & O_EXCL) == 0)
{
try_again:
- fd = open (dirname.name,
- (oflag & ~(O_CREAT|O_ACCMODE)) | O_NOFOLLOW | O_RDWR);
+ fd = __open (dirname.name,
+ (oflag & ~(O_CREAT|O_ACCMODE)) | O_NOFOLLOW | O_RDWR);
if (fd == -1)
{
}
/* Open the file. Make sure we do not overwrite anything. */
- fd = open (tmpfname, O_RDWR | O_CREAT | O_EXCL, mode);
+ fd = __open (tmpfname, O_RDWR | O_CREAT | O_EXCL, mode);
if (fd == -1)
{
if (errno == EEXIST)
if (TEMP_FAILURE_RETRY (write (fd, &sem.initsem, sizeof (sem_t)))
== sizeof (sem_t)
/* Map the sem_t structure from the file. */
- && (result = (sem_t *) mmap (NULL, sizeof (sem_t),
- PROT_READ | PROT_WRITE, MAP_SHARED,
- fd, 0)) != MAP_FAILED)
+ && (result = (sem_t *) __mmap (NULL, sizeof (sem_t),
+ PROT_READ | PROT_WRITE, MAP_SHARED,
+ fd, 0)) != MAP_FAILED)
{
/* Create the file. Don't overwrite an existing file. */
- if (link (tmpfname, dirname.name) != 0)
+ if (__link (tmpfname, dirname.name) != 0)
{
/* Undo the mapping. */
- (void) munmap (result, sizeof (sem_t));
+ __munmap (result, sizeof (sem_t));
/* Reinitialize 'result'. */
result = SEM_FAILED;
if ((oflag & O_EXCL) == 0 && errno == EEXIST)
{
/* Remove the file. */
- (void) unlink (tmpfname);
+ __unlink (tmpfname);
/* Close the file. */
- close (fd);
+ __close (fd);
goto try_again;
}
/* Now remove the temporary name. This should never fail. If
it fails we leak a file name. Better fix the kernel. */
- (void) unlink (tmpfname);
+ __unlink (tmpfname);
}
/* Map the mmap error to the error we need. */
{
/* Do not disturb errno. */
int save = errno;
- close (fd);
+ __close (fd);
errno = save;
}
return result;
}
+#if PTHREAD_IN_LIBC
+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)
+#endif
{
/* If the caller hasn't provided any map it now. */
if (existing == SEM_FAILED)
- existing = (sem_t *) mmap (NULL, sizeof (sem_t),
- PROT_READ | PROT_WRITE, MAP_SHARED,
- fd, 0);
+ existing = (sem_t *) __mmap (NULL, sizeof (sem_t),
+ PROT_READ | PROT_WRITE,
+ MAP_SHARED, fd, 0);
newp->dev = st.st_dev;
newp->ino = st.st_ino;
{
/* Do not disturb errno. */
int save = errno;
- munmap (existing, sizeof (sem_t));
+ __munmap (existing, sizeof (sem_t));
errno = save;
}
/* Remove the record from the tree. */
__tdelete (rec, &sem_mappings, sem_search);
- if (munmap (rec->sem, sizeof (sem_t)) == -1)
+ if (__munmap (rec->sem, sizeof (sem_t)) == -1)
ret = false;
free (rec);
GLIBC_2.17 seed48_r F
GLIBC_2.17 seekdir F
GLIBC_2.17 select F
+GLIBC_2.17 sem_close F
+GLIBC_2.17 sem_open F
GLIBC_2.17 semctl F
GLIBC_2.17 semget F
GLIBC_2.17 semop F
GLIBC_2.34 pthread_spin_unlock F
GLIBC_2.34 pthread_testcancel F
GLIBC_2.34 sem_clockwait F
+GLIBC_2.34 sem_close F
+GLIBC_2.34 sem_open F
GLIBC_2.34 thrd_exit F
GLIBC_2.34 tss_create F
GLIBC_2.34 tss_delete F
GLIBC_2.17 pthread_sigqueue F
GLIBC_2.17 pthread_timedjoin_np F
GLIBC_2.17 pthread_tryjoin_np F
-GLIBC_2.17 sem_close F
GLIBC_2.17 sem_destroy F
GLIBC_2.17 sem_getvalue F
GLIBC_2.17 sem_init F
-GLIBC_2.17 sem_open F
GLIBC_2.17 sem_post F
GLIBC_2.17 sem_timedwait F
GLIBC_2.17 sem_trywait F
GLIBC_2.1.1 getutmpx F
GLIBC_2.1.1 imaxabs F
GLIBC_2.1.1 imaxdiv F
+GLIBC_2.1.1 sem_close F
+GLIBC_2.1.1 sem_open F
GLIBC_2.1.1 strchrnul F
GLIBC_2.1.1 xdr_hyper F
GLIBC_2.1.1 xdr_int64_t F
GLIBC_2.34 pthread_spin_unlock F
GLIBC_2.34 pthread_testcancel F
GLIBC_2.34 sem_clockwait F
+GLIBC_2.34 sem_close F
+GLIBC_2.34 sem_open F
GLIBC_2.34 thrd_exit F
GLIBC_2.34 tss_create F
GLIBC_2.34 tss_delete F
GLIBC_2.1 sem_post F
GLIBC_2.1 sem_trywait F
GLIBC_2.1 sem_wait F
-GLIBC_2.1.1 sem_close F
-GLIBC_2.1.1 sem_open F
GLIBC_2.1.1 sem_unlink F
GLIBC_2.1.2 __libpthread_version_placeholder F
GLIBC_2.11 pthread_sigqueue F
GLIBC_2.32 seekdir F
GLIBC_2.32 select F
GLIBC_2.32 sem_clockwait F
+GLIBC_2.32 sem_close F
+GLIBC_2.32 sem_open F
GLIBC_2.32 semctl F
GLIBC_2.32 semget F
GLIBC_2.32 semop F
GLIBC_2.34 pthread_spin_unlock F
GLIBC_2.34 pthread_testcancel F
GLIBC_2.34 sem_clockwait F
+GLIBC_2.34 sem_close F
+GLIBC_2.34 sem_open F
GLIBC_2.34 thrd_exit F
GLIBC_2.34 tss_create F
GLIBC_2.34 tss_delete F
GLIBC_2.32 pthread_sigqueue F
GLIBC_2.32 pthread_timedjoin_np F
GLIBC_2.32 pthread_tryjoin_np F
-GLIBC_2.32 sem_close F
GLIBC_2.32 sem_destroy F
GLIBC_2.32 sem_getvalue F
GLIBC_2.32 sem_init F
-GLIBC_2.32 sem_open F
GLIBC_2.32 sem_post F
GLIBC_2.32 sem_timedwait F
GLIBC_2.32 sem_trywait F
GLIBC_2.34 pthread_spin_unlock F
GLIBC_2.34 pthread_testcancel F
GLIBC_2.34 sem_clockwait F
+GLIBC_2.34 sem_close F
+GLIBC_2.34 sem_open F
GLIBC_2.34 thrd_exit F
GLIBC_2.34 tss_create F
GLIBC_2.34 tss_delete F
GLIBC_2.4 seed48_r F
GLIBC_2.4 seekdir F
GLIBC_2.4 select F
+GLIBC_2.4 sem_close F
+GLIBC_2.4 sem_open F
GLIBC_2.4 semctl F
GLIBC_2.4 semget F
GLIBC_2.4 semop F
GLIBC_2.4 pthread_setschedprio F
GLIBC_2.4 pthread_timedjoin_np F
GLIBC_2.4 pthread_tryjoin_np F
-GLIBC_2.4 sem_close F
GLIBC_2.4 sem_destroy F
GLIBC_2.4 sem_getvalue F
GLIBC_2.4 sem_init F
-GLIBC_2.4 sem_open F
GLIBC_2.4 sem_post F
GLIBC_2.4 sem_timedwait F
GLIBC_2.4 sem_trywait F
GLIBC_2.34 pthread_spin_unlock F
GLIBC_2.34 pthread_testcancel F
GLIBC_2.34 sem_clockwait F
+GLIBC_2.34 sem_close F
+GLIBC_2.34 sem_open F
GLIBC_2.34 thrd_exit F
GLIBC_2.34 tss_create F
GLIBC_2.34 tss_delete F
GLIBC_2.4 seed48_r F
GLIBC_2.4 seekdir F
GLIBC_2.4 select F
+GLIBC_2.4 sem_close F
+GLIBC_2.4 sem_open F
GLIBC_2.4 semctl F
GLIBC_2.4 semget F
GLIBC_2.4 semop F
GLIBC_2.4 pthread_setschedprio F
GLIBC_2.4 pthread_timedjoin_np F
GLIBC_2.4 pthread_tryjoin_np F
-GLIBC_2.4 sem_close F
GLIBC_2.4 sem_destroy F
GLIBC_2.4 sem_getvalue F
GLIBC_2.4 sem_init F
-GLIBC_2.4 sem_open F
GLIBC_2.4 sem_post F
GLIBC_2.4 sem_timedwait F
GLIBC_2.4 sem_trywait F
GLIBC_2.29 seed48_r F
GLIBC_2.29 seekdir F
GLIBC_2.29 select F
+GLIBC_2.29 sem_close F
+GLIBC_2.29 sem_open F
GLIBC_2.29 semctl F
GLIBC_2.29 semget F
GLIBC_2.29 semop F
GLIBC_2.34 pthread_spin_unlock F
GLIBC_2.34 pthread_testcancel F
GLIBC_2.34 sem_clockwait F
+GLIBC_2.34 sem_close F
+GLIBC_2.34 sem_open F
GLIBC_2.34 thrd_exit F
GLIBC_2.34 tss_create F
GLIBC_2.34 tss_delete F
GLIBC_2.29 pthread_sigqueue F
GLIBC_2.29 pthread_timedjoin_np F
GLIBC_2.29 pthread_tryjoin_np F
-GLIBC_2.29 sem_close F
GLIBC_2.29 sem_destroy F
GLIBC_2.29 sem_getvalue F
GLIBC_2.29 sem_init F
-GLIBC_2.29 sem_open F
GLIBC_2.29 sem_post F
GLIBC_2.29 sem_timedwait F
GLIBC_2.29 sem_trywait F
GLIBC_2.2 seed48_r F
GLIBC_2.2 seekdir F
GLIBC_2.2 select F
+GLIBC_2.2 sem_close F
+GLIBC_2.2 sem_open F
GLIBC_2.2 semctl F
GLIBC_2.2 semget F
GLIBC_2.2 semop F
GLIBC_2.34 pthread_spin_unlock F
GLIBC_2.34 pthread_testcancel F
GLIBC_2.34 sem_clockwait F
+GLIBC_2.34 sem_close F
+GLIBC_2.34 sem_open F
GLIBC_2.34 thrd_exit F
GLIBC_2.34 tss_create F
GLIBC_2.34 tss_delete F
GLIBC_2.2 pthread_getcpuclockid F
GLIBC_2.2 pthread_join F
GLIBC_2.2 pthread_setconcurrency F
-GLIBC_2.2 sem_close F
GLIBC_2.2 sem_destroy F
GLIBC_2.2 sem_getvalue F
GLIBC_2.2 sem_init F
-GLIBC_2.2 sem_open F
GLIBC_2.2 sem_post F
GLIBC_2.2 sem_timedwait F
GLIBC_2.2 sem_trywait F
GLIBC_2.1.1 getutmpx F
GLIBC_2.1.1 imaxabs F
GLIBC_2.1.1 imaxdiv F
+GLIBC_2.1.1 sem_close F
+GLIBC_2.1.1 sem_open F
GLIBC_2.1.1 strchrnul F
GLIBC_2.1.1 xdr_hyper F
GLIBC_2.1.1 xdr_int64_t F
GLIBC_2.34 pthread_spin_unlock F
GLIBC_2.34 pthread_testcancel F
GLIBC_2.34 sem_clockwait F
+GLIBC_2.34 sem_close F
+GLIBC_2.34 sem_open F
GLIBC_2.34 thrd_exit F
GLIBC_2.34 tss_create F
GLIBC_2.34 tss_delete F
GLIBC_2.1 sem_post F
GLIBC_2.1 sem_trywait F
GLIBC_2.1 sem_wait F
-GLIBC_2.1.1 sem_close F
-GLIBC_2.1.1 sem_open F
GLIBC_2.1.1 sem_unlink F
GLIBC_2.1.2 __libpthread_version_placeholder F
GLIBC_2.11 pthread_sigqueue F
GLIBC_2.2 seed48_r F
GLIBC_2.2 seekdir F
GLIBC_2.2 select F
+GLIBC_2.2 sem_close F
+GLIBC_2.2 sem_open F
GLIBC_2.2 semctl F
GLIBC_2.2 semget F
GLIBC_2.2 semop F
GLIBC_2.34 pthread_spin_unlock F
GLIBC_2.34 pthread_testcancel F
GLIBC_2.34 sem_clockwait F
+GLIBC_2.34 sem_close F
+GLIBC_2.34 sem_open F
GLIBC_2.34 thrd_exit F
GLIBC_2.34 tss_create F
GLIBC_2.34 tss_delete F
GLIBC_2.2 pthread_getcpuclockid F
GLIBC_2.2 pthread_join F
GLIBC_2.2 pthread_setconcurrency F
-GLIBC_2.2 sem_close F
GLIBC_2.2 sem_destroy F
GLIBC_2.2 sem_getvalue F
GLIBC_2.2 sem_init F
-GLIBC_2.2 sem_open F
GLIBC_2.2 sem_post F
GLIBC_2.2 sem_timedwait F
GLIBC_2.2 sem_trywait F
GLIBC_2.34 pthread_spin_unlock F
GLIBC_2.34 pthread_testcancel F
GLIBC_2.34 sem_clockwait F
+GLIBC_2.34 sem_close F
+GLIBC_2.34 sem_open F
GLIBC_2.34 thrd_exit F
GLIBC_2.34 tss_create F
GLIBC_2.34 tss_delete F
GLIBC_2.4 seed48_r F
GLIBC_2.4 seekdir F
GLIBC_2.4 select F
+GLIBC_2.4 sem_close F
+GLIBC_2.4 sem_open F
GLIBC_2.4 semctl F
GLIBC_2.4 semget F
GLIBC_2.4 semop F
GLIBC_2.4 pthread_setschedprio F
GLIBC_2.4 pthread_timedjoin_np F
GLIBC_2.4 pthread_tryjoin_np F
-GLIBC_2.4 sem_close F
GLIBC_2.4 sem_destroy F
GLIBC_2.4 sem_getvalue F
GLIBC_2.4 sem_init F
-GLIBC_2.4 sem_open F
GLIBC_2.4 sem_post F
GLIBC_2.4 sem_timedwait F
GLIBC_2.4 sem_trywait F
GLIBC_2.1.1 getutmpx F
GLIBC_2.1.1 imaxabs F
GLIBC_2.1.1 imaxdiv F
+GLIBC_2.1.1 sem_close F
+GLIBC_2.1.1 sem_open F
GLIBC_2.1.1 strchrnul F
GLIBC_2.1.1 xdr_hyper F
GLIBC_2.1.1 xdr_int64_t F
GLIBC_2.34 pthread_spin_unlock F
GLIBC_2.34 pthread_testcancel F
GLIBC_2.34 sem_clockwait F
+GLIBC_2.34 sem_close F
+GLIBC_2.34 sem_open F
GLIBC_2.34 thrd_exit F
GLIBC_2.34 tss_create F
GLIBC_2.34 tss_delete F
GLIBC_2.1 sem_post F
GLIBC_2.1 sem_trywait F
GLIBC_2.1 sem_wait F
-GLIBC_2.1.1 sem_close F
-GLIBC_2.1.1 sem_open F
GLIBC_2.1.1 sem_unlink F
GLIBC_2.1.2 __libpthread_version_placeholder F
GLIBC_2.11 pthread_sigqueue F
GLIBC_2.18 seed48_r F
GLIBC_2.18 seekdir F
GLIBC_2.18 select F
+GLIBC_2.18 sem_close F
+GLIBC_2.18 sem_open F
GLIBC_2.18 semctl F
GLIBC_2.18 semget F
GLIBC_2.18 semop F
GLIBC_2.34 pthread_spin_unlock F
GLIBC_2.34 pthread_testcancel F
GLIBC_2.34 sem_clockwait F
+GLIBC_2.34 sem_close F
+GLIBC_2.34 sem_open F
GLIBC_2.34 thrd_exit F
GLIBC_2.34 tss_create F
GLIBC_2.34 tss_delete F
GLIBC_2.18 pthread_sigqueue F
GLIBC_2.18 pthread_timedjoin_np F
GLIBC_2.18 pthread_tryjoin_np F
-GLIBC_2.18 sem_close F
GLIBC_2.18 sem_destroy F
GLIBC_2.18 sem_getvalue F
GLIBC_2.18 sem_init F
-GLIBC_2.18 sem_open F
GLIBC_2.18 sem_post F
GLIBC_2.18 sem_timedwait F
GLIBC_2.18 sem_trywait F
GLIBC_2.18 seed48_r F
GLIBC_2.18 seekdir F
GLIBC_2.18 select F
+GLIBC_2.18 sem_close F
+GLIBC_2.18 sem_open F
GLIBC_2.18 semctl F
GLIBC_2.18 semget F
GLIBC_2.18 semop F
GLIBC_2.34 pthread_spin_unlock F
GLIBC_2.34 pthread_testcancel F
GLIBC_2.34 sem_clockwait F
+GLIBC_2.34 sem_close F
+GLIBC_2.34 sem_open F
GLIBC_2.34 thrd_exit F
GLIBC_2.34 tss_create F
GLIBC_2.34 tss_delete F
GLIBC_2.18 pthread_sigqueue F
GLIBC_2.18 pthread_timedjoin_np F
GLIBC_2.18 pthread_tryjoin_np F
-GLIBC_2.18 sem_close F
GLIBC_2.18 sem_destroy F
GLIBC_2.18 sem_getvalue F
GLIBC_2.18 sem_init F
-GLIBC_2.18 sem_open F
GLIBC_2.18 sem_post F
GLIBC_2.18 sem_timedwait F
GLIBC_2.18 sem_trywait F
GLIBC_2.2 rtime F
GLIBC_2.2 ruserok_af F
GLIBC_2.2 scandir64 F
+GLIBC_2.2 sem_close F
+GLIBC_2.2 sem_open F
GLIBC_2.2 semctl F
GLIBC_2.2 sendfile F
GLIBC_2.2 setrlimit64 F
GLIBC_2.34 pthread_spin_unlock F
GLIBC_2.34 pthread_testcancel F
GLIBC_2.34 sem_clockwait F
+GLIBC_2.34 sem_close F
+GLIBC_2.34 sem_open F
GLIBC_2.34 thrd_exit F
GLIBC_2.34 tss_create F
GLIBC_2.34 tss_delete F
GLIBC_2.2 pthread_getconcurrency F
GLIBC_2.2 pthread_getcpuclockid F
GLIBC_2.2 pthread_setconcurrency F
-GLIBC_2.2 sem_close F
GLIBC_2.2 sem_destroy F
GLIBC_2.2 sem_getvalue F
GLIBC_2.2 sem_init F
-GLIBC_2.2 sem_open F
GLIBC_2.2 sem_post F
GLIBC_2.2 sem_timedwait F
GLIBC_2.2 sem_trywait F
GLIBC_2.2 rtime F
GLIBC_2.2 ruserok_af F
GLIBC_2.2 scandir64 F
+GLIBC_2.2 sem_close F
+GLIBC_2.2 sem_open F
GLIBC_2.2 semctl F
GLIBC_2.2 sendfile F
GLIBC_2.2 setrlimit64 F
GLIBC_2.34 pthread_spin_unlock F
GLIBC_2.34 pthread_testcancel F
GLIBC_2.34 sem_clockwait F
+GLIBC_2.34 sem_close F
+GLIBC_2.34 sem_open F
GLIBC_2.34 thrd_exit F
GLIBC_2.34 tss_create F
GLIBC_2.34 tss_delete F
GLIBC_2.2 pthread_getconcurrency F
GLIBC_2.2 pthread_getcpuclockid F
GLIBC_2.2 pthread_setconcurrency F
-GLIBC_2.2 sem_close F
GLIBC_2.2 sem_destroy F
GLIBC_2.2 sem_getvalue F
GLIBC_2.2 sem_init F
-GLIBC_2.2 sem_open F
GLIBC_2.2 sem_post F
GLIBC_2.2 sem_timedwait F
GLIBC_2.2 sem_trywait F
GLIBC_2.2 rtime F
GLIBC_2.2 ruserok_af F
GLIBC_2.2 scandir64 F
+GLIBC_2.2 sem_close F
+GLIBC_2.2 sem_open F
GLIBC_2.2 sendfile F
GLIBC_2.2 setrlimit64 F
GLIBC_2.2 setutxent F
GLIBC_2.34 pthread_spin_unlock F
GLIBC_2.34 pthread_testcancel F
GLIBC_2.34 sem_clockwait F
+GLIBC_2.34 sem_close F
+GLIBC_2.34 sem_open F
GLIBC_2.34 thrd_exit F
GLIBC_2.34 tss_create F
GLIBC_2.34 tss_delete F
GLIBC_2.2 rtime F
GLIBC_2.2 ruserok_af F
GLIBC_2.2 scandir64 F
+GLIBC_2.2 sem_close F
+GLIBC_2.2 sem_open F
GLIBC_2.2 sendfile F
GLIBC_2.2 setrlimit64 F
GLIBC_2.2 setutxent F
GLIBC_2.34 pthread_spin_unlock F
GLIBC_2.34 pthread_testcancel F
GLIBC_2.34 sem_clockwait F
+GLIBC_2.34 sem_close F
+GLIBC_2.34 sem_open F
GLIBC_2.34 thrd_exit F
GLIBC_2.34 tss_create F
GLIBC_2.34 tss_delete F
GLIBC_2.21 seed48_r F
GLIBC_2.21 seekdir F
GLIBC_2.21 select F
+GLIBC_2.21 sem_close F
+GLIBC_2.21 sem_open F
GLIBC_2.21 semctl F
GLIBC_2.21 semget F
GLIBC_2.21 semop F
GLIBC_2.34 pthread_spin_unlock F
GLIBC_2.34 pthread_testcancel F
GLIBC_2.34 sem_clockwait F
+GLIBC_2.34 sem_close F
+GLIBC_2.34 sem_open F
GLIBC_2.34 thrd_exit F
GLIBC_2.34 tss_create F
GLIBC_2.34 tss_delete F
GLIBC_2.21 pthread_sigqueue F
GLIBC_2.21 pthread_timedjoin_np F
GLIBC_2.21 pthread_tryjoin_np F
-GLIBC_2.21 sem_close F
GLIBC_2.21 sem_destroy F
GLIBC_2.21 sem_getvalue F
GLIBC_2.21 sem_init F
-GLIBC_2.21 sem_open F
GLIBC_2.21 sem_post F
GLIBC_2.21 sem_timedwait F
GLIBC_2.21 sem_trywait F
GLIBC_2.1.1 getutmpx F
GLIBC_2.1.1 imaxabs F
GLIBC_2.1.1 imaxdiv F
+GLIBC_2.1.1 sem_close F
+GLIBC_2.1.1 sem_open F
GLIBC_2.1.1 strchrnul F
GLIBC_2.1.1 xdr_hyper F
GLIBC_2.1.1 xdr_int64_t F
GLIBC_2.34 pthread_spin_unlock F
GLIBC_2.34 pthread_testcancel F
GLIBC_2.34 sem_clockwait F
+GLIBC_2.34 sem_close F
+GLIBC_2.34 sem_open F
GLIBC_2.34 thrd_exit F
GLIBC_2.34 tss_create F
GLIBC_2.34 tss_delete F
GLIBC_2.1 sem_post F
GLIBC_2.1 sem_trywait F
GLIBC_2.1 sem_wait F
-GLIBC_2.1.1 sem_close F
-GLIBC_2.1.1 sem_open F
GLIBC_2.1.1 sem_unlink F
GLIBC_2.1.2 __libpthread_version_placeholder F
GLIBC_2.11 pthread_sigqueue F
GLIBC_2.1.1 getutmpx F
GLIBC_2.1.1 imaxabs F
GLIBC_2.1.1 imaxdiv F
+GLIBC_2.1.1 sem_close F
+GLIBC_2.1.1 sem_open F
GLIBC_2.1.1 strchrnul F
GLIBC_2.1.1 xdr_hyper F
GLIBC_2.1.1 xdr_int64_t F
GLIBC_2.34 pthread_spin_unlock F
GLIBC_2.34 pthread_testcancel F
GLIBC_2.34 sem_clockwait F
+GLIBC_2.34 sem_close F
+GLIBC_2.34 sem_open F
GLIBC_2.34 thrd_exit F
GLIBC_2.34 tss_create F
GLIBC_2.34 tss_delete F
GLIBC_2.3 seed48_r F
GLIBC_2.3 seekdir F
GLIBC_2.3 select F
+GLIBC_2.3 sem_close F
+GLIBC_2.3 sem_open F
GLIBC_2.3 semctl F
GLIBC_2.3 semget F
GLIBC_2.3 semop F
GLIBC_2.34 pthread_spin_unlock F
GLIBC_2.34 pthread_testcancel F
GLIBC_2.34 sem_clockwait F
+GLIBC_2.34 sem_close F
+GLIBC_2.34 sem_open F
GLIBC_2.34 thrd_exit F
GLIBC_2.34 tss_create F
GLIBC_2.34 tss_delete F
GLIBC_2.3 pthread_getcpuclockid F
GLIBC_2.3 pthread_join F
GLIBC_2.3 pthread_setconcurrency F
-GLIBC_2.3 sem_close F
GLIBC_2.3 sem_destroy F
GLIBC_2.3 sem_getvalue F
GLIBC_2.3 sem_init F
-GLIBC_2.3 sem_open F
GLIBC_2.3 sem_post F
GLIBC_2.3 sem_timedwait F
GLIBC_2.3 sem_trywait F
GLIBC_2.17 seed48_r F
GLIBC_2.17 seekdir F
GLIBC_2.17 select F
+GLIBC_2.17 sem_close F
+GLIBC_2.17 sem_open F
GLIBC_2.17 semctl F
GLIBC_2.17 semget F
GLIBC_2.17 semop F
GLIBC_2.34 pthread_spin_unlock F
GLIBC_2.34 pthread_testcancel F
GLIBC_2.34 sem_clockwait F
+GLIBC_2.34 sem_close F
+GLIBC_2.34 sem_open F
GLIBC_2.34 thrd_exit F
GLIBC_2.34 tss_create F
GLIBC_2.34 tss_delete F
GLIBC_2.17 pthread_sigqueue F
GLIBC_2.17 pthread_timedjoin_np F
GLIBC_2.17 pthread_tryjoin_np F
-GLIBC_2.17 sem_close F
GLIBC_2.17 sem_destroy F
GLIBC_2.17 sem_getvalue F
GLIBC_2.17 sem_init F
-GLIBC_2.17 sem_open F
GLIBC_2.17 sem_post F
GLIBC_2.17 sem_timedwait F
GLIBC_2.17 sem_trywait F
GLIBC_2.33 seekdir F
GLIBC_2.33 select F
GLIBC_2.33 sem_clockwait F
+GLIBC_2.33 sem_close F
+GLIBC_2.33 sem_open F
GLIBC_2.33 semctl F
GLIBC_2.33 semget F
GLIBC_2.33 semop F
GLIBC_2.34 pthread_spin_unlock F
GLIBC_2.34 pthread_testcancel F
GLIBC_2.34 sem_clockwait F
+GLIBC_2.34 sem_close F
+GLIBC_2.34 sem_open F
GLIBC_2.34 thrd_exit F
GLIBC_2.34 tss_create F
GLIBC_2.34 tss_delete F
GLIBC_2.33 pthread_sigqueue F
GLIBC_2.33 pthread_timedjoin_np F
GLIBC_2.33 pthread_tryjoin_np F
-GLIBC_2.33 sem_close F
GLIBC_2.33 sem_destroy F
GLIBC_2.33 sem_getvalue F
GLIBC_2.33 sem_init F
-GLIBC_2.33 sem_open F
GLIBC_2.33 sem_post F
GLIBC_2.33 sem_timedwait F
GLIBC_2.33 sem_trywait F
GLIBC_2.27 seed48_r F
GLIBC_2.27 seekdir F
GLIBC_2.27 select F
+GLIBC_2.27 sem_close F
+GLIBC_2.27 sem_open F
GLIBC_2.27 semctl F
GLIBC_2.27 semget F
GLIBC_2.27 semop F
GLIBC_2.34 pthread_spin_unlock F
GLIBC_2.34 pthread_testcancel F
GLIBC_2.34 sem_clockwait F
+GLIBC_2.34 sem_close F
+GLIBC_2.34 sem_open F
GLIBC_2.34 thrd_exit F
GLIBC_2.34 tss_create F
GLIBC_2.34 tss_delete F
GLIBC_2.27 pthread_sigqueue F
GLIBC_2.27 pthread_timedjoin_np F
GLIBC_2.27 pthread_tryjoin_np F
-GLIBC_2.27 sem_close F
GLIBC_2.27 sem_destroy F
GLIBC_2.27 sem_getvalue F
GLIBC_2.27 sem_init F
-GLIBC_2.27 sem_open F
GLIBC_2.27 sem_post F
GLIBC_2.27 sem_timedwait F
GLIBC_2.27 sem_trywait F
GLIBC_2.1.1 getutmpx F
GLIBC_2.1.1 imaxabs F
GLIBC_2.1.1 imaxdiv F
+GLIBC_2.1.1 sem_close F
+GLIBC_2.1.1 sem_open F
GLIBC_2.1.1 strchrnul F
GLIBC_2.1.1 xdr_hyper F
GLIBC_2.1.1 xdr_int64_t F
GLIBC_2.34 pthread_spin_unlock F
GLIBC_2.34 pthread_testcancel F
GLIBC_2.34 sem_clockwait F
+GLIBC_2.34 sem_close F
+GLIBC_2.34 sem_open F
GLIBC_2.34 thrd_exit F
GLIBC_2.34 tss_create F
GLIBC_2.34 tss_delete F
GLIBC_2.1 sem_post F
GLIBC_2.1 sem_trywait F
GLIBC_2.1 sem_wait F
-GLIBC_2.1.1 sem_close F
-GLIBC_2.1.1 sem_open F
GLIBC_2.1.1 sem_unlink F
GLIBC_2.1.2 __libpthread_version_placeholder F
GLIBC_2.11 pthread_sigqueue F
GLIBC_2.2 seed48_r F
GLIBC_2.2 seekdir F
GLIBC_2.2 select F
+GLIBC_2.2 sem_close F
+GLIBC_2.2 sem_open F
GLIBC_2.2 semctl F
GLIBC_2.2 semget F
GLIBC_2.2 semop F
GLIBC_2.34 pthread_spin_unlock F
GLIBC_2.34 pthread_testcancel F
GLIBC_2.34 sem_clockwait F
+GLIBC_2.34 sem_close F
+GLIBC_2.34 sem_open F
GLIBC_2.34 thrd_exit F
GLIBC_2.34 tss_create F
GLIBC_2.34 tss_delete F
GLIBC_2.2 pthread_getcpuclockid F
GLIBC_2.2 pthread_join F
GLIBC_2.2 pthread_setconcurrency F
-GLIBC_2.2 sem_close F
GLIBC_2.2 sem_destroy F
GLIBC_2.2 sem_getvalue F
GLIBC_2.2 sem_init F
-GLIBC_2.2 sem_open F
GLIBC_2.2 sem_post F
GLIBC_2.2 sem_timedwait F
GLIBC_2.2 sem_trywait F
GLIBC_2.2 seed48_r F
GLIBC_2.2 seekdir F
GLIBC_2.2 select F
+GLIBC_2.2 sem_close F
+GLIBC_2.2 sem_open F
GLIBC_2.2 semctl F
GLIBC_2.2 semget F
GLIBC_2.2 semop F
GLIBC_2.34 pthread_spin_unlock F
GLIBC_2.34 pthread_testcancel F
GLIBC_2.34 sem_clockwait F
+GLIBC_2.34 sem_close F
+GLIBC_2.34 sem_open F
GLIBC_2.34 thrd_exit F
GLIBC_2.34 tss_create F
GLIBC_2.34 tss_delete F
GLIBC_2.2 pthread_getcpuclockid F
GLIBC_2.2 pthread_join F
GLIBC_2.2 pthread_setconcurrency F
-GLIBC_2.2 sem_close F
GLIBC_2.2 sem_destroy F
GLIBC_2.2 sem_getvalue F
GLIBC_2.2 sem_init F
-GLIBC_2.2 sem_open F
GLIBC_2.2 sem_post F
GLIBC_2.2 sem_timedwait F
GLIBC_2.2 sem_trywait F
GLIBC_2.2 seed48_r F
GLIBC_2.2 seekdir F
GLIBC_2.2 select F
+GLIBC_2.2 sem_close F
+GLIBC_2.2 sem_open F
GLIBC_2.2 semctl F
GLIBC_2.2 semget F
GLIBC_2.2 semop F
GLIBC_2.34 pthread_spin_unlock F
GLIBC_2.34 pthread_testcancel F
GLIBC_2.34 sem_clockwait F
+GLIBC_2.34 sem_close F
+GLIBC_2.34 sem_open F
GLIBC_2.34 thrd_exit F
GLIBC_2.34 tss_create F
GLIBC_2.34 tss_delete F
GLIBC_2.2 pthread_getcpuclockid F
GLIBC_2.2 pthread_join F
GLIBC_2.2 pthread_setconcurrency F
-GLIBC_2.2 sem_close F
GLIBC_2.2 sem_destroy F
GLIBC_2.2 sem_getvalue F
GLIBC_2.2 sem_init F
-GLIBC_2.2 sem_open F
GLIBC_2.2 sem_post F
GLIBC_2.2 sem_timedwait F
GLIBC_2.2 sem_trywait F
GLIBC_2.1.1 getutmpx F
GLIBC_2.1.1 imaxabs F
GLIBC_2.1.1 imaxdiv F
+GLIBC_2.1.1 sem_close F
+GLIBC_2.1.1 sem_open F
GLIBC_2.1.1 strchrnul F
GLIBC_2.1.1 xdr_hyper F
GLIBC_2.1.1 xdr_int64_t F
GLIBC_2.34 pthread_spin_unlock F
GLIBC_2.34 pthread_testcancel F
GLIBC_2.34 sem_clockwait F
+GLIBC_2.34 sem_close F
+GLIBC_2.34 sem_open F
GLIBC_2.34 thrd_exit F
GLIBC_2.34 tss_create F
GLIBC_2.34 tss_delete F
GLIBC_2.1 sem_post F
GLIBC_2.1 sem_trywait F
GLIBC_2.1 sem_wait F
-GLIBC_2.1.1 sem_close F
-GLIBC_2.1.1 sem_open F
GLIBC_2.1.1 sem_unlink F
GLIBC_2.1.2 __libpthread_version_placeholder F
GLIBC_2.11 pthread_sigqueue F
GLIBC_2.2 seed48_r F
GLIBC_2.2 seekdir F
GLIBC_2.2 select F
+GLIBC_2.2 sem_close F
+GLIBC_2.2 sem_open F
GLIBC_2.2 semctl F
GLIBC_2.2 semget F
GLIBC_2.2 semop F
GLIBC_2.34 pthread_spin_unlock F
GLIBC_2.34 pthread_testcancel F
GLIBC_2.34 sem_clockwait F
+GLIBC_2.34 sem_close F
+GLIBC_2.34 sem_open F
GLIBC_2.34 thrd_exit F
GLIBC_2.34 tss_create F
GLIBC_2.34 tss_delete F
GLIBC_2.2 pthread_getcpuclockid F
GLIBC_2.2 pthread_join F
GLIBC_2.2 pthread_setconcurrency F
-GLIBC_2.2 sem_close F
GLIBC_2.2 sem_destroy F
GLIBC_2.2 sem_getvalue F
GLIBC_2.2 sem_init F
-GLIBC_2.2 sem_open F
GLIBC_2.2 sem_post F
GLIBC_2.2 sem_timedwait F
GLIBC_2.2 sem_trywait F
GLIBC_2.2.5 seed48_r F
GLIBC_2.2.5 seekdir F
GLIBC_2.2.5 select F
+GLIBC_2.2.5 sem_close F
+GLIBC_2.2.5 sem_open F
GLIBC_2.2.5 semctl F
GLIBC_2.2.5 semget F
GLIBC_2.2.5 semop F
GLIBC_2.34 pthread_spin_unlock F
GLIBC_2.34 pthread_testcancel F
GLIBC_2.34 sem_clockwait F
+GLIBC_2.34 sem_close F
+GLIBC_2.34 sem_open F
GLIBC_2.34 thrd_exit F
GLIBC_2.34 tss_create F
GLIBC_2.34 tss_delete F
GLIBC_2.2.5 pthread_getcpuclockid F
GLIBC_2.2.5 pthread_join F
GLIBC_2.2.5 pthread_setconcurrency F
-GLIBC_2.2.5 sem_close F
GLIBC_2.2.5 sem_destroy F
GLIBC_2.2.5 sem_getvalue F
GLIBC_2.2.5 sem_init F
-GLIBC_2.2.5 sem_open F
GLIBC_2.2.5 sem_post F
GLIBC_2.2.5 sem_timedwait F
GLIBC_2.2.5 sem_trywait F
GLIBC_2.16 seed48_r F
GLIBC_2.16 seekdir F
GLIBC_2.16 select F
+GLIBC_2.16 sem_close F
+GLIBC_2.16 sem_open F
GLIBC_2.16 semctl F
GLIBC_2.16 semget F
GLIBC_2.16 semop F
GLIBC_2.34 pthread_spin_unlock F
GLIBC_2.34 pthread_testcancel F
GLIBC_2.34 sem_clockwait F
+GLIBC_2.34 sem_close F
+GLIBC_2.34 sem_open F
GLIBC_2.34 thrd_exit F
GLIBC_2.34 tss_create F
GLIBC_2.34 tss_delete F
GLIBC_2.16 pthread_sigqueue F
GLIBC_2.16 pthread_timedjoin_np F
GLIBC_2.16 pthread_tryjoin_np F
-GLIBC_2.16 sem_close F
GLIBC_2.16 sem_destroy F
GLIBC_2.16 sem_getvalue F
GLIBC_2.16 sem_init F
-GLIBC_2.16 sem_open F
GLIBC_2.16 sem_post F
GLIBC_2.16 sem_timedwait F
GLIBC_2.16 sem_trywait F