[07/13] nptl: Move pthread_condattr_destroy implementation into libc

Message ID 8332c2b971ac49f2359920233fc9baea5c7cfc28.1581418947.git.fweimer@redhat.com
State Committed
Headers

Commit Message

Florian Weimer Feb. 11, 2020, 11:06 a.m. UTC
  This is part of the libpthread removal project:

  <https://sourceware.org/ml/libc-alpha/2019-10/msg00080.html>
---
 nptl/Makefile                                                  | 3 ++-
 nptl/Versions                                                  | 2 +-
 nptl/forward.c                                                 | 1 -
 nptl/nptl-init.c                                               | 1 -
 sysdeps/nptl/pthread-functions.h                               | 1 -
 sysdeps/unix/sysv/linux/aarch64/libpthread.abilist             | 1 -
 sysdeps/unix/sysv/linux/alpha/libpthread.abilist               | 1 -
 sysdeps/unix/sysv/linux/arm/be/libpthread.abilist              | 1 -
 sysdeps/unix/sysv/linux/arm/le/libpthread.abilist              | 1 -
 sysdeps/unix/sysv/linux/csky/libpthread.abilist                | 1 -
 sysdeps/unix/sysv/linux/hppa/libpthread.abilist                | 1 -
 sysdeps/unix/sysv/linux/i386/libpthread.abilist                | 1 -
 sysdeps/unix/sysv/linux/ia64/libpthread.abilist                | 1 -
 sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist       | 1 -
 sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist         | 1 -
 sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist       | 1 -
 sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist       | 1 -
 sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist         | 1 -
 sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist         | 1 -
 sysdeps/unix/sysv/linux/nios2/libpthread.abilist               | 1 -
 sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist   | 1 -
 .../unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist    | 1 -
 .../unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist    | 1 -
 sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist          | 1 -
 sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist        | 1 -
 sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist        | 1 -
 sysdeps/unix/sysv/linux/sh/be/libpthread.abilist               | 1 -
 sysdeps/unix/sysv/linux/sh/le/libpthread.abilist               | 1 -
 sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist       | 1 -
 sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist       | 1 -
 sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist           | 1 -
 sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist          | 1 -
 32 files changed, 3 insertions(+), 32 deletions(-)
  

Comments

Adhemerval Zanella Feb. 19, 2020, 5:42 p.m. UTC | #1
On 11/02/2020 08:06, Florian Weimer wrote:
> This is part of the libpthread removal project:
> 
>   <https://sourceware.org/ml/libc-alpha/2019-10/msg00080.html>


LGTM, thanks.

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

> ---
>  nptl/Makefile                                                  | 3 ++-
>  nptl/Versions                                                  | 2 +-
>  nptl/forward.c                                                 | 1 -
>  nptl/nptl-init.c                                               | 1 -
>  sysdeps/nptl/pthread-functions.h                               | 1 -
>  sysdeps/unix/sysv/linux/aarch64/libpthread.abilist             | 1 -
>  sysdeps/unix/sysv/linux/alpha/libpthread.abilist               | 1 -
>  sysdeps/unix/sysv/linux/arm/be/libpthread.abilist              | 1 -
>  sysdeps/unix/sysv/linux/arm/le/libpthread.abilist              | 1 -
>  sysdeps/unix/sysv/linux/csky/libpthread.abilist                | 1 -
>  sysdeps/unix/sysv/linux/hppa/libpthread.abilist                | 1 -
>  sysdeps/unix/sysv/linux/i386/libpthread.abilist                | 1 -
>  sysdeps/unix/sysv/linux/ia64/libpthread.abilist                | 1 -
>  sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist       | 1 -
>  sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist         | 1 -
>  sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist       | 1 -
>  sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist       | 1 -
>  sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist         | 1 -
>  sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist         | 1 -
>  sysdeps/unix/sysv/linux/nios2/libpthread.abilist               | 1 -
>  sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist   | 1 -
>  .../unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist    | 1 -
>  .../unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist    | 1 -
>  sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist          | 1 -
>  sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist        | 1 -
>  sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist        | 1 -
>  sysdeps/unix/sysv/linux/sh/be/libpthread.abilist               | 1 -
>  sysdeps/unix/sysv/linux/sh/le/libpthread.abilist               | 1 -
>  sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist       | 1 -
>  sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist       | 1 -
>  sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist           | 1 -
>  sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist          | 1 -
>  32 files changed, 3 insertions(+), 32 deletions(-)
> 
> diff --git a/nptl/Makefile b/nptl/Makefile
> index 04770ea7a5..3102b839eb 100644
> --- a/nptl/Makefile
> +++ b/nptl/Makefile
> @@ -49,6 +49,7 @@ routines = \
>    pthread_attr_setschedparam \
>    pthread_attr_setschedpolicy \
>    pthread_attr_setscope \
> +  pthread_condattr_destroy \
>    pthread_equal \
>    pthread_self \
>    register-atfork \

Ok.

> @@ -106,7 +107,7 @@ libpthread-routines = nptl-init nptlfreeres vars events version pt-interp \
>  		      old_pthread_cond_init old_pthread_cond_destroy \
>  		      old_pthread_cond_wait old_pthread_cond_timedwait \
>  		      old_pthread_cond_signal old_pthread_cond_broadcast \
> -		      pthread_condattr_init pthread_condattr_destroy \
> +		      pthread_condattr_init \
>  		      pthread_condattr_getpshared pthread_condattr_setpshared \
>  		      pthread_condattr_getclock pthread_condattr_setclock \
>  		      pthread_spin_init pthread_spin_destroy \

