diff mbox series

[05/19] nptl: Move pthread_gettattr_np into libc

Message ID 6d385020f659b9b249890682ea39d9b31e62abf6.1589884403.git.fweimer@redhat.com
State Committed
Headers show
Series Signal mask for timer helper thread | expand

Commit Message

Florian Weimer May 19, 2020, 10:44 a.m. UTC
This is part of the libpthread removal project:

    <https://sourceware.org/ml/libc-alpha/2019-10/msg00080.html>

Use __getline instead of __getdelim to avoid a localplt failure.
Likewise for __getrlimit/getrlimit.

The abilist updates were performed by:

git ls-files 'sysdeps/unix/sysv/linux/**/libc.abilist' \
  | while read x ; do
    echo "GLIBC_2.32 pthread_getattr_np F" >> $x
done
python3 scripts/move-symbol-to-libc.py --only-linux pthread_getattr_np

The private export of __pthread_getaffinity_np is no longer needed, but
the hidden alias still necessary so that the symbol can be exported with
versioned_symbol.
---
 nptl/Makefile                                       |  2 +-
 nptl/Versions                                       |  8 +++++---
 nptl/libpthread-compat.c                            |  5 +++++
 nptl/pthread_getattr_np.c                           | 13 ++++++++++---
 sysdeps/unix/sysv/linux/aarch64/libc.abilist        |  2 ++
 sysdeps/unix/sysv/linux/aarch64/libpthread.abilist  |  1 -
 sysdeps/unix/sysv/linux/alpha/libc.abilist          |  2 ++
 sysdeps/unix/sysv/linux/alpha/libpthread.abilist    |  2 +-
 sysdeps/unix/sysv/linux/arm/be/libc.abilist         |  2 ++
 sysdeps/unix/sysv/linux/arm/be/libpthread.abilist   |  1 -
 sysdeps/unix/sysv/linux/arm/le/libc.abilist         |  2 ++
 sysdeps/unix/sysv/linux/arm/le/libpthread.abilist   |  1 -
 sysdeps/unix/sysv/linux/csky/libc.abilist           |  2 ++
 sysdeps/unix/sysv/linux/csky/libpthread.abilist     |  1 -
 sysdeps/unix/sysv/linux/hppa/libc.abilist           |  2 ++
 sysdeps/unix/sysv/linux/hppa/libpthread.abilist     |  2 +-
 sysdeps/unix/sysv/linux/i386/libc.abilist           |  2 ++
 sysdeps/unix/sysv/linux/i386/libpthread.abilist     |  2 +-
 sysdeps/unix/sysv/linux/ia64/libc.abilist           |  2 ++
 sysdeps/unix/sysv/linux/ia64/libpthread.abilist     |  2 +-
 sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist  |  2 ++
 .../sysv/linux/m68k/coldfire/libpthread.abilist     |  1 -
 sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist    |  2 ++
 .../unix/sysv/linux/m68k/m680x0/libpthread.abilist  |  2 +-
 sysdeps/unix/sysv/linux/microblaze/be/libc.abilist  |  2 ++
 .../sysv/linux/microblaze/be/libpthread.abilist     |  1 -
 sysdeps/unix/sysv/linux/microblaze/le/libc.abilist  |  2 ++
 .../sysv/linux/microblaze/le/libpthread.abilist     |  1 -
 .../unix/sysv/linux/mips/mips32/fpu/libc.abilist    |  2 ++
 .../unix/sysv/linux/mips/mips32/libpthread.abilist  |  2 +-
 .../unix/sysv/linux/mips/mips32/nofpu/libc.abilist  |  2 ++
 .../unix/sysv/linux/mips/mips64/libpthread.abilist  |  2 +-
 .../unix/sysv/linux/mips/mips64/n32/libc.abilist    |  2 ++
 .../unix/sysv/linux/mips/mips64/n64/libc.abilist    |  2 ++
 sysdeps/unix/sysv/linux/nios2/libc.abilist          |  2 ++
 sysdeps/unix/sysv/linux/nios2/libpthread.abilist    |  1 -
 .../sysv/linux/powerpc/powerpc32/fpu/libc.abilist   |  2 ++
 .../sysv/linux/powerpc/powerpc32/libpthread.abilist |  2 +-
 .../sysv/linux/powerpc/powerpc32/nofpu/libc.abilist |  2 ++
 .../sysv/linux/powerpc/powerpc64/be/libc.abilist    |  2 ++
 .../linux/powerpc/powerpc64/be/libpthread.abilist   |  1 -
 .../sysv/linux/powerpc/powerpc64/le/libc.abilist    |  2 ++
 .../linux/powerpc/powerpc64/le/libpthread.abilist   |  1 -
 sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist     |  2 ++
 .../unix/sysv/linux/riscv/rv64/libpthread.abilist   |  1 -
 sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist   |  2 ++
 .../unix/sysv/linux/s390/s390-32/libpthread.abilist |  2 +-
 sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist   |  2 ++
 .../unix/sysv/linux/s390/s390-64/libpthread.abilist |  2 +-
 sysdeps/unix/sysv/linux/sh/be/libc.abilist          |  2 ++
 sysdeps/unix/sysv/linux/sh/be/libpthread.abilist    |  2 +-
 sysdeps/unix/sysv/linux/sh/le/libc.abilist          |  2 ++
 sysdeps/unix/sysv/linux/sh/le/libpthread.abilist    |  2 +-
 sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist  |  2 ++
 .../sysv/linux/sparc/sparc32/libpthread.abilist     |  2 +-
 sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist  |  2 ++
 .../sysv/linux/sparc/sparc64/libpthread.abilist     |  2 +-
 sysdeps/unix/sysv/linux/x86_64/64/libc.abilist      |  2 ++
 .../unix/sysv/linux/x86_64/64/libpthread.abilist    |  1 -
 sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist     |  2 ++
 .../unix/sysv/linux/x86_64/x32/libpthread.abilist   |  1 -
 61 files changed, 95 insertions(+), 34 deletions(-)

Comments

Carlos O'Donell May 20, 2020, 1:57 p.m. UTC | #1
On 5/19/20 6:44 AM, Florian Weimer via Libc-alpha wrote:
> This is part of the libpthread removal project:
> 
>     <https://sourceware.org/ml/libc-alpha/2019-10/msg00080.html>
> 
> Use __getline instead of __getdelim to avoid a localplt failure.
> Likewise for __getrlimit/getrlimit.
> 
> The abilist updates were performed by:
> 
> git ls-files 'sysdeps/unix/sysv/linux/**/libc.abilist' \
>   | while read x ; do
>     echo "GLIBC_2.32 pthread_getattr_np F" >> $x
> done
> python3 scripts/move-symbol-to-libc.py --only-linux pthread_getattr_np
> 
> The private export of __pthread_getaffinity_np is no longer needed, but
> the hidden alias still necessary so that the symbol can be exported with
> versioned_symbol.

This moves pthread_getattr_np and it looks good to me.

OK for master.

Tests are clean on x86_64 and i686.

Reviewed-by: Carlos O'Donell <carlos@redhat.com>
Tested-by: Carlos O'Donell <carlos@redhat.com>

