nptl: Move pthread_setcancelstate into libc

No new symbol version is required because there was a forwarder.

The symbol has been moved using scripts/move-symbol-to-libc.py.

Reviewed-by: Adhemerval Zanella  <adhemerval.zanella@linaro.org>
This commit is contained in:
Florian Weimer 2021-04-21 19:49:50 +02:00
parent c62cef023c
commit 93d78ec1cb
43 changed files with 21 additions and 77 deletions

View File

@ -282,10 +282,9 @@ _IO_new_proc_close (FILE *fp)
do
{
int state;
__libc_ptf_call (__pthread_setcancelstate,
(PTHREAD_CANCEL_DISABLE, &state), 0);
__pthread_setcancelstate (PTHREAD_CANCEL_DISABLE, &state);
wait_pid = __waitpid (((_IO_proc_file *) fp)->pid, &wstatus, 0);
__libc_ptf_call (__pthread_setcancelstate, (state, NULL), 0);
__pthread_setcancelstate (state, NULL);
}
while (wait_pid == -1 && errno == EINTR);
if (wait_pid == -1)

View File

@ -236,12 +236,11 @@ void
__error_internal (int status, int errnum, const char *message,
va_list args, unsigned int mode_flags)
{
#if defined _LIBC && defined __libc_ptf_call
#if defined _LIBC
/* We do not want this call to be cut short by a thread
cancellation. Therefore disable cancellation for now. */
int state = PTHREAD_CANCEL_ENABLE;
__libc_ptf_call (__pthread_setcancelstate,
(PTHREAD_CANCEL_DISABLE, &state), 0);
__pthread_setcancelstate (PTHREAD_CANCEL_DISABLE, &state);
#endif
flush_stdout ();
@ -263,9 +262,7 @@ __error_internal (int status, int errnum, const char *message,
#ifdef _LIBC
_IO_funlockfile (stderr);
# ifdef __libc_ptf_call
__libc_ptf_call (__pthread_setcancelstate, (state, NULL), 0);
# endif
__pthread_setcancelstate (state, NULL);
#endif
}
@ -305,13 +302,11 @@ __error_at_line_internal (int status, int errnum, const char *file_name,
old_line_number = line_number;
}
#if defined _LIBC && defined __libc_ptf_call
#if defined _LIBC
/* We do not want this call to be cut short by a thread
cancellation. Therefore disable cancellation for now. */
int state = PTHREAD_CANCEL_ENABLE;
__libc_ptf_call (__pthread_setcancelstate,
(PTHREAD_CANCEL_DISABLE, &state),
0);
__pthread_setcancelstate (PTHREAD_CANCEL_DISABLE, &state);
#endif
flush_stdout ();
@ -341,9 +336,7 @@ __error_at_line_internal (int status, int errnum, const char *file_name,
#ifdef _LIBC
_IO_funlockfile (stderr);
# ifdef __libc_ptf_call
__libc_ptf_call (__pthread_setcancelstate, (state, NULL), 0);
# endif
__pthread_setcancelstate (state, NULL);
#endif
}

View File

@ -83,6 +83,7 @@ routines = \
pthread_mutex_consistent \
pthread_once \
pthread_self \
pthread_setcancelstate \
pthread_setschedparam \
pthread_sigmask \
unwind \
@ -186,7 +187,6 @@ libpthread-routines = \
pthread_rwlockattr_setpshared \
pthread_setaffinity \
pthread_setattr_default_np \
pthread_setcancelstate \
pthread_setcanceltype \
pthread_setconcurrency \
pthread_setname \

View File

@ -122,6 +122,7 @@ libc {
__pthread_force_elision;
__pthread_getattr_default_np;
__pthread_keys;
__pthread_setcancelstate;
__pthread_unwind;
}
}
@ -172,7 +173,6 @@ libpthread {
pthread_mutexattr_getkind_np;
pthread_mutexattr_init;
pthread_mutexattr_setkind_np;
pthread_setcancelstate;
pthread_setcanceltype;
pthread_setspecific;
pthread_sigmask;

View File

@ -102,8 +102,4 @@ FORWARD (pthread_mutex_lock, (pthread_mutex_t *mutex), (mutex), 0)
FORWARD (pthread_mutex_unlock, (pthread_mutex_t *mutex), (mutex), 0)
FORWARD (__pthread_setcancelstate, (int state, int *oldstate),
(state, oldstate), 0)
strong_alias (__pthread_setcancelstate, pthread_setcancelstate)
FORWARD (pthread_setcanceltype, (int type, int *oldtype), (type, oldtype), 0)

View File

@ -84,7 +84,6 @@ static const struct pthread_functions pthread_functions =
.ptr_pthread_mutex_init = __pthread_mutex_init,
.ptr_pthread_mutex_lock = __pthread_mutex_lock,
.ptr_pthread_mutex_unlock = __pthread_mutex_unlock,
.ptr___pthread_setcancelstate = __pthread_setcancelstate,
.ptr_pthread_setcanceltype = __pthread_setcanceltype,
.ptr___pthread_rwlock_rdlock = __pthread_rwlock_rdlock,
.ptr___pthread_rwlock_wrlock = __pthread_rwlock_wrlock,

View File

@ -387,7 +387,6 @@ extern int __pthread_getschedparam (pthread_t thread_id, int *policy,
struct sched_param *param);
extern int __pthread_setschedparam (pthread_t thread_id, int policy,
const struct sched_param *param);
extern int __pthread_setcancelstate (int state, int *oldstate);
extern int __pthread_mutex_init (pthread_mutex_t *__mutex,
const pthread_mutexattr_t *__mutexattr);
extern int __pthread_mutex_destroy (pthread_mutex_t *__mutex);
@ -560,7 +559,6 @@ hidden_proto (__pthread_rwlock_unlock)
hidden_proto (__pthread_key_create)
hidden_proto (__pthread_getspecific)
hidden_proto (__pthread_setspecific)
hidden_proto (__pthread_setcancelstate)
hidden_proto (__pthread_testcancel)
hidden_proto (__pthread_mutexattr_init)
hidden_proto (__pthread_mutexattr_settype)

View File

@ -19,7 +19,7 @@
#include <errno.h>
#include "pthreadP.h"
#include <atomic.h>
#include <libc-lockP.h>
int
__pthread_setcancelstate (int state, int *oldstate)
@ -67,5 +67,5 @@ __pthread_setcancelstate (int state, int *oldstate)
return 0;
}
strong_alias (__pthread_setcancelstate, pthread_setcancelstate)
hidden_def (__pthread_setcancelstate)
libc_hidden_def (__pthread_setcancelstate)
weak_alias (__pthread_setcancelstate, pthread_setcancelstate)