Ok.

> diff --git a/nptl/Versions b/nptl/Versions
> index 5b4852a905..22dc309522 100644
> --- a/nptl/Versions
> +++ b/nptl/Versions
> @@ -58,7 +58,7 @@ libpthread {
>      pthread_cond_wait; pthread_cond_timedwait;
>      pthread_cond_signal; pthread_cond_broadcast;
>  
> -    pthread_condattr_destroy; pthread_condattr_init;
> +    pthread_condattr_init;
>  
>      pthread_cancel; pthread_testcancel;
>      pthread_setcancelstate; pthread_setcanceltype;

Ok.

> diff --git a/nptl/forward.c b/nptl/forward.c
> index 2076495a8b..cf32d8cd3c 100644
> --- a/nptl/forward.c
> +++ b/nptl/forward.c
> @@ -56,7 +56,6 @@ name decl								      \
>    FORWARD2 (name, int, decl, params, return defretval)
>  
>  
> -FORWARD (pthread_condattr_destroy, (pthread_condattr_t *attr), (attr), 0)
>  FORWARD (pthread_condattr_init, (pthread_condattr_t *attr), (attr), 0)
>  
>  #if SHLIB_COMPAT(libc, GLIBC_2_0, GLIBC_2_3_2)

Ok.

> diff --git a/nptl/nptl-init.c b/nptl/nptl-init.c
> index 2078c561a8..d8298d2392 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_condattr_destroy = __pthread_condattr_destroy,
>      .ptr_pthread_condattr_init = __pthread_condattr_init,
>      .ptr___pthread_cond_broadcast = __pthread_cond_broadcast,
>      .ptr___pthread_cond_destroy = __pthread_cond_destroy,

Ok.

> diff --git a/sysdeps/nptl/pthread-functions.h b/sysdeps/nptl/pthread-functions.h
> index 38c2c0595a..165032b2cc 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_condattr_destroy) (pthread_condattr_t *);
>    int (*ptr_pthread_condattr_init) (pthread_condattr_t *);
>    int (*ptr___pthread_cond_broadcast) (pthread_cond_t *);
>    int (*ptr___pthread_cond_destroy) (pthread_cond_t *);

Ok.