> ---
>  nptl/Makefile                                       |  2 +-
>  nptl/Versions                                       |  8 +++++---
>  nptl/libpthread-compat.c                            |  5 +++++
>  nptl/pthread_getattr_np.c                           | 13 ++++++++++---
>  sysdeps/unix/sysv/linux/aarch64/libc.abilist        |  2 ++
>  sysdeps/unix/sysv/linux/aarch64/libpthread.abilist  |  1 -
>  sysdeps/unix/sysv/linux/alpha/libc.abilist          |  2 ++
>  sysdeps/unix/sysv/linux/alpha/libpthread.abilist    |  2 +-
>  sysdeps/unix/sysv/linux/arm/be/libc.abilist         |  2 ++
>  sysdeps/unix/sysv/linux/arm/be/libpthread.abilist   |  1 -
>  sysdeps/unix/sysv/linux/arm/le/libc.abilist         |  2 ++
>  sysdeps/unix/sysv/linux/arm/le/libpthread.abilist   |  1 -
>  sysdeps/unix/sysv/linux/csky/libc.abilist           |  2 ++
>  sysdeps/unix/sysv/linux/csky/libpthread.abilist     |  1 -
>  sysdeps/unix/sysv/linux/hppa/libc.abilist           |  2 ++
>  sysdeps/unix/sysv/linux/hppa/libpthread.abilist     |  2 +-
>  sysdeps/unix/sysv/linux/i386/libc.abilist           |  2 ++
>  sysdeps/unix/sysv/linux/i386/libpthread.abilist     |  2 +-
>  sysdeps/unix/sysv/linux/ia64/libc.abilist           |  2 ++
>  sysdeps/unix/sysv/linux/ia64/libpthread.abilist     |  2 +-
>  sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist  |  2 ++
>  .../sysv/linux/m68k/coldfire/libpthread.abilist     |  1 -
>  sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist    |  2 ++
>  .../unix/sysv/linux/m68k/m680x0/libpthread.abilist  |  2 +-
>  sysdeps/unix/sysv/linux/microblaze/be/libc.abilist  |  2 ++
>  .../sysv/linux/microblaze/be/libpthread.abilist     |  1 -
>  sysdeps/unix/sysv/linux/microblaze/le/libc.abilist  |  2 ++
>  .../sysv/linux/microblaze/le/libpthread.abilist     |  1 -
>  .../unix/sysv/linux/mips/mips32/fpu/libc.abilist    |  2 ++
>  .../unix/sysv/linux/mips/mips32/libpthread.abilist  |  2 +-
>  .../unix/sysv/linux/mips/mips32/nofpu/libc.abilist  |  2 ++
>  .../unix/sysv/linux/mips/mips64/libpthread.abilist  |  2 +-
>  .../unix/sysv/linux/mips/mips64/n32/libc.abilist    |  2 ++
>  .../unix/sysv/linux/mips/mips64/n64/libc.abilist    |  2 ++
>  sysdeps/unix/sysv/linux/nios2/libc.abilist          |  2 ++
>  sysdeps/unix/sysv/linux/nios2/libpthread.abilist    |  1 -
>  .../sysv/linux/powerpc/powerpc32/fpu/libc.abilist   |  2 ++
>  .../sysv/linux/powerpc/powerpc32/libpthread.abilist |  2 +-
>  .../sysv/linux/powerpc/powerpc32/nofpu/libc.abilist |  2 ++
>  .../sysv/linux/powerpc/powerpc64/be/libc.abilist    |  2 ++
>  .../linux/powerpc/powerpc64/be/libpthread.abilist   |  1 -
>  .../sysv/linux/powerpc/powerpc64/le/libc.abilist    |  2 ++
>  .../linux/powerpc/powerpc64/le/libpthread.abilist   |  1 -
>  sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist     |  2 ++
>  .../unix/sysv/linux/riscv/rv64/libpthread.abilist   |  1 -
>  sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist   |  2 ++
>  .../unix/sysv/linux/s390/s390-32/libpthread.abilist |  2 +-
>  sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist   |  2 ++
>  .../unix/sysv/linux/s390/s390-64/libpthread.abilist |  2 +-
>  sysdeps/unix/sysv/linux/sh/be/libc.abilist          |  2 ++
>  sysdeps/unix/sysv/linux/sh/be/libpthread.abilist    |  2 +-
>  sysdeps/unix/sysv/linux/sh/le/libc.abilist          |  2 ++
>  sysdeps/unix/sysv/linux/sh/le/libpthread.abilist    |  2 +-
>  sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist  |  2 ++
>  .../sysv/linux/sparc/sparc32/libpthread.abilist     |  2 +-
>  sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist  |  2 ++
>  .../sysv/linux/sparc/sparc64/libpthread.abilist     |  2 +-
>  sysdeps/unix/sysv/linux/x86_64/64/libc.abilist      |  2 ++
>  .../unix/sysv/linux/x86_64/64/libpthread.abilist    |  1 -
>  sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist     |  2 ++
>  .../unix/sysv/linux/x86_64/x32/libpthread.abilist   |  1 -
>  61 files changed, 95 insertions(+), 34 deletions(-)
> 
> diff --git a/nptl/Makefile b/nptl/Makefile
> index 7edad1c0c9..0dd8800f19 100644
> --- a/nptl/Makefile
> +++ b/nptl/Makefile
> @@ -58,6 +58,7 @@ routines = \
>    pthread_condattr_init \
>    pthread_equal \
>    pthread_getaffinity \
> +  pthread_getattr_np \
>    pthread_getschedparam \
>    pthread_self \
>    pthread_setschedparam \
> @@ -89,7 +90,6 @@ libpthread-routines = nptl-init nptlfreeres vars events version pt-interp \
>  		      pthread_attr_getstackaddr pthread_attr_setstackaddr \
>  		      pthread_attr_getstacksize pthread_attr_setstacksize \
>  		      pthread_attr_getstack pthread_attr_setstack \
> -		      pthread_getattr_np \
>  		      pthread_mutex_init pthread_mutex_destroy \
>  		      pthread_mutex_lock pthread_mutex_trylock \
>  		      pthread_mutex_timedlock pthread_mutex_unlock \
> diff --git a/nptl/Versions b/nptl/Versions
> index 637d100a9e..ce08076611 100644
> --- a/nptl/Versions
> +++ b/nptl/Versions
> @@ -21,6 +21,9 @@ libc {
>    GLIBC_2.1 {
>      pthread_attr_init;
>    }
> +  GLIBC_2.2.3 {
> +    pthread_getattr_np;
> +  }

OK.

>    GLIBC_2.3.2 {
>      __register_atfork;
>  
> @@ -43,6 +46,7 @@ libc {
>    GLIBC_2.32 {
>      pthread_attr_setaffinity_np;
>      pthread_getaffinity_np;
> +    pthread_getattr_np;
>      pthread_sigmask;
>    }
>    GLIBC_PRIVATE {
> @@ -55,7 +59,6 @@ libc {
>      # Used by the C11 threads implementation.
>      __pthread_cond_destroy; __pthread_cond_init;
>      __pthread_attr_setaffinity_np;
> -    __pthread_getaffinity_np; # For pthread_getattr_np.
>    }
>  }
>  
> @@ -197,8 +200,7 @@ libpthread {
>    }
>  
>    GLIBC_2.2.3 {
> -    # Extensions.
> -    pthread_getattr_np;
> +    __libpthread_version_placeholder;

OK. Needed for version node.

>    }
>  
>    GLIBC_2.2.6 {
> diff --git a/nptl/libpthread-compat.c b/nptl/libpthread-compat.c
> index 512b4c77c8..ec02b5dccf 100644
> --- a/nptl/libpthread-compat.c
> +++ b/nptl/libpthread-compat.c
> @@ -41,6 +41,11 @@ compat_symbol_unique (libpthread,
>  		      __libpthread_version_placeholder, GLIBC_2_1_2);
>  #endif
>  
> +#if (SHLIB_COMPAT (libpthread, GLIBC_2_2_3, GLIBC_2_2_4))
> +compat_symbol_unique (libpthread,
> +		      __libpthread_version_placeholder, GLIBC_2_2_3);
> +#endif
> +
>  #if (SHLIB_COMPAT (libpthread, GLIBC_2_2_6, GLIBC_2_3))
>  compat_symbol_unique (libpthread,
>  		      __libpthread_version_placeholder, GLIBC_2_2_6);
> diff --git a/nptl/pthread_getattr_np.c b/nptl/pthread_getattr_np.c
> index 644548d862..0e8911346d 100644
> --- a/nptl/pthread_getattr_np.c
> +++ b/nptl/pthread_getattr_np.c
> @@ -30,7 +30,7 @@
>  
>  
>  int
> -pthread_getattr_np (pthread_t thread_id, pthread_attr_t *attr)
> +__pthread_getattr_np (pthread_t thread_id, pthread_attr_t *attr)
>  {
>    struct pthread *thread = (struct pthread *) thread_id;
>    struct pthread_attr *iattr = (struct pthread_attr *) attr;
> @@ -84,7 +84,7 @@ pthread_getattr_np (pthread_t thread_id, pthread_attr_t *attr)
>        /* We need the limit of the stack in any case.  */
>        else
>  	{
> -	  if (getrlimit (RLIMIT_STACK, &rl) != 0)
> +	  if (__getrlimit (RLIMIT_STACK, &rl) != 0)
>  	    ret = errno;
>  	  else
>  	    {
> @@ -115,7 +115,7 @@ pthread_getattr_np (pthread_t thread_id, pthread_attr_t *attr)
>  
>  	      while (! feof_unlocked (fp))
>  		{
> -		  if (__getdelim (&line, &linelen, '\n', fp) <= 0)
> +		  if (__getline (&line, &linelen, fp) <= 0)
>  		    break;
>  
>  		  uintptr_t from;
> @@ -208,3 +208,10 @@ pthread_getattr_np (pthread_t thread_id, pthread_attr_t *attr)
>  
>    return ret;
>  }
> +versioned_symbol (libc, __pthread_getattr_np, pthread_getattr_np, GLIBC_2_32);
> +
> +#if SHLIB_COMPAT (libc, GLIBC_2_2_3, GLIBC_2_32)
> +strong_alias (__pthread_getattr_np, __pthread_getattr_np_alias)
> +compat_symbol (libc, __pthread_getattr_np_alias,
> +	       pthread_getattr_np, GLIBC_2_2_3);
> +#endif
> diff --git a/sysdeps/unix/sysv/linux/aarch64/libc.abilist b/sysdeps/unix/sysv/linux/aarch64/libc.abilist
> index 55499b8d3c..6dc59b38b0 100644
> --- a/sysdeps/unix/sysv/linux/aarch64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/aarch64/libc.abilist
> @@ -1440,6 +1440,7 @@ GLIBC_2.17 pthread_condattr_init F
>  GLIBC_2.17 pthread_equal F
>  GLIBC_2.17 pthread_exit F
>  GLIBC_2.17 pthread_getaffinity_np F
> +GLIBC_2.17 pthread_getattr_np F
>  GLIBC_2.17 pthread_getschedparam F
>  GLIBC_2.17 pthread_mutex_destroy F
>  GLIBC_2.17 pthread_mutex_init F
> @@ -2150,4 +2151,5 @@ GLIBC_2.30 tgkill F
>  GLIBC_2.30 twalk_r F
>  GLIBC_2.32 pthread_attr_setaffinity_np F
>  GLIBC_2.32 pthread_getaffinity_np F
> +GLIBC_2.32 pthread_getattr_np F
>  GLIBC_2.32 pthread_sigmask F
> diff --git a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
> index 77cf95c491..c6b4ea2dc1 100644
> --- a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
> @@ -95,7 +95,6 @@ GLIBC_2.17 pthread_condattr_setpshared F
>  GLIBC_2.17 pthread_create F
>  GLIBC_2.17 pthread_detach F
>  GLIBC_2.17 pthread_exit F
> -GLIBC_2.17 pthread_getattr_np F
>  GLIBC_2.17 pthread_getconcurrency F
>  GLIBC_2.17 pthread_getcpuclockid F
>  GLIBC_2.17 pthread_getname_np F
> diff --git a/sysdeps/unix/sysv/linux/alpha/libc.abilist b/sysdeps/unix/sysv/linux/alpha/libc.abilist
> index 387b0badaa..fd628bcd28 100644
> --- a/sysdeps/unix/sysv/linux/alpha/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/alpha/libc.abilist
> @@ -1969,6 +1969,7 @@ GLIBC_2.2.3 __rpc_thread_svc_fdset F
>  GLIBC_2.2.3 __rpc_thread_svc_max_pollfd F
>  GLIBC_2.2.3 __rpc_thread_svc_pollfd F
>  GLIBC_2.2.3 fnmatch F
> +GLIBC_2.2.3 pthread_getattr_np F
>  GLIBC_2.2.3 sprofil F
>  GLIBC_2.2.4 dl_iterate_phdr F
>  GLIBC_2.2.4 getgrouplist F
> @@ -2232,6 +2233,7 @@ GLIBC_2.30 tgkill F
>  GLIBC_2.30 twalk_r F
>  GLIBC_2.32 pthread_attr_setaffinity_np F
>  GLIBC_2.32 pthread_getaffinity_np F
> +GLIBC_2.32 pthread_getattr_np F
>  GLIBC_2.32 pthread_sigmask F
>  GLIBC_2.4 _IO_fprintf F
>  GLIBC_2.4 _IO_printf F
> diff --git a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
> index 8d504c3cdb..390b6384d0 100644
> --- a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
> @@ -177,7 +177,7 @@ GLIBC_2.2 pthread_yield F
>  GLIBC_2.2 pwrite F
>  GLIBC_2.2 pwrite64 F
>  GLIBC_2.2 sem_timedwait F
> -GLIBC_2.2.3 pthread_getattr_np F
> +GLIBC_2.2.3 __libpthread_version_placeholder F
>  GLIBC_2.2.6 __libpthread_version_placeholder F
>  GLIBC_2.28 call_once F
>  GLIBC_2.28 cnd_broadcast F
> diff --git a/sysdeps/unix/sysv/linux/arm/be/libc.abilist b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
> index 2775ee0963..d0b1cd24c9 100644
> --- a/sysdeps/unix/sysv/linux/arm/be/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
> @@ -135,6 +135,7 @@ GLIBC_2.31 semctl F
>  GLIBC_2.31 shmctl F
>  GLIBC_2.32 pthread_attr_setaffinity_np F
>  GLIBC_2.32 pthread_getaffinity_np F
> +GLIBC_2.32 pthread_getattr_np F
>  GLIBC_2.32 pthread_sigmask F
>  GLIBC_2.4 _Exit F
>  GLIBC_2.4 _IO_2_1_stderr_ D 0xa0
> @@ -1513,6 +1514,7 @@ GLIBC_2.4 pthread_condattr_init F
>  GLIBC_2.4 pthread_equal F
>  GLIBC_2.4 pthread_exit F
>  GLIBC_2.4 pthread_getaffinity_np F
> +GLIBC_2.4 pthread_getattr_np F
>  GLIBC_2.4 pthread_getschedparam F
>  GLIBC_2.4 pthread_mutex_destroy F
>  GLIBC_2.4 pthread_mutex_init F
> diff --git a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
> index c1313fb4bf..b6c26c7a50 100644
> --- a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
> @@ -130,7 +130,6 @@ GLIBC_2.4 pthread_condattr_setpshared F
>  GLIBC_2.4 pthread_create F
>  GLIBC_2.4 pthread_detach F
>  GLIBC_2.4 pthread_exit F
> -GLIBC_2.4 pthread_getattr_np F
>  GLIBC_2.4 pthread_getconcurrency F
>  GLIBC_2.4 pthread_getcpuclockid F
>  GLIBC_2.4 pthread_getspecific F
> diff --git a/sysdeps/unix/sysv/linux/arm/le/libc.abilist b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
> index 0e233ff542..3dde0ef8bd 100644
> --- a/sysdeps/unix/sysv/linux/arm/le/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
> @@ -132,6 +132,7 @@ GLIBC_2.30 tgkill F
>  GLIBC_2.30 twalk_r F
>  GLIBC_2.32 pthread_attr_setaffinity_np F
>  GLIBC_2.32 pthread_getaffinity_np F
> +GLIBC_2.32 pthread_getattr_np F
>  GLIBC_2.32 pthread_sigmask F
>  GLIBC_2.4 _Exit F
>  GLIBC_2.4 _IO_2_1_stderr_ D 0xa0
> @@ -1510,6 +1511,7 @@ GLIBC_2.4 pthread_condattr_init F
>  GLIBC_2.4 pthread_equal F
>  GLIBC_2.4 pthread_exit F
>  GLIBC_2.4 pthread_getaffinity_np F
> +GLIBC_2.4 pthread_getattr_np F
>  GLIBC_2.4 pthread_getschedparam F
>  GLIBC_2.4 pthread_mutex_destroy F
>  GLIBC_2.4 pthread_mutex_init F
> diff --git a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
> index c1313fb4bf..b6c26c7a50 100644
> --- a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
> @@ -130,7 +130,6 @@ GLIBC_2.4 pthread_condattr_setpshared F
>  GLIBC_2.4 pthread_create F
>  GLIBC_2.4 pthread_detach F
>  GLIBC_2.4 pthread_exit F
> -GLIBC_2.4 pthread_getattr_np F
>  GLIBC_2.4 pthread_getconcurrency F
>  GLIBC_2.4 pthread_getcpuclockid F
>  GLIBC_2.4 pthread_getspecific F
> diff --git a/sysdeps/unix/sysv/linux/csky/libc.abilist b/sysdeps/unix/sysv/linux/csky/libc.abilist
> index dbef2ad653..4db9bbd971 100644
> --- a/sysdeps/unix/sysv/linux/csky/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/csky/libc.abilist
> @@ -1428,6 +1428,7 @@ GLIBC_2.29 pthread_condattr_init F
>  GLIBC_2.29 pthread_equal F
>  GLIBC_2.29 pthread_exit F
>  GLIBC_2.29 pthread_getaffinity_np F
> +GLIBC_2.29 pthread_getattr_np F
>  GLIBC_2.29 pthread_getschedparam F
>  GLIBC_2.29 pthread_mutex_destroy F
>  GLIBC_2.29 pthread_mutex_init F
> @@ -2094,4 +2095,5 @@ GLIBC_2.30 tgkill F
>  GLIBC_2.30 twalk_r F
>  GLIBC_2.32 pthread_attr_setaffinity_np F
>  GLIBC_2.32 pthread_getaffinity_np F
> +GLIBC_2.32 pthread_getattr_np F
>  GLIBC_2.32 pthread_sigmask F
> diff --git a/sysdeps/unix/sysv/linux/csky/libpthread.abilist b/sysdeps/unix/sysv/linux/csky/libpthread.abilist
> index bcdea792ec..6ce59276a7 100644
> --- a/sysdeps/unix/sysv/linux/csky/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/csky/libpthread.abilist
> @@ -104,7 +104,6 @@ GLIBC_2.29 pthread_create F
>  GLIBC_2.29 pthread_detach F
>  GLIBC_2.29 pthread_exit F
>  GLIBC_2.29 pthread_getattr_default_np F
> -GLIBC_2.29 pthread_getattr_np F
>  GLIBC_2.29 pthread_getconcurrency F
>  GLIBC_2.29 pthread_getcpuclockid F
>  GLIBC_2.29 pthread_getname_np F
> diff --git a/sysdeps/unix/sysv/linux/hppa/libc.abilist b/sysdeps/unix/sysv/linux/hppa/libc.abilist
> index 4405dbfe63..52aa86b191 100644
> --- a/sysdeps/unix/sysv/linux/hppa/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/hppa/libc.abilist
> @@ -1829,6 +1829,7 @@ GLIBC_2.2.3 __rpc_thread_svc_fdset F
>  GLIBC_2.2.3 __rpc_thread_svc_max_pollfd F
>  GLIBC_2.2.3 __rpc_thread_svc_pollfd F
>  GLIBC_2.2.3 fnmatch F
> +GLIBC_2.2.3 pthread_getattr_np F
>  GLIBC_2.2.3 sprofil F
>  GLIBC_2.2.4 dl_iterate_phdr F
>  GLIBC_2.2.4 getgrouplist F
> @@ -2053,6 +2054,7 @@ GLIBC_2.30 tgkill F
>  GLIBC_2.30 twalk_r F
>  GLIBC_2.32 pthread_attr_setaffinity_np F
>  GLIBC_2.32 pthread_getaffinity_np F
> +GLIBC_2.32 pthread_getattr_np F
>  GLIBC_2.32 pthread_sigmask F
>  GLIBC_2.4 __confstr_chk F
>  GLIBC_2.4 __fgets_chk F
> diff --git a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
> index a12e0308b0..cabc5af858 100644
> --- a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
> @@ -169,7 +169,7 @@ GLIBC_2.2 sigwait F
>  GLIBC_2.2 system F
>  GLIBC_2.2 tcdrain F
>  GLIBC_2.2 write F
> -GLIBC_2.2.3 pthread_getattr_np F
> +GLIBC_2.2.3 __libpthread_version_placeholder F
>  GLIBC_2.2.6 __libpthread_version_placeholder F
>  GLIBC_2.28 call_once F
>  GLIBC_2.28 cnd_broadcast F
> diff --git a/sysdeps/unix/sysv/linux/i386/libc.abilist b/sysdeps/unix/sysv/linux/i386/libc.abilist
> index de447796e7..48ee395a64 100644
> --- a/sysdeps/unix/sysv/linux/i386/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/i386/libc.abilist
> @@ -1982,6 +1982,7 @@ GLIBC_2.2.3 __rpc_thread_svc_fdset F
>  GLIBC_2.2.3 __rpc_thread_svc_max_pollfd F
>  GLIBC_2.2.3 __rpc_thread_svc_pollfd F
>  GLIBC_2.2.3 fnmatch F
> +GLIBC_2.2.3 pthread_getattr_np F
>  GLIBC_2.2.3 sprofil F
>  GLIBC_2.2.4 dl_iterate_phdr F
>  GLIBC_2.2.4 getgrouplist F
> @@ -2219,6 +2220,7 @@ GLIBC_2.30 tgkill F
>  GLIBC_2.30 twalk_r F
>  GLIBC_2.32 pthread_attr_setaffinity_np F
>  GLIBC_2.32 pthread_getaffinity_np F
> +GLIBC_2.32 pthread_getattr_np F
>  GLIBC_2.32 pthread_sigmask F
>  GLIBC_2.4 __confstr_chk F
>  GLIBC_2.4 __fgets_chk F
> diff --git a/sysdeps/unix/sysv/linux/i386/libpthread.abilist b/sysdeps/unix/sysv/linux/i386/libpthread.abilist
> index f84feaca66..18177307c8 100644
> --- a/sysdeps/unix/sysv/linux/i386/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/i386/libpthread.abilist
> @@ -177,7 +177,7 @@ GLIBC_2.2 pthread_yield F
>  GLIBC_2.2 pwrite F
>  GLIBC_2.2 pwrite64 F
>  GLIBC_2.2 sem_timedwait F
> -GLIBC_2.2.3 pthread_getattr_np F
> +GLIBC_2.2.3 __libpthread_version_placeholder F
>  GLIBC_2.2.6 __libpthread_version_placeholder F
>  GLIBC_2.28 call_once F
>  GLIBC_2.28 cnd_broadcast F
> diff --git a/sysdeps/unix/sysv/linux/ia64/libc.abilist b/sysdeps/unix/sysv/linux/ia64/libc.abilist
> index df3da1bea3..34458f348f 100644
> --- a/sysdeps/unix/sysv/linux/ia64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/ia64/libc.abilist
> @@ -1851,6 +1851,7 @@ GLIBC_2.2.3 __rpc_thread_svc_fdset F
>  GLIBC_2.2.3 __rpc_thread_svc_max_pollfd F
>  GLIBC_2.2.3 __rpc_thread_svc_pollfd F
>  GLIBC_2.2.3 fnmatch F
> +GLIBC_2.2.3 pthread_getattr_np F
>  GLIBC_2.2.3 sprofil F
>  GLIBC_2.2.4 dl_iterate_phdr F
>  GLIBC_2.2.4 getgrouplist F
> @@ -2085,6 +2086,7 @@ GLIBC_2.30 tgkill F
>  GLIBC_2.30 twalk_r F
>  GLIBC_2.32 pthread_attr_setaffinity_np F
>  GLIBC_2.32 pthread_getaffinity_np F
> +GLIBC_2.32 pthread_getattr_np F
>  GLIBC_2.32 pthread_sigmask F
>  GLIBC_2.4 __confstr_chk F
>  GLIBC_2.4 __fgets_chk F
> diff --git a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
> index 927afe3bd5..335f486cb5 100644
> --- a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
> @@ -169,7 +169,7 @@ GLIBC_2.2 sigwait F
>  GLIBC_2.2 system F
>  GLIBC_2.2 tcdrain F
>  GLIBC_2.2 write F
> -GLIBC_2.2.3 pthread_getattr_np F
> +GLIBC_2.2.3 __libpthread_version_placeholder F
>  GLIBC_2.2.6 __libpthread_version_placeholder F
>  GLIBC_2.28 call_once F
>  GLIBC_2.28 cnd_broadcast F
> diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
> index deb56b3dfc..377326b12c 100644
> --- a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
> @@ -136,6 +136,7 @@ GLIBC_2.31 semctl F
>  GLIBC_2.31 shmctl F
>  GLIBC_2.32 pthread_attr_setaffinity_np F
>  GLIBC_2.32 pthread_getaffinity_np F
> +GLIBC_2.32 pthread_getattr_np F
>  GLIBC_2.32 pthread_sigmask F
>  GLIBC_2.4 _Exit F
>  GLIBC_2.4 _IO_2_1_stderr_ D 0x98
> @@ -1493,6 +1494,7 @@ GLIBC_2.4 pthread_condattr_init F
>  GLIBC_2.4 pthread_equal F
>  GLIBC_2.4 pthread_exit F
>  GLIBC_2.4 pthread_getaffinity_np F
> +GLIBC_2.4 pthread_getattr_np F
>  GLIBC_2.4 pthread_getschedparam F
>  GLIBC_2.4 pthread_mutex_destroy F
>  GLIBC_2.4 pthread_mutex_init F
> diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
> index c1313fb4bf..b6c26c7a50 100644
> --- a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
> @@ -130,7 +130,6 @@ GLIBC_2.4 pthread_condattr_setpshared F
>  GLIBC_2.4 pthread_create F
>  GLIBC_2.4 pthread_detach F
>  GLIBC_2.4 pthread_exit F
> -GLIBC_2.4 pthread_getattr_np F
>  GLIBC_2.4 pthread_getconcurrency F
>  GLIBC_2.4 pthread_getcpuclockid F
>  GLIBC_2.4 pthread_getspecific F
> diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
> index 96d8a1a101..81eea10680 100644
> --- a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
> @@ -1938,6 +1938,7 @@ GLIBC_2.2.3 __rpc_thread_svc_fdset F
>  GLIBC_2.2.3 __rpc_thread_svc_max_pollfd F
>  GLIBC_2.2.3 __rpc_thread_svc_pollfd F
>  GLIBC_2.2.3 fnmatch F
> +GLIBC_2.2.3 pthread_getattr_np F
>  GLIBC_2.2.3 sprofil F
>  GLIBC_2.2.4 dl_iterate_phdr F
>  GLIBC_2.2.4 getgrouplist F
> @@ -2165,6 +2166,7 @@ GLIBC_2.31 semctl F
>  GLIBC_2.31 shmctl F
>  GLIBC_2.32 pthread_attr_setaffinity_np F
>  GLIBC_2.32 pthread_getaffinity_np F
> +GLIBC_2.32 pthread_getattr_np F
>  GLIBC_2.32 pthread_sigmask F
>  GLIBC_2.4 __confstr_chk F
>  GLIBC_2.4 __fgets_chk F
> diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
> index f84feaca66..18177307c8 100644
> --- a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
> @@ -177,7 +177,7 @@ GLIBC_2.2 pthread_yield F
>  GLIBC_2.2 pwrite F
>  GLIBC_2.2 pwrite64 F
>  GLIBC_2.2 sem_timedwait F
> -GLIBC_2.2.3 pthread_getattr_np F
> +GLIBC_2.2.3 __libpthread_version_placeholder F
>  GLIBC_2.2.6 __libpthread_version_placeholder F
>  GLIBC_2.28 call_once F
>  GLIBC_2.28 cnd_broadcast F
> diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
> index 134db9a3f8..ff75663747 100644
> --- a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
> @@ -1443,6 +1443,7 @@ GLIBC_2.18 pthread_condattr_init F
>  GLIBC_2.18 pthread_equal F
>  GLIBC_2.18 pthread_exit F
>  GLIBC_2.18 pthread_getaffinity_np F
> +GLIBC_2.18 pthread_getattr_np F
>  GLIBC_2.18 pthread_getschedparam F
>  GLIBC_2.18 pthread_mutex_destroy F
>  GLIBC_2.18 pthread_mutex_init F
> @@ -2145,4 +2146,5 @@ GLIBC_2.31 semctl F
>  GLIBC_2.31 shmctl F
>  GLIBC_2.32 pthread_attr_setaffinity_np F
>  GLIBC_2.32 pthread_getaffinity_np F
> +GLIBC_2.32 pthread_getattr_np F
>  GLIBC_2.32 pthread_sigmask F
> diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
> index 1af46cb44e..60397187b6 100644
> --- a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
> @@ -96,7 +96,6 @@ GLIBC_2.18 pthread_create F
>  GLIBC_2.18 pthread_detach F
>  GLIBC_2.18 pthread_exit F
>  GLIBC_2.18 pthread_getattr_default_np F
> -GLIBC_2.18 pthread_getattr_np F
>  GLIBC_2.18 pthread_getconcurrency F
>  GLIBC_2.18 pthread_getcpuclockid F
>  GLIBC_2.18 pthread_getname_np F
> diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
> index aa5be2136d..e9a6375dfc 100644
> --- a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
> @@ -1443,6 +1443,7 @@ GLIBC_2.18 pthread_condattr_init F
>  GLIBC_2.18 pthread_equal F
>  GLIBC_2.18 pthread_exit F
>  GLIBC_2.18 pthread_getaffinity_np F
> +GLIBC_2.18 pthread_getattr_np F
>  GLIBC_2.18 pthread_getschedparam F
>  GLIBC_2.18 pthread_mutex_destroy F
>  GLIBC_2.18 pthread_mutex_init F
> @@ -2142,4 +2143,5 @@ GLIBC_2.30 tgkill F
>  GLIBC_2.30 twalk_r F
>  GLIBC_2.32 pthread_attr_setaffinity_np F
>  GLIBC_2.32 pthread_getaffinity_np F
> +GLIBC_2.32 pthread_getattr_np F
>  GLIBC_2.32 pthread_sigmask F
> diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
> index 1af46cb44e..60397187b6 100644
> --- a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
> @@ -96,7 +96,6 @@ GLIBC_2.18 pthread_create F
>  GLIBC_2.18 pthread_detach F
>  GLIBC_2.18 pthread_exit F
>  GLIBC_2.18 pthread_getattr_default_np F
> -GLIBC_2.18 pthread_getattr_np F
>  GLIBC_2.18 pthread_getconcurrency F
>  GLIBC_2.18 pthread_getcpuclockid F
>  GLIBC_2.18 pthread_getname_np F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
> index 8f76103289..598fc488c7 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
> @@ -1916,6 +1916,7 @@ GLIBC_2.2.3 __rpc_thread_svc_fdset F
>  GLIBC_2.2.3 __rpc_thread_svc_max_pollfd F
>  GLIBC_2.2.3 __rpc_thread_svc_pollfd F
>  GLIBC_2.2.3 fnmatch F
> +GLIBC_2.2.3 pthread_getattr_np F
>  GLIBC_2.2.3 sprofil F
>  GLIBC_2.2.4 dl_iterate_phdr F
>  GLIBC_2.2.4 getgrouplist F
> @@ -2136,6 +2137,7 @@ GLIBC_2.30 tgkill F
>  GLIBC_2.30 twalk_r F
>  GLIBC_2.32 pthread_attr_setaffinity_np F
>  GLIBC_2.32 pthread_getaffinity_np F
> +GLIBC_2.32 pthread_getattr_np F
>  GLIBC_2.32 pthread_sigmask F
>  GLIBC_2.4 __confstr_chk F
>  GLIBC_2.4 __fgets_chk F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
> index 14009d87e9..b35d7f19ca 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
> @@ -176,7 +176,7 @@ GLIBC_2.2 sem_timedwait F
>  GLIBC_2.2 sem_trywait F
>  GLIBC_2.2 sem_unlink F
>  GLIBC_2.2 sem_wait F
> -GLIBC_2.2.3 pthread_getattr_np F
> +GLIBC_2.2.3 __libpthread_version_placeholder F
>  GLIBC_2.2.6 __libpthread_version_placeholder F
>  GLIBC_2.28 call_once F
>  GLIBC_2.28 cnd_broadcast F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
> index ec6d5478e2..77e8d6b155 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
> @@ -1914,6 +1914,7 @@ GLIBC_2.2.3 __rpc_thread_svc_fdset F
>  GLIBC_2.2.3 __rpc_thread_svc_max_pollfd F
>  GLIBC_2.2.3 __rpc_thread_svc_pollfd F
>  GLIBC_2.2.3 fnmatch F
> +GLIBC_2.2.3 pthread_getattr_np F
>  GLIBC_2.2.3 sprofil F
>  GLIBC_2.2.4 dl_iterate_phdr F
>  GLIBC_2.2.4 getgrouplist F
> @@ -2134,6 +2135,7 @@ GLIBC_2.30 tgkill F
>  GLIBC_2.30 twalk_r F
>  GLIBC_2.32 pthread_attr_setaffinity_np F
>  GLIBC_2.32 pthread_getaffinity_np F
> +GLIBC_2.32 pthread_getattr_np F
>  GLIBC_2.32 pthread_sigmask F
>  GLIBC_2.4 __confstr_chk F
>  GLIBC_2.4 __fgets_chk F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
> index 14009d87e9..b35d7f19ca 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
> @@ -176,7 +176,7 @@ GLIBC_2.2 sem_timedwait F
>  GLIBC_2.2 sem_trywait F
>  GLIBC_2.2 sem_unlink F
>  GLIBC_2.2 sem_wait F
> -GLIBC_2.2.3 pthread_getattr_np F
> +GLIBC_2.2.3 __libpthread_version_placeholder F
>  GLIBC_2.2.6 __libpthread_version_placeholder F
>  GLIBC_2.28 call_once F
>  GLIBC_2.28 cnd_broadcast F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
> index 4f473ef639..a3aad2487f 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
> @@ -1912,6 +1912,7 @@ GLIBC_2.2.3 __rpc_thread_svc_fdset F
>  GLIBC_2.2.3 __rpc_thread_svc_max_pollfd F
>  GLIBC_2.2.3 __rpc_thread_svc_pollfd F
>  GLIBC_2.2.3 fnmatch F
> +GLIBC_2.2.3 pthread_getattr_np F
>  GLIBC_2.2.3 sprofil F
>  GLIBC_2.2.4 dl_iterate_phdr F
>  GLIBC_2.2.4 getgrouplist F
> @@ -2142,6 +2143,7 @@ GLIBC_2.30 tgkill F
>  GLIBC_2.30 twalk_r F
>  GLIBC_2.32 pthread_attr_setaffinity_np F
>  GLIBC_2.32 pthread_getaffinity_np F
> +GLIBC_2.32 pthread_getattr_np F
>  GLIBC_2.32 pthread_sigmask F
>  GLIBC_2.4 __confstr_chk F
>  GLIBC_2.4 __fgets_chk F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
> index 81a7044545..c074f612f5 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
> @@ -1908,6 +1908,7 @@ GLIBC_2.2.3 __rpc_thread_svc_fdset F
>  GLIBC_2.2.3 __rpc_thread_svc_max_pollfd F
>  GLIBC_2.2.3 __rpc_thread_svc_pollfd F
>  GLIBC_2.2.3 fnmatch F
> +GLIBC_2.2.3 pthread_getattr_np F
>  GLIBC_2.2.3 sprofil F
>  GLIBC_2.2.4 dl_iterate_phdr F
>  GLIBC_2.2.4 getgrouplist F
> @@ -2136,6 +2137,7 @@ GLIBC_2.30 tgkill F
>  GLIBC_2.30 twalk_r F
>  GLIBC_2.32 pthread_attr_setaffinity_np F
>  GLIBC_2.32 pthread_getaffinity_np F
> +GLIBC_2.32 pthread_getattr_np F
>  GLIBC_2.32 pthread_sigmask F
>  GLIBC_2.4 __confstr_chk F
>  GLIBC_2.4 __fgets_chk F
> diff --git a/sysdeps/unix/sysv/linux/nios2/libc.abilist b/sysdeps/unix/sysv/linux/nios2/libc.abilist
> index 7ba8a9a002..d1c638acb9 100644
> --- a/sysdeps/unix/sysv/linux/nios2/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/nios2/libc.abilist
> @@ -1485,6 +1485,7 @@ GLIBC_2.21 pthread_condattr_init F
>  GLIBC_2.21 pthread_equal F
>  GLIBC_2.21 pthread_exit F
>  GLIBC_2.21 pthread_getaffinity_np F
> +GLIBC_2.21 pthread_getattr_np F
>  GLIBC_2.21 pthread_getschedparam F
>  GLIBC_2.21 pthread_mutex_destroy F
>  GLIBC_2.21 pthread_mutex_init F
> @@ -2183,4 +2184,5 @@ GLIBC_2.30 tgkill F
>  GLIBC_2.30 twalk_r F
>  GLIBC_2.32 pthread_attr_setaffinity_np F
>  GLIBC_2.32 pthread_getaffinity_np F
> +GLIBC_2.32 pthread_getattr_np F
>  GLIBC_2.32 pthread_sigmask F
> diff --git a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
> index 0c1fa0baca..924ad6e451 100644
> --- a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
> @@ -96,7 +96,6 @@ GLIBC_2.21 pthread_create F
>  GLIBC_2.21 pthread_detach F
>  GLIBC_2.21 pthread_exit F
>  GLIBC_2.21 pthread_getattr_default_np F
> -GLIBC_2.21 pthread_getattr_np F
>  GLIBC_2.21 pthread_getconcurrency F
>  GLIBC_2.21 pthread_getcpuclockid F
>  GLIBC_2.21 pthread_getname_np F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
> index 6483f68273..bfc8185b0e 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
> @@ -1942,6 +1942,7 @@ GLIBC_2.2.3 __rpc_thread_svc_fdset F
>  GLIBC_2.2.3 __rpc_thread_svc_max_pollfd F
>  GLIBC_2.2.3 __rpc_thread_svc_pollfd F
>  GLIBC_2.2.3 fnmatch F
> +GLIBC_2.2.3 pthread_getattr_np F
>  GLIBC_2.2.3 sprofil F
>  GLIBC_2.2.4 dl_iterate_phdr F
>  GLIBC_2.2.4 getgrouplist F
> @@ -2192,6 +2193,7 @@ GLIBC_2.30 tgkill F
>  GLIBC_2.30 twalk_r F
>  GLIBC_2.32 pthread_attr_setaffinity_np F
>  GLIBC_2.32 pthread_getaffinity_np F
> +GLIBC_2.32 pthread_getattr_np F
>  GLIBC_2.32 pthread_sigmask F
>  GLIBC_2.4 _IO_fprintf F
>  GLIBC_2.4 _IO_printf F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
> index 4307193cb2..13b41dafb6 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
> @@ -177,7 +177,7 @@ GLIBC_2.2 pthread_yield F
>  GLIBC_2.2 pwrite F
>  GLIBC_2.2 pwrite64 F
>  GLIBC_2.2 sem_timedwait F
> -GLIBC_2.2.3 pthread_getattr_np F
> +GLIBC_2.2.3 __libpthread_version_placeholder F
>  GLIBC_2.2.6 __libpthread_version_placeholder F
>  GLIBC_2.28 call_once F
>  GLIBC_2.28 cnd_broadcast F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
> index 405a39cbd0..9a889f1bc6 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
> @@ -1946,6 +1946,7 @@ GLIBC_2.2.3 __rpc_thread_svc_fdset F
>  GLIBC_2.2.3 __rpc_thread_svc_max_pollfd F
>  GLIBC_2.2.3 __rpc_thread_svc_pollfd F
>  GLIBC_2.2.3 fnmatch F
> +GLIBC_2.2.3 pthread_getattr_np F
>  GLIBC_2.2.3 sprofil F
>  GLIBC_2.2.4 dl_iterate_phdr F
>  GLIBC_2.2.4 getgrouplist F
> @@ -2225,6 +2226,7 @@ GLIBC_2.30 tgkill F
>  GLIBC_2.30 twalk_r F
>  GLIBC_2.32 pthread_attr_setaffinity_np F
>  GLIBC_2.32 pthread_getaffinity_np F
> +GLIBC_2.32 pthread_getattr_np F
>  GLIBC_2.32 pthread_sigmask F
>  GLIBC_2.4 _IO_fprintf F
>  GLIBC_2.4 _IO_printf F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
> index b1286be61e..b69f4b126f 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
> @@ -1371,6 +1371,7 @@ GLIBC_2.3 pthread_condattr_destroy F
>  GLIBC_2.3 pthread_condattr_init F
>  GLIBC_2.3 pthread_equal F
>  GLIBC_2.3 pthread_exit F
> +GLIBC_2.3 pthread_getattr_np F
>  GLIBC_2.3 pthread_getschedparam F
>  GLIBC_2.3 pthread_mutex_destroy F
>  GLIBC_2.3 pthread_mutex_init F
> @@ -2055,6 +2056,7 @@ GLIBC_2.30 tgkill F
>  GLIBC_2.30 twalk_r F
>  GLIBC_2.32 pthread_attr_setaffinity_np F
>  GLIBC_2.32 pthread_getaffinity_np F
> +GLIBC_2.32 pthread_getattr_np F
>  GLIBC_2.32 pthread_sigmask F
>  GLIBC_2.4 _IO_fprintf F
>  GLIBC_2.4 _IO_printf F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
> index 41a9f178a2..e9477a3584 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
> @@ -114,7 +114,6 @@ GLIBC_2.3 pthread_condattr_setpshared F
>  GLIBC_2.3 pthread_create F
>  GLIBC_2.3 pthread_detach F
>  GLIBC_2.3 pthread_exit F
> -GLIBC_2.3 pthread_getattr_np F
>  GLIBC_2.3 pthread_getconcurrency F
>  GLIBC_2.3 pthread_getcpuclockid F
>  GLIBC_2.3 pthread_getspecific F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
> index c9016bfc8a..a07753847d 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
> @@ -1529,6 +1529,7 @@ GLIBC_2.17 pthread_condattr_init F
>  GLIBC_2.17 pthread_equal F
>  GLIBC_2.17 pthread_exit F
>  GLIBC_2.17 pthread_getaffinity_np F
> +GLIBC_2.17 pthread_getattr_np F
>  GLIBC_2.17 pthread_getschedparam F
>  GLIBC_2.17 pthread_mutex_destroy F
>  GLIBC_2.17 pthread_mutex_init F
> @@ -2345,4 +2346,5 @@ GLIBC_2.32 __wprintfieee128 F
>  GLIBC_2.32 __wscanfieee128 F
>  GLIBC_2.32 pthread_attr_setaffinity_np F
>  GLIBC_2.32 pthread_getaffinity_np F
> +GLIBC_2.32 pthread_getattr_np F
>  GLIBC_2.32 pthread_sigmask F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
> index 77cf95c491..c6b4ea2dc1 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
> @@ -95,7 +95,6 @@ GLIBC_2.17 pthread_condattr_setpshared F
>  GLIBC_2.17 pthread_create F
>  GLIBC_2.17 pthread_detach F
>  GLIBC_2.17 pthread_exit F
> -GLIBC_2.17 pthread_getattr_np F
>  GLIBC_2.17 pthread_getconcurrency F
>  GLIBC_2.17 pthread_getcpuclockid F
>  GLIBC_2.17 pthread_getname_np F
> diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
> index 029c60d5d8..6d5a52dc1a 100644
> --- a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
> @@ -1431,6 +1431,7 @@ GLIBC_2.27 pthread_condattr_init F
>  GLIBC_2.27 pthread_equal F
>  GLIBC_2.27 pthread_exit F
>  GLIBC_2.27 pthread_getaffinity_np F
> +GLIBC_2.27 pthread_getattr_np F
>  GLIBC_2.27 pthread_getschedparam F
>  GLIBC_2.27 pthread_mutex_destroy F
>  GLIBC_2.27 pthread_mutex_init F
> @@ -2112,4 +2113,5 @@ GLIBC_2.30 tgkill F
>  GLIBC_2.30 twalk_r F
>  GLIBC_2.32 pthread_attr_setaffinity_np F
>  GLIBC_2.32 pthread_getaffinity_np F
> +GLIBC_2.32 pthread_getattr_np F
>  GLIBC_2.32 pthread_sigmask F
> diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
> index 41a796e225..894c474fcb 100644
> --- a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
> @@ -93,7 +93,6 @@ GLIBC_2.27 pthread_create F
>  GLIBC_2.27 pthread_detach F
>  GLIBC_2.27 pthread_exit F
>  GLIBC_2.27 pthread_getattr_default_np F
> -GLIBC_2.27 pthread_getattr_np F
>  GLIBC_2.27 pthread_getconcurrency F
>  GLIBC_2.27 pthread_getcpuclockid F
>  GLIBC_2.27 pthread_getname_np F
> diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
> index b75ce88958..ae3849d3f6 100644
> --- a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
> @@ -1941,6 +1941,7 @@ GLIBC_2.2.3 __rpc_thread_svc_fdset F
>  GLIBC_2.2.3 __rpc_thread_svc_max_pollfd F
>  GLIBC_2.2.3 __rpc_thread_svc_pollfd F
>  GLIBC_2.2.3 fnmatch F
> +GLIBC_2.2.3 pthread_getattr_np F
>  GLIBC_2.2.3 sprofil F
>  GLIBC_2.2.4 dl_iterate_phdr F
>  GLIBC_2.2.4 getgrouplist F
> @@ -2190,6 +2191,7 @@ GLIBC_2.31 semctl F
>  GLIBC_2.31 shmctl F
>  GLIBC_2.32 pthread_attr_setaffinity_np F
>  GLIBC_2.32 pthread_getaffinity_np F
> +GLIBC_2.32 pthread_getattr_np F
>  GLIBC_2.32 pthread_sigmask F
>  GLIBC_2.4 _IO_fprintf F
>  GLIBC_2.4 _IO_printf F
> diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
> index 1471cf4d13..0a60f1cca2 100644
> --- a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
> @@ -179,7 +179,7 @@ GLIBC_2.2 pthread_yield F
>  GLIBC_2.2 pwrite F
>  GLIBC_2.2 pwrite64 F
>  GLIBC_2.2 sem_timedwait F
> -GLIBC_2.2.3 pthread_getattr_np F
> +GLIBC_2.2.3 __libpthread_version_placeholder F
>  GLIBC_2.2.6 __libpthread_version_placeholder F
>  GLIBC_2.28 call_once F
>  GLIBC_2.28 cnd_broadcast F
> diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
> index 70571678c6..2eb931c02c 100644
> --- a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
> @@ -1847,6 +1847,7 @@ GLIBC_2.2.3 __rpc_thread_svc_fdset F
>  GLIBC_2.2.3 __rpc_thread_svc_max_pollfd F
>  GLIBC_2.2.3 __rpc_thread_svc_pollfd F
>  GLIBC_2.2.3 fnmatch F
> +GLIBC_2.2.3 pthread_getattr_np F
>  GLIBC_2.2.3 sprofil F
>  GLIBC_2.2.4 dl_iterate_phdr F
>  GLIBC_2.2.4 getgrouplist F
> @@ -2091,6 +2092,7 @@ GLIBC_2.30 tgkill F
>  GLIBC_2.30 twalk_r F
>  GLIBC_2.32 pthread_attr_setaffinity_np F
>  GLIBC_2.32 pthread_getaffinity_np F
> +GLIBC_2.32 pthread_getattr_np F
>  GLIBC_2.32 pthread_sigmask F
>  GLIBC_2.4 _IO_fprintf F
>  GLIBC_2.4 _IO_printf F
> diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
> index 8d0b90477a..0e99688824 100644
> --- a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
> @@ -171,7 +171,7 @@ GLIBC_2.2 sigwait F
>  GLIBC_2.2 system F
>  GLIBC_2.2 tcdrain F
>  GLIBC_2.2 write F
> -GLIBC_2.2.3 pthread_getattr_np F
> +GLIBC_2.2.3 __libpthread_version_placeholder F
>  GLIBC_2.2.6 __libpthread_version_placeholder F
>  GLIBC_2.28 call_once F
>  GLIBC_2.28 cnd_broadcast F
> diff --git a/sysdeps/unix/sysv/linux/sh/be/libc.abilist b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
> index de14989270..ce4f366fbb 100644
> --- a/sysdeps/unix/sysv/linux/sh/be/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
> @@ -1833,6 +1833,7 @@ GLIBC_2.2.3 __rpc_thread_svc_fdset F
>  GLIBC_2.2.3 __rpc_thread_svc_max_pollfd F
>  GLIBC_2.2.3 __rpc_thread_svc_pollfd F
>  GLIBC_2.2.3 fnmatch F
> +GLIBC_2.2.3 pthread_getattr_np F
>  GLIBC_2.2.3 sprofil F
>  GLIBC_2.2.4 dl_iterate_phdr F
>  GLIBC_2.2.4 getgrouplist F
> @@ -2060,6 +2061,7 @@ GLIBC_2.31 semctl F
>  GLIBC_2.31 shmctl F
>  GLIBC_2.32 pthread_attr_setaffinity_np F
>  GLIBC_2.32 pthread_getaffinity_np F
> +GLIBC_2.32 pthread_getattr_np F
>  GLIBC_2.32 pthread_sigmask F
>  GLIBC_2.4 __confstr_chk F
>  GLIBC_2.4 __fgets_chk F
> diff --git a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
> index a12e0308b0..cabc5af858 100644
> --- a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
> @@ -169,7 +169,7 @@ GLIBC_2.2 sigwait F
>  GLIBC_2.2 system F
>  GLIBC_2.2 tcdrain F
>  GLIBC_2.2 write F
> -GLIBC_2.2.3 pthread_getattr_np F
> +GLIBC_2.2.3 __libpthread_version_placeholder F
>  GLIBC_2.2.6 __libpthread_version_placeholder F
>  GLIBC_2.28 call_once F
>  GLIBC_2.28 cnd_broadcast F
> diff --git a/sysdeps/unix/sysv/linux/sh/le/libc.abilist b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
> index e181c5c936..f37a08ab09 100644
> --- a/sysdeps/unix/sysv/linux/sh/le/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
> @@ -1833,6 +1833,7 @@ GLIBC_2.2.3 __rpc_thread_svc_fdset F
>  GLIBC_2.2.3 __rpc_thread_svc_max_pollfd F
>  GLIBC_2.2.3 __rpc_thread_svc_pollfd F
>  GLIBC_2.2.3 fnmatch F
> +GLIBC_2.2.3 pthread_getattr_np F
>  GLIBC_2.2.3 sprofil F
>  GLIBC_2.2.4 dl_iterate_phdr F
>  GLIBC_2.2.4 getgrouplist F
> @@ -2057,6 +2058,7 @@ GLIBC_2.30 tgkill F
>  GLIBC_2.30 twalk_r F
>  GLIBC_2.32 pthread_attr_setaffinity_np F
>  GLIBC_2.32 pthread_getaffinity_np F
> +GLIBC_2.32 pthread_getattr_np F
>  GLIBC_2.32 pthread_sigmask F
>  GLIBC_2.4 __confstr_chk F
>  GLIBC_2.4 __fgets_chk F
> diff --git a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
> index a12e0308b0..cabc5af858 100644
> --- a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
> @@ -169,7 +169,7 @@ GLIBC_2.2 sigwait F
>  GLIBC_2.2 system F
>  GLIBC_2.2 tcdrain F
>  GLIBC_2.2 write F
> -GLIBC_2.2.3 pthread_getattr_np F
> +GLIBC_2.2.3 __libpthread_version_placeholder F
>  GLIBC_2.2.6 __libpthread_version_placeholder F
>  GLIBC_2.28 call_once F
>  GLIBC_2.28 cnd_broadcast F
> diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
> index 670ed9b896..af3a5e2618 100644
> --- a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
> @@ -1935,6 +1935,7 @@ GLIBC_2.2.3 __rpc_thread_svc_fdset F
>  GLIBC_2.2.3 __rpc_thread_svc_max_pollfd F
>  GLIBC_2.2.3 __rpc_thread_svc_pollfd F
>  GLIBC_2.2.3 fnmatch F
> +GLIBC_2.2.3 pthread_getattr_np F
>  GLIBC_2.2.3 sprofil F
>  GLIBC_2.2.4 dl_iterate_phdr F
>  GLIBC_2.2.4 getgrouplist F
> @@ -2181,6 +2182,7 @@ GLIBC_2.30 tgkill F
>  GLIBC_2.30 twalk_r F
>  GLIBC_2.32 pthread_attr_setaffinity_np F
>  GLIBC_2.32 pthread_getaffinity_np F
> +GLIBC_2.32 pthread_getattr_np F
>  GLIBC_2.32 pthread_sigmask F
>  GLIBC_2.4 _IO_fprintf F
>  GLIBC_2.4 _IO_printf F
> diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
> index 8d504c3cdb..390b6384d0 100644
> --- a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
> @@ -177,7 +177,7 @@ GLIBC_2.2 pthread_yield F
>  GLIBC_2.2 pwrite F
>  GLIBC_2.2 pwrite64 F
>  GLIBC_2.2 sem_timedwait F
> -GLIBC_2.2.3 pthread_getattr_np F
> +GLIBC_2.2.3 __libpthread_version_placeholder F
>  GLIBC_2.2.6 __libpthread_version_placeholder F
>  GLIBC_2.28 call_once F
>  GLIBC_2.28 cnd_broadcast F
> diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
> index a7980633b3..1fccc06f21 100644
> --- a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
> @@ -1877,6 +1877,7 @@ GLIBC_2.2.3 __rpc_thread_svc_fdset F
>  GLIBC_2.2.3 __rpc_thread_svc_max_pollfd F
>  GLIBC_2.2.3 __rpc_thread_svc_pollfd F
>  GLIBC_2.2.3 fnmatch F
> +GLIBC_2.2.3 pthread_getattr_np F
>  GLIBC_2.2.3 sprofil F
>  GLIBC_2.2.4 dl_iterate_phdr F
>  GLIBC_2.2.4 getgrouplist F
> @@ -2108,6 +2109,7 @@ GLIBC_2.30 tgkill F
>  GLIBC_2.30 twalk_r F
>  GLIBC_2.32 pthread_attr_setaffinity_np F
>  GLIBC_2.32 pthread_getaffinity_np F
> +GLIBC_2.32 pthread_getattr_np F
>  GLIBC_2.32 pthread_sigmask F
>  GLIBC_2.4 __confstr_chk F
>  GLIBC_2.4 __fgets_chk F
> diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
> index 927afe3bd5..335f486cb5 100644
> --- a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
> @@ -169,7 +169,7 @@ GLIBC_2.2 sigwait F
>  GLIBC_2.2 system F
>  GLIBC_2.2 tcdrain F
>  GLIBC_2.2 write F
> -GLIBC_2.2.3 pthread_getattr_np F
> +GLIBC_2.2.3 __libpthread_version_placeholder F
>  GLIBC_2.2.6 __libpthread_version_placeholder F
>  GLIBC_2.28 call_once F
>  GLIBC_2.28 cnd_broadcast F
> diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
> index 766bfb7be3..03af18babb 100644
> --- a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
> @@ -1279,6 +1279,7 @@ GLIBC_2.2.5 pthread_condattr_destroy F
>  GLIBC_2.2.5 pthread_condattr_init F
>  GLIBC_2.2.5 pthread_equal F
>  GLIBC_2.2.5 pthread_exit F
> +GLIBC_2.2.5 pthread_getattr_np F
>  GLIBC_2.2.5 pthread_getschedparam F
>  GLIBC_2.2.5 pthread_mutex_destroy F
>  GLIBC_2.2.5 pthread_mutex_init F
> @@ -2066,6 +2067,7 @@ GLIBC_2.30 tgkill F
>  GLIBC_2.30 twalk_r F
>  GLIBC_2.32 pthread_attr_setaffinity_np F
>  GLIBC_2.32 pthread_getaffinity_np F
> +GLIBC_2.32 pthread_getattr_np F
>  GLIBC_2.32 pthread_sigmask F
>  GLIBC_2.4 __confstr_chk F
>  GLIBC_2.4 __fgets_chk F
> diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
> index 1b07b47739..971269d2ef 100644
> --- a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
> @@ -94,7 +94,6 @@ GLIBC_2.2.5 pthread_condattr_setpshared F
>  GLIBC_2.2.5 pthread_create F
>  GLIBC_2.2.5 pthread_detach F
>  GLIBC_2.2.5 pthread_exit F
> -GLIBC_2.2.5 pthread_getattr_np F
>  GLIBC_2.2.5 pthread_getconcurrency F
>  GLIBC_2.2.5 pthread_getcpuclockid F
>  GLIBC_2.2.5 pthread_getspecific F
> diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
> index 075f8870a1..2da0af70d4 100644
> --- a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
> @@ -1448,6 +1448,7 @@ GLIBC_2.16 pthread_condattr_init F
>  GLIBC_2.16 pthread_equal F
>  GLIBC_2.16 pthread_exit F
>  GLIBC_2.16 pthread_getaffinity_np F
> +GLIBC_2.16 pthread_getattr_np F
>  GLIBC_2.16 pthread_getschedparam F
>  GLIBC_2.16 pthread_mutex_destroy F
>  GLIBC_2.16 pthread_mutex_init F
> @@ -2163,4 +2164,5 @@ GLIBC_2.30 tgkill F
>  GLIBC_2.30 twalk_r F
>  GLIBC_2.32 pthread_attr_setaffinity_np F
>  GLIBC_2.32 pthread_getaffinity_np F
> +GLIBC_2.32 pthread_getattr_np F
>  GLIBC_2.32 pthread_sigmask F
> diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
> index 6ff1703de1..b9bf4324a9 100644
> --- a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
> @@ -95,7 +95,6 @@ GLIBC_2.16 pthread_condattr_setpshared F
>  GLIBC_2.16 pthread_create F
>  GLIBC_2.16 pthread_detach F
>  GLIBC_2.16 pthread_exit F
> -GLIBC_2.16 pthread_getattr_np F
>  GLIBC_2.16 pthread_getconcurrency F
>  GLIBC_2.16 pthread_getcpuclockid F
>  GLIBC_2.16 pthread_getname_np F
>
diff mbox series

Patch

diff --git a/nptl/Makefile b/nptl/Makefile
index 7edad1c0c9..0dd8800f19 100644
--- a/nptl/Makefile
+++ b/nptl/Makefile
@@ -58,6 +58,7 @@  routines = \
   pthread_condattr_init \
   pthread_equal \
   pthread_getaffinity \
+  pthread_getattr_np \
   pthread_getschedparam \
   pthread_self \
   pthread_setschedparam \
@@ -89,7 +90,6 @@  libpthread-routines = nptl-init nptlfreeres vars events version pt-interp \
 		      pthread_attr_getstackaddr pthread_attr_setstackaddr \
 		      pthread_attr_getstacksize pthread_attr_setstacksize \
 		      pthread_attr_getstack pthread_attr_setstack \
-		      pthread_getattr_np \
 		      pthread_mutex_init pthread_mutex_destroy \
 		      pthread_mutex_lock pthread_mutex_trylock \
 		      pthread_mutex_timedlock pthread_mutex_unlock \
diff --git a/nptl/Versions b/nptl/Versions
index 637d100a9e..ce08076611 100644
--- a/nptl/Versions
+++ b/nptl/Versions
@@ -21,6 +21,9 @@  libc {
   GLIBC_2.1 {
     pthread_attr_init;
   }
+  GLIBC_2.2.3 {
+    pthread_getattr_np;
+  }
   GLIBC_2.3.2 {
     __register_atfork;
 
@@ -43,6 +46,7 @@  libc {
   GLIBC_2.32 {
     pthread_attr_setaffinity_np;
     pthread_getaffinity_np;
+    pthread_getattr_np;
     pthread_sigmask;
   }
   GLIBC_PRIVATE {
@@ -55,7 +59,6 @@  libc {
     # Used by the C11 threads implementation.
     __pthread_cond_destroy; __pthread_cond_init;
     __pthread_attr_setaffinity_np;
-    __pthread_getaffinity_np; # For pthread_getattr_np.
   }
 }
 
@@ -197,8 +200,7 @@  libpthread {
   }
 
   GLIBC_2.2.3 {
-    # Extensions.
-    pthread_getattr_np;
+    __libpthread_version_placeholder;
   }
 
   GLIBC_2.2.6 {
diff --git a/nptl/libpthread-compat.c b/nptl/libpthread-compat.c
index 512b4c77c8..ec02b5dccf 100644
--- a/nptl/libpthread-compat.c
+++ b/nptl/libpthread-compat.c
@@ -41,6 +41,11 @@  compat_symbol_unique (libpthread,
 		      __libpthread_version_placeholder, GLIBC_2_1_2);
 #endif
 
+#if (SHLIB_COMPAT (libpthread, GLIBC_2_2_3, GLIBC_2_2_4))
+compat_symbol_unique (libpthread,
+		      __libpthread_version_placeholder, GLIBC_2_2_3);
+#endif
+
 #if (SHLIB_COMPAT (libpthread, GLIBC_2_2_6, GLIBC_2_3))
 compat_symbol_unique (libpthread,
 		      __libpthread_version_placeholder, GLIBC_2_2_6);
diff --git a/nptl/pthread_getattr_np.c b/nptl/pthread_getattr_np.c
index 644548d862..0e8911346d 100644
--- a/nptl/pthread_getattr_np.c
+++ b/nptl/pthread_getattr_np.c
@@ -30,7 +30,7 @@ 
 
 
 int
-pthread_getattr_np (pthread_t thread_id, pthread_attr_t *attr)
+__pthread_getattr_np (pthread_t thread_id, pthread_attr_t *attr)
 {
   struct pthread *thread = (struct pthread *) thread_id;
   struct pthread_attr *iattr = (struct pthread_attr *) attr;
@@ -84,7 +84,7 @@  pthread_getattr_np (pthread_t thread_id, pthread_attr_t *attr)
       /* We need the limit of the stack in any case.  */
       else
 	{
-	  if (getrlimit (RLIMIT_STACK, &rl) != 0)
+	  if (__getrlimit (RLIMIT_STACK, &rl) != 0)
 	    ret = errno;
 	  else
 	    {
@@ -115,7 +115,7 @@  pthread_getattr_np (pthread_t thread_id, pthread_attr_t *attr)
 
 	      while (! feof_unlocked (fp))
 		{
-		  if (__getdelim (&line, &linelen, '\n', fp) <= 0)
+		  if (__getline (&line, &linelen, fp) <= 0)
 		    break;
 
 		  uintptr_t from;
@@ -208,3 +208,10 @@  pthread_getattr_np (pthread_t thread_id, pthread_attr_t *attr)
 
   return ret;
 }
+versioned_symbol (libc, __pthread_getattr_np, pthread_getattr_np, GLIBC_2_32);
+
+#if SHLIB_COMPAT (libc, GLIBC_2_2_3, GLIBC_2_32)
+strong_alias (__pthread_getattr_np, __pthread_getattr_np_alias)
+compat_symbol (libc, __pthread_getattr_np_alias,
+	       pthread_getattr_np, GLIBC_2_2_3);
+#endif
diff --git a/sysdeps/unix/sysv/linux/aarch64/libc.abilist b/sysdeps/unix/sysv/linux/aarch64/libc.abilist
index 55499b8d3c..6dc59b38b0 100644
--- a/sysdeps/unix/sysv/linux/aarch64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/aarch64/libc.abilist
@@ -1440,6 +1440,7 @@  GLIBC_2.17 pthread_condattr_init F
 GLIBC_2.17 pthread_equal F
 GLIBC_2.17 pthread_exit F
 GLIBC_2.17 pthread_getaffinity_np F
+GLIBC_2.17 pthread_getattr_np F
 GLIBC_2.17 pthread_getschedparam F
 GLIBC_2.17 pthread_mutex_destroy F
 GLIBC_2.17 pthread_mutex_init F
@@ -2150,4 +2151,5 @@  GLIBC_2.30 tgkill F
 GLIBC_2.30 twalk_r F
 GLIBC_2.32 pthread_attr_setaffinity_np F
 GLIBC_2.32 pthread_getaffinity_np F
+GLIBC_2.32 pthread_getattr_np F
 GLIBC_2.32 pthread_sigmask F
diff --git a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
index 77cf95c491..c6b4ea2dc1 100644
--- a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
@@ -95,7 +95,6 @@  GLIBC_2.17 pthread_condattr_setpshared F
 GLIBC_2.17 pthread_create F
 GLIBC_2.17 pthread_detach F
 GLIBC_2.17 pthread_exit F
-GLIBC_2.17 pthread_getattr_np F
 GLIBC_2.17 pthread_getconcurrency F
 GLIBC_2.17 pthread_getcpuclockid F
 GLIBC_2.17 pthread_getname_np F
diff --git a/sysdeps/unix/sysv/linux/alpha/libc.abilist b/sysdeps/unix/sysv/linux/alpha/libc.abilist
index 387b0badaa..fd628bcd28 100644
--- a/sysdeps/unix/sysv/linux/alpha/libc.abilist
+++ b/sysdeps/unix/sysv/linux/alpha/libc.abilist
@@ -1969,6 +1969,7 @@  GLIBC_2.2.3 __rpc_thread_svc_fdset F
 GLIBC_2.2.3 __rpc_thread_svc_max_pollfd F
 GLIBC_2.2.3 __rpc_thread_svc_pollfd F
 GLIBC_2.2.3 fnmatch F
+GLIBC_2.2.3 pthread_getattr_np F
 GLIBC_2.2.3 sprofil F
 GLIBC_2.2.4 dl_iterate_phdr F
 GLIBC_2.2.4 getgrouplist F
@@ -2232,6 +2233,7 @@  GLIBC_2.30 tgkill F
 GLIBC_2.30 twalk_r F
 GLIBC_2.32 pthread_attr_setaffinity_np F
 GLIBC_2.32 pthread_getaffinity_np F
+GLIBC_2.32 pthread_getattr_np F
 GLIBC_2.32 pthread_sigmask F
 GLIBC_2.4 _IO_fprintf F
 GLIBC_2.4 _IO_printf F
diff --git a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
index 8d504c3cdb..390b6384d0 100644
--- a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
@@ -177,7 +177,7 @@  GLIBC_2.2 pthread_yield F
 GLIBC_2.2 pwrite F
 GLIBC_2.2 pwrite64 F
 GLIBC_2.2 sem_timedwait F
-GLIBC_2.2.3 pthread_getattr_np F
+GLIBC_2.2.3 __libpthread_version_placeholder F
 GLIBC_2.2.6 __libpthread_version_placeholder F
 GLIBC_2.28 call_once F
 GLIBC_2.28 cnd_broadcast F
diff --git a/sysdeps/unix/sysv/linux/arm/be/libc.abilist b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
index 2775ee0963..d0b1cd24c9 100644
--- a/sysdeps/unix/sysv/linux/arm/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
@@ -135,6 +135,7 @@  GLIBC_2.31 semctl F
 GLIBC_2.31 shmctl F
 GLIBC_2.32 pthread_attr_setaffinity_np F
 GLIBC_2.32 pthread_getaffinity_np F
+GLIBC_2.32 pthread_getattr_np F
 GLIBC_2.32 pthread_sigmask F
 GLIBC_2.4 _Exit F
 GLIBC_2.4 _IO_2_1_stderr_ D 0xa0
@@ -1513,6 +1514,7 @@  GLIBC_2.4 pthread_condattr_init F
 GLIBC_2.4 pthread_equal F
 GLIBC_2.4 pthread_exit F
 GLIBC_2.4 pthread_getaffinity_np F
+GLIBC_2.4 pthread_getattr_np F
 GLIBC_2.4 pthread_getschedparam F
 GLIBC_2.4 pthread_mutex_destroy F
 GLIBC_2.4 pthread_mutex_init F
diff --git a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
index c1313fb4bf..b6c26c7a50 100644
--- a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
@@ -130,7 +130,6 @@  GLIBC_2.4 pthread_condattr_setpshared F
 GLIBC_2.4 pthread_create F
 GLIBC_2.4 pthread_detach F
 GLIBC_2.4 pthread_exit F
-GLIBC_2.4 pthread_getattr_np F
 GLIBC_2.4 pthread_getconcurrency F
 GLIBC_2.4 pthread_getcpuclockid F
 GLIBC_2.4 pthread_getspecific F
diff --git a/sysdeps/unix/sysv/linux/arm/le/libc.abilist b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
index 0e233ff542..3dde0ef8bd 100644
--- a/sysdeps/unix/sysv/linux/arm/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
@@ -132,6 +132,7 @@  GLIBC_2.30 tgkill F
 GLIBC_2.30 twalk_r F
 GLIBC_2.32 pthread_attr_setaffinity_np F
 GLIBC_2.32 pthread_getaffinity_np F
+GLIBC_2.32 pthread_getattr_np F
 GLIBC_2.32 pthread_sigmask F
 GLIBC_2.4 _Exit F
 GLIBC_2.4 _IO_2_1_stderr_ D 0xa0
@@ -1510,6 +1511,7 @@  GLIBC_2.4 pthread_condattr_init F
 GLIBC_2.4 pthread_equal F
 GLIBC_2.4 pthread_exit F
 GLIBC_2.4 pthread_getaffinity_np F
+GLIBC_2.4 pthread_getattr_np F
 GLIBC_2.4 pthread_getschedparam F
 GLIBC_2.4 pthread_mutex_destroy F
 GLIBC_2.4 pthread_mutex_init F
diff --git a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
index c1313fb4bf..b6c26c7a50 100644
--- a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
@@ -130,7 +130,6 @@  GLIBC_2.4 pthread_condattr_setpshared F
 GLIBC_2.4 pthread_create F
 GLIBC_2.4 pthread_detach F
 GLIBC_2.4 pthread_exit F
-GLIBC_2.4 pthread_getattr_np F
 GLIBC_2.4 pthread_getconcurrency F
 GLIBC_2.4 pthread_getcpuclockid F
 GLIBC_2.4 pthread_getspecific F
diff --git a/sysdeps/unix/sysv/linux/csky/libc.abilist b/sysdeps/unix/sysv/linux/csky/libc.abilist
index dbef2ad653..4db9bbd971 100644
--- a/sysdeps/unix/sysv/linux/csky/libc.abilist
+++ b/sysdeps/unix/sysv/linux/csky/libc.abilist
@@ -1428,6 +1428,7 @@  GLIBC_2.29 pthread_condattr_init F
 GLIBC_2.29 pthread_equal F
 GLIBC_2.29 pthread_exit F
 GLIBC_2.29 pthread_getaffinity_np F
+GLIBC_2.29 pthread_getattr_np F
 GLIBC_2.29 pthread_getschedparam F
 GLIBC_2.29 pthread_mutex_destroy F
 GLIBC_2.29 pthread_mutex_init F
@@ -2094,4 +2095,5 @@  GLIBC_2.30 tgkill F
 GLIBC_2.30 twalk_r F
 GLIBC_2.32 pthread_attr_setaffinity_np F
 GLIBC_2.32 pthread_getaffinity_np F
+GLIBC_2.32 pthread_getattr_np F
 GLIBC_2.32 pthread_sigmask F
diff --git a/sysdeps/unix/sysv/linux/csky/libpthread.abilist b/sysdeps/unix/sysv/linux/csky/libpthread.abilist
index bcdea792ec..6ce59276a7 100644
--- a/sysdeps/unix/sysv/linux/csky/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/csky/libpthread.abilist
@@ -104,7 +104,6 @@  GLIBC_2.29 pthread_create F
 GLIBC_2.29 pthread_detach F
 GLIBC_2.29 pthread_exit F
 GLIBC_2.29 pthread_getattr_default_np F
-GLIBC_2.29 pthread_getattr_np F
 GLIBC_2.29 pthread_getconcurrency F
 GLIBC_2.29 pthread_getcpuclockid F
 GLIBC_2.29 pthread_getname_np F
diff --git a/sysdeps/unix/sysv/linux/hppa/libc.abilist b/sysdeps/unix/sysv/linux/hppa/libc.abilist
index 4405dbfe63..52aa86b191 100644
--- a/sysdeps/unix/sysv/linux/hppa/libc.abilist
+++ b/sysdeps/unix/sysv/linux/hppa/libc.abilist
@@ -1829,6 +1829,7 @@  GLIBC_2.2.3 __rpc_thread_svc_fdset F
 GLIBC_2.2.3 __rpc_thread_svc_max_pollfd F
 GLIBC_2.2.3 __rpc_thread_svc_pollfd F
 GLIBC_2.2.3 fnmatch F
+GLIBC_2.2.3 pthread_getattr_np F
 GLIBC_2.2.3 sprofil F
 GLIBC_2.2.4 dl_iterate_phdr F
 GLIBC_2.2.4 getgrouplist F
@@ -2053,6 +2054,7 @@  GLIBC_2.30 tgkill F
 GLIBC_2.30 twalk_r F
 GLIBC_2.32 pthread_attr_setaffinity_np F
 GLIBC_2.32 pthread_getaffinity_np F
+GLIBC_2.32 pthread_getattr_np F
 GLIBC_2.32 pthread_sigmask F
 GLIBC_2.4 __confstr_chk F
 GLIBC_2.4 __fgets_chk F
diff --git a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
index a12e0308b0..cabc5af858 100644
--- a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
@@ -169,7 +169,7 @@  GLIBC_2.2 sigwait F
 GLIBC_2.2 system F
 GLIBC_2.2 tcdrain F
 GLIBC_2.2 write F
-GLIBC_2.2.3 pthread_getattr_np F
+GLIBC_2.2.3 __libpthread_version_placeholder F
 GLIBC_2.2.6 __libpthread_version_placeholder F
 GLIBC_2.28 call_once F
 GLIBC_2.28 cnd_broadcast F
diff --git a/sysdeps/unix/sysv/linux/i386/libc.abilist b/sysdeps/unix/sysv/linux/i386/libc.abilist
index de447796e7..48ee395a64 100644
--- a/sysdeps/unix/sysv/linux/i386/libc.abilist
+++ b/sysdeps/unix/sysv/linux/i386/libc.abilist
@@ -1982,6 +1982,7 @@  GLIBC_2.2.3 __rpc_thread_svc_fdset F
 GLIBC_2.2.3 __rpc_thread_svc_max_pollfd F
 GLIBC_2.2.3 __rpc_thread_svc_pollfd F
 GLIBC_2.2.3 fnmatch F
+GLIBC_2.2.3 pthread_getattr_np F
 GLIBC_2.2.3 sprofil F
 GLIBC_2.2.4 dl_iterate_phdr F
 GLIBC_2.2.4 getgrouplist F
@@ -2219,6 +2220,7 @@  GLIBC_2.30 tgkill F
 GLIBC_2.30 twalk_r F
 GLIBC_2.32 pthread_attr_setaffinity_np F
 GLIBC_2.32 pthread_getaffinity_np F
+GLIBC_2.32 pthread_getattr_np F
 GLIBC_2.32 pthread_sigmask F
 GLIBC_2.4 __confstr_chk F
 GLIBC_2.4 __fgets_chk F
diff --git a/sysdeps/unix/sysv/linux/i386/libpthread.abilist b/sysdeps/unix/sysv/linux/i386/libpthread.abilist
index f84feaca66..18177307c8 100644
--- a/sysdeps/unix/sysv/linux/i386/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/i386/libpthread.abilist
@@ -177,7 +177,7 @@  GLIBC_2.2 pthread_yield F
 GLIBC_2.2 pwrite F
 GLIBC_2.2 pwrite64 F
 GLIBC_2.2 sem_timedwait F
-GLIBC_2.2.3 pthread_getattr_np F
+GLIBC_2.2.3 __libpthread_version_placeholder F
 GLIBC_2.2.6 __libpthread_version_placeholder F
 GLIBC_2.28 call_once F
 GLIBC_2.28 cnd_broadcast F
diff --git a/sysdeps/unix/sysv/linux/ia64/libc.abilist b/sysdeps/unix/sysv/linux/ia64/libc.abilist
index df3da1bea3..34458f348f 100644
--- a/sysdeps/unix/sysv/linux/ia64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/ia64/libc.abilist
@@ -1851,6 +1851,7 @@  GLIBC_2.2.3 __rpc_thread_svc_fdset F
 GLIBC_2.2.3 __rpc_thread_svc_max_pollfd F
 GLIBC_2.2.3 __rpc_thread_svc_pollfd F
 GLIBC_2.2.3 fnmatch F
+GLIBC_2.2.3 pthread_getattr_np F
 GLIBC_2.2.3 sprofil F
 GLIBC_2.2.4 dl_iterate_phdr F
 GLIBC_2.2.4 getgrouplist F
@@ -2085,6 +2086,7 @@  GLIBC_2.30 tgkill F
 GLIBC_2.30 twalk_r F
 GLIBC_2.32 pthread_attr_setaffinity_np F
 GLIBC_2.32 pthread_getaffinity_np F
+GLIBC_2.32 pthread_getattr_np F
 GLIBC_2.32 pthread_sigmask F
 GLIBC_2.4 __confstr_chk F
 GLIBC_2.4 __fgets_chk F
diff --git a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
index 927afe3bd5..335f486cb5 100644
--- a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
@@ -169,7 +169,7 @@  GLIBC_2.2 sigwait F
 GLIBC_2.2 system F
 GLIBC_2.2 tcdrain F
 GLIBC_2.2 write F
-GLIBC_2.2.3 pthread_getattr_np F
+GLIBC_2.2.3 __libpthread_version_placeholder F
 GLIBC_2.2.6 __libpthread_version_placeholder F
 GLIBC_2.28 call_once F
 GLIBC_2.28 cnd_broadcast F
diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
index deb56b3dfc..377326b12c 100644
--- a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
@@ -136,6 +136,7 @@  GLIBC_2.31 semctl F
 GLIBC_2.31 shmctl F
 GLIBC_2.32 pthread_attr_setaffinity_np F
 GLIBC_2.32 pthread_getaffinity_np F
+GLIBC_2.32 pthread_getattr_np F
 GLIBC_2.32 pthread_sigmask F
 GLIBC_2.4 _Exit F
 GLIBC_2.4 _IO_2_1_stderr_ D 0x98
@@ -1493,6 +1494,7 @@  GLIBC_2.4 pthread_condattr_init F
 GLIBC_2.4 pthread_equal F
 GLIBC_2.4 pthread_exit F
 GLIBC_2.4 pthread_getaffinity_np F
+GLIBC_2.4 pthread_getattr_np F
 GLIBC_2.4 pthread_getschedparam F
 GLIBC_2.4 pthread_mutex_destroy F
 GLIBC_2.4 pthread_mutex_init F
diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
index c1313fb4bf..b6c26c7a50 100644
--- a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
@@ -130,7 +130,6 @@  GLIBC_2.4 pthread_condattr_setpshared F
 GLIBC_2.4 pthread_create F
 GLIBC_2.4 pthread_detach F
 GLIBC_2.4 pthread_exit F
-GLIBC_2.4 pthread_getattr_np F
 GLIBC_2.4 pthread_getconcurrency F
 GLIBC_2.4 pthread_getcpuclockid F
 GLIBC_2.4 pthread_getspecific F
diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
index 96d8a1a101..81eea10680 100644
--- a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
@@ -1938,6 +1938,7 @@  GLIBC_2.2.3 __rpc_thread_svc_fdset F
 GLIBC_2.2.3 __rpc_thread_svc_max_pollfd F
 GLIBC_2.2.3 __rpc_thread_svc_pollfd F
 GLIBC_2.2.3 fnmatch F
+GLIBC_2.2.3 pthread_getattr_np F
 GLIBC_2.2.3 sprofil F
 GLIBC_2.2.4 dl_iterate_phdr F
 GLIBC_2.2.4 getgrouplist F
@@ -2165,6 +2166,7 @@  GLIBC_2.31 semctl F
 GLIBC_2.31 shmctl F
 GLIBC_2.32 pthread_attr_setaffinity_np F
 GLIBC_2.32 pthread_getaffinity_np F
+GLIBC_2.32 pthread_getattr_np F
 GLIBC_2.32 pthread_sigmask F
 GLIBC_2.4 __confstr_chk F
 GLIBC_2.4 __fgets_chk F
diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
index f84feaca66..18177307c8 100644
--- a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
@@ -177,7 +177,7 @@  GLIBC_2.2 pthread_yield F
 GLIBC_2.2 pwrite F
 GLIBC_2.2 pwrite64 F
 GLIBC_2.2 sem_timedwait F
-GLIBC_2.2.3 pthread_getattr_np F
+GLIBC_2.2.3 __libpthread_version_placeholder F
 GLIBC_2.2.6 __libpthread_version_placeholder F
 GLIBC_2.28 call_once F
 GLIBC_2.28 cnd_broadcast F
diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
index 134db9a3f8..ff75663747 100644
--- a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
@@ -1443,6 +1443,7 @@  GLIBC_2.18 pthread_condattr_init F
 GLIBC_2.18 pthread_equal F
 GLIBC_2.18 pthread_exit F
 GLIBC_2.18 pthread_getaffinity_np F
+GLIBC_2.18 pthread_getattr_np F
 GLIBC_2.18 pthread_getschedparam F
 GLIBC_2.18 pthread_mutex_destroy F
 GLIBC_2.18 pthread_mutex_init F
@@ -2145,4 +2146,5 @@  GLIBC_2.31 semctl F
 GLIBC_2.31 shmctl F
 GLIBC_2.32 pthread_attr_setaffinity_np F
 GLIBC_2.32 pthread_getaffinity_np F
+GLIBC_2.32 pthread_getattr_np F
 GLIBC_2.32 pthread_sigmask F
diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
index 1af46cb44e..60397187b6 100644
--- a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
@@ -96,7 +96,6 @@  GLIBC_2.18 pthread_create F
 GLIBC_2.18 pthread_detach F
 GLIBC_2.18 pthread_exit F
 GLIBC_2.18 pthread_getattr_default_np F
-GLIBC_2.18 pthread_getattr_np F
 GLIBC_2.18 pthread_getconcurrency F
 GLIBC_2.18 pthread_getcpuclockid F
 GLIBC_2.18 pthread_getname_np F
diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
index aa5be2136d..e9a6375dfc 100644
--- a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
@@ -1443,6 +1443,7 @@  GLIBC_2.18 pthread_condattr_init F
 GLIBC_2.18 pthread_equal F
 GLIBC_2.18 pthread_exit F
 GLIBC_2.18 pthread_getaffinity_np F
+GLIBC_2.18 pthread_getattr_np F
 GLIBC_2.18 pthread_getschedparam F
 GLIBC_2.18 pthread_mutex_destroy F
 GLIBC_2.18 pthread_mutex_init F
@@ -2142,4 +2143,5 @@  GLIBC_2.30 tgkill F
 GLIBC_2.30 twalk_r F
 GLIBC_2.32 pthread_attr_setaffinity_np F
 GLIBC_2.32 pthread_getaffinity_np F
+GLIBC_2.32 pthread_getattr_np F
 GLIBC_2.32 pthread_sigmask F
diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
index 1af46cb44e..60397187b6 100644
--- a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
@@ -96,7 +96,6 @@  GLIBC_2.18 pthread_create F
 GLIBC_2.18 pthread_detach F
 GLIBC_2.18 pthread_exit F
 GLIBC_2.18 pthread_getattr_default_np F
-GLIBC_2.18 pthread_getattr_np F
 GLIBC_2.18 pthread_getconcurrency F
 GLIBC_2.18 pthread_getcpuclockid F
 GLIBC_2.18 pthread_getname_np F
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
index 8f76103289..598fc488c7 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
@@ -1916,6 +1916,7 @@  GLIBC_2.2.3 __rpc_thread_svc_fdset F
 GLIBC_2.2.3 __rpc_thread_svc_max_pollfd F
 GLIBC_2.2.3 __rpc_thread_svc_pollfd F
 GLIBC_2.2.3 fnmatch F
+GLIBC_2.2.3 pthread_getattr_np F
 GLIBC_2.2.3 sprofil F
 GLIBC_2.2.4 dl_iterate_phdr F
 GLIBC_2.2.4 getgrouplist F
@@ -2136,6 +2137,7 @@  GLIBC_2.30 tgkill F
 GLIBC_2.30 twalk_r F
 GLIBC_2.32 pthread_attr_setaffinity_np F
 GLIBC_2.32 pthread_getaffinity_np F
+GLIBC_2.32 pthread_getattr_np F
 GLIBC_2.32 pthread_sigmask F
 GLIBC_2.4 __confstr_chk F
 GLIBC_2.4 __fgets_chk F
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
index 14009d87e9..b35d7f19ca 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
@@ -176,7 +176,7 @@  GLIBC_2.2 sem_timedwait F
 GLIBC_2.2 sem_trywait F
 GLIBC_2.2 sem_unlink F
 GLIBC_2.2 sem_wait F
-GLIBC_2.2.3 pthread_getattr_np F
+GLIBC_2.2.3 __libpthread_version_placeholder F
 GLIBC_2.2.6 __libpthread_version_placeholder F
 GLIBC_2.28 call_once F
 GLIBC_2.28 cnd_broadcast F
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
index ec6d5478e2..77e8d6b155 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
@@ -1914,6 +1914,7 @@  GLIBC_2.2.3 __rpc_thread_svc_fdset F
 GLIBC_2.2.3 __rpc_thread_svc_max_pollfd F
 GLIBC_2.2.3 __rpc_thread_svc_pollfd F
 GLIBC_2.2.3 fnmatch F
+GLIBC_2.2.3 pthread_getattr_np F
 GLIBC_2.2.3 sprofil F
 GLIBC_2.2.4 dl_iterate_phdr F
 GLIBC_2.2.4 getgrouplist F
@@ -2134,6 +2135,7 @@  GLIBC_2.30 tgkill F
 GLIBC_2.30 twalk_r F
 GLIBC_2.32 pthread_attr_setaffinity_np F
 GLIBC_2.32 pthread_getaffinity_np F
+GLIBC_2.32 pthread_getattr_np F
 GLIBC_2.32 pthread_sigmask F
 GLIBC_2.4 __confstr_chk F
 GLIBC_2.4 __fgets_chk F
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
index 14009d87e9..b35d7f19ca 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
@@ -176,7 +176,7 @@  GLIBC_2.2 sem_timedwait F
 GLIBC_2.2 sem_trywait F
 GLIBC_2.2 sem_unlink F
 GLIBC_2.2 sem_wait F
-GLIBC_2.2.3 pthread_getattr_np F
+GLIBC_2.2.3 __libpthread_version_placeholder F
 GLIBC_2.2.6 __libpthread_version_placeholder F
 GLIBC_2.28 call_once F
 GLIBC_2.28 cnd_broadcast F
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
index 4f473ef639..a3aad2487f 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
@@ -1912,6 +1912,7 @@  GLIBC_2.2.3 __rpc_thread_svc_fdset F
 GLIBC_2.2.3 __rpc_thread_svc_max_pollfd F
 GLIBC_2.2.3 __rpc_thread_svc_pollfd F
 GLIBC_2.2.3 fnmatch F
+GLIBC_2.2.3 pthread_getattr_np F
 GLIBC_2.2.3 sprofil F
 GLIBC_2.2.4 dl_iterate_phdr F
 GLIBC_2.2.4 getgrouplist F
@@ -2142,6 +2143,7 @@  GLIBC_2.30 tgkill F
 GLIBC_2.30 twalk_r F
 GLIBC_2.32 pthread_attr_setaffinity_np F
 GLIBC_2.32 pthread_getaffinity_np F
+GLIBC_2.32 pthread_getattr_np F
 GLIBC_2.32 pthread_sigmask F
 GLIBC_2.4 __confstr_chk F
 GLIBC_2.4 __fgets_chk F
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
index 81a7044545..c074f612f5 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
@@ -1908,6 +1908,7 @@  GLIBC_2.2.3 __rpc_thread_svc_fdset F
 GLIBC_2.2.3 __rpc_thread_svc_max_pollfd F
 GLIBC_2.2.3 __rpc_thread_svc_pollfd F
 GLIBC_2.2.3 fnmatch F
+GLIBC_2.2.3 pthread_getattr_np F
 GLIBC_2.2.3 sprofil F
 GLIBC_2.2.4 dl_iterate_phdr F
 GLIBC_2.2.4 getgrouplist F
@@ -2136,6 +2137,7 @@  GLIBC_2.30 tgkill F
 GLIBC_2.30 twalk_r F
 GLIBC_2.32 pthread_attr_setaffinity_np F
 GLIBC_2.32 pthread_getaffinity_np F
+GLIBC_2.32 pthread_getattr_np F
 GLIBC_2.32 pthread_sigmask F
 GLIBC_2.4 __confstr_chk F
 GLIBC_2.4 __fgets_chk F
diff --git a/sysdeps/unix/sysv/linux/nios2/libc.abilist b/sysdeps/unix/sysv/linux/nios2/libc.abilist
index 7ba8a9a002..d1c638acb9 100644
--- a/sysdeps/unix/sysv/linux/nios2/libc.abilist
+++ b/sysdeps/unix/sysv/linux/nios2/libc.abilist
@@ -1485,6 +1485,7 @@  GLIBC_2.21 pthread_condattr_init F
 GLIBC_2.21 pthread_equal F
 GLIBC_2.21 pthread_exit F
 GLIBC_2.21 pthread_getaffinity_np F
+GLIBC_2.21 pthread_getattr_np F
 GLIBC_2.21 pthread_getschedparam F
 GLIBC_2.21 pthread_mutex_destroy F
 GLIBC_2.21 pthread_mutex_init F
@@ -2183,4 +2184,5 @@  GLIBC_2.30 tgkill F
 GLIBC_2.30 twalk_r F
 GLIBC_2.32 pthread_attr_setaffinity_np F
 GLIBC_2.32 pthread_getaffinity_np F
+GLIBC_2.32 pthread_getattr_np F
 GLIBC_2.32 pthread_sigmask F
diff --git a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
index 0c1fa0baca..924ad6e451 100644
--- a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
@@ -96,7 +96,6 @@  GLIBC_2.21 pthread_create F
 GLIBC_2.21 pthread_detach F
 GLIBC_2.21 pthread_exit F
 GLIBC_2.21 pthread_getattr_default_np F
-GLIBC_2.21 pthread_getattr_np F
 GLIBC_2.21 pthread_getconcurrency F
 GLIBC_2.21 pthread_getcpuclockid F
 GLIBC_2.21 pthread_getname_np F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
index 6483f68273..bfc8185b0e 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
@@ -1942,6 +1942,7 @@  GLIBC_2.2.3 __rpc_thread_svc_fdset F
 GLIBC_2.2.3 __rpc_thread_svc_max_pollfd F
 GLIBC_2.2.3 __rpc_thread_svc_pollfd F
 GLIBC_2.2.3 fnmatch F
+GLIBC_2.2.3 pthread_getattr_np F
 GLIBC_2.2.3 sprofil F
 GLIBC_2.2.4 dl_iterate_phdr F
 GLIBC_2.2.4 getgrouplist F
@@ -2192,6 +2193,7 @@  GLIBC_2.30 tgkill F
 GLIBC_2.30 twalk_r F
 GLIBC_2.32 pthread_attr_setaffinity_np F
 GLIBC_2.32 pthread_getaffinity_np F
+GLIBC_2.32 pthread_getattr_np F
 GLIBC_2.32 pthread_sigmask F
 GLIBC_2.4 _IO_fprintf F
 GLIBC_2.4 _IO_printf F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
index 4307193cb2..13b41dafb6 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
@@ -177,7 +177,7 @@  GLIBC_2.2 pthread_yield F
 GLIBC_2.2 pwrite F
 GLIBC_2.2 pwrite64 F
 GLIBC_2.2 sem_timedwait F
-GLIBC_2.2.3 pthread_getattr_np F
+GLIBC_2.2.3 __libpthread_version_placeholder F
 GLIBC_2.2.6 __libpthread_version_placeholder F
 GLIBC_2.28 call_once F
 GLIBC_2.28 cnd_broadcast F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
index 405a39cbd0..9a889f1bc6 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
@@ -1946,6 +1946,7 @@  GLIBC_2.2.3 __rpc_thread_svc_fdset F
 GLIBC_2.2.3 __rpc_thread_svc_max_pollfd F
 GLIBC_2.2.3 __rpc_thread_svc_pollfd F
 GLIBC_2.2.3 fnmatch F
+GLIBC_2.2.3 pthread_getattr_np F
 GLIBC_2.2.3 sprofil F
 GLIBC_2.2.4 dl_iterate_phdr F
 GLIBC_2.2.4 getgrouplist F
@@ -2225,6 +2226,7 @@  GLIBC_2.30 tgkill F
 GLIBC_2.30 twalk_r F
 GLIBC_2.32 pthread_attr_setaffinity_np F
 GLIBC_2.32 pthread_getaffinity_np F
+GLIBC_2.32 pthread_getattr_np F
 GLIBC_2.32 pthread_sigmask F
 GLIBC_2.4 _IO_fprintf F
 GLIBC_2.4 _IO_printf F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
index b1286be61e..b69f4b126f 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
@@ -1371,6 +1371,7 @@  GLIBC_2.3 pthread_condattr_destroy F
 GLIBC_2.3 pthread_condattr_init F
 GLIBC_2.3 pthread_equal F
 GLIBC_2.3 pthread_exit F
+GLIBC_2.3 pthread_getattr_np F
 GLIBC_2.3 pthread_getschedparam F
 GLIBC_2.3 pthread_mutex_destroy F
 GLIBC_2.3 pthread_mutex_init F
@@ -2055,6 +2056,7 @@  GLIBC_2.30 tgkill F
 GLIBC_2.30 twalk_r F
 GLIBC_2.32 pthread_attr_setaffinity_np F
 GLIBC_2.32 pthread_getaffinity_np F
+GLIBC_2.32 pthread_getattr_np F
 GLIBC_2.32 pthread_sigmask F
 GLIBC_2.4 _IO_fprintf F
 GLIBC_2.4 _IO_printf F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
index 41a9f178a2..e9477a3584 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
@@ -114,7 +114,6 @@  GLIBC_2.3 pthread_condattr_setpshared F
 GLIBC_2.3 pthread_create F
 GLIBC_2.3 pthread_detach F
 GLIBC_2.3 pthread_exit F
-GLIBC_2.3 pthread_getattr_np F
 GLIBC_2.3 pthread_getconcurrency F
 GLIBC_2.3 pthread_getcpuclockid F
 GLIBC_2.3 pthread_getspecific F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
index c9016bfc8a..a07753847d 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
@@ -1529,6 +1529,7 @@  GLIBC_2.17 pthread_condattr_init F
 GLIBC_2.17 pthread_equal F
 GLIBC_2.17 pthread_exit F
 GLIBC_2.17 pthread_getaffinity_np F
+GLIBC_2.17 pthread_getattr_np F
 GLIBC_2.17 pthread_getschedparam F
 GLIBC_2.17 pthread_mutex_destroy F
 GLIBC_2.17 pthread_mutex_init F
@@ -2345,4 +2346,5 @@  GLIBC_2.32 __wprintfieee128 F
 GLIBC_2.32 __wscanfieee128 F
 GLIBC_2.32 pthread_attr_setaffinity_np F
 GLIBC_2.32 pthread_getaffinity_np F
+GLIBC_2.32 pthread_getattr_np F
 GLIBC_2.32 pthread_sigmask F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
index 77cf95c491..c6b4ea2dc1 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
@@ -95,7 +95,6 @@  GLIBC_2.17 pthread_condattr_setpshared F
 GLIBC_2.17 pthread_create F
 GLIBC_2.17 pthread_detach F
 GLIBC_2.17 pthread_exit F
-GLIBC_2.17 pthread_getattr_np F
 GLIBC_2.17 pthread_getconcurrency F
 GLIBC_2.17 pthread_getcpuclockid F
 GLIBC_2.17 pthread_getname_np F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
index 029c60d5d8..6d5a52dc1a 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
@@ -1431,6 +1431,7 @@  GLIBC_2.27 pthread_condattr_init F
 GLIBC_2.27 pthread_equal F
 GLIBC_2.27 pthread_exit F
 GLIBC_2.27 pthread_getaffinity_np F
+GLIBC_2.27 pthread_getattr_np F
 GLIBC_2.27 pthread_getschedparam F
 GLIBC_2.27 pthread_mutex_destroy F
 GLIBC_2.27 pthread_mutex_init F
@@ -2112,4 +2113,5 @@  GLIBC_2.30 tgkill F
 GLIBC_2.30 twalk_r F
 GLIBC_2.32 pthread_attr_setaffinity_np F
 GLIBC_2.32 pthread_getaffinity_np F
+GLIBC_2.32 pthread_getattr_np F
 GLIBC_2.32 pthread_sigmask F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
index 41a796e225..894c474fcb 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
@@ -93,7 +93,6 @@  GLIBC_2.27 pthread_create F
 GLIBC_2.27 pthread_detach F
 GLIBC_2.27 pthread_exit F
 GLIBC_2.27 pthread_getattr_default_np F
-GLIBC_2.27 pthread_getattr_np F
 GLIBC_2.27 pthread_getconcurrency F
 GLIBC_2.27 pthread_getcpuclockid F
 GLIBC_2.27 pthread_getname_np F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
index b75ce88958..ae3849d3f6 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
@@ -1941,6 +1941,7 @@  GLIBC_2.2.3 __rpc_thread_svc_fdset F
 GLIBC_2.2.3 __rpc_thread_svc_max_pollfd F
 GLIBC_2.2.3 __rpc_thread_svc_pollfd F
 GLIBC_2.2.3 fnmatch F
+GLIBC_2.2.3 pthread_getattr_np F
 GLIBC_2.2.3 sprofil F
 GLIBC_2.2.4 dl_iterate_phdr F
 GLIBC_2.2.4 getgrouplist F
@@ -2190,6 +2191,7 @@  GLIBC_2.31 semctl F
 GLIBC_2.31 shmctl F
 GLIBC_2.32 pthread_attr_setaffinity_np F
 GLIBC_2.32 pthread_getaffinity_np F
+GLIBC_2.32 pthread_getattr_np F
 GLIBC_2.32 pthread_sigmask F
 GLIBC_2.4 _IO_fprintf F
 GLIBC_2.4 _IO_printf F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
index 1471cf4d13..0a60f1cca2 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
@@ -179,7 +179,7 @@  GLIBC_2.2 pthread_yield F
 GLIBC_2.2 pwrite F
 GLIBC_2.2 pwrite64 F
 GLIBC_2.2 sem_timedwait F
-GLIBC_2.2.3 pthread_getattr_np F
+GLIBC_2.2.3 __libpthread_version_placeholder F
 GLIBC_2.2.6 __libpthread_version_placeholder F
 GLIBC_2.28 call_once F
 GLIBC_2.28 cnd_broadcast F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
index 70571678c6..2eb931c02c 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
@@ -1847,6 +1847,7 @@  GLIBC_2.2.3 __rpc_thread_svc_fdset F
 GLIBC_2.2.3 __rpc_thread_svc_max_pollfd F
 GLIBC_2.2.3 __rpc_thread_svc_pollfd F
 GLIBC_2.2.3 fnmatch F
+GLIBC_2.2.3 pthread_getattr_np F
 GLIBC_2.2.3 sprofil F
 GLIBC_2.2.4 dl_iterate_phdr F
 GLIBC_2.2.4 getgrouplist F
@@ -2091,6 +2092,7 @@  GLIBC_2.30 tgkill F
 GLIBC_2.30 twalk_r F
 GLIBC_2.32 pthread_attr_setaffinity_np F
 GLIBC_2.32 pthread_getaffinity_np F
+GLIBC_2.32 pthread_getattr_np F
 GLIBC_2.32 pthread_sigmask F
 GLIBC_2.4 _IO_fprintf F
 GLIBC_2.4 _IO_printf F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
index 8d0b90477a..0e99688824 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
@@ -171,7 +171,7 @@  GLIBC_2.2 sigwait F
 GLIBC_2.2 system F
 GLIBC_2.2 tcdrain F
 GLIBC_2.2 write F
-GLIBC_2.2.3 pthread_getattr_np F
+GLIBC_2.2.3 __libpthread_version_placeholder F
 GLIBC_2.2.6 __libpthread_version_placeholder F
 GLIBC_2.28 call_once F
 GLIBC_2.28 cnd_broadcast F
diff --git a/sysdeps/unix/sysv/linux/sh/be/libc.abilist b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
index de14989270..ce4f366fbb 100644
--- a/sysdeps/unix/sysv/linux/sh/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
@@ -1833,6 +1833,7 @@  GLIBC_2.2.3 __rpc_thread_svc_fdset F
 GLIBC_2.2.3 __rpc_thread_svc_max_pollfd F
 GLIBC_2.2.3 __rpc_thread_svc_pollfd F
 GLIBC_2.2.3 fnmatch F
+GLIBC_2.2.3 pthread_getattr_np F
 GLIBC_2.2.3 sprofil F
 GLIBC_2.2.4 dl_iterate_phdr F
 GLIBC_2.2.4 getgrouplist F
@@ -2060,6 +2061,7 @@  GLIBC_2.31 semctl F
 GLIBC_2.31 shmctl F
 GLIBC_2.32 pthread_attr_setaffinity_np F
 GLIBC_2.32 pthread_getaffinity_np F
+GLIBC_2.32 pthread_getattr_np F
 GLIBC_2.32 pthread_sigmask F
 GLIBC_2.4 __confstr_chk F
 GLIBC_2.4 __fgets_chk F
diff --git a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
index a12e0308b0..cabc5af858 100644
--- a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
@@ -169,7 +169,7 @@  GLIBC_2.2 sigwait F
 GLIBC_2.2 system F
 GLIBC_2.2 tcdrain F
 GLIBC_2.2 write F
-GLIBC_2.2.3 pthread_getattr_np F
+GLIBC_2.2.3 __libpthread_version_placeholder F
 GLIBC_2.2.6 __libpthread_version_placeholder F
 GLIBC_2.28 call_once F
 GLIBC_2.28 cnd_broadcast F
diff --git a/sysdeps/unix/sysv/linux/sh/le/libc.abilist b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
index e181c5c936..f37a08ab09 100644
--- a/sysdeps/unix/sysv/linux/sh/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
@@ -1833,6 +1833,7 @@  GLIBC_2.2.3 __rpc_thread_svc_fdset F
 GLIBC_2.2.3 __rpc_thread_svc_max_pollfd F
 GLIBC_2.2.3 __rpc_thread_svc_pollfd F
 GLIBC_2.2.3 fnmatch F
+GLIBC_2.2.3 pthread_getattr_np F
 GLIBC_2.2.3 sprofil F
 GLIBC_2.2.4 dl_iterate_phdr F
 GLIBC_2.2.4 getgrouplist F
@@ -2057,6 +2058,7 @@  GLIBC_2.30 tgkill F
 GLIBC_2.30 twalk_r F
 GLIBC_2.32 pthread_attr_setaffinity_np F
 GLIBC_2.32 pthread_getaffinity_np F
+GLIBC_2.32 pthread_getattr_np F
 GLIBC_2.32 pthread_sigmask F
 GLIBC_2.4 __confstr_chk F
 GLIBC_2.4 __fgets_chk F
diff --git a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
index a12e0308b0..cabc5af858 100644
--- a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
@@ -169,7 +169,7 @@  GLIBC_2.2 sigwait F
 GLIBC_2.2 system F
 GLIBC_2.2 tcdrain F
 GLIBC_2.2 write F
-GLIBC_2.2.3 pthread_getattr_np F
+GLIBC_2.2.3 __libpthread_version_placeholder F
 GLIBC_2.2.6 __libpthread_version_placeholder F
 GLIBC_2.28 call_once F
 GLIBC_2.28 cnd_broadcast F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
index 670ed9b896..af3a5e2618 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
@@ -1935,6 +1935,7 @@  GLIBC_2.2.3 __rpc_thread_svc_fdset F
 GLIBC_2.2.3 __rpc_thread_svc_max_pollfd F
 GLIBC_2.2.3 __rpc_thread_svc_pollfd F
 GLIBC_2.2.3 fnmatch F
+GLIBC_2.2.3 pthread_getattr_np F
 GLIBC_2.2.3 sprofil F
 GLIBC_2.2.4 dl_iterate_phdr F
 GLIBC_2.2.4 getgrouplist F
@@ -2181,6 +2182,7 @@  GLIBC_2.30 tgkill F
 GLIBC_2.30 twalk_r F
 GLIBC_2.32 pthread_attr_setaffinity_np F
 GLIBC_2.32 pthread_getaffinity_np F
+GLIBC_2.32 pthread_getattr_np F
 GLIBC_2.32 pthread_sigmask F
 GLIBC_2.4 _IO_fprintf F
 GLIBC_2.4 _IO_printf F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
index 8d504c3cdb..390b6384d0 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
@@ -177,7 +177,7 @@  GLIBC_2.2 pthread_yield F
 GLIBC_2.2 pwrite F
 GLIBC_2.2 pwrite64 F
 GLIBC_2.2 sem_timedwait F
-GLIBC_2.2.3 pthread_getattr_np F
+GLIBC_2.2.3 __libpthread_version_placeholder F
 GLIBC_2.2.6 __libpthread_version_placeholder F
 GLIBC_2.28 call_once F
 GLIBC_2.28 cnd_broadcast F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
index a7980633b3..1fccc06f21 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
@@ -1877,6 +1877,7 @@  GLIBC_2.2.3 __rpc_thread_svc_fdset F
 GLIBC_2.2.3 __rpc_thread_svc_max_pollfd F
 GLIBC_2.2.3 __rpc_thread_svc_pollfd F
 GLIBC_2.2.3 fnmatch F
+GLIBC_2.2.3 pthread_getattr_np F
 GLIBC_2.2.3 sprofil F
 GLIBC_2.2.4 dl_iterate_phdr F
 GLIBC_2.2.4 getgrouplist F
@@ -2108,6 +2109,7 @@  GLIBC_2.30 tgkill F
 GLIBC_2.30 twalk_r F
 GLIBC_2.32 pthread_attr_setaffinity_np F
 GLIBC_2.32 pthread_getaffinity_np F
+GLIBC_2.32 pthread_getattr_np F
 GLIBC_2.32 pthread_sigmask F
 GLIBC_2.4 __confstr_chk F
 GLIBC_2.4 __fgets_chk F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
index 927afe3bd5..335f486cb5 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
@@ -169,7 +169,7 @@  GLIBC_2.2 sigwait F
 GLIBC_2.2 system F
 GLIBC_2.2 tcdrain F
 GLIBC_2.2 write F
-GLIBC_2.2.3 pthread_getattr_np F
+GLIBC_2.2.3 __libpthread_version_placeholder F
 GLIBC_2.2.6 __libpthread_version_placeholder F
 GLIBC_2.28 call_once F
 GLIBC_2.28 cnd_broadcast F
diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
index 766bfb7be3..03af18babb 100644
--- a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
@@ -1279,6 +1279,7 @@  GLIBC_2.2.5 pthread_condattr_destroy F
 GLIBC_2.2.5 pthread_condattr_init F
 GLIBC_2.2.5 pthread_equal F
 GLIBC_2.2.5 pthread_exit F
+GLIBC_2.2.5 pthread_getattr_np F
 GLIBC_2.2.5 pthread_getschedparam F
 GLIBC_2.2.5 pthread_mutex_destroy F
 GLIBC_2.2.5 pthread_mutex_init F
@@ -2066,6 +2067,7 @@  GLIBC_2.30 tgkill F
 GLIBC_2.30 twalk_r F
 GLIBC_2.32 pthread_attr_setaffinity_np F
 GLIBC_2.32 pthread_getaffinity_np F
+GLIBC_2.32 pthread_getattr_np F
 GLIBC_2.32 pthread_sigmask F
 GLIBC_2.4 __confstr_chk F
 GLIBC_2.4 __fgets_chk F
diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
index 1b07b47739..971269d2ef 100644
--- a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
@@ -94,7 +94,6 @@  GLIBC_2.2.5 pthread_condattr_setpshared F
 GLIBC_2.2.5 pthread_create F
 GLIBC_2.2.5 pthread_detach F
 GLIBC_2.2.5 pthread_exit F
-GLIBC_2.2.5 pthread_getattr_np F
 GLIBC_2.2.5 pthread_getconcurrency F
 GLIBC_2.2.5 pthread_getcpuclockid F
 GLIBC_2.2.5 pthread_getspecific F
diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
index 075f8870a1..2da0af70d4 100644
--- a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
@@ -1448,6 +1448,7 @@  GLIBC_2.16 pthread_condattr_init F
 GLIBC_2.16 pthread_equal F
 GLIBC_2.16 pthread_exit F
 GLIBC_2.16 pthread_getaffinity_np F
+GLIBC_2.16 pthread_getattr_np F
 GLIBC_2.16 pthread_getschedparam F
 GLIBC_2.16 pthread_mutex_destroy F
 GLIBC_2.16 pthread_mutex_init F
@@ -2163,4 +2164,5 @@  GLIBC_2.30 tgkill F
 GLIBC_2.30 twalk_r F
 GLIBC_2.32 pthread_attr_setaffinity_np F
 GLIBC_2.32 pthread_getaffinity_np F
+GLIBC_2.32 pthread_getattr_np F
 GLIBC_2.32 pthread_sigmask F
diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
index 6ff1703de1..b9bf4324a9 100644
--- a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
@@ -95,7 +95,6 @@  GLIBC_2.16 pthread_condattr_setpshared F
 GLIBC_2.16 pthread_create F
 GLIBC_2.16 pthread_detach F
 GLIBC_2.16 pthread_exit F
-GLIBC_2.16 pthread_getattr_np F
 GLIBC_2.16 pthread_getconcurrency F
 GLIBC_2.16 pthread_getcpuclockid F
 GLIBC_2.16 pthread_getname_np F