View File

@ -122,13 +122,10 @@ fmtmsg (long int classification, const char *label, int severity,
return MM_NOTOK;
}
#ifdef __libc_ptf_call
/* We do not want this call to be cut short by a thread
cancellation. Therefore disable cancellation for now. */
int state = PTHREAD_CANCEL_ENABLE;
__libc_ptf_call (__pthread_setcancelstate,
(PTHREAD_CANCEL_DISABLE, &state), 0);
#endif
__pthread_setcancelstate (PTHREAD_CANCEL_DISABLE, &state);
__libc_lock_lock (lock);
@ -197,9 +194,7 @@ fmtmsg (long int classification, const char *label, int severity,
__libc_lock_unlock (lock);
#ifdef __libc_ptf_call
__libc_ptf_call (__pthread_setcancelstate, (state, NULL), 0);
#endif
__pthread_setcancelstate (state, NULL);
return result;
}

View File

@ -333,7 +333,7 @@ extern int __pthread_atfork (void (*__prepare) (void),
void (*__child) (void));
extern int __pthread_setcancelstate (int state, int *oldstate);
libc_hidden_proto (__pthread_setcancelstate)
/* Make the pthread functions weak so that we can elide them from
single-threaded processes. */
@ -359,7 +359,6 @@ weak_extern (__pthread_setspecific)
weak_extern (__pthread_getspecific)
weak_extern (__pthread_initialize)
weak_extern (__pthread_atfork)
weak_extern (__pthread_setcancelstate)
# else
# pragma weak __pthread_mutex_init
# pragma weak __pthread_mutex_destroy
@ -380,7 +379,6 @@ weak_extern (__pthread_setcancelstate)
# pragma weak __pthread_getspecific
# pragma weak __pthread_initialize
# pragma weak __pthread_atfork
# pragma weak __pthread_setcancelstate
# endif
#endif

View File