> diff --git a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
> index 1bf8ccf282..4727f24896 100644
> --- a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
> @@ -91,7 +91,6 @@ GLIBC_2.17 pthread_cond_init F
>  GLIBC_2.17 pthread_cond_signal F
>  GLIBC_2.17 pthread_cond_timedwait F
>  GLIBC_2.17 pthread_cond_wait F
> -GLIBC_2.17 pthread_condattr_destroy F
>  GLIBC_2.17 pthread_condattr_getclock F
>  GLIBC_2.17 pthread_condattr_getpshared F
>  GLIBC_2.17 pthread_condattr_init F
> diff --git a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
> index ac7b1b2ae8..ff9ad17e83 100644
> --- a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
> @@ -51,7 +51,6 @@ GLIBC_2.0 pthread_cond_init F
>  GLIBC_2.0 pthread_cond_signal F
>  GLIBC_2.0 pthread_cond_timedwait F
>  GLIBC_2.0 pthread_cond_wait F
> -GLIBC_2.0 pthread_condattr_destroy F
>  GLIBC_2.0 pthread_condattr_init F
>  GLIBC_2.0 pthread_create F
>  GLIBC_2.0 pthread_detach F
> diff --git a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
> index 1c4307b259..686b98104e 100644
> --- a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
> @@ -126,7 +126,6 @@ GLIBC_2.4 pthread_cond_init F
>  GLIBC_2.4 pthread_cond_signal F
>  GLIBC_2.4 pthread_cond_timedwait F
>  GLIBC_2.4 pthread_cond_wait F
> -GLIBC_2.4 pthread_condattr_destroy F
>  GLIBC_2.4 pthread_condattr_getclock F
>  GLIBC_2.4 pthread_condattr_getpshared F
>  GLIBC_2.4 pthread_condattr_init F
> diff --git a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
> index 1c4307b259..686b98104e 100644
> --- a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
> @@ -126,7 +126,6 @@ GLIBC_2.4 pthread_cond_init F
>  GLIBC_2.4 pthread_cond_signal F
>  GLIBC_2.4 pthread_cond_timedwait F
>  GLIBC_2.4 pthread_cond_wait F
> -GLIBC_2.4 pthread_condattr_destroy F
>  GLIBC_2.4 pthread_condattr_getclock F
>  GLIBC_2.4 pthread_condattr_getpshared F
>  GLIBC_2.4 pthread_condattr_init F
> diff --git a/sysdeps/unix/sysv/linux/csky/libpthread.abilist b/sysdeps/unix/sysv/linux/csky/libpthread.abilist
> index 92ac903a4f..67138b844b 100644
> --- a/sysdeps/unix/sysv/linux/csky/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/csky/libpthread.abilist
> @@ -99,7 +99,6 @@ GLIBC_2.29 pthread_cond_init F
>  GLIBC_2.29 pthread_cond_signal F
>  GLIBC_2.29 pthread_cond_timedwait F
>  GLIBC_2.29 pthread_cond_wait F
> -GLIBC_2.29 pthread_condattr_destroy F
>  GLIBC_2.29 pthread_condattr_getclock F
>  GLIBC_2.29 pthread_condattr_getpshared F
>  GLIBC_2.29 pthread_condattr_init F
> diff --git a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
> index c2dade43aa..bdc4e1755a 100644
> --- a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
> @@ -91,7 +91,6 @@ GLIBC_2.2 pthread_cond_init F
>  GLIBC_2.2 pthread_cond_signal F
>  GLIBC_2.2 pthread_cond_timedwait F
>  GLIBC_2.2 pthread_cond_wait F
> -GLIBC_2.2 pthread_condattr_destroy F
>  GLIBC_2.2 pthread_condattr_getpshared F
>  GLIBC_2.2 pthread_condattr_init F
>  GLIBC_2.2 pthread_condattr_setpshared F
> diff --git a/sysdeps/unix/sysv/linux/i386/libpthread.abilist b/sysdeps/unix/sysv/linux/i386/libpthread.abilist
> index a60edd4cbc..9ae156fd27 100644
> --- a/sysdeps/unix/sysv/linux/i386/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/i386/libpthread.abilist
> @@ -51,7 +51,6 @@ GLIBC_2.0 pthread_cond_init F
>  GLIBC_2.0 pthread_cond_signal F
>  GLIBC_2.0 pthread_cond_timedwait F
>  GLIBC_2.0 pthread_cond_wait F
> -GLIBC_2.0 pthread_condattr_destroy F
>  GLIBC_2.0 pthread_condattr_init F
>  GLIBC_2.0 pthread_create F
>  GLIBC_2.0 pthread_detach F
> diff --git a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
> index 8a414d895d..78cb476094 100644
> --- a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
> @@ -91,7 +91,6 @@ GLIBC_2.2 pthread_cond_init F
>  GLIBC_2.2 pthread_cond_signal F
>  GLIBC_2.2 pthread_cond_timedwait F
>  GLIBC_2.2 pthread_cond_wait F
> -GLIBC_2.2 pthread_condattr_destroy F
>  GLIBC_2.2 pthread_condattr_getpshared F
>  GLIBC_2.2 pthread_condattr_init F
>  GLIBC_2.2 pthread_condattr_setpshared F
> diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
> index 1c4307b259..686b98104e 100644
> --- a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
> @@ -126,7 +126,6 @@ GLIBC_2.4 pthread_cond_init F
>  GLIBC_2.4 pthread_cond_signal F
>  GLIBC_2.4 pthread_cond_timedwait F
>  GLIBC_2.4 pthread_cond_wait F
> -GLIBC_2.4 pthread_condattr_destroy F
>  GLIBC_2.4 pthread_condattr_getclock F
>  GLIBC_2.4 pthread_condattr_getpshared F
>  GLIBC_2.4 pthread_condattr_init F
> diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
> index a60edd4cbc..9ae156fd27 100644
> --- a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
> @@ -51,7 +51,6 @@ GLIBC_2.0 pthread_cond_init F
>  GLIBC_2.0 pthread_cond_signal F
>  GLIBC_2.0 pthread_cond_timedwait F
>  GLIBC_2.0 pthread_cond_wait F
> -GLIBC_2.0 pthread_condattr_destroy F
>  GLIBC_2.0 pthread_condattr_init F
>  GLIBC_2.0 pthread_create F
>  GLIBC_2.0 pthread_detach F
> diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
> index 83352bdc1f..b819c21dcb 100644
> --- a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
> @@ -91,7 +91,6 @@ GLIBC_2.18 pthread_cond_init F
>  GLIBC_2.18 pthread_cond_signal F
>  GLIBC_2.18 pthread_cond_timedwait F
>  GLIBC_2.18 pthread_cond_wait F
> -GLIBC_2.18 pthread_condattr_destroy F
>  GLIBC_2.18 pthread_condattr_getclock F
>  GLIBC_2.18 pthread_condattr_getpshared F
>  GLIBC_2.18 pthread_condattr_init F
> diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
> index 83352bdc1f..b819c21dcb 100644
> --- a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
> @@ -91,7 +91,6 @@ GLIBC_2.18 pthread_cond_init F
>  GLIBC_2.18 pthread_cond_signal F
>  GLIBC_2.18 pthread_cond_timedwait F
>  GLIBC_2.18 pthread_cond_wait F
> -GLIBC_2.18 pthread_condattr_destroy F
>  GLIBC_2.18 pthread_condattr_getclock F
>  GLIBC_2.18 pthread_condattr_getpshared F
>  GLIBC_2.18 pthread_condattr_init F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
> index 2a19dd6c91..404b7f8868 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
> @@ -51,7 +51,6 @@ GLIBC_2.0 pthread_cond_init F
>  GLIBC_2.0 pthread_cond_signal F
>  GLIBC_2.0 pthread_cond_timedwait F
>  GLIBC_2.0 pthread_cond_wait F
> -GLIBC_2.0 pthread_condattr_destroy F
>  GLIBC_2.0 pthread_condattr_init F
>  GLIBC_2.0 pthread_create F
>  GLIBC_2.0 pthread_detach F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
> index 2a19dd6c91..404b7f8868 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
> @@ -51,7 +51,6 @@ GLIBC_2.0 pthread_cond_init F
>  GLIBC_2.0 pthread_cond_signal F
>  GLIBC_2.0 pthread_cond_timedwait F
>  GLIBC_2.0 pthread_cond_wait F
> -GLIBC_2.0 pthread_condattr_destroy F
>  GLIBC_2.0 pthread_condattr_init F
>  GLIBC_2.0 pthread_create F
>  GLIBC_2.0 pthread_detach F
> diff --git a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
> index 3c2a84e3ae..8710edf723 100644
> --- a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
> @@ -91,7 +91,6 @@ GLIBC_2.21 pthread_cond_init F
>  GLIBC_2.21 pthread_cond_signal F
>  GLIBC_2.21 pthread_cond_timedwait F
>  GLIBC_2.21 pthread_cond_wait F
> -GLIBC_2.21 pthread_condattr_destroy F
>  GLIBC_2.21 pthread_condattr_getclock F
>  GLIBC_2.21 pthread_condattr_getpshared F
>  GLIBC_2.21 pthread_condattr_init F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
> index cb75099001..b42ad93959 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
> @@ -51,7 +51,6 @@ GLIBC_2.0 pthread_cond_init F
>  GLIBC_2.0 pthread_cond_signal F
>  GLIBC_2.0 pthread_cond_timedwait F
>  GLIBC_2.0 pthread_cond_wait F
> -GLIBC_2.0 pthread_condattr_destroy F
>  GLIBC_2.0 pthread_condattr_init F
>  GLIBC_2.0 pthread_create F
>  GLIBC_2.0 pthread_detach F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
> index 8cf2fbfc72..86430a78ac 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
> @@ -111,7 +111,6 @@ GLIBC_2.3 pthread_cond_init F
>  GLIBC_2.3 pthread_cond_signal F
>  GLIBC_2.3 pthread_cond_timedwait F
>  GLIBC_2.3 pthread_cond_wait F
> -GLIBC_2.3 pthread_condattr_destroy F
>  GLIBC_2.3 pthread_condattr_getpshared F
>  GLIBC_2.3 pthread_condattr_init F
>  GLIBC_2.3 pthread_condattr_setpshared F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
> index 1bf8ccf282..4727f24896 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
> @@ -91,7 +91,6 @@ GLIBC_2.17 pthread_cond_init F
>  GLIBC_2.17 pthread_cond_signal F
>  GLIBC_2.17 pthread_cond_timedwait F
>  GLIBC_2.17 pthread_cond_wait F
> -GLIBC_2.17 pthread_condattr_destroy F
>  GLIBC_2.17 pthread_condattr_getclock F
>  GLIBC_2.17 pthread_condattr_getpshared F
>  GLIBC_2.17 pthread_condattr_init F
> diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
> index 86184ee17b..cb3a6a8344 100644
> --- a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
> @@ -88,7 +88,6 @@ GLIBC_2.27 pthread_cond_init F
>  GLIBC_2.27 pthread_cond_signal F
>  GLIBC_2.27 pthread_cond_timedwait F
>  GLIBC_2.27 pthread_cond_wait F
> -GLIBC_2.27 pthread_condattr_destroy F
>  GLIBC_2.27 pthread_condattr_getclock F
>  GLIBC_2.27 pthread_condattr_getpshared F
>  GLIBC_2.27 pthread_condattr_init F
> diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
> index 33d54c6c41..6700046b59 100644
> --- a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
> @@ -51,7 +51,6 @@ GLIBC_2.0 pthread_cond_init F
>  GLIBC_2.0 pthread_cond_signal F
>  GLIBC_2.0 pthread_cond_timedwait F
>  GLIBC_2.0 pthread_cond_wait F
> -GLIBC_2.0 pthread_condattr_destroy F
>  GLIBC_2.0 pthread_condattr_init F
>  GLIBC_2.0 pthread_create F
>  GLIBC_2.0 pthread_detach F
> diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
> index 8298c36976..b9a663c25d 100644
> --- a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
> @@ -93,7 +93,6 @@ GLIBC_2.2 pthread_cond_init F
>  GLIBC_2.2 pthread_cond_signal F
>  GLIBC_2.2 pthread_cond_timedwait F
>  GLIBC_2.2 pthread_cond_wait F
> -GLIBC_2.2 pthread_condattr_destroy F
>  GLIBC_2.2 pthread_condattr_getpshared F
>  GLIBC_2.2 pthread_condattr_init F
>  GLIBC_2.2 pthread_condattr_setpshared F
> diff --git a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
> index c2dade43aa..bdc4e1755a 100644
> --- a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
> @@ -91,7 +91,6 @@ GLIBC_2.2 pthread_cond_init F
>  GLIBC_2.2 pthread_cond_signal F
>  GLIBC_2.2 pthread_cond_timedwait F
>  GLIBC_2.2 pthread_cond_wait F
> -GLIBC_2.2 pthread_condattr_destroy F
>  GLIBC_2.2 pthread_condattr_getpshared F
>  GLIBC_2.2 pthread_condattr_init F
>  GLIBC_2.2 pthread_condattr_setpshared F
> diff --git a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
> index c2dade43aa..bdc4e1755a 100644
> --- a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
> @@ -91,7 +91,6 @@ GLIBC_2.2 pthread_cond_init F
>  GLIBC_2.2 pthread_cond_signal F
>  GLIBC_2.2 pthread_cond_timedwait F
>  GLIBC_2.2 pthread_cond_wait F
> -GLIBC_2.2 pthread_condattr_destroy F
>  GLIBC_2.2 pthread_condattr_getpshared F
>  GLIBC_2.2 pthread_condattr_init F
>  GLIBC_2.2 pthread_condattr_setpshared F
> diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
> index ac7b1b2ae8..ff9ad17e83 100644
> --- a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
> @@ -51,7 +51,6 @@ GLIBC_2.0 pthread_cond_init F
>  GLIBC_2.0 pthread_cond_signal F
>  GLIBC_2.0 pthread_cond_timedwait F
>  GLIBC_2.0 pthread_cond_wait F
> -GLIBC_2.0 pthread_condattr_destroy F
>  GLIBC_2.0 pthread_condattr_init F
>  GLIBC_2.0 pthread_create F
>  GLIBC_2.0 pthread_detach F
> diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
> index 8a414d895d..78cb476094 100644
> --- a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
> @@ -91,7 +91,6 @@ GLIBC_2.2 pthread_cond_init F
>  GLIBC_2.2 pthread_cond_signal F
>  GLIBC_2.2 pthread_cond_timedwait F
>  GLIBC_2.2 pthread_cond_wait F
> -GLIBC_2.2 pthread_condattr_destroy F
>  GLIBC_2.2 pthread_condattr_getpshared F
>  GLIBC_2.2 pthread_condattr_init F
>  GLIBC_2.2 pthread_condattr_setpshared F
> diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
> index 62b52ec607..12b8d05921 100644
> --- a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
> @@ -91,7 +91,6 @@ GLIBC_2.2.5 pthread_cond_init F
>  GLIBC_2.2.5 pthread_cond_signal F
>  GLIBC_2.2.5 pthread_cond_timedwait F
>  GLIBC_2.2.5 pthread_cond_wait F
> -GLIBC_2.2.5 pthread_condattr_destroy F
>  GLIBC_2.2.5 pthread_condattr_getpshared F
>  GLIBC_2.2.5 pthread_condattr_init F
>  GLIBC_2.2.5 pthread_condattr_setpshared F
> diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
> index 7597021f4f..451a473a58 100644
> --- a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
> @@ -91,7 +91,6 @@ GLIBC_2.16 pthread_cond_init F
>  GLIBC_2.16 pthread_cond_signal F
>  GLIBC_2.16 pthread_cond_timedwait F
>  GLIBC_2.16 pthread_cond_wait F
> -GLIBC_2.16 pthread_condattr_destroy F
>  GLIBC_2.16 pthread_condattr_getclock F
>  GLIBC_2.16 pthread_condattr_getpshared F
>  GLIBC_2.16 pthread_condattr_init F
> 

