nptl: Move pthread_attr_init implementation into libc

Both the original GLIB_2.0 version and the current GLIBC_2.1 version
need to be moved.
This commit is contained in:
Florian Weimer 2019-08-15 19:12:21 +02:00
parent 23d2e5faf0
commit a635d756ff
31 changed files with 77 additions and 55 deletions

View File

@ -1,3 +1,76 @@
2019-08-15 Florian Weimer <fweimer@redhat.com>
nptl: Move pthread_attr_init implementation into libc.
* nptl/Makefile (routines): Add pthread_attr_init.
(libpthread-routines): Remove pthread_attr_init.
* nptl/Versions (libpthread GLIBC_2.0): Remove pthread_attr_init.
(libpthread GLIBC_2.0): Likewise.
* nptl/pthread_attr_init.c: Check for libc compat version instead
of libpthread compat version.
* nptl/forward.c (__pthread_attr_init_2_0)
(__pthread_attr_init_2_1): Remove definitions.
* nptl/nptl-init.c (pthread_functions): Remove initializers for
ptr___pthread_attr_init_2_0, ptr___pthread_attr_init_2_1.
* sysdeps/nptl/pthread-functions.h (struct pthread_functions):
Remove members ptr___pthread_attr_init_2_0,
ptr___pthread_attr_init_2_1.
* sysdeps/unix/sysv/linux/aarch64/libpthread.abilist (GLIBC_2.17):
Remove pthread_attr_init.
* sysdeps/unix/sysv/linux/alpha/libpthread.abilist (GLIBC_2.0):
Likewise.
(GLIBC_2.1): Likewise.
* sysdeps/unix/sysv/linux/arm/libpthread.abilist (GLIBC_2.4):
Likewise.
* sysdeps/unix/sysv/linux/csky/libpthread.abilist (GLIBC_2.29):
Likewise.
* sysdeps/unix/sysv/linux/hppa/libpthread.abilist (GLIBC_2.2):
Likewise.
* sysdeps/unix/sysv/linux/i386/libpthread.abilist (GLIBC_2.0):
Likewise.
(GLIBC_2.1): Likewise.
* sysdeps/unix/sysv/linux/ia64/libpthread.abilist (GLIBC_2.2):
Likewise.
* sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
(GLIBC_2.4): Likewise.
* sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
(GLIBC_2.0): Likewise.
(GLIBC_2.1): Likewise.
* sysdeps/unix/sysv/linux/microblaze/libpthread.abilist
(GLIBC_2.18): Likewise.
* sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
(GLIBC_2.0): Likewise.
(GLIBC_2.1): Likewise.
* sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
(GLIBC_2.0): Likewise.
(GLIBC_2.1): Likewise.
* sysdeps/unix/sysv/linux/nios2/libpthread.abilist (GLIBC_2.21):
Likewise.
* sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
(GLIBC_2.0): Likewise.
(GLIBC_2.1): Likewise.
* sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
(GLIBC_2.3): Likewise.
* sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
(GLIBC_2.17): Likewise.
* sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
(GLIBC_2.27): Likewise.
* sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
(GLIBC_2.0): Likewise.
(GLIBC_2.1): Likewise.
* sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
(GLIBC_2.2): Likewise.
* sysdeps/unix/sysv/linux/sh/libpthread.abilist (GLIBC_2.2):
Likewise.
* sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
(GLIBC_2.0): Likewise.
(GLIBC_2.1): Likewise.
* sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
(GLIBC_2.2): Likewise.
* sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
(GLIBC_2.2.5): Likewise.
* sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
(GLIBC_2.16): Likewise.
2019-08-15 Florian Weimer <fweimer@redhat.com>
[BZ #24900]

View File

@ -31,7 +31,7 @@ routines = alloca_cutoff forward libc-lowlevellock libc-cancellation \
libc-cleanup libc_pthread_init libc_multiple_threads \
register-atfork pthread_atfork pthread_self thrd_current \
thrd_equal thrd_sleep thrd_yield pthread_equal \
pthread_attr_destroy
pthread_attr_destroy pthread_attr_init
shared-only-routines = forward
static-only-routines = pthread_atfork
@ -54,7 +54,6 @@ libpthread-routines = nptl-init nptlfreeres vars events version pt-interp \
pthread_getconcurrency pthread_setconcurrency \
pthread_getschedparam pthread_setschedparam \
pthread_setschedprio \
pthread_attr_init \
pthread_attr_getdetachstate pthread_attr_setdetachstate \
pthread_attr_getguardsize pthread_attr_setguardsize \
pthread_attr_getschedparam pthread_attr_setschedparam \

View File

@ -49,7 +49,6 @@ libpthread {
pthread_getschedparam; pthread_setschedparam;
pthread_attr_init;
pthread_attr_getdetachstate; pthread_attr_setdetachstate;
pthread_attr_getschedparam; pthread_attr_setschedparam;
pthread_attr_getschedpolicy; pthread_attr_setschedpolicy;
@ -121,7 +120,6 @@ libpthread {
GLIBC_2.1 {
pthread_create;
pthread_attr_init;
pthread_attr_getguardsize; pthread_attr_setguardsize;
pthread_attr_getstackaddr; pthread_attr_setstackaddr;

View File

@ -56,14 +56,6 @@ name decl \
FORWARD2 (name, int, decl, params, return defretval)
#if SHLIB_COMPAT(libc, GLIBC_2_0, GLIBC_2_1)
FORWARD (__pthread_attr_init_2_0, (pthread_attr_t *attr), (attr), 0)
compat_symbol (libc, __pthread_attr_init_2_0, pthread_attr_init, GLIBC_2_0);
#endif
FORWARD (__pthread_attr_init_2_1, (pthread_attr_t *attr), (attr), 0)
versioned_symbol (libc, __pthread_attr_init_2_1, pthread_attr_init, GLIBC_2_1);
FORWARD (pthread_attr_getdetachstate,
(const pthread_attr_t *attr, int *detachstate), (attr, detachstate),
0)

View File

@ -72,10 +72,6 @@ void __nptl_set_robust (struct pthread *);
#ifdef SHARED
static const struct pthread_functions pthread_functions =
{
# if SHLIB_COMPAT(libpthread, GLIBC_2_0, GLIBC_2_1)
.ptr___pthread_attr_init_2_0 = __pthread_attr_init_2_0,
# endif
.ptr___pthread_attr_init_2_1 = __pthread_attr_init_2_1,
.ptr_pthread_attr_getdetachstate = __pthread_attr_getdetachstate,
.ptr_pthread_attr_setdetachstate = __pthread_attr_setdetachstate,
.ptr_pthread_attr_getinheritsched = __pthread_attr_getinheritsched,

View File

@ -48,11 +48,10 @@ __pthread_attr_init_2_1 (pthread_attr_t *attr)
return 0;
}
versioned_symbol (libpthread, __pthread_attr_init_2_1, pthread_attr_init,
GLIBC_2_1);
versioned_symbol (libc, __pthread_attr_init_2_1, pthread_attr_init, GLIBC_2_1);
#if SHLIB_COMPAT(libpthread, GLIBC_2_0, GLIBC_2_1)
#if SHLIB_COMPAT(libc, GLIBC_2_0, GLIBC_2_1)
int
__pthread_attr_init_2_0 (pthread_attr_t *attr)
{
@ -81,6 +80,5 @@ __pthread_attr_init_2_0 (pthread_attr_t *attr)
old attribute structure. */
return 0;
}
compat_symbol (libpthread, __pthread_attr_init_2_0, pthread_attr_init,
GLIBC_2_0);
compat_symbol (libc, __pthread_attr_init_2_0, pthread_attr_init, GLIBC_2_0);
#endif

View File

@ -30,8 +30,6 @@ struct xid_command;
the thread functions. */
struct pthread_functions
{
int (*ptr___pthread_attr_init_2_0) (pthread_attr_t *);
int (*ptr___pthread_attr_init_2_1) (pthread_attr_t *);
int (*ptr_pthread_attr_getdetachstate) (const pthread_attr_t *, int *);
int (*ptr_pthread_attr_setdetachstate) (pthread_attr_t *, int);
int (*ptr_pthread_attr_getinheritsched) (const pthread_attr_t *, int *);

View File

@ -80,7 +80,6 @@ GLIBC_2.17 pthread_attr_getscope F
GLIBC_2.17 pthread_attr_getstack F
GLIBC_2.17 pthread_attr_getstackaddr F
GLIBC_2.17 pthread_attr_getstacksize F
GLIBC_2.17 pthread_attr_init F
GLIBC_2.17 pthread_attr_setaffinity_np F
GLIBC_2.17 pthread_attr_setdetachstate F
GLIBC_2.17 pthread_attr_setguardsize F

View File

@ -51,7 +51,6 @@ GLIBC_2.0 pthread_attr_getinheritsched F
GLIBC_2.0 pthread_attr_getschedparam F
GLIBC_2.0 pthread_attr_getschedpolicy F
GLIBC_2.0 pthread_attr_getscope F
GLIBC_2.0 pthread_attr_init F
GLIBC_2.0 pthread_attr_setdetachstate F
GLIBC_2.0 pthread_attr_setinheritsched F
GLIBC_2.0 pthread_attr_setschedparam F
@ -120,7 +119,6 @@ GLIBC_2.1 __libc_current_sigrtmin F
GLIBC_2.1 pthread_attr_getguardsize F
GLIBC_2.1 pthread_attr_getstackaddr F
GLIBC_2.1 pthread_attr_getstacksize F
GLIBC_2.1 pthread_attr_init F
GLIBC_2.1 pthread_attr_setguardsize F
GLIBC_2.1 pthread_attr_setstackaddr F
GLIBC_2.1 pthread_attr_setstacksize F

View File

@ -114,7 +114,6 @@ GLIBC_2.4 pthread_attr_getscope F
GLIBC_2.4 pthread_attr_getstack F
GLIBC_2.4 pthread_attr_getstackaddr F
GLIBC_2.4 pthread_attr_getstacksize F
GLIBC_2.4 pthread_attr_init F
GLIBC_2.4 pthread_attr_setaffinity_np F
GLIBC_2.4 pthread_attr_setdetachstate F
GLIBC_2.4 pthread_attr_setguardsize F

View File

@ -88,7 +88,6 @@ GLIBC_2.29 pthread_attr_getscope F
GLIBC_2.29 pthread_attr_getstack F
GLIBC_2.29 pthread_attr_getstackaddr F
GLIBC_2.29 pthread_attr_getstacksize F
GLIBC_2.29 pthread_attr_init F
GLIBC_2.29 pthread_attr_setaffinity_np F
GLIBC_2.29 pthread_attr_setdetachstate F
GLIBC_2.29 pthread_attr_setguardsize F

View File

@ -81,7 +81,6 @@ GLIBC_2.2 pthread_attr_getscope F
GLIBC_2.2 pthread_attr_getstack F
GLIBC_2.2 pthread_attr_getstackaddr F
GLIBC_2.2 pthread_attr_getstacksize F
GLIBC_2.2 pthread_attr_init F
GLIBC_2.2 pthread_attr_setdetachstate F
GLIBC_2.2 pthread_attr_setguardsize F
GLIBC_2.2 pthread_attr_setinheritsched F

View File

@ -51,7 +51,6 @@ GLIBC_2.0 pthread_attr_getinheritsched F
GLIBC_2.0 pthread_attr_getschedparam F
GLIBC_2.0 pthread_attr_getschedpolicy F
GLIBC_2.0 pthread_attr_getscope F
GLIBC_2.0 pthread_attr_init F
GLIBC_2.0 pthread_attr_setdetachstate F
GLIBC_2.0 pthread_attr_setinheritsched F
GLIBC_2.0 pthread_attr_setschedparam F
@ -120,7 +119,6 @@ GLIBC_2.1 __libc_current_sigrtmin F
GLIBC_2.1 pthread_attr_getguardsize F
GLIBC_2.1 pthread_attr_getstackaddr F
GLIBC_2.1 pthread_attr_getstacksize F
GLIBC_2.1 pthread_attr_init F
GLIBC_2.1 pthread_attr_setguardsize F
GLIBC_2.1 pthread_attr_setstackaddr F
GLIBC_2.1 pthread_attr_setstacksize F

View File

@ -81,7 +81,6 @@ GLIBC_2.2 pthread_attr_getscope F
GLIBC_2.2 pthread_attr_getstack F
GLIBC_2.2 pthread_attr_getstackaddr F
GLIBC_2.2 pthread_attr_getstacksize F
GLIBC_2.2 pthread_attr_init F
GLIBC_2.2 pthread_attr_setdetachstate F
GLIBC_2.2 pthread_attr_setguardsize F
GLIBC_2.2 pthread_attr_setinheritsched F

View File

@ -114,7 +114,6 @@ GLIBC_2.4 pthread_attr_getscope F
GLIBC_2.4 pthread_attr_getstack F
GLIBC_2.4 pthread_attr_getstackaddr F
GLIBC_2.4 pthread_attr_getstacksize F
GLIBC_2.4 pthread_attr_init F
GLIBC_2.4 pthread_attr_setaffinity_np F
GLIBC_2.4 pthread_attr_setdetachstate F
GLIBC_2.4 pthread_attr_setguardsize F

View File

@ -51,7 +51,6 @@ GLIBC_2.0 pthread_attr_getinheritsched F
GLIBC_2.0 pthread_attr_getschedparam F
GLIBC_2.0 pthread_attr_getschedpolicy F
GLIBC_2.0 pthread_attr_getscope F
GLIBC_2.0 pthread_attr_init F
GLIBC_2.0 pthread_attr_setdetachstate F
GLIBC_2.0 pthread_attr_setinheritsched F
GLIBC_2.0 pthread_attr_setschedparam F
@ -120,7 +119,6 @@ GLIBC_2.1 __libc_current_sigrtmin F
GLIBC_2.1 pthread_attr_getguardsize F
GLIBC_2.1 pthread_attr_getstackaddr F
GLIBC_2.1 pthread_attr_getstacksize F
GLIBC_2.1 pthread_attr_init F
GLIBC_2.1 pthread_attr_setguardsize F
GLIBC_2.1 pthread_attr_setstackaddr F
GLIBC_2.1 pthread_attr_setstacksize F

View File

@ -80,7 +80,6 @@ GLIBC_2.18 pthread_attr_getscope F
GLIBC_2.18 pthread_attr_getstack F
GLIBC_2.18 pthread_attr_getstackaddr F
GLIBC_2.18 pthread_attr_getstacksize F
GLIBC_2.18 pthread_attr_init F
GLIBC_2.18 pthread_attr_setaffinity_np F
GLIBC_2.18 pthread_attr_setdetachstate F
GLIBC_2.18 pthread_attr_setguardsize F

View File

@ -51,7 +51,6 @@ GLIBC_2.0 pthread_attr_getinheritsched F
GLIBC_2.0 pthread_attr_getschedparam F
GLIBC_2.0 pthread_attr_getschedpolicy F
GLIBC_2.0 pthread_attr_getscope F
GLIBC_2.0 pthread_attr_init F
GLIBC_2.0 pthread_attr_setdetachstate F
GLIBC_2.0 pthread_attr_setinheritsched F
GLIBC_2.0 pthread_attr_setschedparam F
@ -144,7 +143,6 @@ GLIBC_2.2 pthread_attr_getguardsize F
GLIBC_2.2 pthread_attr_getstack F
GLIBC_2.2 pthread_attr_getstackaddr F
GLIBC_2.2 pthread_attr_getstacksize F
GLIBC_2.2 pthread_attr_init F
GLIBC_2.2 pthread_attr_setguardsize F
GLIBC_2.2 pthread_attr_setstack F
GLIBC_2.2 pthread_attr_setstackaddr F

View File

@ -51,7 +51,6 @@ GLIBC_2.0 pthread_attr_getinheritsched F
GLIBC_2.0 pthread_attr_getschedparam F
GLIBC_2.0 pthread_attr_getschedpolicy F
GLIBC_2.0 pthread_attr_getscope F
GLIBC_2.0 pthread_attr_init F
GLIBC_2.0 pthread_attr_setdetachstate F
GLIBC_2.0 pthread_attr_setinheritsched F
GLIBC_2.0 pthread_attr_setschedparam F
@ -144,7 +143,6 @@ GLIBC_2.2 pthread_attr_getguardsize F
GLIBC_2.2 pthread_attr_getstack F
GLIBC_2.2 pthread_attr_getstackaddr F
GLIBC_2.2 pthread_attr_getstacksize F
GLIBC_2.2 pthread_attr_init F
GLIBC_2.2 pthread_attr_setguardsize F
GLIBC_2.2 pthread_attr_setstack F
GLIBC_2.2 pthread_attr_setstackaddr F

View File

@ -80,7 +80,6 @@ GLIBC_2.21 pthread_attr_getscope F
GLIBC_2.21 pthread_attr_getstack F
GLIBC_2.21 pthread_attr_getstackaddr F
GLIBC_2.21 pthread_attr_getstacksize F
GLIBC_2.21 pthread_attr_init F
GLIBC_2.21 pthread_attr_setaffinity_np F
GLIBC_2.21 pthread_attr_setdetachstate F
GLIBC_2.21 pthread_attr_setguardsize F

View File

@ -51,7 +51,6 @@ GLIBC_2.0 pthread_attr_getinheritsched F
GLIBC_2.0 pthread_attr_getschedparam F
GLIBC_2.0 pthread_attr_getschedpolicy F
GLIBC_2.0 pthread_attr_getscope F
GLIBC_2.0 pthread_attr_init F
GLIBC_2.0 pthread_attr_setdetachstate F
GLIBC_2.0 pthread_attr_setinheritsched F
GLIBC_2.0 pthread_attr_setschedparam F
@ -120,7 +119,6 @@ GLIBC_2.1 __libc_current_sigrtmin F
GLIBC_2.1 pthread_attr_getguardsize F
GLIBC_2.1 pthread_attr_getstackaddr F
GLIBC_2.1 pthread_attr_getstacksize F
GLIBC_2.1 pthread_attr_init F
GLIBC_2.1 pthread_attr_setguardsize F
GLIBC_2.1 pthread_attr_setstackaddr F
GLIBC_2.1 pthread_attr_setstacksize F

View File

@ -102,7 +102,6 @@ GLIBC_2.3 pthread_attr_getscope F
GLIBC_2.3 pthread_attr_getstack F
GLIBC_2.3 pthread_attr_getstackaddr F
GLIBC_2.3 pthread_attr_getstacksize F
GLIBC_2.3 pthread_attr_init F
GLIBC_2.3 pthread_attr_setdetachstate F
GLIBC_2.3 pthread_attr_setguardsize F
GLIBC_2.3 pthread_attr_setinheritsched F

View File

@ -80,7 +80,6 @@ GLIBC_2.17 pthread_attr_getscope F
GLIBC_2.17 pthread_attr_getstack F
GLIBC_2.17 pthread_attr_getstackaddr F
GLIBC_2.17 pthread_attr_getstacksize F
GLIBC_2.17 pthread_attr_init F
GLIBC_2.17 pthread_attr_setaffinity_np F
GLIBC_2.17 pthread_attr_setdetachstate F
GLIBC_2.17 pthread_attr_setguardsize F

View File

@ -77,7 +77,6 @@ GLIBC_2.27 pthread_attr_getscope F
GLIBC_2.27 pthread_attr_getstack F
GLIBC_2.27 pthread_attr_getstackaddr F
GLIBC_2.27 pthread_attr_getstacksize F
GLIBC_2.27 pthread_attr_init F
GLIBC_2.27 pthread_attr_setaffinity_np F
GLIBC_2.27 pthread_attr_setdetachstate F
GLIBC_2.27 pthread_attr_setguardsize F

View File

@ -51,7 +51,6 @@ GLIBC_2.0 pthread_attr_getinheritsched F
GLIBC_2.0 pthread_attr_getschedparam F
GLIBC_2.0 pthread_attr_getschedpolicy F
GLIBC_2.0 pthread_attr_getscope F
GLIBC_2.0 pthread_attr_init F
GLIBC_2.0 pthread_attr_setdetachstate F
GLIBC_2.0 pthread_attr_setinheritsched F
GLIBC_2.0 pthread_attr_setschedparam F
@ -120,7 +119,6 @@ GLIBC_2.1 __libc_current_sigrtmin F
GLIBC_2.1 pthread_attr_getguardsize F
GLIBC_2.1 pthread_attr_getstackaddr F
GLIBC_2.1 pthread_attr_getstacksize F
GLIBC_2.1 pthread_attr_init F
GLIBC_2.1 pthread_attr_setguardsize F
GLIBC_2.1 pthread_attr_setstackaddr F
GLIBC_2.1 pthread_attr_setstacksize F

View File

@ -83,7 +83,6 @@ GLIBC_2.2 pthread_attr_getscope F
GLIBC_2.2 pthread_attr_getstack F
GLIBC_2.2 pthread_attr_getstackaddr F
GLIBC_2.2 pthread_attr_getstacksize F
GLIBC_2.2 pthread_attr_init F
GLIBC_2.2 pthread_attr_setdetachstate F
GLIBC_2.2 pthread_attr_setguardsize F
GLIBC_2.2 pthread_attr_setinheritsched F

View File

@ -81,7 +81,6 @@ GLIBC_2.2 pthread_attr_getscope F
GLIBC_2.2 pthread_attr_getstack F
GLIBC_2.2 pthread_attr_getstackaddr F
GLIBC_2.2 pthread_attr_getstacksize F
GLIBC_2.2 pthread_attr_init F
GLIBC_2.2 pthread_attr_setdetachstate F
GLIBC_2.2 pthread_attr_setguardsize F
GLIBC_2.2 pthread_attr_setinheritsched F

View File

@ -51,7 +51,6 @@ GLIBC_2.0 pthread_attr_getinheritsched F
GLIBC_2.0 pthread_attr_getschedparam F
GLIBC_2.0 pthread_attr_getschedpolicy F
GLIBC_2.0 pthread_attr_getscope F
GLIBC_2.0 pthread_attr_init F
GLIBC_2.0 pthread_attr_setdetachstate F
GLIBC_2.0 pthread_attr_setinheritsched F
GLIBC_2.0 pthread_attr_setschedparam F
@ -120,7 +119,6 @@ GLIBC_2.1 __libc_current_sigrtmin F
GLIBC_2.1 pthread_attr_getguardsize F
GLIBC_2.1 pthread_attr_getstackaddr F
GLIBC_2.1 pthread_attr_getstacksize F
GLIBC_2.1 pthread_attr_init F
GLIBC_2.1 pthread_attr_setguardsize F
GLIBC_2.1 pthread_attr_setstackaddr F
GLIBC_2.1 pthread_attr_setstacksize F

View File

@ -81,7 +81,6 @@ GLIBC_2.2 pthread_attr_getscope F
GLIBC_2.2 pthread_attr_getstack F
GLIBC_2.2 pthread_attr_getstackaddr F
GLIBC_2.2 pthread_attr_getstacksize F
GLIBC_2.2 pthread_attr_init F
GLIBC_2.2 pthread_attr_setdetachstate F
GLIBC_2.2 pthread_attr_setguardsize F
GLIBC_2.2 pthread_attr_setinheritsched F

View File

@ -81,7 +81,6 @@ GLIBC_2.2.5 pthread_attr_getscope F
GLIBC_2.2.5 pthread_attr_getstack F
GLIBC_2.2.5 pthread_attr_getstackaddr F
GLIBC_2.2.5 pthread_attr_getstacksize F
GLIBC_2.2.5 pthread_attr_init F
GLIBC_2.2.5 pthread_attr_setdetachstate F
GLIBC_2.2.5 pthread_attr_setguardsize F
GLIBC_2.2.5 pthread_attr_setinheritsched F

View File

@ -80,7 +80,6 @@ GLIBC_2.16 pthread_attr_getscope F
GLIBC_2.16 pthread_attr_getstack F
GLIBC_2.16 pthread_attr_getstackaddr F
GLIBC_2.16 pthread_attr_getstacksize F
GLIBC_2.16 pthread_attr_init F
GLIBC_2.16 pthread_attr_setaffinity_np F
GLIBC_2.16 pthread_attr_setdetachstate F
GLIBC_2.16 pthread_attr_setguardsize F