@ -46,7 +46,6 @@ struct pthread_functions
const pthread_mutexattr_t *);
int (*ptr_pthread_mutex_lock) (pthread_mutex_t *);
int (*ptr_pthread_mutex_unlock) (pthread_mutex_t *);
int (*ptr___pthread_setcancelstate) (int, int *);
int (*ptr_pthread_setcanceltype) (int, int *);
int (*ptr___pthread_rwlock_rdlock) (pthread_rwlock_t *);
int (*ptr___pthread_rwlock_wrlock) (pthread_rwlock_t *);

View File

@ -82,10 +82,9 @@ cancel_handler (void *arg)
__kill_noerrno (args->pid, SIGKILL);
int state;
__libc_ptf_call (__pthread_setcancelstate,
(PTHREAD_CANCEL_DISABLE, &state), 0);
__pthread_setcancelstate (PTHREAD_CANCEL_DISABLE, &state);
TEMP_FAILURE_RETRY (__waitpid (args->pid, NULL, 0));
__libc_ptf_call (__pthread_setcancelstate, (state, NULL), 0);
__pthread_setcancelstate (state, NULL);
DO_LOCK ();
if (SUB_REF () == 0)

View File

@ -104,7 +104,6 @@ GLIBC_2.17 pthread_rwlockattr_init F
GLIBC_2.17 pthread_rwlockattr_setkind_np F
GLIBC_2.17 pthread_rwlockattr_setpshared F
GLIBC_2.17 pthread_setaffinity_np F
GLIBC_2.17 pthread_setcancelstate F
GLIBC_2.17 pthread_setcanceltype F
GLIBC_2.17 pthread_setconcurrency F
GLIBC_2.17 pthread_setname_np F

View File

@ -39,7 +39,6 @@ GLIBC_2.0 pthread_mutexattr_destroy F
GLIBC_2.0 pthread_mutexattr_getkind_np F
GLIBC_2.0 pthread_mutexattr_init F
GLIBC_2.0 pthread_mutexattr_setkind_np F
GLIBC_2.0 pthread_setcancelstate F
GLIBC_2.0 pthread_setcanceltype F
GLIBC_2.0 pthread_setspecific F
GLIBC_2.0 pthread_testcancel F

View File

@ -124,7 +124,6 @@ GLIBC_2.32 pthread_rwlockattr_setkind_np F
GLIBC_2.32 pthread_rwlockattr_setpshared F
GLIBC_2.32 pthread_setaffinity_np F
GLIBC_2.32 pthread_setattr_default_np F
GLIBC_2.32 pthread_setcancelstate F
GLIBC_2.32 pthread_setcanceltype F
GLIBC_2.32 pthread_setconcurrency F
GLIBC_2.32 pthread_setname_np F

View File

@ -135,7 +135,6 @@ GLIBC_2.4 pthread_rwlockattr_init F
GLIBC_2.4 pthread_rwlockattr_setkind_np F
GLIBC_2.4 pthread_rwlockattr_setpshared F
GLIBC_2.4 pthread_setaffinity_np F
GLIBC_2.4 pthread_setcancelstate F
GLIBC_2.4 pthread_setcanceltype F
GLIBC_2.4 pthread_setconcurrency F
GLIBC_2.4 pthread_setschedprio F

View File

@ -135,7 +135,6 @@ GLIBC_2.4 pthread_rwlockattr_init F
GLIBC_2.4 pthread_rwlockattr_setkind_np F
GLIBC_2.4 pthread_rwlockattr_setpshared F
GLIBC_2.4 pthread_setaffinity_np F
GLIBC_2.4 pthread_setcancelstate F
GLIBC_2.4 pthread_setcanceltype F
GLIBC_2.4 pthread_setconcurrency F
GLIBC_2.4 pthread_setschedprio F

View File

@ -119,7 +119,6 @@ GLIBC_2.29 pthread_rwlockattr_setkind_np F
GLIBC_2.29 pthread_rwlockattr_setpshared F
GLIBC_2.29 pthread_setaffinity_np F
GLIBC_2.29 pthread_setattr_default_np F
GLIBC_2.29 pthread_setcancelstate F
GLIBC_2.29 pthread_setcanceltype F
GLIBC_2.29 pthread_setconcurrency F
GLIBC_2.29 pthread_setname_np F

View File