Ok.
  

Patch

diff --git a/nptl/Makefile b/nptl/Makefile
index 04770ea7a5..3102b839eb 100644
--- a/nptl/Makefile
+++ b/nptl/Makefile
@@ -49,6 +49,7 @@  routines = \
   pthread_attr_setschedparam \
   pthread_attr_setschedpolicy \
   pthread_attr_setscope \
+  pthread_condattr_destroy \
   pthread_equal \
   pthread_self \
   register-atfork \
@@ -106,7 +107,7 @@  libpthread-routines = nptl-init nptlfreeres vars events version pt-interp \
 		      old_pthread_cond_init old_pthread_cond_destroy \
 		      old_pthread_cond_wait old_pthread_cond_timedwait \
 		      old_pthread_cond_signal old_pthread_cond_broadcast \
-		      pthread_condattr_init pthread_condattr_destroy \
+		      pthread_condattr_init \
 		      pthread_condattr_getpshared pthread_condattr_setpshared \
 		      pthread_condattr_getclock pthread_condattr_setclock \
 		      pthread_spin_init pthread_spin_destroy \
diff --git a/nptl/Versions b/nptl/Versions
index 5b4852a905..22dc309522 100644
--- a/nptl/Versions
+++ b/nptl/Versions
@@ -58,7 +58,7 @@  libpthread {
     pthread_cond_wait; pthread_cond_timedwait;
     pthread_cond_signal; pthread_cond_broadcast;
 
-    pthread_condattr_destroy; pthread_condattr_init;
+    pthread_condattr_init;
 
     pthread_cancel; pthread_testcancel;
     pthread_setcancelstate; pthread_setcanceltype;
diff --git a/nptl/forward.c b/nptl/forward.c
index 2076495a8b..cf32d8cd3c 100644
--- a/nptl/forward.c
+++ b/nptl/forward.c
@@ -56,7 +56,6 @@  name decl								      \
   FORWARD2 (name, int, decl, params, return defretval)
 
 
-FORWARD (pthread_condattr_destroy, (pthread_condattr_t *attr), (attr), 0)
 FORWARD (pthread_condattr_init, (pthread_condattr_t *attr), (attr), 0)
 
 #if SHLIB_COMPAT(libc, GLIBC_2_0, GLIBC_2_3_2)
diff --git a/nptl/nptl-init.c b/nptl/nptl-init.c
index 2078c561a8..d8298d2392 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_condattr_destroy = __pthread_condattr_destroy,
     .ptr_pthread_condattr_init = __pthread_condattr_init,
     .ptr___pthread_cond_broadcast = __pthread_cond_broadcast,
     .ptr___pthread_cond_destroy = __pthread_cond_destroy,
diff --git a/sysdeps/nptl/pthread-functions.h b/sysdeps/nptl/pthread-functions.h
index 38c2c0595a..165032b2cc 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_condattr_destroy) (pthread_condattr_t *);
   int (*ptr_pthread_condattr_init) (pthread_condattr_t *);
   int (*ptr___pthread_cond_broadcast) (pthread_cond_t *);
   int (*ptr___pthread_cond_destroy) (pthread_cond_t *);
