routines = \
alloca_cutoff \
+ cleanup_compat \
+ cleanup_defer_compat \
cleanup_routine \
elision-conf \
elision-lock \
libpthread-routines = \
cancellation \
cleanup \
- cleanup_compat \
cleanup_defer \
- cleanup_defer_compat \
events \
flockfile \
ftrylockfile \
tst-tsd3 tst-tsd4 \
tst-cancel4_1 tst-cancel4_2 \
tst-cancel7 tst-cancel17 tst-cancel24 \
- tst-cleanup4 \
tst-signal3 \
tst-exec4 tst-exec5 \
tst-stack2 tst-stack3 tst-stack4 \
LDFLAGS-pthread.so = -Wl,--enable-new-dtags,-z,nodelete,-z,initfirst
-tests += tst-cancelx7 tst-cancelx17 tst-cleanupx4
+tests += tst-cancelx7 tst-cancelx17
ifeq ($(build-shared),yes)
tests += tst-compat-forwarder tst-audit-threads
tst-cleanup4aux.o tst-cleanupx4aux.o
test-extras += tst-cleanup4aux tst-cleanupx4aux
+# This test exercises compat symbols removed in glibc 2.34.
+ifdef have-GLIBC_2.33
+tests += tst-cleanup4
+ifeq ($(build-shared),yes)
+tests += tst-cleanupx4
+endif
+endif
+
tst-tls3mod.so-no-z-defs = yes
tst-tls5mod.so-no-z-defs = yes
tst-tls5moda.so-no-z-defs = yes
libc {
GLIBC_2.0 {
+ _pthread_cleanup_pop;
+ _pthread_cleanup_pop_restore;
+ _pthread_cleanup_push;
+ _pthread_cleanup_push_defer;
pthread_attr_destroy;
pthread_attr_getdetachstate;
pthread_attr_getinheritsched;
__pthread_attr_init;
__pthread_attr_setaffinity_np;
__pthread_attr_setsigmask_internal;
+ __pthread_cleanup_pop;
+ __pthread_cleanup_push;
__pthread_cond_destroy; # Used by the C11 threads.
__pthread_cond_init; # Used by the C11 threads.
__pthread_force_elision;
__pthread_once;
__pthread_setspecific;
_exit;
- _pthread_cleanup_pop;
- _pthread_cleanup_pop_restore;
- _pthread_cleanup_push;
- _pthread_cleanup_push_defer;
flockfile;
ftrylockfile;
funlockfile;
License along with the GNU C Library; if not, see
<https://www.gnu.org/licenses/>. */
+#include <shlib-compat.h>
#include <stdlib.h>
#include "pthreadP.h"
-
void
-_pthread_cleanup_push (struct _pthread_cleanup_buffer *buffer,
+__pthread_cleanup_push (struct _pthread_cleanup_buffer *buffer,
void (*routine) (void *), void *arg)
{
struct pthread *self = THREAD_SELF;
THREAD_SETMEM (self, cleanup, buffer);
}
-strong_alias (_pthread_cleanup_push, __pthread_cleanup_push)
-
+libc_hidden_def (__pthread_cleanup_push)
void
-_pthread_cleanup_pop (struct _pthread_cleanup_buffer *buffer, int execute)
+__pthread_cleanup_pop (struct _pthread_cleanup_buffer *buffer, int execute)
{
struct pthread *self __attribute ((unused)) = THREAD_SELF;
if (execute)
buffer->__routine (buffer->__arg);
}
-strong_alias (_pthread_cleanup_pop, __pthread_cleanup_pop)
+libc_hidden_def (__pthread_cleanup_pop)
+
+#if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_0, GLIBC_2_34)
+compat_symbol (libpthread, __pthread_cleanup_push, _pthread_cleanup_push,
+ GLIBC_2_0);
+compat_symbol (libpthread, __pthread_cleanup_pop, _pthread_cleanup_pop,
+ GLIBC_2_0);
+#endif
License along with the GNU C Library; if not, see
<https://www.gnu.org/licenses/>. */
-#include "pthreadP.h"
-#include <libc-lock.h>
+#include <shlib-compat.h>
-void
+#if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_0, GLIBC_2_34)
+# include "pthreadP.h"
+# include <libc-lock.h>
+
+void attribute_compat_text_section
_pthread_cleanup_push_defer (struct _pthread_cleanup_buffer *buffer,
void (*routine) (void *), void *arg)
{
buffer->__arg = arg;
__libc_cleanup_push_defer (buffer);
}
-strong_alias (_pthread_cleanup_push_defer, __pthread_cleanup_push_defer)
-
+compat_symbol (libpthread, _pthread_cleanup_push_defer,
+ _pthread_cleanup_push_defer, GLIBC_2_0);
-void
+void attribute_compat_text_section
_pthread_cleanup_pop_restore (struct _pthread_cleanup_buffer *buffer,
int execute)
{
if (execute)
buffer->__routine (buffer->__arg);
}
-strong_alias (_pthread_cleanup_pop_restore, __pthread_cleanup_pop_restore)
+compat_symbol (libpthread, _pthread_cleanup_pop_restore,
+ _pthread_cleanup_pop_restore, GLIBC_2_0);
+
+#endif /* OTHER_SHLIB_COMPAT */
extern __typeof (pthread_attr_getsigmask_np) __pthread_attr_getsigmask_np;
libc_hidden_proto (__pthread_attr_getsigmask_np)
-#if IS_IN (libpthread)
/* Special versions which use non-exported functions. */
extern void __pthread_cleanup_push (struct _pthread_cleanup_buffer *buffer,
- void (*routine) (void *), void *arg)
- attribute_hidden;
+ void (*routine) (void *), void *arg);
+libc_hidden_proto (__pthread_cleanup_push)
/* Replace cleanup macros defined in <pthread.h> with internal
versions that don't depend on unwind info and better support
__pthread_cleanup_push (&_buffer, (routine), (arg));
extern void __pthread_cleanup_pop (struct _pthread_cleanup_buffer *buffer,
- int execute) attribute_hidden;
+ int execute);
+libc_hidden_proto (__pthread_cleanup_pop)
# undef pthread_cleanup_pop
# define pthread_cleanup_pop(execute) \
__pthread_cleanup_pop (&_buffer, (execute)); }
-# if defined __EXCEPTIONS && !defined __cplusplus
+#if defined __EXCEPTIONS && !defined __cplusplus
/* Structure to hold the cleanup handler information. */
struct __pthread_cleanup_combined_frame
{
}
}
-# define pthread_cleanup_combined_push(routine, arg) \
+# define pthread_cleanup_combined_push(routine, arg) \
do { \
void (*__cancel_routine) (void *) = (routine); \
struct __pthread_cleanup_combined_frame __clframe \
__pthread_cleanup_combined_routine_voidptr, \
&__clframe);
-# define pthread_cleanup_combined_pop(execute) \
+# define pthread_cleanup_combined_pop(execute) \
__pthread_cleanup_pop (&__clframe.__buffer, 0); \
__clframe.__do_it = 0; \
if (execute) \
__cancel_routine (__clframe.__cancel_arg); \
} while (0)
-# endif
-#endif
+#endif /* __EXCEPTIONS && !defined __cplusplus */
extern void __pthread_cleanup_push_defer (struct _pthread_cleanup_buffer *buffer,
void (*routine) (void *), void *arg);
<https://www.gnu.org/licenses/>. */
#include <pthread.h>
+#include <shlib-compat.h>
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
extern void _pthread_cleanup_push (struct _pthread_cleanup_buffer *__buffer,
void (*__routine) (void *),
void *__arg);
+compat_symbol_reference (libpthread, _pthread_cleanup_push,
+ _pthread_cleanup_push, GLIBC_2_0);
extern void _pthread_cleanup_pop (struct _pthread_cleanup_buffer *__buffer,
int __execute);
+compat_symbol_reference (libpthread, _pthread_cleanup_pop,
+ _pthread_cleanup_pop, GLIBC_2_0);
static int fds[2];
static pthread_barrier_t b2;
<https://www.gnu.org/licenses/>. */
#include <pthread.h>
+#include <shlib-compat.h>
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
extern void _pthread_cleanup_push (struct _pthread_cleanup_buffer *__buffer,
void (*__routine) (void *),
void *__arg);
+compat_symbol_reference (libpthread, _pthread_cleanup_push,
+ _pthread_cleanup_push, GLIBC_2_0);
extern void _pthread_cleanup_pop (struct _pthread_cleanup_buffer *__buffer,
int __execute);
+compat_symbol_reference (libpthread, _pthread_cleanup_pop,
+ _pthread_cleanup_pop, GLIBC_2_0);
extern void clh (void *arg);
extern void fn0 (void);
GLIBC_2.17 _obstack_free F
GLIBC_2.17 _obstack_memory_used F
GLIBC_2.17 _obstack_newchunk F
+GLIBC_2.17 _pthread_cleanup_pop F
+GLIBC_2.17 _pthread_cleanup_pop_restore F
+GLIBC_2.17 _pthread_cleanup_push F
+GLIBC_2.17 _pthread_cleanup_push_defer F
GLIBC_2.17 _res D 0x238
GLIBC_2.17 _res_hconf D 0x48
GLIBC_2.17 _rpc_dtablesize F
GLIBC_2.17 __pthread_unregister_cancel_restore F
GLIBC_2.17 __pthread_unwind_next F
GLIBC_2.17 __res_state F
-GLIBC_2.17 _pthread_cleanup_pop F
-GLIBC_2.17 _pthread_cleanup_pop_restore F
-GLIBC_2.17 _pthread_cleanup_push F
-GLIBC_2.17 _pthread_cleanup_push_defer F
GLIBC_2.17 flockfile F
GLIBC_2.17 ftrylockfile F
GLIBC_2.17 funlockfile F
GLIBC_2.0 _outb F
GLIBC_2.0 _outl F
GLIBC_2.0 _outw F
+GLIBC_2.0 _pthread_cleanup_pop F
+GLIBC_2.0 _pthread_cleanup_pop_restore F
+GLIBC_2.0 _pthread_cleanup_push F
+GLIBC_2.0 _pthread_cleanup_push_defer F
GLIBC_2.0 _res D 0x238
GLIBC_2.0 _rpc_dtablesize F
GLIBC_2.0 _seterr_reply F
GLIBC_2.0 __pthread_mutexattr_settype F
GLIBC_2.0 __pthread_once F
GLIBC_2.0 __pthread_setspecific F
-GLIBC_2.0 _pthread_cleanup_pop F
-GLIBC_2.0 _pthread_cleanup_pop_restore F
-GLIBC_2.0 _pthread_cleanup_push F
-GLIBC_2.0 _pthread_cleanup_push_defer F
GLIBC_2.0 flockfile F
GLIBC_2.0 ftrylockfile F
GLIBC_2.0 funlockfile F
GLIBC_2.32 _obstack_free F
GLIBC_2.32 _obstack_memory_used F
GLIBC_2.32 _obstack_newchunk F
+GLIBC_2.32 _pthread_cleanup_pop F
+GLIBC_2.32 _pthread_cleanup_pop_restore F
+GLIBC_2.32 _pthread_cleanup_push F
+GLIBC_2.32 _pthread_cleanup_push_defer F
GLIBC_2.32 _res D 0x200
GLIBC_2.32 _res_hconf D 0x30
GLIBC_2.32 _setjmp F
GLIBC_2.32 __pthread_unregister_cancel_restore F
GLIBC_2.32 __pthread_unwind_next F
GLIBC_2.32 __res_state F
-GLIBC_2.32 _pthread_cleanup_pop F
-GLIBC_2.32 _pthread_cleanup_pop_restore F
-GLIBC_2.32 _pthread_cleanup_push F
-GLIBC_2.32 _pthread_cleanup_push_defer F
GLIBC_2.32 call_once F
GLIBC_2.32 cnd_broadcast F
GLIBC_2.32 cnd_destroy F
GLIBC_2.4 _obstack_free F
GLIBC_2.4 _obstack_memory_used F
GLIBC_2.4 _obstack_newchunk F
+GLIBC_2.4 _pthread_cleanup_pop F
+GLIBC_2.4 _pthread_cleanup_pop_restore F
+GLIBC_2.4 _pthread_cleanup_push F
+GLIBC_2.4 _pthread_cleanup_push_defer F
GLIBC_2.4 _res D 0x200
GLIBC_2.4 _res_hconf D 0x30
GLIBC_2.4 _rpc_dtablesize F
GLIBC_2.4 __pthread_unregister_cancel_restore F
GLIBC_2.4 __pthread_unwind_next F
GLIBC_2.4 __res_state F
-GLIBC_2.4 _pthread_cleanup_pop F
-GLIBC_2.4 _pthread_cleanup_pop_restore F
-GLIBC_2.4 _pthread_cleanup_push F
-GLIBC_2.4 _pthread_cleanup_push_defer F
GLIBC_2.4 flockfile F
GLIBC_2.4 ftrylockfile F
GLIBC_2.4 funlockfile F
GLIBC_2.4 _obstack_free F
GLIBC_2.4 _obstack_memory_used F
GLIBC_2.4 _obstack_newchunk F
+GLIBC_2.4 _pthread_cleanup_pop F
+GLIBC_2.4 _pthread_cleanup_pop_restore F
+GLIBC_2.4 _pthread_cleanup_push F
+GLIBC_2.4 _pthread_cleanup_push_defer F
GLIBC_2.4 _res D 0x200
GLIBC_2.4 _res_hconf D 0x30
GLIBC_2.4 _rpc_dtablesize F
GLIBC_2.4 __pthread_unregister_cancel_restore F
GLIBC_2.4 __pthread_unwind_next F
GLIBC_2.4 __res_state F
-GLIBC_2.4 _pthread_cleanup_pop F
-GLIBC_2.4 _pthread_cleanup_pop_restore F
-GLIBC_2.4 _pthread_cleanup_push F
-GLIBC_2.4 _pthread_cleanup_push_defer F
GLIBC_2.4 flockfile F
GLIBC_2.4 ftrylockfile F
GLIBC_2.4 funlockfile F
GLIBC_2.29 _obstack_free F
GLIBC_2.29 _obstack_memory_used F
GLIBC_2.29 _obstack_newchunk F
+GLIBC_2.29 _pthread_cleanup_pop F
+GLIBC_2.29 _pthread_cleanup_pop_restore F
+GLIBC_2.29 _pthread_cleanup_push F
+GLIBC_2.29 _pthread_cleanup_push_defer F
GLIBC_2.29 _res D 0x200
GLIBC_2.29 _res_hconf D 0x30
GLIBC_2.29 _rpc_dtablesize F
GLIBC_2.29 __pthread_unregister_cancel_restore F
GLIBC_2.29 __pthread_unwind_next F
GLIBC_2.29 __res_state F
-GLIBC_2.29 _pthread_cleanup_pop F
-GLIBC_2.29 _pthread_cleanup_pop_restore F
-GLIBC_2.29 _pthread_cleanup_push F
-GLIBC_2.29 _pthread_cleanup_push_defer F
GLIBC_2.29 call_once F
GLIBC_2.29 cnd_broadcast F
GLIBC_2.29 cnd_destroy F
GLIBC_2.2 _obstack_free F
GLIBC_2.2 _obstack_memory_used F
GLIBC_2.2 _obstack_newchunk F
+GLIBC_2.2 _pthread_cleanup_pop F
+GLIBC_2.2 _pthread_cleanup_pop_restore F
+GLIBC_2.2 _pthread_cleanup_push F
+GLIBC_2.2 _pthread_cleanup_push_defer F
GLIBC_2.2 _res D 0x200
GLIBC_2.2 _res_hconf D 0x30
GLIBC_2.2 _rpc_dtablesize F
GLIBC_2.2 __pthread_rwlock_wrlock F
GLIBC_2.2 __pthread_setspecific F
GLIBC_2.2 __res_state F
-GLIBC_2.2 _pthread_cleanup_pop F
-GLIBC_2.2 _pthread_cleanup_pop_restore F
-GLIBC_2.2 _pthread_cleanup_push F
-GLIBC_2.2 _pthread_cleanup_push_defer F
GLIBC_2.2 flockfile F
GLIBC_2.2 ftrylockfile F
GLIBC_2.2 funlockfile F
GLIBC_2.0 _obstack_free F
GLIBC_2.0 _obstack_memory_used F
GLIBC_2.0 _obstack_newchunk F
+GLIBC_2.0 _pthread_cleanup_pop F
+GLIBC_2.0 _pthread_cleanup_pop_restore F
+GLIBC_2.0 _pthread_cleanup_push F
+GLIBC_2.0 _pthread_cleanup_push_defer F
GLIBC_2.0 _res D 0x200
GLIBC_2.0 _rpc_dtablesize F
GLIBC_2.0 _seterr_reply F
GLIBC_2.0 __pthread_mutexattr_settype F
GLIBC_2.0 __pthread_once F
GLIBC_2.0 __pthread_setspecific F
-GLIBC_2.0 _pthread_cleanup_pop F
-GLIBC_2.0 _pthread_cleanup_pop_restore F
-GLIBC_2.0 _pthread_cleanup_push F
-GLIBC_2.0 _pthread_cleanup_push_defer F
GLIBC_2.0 flockfile F
GLIBC_2.0 ftrylockfile F
GLIBC_2.0 funlockfile F
GLIBC_2.2 _outb F
GLIBC_2.2 _outl F
GLIBC_2.2 _outw F
+GLIBC_2.2 _pthread_cleanup_pop F
+GLIBC_2.2 _pthread_cleanup_pop_restore F
+GLIBC_2.2 _pthread_cleanup_push F
+GLIBC_2.2 _pthread_cleanup_push_defer F
GLIBC_2.2 _res D 0x238
GLIBC_2.2 _res_hconf D 0x48
GLIBC_2.2 _rpc_dtablesize F
GLIBC_2.2 __pthread_rwlock_wrlock F
GLIBC_2.2 __pthread_setspecific F
GLIBC_2.2 __res_state F
-GLIBC_2.2 _pthread_cleanup_pop F
-GLIBC_2.2 _pthread_cleanup_pop_restore F
-GLIBC_2.2 _pthread_cleanup_push F
-GLIBC_2.2 _pthread_cleanup_push_defer F
GLIBC_2.2 flockfile F
GLIBC_2.2 ftrylockfile F
GLIBC_2.2 funlockfile F
GLIBC_2.4 _obstack_free F
GLIBC_2.4 _obstack_memory_used F
GLIBC_2.4 _obstack_newchunk F
+GLIBC_2.4 _pthread_cleanup_pop F
+GLIBC_2.4 _pthread_cleanup_pop_restore F
+GLIBC_2.4 _pthread_cleanup_push F
+GLIBC_2.4 _pthread_cleanup_push_defer F
GLIBC_2.4 _res D 0x1fe
GLIBC_2.4 _res_hconf D 0x30
GLIBC_2.4 _rpc_dtablesize F
GLIBC_2.4 __pthread_unregister_cancel_restore F
GLIBC_2.4 __pthread_unwind_next F
GLIBC_2.4 __res_state F
-GLIBC_2.4 _pthread_cleanup_pop F
-GLIBC_2.4 _pthread_cleanup_pop_restore F
-GLIBC_2.4 _pthread_cleanup_push F
-GLIBC_2.4 _pthread_cleanup_push_defer F
GLIBC_2.4 flockfile F
GLIBC_2.4 ftrylockfile F
GLIBC_2.4 funlockfile F
GLIBC_2.0 _obstack_free F
GLIBC_2.0 _obstack_memory_used F
GLIBC_2.0 _obstack_newchunk F
+GLIBC_2.0 _pthread_cleanup_pop F
+GLIBC_2.0 _pthread_cleanup_pop_restore F
+GLIBC_2.0 _pthread_cleanup_push F
+GLIBC_2.0 _pthread_cleanup_push_defer F
GLIBC_2.0 _res D 0x1fe
GLIBC_2.0 _rpc_dtablesize F
GLIBC_2.0 _seterr_reply F
GLIBC_2.0 __pthread_mutexattr_settype F
GLIBC_2.0 __pthread_once F
GLIBC_2.0 __pthread_setspecific F
-GLIBC_2.0 _pthread_cleanup_pop F
-GLIBC_2.0 _pthread_cleanup_pop_restore F
-GLIBC_2.0 _pthread_cleanup_push F
-GLIBC_2.0 _pthread_cleanup_push_defer F
GLIBC_2.0 flockfile F
GLIBC_2.0 ftrylockfile F
GLIBC_2.0 funlockfile F
GLIBC_2.18 _obstack_free F
GLIBC_2.18 _obstack_memory_used F
GLIBC_2.18 _obstack_newchunk F
+GLIBC_2.18 _pthread_cleanup_pop F
+GLIBC_2.18 _pthread_cleanup_pop_restore F
+GLIBC_2.18 _pthread_cleanup_push F
+GLIBC_2.18 _pthread_cleanup_push_defer F
GLIBC_2.18 _res D 0x200
GLIBC_2.18 _res_hconf D 0x30
GLIBC_2.18 _rpc_dtablesize F
GLIBC_2.18 __pthread_unregister_cancel_restore F
GLIBC_2.18 __pthread_unwind_next F
GLIBC_2.18 __res_state F
-GLIBC_2.18 _pthread_cleanup_pop F
-GLIBC_2.18 _pthread_cleanup_pop_restore F
-GLIBC_2.18 _pthread_cleanup_push F
-GLIBC_2.18 _pthread_cleanup_push_defer F
GLIBC_2.18 flockfile F
GLIBC_2.18 ftrylockfile F
GLIBC_2.18 funlockfile F
GLIBC_2.18 _obstack_free F
GLIBC_2.18 _obstack_memory_used F
GLIBC_2.18 _obstack_newchunk F
+GLIBC_2.18 _pthread_cleanup_pop F
+GLIBC_2.18 _pthread_cleanup_pop_restore F
+GLIBC_2.18 _pthread_cleanup_push F
+GLIBC_2.18 _pthread_cleanup_push_defer F
GLIBC_2.18 _res D 0x200
GLIBC_2.18 _res_hconf D 0x30
GLIBC_2.18 _rpc_dtablesize F
GLIBC_2.18 __pthread_unregister_cancel_restore F
GLIBC_2.18 __pthread_unwind_next F
GLIBC_2.18 __res_state F
-GLIBC_2.18 _pthread_cleanup_pop F
-GLIBC_2.18 _pthread_cleanup_pop_restore F
-GLIBC_2.18 _pthread_cleanup_push F
-GLIBC_2.18 _pthread_cleanup_push_defer F
GLIBC_2.18 flockfile F
GLIBC_2.18 ftrylockfile F
GLIBC_2.18 funlockfile F
GLIBC_2.0 _obstack_free F
GLIBC_2.0 _obstack_memory_used F
GLIBC_2.0 _obstack_newchunk F
+GLIBC_2.0 _pthread_cleanup_pop F
+GLIBC_2.0 _pthread_cleanup_pop_restore F
+GLIBC_2.0 _pthread_cleanup_push F
+GLIBC_2.0 _pthread_cleanup_push_defer F
GLIBC_2.0 _res D 0x200
GLIBC_2.0 _rpc_dtablesize F
GLIBC_2.0 _seterr_reply F
GLIBC_2.0 __pthread_mutexattr_settype F
GLIBC_2.0 __pthread_once F
GLIBC_2.0 __pthread_setspecific F
-GLIBC_2.0 _pthread_cleanup_pop F
-GLIBC_2.0 _pthread_cleanup_pop_restore F
-GLIBC_2.0 _pthread_cleanup_push F
-GLIBC_2.0 _pthread_cleanup_push_defer F
GLIBC_2.0 flockfile F
GLIBC_2.0 ftrylockfile F
GLIBC_2.0 funlockfile F
GLIBC_2.0 _obstack_free F
GLIBC_2.0 _obstack_memory_used F
GLIBC_2.0 _obstack_newchunk F
+GLIBC_2.0 _pthread_cleanup_pop F
+GLIBC_2.0 _pthread_cleanup_pop_restore F
+GLIBC_2.0 _pthread_cleanup_push F
+GLIBC_2.0 _pthread_cleanup_push_defer F
GLIBC_2.0 _res D 0x200
GLIBC_2.0 _rpc_dtablesize F
GLIBC_2.0 _seterr_reply F
GLIBC_2.0 __pthread_mutexattr_settype F
GLIBC_2.0 __pthread_once F
GLIBC_2.0 __pthread_setspecific F
-GLIBC_2.0 _pthread_cleanup_pop F
-GLIBC_2.0 _pthread_cleanup_pop_restore F
-GLIBC_2.0 _pthread_cleanup_push F
-GLIBC_2.0 _pthread_cleanup_push_defer F
GLIBC_2.0 flockfile F
GLIBC_2.0 ftrylockfile F
GLIBC_2.0 funlockfile F
GLIBC_2.0 _obstack_free F
GLIBC_2.0 _obstack_memory_used F
GLIBC_2.0 _obstack_newchunk F
+GLIBC_2.0 _pthread_cleanup_pop F
+GLIBC_2.0 _pthread_cleanup_pop_restore F
+GLIBC_2.0 _pthread_cleanup_push F
+GLIBC_2.0 _pthread_cleanup_push_defer F
GLIBC_2.0 _res D 0x200
GLIBC_2.0 _rpc_dtablesize F
GLIBC_2.0 _seterr_reply F
GLIBC_2.0 _obstack_free F
GLIBC_2.0 _obstack_memory_used F
GLIBC_2.0 _obstack_newchunk F
+GLIBC_2.0 _pthread_cleanup_pop F
+GLIBC_2.0 _pthread_cleanup_pop_restore F
+GLIBC_2.0 _pthread_cleanup_push F
+GLIBC_2.0 _pthread_cleanup_push_defer F
GLIBC_2.0 _res D 0x238
GLIBC_2.0 _rpc_dtablesize F
GLIBC_2.0 _seterr_reply F
GLIBC_2.21 _obstack_free F
GLIBC_2.21 _obstack_memory_used F
GLIBC_2.21 _obstack_newchunk F
+GLIBC_2.21 _pthread_cleanup_pop F
+GLIBC_2.21 _pthread_cleanup_pop_restore F
+GLIBC_2.21 _pthread_cleanup_push F
+GLIBC_2.21 _pthread_cleanup_push_defer F
GLIBC_2.21 _res D 0x200
GLIBC_2.21 _res_hconf D 0x30
GLIBC_2.21 _rpc_dtablesize F
GLIBC_2.21 __pthread_unregister_cancel_restore F
GLIBC_2.21 __pthread_unwind_next F
GLIBC_2.21 __res_state F
-GLIBC_2.21 _pthread_cleanup_pop F
-GLIBC_2.21 _pthread_cleanup_pop_restore F
-GLIBC_2.21 _pthread_cleanup_push F
-GLIBC_2.21 _pthread_cleanup_push_defer F
GLIBC_2.21 flockfile F
GLIBC_2.21 ftrylockfile F
GLIBC_2.21 funlockfile F
GLIBC_2.0 _obstack_free F
GLIBC_2.0 _obstack_memory_used F
GLIBC_2.0 _obstack_newchunk F
+GLIBC_2.0 _pthread_cleanup_pop F
+GLIBC_2.0 _pthread_cleanup_pop_restore F
+GLIBC_2.0 _pthread_cleanup_push F
+GLIBC_2.0 _pthread_cleanup_push_defer F
GLIBC_2.0 _res D 0x200
GLIBC_2.0 _rpc_dtablesize F
GLIBC_2.0 _seterr_reply F
GLIBC_2.0 __pthread_mutexattr_settype F
GLIBC_2.0 __pthread_once F
GLIBC_2.0 __pthread_setspecific F
-GLIBC_2.0 _pthread_cleanup_pop F
-GLIBC_2.0 _pthread_cleanup_pop_restore F
-GLIBC_2.0 _pthread_cleanup_push F
-GLIBC_2.0 _pthread_cleanup_push_defer F
GLIBC_2.0 flockfile F
GLIBC_2.0 ftrylockfile F
GLIBC_2.0 funlockfile F
GLIBC_2.0 _obstack_free F
GLIBC_2.0 _obstack_memory_used F
GLIBC_2.0 _obstack_newchunk F
+GLIBC_2.0 _pthread_cleanup_pop F
+GLIBC_2.0 _pthread_cleanup_pop_restore F
+GLIBC_2.0 _pthread_cleanup_push F
+GLIBC_2.0 _pthread_cleanup_push_defer F
GLIBC_2.0 _res D 0x200
GLIBC_2.0 _rpc_dtablesize F
GLIBC_2.0 _seterr_reply F
GLIBC_2.3 _obstack_free F
GLIBC_2.3 _obstack_memory_used F
GLIBC_2.3 _obstack_newchunk F
+GLIBC_2.3 _pthread_cleanup_pop F
+GLIBC_2.3 _pthread_cleanup_pop_restore F
+GLIBC_2.3 _pthread_cleanup_push F
+GLIBC_2.3 _pthread_cleanup_push_defer F
GLIBC_2.3 _res D 0x238
GLIBC_2.3 _res_hconf D 0x48
GLIBC_2.3 _rpc_dtablesize F
GLIBC_2.3 __pthread_rwlock_wrlock F
GLIBC_2.3 __pthread_setspecific F
GLIBC_2.3 __res_state F
-GLIBC_2.3 _pthread_cleanup_pop F
-GLIBC_2.3 _pthread_cleanup_pop_restore F
-GLIBC_2.3 _pthread_cleanup_push F
-GLIBC_2.3 _pthread_cleanup_push_defer F
GLIBC_2.3 flockfile F
GLIBC_2.3 ftrylockfile F
GLIBC_2.3 funlockfile F
GLIBC_2.17 _obstack_free F
GLIBC_2.17 _obstack_memory_used F
GLIBC_2.17 _obstack_newchunk F
+GLIBC_2.17 _pthread_cleanup_pop F
+GLIBC_2.17 _pthread_cleanup_pop_restore F
+GLIBC_2.17 _pthread_cleanup_push F
+GLIBC_2.17 _pthread_cleanup_push_defer F
GLIBC_2.17 _res D 0x238
GLIBC_2.17 _res_hconf D 0x48
GLIBC_2.17 _rpc_dtablesize F
GLIBC_2.17 __pthread_unregister_cancel_restore F
GLIBC_2.17 __pthread_unwind_next F
GLIBC_2.17 __res_state F
-GLIBC_2.17 _pthread_cleanup_pop F
-GLIBC_2.17 _pthread_cleanup_pop_restore F
-GLIBC_2.17 _pthread_cleanup_push F
-GLIBC_2.17 _pthread_cleanup_push_defer F
GLIBC_2.17 flockfile F
GLIBC_2.17 ftrylockfile F
GLIBC_2.17 funlockfile F
GLIBC_2.33 _obstack_free F
GLIBC_2.33 _obstack_memory_used F
GLIBC_2.33 _obstack_newchunk F
+GLIBC_2.33 _pthread_cleanup_pop F
+GLIBC_2.33 _pthread_cleanup_pop_restore F
+GLIBC_2.33 _pthread_cleanup_push F
+GLIBC_2.33 _pthread_cleanup_push_defer F
GLIBC_2.33 _res D 0x200
GLIBC_2.33 _res_hconf D 0x30
GLIBC_2.33 _setjmp F
GLIBC_2.33 __pthread_unregister_cancel_restore F
GLIBC_2.33 __pthread_unwind_next F
GLIBC_2.33 __res_state F
-GLIBC_2.33 _pthread_cleanup_pop F
-GLIBC_2.33 _pthread_cleanup_pop_restore F
-GLIBC_2.33 _pthread_cleanup_push F
-GLIBC_2.33 _pthread_cleanup_push_defer F
GLIBC_2.33 call_once F
GLIBC_2.33 cnd_broadcast F
GLIBC_2.33 cnd_destroy F
GLIBC_2.27 _obstack_free F
GLIBC_2.27 _obstack_memory_used F
GLIBC_2.27 _obstack_newchunk F
+GLIBC_2.27 _pthread_cleanup_pop F
+GLIBC_2.27 _pthread_cleanup_pop_restore F
+GLIBC_2.27 _pthread_cleanup_push F
+GLIBC_2.27 _pthread_cleanup_push_defer F
GLIBC_2.27 _res D 0x238
GLIBC_2.27 _res_hconf D 0x48
GLIBC_2.27 _rpc_dtablesize F
GLIBC_2.27 __pthread_unregister_cancel_restore F
GLIBC_2.27 __pthread_unwind_next F
GLIBC_2.27 __res_state F
-GLIBC_2.27 _pthread_cleanup_pop F
-GLIBC_2.27 _pthread_cleanup_pop_restore F
-GLIBC_2.27 _pthread_cleanup_push F
-GLIBC_2.27 _pthread_cleanup_push_defer F
GLIBC_2.27 flockfile F
GLIBC_2.27 ftrylockfile F
GLIBC_2.27 funlockfile F
GLIBC_2.0 _obstack_free F
GLIBC_2.0 _obstack_memory_used F
GLIBC_2.0 _obstack_newchunk F
+GLIBC_2.0 _pthread_cleanup_pop F
+GLIBC_2.0 _pthread_cleanup_pop_restore F
+GLIBC_2.0 _pthread_cleanup_push F
+GLIBC_2.0 _pthread_cleanup_push_defer F
GLIBC_2.0 _res D 0x200
GLIBC_2.0 _rpc_dtablesize F
GLIBC_2.0 _seterr_reply F
GLIBC_2.0 __pthread_mutexattr_settype F
GLIBC_2.0 __pthread_once F
GLIBC_2.0 __pthread_setspecific F
-GLIBC_2.0 _pthread_cleanup_pop F
-GLIBC_2.0 _pthread_cleanup_pop_restore F
-GLIBC_2.0 _pthread_cleanup_push F
-GLIBC_2.0 _pthread_cleanup_push_defer F
GLIBC_2.0 flockfile F
GLIBC_2.0 ftrylockfile F
GLIBC_2.0 funlockfile F
GLIBC_2.2 _obstack_free F
GLIBC_2.2 _obstack_memory_used F
GLIBC_2.2 _obstack_newchunk F
+GLIBC_2.2 _pthread_cleanup_pop F
+GLIBC_2.2 _pthread_cleanup_pop_restore F
+GLIBC_2.2 _pthread_cleanup_push F
+GLIBC_2.2 _pthread_cleanup_push_defer F
GLIBC_2.2 _res D 0x238
GLIBC_2.2 _res_hconf D 0x48
GLIBC_2.2 _rpc_dtablesize F
GLIBC_2.2 __pthread_rwlock_wrlock F
GLIBC_2.2 __pthread_setspecific F
GLIBC_2.2 __res_state F
-GLIBC_2.2 _pthread_cleanup_pop F
-GLIBC_2.2 _pthread_cleanup_pop_restore F
-GLIBC_2.2 _pthread_cleanup_push F
-GLIBC_2.2 _pthread_cleanup_push_defer F
GLIBC_2.2 flockfile F
GLIBC_2.2 ftrylockfile F
GLIBC_2.2 funlockfile F
GLIBC_2.2 _obstack_free F
GLIBC_2.2 _obstack_memory_used F
GLIBC_2.2 _obstack_newchunk F
+GLIBC_2.2 _pthread_cleanup_pop F
+GLIBC_2.2 _pthread_cleanup_pop_restore F
+GLIBC_2.2 _pthread_cleanup_push F
+GLIBC_2.2 _pthread_cleanup_push_defer F
GLIBC_2.2 _res D 0x200
GLIBC_2.2 _res_hconf D 0x30
GLIBC_2.2 _rpc_dtablesize F
GLIBC_2.2 __pthread_rwlock_wrlock F
GLIBC_2.2 __pthread_setspecific F
GLIBC_2.2 __res_state F
-GLIBC_2.2 _pthread_cleanup_pop F
-GLIBC_2.2 _pthread_cleanup_pop_restore F
-GLIBC_2.2 _pthread_cleanup_push F
-GLIBC_2.2 _pthread_cleanup_push_defer F
GLIBC_2.2 flockfile F
GLIBC_2.2 ftrylockfile F
GLIBC_2.2 funlockfile F
GLIBC_2.2 _obstack_free F
GLIBC_2.2 _obstack_memory_used F
GLIBC_2.2 _obstack_newchunk F
+GLIBC_2.2 _pthread_cleanup_pop F
+GLIBC_2.2 _pthread_cleanup_pop_restore F
+GLIBC_2.2 _pthread_cleanup_push F
+GLIBC_2.2 _pthread_cleanup_push_defer F
GLIBC_2.2 _res D 0x200
GLIBC_2.2 _res_hconf D 0x30
GLIBC_2.2 _rpc_dtablesize F
GLIBC_2.2 __pthread_rwlock_wrlock F
GLIBC_2.2 __pthread_setspecific F
GLIBC_2.2 __res_state F
-GLIBC_2.2 _pthread_cleanup_pop F
-GLIBC_2.2 _pthread_cleanup_pop_restore F
-GLIBC_2.2 _pthread_cleanup_push F
-GLIBC_2.2 _pthread_cleanup_push_defer F
GLIBC_2.2 flockfile F
GLIBC_2.2 ftrylockfile F
GLIBC_2.2 funlockfile F
GLIBC_2.0 _obstack_free F
GLIBC_2.0 _obstack_memory_used F
GLIBC_2.0 _obstack_newchunk F
+GLIBC_2.0 _pthread_cleanup_pop F
+GLIBC_2.0 _pthread_cleanup_pop_restore F
+GLIBC_2.0 _pthread_cleanup_push F
+GLIBC_2.0 _pthread_cleanup_push_defer F
GLIBC_2.0 _res D 0x200
GLIBC_2.0 _rpc_dtablesize F
GLIBC_2.0 _seterr_reply F
GLIBC_2.0 __pthread_mutexattr_settype F
GLIBC_2.0 __pthread_once F
GLIBC_2.0 __pthread_setspecific F
-GLIBC_2.0 _pthread_cleanup_pop F
-GLIBC_2.0 _pthread_cleanup_pop_restore F
-GLIBC_2.0 _pthread_cleanup_push F
-GLIBC_2.0 _pthread_cleanup_push_defer F
GLIBC_2.0 flockfile F
GLIBC_2.0 ftrylockfile F
GLIBC_2.0 funlockfile F
GLIBC_2.2 _obstack_free F
GLIBC_2.2 _obstack_memory_used F
GLIBC_2.2 _obstack_newchunk F
+GLIBC_2.2 _pthread_cleanup_pop F
+GLIBC_2.2 _pthread_cleanup_pop_restore F
+GLIBC_2.2 _pthread_cleanup_push F
+GLIBC_2.2 _pthread_cleanup_push_defer F
GLIBC_2.2 _res D 0x238
GLIBC_2.2 _res_hconf D 0x48
GLIBC_2.2 _rpc_dtablesize F
GLIBC_2.2 __pthread_rwlock_wrlock F
GLIBC_2.2 __pthread_setspecific F
GLIBC_2.2 __res_state F
-GLIBC_2.2 _pthread_cleanup_pop F
-GLIBC_2.2 _pthread_cleanup_pop_restore F
-GLIBC_2.2 _pthread_cleanup_push F
-GLIBC_2.2 _pthread_cleanup_push_defer F
GLIBC_2.2 flockfile F
GLIBC_2.2 ftrylockfile F
GLIBC_2.2 funlockfile F
GLIBC_2.2.5 _obstack_free F
GLIBC_2.2.5 _obstack_memory_used F
GLIBC_2.2.5 _obstack_newchunk F
+GLIBC_2.2.5 _pthread_cleanup_pop F
+GLIBC_2.2.5 _pthread_cleanup_pop_restore F
+GLIBC_2.2.5 _pthread_cleanup_push F
+GLIBC_2.2.5 _pthread_cleanup_push_defer F
GLIBC_2.2.5 _res D 0x238
GLIBC_2.2.5 _res_hconf D 0x48
GLIBC_2.2.5 _rpc_dtablesize F
GLIBC_2.2.5 __pthread_rwlock_wrlock F
GLIBC_2.2.5 __pthread_setspecific F
GLIBC_2.2.5 __res_state F
-GLIBC_2.2.5 _pthread_cleanup_pop F
-GLIBC_2.2.5 _pthread_cleanup_pop_restore F
-GLIBC_2.2.5 _pthread_cleanup_push F
-GLIBC_2.2.5 _pthread_cleanup_push_defer F
GLIBC_2.2.5 flockfile F
GLIBC_2.2.5 ftrylockfile F
GLIBC_2.2.5 funlockfile F
GLIBC_2.16 _obstack_free F
GLIBC_2.16 _obstack_memory_used F
GLIBC_2.16 _obstack_newchunk F
+GLIBC_2.16 _pthread_cleanup_pop F
+GLIBC_2.16 _pthread_cleanup_pop_restore F
+GLIBC_2.16 _pthread_cleanup_push F
+GLIBC_2.16 _pthread_cleanup_push_defer F
GLIBC_2.16 _res D 0x200
GLIBC_2.16 _res_hconf D 0x30
GLIBC_2.16 _rpc_dtablesize F
GLIBC_2.16 __pthread_unregister_cancel_restore F
GLIBC_2.16 __pthread_unwind_next F
GLIBC_2.16 __res_state F
-GLIBC_2.16 _pthread_cleanup_pop F
-GLIBC_2.16 _pthread_cleanup_pop_restore F
-GLIBC_2.16 _pthread_cleanup_push F
-GLIBC_2.16 _pthread_cleanup_push_defer F
GLIBC_2.16 flockfile F
GLIBC_2.16 ftrylockfile F
GLIBC_2.16 funlockfile F