[05/19] nptl: Move pthread_gettattr_np into libc

Message ID 6d385020f659b9b249890682ea39d9b31e62abf6.1589884403.git.fweimer@redhat.com
State New
Headers show
Series
  • Signal mask for timer helper thread
Related show

Commit Message

Ben Woodard via Libc-alpha May 19, 2020, 10:44 a.m.
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(-)

-- 
2.25.4

Comments

Ben Woodard via Libc-alpha May 20, 2020, 1:57 p.m. | #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

> 



-- 
Cheers,
Carlos.

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