diff --git a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
index 1bf8ccf282..4727f24896 100644
--- a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
@@ -91,7 +91,6 @@  GLIBC_2.17 pthread_cond_init F
 GLIBC_2.17 pthread_cond_signal F
 GLIBC_2.17 pthread_cond_timedwait F
 GLIBC_2.17 pthread_cond_wait F
-GLIBC_2.17 pthread_condattr_destroy F
 GLIBC_2.17 pthread_condattr_getclock F
 GLIBC_2.17 pthread_condattr_getpshared F
 GLIBC_2.17 pthread_condattr_init F
diff --git a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
index ac7b1b2ae8..ff9ad17e83 100644
--- a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
@@ -51,7 +51,6 @@  GLIBC_2.0 pthread_cond_init F
 GLIBC_2.0 pthread_cond_signal F
 GLIBC_2.0 pthread_cond_timedwait F
 GLIBC_2.0 pthread_cond_wait F
-GLIBC_2.0 pthread_condattr_destroy F
 GLIBC_2.0 pthread_condattr_init F
 GLIBC_2.0 pthread_create F
 GLIBC_2.0 pthread_detach F
diff --git a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
index 1c4307b259..686b98104e 100644
--- a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
@@ -126,7 +126,6 @@  GLIBC_2.4 pthread_cond_init F
 GLIBC_2.4 pthread_cond_signal F
 GLIBC_2.4 pthread_cond_timedwait F
 GLIBC_2.4 pthread_cond_wait F
