Patchwork nptl: Move pthread_attr_setdetachstate implementation into libc

login
register
mail settings
Submitter Florian Weimer
Date Aug. 16, 2019, 9:48 p.m.
Message ID <878srsye6c.fsf@oldenburg2.str.redhat.com>
Download mbox | patch
Permalink /patch/34158/
State New
Headers show

Comments

Florian Weimer - Aug. 16, 2019, 9:48 p.m.
2019-08-16  Florian Weimer  <fweimer@redhat.com>

	nptl: Move pthread_attr_setdetachstate implementation into libc.
	* nptl/Makefile (routines): Add pthread_attr_setdetachstate.
	(libpthread-routines): Remove pthread_attr_setdetachstate.
	* nptl/Versions (libpthread GLIBC_2.0): Remove
	pthread_attr_setdetachstate.
	* nptl/forward.c (pthread_attr_setdetachstate): Remove definition.
	* nptl/nptl-init.c (pthread_functions): Remove initializer for
	ptr_pthread_attr_setdetachstate.
	* sysdeps/nptl/pthread-functions.h (struct pthread_functions):
	Remove ptr_pthread_attr_setdetachstate member.
	* sysdeps/unix/sysv/linux/aarch64/libpthread.abilist (GLIBC_2.17):
	Remove pthread_attr_setdetachstate.
	* sysdeps/unix/sysv/linux/alpha/libpthread.abilist (GLIBC_2.0):
	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.
	* 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.
	* sysdeps/unix/sysv/linux/microblaze/libpthread.abilist
	(GLIBC_2.18): Likewise.
	* sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
	(GLIBC_2.0): Likewise.
	* sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
	(GLIBC_2.0): Likewise.
	* sysdeps/unix/sysv/linux/nios2/libpthread.abilist (GLIBC_2.21):
	Likewise.
	* sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
	(GLIBC_2.0): 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.
	* 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.
	* 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.
Florian Weimer - Aug. 23, 2019, 6:18 p.m.
* Florian Weimer:

> 2019-08-16  Florian Weimer  <fweimer@redhat.com>
>
> 	nptl: Move pthread_attr_setdetachstate implementation into libc.
> 	* nptl/Makefile (routines): Add pthread_attr_setdetachstate.
> 	(libpthread-routines): Remove pthread_attr_setdetachstate.

Ping.  This patch needs review:

  <https://sourceware.org/ml/libc-alpha/2019-08/msg00451.html>

Thanks,
Florian
Adhemerval Zanella Netto - Aug. 27, 2019, 1:26 p.m.
On 16/08/2019 18:48, Florian Weimer wrote:
> 2019-08-16  Florian Weimer  <fweimer@redhat.com>
> 
> 	nptl: Move pthread_attr_setdetachstate implementation into libc.
> 	* nptl/Makefile (routines): Add pthread_attr_setdetachstate.
> 	(libpthread-routines): Remove pthread_attr_setdetachstate.
> 	* nptl/Versions (libpthread GLIBC_2.0): Remove
> 	pthread_attr_setdetachstate.
> 	* nptl/forward.c (pthread_attr_setdetachstate): Remove definition.
> 	* nptl/nptl-init.c (pthread_functions): Remove initializer for
> 	ptr_pthread_attr_setdetachstate.
> 	* sysdeps/nptl/pthread-functions.h (struct pthread_functions):
> 	Remove ptr_pthread_attr_setdetachstate member.
> 	* sysdeps/unix/sysv/linux/aarch64/libpthread.abilist (GLIBC_2.17):
> 	Remove pthread_attr_setdetachstate.
> 	* sysdeps/unix/sysv/linux/alpha/libpthread.abilist (GLIBC_2.0):
> 	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.
> 	* 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.
> 	* sysdeps/unix/sysv/linux/microblaze/libpthread.abilist
> 	(GLIBC_2.18): Likewise.
> 	* sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
> 	(GLIBC_2.0): Likewise.
> 	* sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
> 	(GLIBC_2.0): Likewise.
> 	* sysdeps/unix/sysv/linux/nios2/libpthread.abilist (GLIBC_2.21):
> 	Likewise.
> 	* sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
> 	(GLIBC_2.0): 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.
> 	* 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.
> 	* 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.