@ -19,6 +19,4 @@
/* We have to completely disable cancellation. assert() must not be a
cancellation point but the implementation uses write() etc. */
#define FATAL_PREPARE \
__libc_ptf_call (__pthread_setcancelstate, \
(PTHREAD_CANCEL_DISABLE, NULL), 0)
#define FATAL_PREPARE __pthread_setcancelstate (PTHREAD_CANCEL_DISABLE, NULL)

View File

@ -92,7 +92,6 @@ GLIBC_2.2 pthread_rwlockattr_getpshared F
GLIBC_2.2 pthread_rwlockattr_init F
GLIBC_2.2 pthread_rwlockattr_setkind_np F
GLIBC_2.2 pthread_rwlockattr_setpshared F
GLIBC_2.2 pthread_setcancelstate F
GLIBC_2.2 pthread_setcanceltype F
GLIBC_2.2 pthread_setconcurrency F
GLIBC_2.2 pthread_setspecific F

View File

@ -39,7 +39,6 @@ GLIBC_2.0 pthread_mutexattr_destroy F
GLIBC_2.0 pthread_mutexattr_getkind_np F
GLIBC_2.0 pthread_mutexattr_init F
GLIBC_2.0 pthread_mutexattr_setkind_np F
GLIBC_2.0 pthread_setcancelstate F
GLIBC_2.0 pthread_setcanceltype F
GLIBC_2.0 pthread_setspecific F
GLIBC_2.0 pthread_testcancel F

View File

@ -92,7 +92,6 @@ GLIBC_2.2 pthread_rwlockattr_getpshared F
GLIBC_2.2 pthread_rwlockattr_init F
GLIBC_2.2 pthread_rwlockattr_setkind_np F
GLIBC_2.2 pthread_rwlockattr_setpshared F
GLIBC_2.2 pthread_setcancelstate F
GLIBC_2.2 pthread_setcanceltype F
GLIBC_2.2 pthread_setconcurrency F
GLIBC_2.2 pthread_setspecific F

View File

@ -135,7 +135,6 @@ GLIBC_2.4 pthread_rwlockattr_init F
GLIBC_2.4 pthread_rwlockattr_setkind_np F
GLIBC_2.4 pthread_rwlockattr_setpshared F
GLIBC_2.4 pthread_setaffinity_np F
GLIBC_2.4 pthread_setcancelstate F
GLIBC_2.4 pthread_setcanceltype F
GLIBC_2.4 pthread_setconcurrency F
GLIBC_2.4 pthread_setschedprio F

View File

@ -39,7 +39,6 @@ GLIBC_2.0 pthread_mutexattr_destroy F
GLIBC_2.0 pthread_mutexattr_getkind_np F
GLIBC_2.0 pthread_mutexattr_init F
GLIBC_2.0 pthread_mutexattr_setkind_np F
GLIBC_2.0 pthread_setcancelstate F
GLIBC_2.0 pthread_setcanceltype F
GLIBC_2.0 pthread_setspecific F
GLIBC_2.0 pthread_testcancel F

View File

@ -106,7 +106,6 @@ GLIBC_2.18 pthread_rwlockattr_setkind_np F
GLIBC_2.18 pthread_rwlockattr_setpshared F
GLIBC_2.18 pthread_setaffinity_np F
GLIBC_2.18 pthread_setattr_default_np F
GLIBC_2.18 pthread_setcancelstate F
GLIBC_2.18 pthread_setcanceltype F
GLIBC_2.18 pthread_setconcurrency F
GLIBC_2.18 pthread_setname_np F

View File

@ -106,7 +106,6 @@ GLIBC_2.18 pthread_rwlockattr_setkind_np F
GLIBC_2.18 pthread_rwlockattr_setpshared F
GLIBC_2.18 pthread_setaffinity_np F
GLIBC_2.18 pthread_setattr_default_np F
GLIBC_2.18 pthread_setcancelstate F
GLIBC_2.18 pthread_setcanceltype F
GLIBC_2.18 pthread_setconcurrency F
GLIBC_2.18 pthread_setname_np F

View File

@ -39,7 +39,6 @@ GLIBC_2.0 pthread_mutexattr_destroy F
GLIBC_2.0 pthread_mutexattr_getkind_np F
GLIBC_2.0 pthread_mutexattr_init F
GLIBC_2.0 pthread_mutexattr_setkind_np F
GLIBC_2.0 pthread_setcancelstate F
GLIBC_2.0 pthread_setcanceltype F
GLIBC_2.0 pthread_setspecific F
GLIBC_2.0 pthread_testcancel F