-GLIBC_2.4 pthread_condattr_destroy F
 GLIBC_2.4 pthread_condattr_getclock F
 GLIBC_2.4 pthread_condattr_getpshared F
 GLIBC_2.4 pthread_condattr_init F
diff --git a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
index 1c4307b259..686b98104e 100644
--- a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
@@ -126,7 +126,6 @@  GLIBC_2.4 pthread_cond_init F
 GLIBC_2.4 pthread_cond_signal F
 GLIBC_2.4 pthread_cond_timedwait F
 GLIBC_2.4 pthread_cond_wait F
-GLIBC_2.4 pthread_condattr_destroy F
 GLIBC_2.4 pthread_condattr_getclock F
 GLIBC_2.4 pthread_condattr_getpshared F
 GLIBC_2.4 pthread_condattr_init F
diff --git a/sysdeps/unix/sysv/linux/csky/libpthread.abilist b/sysdeps/unix/sysv/linux/csky/libpthread.abilist
index 92ac903a4f..67138b844b 100644
--- a/sysdeps/unix/sysv/linux/csky/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/csky/libpthread.abilist
@@ -99,7 +99,6 @@  GLIBC_2.29 pthread_cond_init F
 GLIBC_2.29 pthread_cond_signal F
 GLIBC_2.29 pthread_cond_timedwait F
 GLIBC_2.29 pthread_cond_wait F
-GLIBC_2.29 pthread_condattr_destroy F
 GLIBC_2.29 pthread_condattr_getclock F
 GLIBC_2.29 pthread_condattr_getpshared F
 GLIBC_2.29 pthread_condattr_init F
diff --git a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
index c2dade43aa..bdc4e1755a 100644
--- a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
@@ -91,7 +91,6 @@  GLIBC_2.2 pthread_cond_init F
 GLIBC_2.2 pthread_cond_signal F
 GLIBC_2.2 pthread_cond_timedwait F
 GLIBC_2.2 pthread_cond_wait F
-GLIBC_2.2 pthread_condattr_destroy F
 GLIBC_2.2 pthread_condattr_getpshared F
 GLIBC_2.2 pthread_condattr_init F
 GLIBC_2.2 pthread_condattr_setpshared F
diff --git a/sysdeps/unix/sysv/linux/i386/libpthread.abilist b/sysdeps/unix/sysv/linux/i386/libpthread.abilist
index a60edd4cbc..9ae156fd27 100644
--- a/sysdeps/unix/sysv/linux/i386/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/i386/libpthread.abilist
@@ -51,7 +51,6 @@  GLIBC_2.0 pthread_cond_init F
 GLIBC_2.0 pthread_cond_signal F
 GLIBC_2.0 pthread_cond_timedwait F
 GLIBC_2.0 pthread_cond_wait F
-GLIBC_2.0 pthread_condattr_destroy F
 GLIBC_2.0 pthread_condattr_init F
 GLIBC_2.0 pthread_create F
 GLIBC_2.0 pthread_detach F
diff --git a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
index 8a414d895d..78cb476094 100644
--- a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
@@ -91,7 +91,6 @@  GLIBC_2.2 pthread_cond_init F
 GLIBC_2.2 pthread_cond_signal F
 GLIBC_2.2 pthread_cond_timedwait F
 GLIBC_2.2 pthread_cond_wait F