LGTM, thanks.

Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>

> 
> diff --git a/nptl/Makefile b/nptl/Makefile
> index 4c7ae6a561..823241d3a0 100644
> --- a/nptl/Makefile
> +++ b/nptl/Makefile
> @@ -31,7 +31,8 @@ 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_init pthread_attr_getdetachstate
> +	   pthread_attr_destroy pthread_attr_init pthread_attr_getdetachstate \
> +	   pthread_attr_setdetachstate
>  shared-only-routines = forward
>  static-only-routines = pthread_atfork

Ok.

>  
> @@ -54,7 +55,6 @@ libpthread-routines = nptl-init nptlfreeres vars events version pt-interp \
>  		      pthread_getconcurrency pthread_setconcurrency \
>  		      pthread_getschedparam pthread_setschedparam \
>  		      pthread_setschedprio \
> -		      pthread_attr_setdetachstate \
>  		      pthread_attr_getguardsize pthread_attr_setguardsize \
>  		      pthread_attr_getschedparam pthread_attr_setschedparam \
>  		      pthread_attr_getschedpolicy pthread_attr_setschedpolicy \

Ok.

> diff --git a/nptl/Versions b/nptl/Versions
> index ae0a4cbb3f..1e055eaabe 100644
> --- a/nptl/Versions
> +++ b/nptl/Versions
> @@ -49,7 +49,6 @@ libpthread {
>  
>      pthread_getschedparam; pthread_setschedparam;
>  
> -    pthread_attr_setdetachstate;
>      pthread_attr_getschedparam; pthread_attr_setschedparam;
>      pthread_attr_getschedpolicy; pthread_attr_setschedpolicy;
>      pthread_attr_getinheritsched; pthread_attr_setinheritsched;

Ok.

> diff --git a/nptl/forward.c b/nptl/forward.c
> index 96454bcccf..163a3e5d5b 100644
> --- a/nptl/forward.c
> +++ b/nptl/forward.c
> @@ -56,9 +56,6 @@ name decl								      \
>    FORWARD2 (name, int, decl, params, return defretval)
>  
>  
> -FORWARD (pthread_attr_setdetachstate, (pthread_attr_t *attr, int detachstate),
> -	 (attr, detachstate), 0)
> -
>  FORWARD (pthread_attr_getinheritsched,
>  	 (const pthread_attr_t *attr, int *inherit), (attr, inherit), 0)
>  FORWARD (pthread_attr_setinheritsched, (pthread_attr_t *attr, int inherit),

Ok.

> diff --git a/nptl/nptl-init.c b/nptl/nptl-init.c
> index ea022eb0df..4594cf53ea 100644
> --- a/nptl/nptl-init.c
> +++ b/nptl/nptl-init.c
> @@ -72,7 +72,6 @@ void __nptl_set_robust (struct pthread *);
>  #ifdef SHARED
>  static const struct pthread_functions pthread_functions =
>    {
> -    .ptr_pthread_attr_setdetachstate = __pthread_attr_setdetachstate,
>      .ptr_pthread_attr_getinheritsched = __pthread_attr_getinheritsched,
>      .ptr_pthread_attr_setinheritsched = __pthread_attr_setinheritsched,
>      .ptr_pthread_attr_getschedparam = __pthread_attr_getschedparam,

Ok.

> diff --git a/sysdeps/nptl/pthread-functions.h b/sysdeps/nptl/pthread-functions.h
> index 3fedc85db6..36ef2bd674 100644
> --- a/sysdeps/nptl/pthread-functions.h
> +++ b/sysdeps/nptl/pthread-functions.h
> @@ -30,7 +30,6 @@ struct xid_command;
>     the thread functions.  */
>  struct pthread_functions
>  {
> -  int (*ptr_pthread_attr_setdetachstate) (pthread_attr_t *, int);
>    int (*ptr_pthread_attr_getinheritsched) (const pthread_attr_t *, int *);
>    int (*ptr_pthread_attr_setinheritsched) (pthread_attr_t *, int);
>    int (*ptr_pthread_attr_getschedparam) (const pthread_attr_t *,

Ok.

> diff --git a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
> index 308cb07afa..cf254a41f1 100644
> --- a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
> @@ -80,7 +80,6 @@ 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_setaffinity_np F
> -GLIBC_2.17 pthread_attr_setdetachstate F
>  GLIBC_2.17 pthread_attr_setguardsize F
>  GLIBC_2.17 pthread_attr_setinheritsched F
>  GLIBC_2.17 pthread_attr_setschedparam F

Ok.

> diff --git a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
> index 4be0af2dcb..5a64d6ff96 100644
> --- a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
> @@ -50,7 +50,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_setdetachstate F
>  GLIBC_2.0 pthread_attr_setinheritsched F
>  GLIBC_2.0 pthread_attr_setschedparam F
>  GLIBC_2.0 pthread_attr_setschedpolicy F

Ok.

> diff --git a/sysdeps/unix/sysv/linux/arm/libpthread.abilist b/sysdeps/unix/sysv/linux/arm/libpthread.abilist
> index 5506395508..2baa87ea07 100644
> --- a/sysdeps/unix/sysv/linux/arm/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/arm/libpthread.abilist
> @@ -114,7 +114,6 @@ 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_setaffinity_np F
> -GLIBC_2.4 pthread_attr_setdetachstate F
>  GLIBC_2.4 pthread_attr_setguardsize F
>  GLIBC_2.4 pthread_attr_setinheritsched F
>  GLIBC_2.4 pthread_attr_setschedparam F

Ok.

> diff --git a/sysdeps/unix/sysv/linux/csky/libpthread.abilist b/sysdeps/unix/sysv/linux/csky/libpthread.abilist
> index c04ceca73d..3b508053c2 100644
> --- a/sysdeps/unix/sysv/linux/csky/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/csky/libpthread.abilist
> @@ -88,7 +88,6 @@ 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_setaffinity_np F
> -GLIBC_2.29 pthread_attr_setdetachstate F
>  GLIBC_2.29 pthread_attr_setguardsize F
>  GLIBC_2.29 pthread_attr_setinheritsched F
>  GLIBC_2.29 pthread_attr_setschedparam F

Ok.

> diff --git a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
> index cc5c47a329..34398ad320 100644
> --- a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
> @@ -80,7 +80,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_setdetachstate F
>  GLIBC_2.2 pthread_attr_setguardsize F
>  GLIBC_2.2 pthread_attr_setinheritsched F
>  GLIBC_2.2 pthread_attr_setschedparam F

Ok.

> diff --git a/sysdeps/unix/sysv/linux/i386/libpthread.abilist b/sysdeps/unix/sysv/linux/i386/libpthread.abilist
> index d8b02f94fa..4f1cd69999 100644
> --- a/sysdeps/unix/sysv/linux/i386/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/i386/libpthread.abilist
> @@ -50,7 +50,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_setdetachstate F
>  GLIBC_2.0 pthread_attr_setinheritsched F
>  GLIBC_2.0 pthread_attr_setschedparam F
>  GLIBC_2.0 pthread_attr_setschedpolicy F

Ok.

> diff --git a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
> index b02fee32e3..ba43587275 100644
> --- a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
> @@ -80,7 +80,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_setdetachstate F
>  GLIBC_2.2 pthread_attr_setguardsize F
>  GLIBC_2.2 pthread_attr_setinheritsched F
>  GLIBC_2.2 pthread_attr_setschedparam F

Ok.

> diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
> index 5506395508..2baa87ea07 100644
> --- a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
> @@ -114,7 +114,6 @@ 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_setaffinity_np F
> -GLIBC_2.4 pthread_attr_setdetachstate F
>  GLIBC_2.4 pthread_attr_setguardsize F
>  GLIBC_2.4 pthread_attr_setinheritsched F
>  GLIBC_2.4 pthread_attr_setschedparam F

Ok.

> diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
> index d8b02f94fa..4f1cd69999 100644
> --- a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
> @@ -50,7 +50,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_setdetachstate F
>  GLIBC_2.0 pthread_attr_setinheritsched F
>  GLIBC_2.0 pthread_attr_setschedparam F
>  GLIBC_2.0 pthread_attr_setschedpolicy F

Ok.

> diff --git a/sysdeps/unix/sysv/linux/microblaze/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/libpthread.abilist
> index 4b0ab493e0..5a182c10b2 100644
> --- a/sysdeps/unix/sysv/linux/microblaze/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/microblaze/libpthread.abilist
> @@ -80,7 +80,6 @@ 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_setaffinity_np F
> -GLIBC_2.18 pthread_attr_setdetachstate F
>  GLIBC_2.18 pthread_attr_setguardsize F
>  GLIBC_2.18 pthread_attr_setinheritsched F
>  GLIBC_2.18 pthread_attr_setschedparam F

Ok.

> diff --git a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
> index ae6122e607..3c0748a7a4 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
> @@ -50,7 +50,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_setdetachstate F
>  GLIBC_2.0 pthread_attr_setinheritsched F
>  GLIBC_2.0 pthread_attr_setschedparam F
>  GLIBC_2.0 pthread_attr_setschedpolicy F

Ok.

> diff --git a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
> index ae6122e607..3c0748a7a4 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
> @@ -50,7 +50,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_setdetachstate F
>  GLIBC_2.0 pthread_attr_setinheritsched F
>  GLIBC_2.0 pthread_attr_setschedparam F
>  GLIBC_2.0 pthread_attr_setschedpolicy F

Ok.

> diff --git a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
> index b85db4ba7e..f9e7962dfb 100644
> --- a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
> @@ -80,7 +80,6 @@ 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_setaffinity_np F
> -GLIBC_2.21 pthread_attr_setdetachstate F
>  GLIBC_2.21 pthread_attr_setguardsize F
>  GLIBC_2.21 pthread_attr_setinheritsched F
>  GLIBC_2.21 pthread_attr_setschedparam F

Ok.

> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
> index cc39f0d6e3..63e3af6d93 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
> @@ -50,7 +50,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_setdetachstate F
>  GLIBC_2.0 pthread_attr_setinheritsched F
>  GLIBC_2.0 pthread_attr_setschedparam F
>  GLIBC_2.0 pthread_attr_setschedpolicy F

Ok.

> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
> index 2058cc0494..c6345841e7 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
> @@ -101,7 +101,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_setdetachstate F
>  GLIBC_2.3 pthread_attr_setguardsize F
>  GLIBC_2.3 pthread_attr_setinheritsched F
>  GLIBC_2.3 pthread_attr_setschedparam F

Ok.

> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
> index 308cb07afa..cf254a41f1 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
> @@ -80,7 +80,6 @@ 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_setaffinity_np F
> -GLIBC_2.17 pthread_attr_setdetachstate F
>  GLIBC_2.17 pthread_attr_setguardsize F
>  GLIBC_2.17 pthread_attr_setinheritsched F
>  GLIBC_2.17 pthread_attr_setschedparam F

Ok.

> diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
> index d80b204fb8..b115a750d7 100644
> --- a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
> @@ -77,7 +77,6 @@ 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_setaffinity_np F
> -GLIBC_2.27 pthread_attr_setdetachstate F
>  GLIBC_2.27 pthread_attr_setguardsize F
>  GLIBC_2.27 pthread_attr_setinheritsched F
>  GLIBC_2.27 pthread_attr_setschedparam F

Ok.

> diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
> index c9adfaf03a..4010e27452 100644
> --- a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
> @@ -50,7 +50,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_setdetachstate F
>  GLIBC_2.0 pthread_attr_setinheritsched F
>  GLIBC_2.0 pthread_attr_setschedparam F
>  GLIBC_2.0 pthread_attr_setschedpolicy F

Ok.

> diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
> index f2a81cfb0c..6c7474b63e 100644
> --- a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
> @@ -82,7 +82,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_setdetachstate F
>  GLIBC_2.2 pthread_attr_setguardsize F
>  GLIBC_2.2 pthread_attr_setinheritsched F
>  GLIBC_2.2 pthread_attr_setschedparam F

Ok.

> diff --git a/sysdeps/unix/sysv/linux/sh/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/libpthread.abilist
> index cc5c47a329..34398ad320 100644
> --- a/sysdeps/unix/sysv/linux/sh/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/sh/libpthread.abilist
> @@ -80,7 +80,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_setdetachstate F
>  GLIBC_2.2 pthread_attr_setguardsize F
>  GLIBC_2.2 pthread_attr_setinheritsched F
>  GLIBC_2.2 pthread_attr_setschedparam F

Ok.

> diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
> index 4be0af2dcb..5a64d6ff96 100644
> --- a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
> @@ -50,7 +50,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_setdetachstate F
>  GLIBC_2.0 pthread_attr_setinheritsched F
>  GLIBC_2.0 pthread_attr_setschedparam F
>  GLIBC_2.0 pthread_attr_setschedpolicy F

Ok.

> diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
> index b02fee32e3..ba43587275 100644
> --- a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
> @@ -80,7 +80,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_setdetachstate F
>  GLIBC_2.2 pthread_attr_setguardsize F
>  GLIBC_2.2 pthread_attr_setinheritsched F
>  GLIBC_2.2 pthread_attr_setschedparam F

Ok.

> diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
> index f2cbb71691..e366c397e1 100644
> --- a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
> @@ -80,7 +80,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_setdetachstate F
>  GLIBC_2.2.5 pthread_attr_setguardsize F
>  GLIBC_2.2.5 pthread_attr_setinheritsched F
>  GLIBC_2.2.5 pthread_attr_setschedparam F

Ok.

> diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
> index 4bbd6ed7a7..1692ddd839 100644
> --- a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
> @@ -80,7 +80,6 @@ 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_setaffinity_np F
> -GLIBC_2.16 pthread_attr_setdetachstate F
>  GLIBC_2.16 pthread_attr_setguardsize F
>  GLIBC_2.16 pthread_attr_setinheritsched F
>  GLIBC_2.16 pthread_attr_setschedparam F
> 

Ok.

Patch

diff --git a/nptl/Makefile b/nptl/Makefile
index 4c7ae6a561..823241d3a0 100644
--- a/nptl/Makefile
+++ b/nptl/Makefile
@@ -31,7 +31,8 @@  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_init pthread_attr_getdetachstate
+	   pthread_attr_destroy pthread_attr_init pthread_attr_getdetachstate \
+	   pthread_attr_setdetachstate
 shared-only-routines = forward
 static-only-routines = pthread_atfork
 
@@ -54,7 +55,6 @@  libpthread-routines = nptl-init nptlfreeres vars events version pt-interp \
 		      pthread_getconcurrency pthread_setconcurrency \
 		      pthread_getschedparam pthread_setschedparam \
 		      pthread_setschedprio \
-		      pthread_attr_setdetachstate \
 		      pthread_attr_getguardsize pthread_attr_setguardsize \
 		      pthread_attr_getschedparam pthread_attr_setschedparam \
 		      pthread_attr_getschedpolicy pthread_attr_setschedpolicy \
diff --git a/nptl/Versions b/nptl/Versions
index ae0a4cbb3f..1e055eaabe 100644
--- a/nptl/Versions
+++ b/nptl/Versions
@@ -49,7 +49,6 @@  libpthread {
 
     pthread_getschedparam; pthread_setschedparam;
 
-    pthread_attr_setdetachstate;
     pthread_attr_getschedparam; pthread_attr_setschedparam;
     pthread_attr_getschedpolicy; pthread_attr_setschedpolicy;
     pthread_attr_getinheritsched; pthread_attr_setinheritsched;
diff --git a/nptl/forward.c b/nptl/forward.c
index 96454bcccf..163a3e5d5b 100644
--- a/nptl/forward.c
+++ b/nptl/forward.c
@@ -56,9 +56,6 @@  name decl								      \
   FORWARD2 (name, int, decl, params, return defretval)
 
 
-FORWARD (pthread_attr_setdetachstate, (pthread_attr_t *attr, int detachstate),
-	 (attr, detachstate), 0)
-
 FORWARD (pthread_attr_getinheritsched,
 	 (const pthread_attr_t *attr, int *inherit), (attr, inherit), 0)
 FORWARD (pthread_attr_setinheritsched, (pthread_attr_t *attr, int inherit),
diff --git a/nptl/nptl-init.c b/nptl/nptl-init.c
index ea022eb0df..4594cf53ea 100644
--- a/nptl/nptl-init.c
+++ b/nptl/nptl-init.c
@@ -72,7 +72,6 @@  void __nptl_set_robust (struct pthread *);
 #ifdef SHARED
 static const struct pthread_functions pthread_functions =
   {
-    .ptr_pthread_attr_setdetachstate = __pthread_attr_setdetachstate,
     .ptr_pthread_attr_getinheritsched = __pthread_attr_getinheritsched,
     .ptr_pthread_attr_setinheritsched = __pthread_attr_setinheritsched,
     .ptr_pthread_attr_getschedparam = __pthread_attr_getschedparam,
diff --git a/sysdeps/nptl/pthread-functions.h b/sysdeps/nptl/pthread-functions.h
index 3fedc85db6..36ef2bd674 100644
--- a/sysdeps/nptl/pthread-functions.h
+++ b/sysdeps/nptl/pthread-functions.h
@@ -30,7 +30,6 @@  struct xid_command;
    the thread functions.  */
 struct pthread_functions
 {
-  int (*ptr_pthread_attr_setdetachstate) (pthread_attr_t *, int);
   int (*ptr_pthread_attr_getinheritsched) (const pthread_attr_t *, int *);
   int (*ptr_pthread_attr_setinheritsched) (pthread_attr_t *, int);
   int (*ptr_pthread_attr_getschedparam) (const pthread_attr_t *,
diff --git a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
index 308cb07afa..cf254a41f1 100644
--- a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
@@ -80,7 +80,6 @@  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_setaffinity_np F
-GLIBC_2.17 pthread_attr_setdetachstate F
 GLIBC_2.17 pthread_attr_setguardsize F
 GLIBC_2.17 pthread_attr_setinheritsched F
 GLIBC_2.17 pthread_attr_setschedparam F
diff --git a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
index 4be0af2dcb..5a64d6ff96 100644
--- a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
@@ -50,7 +50,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_setdetachstate F
 GLIBC_2.0 pthread_attr_setinheritsched F
 GLIBC_2.0 pthread_attr_setschedparam F
 GLIBC_2.0 pthread_attr_setschedpolicy F
diff --git a/sysdeps/unix/sysv/linux/arm/libpthread.abilist b/sysdeps/unix/sysv/linux/arm/libpthread.abilist
index 5506395508..2baa87ea07 100644
--- a/sysdeps/unix/sysv/linux/arm/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/arm/libpthread.abilist
@@ -114,7 +114,6 @@  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_setaffinity_np F
-GLIBC_2.4 pthread_attr_setdetachstate F
 GLIBC_2.4 pthread_attr_setguardsize F
 GLIBC_2.4 pthread_attr_setinheritsched F
 GLIBC_2.4 pthread_attr_setschedparam F
diff --git a/sysdeps/unix/sysv/linux/csky/libpthread.abilist b/sysdeps/unix/sysv/linux/csky/libpthread.abilist
index c04ceca73d..3b508053c2 100644
--- a/sysdeps/unix/sysv/linux/csky/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/csky/libpthread.abilist
@@ -88,7 +88,6 @@  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_setaffinity_np F
-GLIBC_2.29 pthread_attr_setdetachstate F
 GLIBC_2.29 pthread_attr_setguardsize F
 GLIBC_2.29 pthread_attr_setinheritsched F
 GLIBC_2.29 pthread_attr_setschedparam F
diff --git a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
index cc5c47a329..34398ad320 100644
--- a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
@@ -80,7 +80,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_setdetachstate F
 GLIBC_2.2 pthread_attr_setguardsize F
 GLIBC_2.2 pthread_attr_setinheritsched F
 GLIBC_2.2 pthread_attr_setschedparam F
diff --git a/sysdeps/unix/sysv/linux/i386/libpthread.abilist b/sysdeps/unix/sysv/linux/i386/libpthread.abilist
index d8b02f94fa..4f1cd69999 100644
--- a/sysdeps/unix/sysv/linux/i386/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/i386/libpthread.abilist
@@ -50,7 +50,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_setdetachstate F
 GLIBC_2.0 pthread_attr_setinheritsched F
 GLIBC_2.0 pthread_attr_setschedparam F
 GLIBC_2.0 pthread_attr_setschedpolicy F
diff --git a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
index b02fee32e3..ba43587275 100644
--- a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
@@ -80,7 +80,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_setdetachstate F
 GLIBC_2.2 pthread_attr_setguardsize F
 GLIBC_2.2 pthread_attr_setinheritsched F
 GLIBC_2.2 pthread_attr_setschedparam F
diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
index 5506395508..2baa87ea07 100644
--- a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
@@ -114,7 +114,6 @@  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_setaffinity_np F
-GLIBC_2.4 pthread_attr_setdetachstate F
 GLIBC_2.4 pthread_attr_setguardsize F
 GLIBC_2.4 pthread_attr_setinheritsched F
 GLIBC_2.4 pthread_attr_setschedparam F
diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
index d8b02f94fa..4f1cd69999 100644
--- a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
@@ -50,7 +50,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_setdetachstate F
 GLIBC_2.0 pthread_attr_setinheritsched F
 GLIBC_2.0 pthread_attr_setschedparam F
 GLIBC_2.0 pthread_attr_setschedpolicy F
diff --git a/sysdeps/unix/sysv/linux/microblaze/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/libpthread.abilist
index 4b0ab493e0..5a182c10b2 100644
--- a/sysdeps/unix/sysv/linux/microblaze/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/libpthread.abilist
@@ -80,7 +80,6 @@  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_setaffinity_np F
-GLIBC_2.18 pthread_attr_setdetachstate F
 GLIBC_2.18 pthread_attr_setguardsize F
 GLIBC_2.18 pthread_attr_setinheritsched F
 GLIBC_2.18 pthread_attr_setschedparam F
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
index ae6122e607..3c0748a7a4 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
@@ -50,7 +50,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_setdetachstate F
 GLIBC_2.0 pthread_attr_setinheritsched F
 GLIBC_2.0 pthread_attr_setschedparam F
 GLIBC_2.0 pthread_attr_setschedpolicy F
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
index ae6122e607..3c0748a7a4 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
@@ -50,7 +50,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_setdetachstate F
 GLIBC_2.0 pthread_attr_setinheritsched F
 GLIBC_2.0 pthread_attr_setschedparam F
 GLIBC_2.0 pthread_attr_setschedpolicy F
diff --git a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
index b85db4ba7e..f9e7962dfb 100644
--- a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
@@ -80,7 +80,6 @@  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_setaffinity_np F
-GLIBC_2.21 pthread_attr_setdetachstate F
 GLIBC_2.21 pthread_attr_setguardsize F
 GLIBC_2.21 pthread_attr_setinheritsched F
 GLIBC_2.21 pthread_attr_setschedparam F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
index cc39f0d6e3..63e3af6d93 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
@@ -50,7 +50,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_setdetachstate F
 GLIBC_2.0 pthread_attr_setinheritsched F
 GLIBC_2.0 pthread_attr_setschedparam F
 GLIBC_2.0 pthread_attr_setschedpolicy F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
index 2058cc0494..c6345841e7 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
@@ -101,7 +101,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_setdetachstate F
 GLIBC_2.3 pthread_attr_setguardsize F
 GLIBC_2.3 pthread_attr_setinheritsched F
 GLIBC_2.3 pthread_attr_setschedparam F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
index 308cb07afa..cf254a41f1 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
@@ -80,7 +80,6 @@  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_setaffinity_np F
-GLIBC_2.17 pthread_attr_setdetachstate F
 GLIBC_2.17 pthread_attr_setguardsize F
 GLIBC_2.17 pthread_attr_setinheritsched F
 GLIBC_2.17 pthread_attr_setschedparam F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
index d80b204fb8..b115a750d7 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
@@ -77,7 +77,6 @@  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_setaffinity_np F
-GLIBC_2.27 pthread_attr_setdetachstate F
 GLIBC_2.27 pthread_attr_setguardsize F
 GLIBC_2.27 pthread_attr_setinheritsched F
 GLIBC_2.27 pthread_attr_setschedparam F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
index c9adfaf03a..4010e27452 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
@@ -50,7 +50,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_setdetachstate F
 GLIBC_2.0 pthread_attr_setinheritsched F
 GLIBC_2.0 pthread_attr_setschedparam F
 GLIBC_2.0 pthread_attr_setschedpolicy F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
index f2a81cfb0c..6c7474b63e 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
@@ -82,7 +82,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_setdetachstate F
 GLIBC_2.2 pthread_attr_setguardsize F
 GLIBC_2.2 pthread_attr_setinheritsched F
 GLIBC_2.2 pthread_attr_setschedparam F
diff --git a/sysdeps/unix/sysv/linux/sh/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/libpthread.abilist
index cc5c47a329..34398ad320 100644
--- a/sysdeps/unix/sysv/linux/sh/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/sh/libpthread.abilist
@@ -80,7 +80,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_setdetachstate F
 GLIBC_2.2 pthread_attr_setguardsize F
 GLIBC_2.2 pthread_attr_setinheritsched F
 GLIBC_2.2 pthread_attr_setschedparam F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
index 4be0af2dcb..5a64d6ff96 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
@@ -50,7 +50,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_setdetachstate F
 GLIBC_2.0 pthread_attr_setinheritsched F
 GLIBC_2.0 pthread_attr_setschedparam F
 GLIBC_2.0 pthread_attr_setschedpolicy F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
index b02fee32e3..ba43587275 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
@@ -80,7 +80,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_setdetachstate F
 GLIBC_2.2 pthread_attr_setguardsize F
 GLIBC_2.2 pthread_attr_setinheritsched F
 GLIBC_2.2 pthread_attr_setschedparam F
diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
index f2cbb71691..e366c397e1 100644
--- a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
@@ -80,7 +80,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_setdetachstate F
 GLIBC_2.2.5 pthread_attr_setguardsize F
 GLIBC_2.2.5 pthread_attr_setinheritsched F
 GLIBC_2.2.5 pthread_attr_setschedparam F
diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
index 4bbd6ed7a7..1692ddd839 100644
--- a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
@@ -80,7 +80,6 @@  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_setaffinity_np F
-GLIBC_2.16 pthread_attr_setdetachstate F
 GLIBC_2.16 pthread_attr_setguardsize F
 GLIBC_2.16 pthread_attr_setinheritsched F
 GLIBC_2.16 pthread_attr_setschedparam F