View File

@ -39,7 +39,6 @@ GLIBC_2.0 pthread_mutexattr_destroy F
GLIBC_2.0 pthread_mutexattr_getkind_np F
GLIBC_2.0 pthread_mutexattr_init F
GLIBC_2.0 pthread_mutexattr_setkind_np F
GLIBC_2.0 pthread_setcancelstate F
GLIBC_2.0 pthread_setcanceltype F
GLIBC_2.0 pthread_setspecific F
GLIBC_2.0 pthread_testcancel F

View File

@ -106,7 +106,6 @@ GLIBC_2.21 pthread_rwlockattr_setkind_np F
GLIBC_2.21 pthread_rwlockattr_setpshared F
GLIBC_2.21 pthread_setaffinity_np F
GLIBC_2.21 pthread_setattr_default_np F
GLIBC_2.21 pthread_setcancelstate F
GLIBC_2.21 pthread_setcanceltype F
GLIBC_2.21 pthread_setconcurrency F
GLIBC_2.21 pthread_setname_np F

View File

@ -39,7 +39,6 @@ GLIBC_2.0 pthread_mutexattr_destroy F
GLIBC_2.0 pthread_mutexattr_getkind_np F
GLIBC_2.0 pthread_mutexattr_init F
GLIBC_2.0 pthread_mutexattr_setkind_np F
GLIBC_2.0 pthread_setcancelstate F
GLIBC_2.0 pthread_setcanceltype F
GLIBC_2.0 pthread_setspecific F
GLIBC_2.0 pthread_testcancel F

View File

@ -112,7 +112,6 @@ GLIBC_2.3 pthread_rwlockattr_getpshared F
GLIBC_2.3 pthread_rwlockattr_init F
GLIBC_2.3 pthread_rwlockattr_setkind_np F
GLIBC_2.3 pthread_rwlockattr_setpshared F
GLIBC_2.3 pthread_setcancelstate F
GLIBC_2.3 pthread_setcanceltype F
GLIBC_2.3 pthread_setconcurrency F
GLIBC_2.3 pthread_setspecific F

View File

@ -104,7 +104,6 @@ GLIBC_2.17 pthread_rwlockattr_init F
GLIBC_2.17 pthread_rwlockattr_setkind_np F
GLIBC_2.17 pthread_rwlockattr_setpshared F
GLIBC_2.17 pthread_setaffinity_np F
GLIBC_2.17 pthread_setcancelstate F
GLIBC_2.17 pthread_setcanceltype F
GLIBC_2.17 pthread_setconcurrency F
GLIBC_2.17 pthread_setname_np F

View File

@ -124,7 +124,6 @@ GLIBC_2.33 pthread_rwlockattr_setkind_np F
GLIBC_2.33 pthread_rwlockattr_setpshared F
GLIBC_2.33 pthread_setaffinity_np F
GLIBC_2.33 pthread_setattr_default_np F
GLIBC_2.33 pthread_setcancelstate F
GLIBC_2.33 pthread_setcanceltype F
GLIBC_2.33 pthread_setconcurrency F
GLIBC_2.33 pthread_setname_np F

View File

@ -106,7 +106,6 @@ GLIBC_2.27 pthread_rwlockattr_setkind_np F
GLIBC_2.27 pthread_rwlockattr_setpshared F
GLIBC_2.27 pthread_setaffinity_np F
GLIBC_2.27 pthread_setattr_default_np F
GLIBC_2.27 pthread_setcancelstate F
GLIBC_2.27 pthread_setcanceltype F
GLIBC_2.27 pthread_setconcurrency F
GLIBC_2.27 pthread_setname_np F

View File

@ -39,7 +39,6 @@ GLIBC_2.0 pthread_mutexattr_destroy F
GLIBC_2.0 pthread_mutexattr_getkind_np F
GLIBC_2.0 pthread_mutexattr_init F
GLIBC_2.0 pthread_mutexattr_setkind_np F
GLIBC_2.0 pthread_setcancelstate F
GLIBC_2.0 pthread_setcanceltype F
GLIBC_2.0 pthread_setspecific F
GLIBC_2.0 pthread_testcancel F

View File