-GLIBC_2.2 pthread_condattr_destroy F
 GLIBC_2.2 pthread_condattr_getpshared F
 GLIBC_2.2 pthread_condattr_init F
 GLIBC_2.2 pthread_condattr_setpshared F
diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
index 1c4307b259..686b98104e 100644
--- a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
@@ -126,7 +126,6 @@  GLIBC_2.4 pthread_cond_init F
 GLIBC_2.4 pthread_cond_signal F
 GLIBC_2.4 pthread_cond_timedwait F
 GLIBC_2.4 pthread_cond_wait F
-GLIBC_2.4 pthread_condattr_destroy F
 GLIBC_2.4 pthread_condattr_getclock F
 GLIBC_2.4 pthread_condattr_getpshared F
 GLIBC_2.4 pthread_condattr_init F
diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
index a60edd4cbc..9ae156fd27 100644
--- a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
@@ -51,7 +51,6 @@  GLIBC_2.0 pthread_cond_init F
 GLIBC_2.0 pthread_cond_signal F
 GLIBC_2.0 pthread_cond_timedwait F
 GLIBC_2.0 pthread_cond_wait F
-GLIBC_2.0 pthread_condattr_destroy F
 GLIBC_2.0 pthread_condattr_init F
 GLIBC_2.0 pthread_create F
 GLIBC_2.0 pthread_detach F
diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
index 83352bdc1f..b819c21dcb 100644
--- a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
@@ -91,7 +91,6 @@  GLIBC_2.18 pthread_cond_init F
 GLIBC_2.18 pthread_cond_signal F
 GLIBC_2.18 pthread_cond_timedwait F
 GLIBC_2.18 pthread_cond_wait F
-GLIBC_2.18 pthread_condattr_destroy F
 GLIBC_2.18 pthread_condattr_getclock F
 GLIBC_2.18 pthread_condattr_getpshared F
 GLIBC_2.18 pthread_condattr_init F
diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
index 83352bdc1f..b819c21dcb 100644
--- a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
@@ -91,7 +91,6 @@  GLIBC_2.18 pthread_cond_init F
 GLIBC_2.18 pthread_cond_signal F
 GLIBC_2.18 pthread_cond_timedwait F
 GLIBC_2.18 pthread_cond_wait F
-GLIBC_2.18 pthread_condattr_destroy F
 GLIBC_2.18 pthread_condattr_getclock F
 GLIBC_2.18 pthread_condattr_getpshared F
 GLIBC_2.18 pthread_condattr_init F
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
index 2a19dd6c91..404b7f8868 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
@@ -51,7 +51,6 @@  GLIBC_2.0 pthread_cond_init F
 GLIBC_2.0 pthread_cond_signal F
 GLIBC_2.0 pthread_cond_timedwait F
 GLIBC_2.0 pthread_cond_wait F
-GLIBC_2.0 pthread_condattr_destroy F
 GLIBC_2.0 pthread_condattr_init F
 GLIBC_2.0 pthread_create F
 GLIBC_2.0 pthread_detach F
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
index 2a19dd6c91..404b7f8868 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
@@ -51,7 +51,6 @@  GLIBC_2.0 pthread_cond_init F
 GLIBC_2.0 pthread_cond_signal F
 GLIBC_2.0 pthread_cond_timedwait F
 GLIBC_2.0 pthread_cond_wait F
-GLIBC_2.0 pthread_condattr_destroy F
 GLIBC_2.0 pthread_condattr_init F
 GLIBC_2.0 pthread_create F
 GLIBC_2.0 pthread_detach F
diff --git a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
index 3c2a84e3ae..8710edf723 100644
--- a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
@@ -91,7 +91,6 @@  GLIBC_2.21 pthread_cond_init F
 GLIBC_2.21 pthread_cond_signal F
 GLIBC_2.21 pthread_cond_timedwait F
 GLIBC_2.21 pthread_cond_wait F
-GLIBC_2.21 pthread_condattr_destroy F
 GLIBC_2.21 pthread_condattr_getclock F
 GLIBC_2.21 pthread_condattr_getpshared F
 GLIBC_2.21 pthread_condattr_init F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
index cb75099001..b42ad93959 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
@@ -51,7 +51,6 @@  GLIBC_2.0 pthread_cond_init F
 GLIBC_2.0 pthread_cond_signal F
 GLIBC_2.0 pthread_cond_timedwait F
 GLIBC_2.0 pthread_cond_wait F
-GLIBC_2.0 pthread_condattr_destroy F
 GLIBC_2.0 pthread_condattr_init F
 GLIBC_2.0 pthread_create F
 GLIBC_2.0 pthread_detach F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
index 8cf2fbfc72..86430a78ac 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
@@ -111,7 +111,6 @@  GLIBC_2.3 pthread_cond_init F
 GLIBC_2.3 pthread_cond_signal F
 GLIBC_2.3 pthread_cond_timedwait F
 GLIBC_2.3 pthread_cond_wait F
-GLIBC_2.3 pthread_condattr_destroy F
 GLIBC_2.3 pthread_condattr_getpshared F
 GLIBC_2.3 pthread_condattr_init F
 GLIBC_2.3 pthread_condattr_setpshared F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
index 1bf8ccf282..4727f24896 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
@@ -91,7 +91,6 @@  GLIBC_2.17 pthread_cond_init F
 GLIBC_2.17 pthread_cond_signal F
 GLIBC_2.17 pthread_cond_timedwait F
 GLIBC_2.17 pthread_cond_wait F
