The symbol was moved using scripts/move-symbol-to-libc.py.
An explicit call from fork into the mq_notify implementation replaces
the previous use of pthread_atfork.
Reviewed-by: Adhemerva Zanella <adhemerval.zanella@linaro.org>
# if PTHREAD_IN_LIBC
libc_hidden_proto (mq_setattr)
+
+/* Called from fork so that the new subprocess re-creates the
+ notification thread if necessary. */
+void __mq_notify_fork_subprocess (void) attribute_hidden;
# endif
#include <struct___timespec64.h>
#endif
extern int __pthread_barrier_wait (pthread_barrier_t *__barrier)
__THROWNL __nonnull ((1));
+#if PTHREAD_IN_LIBC
+libc_hidden_proto (__pthread_barrier_wait)
+#endif
/* This function is called to initialize the pthread library. */
extern void __pthread_initialize (void) __attribute__ ((weak));
librt-routines = \
librt-compat \
- mq_notify \
mq_open \
mq_receive \
mq_send \
lio_listio64 \
mq_close \
mq_getattr \
+ mq_notify \
mq_setattr \
tests := tst-shm tst-timer tst-timer2 \
%if PTHREAD_IN_LIBC
mq_close;
mq_getattr;
+ mq_notify;
mq_setattr;
%endif
}
lio_listio64;
mq_close;
mq_getattr;
+ mq_notify;
mq_setattr;
%endif
shm_open;
%if !PTHREAD_IN_LIBC
mq_close;
mq_getattr;
+ mq_notify;
mq_setattr;
%endif
- mq_notify;
mq_open;
mq_receive;
mq_send;
#include <assert.h>
#include <ldsodefs.h>
#include <list.h>
+#include <mqueue.h>
#include <pthreadP.h>
#include <sysdep.h>
/* Initialize thread library locks. */
GL (dl_stack_cache_lock) = LLL_LOCK_INITIALIZER;
__default_pthread_attr_lock = LLL_LOCK_INITIALIZER;
+
+ call_function_static_weak (__mq_notify_fork_subprocess);
}
/* In case of a fork() call the memory allocation in the child will be
GLIBC_2.17 mprotect F
GLIBC_2.17 mq_close F
GLIBC_2.17 mq_getattr F
+GLIBC_2.17 mq_notify F
GLIBC_2.17 mq_setattr F
GLIBC_2.17 mrand48 F
GLIBC_2.17 mrand48_r F
GLIBC_2.34 lio_listio64 F
GLIBC_2.34 mq_close F
GLIBC_2.34 mq_getattr F
+GLIBC_2.34 mq_notify F
GLIBC_2.34 mq_setattr F
GLIBC_2.34 mtx_destroy F
GLIBC_2.34 mtx_init F
GLIBC_2.17 __mq_open_2 F
-GLIBC_2.17 mq_notify F
GLIBC_2.17 mq_open F
GLIBC_2.17 mq_receive F
GLIBC_2.17 mq_send F
GLIBC_2.3.4 getsourcefilter F
GLIBC_2.3.4 mq_close F
GLIBC_2.3.4 mq_getattr F
+GLIBC_2.3.4 mq_notify F
GLIBC_2.3.4 mq_setattr F
GLIBC_2.3.4 pthread_attr_getaffinity_np F
GLIBC_2.3.4 pthread_attr_setaffinity_np F
GLIBC_2.34 lio_listio64 F
GLIBC_2.34 mq_close F
GLIBC_2.34 mq_getattr F
+GLIBC_2.34 mq_notify F
GLIBC_2.34 mq_setattr F
GLIBC_2.34 mtx_destroy F
GLIBC_2.34 mtx_init F
GLIBC_2.3.3 timer_getoverrun F
GLIBC_2.3.3 timer_gettime F
GLIBC_2.3.3 timer_settime F
-GLIBC_2.3.4 mq_notify F
GLIBC_2.3.4 mq_open F
GLIBC_2.3.4 mq_receive F
GLIBC_2.3.4 mq_send F
GLIBC_2.32 mprotect F
GLIBC_2.32 mq_close F
GLIBC_2.32 mq_getattr F
+GLIBC_2.32 mq_notify F
GLIBC_2.32 mq_setattr F
GLIBC_2.32 mrand48 F
GLIBC_2.32 mrand48_r F
GLIBC_2.34 lio_listio64 F
GLIBC_2.34 mq_close F
GLIBC_2.34 mq_getattr F
+GLIBC_2.34 mq_notify F
GLIBC_2.34 mq_setattr F
GLIBC_2.34 mtx_destroy F
GLIBC_2.34 mtx_init F
GLIBC_2.32 __mq_open_2 F
-GLIBC_2.32 mq_notify F
GLIBC_2.32 mq_open F
GLIBC_2.32 mq_receive F
GLIBC_2.32 mq_send F
GLIBC_2.34 lio_listio64 F
GLIBC_2.34 mq_close F
GLIBC_2.34 mq_getattr F
+GLIBC_2.34 mq_notify F
GLIBC_2.34 mq_setattr F
GLIBC_2.34 mtx_destroy F
GLIBC_2.34 mtx_init F
GLIBC_2.4 mprotect F
GLIBC_2.4 mq_close F
GLIBC_2.4 mq_getattr F
+GLIBC_2.4 mq_notify F
GLIBC_2.4 mq_setattr F
GLIBC_2.4 mrand48 F
GLIBC_2.4 mrand48_r F
GLIBC_2.34 __mq_timedsend_time64 F
GLIBC_2.34 __timer_gettime64 F
GLIBC_2.34 __timer_settime64 F
-GLIBC_2.4 mq_notify F
GLIBC_2.4 mq_open F
GLIBC_2.4 mq_receive F
GLIBC_2.4 mq_send F
GLIBC_2.34 lio_listio64 F
GLIBC_2.34 mq_close F
GLIBC_2.34 mq_getattr F
+GLIBC_2.34 mq_notify F
GLIBC_2.34 mq_setattr F
GLIBC_2.34 mtx_destroy F
GLIBC_2.34 mtx_init F
GLIBC_2.4 mprotect F
GLIBC_2.4 mq_close F
GLIBC_2.4 mq_getattr F
+GLIBC_2.4 mq_notify F
GLIBC_2.4 mq_setattr F
GLIBC_2.4 mrand48 F
GLIBC_2.4 mrand48_r F
GLIBC_2.34 __mq_timedsend_time64 F
GLIBC_2.34 __timer_gettime64 F
GLIBC_2.34 __timer_settime64 F
-GLIBC_2.4 mq_notify F
GLIBC_2.4 mq_open F
GLIBC_2.4 mq_receive F
GLIBC_2.4 mq_send F
GLIBC_2.29 mprotect F
GLIBC_2.29 mq_close F
GLIBC_2.29 mq_getattr F
+GLIBC_2.29 mq_notify F
GLIBC_2.29 mq_setattr F
GLIBC_2.29 mrand48 F
GLIBC_2.29 mrand48_r F
GLIBC_2.34 lio_listio64 F
GLIBC_2.34 mq_close F
GLIBC_2.34 mq_getattr F
+GLIBC_2.34 mq_notify F
GLIBC_2.34 mq_setattr F
GLIBC_2.34 mtx_destroy F
GLIBC_2.34 mtx_init F
GLIBC_2.29 __mq_open_2 F
-GLIBC_2.29 mq_notify F
GLIBC_2.29 mq_open F
GLIBC_2.29 mq_receive F
GLIBC_2.29 mq_send F
GLIBC_2.3.4 getsourcefilter F
GLIBC_2.3.4 mq_close F
GLIBC_2.3.4 mq_getattr F
+GLIBC_2.3.4 mq_notify F
GLIBC_2.3.4 mq_setattr F
GLIBC_2.3.4 pthread_attr_getaffinity_np F
GLIBC_2.3.4 pthread_attr_setaffinity_np F
GLIBC_2.34 lio_listio64 F
GLIBC_2.34 mq_close F
GLIBC_2.34 mq_getattr F
+GLIBC_2.34 mq_notify F
GLIBC_2.34 mq_setattr F
GLIBC_2.34 mtx_destroy F
GLIBC_2.34 mtx_init F
GLIBC_2.2 timer_getoverrun F
GLIBC_2.2 timer_gettime F
GLIBC_2.2 timer_settime F
-GLIBC_2.3.4 mq_notify F
GLIBC_2.3.4 mq_open F
GLIBC_2.3.4 mq_receive F
GLIBC_2.3.4 mq_send F
GLIBC_2.3.4 getsourcefilter F
GLIBC_2.3.4 mq_close F
GLIBC_2.3.4 mq_getattr F
+GLIBC_2.3.4 mq_notify F
GLIBC_2.3.4 mq_setattr F
GLIBC_2.3.4 pthread_attr_getaffinity_np F
GLIBC_2.3.4 pthread_attr_setaffinity_np F
GLIBC_2.34 lio_listio64 F
GLIBC_2.34 mq_close F
GLIBC_2.34 mq_getattr F
+GLIBC_2.34 mq_notify F
GLIBC_2.34 mq_setattr F
GLIBC_2.34 mtx_destroy F
GLIBC_2.34 mtx_init F
GLIBC_2.2 timer_getoverrun F
GLIBC_2.2 timer_gettime F
GLIBC_2.2 timer_settime F
-GLIBC_2.3.4 mq_notify F
GLIBC_2.3.4 mq_open F
GLIBC_2.3.4 mq_receive F
GLIBC_2.3.4 mq_send F
GLIBC_2.3.4 getsourcefilter F
GLIBC_2.3.4 mq_close F
GLIBC_2.3.4 mq_getattr F
+GLIBC_2.3.4 mq_notify F
GLIBC_2.3.4 mq_setattr F
GLIBC_2.3.4 pthread_attr_getaffinity_np F
GLIBC_2.3.4 pthread_attr_setaffinity_np F
GLIBC_2.34 lio_listio64 F
GLIBC_2.34 mq_close F
GLIBC_2.34 mq_getattr F
+GLIBC_2.34 mq_notify F
GLIBC_2.34 mq_setattr F
GLIBC_2.34 mtx_destroy F
GLIBC_2.34 mtx_init F
GLIBC_2.3.3 timer_getoverrun F
GLIBC_2.3.3 timer_gettime F
GLIBC_2.3.3 timer_settime F
-GLIBC_2.3.4 mq_notify F
GLIBC_2.3.4 mq_open F
GLIBC_2.3.4 mq_receive F
GLIBC_2.3.4 mq_send F
GLIBC_2.34 lio_listio64 F
GLIBC_2.34 mq_close F
GLIBC_2.34 mq_getattr F
+GLIBC_2.34 mq_notify F
GLIBC_2.34 mq_setattr F
GLIBC_2.34 mtx_destroy F
GLIBC_2.34 mtx_init F
GLIBC_2.4 mprotect F
GLIBC_2.4 mq_close F
GLIBC_2.4 mq_getattr F
+GLIBC_2.4 mq_notify F
GLIBC_2.4 mq_setattr F
GLIBC_2.4 mrand48 F
GLIBC_2.4 mrand48_r F
GLIBC_2.34 __mq_timedsend_time64 F
GLIBC_2.34 __timer_gettime64 F
GLIBC_2.34 __timer_settime64 F
-GLIBC_2.4 mq_notify F
GLIBC_2.4 mq_open F
GLIBC_2.4 mq_receive F
GLIBC_2.4 mq_send F
GLIBC_2.3.4 getsourcefilter F
GLIBC_2.3.4 mq_close F
GLIBC_2.3.4 mq_getattr F
+GLIBC_2.3.4 mq_notify F
GLIBC_2.3.4 mq_setattr F
GLIBC_2.3.4 pthread_attr_getaffinity_np F
GLIBC_2.3.4 pthread_attr_setaffinity_np F
GLIBC_2.34 lio_listio64 F
GLIBC_2.34 mq_close F
GLIBC_2.34 mq_getattr F
+GLIBC_2.34 mq_notify F
GLIBC_2.34 mq_setattr F
GLIBC_2.34 mtx_destroy F
GLIBC_2.34 mtx_init F
GLIBC_2.2 timer_getoverrun F
GLIBC_2.2 timer_gettime F
GLIBC_2.2 timer_settime F
-GLIBC_2.3.4 mq_notify F
GLIBC_2.3.4 mq_open F
GLIBC_2.3.4 mq_receive F
GLIBC_2.3.4 mq_send F
GLIBC_2.18 mprotect F
GLIBC_2.18 mq_close F
GLIBC_2.18 mq_getattr F
+GLIBC_2.18 mq_notify F
GLIBC_2.18 mq_setattr F
GLIBC_2.18 mrand48 F
GLIBC_2.18 mrand48_r F
GLIBC_2.34 lio_listio64 F
GLIBC_2.34 mq_close F
GLIBC_2.34 mq_getattr F
+GLIBC_2.34 mq_notify F
GLIBC_2.34 mq_setattr F
GLIBC_2.34 mtx_destroy F
GLIBC_2.34 mtx_init F
GLIBC_2.18 __mq_open_2 F
-GLIBC_2.18 mq_notify F
GLIBC_2.18 mq_open F
GLIBC_2.18 mq_receive F
GLIBC_2.18 mq_send F
GLIBC_2.18 mprotect F
GLIBC_2.18 mq_close F
GLIBC_2.18 mq_getattr F
+GLIBC_2.18 mq_notify F
GLIBC_2.18 mq_setattr F
GLIBC_2.18 mrand48 F
GLIBC_2.18 mrand48_r F
GLIBC_2.34 lio_listio64 F
GLIBC_2.34 mq_close F
GLIBC_2.34 mq_getattr F
+GLIBC_2.34 mq_notify F
GLIBC_2.34 mq_setattr F
GLIBC_2.34 mtx_destroy F
GLIBC_2.34 mtx_init F
GLIBC_2.18 __mq_open_2 F
-GLIBC_2.18 mq_notify F
GLIBC_2.18 mq_open F
GLIBC_2.18 mq_receive F
GLIBC_2.18 mq_send F
GLIBC_2.3.4 getsourcefilter F
GLIBC_2.3.4 mq_close F
GLIBC_2.3.4 mq_getattr F
+GLIBC_2.3.4 mq_notify F
GLIBC_2.3.4 mq_setattr F
GLIBC_2.3.4 pthread_attr_getaffinity_np F
GLIBC_2.3.4 pthread_attr_setaffinity_np F
GLIBC_2.34 lio_listio64 F
GLIBC_2.34 mq_close F
GLIBC_2.34 mq_getattr F
+GLIBC_2.34 mq_notify F
GLIBC_2.34 mq_setattr F
GLIBC_2.34 mtx_destroy F
GLIBC_2.34 mtx_init F
GLIBC_2.2 timer_getoverrun F
GLIBC_2.2 timer_gettime F
GLIBC_2.2 timer_settime F
-GLIBC_2.3.4 mq_notify F
GLIBC_2.3.4 mq_open F
GLIBC_2.3.4 mq_receive F
GLIBC_2.3.4 mq_send F
GLIBC_2.3.4 getsourcefilter F
GLIBC_2.3.4 mq_close F
GLIBC_2.3.4 mq_getattr F
+GLIBC_2.3.4 mq_notify F
GLIBC_2.3.4 mq_setattr F
GLIBC_2.3.4 pthread_attr_getaffinity_np F
GLIBC_2.3.4 pthread_attr_setaffinity_np F
GLIBC_2.34 lio_listio64 F
GLIBC_2.34 mq_close F
GLIBC_2.34 mq_getattr F
+GLIBC_2.34 mq_notify F
GLIBC_2.34 mq_setattr F
GLIBC_2.34 mtx_destroy F
GLIBC_2.34 mtx_init F
GLIBC_2.3.4 getsourcefilter F
GLIBC_2.3.4 mq_close F
GLIBC_2.3.4 mq_getattr F
+GLIBC_2.3.4 mq_notify F
GLIBC_2.3.4 mq_setattr F
GLIBC_2.3.4 pthread_attr_getaffinity_np F
GLIBC_2.3.4 pthread_attr_setaffinity_np F
GLIBC_2.34 lio_listio64 F
GLIBC_2.34 mq_close F
GLIBC_2.34 mq_getattr F
+GLIBC_2.34 mq_notify F
GLIBC_2.34 mq_setattr F
GLIBC_2.34 mtx_destroy F
GLIBC_2.34 mtx_init F
GLIBC_2.2 timer_getoverrun F
GLIBC_2.2 timer_gettime F
GLIBC_2.2 timer_settime F
-GLIBC_2.3.4 mq_notify F
GLIBC_2.3.4 mq_open F
GLIBC_2.3.4 mq_receive F
GLIBC_2.3.4 mq_send F
GLIBC_2.3.4 getsourcefilter F
GLIBC_2.3.4 mq_close F
GLIBC_2.3.4 mq_getattr F
+GLIBC_2.3.4 mq_notify F
GLIBC_2.3.4 mq_setattr F
GLIBC_2.3.4 pthread_attr_getaffinity_np F
GLIBC_2.3.4 pthread_attr_setaffinity_np F
GLIBC_2.34 lio_listio64 F
GLIBC_2.34 mq_close F
GLIBC_2.34 mq_getattr F
+GLIBC_2.34 mq_notify F
GLIBC_2.34 mq_setattr F
GLIBC_2.34 mtx_destroy F
GLIBC_2.34 mtx_init F
GLIBC_2.2 timer_getoverrun F
GLIBC_2.2 timer_gettime F
GLIBC_2.2 timer_settime F
-GLIBC_2.3.4 mq_notify F
GLIBC_2.3.4 mq_open F
GLIBC_2.3.4 mq_receive F
GLIBC_2.3.4 mq_send F
#include <sys/socket.h>
#include <not-cancel.h>
#include <pthreadP.h>
-
+#include <shlib-compat.h>
/* Defined in the kernel headers: */
#define NOTIFY_COOKIE_LEN 32 /* Length of the cookie used. */
{
sigset_t ss;
sigfillset (&ss);
- return pthread_sigmask (how, &ss, oss);
+ return __pthread_sigmask (how, &ss, oss);
}
(void) __pthread_barrier_wait (¬ify_barrier);
/* Make the thread detached. */
- (void) pthread_detach (pthread_self ());
+ __pthread_detach (__pthread_self ());
/* The parent thread has all signals blocked. This is probably a
bit surprising for this thread. So we unblock all of them. */
/* Just create the thread as instructed. There is no way to
report a problem with creating a thread. */
pthread_t th;
- if (__builtin_expect (pthread_create (&th, data.attr,
- notification_function, &data)
- == 0, 0))
+ if (__pthread_create (&th, data.attr, notification_function, &data)
+ == 0)
/* Since we passed a pointer to DATA to the new thread we have
to wait until it is done with it. */
(void) __pthread_barrier_wait (¬ify_barrier);
else if (data.raw[NOTIFY_COOKIE_LEN - 1] == NOTIFY_REMOVED)
{
/* The only state we keep is the copy of the thread attributes. */
- pthread_attr_destroy (data.attr);
+ __pthread_attr_destroy (data.attr);
free (data.attr);
}
}
}
-static void
-reset_once (void)
+void
+__mq_notify_fork_subprocess (void)
{
once = PTHREAD_ONCE_INIT;
}
int err = 1;
/* Initialize the barrier. */
- if (__builtin_expect (__pthread_barrier_init (¬ify_barrier, NULL, 2) == 0,
- 0))
+ if (__pthread_barrier_init (¬ify_barrier, NULL, 2) == 0)
{
/* Create the helper thread. */
pthread_attr_t attr;
- (void) pthread_attr_init (&attr);
- (void) pthread_attr_setdetachstate (&attr, PTHREAD_CREATE_DETACHED);
+ __pthread_attr_init (&attr);
+ __pthread_attr_setdetachstate (&attr, PTHREAD_CREATE_DETACHED);
/* We do not need much stack space, the bare minimum will be enough. */
- (void) pthread_attr_setstacksize (&attr, __pthread_get_minstack (&attr));
+ __pthread_attr_setstacksize (&attr, __pthread_get_minstack (&attr));
/* Temporarily block all signals so that the newly created
thread inherits the mask. */
int have_no_oss = change_sigmask (SIG_BLOCK, &oss);
pthread_t th;
- err = pthread_create (&th, &attr, helper_thread, NULL);
+ err = __pthread_create (&th, &attr, helper_thread, NULL);
/* Reset the signal mask. */
if (!have_no_oss)
- pthread_sigmask (SIG_SETMASK, &oss, NULL);
-
- (void) pthread_attr_destroy (&attr);
+ __pthread_sigmask (SIG_SETMASK, &oss, NULL);
- if (err == 0)
- {
- static int added_atfork;
-
- if (added_atfork == 0
- && pthread_atfork (NULL, NULL, reset_once) != 0)
- {
- /* The child thread will call recv() which is a
- cancellation point. */
- (void) pthread_cancel (th);
- err = 1;
- }
- else
- added_atfork = 1;
- }
+ __pthread_attr_destroy (&attr);
}
if (err != 0)
/* Register notification upon message arrival to an empty message queue
MQDES. */
int
-mq_notify (mqd_t mqdes, const struct sigevent *notification)
+__mq_notify (mqd_t mqdes, const struct sigevent *notification)
{
/* Make sure the type is correctly defined. */
assert (sizeof (union notify_data) == NOTIFY_COOKIE_LEN);
response. */
/* Initialize only once. */
- pthread_once (&once, init_mq_netlink);
+ __pthread_once (&once, init_mq_netlink);
/* If we cannot create the netlink socket we cannot provide
SIGEV_THREAD support. */
/* If it failed, free the allocated memory. */
if (retval != 0 && data.attr != NULL)
{
- pthread_attr_destroy (data.attr);
+ __pthread_attr_destroy (data.attr);
free (data.attr);
}
return retval;
}
+versioned_symbol (libc, __mq_notify, mq_notify, GLIBC_2_34);
+libc_hidden_ver (__mq_notify, mq_notify)
+#if OTHER_SHLIB_COMPAT (librt, GLIBC_2_3_4, GLIBC_2_34)
+compat_symbol (librt, __mq_notify, mq_notify, GLIBC_2_3_4);
+#endif
GLIBC_2.21 mprotect F
GLIBC_2.21 mq_close F
GLIBC_2.21 mq_getattr F
+GLIBC_2.21 mq_notify F
GLIBC_2.21 mq_setattr F
GLIBC_2.21 mrand48 F
GLIBC_2.21 mrand48_r F
GLIBC_2.34 lio_listio64 F
GLIBC_2.34 mq_close F
GLIBC_2.34 mq_getattr F
+GLIBC_2.34 mq_notify F
GLIBC_2.34 mq_setattr F
GLIBC_2.34 mtx_destroy F
GLIBC_2.34 mtx_init F
GLIBC_2.21 __mq_open_2 F
-GLIBC_2.21 mq_notify F
GLIBC_2.21 mq_open F
GLIBC_2.21 mq_receive F
GLIBC_2.21 mq_send F
GLIBC_2.3.4 makecontext F
GLIBC_2.3.4 mq_close F
GLIBC_2.3.4 mq_getattr F
+GLIBC_2.3.4 mq_notify F
GLIBC_2.3.4 mq_setattr F
GLIBC_2.3.4 pthread_attr_getaffinity_np F
GLIBC_2.3.4 pthread_attr_setaffinity_np F
GLIBC_2.34 lio_listio64 F
GLIBC_2.34 mq_close F
GLIBC_2.34 mq_getattr F
+GLIBC_2.34 mq_notify F
GLIBC_2.34 mq_setattr F
GLIBC_2.34 mtx_destroy F
GLIBC_2.34 mtx_init F
GLIBC_2.2 timer_getoverrun F
GLIBC_2.2 timer_gettime F
GLIBC_2.2 timer_settime F
-GLIBC_2.3.4 mq_notify F
GLIBC_2.3.4 mq_open F
GLIBC_2.3.4 mq_receive F
GLIBC_2.3.4 mq_send F
GLIBC_2.3.4 makecontext F
GLIBC_2.3.4 mq_close F
GLIBC_2.3.4 mq_getattr F
+GLIBC_2.3.4 mq_notify F
GLIBC_2.3.4 mq_setattr F
GLIBC_2.3.4 pthread_attr_getaffinity_np F
GLIBC_2.3.4 pthread_attr_setaffinity_np F
GLIBC_2.34 lio_listio64 F
GLIBC_2.34 mq_close F
GLIBC_2.34 mq_getattr F
+GLIBC_2.34 mq_notify F
GLIBC_2.34 mq_setattr F
GLIBC_2.34 mtx_destroy F
GLIBC_2.34 mtx_init F
GLIBC_2.3.4 longjmp F
GLIBC_2.3.4 mq_close F
GLIBC_2.3.4 mq_getattr F
+GLIBC_2.3.4 mq_notify F
GLIBC_2.3.4 mq_setattr F
GLIBC_2.3.4 pthread_attr_getaffinity_np F
GLIBC_2.3.4 pthread_attr_setaffinity_np F
GLIBC_2.34 lio_listio64 F
GLIBC_2.34 mq_close F
GLIBC_2.34 mq_getattr F
+GLIBC_2.34 mq_notify F
GLIBC_2.34 mq_setattr F
GLIBC_2.34 mtx_destroy F
GLIBC_2.34 mtx_init F
GLIBC_2.3.3 timer_getoverrun F
GLIBC_2.3.3 timer_gettime F
GLIBC_2.3.3 timer_settime F
-GLIBC_2.3.4 mq_notify F
GLIBC_2.3.4 mq_open F
GLIBC_2.3.4 mq_receive F
GLIBC_2.3.4 mq_send F
GLIBC_2.17 mprotect F
GLIBC_2.17 mq_close F
GLIBC_2.17 mq_getattr F
+GLIBC_2.17 mq_notify F
GLIBC_2.17 mq_setattr F
GLIBC_2.17 mrand48 F
GLIBC_2.17 mrand48_r F
GLIBC_2.34 lio_listio64 F
GLIBC_2.34 mq_close F
GLIBC_2.34 mq_getattr F
+GLIBC_2.34 mq_notify F
GLIBC_2.34 mq_setattr F
GLIBC_2.34 mtx_destroy F
GLIBC_2.34 mtx_init F
GLIBC_2.17 __mq_open_2 F
-GLIBC_2.17 mq_notify F
GLIBC_2.17 mq_open F
GLIBC_2.17 mq_receive F
GLIBC_2.17 mq_send F
GLIBC_2.33 mprotect F
GLIBC_2.33 mq_close F
GLIBC_2.33 mq_getattr F
+GLIBC_2.33 mq_notify F
GLIBC_2.33 mq_setattr F
GLIBC_2.33 mrand48 F
GLIBC_2.33 mrand48_r F
GLIBC_2.34 lio_listio64 F
GLIBC_2.34 mq_close F
GLIBC_2.34 mq_getattr F
+GLIBC_2.34 mq_notify F
GLIBC_2.34 mq_setattr F
GLIBC_2.34 mtx_destroy F
GLIBC_2.34 mtx_init F
GLIBC_2.33 __mq_open_2 F
-GLIBC_2.33 mq_notify F
GLIBC_2.33 mq_open F
GLIBC_2.33 mq_receive F
GLIBC_2.33 mq_send F
GLIBC_2.27 mprotect F
GLIBC_2.27 mq_close F
GLIBC_2.27 mq_getattr F
+GLIBC_2.27 mq_notify F
GLIBC_2.27 mq_setattr F
GLIBC_2.27 mrand48 F
GLIBC_2.27 mrand48_r F
GLIBC_2.34 lio_listio64 F
GLIBC_2.34 mq_close F
GLIBC_2.34 mq_getattr F
+GLIBC_2.34 mq_notify F
GLIBC_2.34 mq_setattr F
GLIBC_2.34 mtx_destroy F
GLIBC_2.34 mtx_init F
GLIBC_2.27 __mq_open_2 F
-GLIBC_2.27 mq_notify F
GLIBC_2.27 mq_open F
GLIBC_2.27 mq_receive F
GLIBC_2.27 mq_send F
GLIBC_2.3.4 getsourcefilter F
GLIBC_2.3.4 mq_close F
GLIBC_2.3.4 mq_getattr F
+GLIBC_2.3.4 mq_notify F
GLIBC_2.3.4 mq_setattr F
GLIBC_2.3.4 pthread_attr_getaffinity_np F
GLIBC_2.3.4 pthread_attr_setaffinity_np F
GLIBC_2.34 lio_listio64 F
GLIBC_2.34 mq_close F
GLIBC_2.34 mq_getattr F
+GLIBC_2.34 mq_notify F
GLIBC_2.34 mq_setattr F
GLIBC_2.34 mtx_destroy F
GLIBC_2.34 mtx_init F
GLIBC_2.2 timer_getoverrun F
GLIBC_2.2 timer_gettime F
GLIBC_2.2 timer_settime F
-GLIBC_2.3.4 mq_notify F
GLIBC_2.3.4 mq_open F
GLIBC_2.3.4 mq_receive F
GLIBC_2.3.4 mq_send F
GLIBC_2.3.4 getsourcefilter F
GLIBC_2.3.4 mq_close F
GLIBC_2.3.4 mq_getattr F
+GLIBC_2.3.4 mq_notify F
GLIBC_2.3.4 mq_setattr F
GLIBC_2.3.4 pthread_attr_getaffinity_np F
GLIBC_2.3.4 pthread_attr_setaffinity_np F
GLIBC_2.34 lio_listio64 F
GLIBC_2.34 mq_close F
GLIBC_2.34 mq_getattr F
+GLIBC_2.34 mq_notify F
GLIBC_2.34 mq_setattr F
GLIBC_2.34 mtx_destroy F
GLIBC_2.34 mtx_init F
GLIBC_2.3.3 timer_getoverrun F
GLIBC_2.3.3 timer_gettime F
GLIBC_2.3.3 timer_settime F
-GLIBC_2.3.4 mq_notify F
GLIBC_2.3.4 mq_open F
GLIBC_2.3.4 mq_receive F
GLIBC_2.3.4 mq_send F
GLIBC_2.3.4 getsourcefilter F
GLIBC_2.3.4 mq_close F
GLIBC_2.3.4 mq_getattr F
+GLIBC_2.3.4 mq_notify F
GLIBC_2.3.4 mq_setattr F
GLIBC_2.3.4 pthread_attr_getaffinity_np F
GLIBC_2.3.4 pthread_attr_setaffinity_np F
GLIBC_2.34 lio_listio64 F
GLIBC_2.34 mq_close F
GLIBC_2.34 mq_getattr F
+GLIBC_2.34 mq_notify F
GLIBC_2.34 mq_setattr F
GLIBC_2.34 mtx_destroy F
GLIBC_2.34 mtx_init F
GLIBC_2.2 timer_getoverrun F
GLIBC_2.2 timer_gettime F
GLIBC_2.2 timer_settime F
-GLIBC_2.3.4 mq_notify F
GLIBC_2.3.4 mq_open F
GLIBC_2.3.4 mq_receive F
GLIBC_2.3.4 mq_send F
GLIBC_2.3.4 getsourcefilter F
GLIBC_2.3.4 mq_close F
GLIBC_2.3.4 mq_getattr F
+GLIBC_2.3.4 mq_notify F
GLIBC_2.3.4 mq_setattr F
GLIBC_2.3.4 pthread_attr_getaffinity_np F
GLIBC_2.3.4 pthread_attr_setaffinity_np F
GLIBC_2.34 lio_listio64 F
GLIBC_2.34 mq_close F
GLIBC_2.34 mq_getattr F
+GLIBC_2.34 mq_notify F
GLIBC_2.34 mq_setattr F
GLIBC_2.34 mtx_destroy F
GLIBC_2.34 mtx_init F
GLIBC_2.2 timer_getoverrun F
GLIBC_2.2 timer_gettime F
GLIBC_2.2 timer_settime F
-GLIBC_2.3.4 mq_notify F
GLIBC_2.3.4 mq_open F
GLIBC_2.3.4 mq_receive F
GLIBC_2.3.4 mq_send F
GLIBC_2.3.4 getsourcefilter F
GLIBC_2.3.4 mq_close F
GLIBC_2.3.4 mq_getattr F
+GLIBC_2.3.4 mq_notify F
GLIBC_2.3.4 mq_setattr F
GLIBC_2.3.4 pthread_attr_getaffinity_np F
GLIBC_2.3.4 pthread_attr_setaffinity_np F
GLIBC_2.34 lio_listio64 F
GLIBC_2.34 mq_close F
GLIBC_2.34 mq_getattr F
+GLIBC_2.34 mq_notify F
GLIBC_2.34 mq_setattr F
GLIBC_2.34 mtx_destroy F
GLIBC_2.34 mtx_init F
GLIBC_2.2 timer_gettime F
GLIBC_2.2 timer_settime F
GLIBC_2.3 __librt_version_placeholder F
-GLIBC_2.3.4 mq_notify F
GLIBC_2.3.4 mq_open F
GLIBC_2.3.4 mq_receive F
GLIBC_2.3.4 mq_send F
GLIBC_2.3.4 getsourcefilter F
GLIBC_2.3.4 mq_close F
GLIBC_2.3.4 mq_getattr F
+GLIBC_2.3.4 mq_notify F
GLIBC_2.3.4 mq_setattr F
GLIBC_2.3.4 pthread_attr_getaffinity_np F
GLIBC_2.3.4 pthread_attr_setaffinity_np F
GLIBC_2.34 lio_listio64 F
GLIBC_2.34 mq_close F
GLIBC_2.34 mq_getattr F
+GLIBC_2.34 mq_notify F
GLIBC_2.34 mq_setattr F
GLIBC_2.34 mtx_destroy F
GLIBC_2.34 mtx_init F
GLIBC_2.3.3 timer_getoverrun F
GLIBC_2.3.3 timer_gettime F
GLIBC_2.3.3 timer_settime F
-GLIBC_2.3.4 mq_notify F
GLIBC_2.3.4 mq_open F
GLIBC_2.3.4 mq_receive F
GLIBC_2.3.4 mq_send F
GLIBC_2.3.4 getsourcefilter F
GLIBC_2.3.4 mq_close F
GLIBC_2.3.4 mq_getattr F
+GLIBC_2.3.4 mq_notify F
GLIBC_2.3.4 mq_setattr F
GLIBC_2.3.4 pthread_attr_getaffinity_np F
GLIBC_2.3.4 pthread_attr_setaffinity_np F
GLIBC_2.34 lio_listio64 F
GLIBC_2.34 mq_close F
GLIBC_2.34 mq_getattr F
+GLIBC_2.34 mq_notify F
GLIBC_2.34 mq_setattr F
GLIBC_2.34 mtx_destroy F
GLIBC_2.34 mtx_init F
GLIBC_2.3.3 timer_getoverrun F
GLIBC_2.3.3 timer_gettime F
GLIBC_2.3.3 timer_settime F
-GLIBC_2.3.4 mq_notify F
GLIBC_2.3.4 mq_open F
GLIBC_2.3.4 mq_receive F
GLIBC_2.3.4 mq_send F
GLIBC_2.16 mprotect F
GLIBC_2.16 mq_close F
GLIBC_2.16 mq_getattr F
+GLIBC_2.16 mq_notify F
GLIBC_2.16 mq_setattr F
GLIBC_2.16 mrand48 F
GLIBC_2.16 mrand48_r F
GLIBC_2.34 lio_listio64 F
GLIBC_2.34 mq_close F
GLIBC_2.34 mq_getattr F
+GLIBC_2.34 mq_notify F
GLIBC_2.34 mq_setattr F
GLIBC_2.34 mtx_destroy F
GLIBC_2.34 mtx_init F
GLIBC_2.16 __mq_open_2 F
-GLIBC_2.16 mq_notify F
GLIBC_2.16 mq_open F
GLIBC_2.16 mq_receive F
GLIBC_2.16 mq_send F