@ -93,7 +93,6 @@ GLIBC_2.2 pthread_rwlockattr_getpshared F
GLIBC_2.2 pthread_rwlockattr_init F
GLIBC_2.2 pthread_rwlockattr_setkind_np F
GLIBC_2.2 pthread_rwlockattr_setpshared F
GLIBC_2.2 pthread_setcancelstate F
GLIBC_2.2 pthread_setcanceltype F
GLIBC_2.2 pthread_setconcurrency F
GLIBC_2.2 pthread_setspecific F

View File

@ -92,7 +92,6 @@ GLIBC_2.2 pthread_rwlockattr_getpshared F
GLIBC_2.2 pthread_rwlockattr_init F
GLIBC_2.2 pthread_rwlockattr_setkind_np F
GLIBC_2.2 pthread_rwlockattr_setpshared F
GLIBC_2.2 pthread_setcancelstate F
GLIBC_2.2 pthread_setcanceltype F
GLIBC_2.2 pthread_setconcurrency F
GLIBC_2.2 pthread_setspecific F

View File

@ -92,7 +92,6 @@ GLIBC_2.2 pthread_rwlockattr_getpshared F
GLIBC_2.2 pthread_rwlockattr_init F
GLIBC_2.2 pthread_rwlockattr_setkind_np F
GLIBC_2.2 pthread_rwlockattr_setpshared F
GLIBC_2.2 pthread_setcancelstate F
GLIBC_2.2 pthread_setcanceltype F
GLIBC_2.2 pthread_setconcurrency F
GLIBC_2.2 pthread_setspecific F

View File

@ -39,7 +39,6 @@ GLIBC_2.0 pthread_mutexattr_destroy F
GLIBC_2.0 pthread_mutexattr_getkind_np F
GLIBC_2.0 pthread_mutexattr_init F
GLIBC_2.0 pthread_mutexattr_setkind_np F
GLIBC_2.0 pthread_setcancelstate F
GLIBC_2.0 pthread_setcanceltype F
GLIBC_2.0 pthread_setspecific F
GLIBC_2.0 pthread_testcancel F

View File

@ -92,7 +92,6 @@ GLIBC_2.2 pthread_rwlockattr_getpshared F
GLIBC_2.2 pthread_rwlockattr_init F
GLIBC_2.2 pthread_rwlockattr_setkind_np F
GLIBC_2.2 pthread_rwlockattr_setpshared F
GLIBC_2.2 pthread_setcancelstate F
GLIBC_2.2 pthread_setcanceltype F
GLIBC_2.2 pthread_setconcurrency F
GLIBC_2.2 pthread_setspecific F

View File

@ -354,8 +354,7 @@ __spawnix (pid_t * pid, const char *file,
/* Disable asynchronous cancellation. */
int state;
__libc_ptf_call (__pthread_setcancelstate,
(PTHREAD_CANCEL_DISABLE, &state), 0);
__pthread_setcancelstate (PTHREAD_CANCEL_DISABLE, &state);
/* Child must set args.err to something non-negative - we rely on
the parent and child sharing VM. */
@ -413,7 +412,7 @@ __spawnix (pid_t * pid, const char *file,
__libc_signal_restore_set (&args.oldmask);
__libc_ptf_call (__pthread_setcancelstate, (state, NULL), 0);
__pthread_setcancelstate (state, NULL);
return ec;
}

View File

@ -92,7 +92,6 @@ GLIBC_2.2.5 pthread_rwlockattr_getpshared F
GLIBC_2.2.5 pthread_rwlockattr_init F
GLIBC_2.2.5 pthread_rwlockattr_setkind_np F
GLIBC_2.2.5 pthread_rwlockattr_setpshared F
GLIBC_2.2.5 pthread_setcancelstate F
GLIBC_2.2.5 pthread_setcanceltype F
GLIBC_2.2.5 pthread_setconcurrency F
GLIBC_2.2.5 pthread_setspecific F

View File

@ -104,7 +104,6 @@ GLIBC_2.16 pthread_rwlockattr_init F
GLIBC_2.16 pthread_rwlockattr_setkind_np F
GLIBC_2.16 pthread_rwlockattr_setpshared F
GLIBC_2.16 pthread_setaffinity_np F
GLIBC_2.16 pthread_setcancelstate F
GLIBC_2.16 pthread_setcanceltype F
GLIBC_2.16 pthread_setconcurrency F
GLIBC_2.16 pthread_setname_np F