-GLIBC_2.17 pthread_condattr_destroy F
 GLIBC_2.17 pthread_condattr_getclock F
 GLIBC_2.17 pthread_condattr_getpshared F
 GLIBC_2.17 pthread_condattr_init F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
index 86184ee17b..cb3a6a8344 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
@@ -88,7 +88,6 @@  GLIBC_2.27 pthread_cond_init F
 GLIBC_2.27 pthread_cond_signal F
 GLIBC_2.27 pthread_cond_timedwait F
 GLIBC_2.27 pthread_cond_wait F
-GLIBC_2.27 pthread_condattr_destroy F
 GLIBC_2.27 pthread_condattr_getclock F
 GLIBC_2.27 pthread_condattr_getpshared F
 GLIBC_2.27 pthread_condattr_init F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
index 33d54c6c41..6700046b59 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
@@ -51,7 +51,6 @@  GLIBC_2.0 pthread_cond_init F
 GLIBC_2.0 pthread_cond_signal F
 GLIBC_2.0 pthread_cond_timedwait F
 GLIBC_2.0 pthread_cond_wait F
-GLIBC_2.0 pthread_condattr_destroy F
 GLIBC_2.0 pthread_condattr_init F
 GLIBC_2.0 pthread_create F
 GLIBC_2.0 pthread_detach F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
index 8298c36976..b9a663c25d 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
@@ -93,7 +93,6 @@  GLIBC_2.2 pthread_cond_init F
 GLIBC_2.2 pthread_cond_signal F
 GLIBC_2.2 pthread_cond_timedwait F
 GLIBC_2.2 pthread_cond_wait F
-GLIBC_2.2 pthread_condattr_destroy F
 GLIBC_2.2 pthread_condattr_getpshared F
 GLIBC_2.2 pthread_condattr_init F
 GLIBC_2.2 pthread_condattr_setpshared F
diff --git a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
index c2dade43aa..bdc4e1755a 100644
--- a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
@@ -91,7 +91,6 @@  GLIBC_2.2 pthread_cond_init F
 GLIBC_2.2 pthread_cond_signal F
 GLIBC_2.2 pthread_cond_timedwait F
 GLIBC_2.2 pthread_cond_wait F
-GLIBC_2.2 pthread_condattr_destroy F
 GLIBC_2.2 pthread_condattr_getpshared F
 GLIBC_2.2 pthread_condattr_init F
 GLIBC_2.2 pthread_condattr_setpshared F
diff --git a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
index c2dade43aa..bdc4e1755a 100644
--- a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
@@ -91,7 +91,6 @@  GLIBC_2.2 pthread_cond_init F
 GLIBC_2.2 pthread_cond_signal F
 GLIBC_2.2 pthread_cond_timedwait F
 GLIBC_2.2 pthread_cond_wait F
-GLIBC_2.2 pthread_condattr_destroy F
 GLIBC_2.2 pthread_condattr_getpshared F
 GLIBC_2.2 pthread_condattr_init F
 GLIBC_2.2 pthread_condattr_setpshared F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
index ac7b1b2ae8..ff9ad17e83 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
@@ -51,7 +51,6 @@  GLIBC_2.0 pthread_cond_init F
 GLIBC_2.0 pthread_cond_signal F
 GLIBC_2.0 pthread_cond_timedwait F
 GLIBC_2.0 pthread_cond_wait F
-GLIBC_2.0 pthread_condattr_destroy F
 GLIBC_2.0 pthread_condattr_init F
 GLIBC_2.0 pthread_create F
 GLIBC_2.0 pthread_detach F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
index 8a414d895d..78cb476094 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
@@ -91,7 +91,6 @@  GLIBC_2.2 pthread_cond_init F
 GLIBC_2.2 pthread_cond_signal F
 GLIBC_2.2 pthread_cond_timedwait F
 GLIBC_2.2 pthread_cond_wait F
-GLIBC_2.2 pthread_condattr_destroy F
 GLIBC_2.2 pthread_condattr_getpshared F
 GLIBC_2.2 pthread_condattr_init F
 GLIBC_2.2 pthread_condattr_setpshared F
diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
index 62b52ec607..12b8d05921 100644
--- a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
@@ -91,7 +91,6 @@  GLIBC_2.2.5 pthread_cond_init F
 GLIBC_2.2.5 pthread_cond_signal F
 GLIBC_2.2.5 pthread_cond_timedwait F
 GLIBC_2.2.5 pthread_cond_wait F
-GLIBC_2.2.5 pthread_condattr_destroy F
 GLIBC_2.2.5 pthread_condattr_getpshared F
 GLIBC_2.2.5 pthread_condattr_init F
 GLIBC_2.2.5 pthread_condattr_setpshared F
diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
index 7597021f4f..451a473a58 100644
--- a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
@@ -91,7 +91,6 @@  GLIBC_2.16 pthread_cond_init F
 GLIBC_2.16 pthread_cond_signal F
 GLIBC_2.16 pthread_cond_timedwait F
 GLIBC_2.16 pthread_cond_wait F
-GLIBC_2.16 pthread_condattr_destroy F
 GLIBC_2.16 pthread_condattr_getclock F
 GLIBC_2.16 pthread_condattr_getpshared F
 GLIBC_2.16 pthread_condattr_init F