+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]
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
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 \
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;
GLIBC_2.1 {
pthread_create;
- pthread_attr_init;
pthread_attr_getguardsize; pthread_attr_setguardsize;
pthread_attr_getstackaddr; pthread_attr_setstackaddr;
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)
#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,
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)
{
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
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 *);
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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