diff mbox series

[10/17] nptl: Move pthread_mutexattr_gettype into libc

Message ID e603c00f24553b8fe21c490b537f5072fc65b68c.1619105191.git.fweimer@redhat.com
State New
Headers show
Series nptl: Move remaining mutex symbols into libpthread | expand

Commit Message

Florian Weimer April 22, 2021, 3:40 p.m. UTC
And pthread_mutexattr_getkind_np as a compatibility symbol.
(There is no declaration in <pthread.h>, so there is no need
to add an alias or a deprecation warning there.)

The symbols were moved using scripts/move-symbol-to-libc.py.
---
 nptl/Makefile                                   |  2 +-
 nptl/Versions                                   |  5 +++--
 nptl/pthread_mutexattr_gettype.c                | 17 ++++++++++++++---
 sysdeps/unix/sysv/linux/aarch64/libc.abilist    |  3 +++
 .../unix/sysv/linux/aarch64/libpthread.abilist  |  2 --
 sysdeps/unix/sysv/linux/alpha/libc.abilist      |  3 +++
 .../unix/sysv/linux/alpha/libpthread.abilist    |  2 --
 sysdeps/unix/sysv/linux/arc/libc.abilist        |  3 +++
 sysdeps/unix/sysv/linux/arc/libpthread.abilist  |  2 --
 sysdeps/unix/sysv/linux/arm/be/libc.abilist     |  3 +++
 .../unix/sysv/linux/arm/be/libpthread.abilist   |  2 --
 sysdeps/unix/sysv/linux/arm/le/libc.abilist     |  3 +++
 .../unix/sysv/linux/arm/le/libpthread.abilist   |  2 --
 sysdeps/unix/sysv/linux/csky/libc.abilist       |  3 +++
 sysdeps/unix/sysv/linux/csky/libpthread.abilist |  2 --
 sysdeps/unix/sysv/linux/hppa/libc.abilist       |  3 +++
 sysdeps/unix/sysv/linux/hppa/libpthread.abilist |  2 --
 sysdeps/unix/sysv/linux/i386/libc.abilist       |  3 +++
 sysdeps/unix/sysv/linux/i386/libpthread.abilist |  2 --
 sysdeps/unix/sysv/linux/ia64/libc.abilist       |  3 +++
 sysdeps/unix/sysv/linux/ia64/libpthread.abilist |  2 --
 .../unix/sysv/linux/m68k/coldfire/libc.abilist  |  3 +++
 .../sysv/linux/m68k/coldfire/libpthread.abilist |  2 --
 .../unix/sysv/linux/m68k/m680x0/libc.abilist    |  3 +++
 .../sysv/linux/m68k/m680x0/libpthread.abilist   |  2 --
 .../unix/sysv/linux/microblaze/be/libc.abilist  |  3 +++
 .../sysv/linux/microblaze/be/libpthread.abilist |  2 --
 .../unix/sysv/linux/microblaze/le/libc.abilist  |  3 +++
 .../sysv/linux/microblaze/le/libpthread.abilist |  2 --
 .../sysv/linux/mips/mips32/fpu/libc.abilist     |  3 +++
 .../sysv/linux/mips/mips32/libpthread.abilist   |  2 --
 .../sysv/linux/mips/mips32/nofpu/libc.abilist   |  3 +++
 .../sysv/linux/mips/mips64/libpthread.abilist   |  2 --
 .../sysv/linux/mips/mips64/n32/libc.abilist     |  3 +++
 .../sysv/linux/mips/mips64/n64/libc.abilist     |  3 +++
 sysdeps/unix/sysv/linux/nios2/libc.abilist      |  3 +++
 .../unix/sysv/linux/nios2/libpthread.abilist    |  2 --
 .../linux/powerpc/powerpc32/fpu/libc.abilist    |  3 +++
 .../linux/powerpc/powerpc32/libpthread.abilist  |  2 --
 .../linux/powerpc/powerpc32/nofpu/libc.abilist  |  3 +++
 .../linux/powerpc/powerpc64/be/libc.abilist     |  3 +++
 .../powerpc/powerpc64/be/libpthread.abilist     |  2 --
 .../linux/powerpc/powerpc64/le/libc.abilist     |  3 +++
 .../powerpc/powerpc64/le/libpthread.abilist     |  2 --
 sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist |  3 +++
 .../sysv/linux/riscv/rv32/libpthread.abilist    |  2 --
 sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist |  3 +++
 .../sysv/linux/riscv/rv64/libpthread.abilist    |  2 --
 .../unix/sysv/linux/s390/s390-32/libc.abilist   |  3 +++
 .../sysv/linux/s390/s390-32/libpthread.abilist  |  2 --
 .../unix/sysv/linux/s390/s390-64/libc.abilist   |  3 +++
 .../sysv/linux/s390/s390-64/libpthread.abilist  |  2 --
 sysdeps/unix/sysv/linux/sh/be/libc.abilist      |  3 +++
 .../unix/sysv/linux/sh/be/libpthread.abilist    |  2 --
 sysdeps/unix/sysv/linux/sh/le/libc.abilist      |  3 +++
 .../unix/sysv/linux/sh/le/libpthread.abilist    |  2 --
 .../unix/sysv/linux/sparc/sparc32/libc.abilist  |  3 +++
 .../sysv/linux/sparc/sparc32/libpthread.abilist |  2 --
 .../unix/sysv/linux/sparc/sparc64/libc.abilist  |  3 +++
 .../sysv/linux/sparc/sparc64/libpthread.abilist |  2 --
 sysdeps/unix/sysv/linux/x86_64/64/libc.abilist  |  3 +++
 .../sysv/linux/x86_64/64/libpthread.abilist     |  2 --
 sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist |  3 +++
 .../sysv/linux/x86_64/x32/libpthread.abilist    |  2 --
 64 files changed, 114 insertions(+), 64 deletions(-)

Comments

Andreas Schwab April 26, 2021, 8:57 p.m. UTC | #1
# bad: [24f261f27fb8fd19ae294ff2a13bc5b7a0bafc91] nptl: Remove __h_errno_location from libpthread
# good: [10624a97e8e47004985740cbb04060a84cfada76] powerpc: Add optimized strlen for POWER10
git bisect start '24f261f27f' '10624a97e8'
# bad: [241ac38c333ae2539182f214dc641d0956f6ff6d] nptl: Move pthread_mutexattr_setprotocol into libc
git bisect bad 241ac38c333ae2539182f214dc641d0956f6ff6d
# good: [d236322b6f342d13bbd3fe97cb72ca53cba1b428] nptl: Move pthread_mutexattr_getprioceiling into libc
git bisect good d236322b6f342d13bbd3fe97cb72ca53cba1b428
# good: [9b7ab14e112476c96e7b20fb23e6838b7012dfda] nptl: Move pthread_mutexattr_getrobust into libc
git bisect good 9b7ab14e112476c96e7b20fb23e6838b7012dfda
# bad: [506385d30ec67279b21929f117b292bbbe8f5e7b] nptl: Move pthread_mutexattr_init, __pthread_mutexattr_init into libc
git bisect bad 506385d30ec67279b21929f117b292bbbe8f5e7b
# bad: [2a23e899e255f9ce2b4024d4ec029ce57af518bd] nptl: Move pthread_mutexattr_gettype into libc
git bisect bad 2a23e899e255f9ce2b4024d4ec029ce57af518bd
# first bad commit: [2a23e899e255f9ce2b4024d4ec029ce57af518bd] nptl: Move pthread_mutexattr_gettype into libc

Andreas.
Florian Weimer April 27, 2021, 4:55 a.m. UTC | #2
* Andreas Schwab:

> # bad: [24f261f27fb8fd19ae294ff2a13bc5b7a0bafc91] nptl: Remove __h_errno_location from libpthread
> # good: [10624a97e8e47004985740cbb04060a84cfada76] powerpc: Add optimized strlen for POWER10
> git bisect start '24f261f27f' '10624a97e8'
> # bad: [241ac38c333ae2539182f214dc641d0956f6ff6d] nptl: Move pthread_mutexattr_setprotocol into libc
> git bisect bad 241ac38c333ae2539182f214dc641d0956f6ff6d
> # good: [d236322b6f342d13bbd3fe97cb72ca53cba1b428] nptl: Move pthread_mutexattr_getprioceiling into libc
> git bisect good d236322b6f342d13bbd3fe97cb72ca53cba1b428
> # good: [9b7ab14e112476c96e7b20fb23e6838b7012dfda] nptl: Move pthread_mutexattr_getrobust into libc
> git bisect good 9b7ab14e112476c96e7b20fb23e6838b7012dfda
> # bad: [506385d30ec67279b21929f117b292bbbe8f5e7b] nptl: Move pthread_mutexattr_init, __pthread_mutexattr_init into libc
> git bisect bad 506385d30ec67279b21929f117b292bbbe8f5e7b
> # bad: [2a23e899e255f9ce2b4024d4ec029ce57af518bd] nptl: Move pthread_mutexattr_gettype into libc
> git bisect bad 2a23e899e255f9ce2b4024d4ec029ce57af518bd
> # first bad commit: [2a23e899e255f9ce2b4024d4ec029ce57af518bd] nptl: Move pthread_mutexattr_gettype into libc

Thank you, and also to Dmitry for pointing out the gnulib aspect.

The crash happens on line 294:

291     static void
292     init_fatal_signal_set (void)
293     {
294       gl_once (fatal_signal_set_once, do_init_fatal_signal_set);
295     }

The disassembly looks like this:

Dump of assembler code for function init_fatal_signal_set:
   0x000000010006a2f0 <+0>:     addis   r2,r12,5
   0x000000010006a2f4 <+4>:     addi    r2,r2,-9456
   0x000000010006a2f8 <+8>:     nop
   0x000000010006a2fc <+12>:    ld      r9,-32512(r2)
   0x000000010006a300 <+16>:    cmpdi   r9,0
   0x000000010006a304 <+20>:    beq     0x10006a344 <init_fatal_signal_set+84>
   0x000000010006a308 <+24>:    mflr    r0
   0x000000010006a30c <+28>:    std     r0,16(r1)
   0x000000010006a310 <+32>:    stdu    r1,-32(r1)
   0x000000010006a314 <+36>:    addis   r4,r2,-5
   0x000000010006a318 <+40>:    nop
   0x000000010006a31c <+44>:    addi    r4,r4,9248
   0x000000010006a320 <+48>:    addi    r3,r2,-13364
   0x000000010006a324 <+52>:    bl      0x100006700 <00000027.plt_call.pthread_once>
=> 0x000000010006a328 <+56>:    ld      r2,24(r1)
   0x000000010006a32c <+60>:    cmpdi   r3,0
   0x000000010006a330 <+64>:    bne     0x10006a374 <init_fatal_signal_set+132>
   0x000000010006a334 <+68>:    addi    r1,r1,32
   0x000000010006a338 <+72>:    ld      r0,16(r1)
   0x000000010006a33c <+76>:    mtlr    r0
   0x000000010006a340 <+80>:    blr
   0x000000010006a344 <+84>:    nop
   0x000000010006a348 <+88>:    ld      r9,-32504(r2)
   0x000000010006a34c <+92>:    cmpdi   r9,0
   0x000000010006a350 <+96>:    bne     0x10006a308 <init_fatal_signal_set+24>
   0x000000010006a354 <+100>:   nop
   0x000000010006a358 <+104>:   lbz     r9,-13364(r2)
   0x000000010006a35c <+108>:   cmpwi   r9,0
   0x000000010006a360 <+112>:   bnelr
   0x000000010006a364 <+116>:   xxspltib vs0,255
   0x000000010006a368 <+120>:   addi    r9,r2,-13364
   0x000000010006a36c <+124>:   stxsibx vs0,0,r9
   0x000000010006a370 <+128>:   b       0x10006a228 <do_init_fatal_signal_set+8>
   0x000000010006a374 <+132>:   bl      0x100006340 <00000027.plt_call.abort@@GLIBC_2.17>
   0x000000010006a378 <+136>:   ld      r2,24(r1)
   0x000000010006a37c <+140>:   .long 0x0
   0x000000010006a380 <+144>:   .long 0x1000000
   0x000000010006a384 <+148>:   .long 0x80

The crash is at the bl instruction, it branches to address zero.  The
load at 0x10006a2fc loads the address of pthread_mutexattr_gettype,
which used to be zero but is not anymore.

The use of weak symbols with dynamic linking has always been iffy.  An
old discussion is here:

  Specify how undefined weak symbol should be resolved in executable
  <https://sourceware.org/legacy-ml/gnu-gabi/2016-q1/msg00004.html>

The other issue with weak symbols is that they do not care symbol
version information and may therefore bind to baseline versions
unexpectedly.

I will bring this to the gnulib list.

Thanks,
Florian
Florian Weimer April 27, 2021, 11:08 a.m. UTC | #3
* Andreas Schwab:

> # first bad commit: [2a23e899e255f9ce2b4024d4ec029ce57af518bd] nptl: Move pthread_mutexattr_gettype into libc

Should I revert this commit because it triggers the gnulib issue?

I will need at least a few days to come up with an acceptable solution
to this problem.  So far, I have some ideas, but no code yet.

Thanks,
Florian
diff mbox series

Patch

diff --git a/nptl/Makefile b/nptl/Makefile
index f47f3b34cc..fc7ec4b39a 100644
--- a/nptl/Makefile
+++ b/nptl/Makefile
@@ -106,6 +106,7 @@  routines = \
   pthread_mutexattr_getprotocol \
   pthread_mutexattr_getpshared \
   pthread_mutexattr_getrobust \
+  pthread_mutexattr_gettype \
   pthread_once \
   pthread_rwlock_rdlock \
   pthread_rwlock_unlock \
@@ -167,7 +168,6 @@  libpthread-routines = \
   pthread_join \
   pthread_join_common \
   pthread_kill_other_threads \
-  pthread_mutexattr_gettype \
   pthread_mutexattr_init \
   pthread_mutexattr_setprioceiling \
   pthread_mutexattr_setprotocol \
diff --git a/nptl/Versions b/nptl/Versions
index 88a95d6dd0..662413eedc 100644
--- a/nptl/Versions
+++ b/nptl/Versions
@@ -47,6 +47,7 @@  libc {
     pthread_mutex_trylock;
     pthread_mutex_unlock;
     pthread_mutexattr_destroy;
+    pthread_mutexattr_getkind_np;
     pthread_once;
     pthread_self;
     pthread_setcancelstate;
@@ -57,6 +58,7 @@  libc {
   }
   GLIBC_2.1 {
     pthread_attr_init;
+    pthread_mutexattr_gettype;
     pthread_rwlock_rdlock;
     pthread_rwlock_unlock;
     pthread_rwlock_wrlock;
@@ -143,6 +145,7 @@  libc {
     pthread_mutexattr_getprioceiling;
     pthread_mutexattr_getprotocol;
     pthread_mutexattr_getrobust;
+    pthread_mutexattr_gettype;
     pthread_once;
     pthread_rwlock_rdlock;
     pthread_rwlock_unlock;
@@ -219,7 +222,6 @@  libpthread {
     pthread_detach;
     pthread_join;
     pthread_kill_other_threads_np;
-    pthread_mutexattr_getkind_np;
     pthread_mutexattr_init;
     pthread_mutexattr_setkind_np;
     pthread_sigmask;
@@ -241,7 +243,6 @@  libpthread {
     pthread_attr_setstacksize;
     pthread_create;
     pthread_getconcurrency;
-    pthread_mutexattr_gettype;
     pthread_mutexattr_settype;
     pthread_rwlock_destroy;
     pthread_rwlock_init;
diff --git a/nptl/pthread_mutexattr_gettype.c b/nptl/pthread_mutexattr_gettype.c
index 06234d4195..e091087213 100644
--- a/nptl/pthread_mutexattr_gettype.c
+++ b/nptl/pthread_mutexattr_gettype.c
@@ -17,10 +17,10 @@ 
    <https://www.gnu.org/licenses/>.  */
 
 #include <pthreadP.h>
-
+#include <shlib-compat.h>
 
 int
-pthread_mutexattr_gettype (const pthread_mutexattr_t *attr, int *kind)
+__pthread_mutexattr_gettype (const pthread_mutexattr_t *attr, int *kind)
 {
   const struct pthread_mutexattr *iattr;
 
@@ -31,4 +31,15 @@  pthread_mutexattr_gettype (const pthread_mutexattr_t *attr, int *kind)
 
   return 0;
 }
-weak_alias (pthread_mutexattr_gettype, pthread_mutexattr_getkind_np)
+versioned_symbol (libc, __pthread_mutexattr_gettype,
+		  pthread_mutexattr_gettype, GLIBC_2_34);
+
+#if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_0, GLIBC_2_34)
+compat_symbol (libpthread, __pthread_mutexattr_gettype,
+	       pthread_mutexattr_getkind_np, GLIBC_2_0);
+#endif
+
+#if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_1, GLIBC_2_34)
+compat_symbol (libpthread, __pthread_mutexattr_gettype,
+	       pthread_mutexattr_gettype, GLIBC_2_1);
+#endif
diff --git a/sysdeps/unix/sysv/linux/aarch64/libc.abilist b/sysdeps/unix/sysv/linux/aarch64/libc.abilist
index 31c6f69615..cfe8a7059a 100644
--- a/sysdeps/unix/sysv/linux/aarch64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/aarch64/libc.abilist
@@ -1477,11 +1477,13 @@  GLIBC_2.17 pthread_mutex_timedlock F
 GLIBC_2.17 pthread_mutex_trylock F
 GLIBC_2.17 pthread_mutex_unlock F
 GLIBC_2.17 pthread_mutexattr_destroy F
+GLIBC_2.17 pthread_mutexattr_getkind_np F
 GLIBC_2.17 pthread_mutexattr_getprioceiling F
 GLIBC_2.17 pthread_mutexattr_getprotocol F
 GLIBC_2.17 pthread_mutexattr_getpshared F
 GLIBC_2.17 pthread_mutexattr_getrobust F
 GLIBC_2.17 pthread_mutexattr_getrobust_np F
+GLIBC_2.17 pthread_mutexattr_gettype F
 GLIBC_2.17 pthread_once F
 GLIBC_2.17 pthread_rwlock_rdlock F
 GLIBC_2.17 pthread_rwlock_unlock F
@@ -2242,6 +2244,7 @@  GLIBC_2.34 pthread_mutexattr_getprioceiling F
 GLIBC_2.34 pthread_mutexattr_getprotocol F
 GLIBC_2.34 pthread_mutexattr_getpshared F
 GLIBC_2.34 pthread_mutexattr_getrobust F
+GLIBC_2.34 pthread_mutexattr_gettype F
 GLIBC_2.34 pthread_once F
 GLIBC_2.34 pthread_rwlock_rdlock F
 GLIBC_2.34 pthread_rwlock_unlock F
diff --git a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
index ac89723ec1..098c8f95d9 100644
--- a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
@@ -45,8 +45,6 @@  GLIBC_2.17 pthread_getcpuclockid F
 GLIBC_2.17 pthread_getname_np F
 GLIBC_2.17 pthread_join F
 GLIBC_2.17 pthread_kill_other_threads_np F
-GLIBC_2.17 pthread_mutexattr_getkind_np F
-GLIBC_2.17 pthread_mutexattr_gettype F
 GLIBC_2.17 pthread_mutexattr_init F
 GLIBC_2.17 pthread_mutexattr_setkind_np F
 GLIBC_2.17 pthread_mutexattr_setprioceiling F
diff --git a/sysdeps/unix/sysv/linux/alpha/libc.abilist b/sysdeps/unix/sysv/linux/alpha/libc.abilist
index ffd8627264..170c8043e8 100644
--- a/sysdeps/unix/sysv/linux/alpha/libc.abilist
+++ b/sysdeps/unix/sysv/linux/alpha/libc.abilist
@@ -907,6 +907,7 @@  GLIBC_2.0 pthread_mutex_lock F
 GLIBC_2.0 pthread_mutex_trylock F
 GLIBC_2.0 pthread_mutex_unlock F
 GLIBC_2.0 pthread_mutexattr_destroy F
+GLIBC_2.0 pthread_mutexattr_getkind_np F
 GLIBC_2.0 pthread_once F
 GLIBC_2.0 pthread_self F
 GLIBC_2.0 pthread_setcancelstate F
@@ -1597,6 +1598,7 @@  GLIBC_2.1 pread64 F
 GLIBC_2.1 printf_size F
 GLIBC_2.1 printf_size_info F
 GLIBC_2.1 pthread_attr_init F
+GLIBC_2.1 pthread_mutexattr_gettype F
 GLIBC_2.1 pthread_rwlock_rdlock F
 GLIBC_2.1 pthread_rwlock_unlock F
 GLIBC_2.1 pthread_rwlock_wrlock F
@@ -2325,6 +2327,7 @@  GLIBC_2.34 pthread_mutexattr_getprioceiling F
 GLIBC_2.34 pthread_mutexattr_getprotocol F
 GLIBC_2.34 pthread_mutexattr_getpshared F
 GLIBC_2.34 pthread_mutexattr_getrobust F
+GLIBC_2.34 pthread_mutexattr_gettype F
 GLIBC_2.34 pthread_once F
 GLIBC_2.34 pthread_rwlock_rdlock F
 GLIBC_2.34 pthread_rwlock_unlock F
diff --git a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
index fd0336c19c..2264cf8fb5 100644
--- a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
@@ -14,7 +14,6 @@  GLIBC_2.0 pthread_create F
 GLIBC_2.0 pthread_detach F
 GLIBC_2.0 pthread_join F
 GLIBC_2.0 pthread_kill_other_threads_np F
-GLIBC_2.0 pthread_mutexattr_getkind_np F
 GLIBC_2.0 pthread_mutexattr_init F
 GLIBC_2.0 pthread_mutexattr_setkind_np F
 GLIBC_2.0 pthread_testcancel F
@@ -32,7 +31,6 @@  GLIBC_2.1 pthread_attr_setstackaddr F
 GLIBC_2.1 pthread_attr_setstacksize F
 GLIBC_2.1 pthread_create F
 GLIBC_2.1 pthread_getconcurrency F
-GLIBC_2.1 pthread_mutexattr_gettype F
 GLIBC_2.1 pthread_mutexattr_settype F
 GLIBC_2.1 pthread_rwlock_destroy F
 GLIBC_2.1 pthread_rwlock_init F
diff --git a/sysdeps/unix/sysv/linux/arc/libc.abilist b/sysdeps/unix/sysv/linux/arc/libc.abilist
index e5f798fdf6..62286a712a 100644
--- a/sysdeps/unix/sysv/linux/arc/libc.abilist
+++ b/sysdeps/unix/sysv/linux/arc/libc.abilist
@@ -1405,11 +1405,13 @@  GLIBC_2.32 pthread_mutex_timedlock F
 GLIBC_2.32 pthread_mutex_trylock F
 GLIBC_2.32 pthread_mutex_unlock F
 GLIBC_2.32 pthread_mutexattr_destroy F
+GLIBC_2.32 pthread_mutexattr_getkind_np F
 GLIBC_2.32 pthread_mutexattr_getprioceiling F
 GLIBC_2.32 pthread_mutexattr_getprotocol F
 GLIBC_2.32 pthread_mutexattr_getpshared F
 GLIBC_2.32 pthread_mutexattr_getrobust F
 GLIBC_2.32 pthread_mutexattr_getrobust_np F
+GLIBC_2.32 pthread_mutexattr_gettype F
 GLIBC_2.32 pthread_once F
 GLIBC_2.32 pthread_rwlock_rdlock F
 GLIBC_2.32 pthread_rwlock_unlock F
@@ -2001,6 +2003,7 @@  GLIBC_2.34 pthread_mutexattr_getprioceiling F
 GLIBC_2.34 pthread_mutexattr_getprotocol F
 GLIBC_2.34 pthread_mutexattr_getpshared F
 GLIBC_2.34 pthread_mutexattr_getrobust F
+GLIBC_2.34 pthread_mutexattr_gettype F
 GLIBC_2.34 pthread_once F
 GLIBC_2.34 pthread_rwlock_rdlock F
 GLIBC_2.34 pthread_rwlock_unlock F
diff --git a/sysdeps/unix/sysv/linux/arc/libpthread.abilist b/sysdeps/unix/sysv/linux/arc/libpthread.abilist
index c91695fee9..eeb6acaa4d 100644
--- a/sysdeps/unix/sysv/linux/arc/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/arc/libpthread.abilist
@@ -60,8 +60,6 @@  GLIBC_2.32 pthread_getcpuclockid F
 GLIBC_2.32 pthread_getname_np F
 GLIBC_2.32 pthread_join F
 GLIBC_2.32 pthread_kill_other_threads_np F
-GLIBC_2.32 pthread_mutexattr_getkind_np F
-GLIBC_2.32 pthread_mutexattr_gettype F
 GLIBC_2.32 pthread_mutexattr_init F
 GLIBC_2.32 pthread_mutexattr_setkind_np F
 GLIBC_2.32 pthread_mutexattr_setprioceiling F
diff --git a/sysdeps/unix/sysv/linux/arm/be/libc.abilist b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
index 3043d20e02..7b99cf1cbc 100644
--- a/sysdeps/unix/sysv/linux/arm/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
@@ -187,6 +187,7 @@  GLIBC_2.34 pthread_mutexattr_getprioceiling F
 GLIBC_2.34 pthread_mutexattr_getprotocol F
 GLIBC_2.34 pthread_mutexattr_getpshared F
 GLIBC_2.34 pthread_mutexattr_getrobust F
+GLIBC_2.34 pthread_mutexattr_gettype F
 GLIBC_2.34 pthread_once F
 GLIBC_2.34 pthread_rwlock_rdlock F
 GLIBC_2.34 pthread_rwlock_unlock F
@@ -1604,10 +1605,12 @@  GLIBC_2.4 pthread_mutex_timedlock F
 GLIBC_2.4 pthread_mutex_trylock F
 GLIBC_2.4 pthread_mutex_unlock F
 GLIBC_2.4 pthread_mutexattr_destroy F
+GLIBC_2.4 pthread_mutexattr_getkind_np F
 GLIBC_2.4 pthread_mutexattr_getprioceiling F
 GLIBC_2.4 pthread_mutexattr_getprotocol F
 GLIBC_2.4 pthread_mutexattr_getpshared F
 GLIBC_2.4 pthread_mutexattr_getrobust_np F
+GLIBC_2.4 pthread_mutexattr_gettype F
 GLIBC_2.4 pthread_once F
 GLIBC_2.4 pthread_rwlock_rdlock F
 GLIBC_2.4 pthread_rwlock_unlock F
diff --git a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
index 0958d07423..eca5d806fd 100644
--- a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
@@ -75,8 +75,6 @@  GLIBC_2.4 pthread_getconcurrency F
 GLIBC_2.4 pthread_getcpuclockid F
 GLIBC_2.4 pthread_join F
 GLIBC_2.4 pthread_kill_other_threads_np F
-GLIBC_2.4 pthread_mutexattr_getkind_np F
-GLIBC_2.4 pthread_mutexattr_gettype F
 GLIBC_2.4 pthread_mutexattr_init F
 GLIBC_2.4 pthread_mutexattr_setkind_np F
 GLIBC_2.4 pthread_mutexattr_setprioceiling F
diff --git a/sysdeps/unix/sysv/linux/arm/le/libc.abilist b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
index ceca7ee431..1a0153be2a 100644
--- a/sysdeps/unix/sysv/linux/arm/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
@@ -184,6 +184,7 @@  GLIBC_2.34 pthread_mutexattr_getprioceiling F
 GLIBC_2.34 pthread_mutexattr_getprotocol F
 GLIBC_2.34 pthread_mutexattr_getpshared F
 GLIBC_2.34 pthread_mutexattr_getrobust F
+GLIBC_2.34 pthread_mutexattr_gettype F
 GLIBC_2.34 pthread_once F
 GLIBC_2.34 pthread_rwlock_rdlock F
 GLIBC_2.34 pthread_rwlock_unlock F
@@ -1601,10 +1602,12 @@  GLIBC_2.4 pthread_mutex_timedlock F
 GLIBC_2.4 pthread_mutex_trylock F
 GLIBC_2.4 pthread_mutex_unlock F
 GLIBC_2.4 pthread_mutexattr_destroy F
+GLIBC_2.4 pthread_mutexattr_getkind_np F
 GLIBC_2.4 pthread_mutexattr_getprioceiling F
 GLIBC_2.4 pthread_mutexattr_getprotocol F
 GLIBC_2.4 pthread_mutexattr_getpshared F
 GLIBC_2.4 pthread_mutexattr_getrobust_np F
+GLIBC_2.4 pthread_mutexattr_gettype F
 GLIBC_2.4 pthread_once F
 GLIBC_2.4 pthread_rwlock_rdlock F
 GLIBC_2.4 pthread_rwlock_unlock F
diff --git a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
index 0958d07423..eca5d806fd 100644
--- a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
@@ -75,8 +75,6 @@  GLIBC_2.4 pthread_getconcurrency F
 GLIBC_2.4 pthread_getcpuclockid F
 GLIBC_2.4 pthread_join F
 GLIBC_2.4 pthread_kill_other_threads_np F
-GLIBC_2.4 pthread_mutexattr_getkind_np F
-GLIBC_2.4 pthread_mutexattr_gettype F
 GLIBC_2.4 pthread_mutexattr_init F
 GLIBC_2.4 pthread_mutexattr_setkind_np F
 GLIBC_2.4 pthread_mutexattr_setprioceiling F
diff --git a/sysdeps/unix/sysv/linux/csky/libc.abilist b/sysdeps/unix/sysv/linux/csky/libc.abilist
index 5ae605ef87..b24d799de8 100644
--- a/sysdeps/unix/sysv/linux/csky/libc.abilist
+++ b/sysdeps/unix/sysv/linux/csky/libc.abilist
@@ -1464,11 +1464,13 @@  GLIBC_2.29 pthread_mutex_timedlock F
 GLIBC_2.29 pthread_mutex_trylock F
 GLIBC_2.29 pthread_mutex_unlock F
 GLIBC_2.29 pthread_mutexattr_destroy F
+GLIBC_2.29 pthread_mutexattr_getkind_np F
 GLIBC_2.29 pthread_mutexattr_getprioceiling F
 GLIBC_2.29 pthread_mutexattr_getprotocol F
 GLIBC_2.29 pthread_mutexattr_getpshared F
 GLIBC_2.29 pthread_mutexattr_getrobust F
 GLIBC_2.29 pthread_mutexattr_getrobust_np F
+GLIBC_2.29 pthread_mutexattr_gettype F
 GLIBC_2.29 pthread_once F
 GLIBC_2.29 pthread_rwlock_rdlock F
 GLIBC_2.29 pthread_rwlock_unlock F
@@ -2185,6 +2187,7 @@  GLIBC_2.34 pthread_mutexattr_getprioceiling F
 GLIBC_2.34 pthread_mutexattr_getprotocol F
 GLIBC_2.34 pthread_mutexattr_getpshared F
 GLIBC_2.34 pthread_mutexattr_getrobust F
+GLIBC_2.34 pthread_mutexattr_gettype F
 GLIBC_2.34 pthread_once F
 GLIBC_2.34 pthread_rwlock_rdlock F
 GLIBC_2.34 pthread_rwlock_unlock F
diff --git a/sysdeps/unix/sysv/linux/csky/libpthread.abilist b/sysdeps/unix/sysv/linux/csky/libpthread.abilist
index 9c4aae4aae..5dccf88b31 100644
--- a/sysdeps/unix/sysv/linux/csky/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/csky/libpthread.abilist
@@ -59,8 +59,6 @@  GLIBC_2.29 pthread_getcpuclockid F
 GLIBC_2.29 pthread_getname_np F
 GLIBC_2.29 pthread_join F
 GLIBC_2.29 pthread_kill_other_threads_np F
-GLIBC_2.29 pthread_mutexattr_getkind_np F
-GLIBC_2.29 pthread_mutexattr_gettype F
 GLIBC_2.29 pthread_mutexattr_init F
 GLIBC_2.29 pthread_mutexattr_setkind_np F
 GLIBC_2.29 pthread_mutexattr_setprioceiling F
diff --git a/sysdeps/unix/sysv/linux/hppa/libc.abilist b/sysdeps/unix/sysv/linux/hppa/libc.abilist
index 57c95012bd..ea853169bf 100644
--- a/sysdeps/unix/sysv/linux/hppa/libc.abilist
+++ b/sysdeps/unix/sysv/linux/hppa/libc.abilist
@@ -1296,7 +1296,9 @@  GLIBC_2.2 pthread_mutex_timedlock F
 GLIBC_2.2 pthread_mutex_trylock F
 GLIBC_2.2 pthread_mutex_unlock F
 GLIBC_2.2 pthread_mutexattr_destroy F
+GLIBC_2.2 pthread_mutexattr_getkind_np F
 GLIBC_2.2 pthread_mutexattr_getpshared F
+GLIBC_2.2 pthread_mutexattr_gettype F
 GLIBC_2.2 pthread_once F
 GLIBC_2.2 pthread_rwlock_rdlock F
 GLIBC_2.2 pthread_rwlock_unlock F
@@ -2138,6 +2140,7 @@  GLIBC_2.34 pthread_mutexattr_getprioceiling F
 GLIBC_2.34 pthread_mutexattr_getprotocol F
 GLIBC_2.34 pthread_mutexattr_getpshared F
 GLIBC_2.34 pthread_mutexattr_getrobust F
+GLIBC_2.34 pthread_mutexattr_gettype F
 GLIBC_2.34 pthread_once F
 GLIBC_2.34 pthread_rwlock_rdlock F
 GLIBC_2.34 pthread_rwlock_unlock F
diff --git a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
index 794931d9c2..f711cddf92 100644
--- a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
@@ -43,8 +43,6 @@  GLIBC_2.2 pthread_getconcurrency F
 GLIBC_2.2 pthread_getcpuclockid F
 GLIBC_2.2 pthread_join F
 GLIBC_2.2 pthread_kill_other_threads_np F
-GLIBC_2.2 pthread_mutexattr_getkind_np F
-GLIBC_2.2 pthread_mutexattr_gettype F
 GLIBC_2.2 pthread_mutexattr_init F
 GLIBC_2.2 pthread_mutexattr_setkind_np F
 GLIBC_2.2 pthread_mutexattr_setpshared F
diff --git a/sysdeps/unix/sysv/linux/i386/libc.abilist b/sysdeps/unix/sysv/linux/i386/libc.abilist
index d7b74289e1..3ff6cd50c0 100644
--- a/sysdeps/unix/sysv/linux/i386/libc.abilist
+++ b/sysdeps/unix/sysv/linux/i386/libc.abilist
@@ -884,6 +884,7 @@  GLIBC_2.0 pthread_mutex_lock F
 GLIBC_2.0 pthread_mutex_trylock F
 GLIBC_2.0 pthread_mutex_unlock F
 GLIBC_2.0 pthread_mutexattr_destroy F
+GLIBC_2.0 pthread_mutexattr_getkind_np F
 GLIBC_2.0 pthread_once F
 GLIBC_2.0 pthread_self F
 GLIBC_2.0 pthread_setcancelstate F
@@ -1565,6 +1566,7 @@  GLIBC_2.1 pread64 F
 GLIBC_2.1 printf_size F
 GLIBC_2.1 printf_size_info F
 GLIBC_2.1 pthread_attr_init F
+GLIBC_2.1 pthread_mutexattr_gettype F
 GLIBC_2.1 pthread_rwlock_rdlock F
 GLIBC_2.1 pthread_rwlock_unlock F
 GLIBC_2.1 pthread_rwlock_wrlock F
@@ -2315,6 +2317,7 @@  GLIBC_2.34 pthread_mutexattr_getprioceiling F
 GLIBC_2.34 pthread_mutexattr_getprotocol F
 GLIBC_2.34 pthread_mutexattr_getpshared F
 GLIBC_2.34 pthread_mutexattr_getrobust F
+GLIBC_2.34 pthread_mutexattr_gettype F
 GLIBC_2.34 pthread_once F
 GLIBC_2.34 pthread_rwlock_rdlock F
 GLIBC_2.34 pthread_rwlock_unlock F
diff --git a/sysdeps/unix/sysv/linux/i386/libpthread.abilist b/sysdeps/unix/sysv/linux/i386/libpthread.abilist
index 7af5f7e8a8..da70695681 100644
--- a/sysdeps/unix/sysv/linux/i386/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/i386/libpthread.abilist
@@ -14,7 +14,6 @@  GLIBC_2.0 pthread_create F
 GLIBC_2.0 pthread_detach F
 GLIBC_2.0 pthread_join F
 GLIBC_2.0 pthread_kill_other_threads_np F
-GLIBC_2.0 pthread_mutexattr_getkind_np F
 GLIBC_2.0 pthread_mutexattr_init F
 GLIBC_2.0 pthread_mutexattr_setkind_np F
 GLIBC_2.0 pthread_testcancel F
@@ -32,7 +31,6 @@  GLIBC_2.1 pthread_attr_setstackaddr F
 GLIBC_2.1 pthread_attr_setstacksize F
 GLIBC_2.1 pthread_create F
 GLIBC_2.1 pthread_getconcurrency F
-GLIBC_2.1 pthread_mutexattr_gettype F
 GLIBC_2.1 pthread_mutexattr_settype F
 GLIBC_2.1 pthread_rwlock_destroy F
 GLIBC_2.1 pthread_rwlock_init F
diff --git a/sysdeps/unix/sysv/linux/ia64/libc.abilist b/sysdeps/unix/sysv/linux/ia64/libc.abilist
index bc01f0a895..c177ae5bbb 100644
--- a/sysdeps/unix/sysv/linux/ia64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/ia64/libc.abilist
@@ -1317,7 +1317,9 @@  GLIBC_2.2 pthread_mutex_timedlock F
 GLIBC_2.2 pthread_mutex_trylock F
 GLIBC_2.2 pthread_mutex_unlock F
 GLIBC_2.2 pthread_mutexattr_destroy F
+GLIBC_2.2 pthread_mutexattr_getkind_np F
 GLIBC_2.2 pthread_mutexattr_getpshared F
+GLIBC_2.2 pthread_mutexattr_gettype F
 GLIBC_2.2 pthread_once F
 GLIBC_2.2 pthread_rwlock_rdlock F
 GLIBC_2.2 pthread_rwlock_unlock F
@@ -2172,6 +2174,7 @@  GLIBC_2.34 pthread_mutexattr_getprioceiling F
 GLIBC_2.34 pthread_mutexattr_getprotocol F
 GLIBC_2.34 pthread_mutexattr_getpshared F
 GLIBC_2.34 pthread_mutexattr_getrobust F
+GLIBC_2.34 pthread_mutexattr_gettype F
 GLIBC_2.34 pthread_once F
 GLIBC_2.34 pthread_rwlock_rdlock F
 GLIBC_2.34 pthread_rwlock_unlock F
diff --git a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
index a6e927ff27..814e226499 100644
--- a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
@@ -43,8 +43,6 @@  GLIBC_2.2 pthread_getconcurrency F
 GLIBC_2.2 pthread_getcpuclockid F
 GLIBC_2.2 pthread_join F
 GLIBC_2.2 pthread_kill_other_threads_np F
-GLIBC_2.2 pthread_mutexattr_getkind_np F
-GLIBC_2.2 pthread_mutexattr_gettype F
 GLIBC_2.2 pthread_mutexattr_init F
 GLIBC_2.2 pthread_mutexattr_setkind_np F
 GLIBC_2.2 pthread_mutexattr_setpshared F
diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
index 660f0ac1f1..f48edd90d6 100644
--- a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
@@ -188,6 +188,7 @@  GLIBC_2.34 pthread_mutexattr_getprioceiling F
 GLIBC_2.34 pthread_mutexattr_getprotocol F
 GLIBC_2.34 pthread_mutexattr_getpshared F
 GLIBC_2.34 pthread_mutexattr_getrobust F
+GLIBC_2.34 pthread_mutexattr_gettype F
 GLIBC_2.34 pthread_once F
 GLIBC_2.34 pthread_rwlock_rdlock F
 GLIBC_2.34 pthread_rwlock_unlock F
@@ -1584,10 +1585,12 @@  GLIBC_2.4 pthread_mutex_timedlock F
 GLIBC_2.4 pthread_mutex_trylock F
 GLIBC_2.4 pthread_mutex_unlock F
 GLIBC_2.4 pthread_mutexattr_destroy F
+GLIBC_2.4 pthread_mutexattr_getkind_np F
 GLIBC_2.4 pthread_mutexattr_getprioceiling F
 GLIBC_2.4 pthread_mutexattr_getprotocol F
 GLIBC_2.4 pthread_mutexattr_getpshared F
 GLIBC_2.4 pthread_mutexattr_getrobust_np F
+GLIBC_2.4 pthread_mutexattr_gettype F
 GLIBC_2.4 pthread_once F
 GLIBC_2.4 pthread_rwlock_rdlock F
 GLIBC_2.4 pthread_rwlock_unlock F
diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
index 0958d07423..eca5d806fd 100644
--- a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
@@ -75,8 +75,6 @@  GLIBC_2.4 pthread_getconcurrency F
 GLIBC_2.4 pthread_getcpuclockid F
 GLIBC_2.4 pthread_join F
 GLIBC_2.4 pthread_kill_other_threads_np F
-GLIBC_2.4 pthread_mutexattr_getkind_np F
-GLIBC_2.4 pthread_mutexattr_gettype F
 GLIBC_2.4 pthread_mutexattr_init F
 GLIBC_2.4 pthread_mutexattr_setkind_np F
 GLIBC_2.4 pthread_mutexattr_setprioceiling F
diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
index 9b44ebe41b..1af2ecc537 100644
--- a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
@@ -883,6 +883,7 @@  GLIBC_2.0 pthread_mutex_lock F
 GLIBC_2.0 pthread_mutex_trylock F
 GLIBC_2.0 pthread_mutex_unlock F
 GLIBC_2.0 pthread_mutexattr_destroy F
+GLIBC_2.0 pthread_mutexattr_getkind_np F
 GLIBC_2.0 pthread_once F
 GLIBC_2.0 pthread_self F
 GLIBC_2.0 pthread_setcancelstate F
@@ -1561,6 +1562,7 @@  GLIBC_2.1 pread64 F
 GLIBC_2.1 printf_size F
 GLIBC_2.1 printf_size_info F
 GLIBC_2.1 pthread_attr_init F
+GLIBC_2.1 pthread_mutexattr_gettype F
 GLIBC_2.1 pthread_rwlock_rdlock F
 GLIBC_2.1 pthread_rwlock_unlock F
 GLIBC_2.1 pthread_rwlock_wrlock F
@@ -2258,6 +2260,7 @@  GLIBC_2.34 pthread_mutexattr_getprioceiling F
 GLIBC_2.34 pthread_mutexattr_getprotocol F
 GLIBC_2.34 pthread_mutexattr_getpshared F
 GLIBC_2.34 pthread_mutexattr_getrobust F
+GLIBC_2.34 pthread_mutexattr_gettype F
 GLIBC_2.34 pthread_once F
 GLIBC_2.34 pthread_rwlock_rdlock F
 GLIBC_2.34 pthread_rwlock_unlock F
diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
index 7af5f7e8a8..da70695681 100644
--- a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
@@ -14,7 +14,6 @@  GLIBC_2.0 pthread_create F
 GLIBC_2.0 pthread_detach F
 GLIBC_2.0 pthread_join F
 GLIBC_2.0 pthread_kill_other_threads_np F
-GLIBC_2.0 pthread_mutexattr_getkind_np F
 GLIBC_2.0 pthread_mutexattr_init F
 GLIBC_2.0 pthread_mutexattr_setkind_np F
 GLIBC_2.0 pthread_testcancel F
@@ -32,7 +31,6 @@  GLIBC_2.1 pthread_attr_setstackaddr F
 GLIBC_2.1 pthread_attr_setstacksize F
 GLIBC_2.1 pthread_create F
 GLIBC_2.1 pthread_getconcurrency F
-GLIBC_2.1 pthread_mutexattr_gettype F
 GLIBC_2.1 pthread_mutexattr_settype F
 GLIBC_2.1 pthread_rwlock_destroy F
 GLIBC_2.1 pthread_rwlock_init F
diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
index 7ef23b0c01..d5ea91968a 100644
--- a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
@@ -1479,11 +1479,13 @@  GLIBC_2.18 pthread_mutex_timedlock F
 GLIBC_2.18 pthread_mutex_trylock F
 GLIBC_2.18 pthread_mutex_unlock F
 GLIBC_2.18 pthread_mutexattr_destroy F
+GLIBC_2.18 pthread_mutexattr_getkind_np F
 GLIBC_2.18 pthread_mutexattr_getprioceiling F
 GLIBC_2.18 pthread_mutexattr_getprotocol F
 GLIBC_2.18 pthread_mutexattr_getpshared F
 GLIBC_2.18 pthread_mutexattr_getrobust F
 GLIBC_2.18 pthread_mutexattr_getrobust_np F
+GLIBC_2.18 pthread_mutexattr_gettype F
 GLIBC_2.18 pthread_once F
 GLIBC_2.18 pthread_rwlock_rdlock F
 GLIBC_2.18 pthread_rwlock_unlock F
@@ -2236,6 +2238,7 @@  GLIBC_2.34 pthread_mutexattr_getprioceiling F
 GLIBC_2.34 pthread_mutexattr_getprotocol F
 GLIBC_2.34 pthread_mutexattr_getpshared F
 GLIBC_2.34 pthread_mutexattr_getrobust F
+GLIBC_2.34 pthread_mutexattr_gettype F
 GLIBC_2.34 pthread_once F
 GLIBC_2.34 pthread_rwlock_rdlock F
 GLIBC_2.34 pthread_rwlock_unlock F
diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
index 65f374d678..27f9f81352 100644
--- a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
@@ -46,8 +46,6 @@  GLIBC_2.18 pthread_getcpuclockid F
 GLIBC_2.18 pthread_getname_np F
 GLIBC_2.18 pthread_join F
 GLIBC_2.18 pthread_kill_other_threads_np F
-GLIBC_2.18 pthread_mutexattr_getkind_np F
-GLIBC_2.18 pthread_mutexattr_gettype F
 GLIBC_2.18 pthread_mutexattr_init F
 GLIBC_2.18 pthread_mutexattr_setkind_np F
 GLIBC_2.18 pthread_mutexattr_setprioceiling F
diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
index 09bed2295a..f55da2fe66 100644
--- a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
@@ -1479,11 +1479,13 @@  GLIBC_2.18 pthread_mutex_timedlock F
 GLIBC_2.18 pthread_mutex_trylock F
 GLIBC_2.18 pthread_mutex_unlock F
 GLIBC_2.18 pthread_mutexattr_destroy F
+GLIBC_2.18 pthread_mutexattr_getkind_np F
 GLIBC_2.18 pthread_mutexattr_getprioceiling F
 GLIBC_2.18 pthread_mutexattr_getprotocol F
 GLIBC_2.18 pthread_mutexattr_getpshared F
 GLIBC_2.18 pthread_mutexattr_getrobust F
 GLIBC_2.18 pthread_mutexattr_getrobust_np F
+GLIBC_2.18 pthread_mutexattr_gettype F
 GLIBC_2.18 pthread_once F
 GLIBC_2.18 pthread_rwlock_rdlock F
 GLIBC_2.18 pthread_rwlock_unlock F
@@ -2233,6 +2235,7 @@  GLIBC_2.34 pthread_mutexattr_getprioceiling F
 GLIBC_2.34 pthread_mutexattr_getprotocol F
 GLIBC_2.34 pthread_mutexattr_getpshared F
 GLIBC_2.34 pthread_mutexattr_getrobust F
+GLIBC_2.34 pthread_mutexattr_gettype F
 GLIBC_2.34 pthread_once F
 GLIBC_2.34 pthread_rwlock_rdlock F
 GLIBC_2.34 pthread_rwlock_unlock F
diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
index 65f374d678..27f9f81352 100644
--- a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
@@ -46,8 +46,6 @@  GLIBC_2.18 pthread_getcpuclockid F
 GLIBC_2.18 pthread_getname_np F
 GLIBC_2.18 pthread_join F
 GLIBC_2.18 pthread_kill_other_threads_np F
-GLIBC_2.18 pthread_mutexattr_getkind_np F
-GLIBC_2.18 pthread_mutexattr_gettype F
 GLIBC_2.18 pthread_mutexattr_init F
 GLIBC_2.18 pthread_mutexattr_setkind_np F
 GLIBC_2.18 pthread_mutexattr_setprioceiling F
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
index 7dcc10defc..058e048632 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
@@ -880,6 +880,7 @@  GLIBC_2.0 pthread_mutex_lock F
 GLIBC_2.0 pthread_mutex_trylock F
 GLIBC_2.0 pthread_mutex_unlock F
 GLIBC_2.0 pthread_mutexattr_destroy F
+GLIBC_2.0 pthread_mutexattr_getkind_np F
 GLIBC_2.0 pthread_once F
 GLIBC_2.0 pthread_self F
 GLIBC_2.0 pthread_setcancelstate F
@@ -1828,6 +1829,7 @@  GLIBC_2.2 printf_size_info F
 GLIBC_2.2 pthread_attr_init F
 GLIBC_2.2 pthread_mutex_timedlock F
 GLIBC_2.2 pthread_mutexattr_getpshared F
+GLIBC_2.2 pthread_mutexattr_gettype F
 GLIBC_2.2 pthread_rwlock_rdlock F
 GLIBC_2.2 pthread_rwlock_unlock F
 GLIBC_2.2 pthread_rwlock_wrlock F
@@ -2221,6 +2223,7 @@  GLIBC_2.34 pthread_mutexattr_getprioceiling F
 GLIBC_2.34 pthread_mutexattr_getprotocol F
 GLIBC_2.34 pthread_mutexattr_getpshared F
 GLIBC_2.34 pthread_mutexattr_getrobust F
+GLIBC_2.34 pthread_mutexattr_gettype F
 GLIBC_2.34 pthread_once F
 GLIBC_2.34 pthread_rwlock_rdlock F
 GLIBC_2.34 pthread_rwlock_unlock F
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
index a18981c619..225d738f75 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
@@ -14,7 +14,6 @@  GLIBC_2.0 pthread_create F
 GLIBC_2.0 pthread_detach F
 GLIBC_2.0 pthread_join F
 GLIBC_2.0 pthread_kill_other_threads_np F
-GLIBC_2.0 pthread_mutexattr_getkind_np F
 GLIBC_2.0 pthread_mutexattr_init F
 GLIBC_2.0 pthread_mutexattr_setkind_np F
 GLIBC_2.0 pthread_testcancel F
@@ -54,7 +53,6 @@  GLIBC_2.2 pthread_condattr_setpshared F
 GLIBC_2.2 pthread_create F
 GLIBC_2.2 pthread_getconcurrency F
 GLIBC_2.2 pthread_getcpuclockid F
-GLIBC_2.2 pthread_mutexattr_gettype F
 GLIBC_2.2 pthread_mutexattr_setpshared F
 GLIBC_2.2 pthread_mutexattr_settype F
 GLIBC_2.2 pthread_rwlock_destroy F
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
index f07fee1cf9..20e9dcefa9 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
@@ -880,6 +880,7 @@  GLIBC_2.0 pthread_mutex_lock F
 GLIBC_2.0 pthread_mutex_trylock F
 GLIBC_2.0 pthread_mutex_unlock F
 GLIBC_2.0 pthread_mutexattr_destroy F
+GLIBC_2.0 pthread_mutexattr_getkind_np F
 GLIBC_2.0 pthread_once F
 GLIBC_2.0 pthread_self F
 GLIBC_2.0 pthread_setcancelstate F
@@ -1826,6 +1827,7 @@  GLIBC_2.2 printf_size_info F
 GLIBC_2.2 pthread_attr_init F
 GLIBC_2.2 pthread_mutex_timedlock F
 GLIBC_2.2 pthread_mutexattr_getpshared F
+GLIBC_2.2 pthread_mutexattr_gettype F
 GLIBC_2.2 pthread_rwlock_rdlock F
 GLIBC_2.2 pthread_rwlock_unlock F
 GLIBC_2.2 pthread_rwlock_wrlock F
@@ -2219,6 +2221,7 @@  GLIBC_2.34 pthread_mutexattr_getprioceiling F
 GLIBC_2.34 pthread_mutexattr_getprotocol F
 GLIBC_2.34 pthread_mutexattr_getpshared F
 GLIBC_2.34 pthread_mutexattr_getrobust F
+GLIBC_2.34 pthread_mutexattr_gettype F
 GLIBC_2.34 pthread_once F
 GLIBC_2.34 pthread_rwlock_rdlock F
 GLIBC_2.34 pthread_rwlock_unlock F
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
index a18981c619..225d738f75 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
@@ -14,7 +14,6 @@  GLIBC_2.0 pthread_create F
 GLIBC_2.0 pthread_detach F
 GLIBC_2.0 pthread_join F
 GLIBC_2.0 pthread_kill_other_threads_np F
-GLIBC_2.0 pthread_mutexattr_getkind_np F
 GLIBC_2.0 pthread_mutexattr_init F
 GLIBC_2.0 pthread_mutexattr_setkind_np F
 GLIBC_2.0 pthread_testcancel F
@@ -54,7 +53,6 @@  GLIBC_2.2 pthread_condattr_setpshared F
 GLIBC_2.2 pthread_create F
 GLIBC_2.2 pthread_getconcurrency F
 GLIBC_2.2 pthread_getcpuclockid F
-GLIBC_2.2 pthread_mutexattr_gettype F
 GLIBC_2.2 pthread_mutexattr_setpshared F
 GLIBC_2.2 pthread_mutexattr_settype F
 GLIBC_2.2 pthread_rwlock_destroy F
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
index 6aff4ce6f5..93f53ee842 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
@@ -880,6 +880,7 @@  GLIBC_2.0 pthread_mutex_lock F
 GLIBC_2.0 pthread_mutex_trylock F
 GLIBC_2.0 pthread_mutex_unlock F
 GLIBC_2.0 pthread_mutexattr_destroy F
+GLIBC_2.0 pthread_mutexattr_getkind_np F
 GLIBC_2.0 pthread_once F
 GLIBC_2.0 pthread_self F
 GLIBC_2.0 pthread_setcancelstate F
@@ -1826,6 +1827,7 @@  GLIBC_2.2 printf_size_info F
 GLIBC_2.2 pthread_attr_init F
 GLIBC_2.2 pthread_mutex_timedlock F
 GLIBC_2.2 pthread_mutexattr_getpshared F
+GLIBC_2.2 pthread_mutexattr_gettype F
 GLIBC_2.2 pthread_rwlock_rdlock F
 GLIBC_2.2 pthread_rwlock_unlock F
 GLIBC_2.2 pthread_rwlock_wrlock F
@@ -2227,6 +2229,7 @@  GLIBC_2.34 pthread_mutexattr_getprioceiling F
 GLIBC_2.34 pthread_mutexattr_getprotocol F
 GLIBC_2.34 pthread_mutexattr_getpshared F
 GLIBC_2.34 pthread_mutexattr_getrobust F
+GLIBC_2.34 pthread_mutexattr_gettype F
 GLIBC_2.34 pthread_once F
 GLIBC_2.34 pthread_rwlock_rdlock F
 GLIBC_2.34 pthread_rwlock_unlock F
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
index f42bf9e886..0c4724425f 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
@@ -878,6 +878,7 @@  GLIBC_2.0 pthread_mutex_lock F
 GLIBC_2.0 pthread_mutex_trylock F
 GLIBC_2.0 pthread_mutex_unlock F
 GLIBC_2.0 pthread_mutexattr_destroy F
+GLIBC_2.0 pthread_mutexattr_getkind_np F
 GLIBC_2.0 pthread_once F
 GLIBC_2.0 pthread_self F
 GLIBC_2.0 pthread_setcancelstate F
@@ -1822,6 +1823,7 @@  GLIBC_2.2 printf_size_info F
 GLIBC_2.2 pthread_attr_init F
 GLIBC_2.2 pthread_mutex_timedlock F
 GLIBC_2.2 pthread_mutexattr_getpshared F
+GLIBC_2.2 pthread_mutexattr_gettype F
 GLIBC_2.2 pthread_rwlock_rdlock F
 GLIBC_2.2 pthread_rwlock_unlock F
 GLIBC_2.2 pthread_rwlock_wrlock F
@@ -2221,6 +2223,7 @@  GLIBC_2.34 pthread_mutexattr_getprioceiling F
 GLIBC_2.34 pthread_mutexattr_getprotocol F
 GLIBC_2.34 pthread_mutexattr_getpshared F
 GLIBC_2.34 pthread_mutexattr_getrobust F
+GLIBC_2.34 pthread_mutexattr_gettype F
 GLIBC_2.34 pthread_once F
 GLIBC_2.34 pthread_rwlock_rdlock F
 GLIBC_2.34 pthread_rwlock_unlock F
diff --git a/sysdeps/unix/sysv/linux/nios2/libc.abilist b/sysdeps/unix/sysv/linux/nios2/libc.abilist
index 64eab9e045..b634f907b4 100644
--- a/sysdeps/unix/sysv/linux/nios2/libc.abilist
+++ b/sysdeps/unix/sysv/linux/nios2/libc.abilist
@@ -1522,11 +1522,13 @@  GLIBC_2.21 pthread_mutex_timedlock F
 GLIBC_2.21 pthread_mutex_trylock F
 GLIBC_2.21 pthread_mutex_unlock F
 GLIBC_2.21 pthread_mutexattr_destroy F
+GLIBC_2.21 pthread_mutexattr_getkind_np F
 GLIBC_2.21 pthread_mutexattr_getprioceiling F
 GLIBC_2.21 pthread_mutexattr_getprotocol F
 GLIBC_2.21 pthread_mutexattr_getpshared F
 GLIBC_2.21 pthread_mutexattr_getrobust F
 GLIBC_2.21 pthread_mutexattr_getrobust_np F
+GLIBC_2.21 pthread_mutexattr_gettype F
 GLIBC_2.21 pthread_once F
 GLIBC_2.21 pthread_rwlock_rdlock F
 GLIBC_2.21 pthread_rwlock_unlock F
@@ -2275,6 +2277,7 @@  GLIBC_2.34 pthread_mutexattr_getprioceiling F
 GLIBC_2.34 pthread_mutexattr_getprotocol F
 GLIBC_2.34 pthread_mutexattr_getpshared F
 GLIBC_2.34 pthread_mutexattr_getrobust F
+GLIBC_2.34 pthread_mutexattr_gettype F
 GLIBC_2.34 pthread_once F
 GLIBC_2.34 pthread_rwlock_rdlock F
 GLIBC_2.34 pthread_rwlock_unlock F
diff --git a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
index 0df91d21b4..70554bbb20 100644
--- a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
@@ -46,8 +46,6 @@  GLIBC_2.21 pthread_getcpuclockid F
 GLIBC_2.21 pthread_getname_np F
 GLIBC_2.21 pthread_join F
 GLIBC_2.21 pthread_kill_other_threads_np F
-GLIBC_2.21 pthread_mutexattr_getkind_np F
-GLIBC_2.21 pthread_mutexattr_gettype F
 GLIBC_2.21 pthread_mutexattr_init F
 GLIBC_2.21 pthread_mutexattr_setkind_np F
 GLIBC_2.21 pthread_mutexattr_setprioceiling F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
index fb71ba447f..8423034732 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
@@ -891,6 +891,7 @@  GLIBC_2.0 pthread_mutex_lock F
 GLIBC_2.0 pthread_mutex_trylock F
 GLIBC_2.0 pthread_mutex_unlock F
 GLIBC_2.0 pthread_mutexattr_destroy F
+GLIBC_2.0 pthread_mutexattr_getkind_np F
 GLIBC_2.0 pthread_once F
 GLIBC_2.0 pthread_self F
 GLIBC_2.0 pthread_setcancelstate F
@@ -1569,6 +1570,7 @@  GLIBC_2.1 pread64 F
 GLIBC_2.1 printf_size F
 GLIBC_2.1 printf_size_info F
 GLIBC_2.1 pthread_attr_init F
+GLIBC_2.1 pthread_mutexattr_gettype F
 GLIBC_2.1 pthread_rwlock_rdlock F
 GLIBC_2.1 pthread_rwlock_unlock F
 GLIBC_2.1 pthread_rwlock_wrlock F
@@ -2285,6 +2287,7 @@  GLIBC_2.34 pthread_mutexattr_getprioceiling F
 GLIBC_2.34 pthread_mutexattr_getprotocol F
 GLIBC_2.34 pthread_mutexattr_getpshared F
 GLIBC_2.34 pthread_mutexattr_getrobust F
+GLIBC_2.34 pthread_mutexattr_gettype F
 GLIBC_2.34 pthread_once F
 GLIBC_2.34 pthread_rwlock_rdlock F
 GLIBC_2.34 pthread_rwlock_unlock F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
index 89922bd9eb..e472017ffa 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
@@ -14,7 +14,6 @@  GLIBC_2.0 pthread_create F
 GLIBC_2.0 pthread_detach F
 GLIBC_2.0 pthread_join F
 GLIBC_2.0 pthread_kill_other_threads_np F
-GLIBC_2.0 pthread_mutexattr_getkind_np F
 GLIBC_2.0 pthread_mutexattr_init F
 GLIBC_2.0 pthread_mutexattr_setkind_np F
 GLIBC_2.0 pthread_testcancel F
@@ -32,7 +31,6 @@  GLIBC_2.1 pthread_attr_setstackaddr F
 GLIBC_2.1 pthread_attr_setstacksize F
 GLIBC_2.1 pthread_create F
 GLIBC_2.1 pthread_getconcurrency F
-GLIBC_2.1 pthread_mutexattr_gettype F
 GLIBC_2.1 pthread_mutexattr_settype F
 GLIBC_2.1 pthread_rwlock_destroy F
 GLIBC_2.1 pthread_rwlock_init F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
index 7d63bd37f7..e61302e2fe 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
@@ -891,6 +891,7 @@  GLIBC_2.0 pthread_mutex_lock F
 GLIBC_2.0 pthread_mutex_trylock F
 GLIBC_2.0 pthread_mutex_unlock F
 GLIBC_2.0 pthread_mutexattr_destroy F
+GLIBC_2.0 pthread_mutexattr_getkind_np F
 GLIBC_2.0 pthread_once F
 GLIBC_2.0 pthread_self F
 GLIBC_2.0 pthread_setcancelstate F
@@ -1569,6 +1570,7 @@  GLIBC_2.1 pread64 F
 GLIBC_2.1 printf_size F
 GLIBC_2.1 printf_size_info F
 GLIBC_2.1 pthread_attr_init F
+GLIBC_2.1 pthread_mutexattr_gettype F
 GLIBC_2.1 pthread_rwlock_rdlock F
 GLIBC_2.1 pthread_rwlock_unlock F
 GLIBC_2.1 pthread_rwlock_wrlock F
@@ -2318,6 +2320,7 @@  GLIBC_2.34 pthread_mutexattr_getprioceiling F
 GLIBC_2.34 pthread_mutexattr_getprotocol F
 GLIBC_2.34 pthread_mutexattr_getpshared F
 GLIBC_2.34 pthread_mutexattr_getrobust F
+GLIBC_2.34 pthread_mutexattr_gettype F
 GLIBC_2.34 pthread_once F
 GLIBC_2.34 pthread_rwlock_rdlock F
 GLIBC_2.34 pthread_rwlock_unlock F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
index 730b442ddc..319bc63e3c 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
@@ -1403,7 +1403,9 @@  GLIBC_2.3 pthread_mutex_timedlock F
 GLIBC_2.3 pthread_mutex_trylock F
 GLIBC_2.3 pthread_mutex_unlock F
 GLIBC_2.3 pthread_mutexattr_destroy F
+GLIBC_2.3 pthread_mutexattr_getkind_np F
 GLIBC_2.3 pthread_mutexattr_getpshared F
+GLIBC_2.3 pthread_mutexattr_gettype F
 GLIBC_2.3 pthread_once F
 GLIBC_2.3 pthread_rwlock_rdlock F
 GLIBC_2.3 pthread_rwlock_unlock F
@@ -2140,6 +2142,7 @@  GLIBC_2.34 pthread_mutexattr_getprioceiling F
 GLIBC_2.34 pthread_mutexattr_getprotocol F
 GLIBC_2.34 pthread_mutexattr_getpshared F
 GLIBC_2.34 pthread_mutexattr_getrobust F
+GLIBC_2.34 pthread_mutexattr_gettype F
 GLIBC_2.34 pthread_once F
 GLIBC_2.34 pthread_rwlock_rdlock F
 GLIBC_2.34 pthread_rwlock_unlock F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
index b7da8fb7e5..3b50450b46 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
@@ -63,8 +63,6 @@  GLIBC_2.3 pthread_getconcurrency F
 GLIBC_2.3 pthread_getcpuclockid F
 GLIBC_2.3 pthread_join F
 GLIBC_2.3 pthread_kill_other_threads_np F
-GLIBC_2.3 pthread_mutexattr_getkind_np F
-GLIBC_2.3 pthread_mutexattr_gettype F
 GLIBC_2.3 pthread_mutexattr_init F
 GLIBC_2.3 pthread_mutexattr_setkind_np F
 GLIBC_2.3 pthread_mutexattr_setpshared F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
index 7ab9c46737..20fa7173bb 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
@@ -1565,11 +1565,13 @@  GLIBC_2.17 pthread_mutex_timedlock F
 GLIBC_2.17 pthread_mutex_trylock F
 GLIBC_2.17 pthread_mutex_unlock F
 GLIBC_2.17 pthread_mutexattr_destroy F
+GLIBC_2.17 pthread_mutexattr_getkind_np F
 GLIBC_2.17 pthread_mutexattr_getprioceiling F
 GLIBC_2.17 pthread_mutexattr_getprotocol F
 GLIBC_2.17 pthread_mutexattr_getpshared F
 GLIBC_2.17 pthread_mutexattr_getrobust F
 GLIBC_2.17 pthread_mutexattr_getrobust_np F
+GLIBC_2.17 pthread_mutexattr_gettype F
 GLIBC_2.17 pthread_once F
 GLIBC_2.17 pthread_rwlock_rdlock F
 GLIBC_2.17 pthread_rwlock_unlock F
@@ -2438,6 +2440,7 @@  GLIBC_2.34 pthread_mutexattr_getprioceiling F
 GLIBC_2.34 pthread_mutexattr_getprotocol F
 GLIBC_2.34 pthread_mutexattr_getpshared F
 GLIBC_2.34 pthread_mutexattr_getrobust F
+GLIBC_2.34 pthread_mutexattr_gettype F
 GLIBC_2.34 pthread_once F
 GLIBC_2.34 pthread_rwlock_rdlock F
 GLIBC_2.34 pthread_rwlock_unlock F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
index ac89723ec1..098c8f95d9 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
@@ -45,8 +45,6 @@  GLIBC_2.17 pthread_getcpuclockid F
 GLIBC_2.17 pthread_getname_np F
 GLIBC_2.17 pthread_join F
 GLIBC_2.17 pthread_kill_other_threads_np F
-GLIBC_2.17 pthread_mutexattr_getkind_np F
-GLIBC_2.17 pthread_mutexattr_gettype F
 GLIBC_2.17 pthread_mutexattr_init F
 GLIBC_2.17 pthread_mutexattr_setkind_np F
 GLIBC_2.17 pthread_mutexattr_setprioceiling F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
index 9dd3f84773..558f8ee668 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
@@ -1407,11 +1407,13 @@  GLIBC_2.33 pthread_mutex_timedlock F
 GLIBC_2.33 pthread_mutex_trylock F
 GLIBC_2.33 pthread_mutex_unlock F
 GLIBC_2.33 pthread_mutexattr_destroy F
+GLIBC_2.33 pthread_mutexattr_getkind_np F
 GLIBC_2.33 pthread_mutexattr_getprioceiling F
 GLIBC_2.33 pthread_mutexattr_getprotocol F
 GLIBC_2.33 pthread_mutexattr_getpshared F
 GLIBC_2.33 pthread_mutexattr_getrobust F
 GLIBC_2.33 pthread_mutexattr_getrobust_np F
+GLIBC_2.33 pthread_mutexattr_gettype F
 GLIBC_2.33 pthread_once F
 GLIBC_2.33 pthread_rwlock_rdlock F
 GLIBC_2.33 pthread_rwlock_unlock F
@@ -2003,6 +2005,7 @@  GLIBC_2.34 pthread_mutexattr_getprioceiling F
 GLIBC_2.34 pthread_mutexattr_getprotocol F
 GLIBC_2.34 pthread_mutexattr_getpshared F
 GLIBC_2.34 pthread_mutexattr_getrobust F
+GLIBC_2.34 pthread_mutexattr_gettype F
 GLIBC_2.34 pthread_once F
 GLIBC_2.34 pthread_rwlock_rdlock F
 GLIBC_2.34 pthread_rwlock_unlock F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
index 8b7801c53b..d92e0bf2d1 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
@@ -60,8 +60,6 @@  GLIBC_2.33 pthread_getcpuclockid F
 GLIBC_2.33 pthread_getname_np F
 GLIBC_2.33 pthread_join F
 GLIBC_2.33 pthread_kill_other_threads_np F
-GLIBC_2.33 pthread_mutexattr_getkind_np F
-GLIBC_2.33 pthread_mutexattr_gettype F
 GLIBC_2.33 pthread_mutexattr_init F
 GLIBC_2.33 pthread_mutexattr_setkind_np F
 GLIBC_2.33 pthread_mutexattr_setprioceiling F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
index dc4ab88a89..7dd9fb75a6 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
@@ -1467,11 +1467,13 @@  GLIBC_2.27 pthread_mutex_timedlock F
 GLIBC_2.27 pthread_mutex_trylock F
 GLIBC_2.27 pthread_mutex_unlock F
 GLIBC_2.27 pthread_mutexattr_destroy F
+GLIBC_2.27 pthread_mutexattr_getkind_np F
 GLIBC_2.27 pthread_mutexattr_getprioceiling F
 GLIBC_2.27 pthread_mutexattr_getprotocol F
 GLIBC_2.27 pthread_mutexattr_getpshared F
 GLIBC_2.27 pthread_mutexattr_getrobust F
 GLIBC_2.27 pthread_mutexattr_getrobust_np F
+GLIBC_2.27 pthread_mutexattr_gettype F
 GLIBC_2.27 pthread_once F
 GLIBC_2.27 pthread_rwlock_rdlock F
 GLIBC_2.27 pthread_rwlock_unlock F
@@ -2203,6 +2205,7 @@  GLIBC_2.34 pthread_mutexattr_getprioceiling F
 GLIBC_2.34 pthread_mutexattr_getprotocol F
 GLIBC_2.34 pthread_mutexattr_getpshared F
 GLIBC_2.34 pthread_mutexattr_getrobust F
+GLIBC_2.34 pthread_mutexattr_gettype F
 GLIBC_2.34 pthread_once F
 GLIBC_2.34 pthread_rwlock_rdlock F
 GLIBC_2.34 pthread_rwlock_unlock F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
index 2e0295793a..a048b37f4c 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
@@ -46,8 +46,6 @@  GLIBC_2.27 pthread_getcpuclockid F
 GLIBC_2.27 pthread_getname_np F
 GLIBC_2.27 pthread_join F
 GLIBC_2.27 pthread_kill_other_threads_np F
-GLIBC_2.27 pthread_mutexattr_getkind_np F
-GLIBC_2.27 pthread_mutexattr_gettype F
 GLIBC_2.27 pthread_mutexattr_init F
 GLIBC_2.27 pthread_mutexattr_setkind_np F
 GLIBC_2.27 pthread_mutexattr_setprioceiling F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
index abc2de0436..a1e639d98c 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
@@ -882,6 +882,7 @@  GLIBC_2.0 pthread_mutex_lock F
 GLIBC_2.0 pthread_mutex_trylock F
 GLIBC_2.0 pthread_mutex_unlock F
 GLIBC_2.0 pthread_mutexattr_destroy F
+GLIBC_2.0 pthread_mutexattr_getkind_np F
 GLIBC_2.0 pthread_once F
 GLIBC_2.0 pthread_self F
 GLIBC_2.0 pthread_setcancelstate F
@@ -1561,6 +1562,7 @@  GLIBC_2.1 pread64 F
 GLIBC_2.1 printf_size F
 GLIBC_2.1 printf_size_info F
 GLIBC_2.1 pthread_attr_init F
+GLIBC_2.1 pthread_mutexattr_gettype F
 GLIBC_2.1 pthread_rwlock_rdlock F
 GLIBC_2.1 pthread_rwlock_unlock F
 GLIBC_2.1 pthread_rwlock_wrlock F
@@ -2283,6 +2285,7 @@  GLIBC_2.34 pthread_mutexattr_getprioceiling F
 GLIBC_2.34 pthread_mutexattr_getprotocol F
 GLIBC_2.34 pthread_mutexattr_getpshared F
 GLIBC_2.34 pthread_mutexattr_getrobust F
+GLIBC_2.34 pthread_mutexattr_gettype F
 GLIBC_2.34 pthread_once F
 GLIBC_2.34 pthread_rwlock_rdlock F
 GLIBC_2.34 pthread_rwlock_unlock F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
index c46d466d1a..7d11e3784e 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
@@ -14,7 +14,6 @@  GLIBC_2.0 pthread_create F
 GLIBC_2.0 pthread_detach F
 GLIBC_2.0 pthread_join F
 GLIBC_2.0 pthread_kill_other_threads_np F
-GLIBC_2.0 pthread_mutexattr_getkind_np F
 GLIBC_2.0 pthread_mutexattr_init F
 GLIBC_2.0 pthread_mutexattr_setkind_np F
 GLIBC_2.0 pthread_testcancel F
@@ -32,7 +31,6 @@  GLIBC_2.1 pthread_attr_setstackaddr F
 GLIBC_2.1 pthread_attr_setstacksize F
 GLIBC_2.1 pthread_create F
 GLIBC_2.1 pthread_getconcurrency F
-GLIBC_2.1 pthread_mutexattr_gettype F
 GLIBC_2.1 pthread_mutexattr_settype F
 GLIBC_2.1 pthread_rwlock_destroy F
 GLIBC_2.1 pthread_rwlock_init F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
index 5003d44eaf..fe6d78abc2 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
@@ -1314,7 +1314,9 @@  GLIBC_2.2 pthread_mutex_timedlock F
 GLIBC_2.2 pthread_mutex_trylock F
 GLIBC_2.2 pthread_mutex_unlock F
 GLIBC_2.2 pthread_mutexattr_destroy F
+GLIBC_2.2 pthread_mutexattr_getkind_np F
 GLIBC_2.2 pthread_mutexattr_getpshared F
+GLIBC_2.2 pthread_mutexattr_gettype F
 GLIBC_2.2 pthread_once F
 GLIBC_2.2 pthread_rwlock_rdlock F
 GLIBC_2.2 pthread_rwlock_unlock F
@@ -2176,6 +2178,7 @@  GLIBC_2.34 pthread_mutexattr_getprioceiling F
 GLIBC_2.34 pthread_mutexattr_getprotocol F
 GLIBC_2.34 pthread_mutexattr_getpshared F
 GLIBC_2.34 pthread_mutexattr_getrobust F
+GLIBC_2.34 pthread_mutexattr_gettype F
 GLIBC_2.34 pthread_once F
 GLIBC_2.34 pthread_rwlock_rdlock F
 GLIBC_2.34 pthread_rwlock_unlock F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
index 1c25cbe056..c5c3c96872 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
@@ -44,8 +44,6 @@  GLIBC_2.2 pthread_getconcurrency F
 GLIBC_2.2 pthread_getcpuclockid F
 GLIBC_2.2 pthread_join F
 GLIBC_2.2 pthread_kill_other_threads_np F
-GLIBC_2.2 pthread_mutexattr_getkind_np F
-GLIBC_2.2 pthread_mutexattr_gettype F
 GLIBC_2.2 pthread_mutexattr_init F
 GLIBC_2.2 pthread_mutexattr_setkind_np F
 GLIBC_2.2 pthread_mutexattr_setpshared F
diff --git a/sysdeps/unix/sysv/linux/sh/be/libc.abilist b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
index 2b6335aa6a..9c1acb6437 100644
--- a/sysdeps/unix/sysv/linux/sh/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
@@ -1300,7 +1300,9 @@  GLIBC_2.2 pthread_mutex_timedlock F
 GLIBC_2.2 pthread_mutex_trylock F
 GLIBC_2.2 pthread_mutex_unlock F
 GLIBC_2.2 pthread_mutexattr_destroy F
+GLIBC_2.2 pthread_mutexattr_getkind_np F
 GLIBC_2.2 pthread_mutexattr_getpshared F
+GLIBC_2.2 pthread_mutexattr_gettype F
 GLIBC_2.2 pthread_once F
 GLIBC_2.2 pthread_rwlock_rdlock F
 GLIBC_2.2 pthread_rwlock_unlock F
@@ -2145,6 +2147,7 @@  GLIBC_2.34 pthread_mutexattr_getprioceiling F
 GLIBC_2.34 pthread_mutexattr_getprotocol F
 GLIBC_2.34 pthread_mutexattr_getpshared F
 GLIBC_2.34 pthread_mutexattr_getrobust F
+GLIBC_2.34 pthread_mutexattr_gettype F
 GLIBC_2.34 pthread_once F
 GLIBC_2.34 pthread_rwlock_rdlock F
 GLIBC_2.34 pthread_rwlock_unlock F
diff --git a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
index 794931d9c2..f711cddf92 100644
--- a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
@@ -43,8 +43,6 @@  GLIBC_2.2 pthread_getconcurrency F
 GLIBC_2.2 pthread_getcpuclockid F
 GLIBC_2.2 pthread_join F
 GLIBC_2.2 pthread_kill_other_threads_np F
-GLIBC_2.2 pthread_mutexattr_getkind_np F
-GLIBC_2.2 pthread_mutexattr_gettype F
 GLIBC_2.2 pthread_mutexattr_init F
 GLIBC_2.2 pthread_mutexattr_setkind_np F
 GLIBC_2.2 pthread_mutexattr_setpshared F
diff --git a/sysdeps/unix/sysv/linux/sh/le/libc.abilist b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
index d699191807..5694a40568 100644
--- a/sysdeps/unix/sysv/linux/sh/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
@@ -1300,7 +1300,9 @@  GLIBC_2.2 pthread_mutex_timedlock F
 GLIBC_2.2 pthread_mutex_trylock F
 GLIBC_2.2 pthread_mutex_unlock F
 GLIBC_2.2 pthread_mutexattr_destroy F
+GLIBC_2.2 pthread_mutexattr_getkind_np F
 GLIBC_2.2 pthread_mutexattr_getpshared F
+GLIBC_2.2 pthread_mutexattr_gettype F
 GLIBC_2.2 pthread_once F
 GLIBC_2.2 pthread_rwlock_rdlock F
 GLIBC_2.2 pthread_rwlock_unlock F
@@ -2142,6 +2144,7 @@  GLIBC_2.34 pthread_mutexattr_getprioceiling F
 GLIBC_2.34 pthread_mutexattr_getprotocol F
 GLIBC_2.34 pthread_mutexattr_getpshared F
 GLIBC_2.34 pthread_mutexattr_getrobust F
+GLIBC_2.34 pthread_mutexattr_gettype F
 GLIBC_2.34 pthread_once F
 GLIBC_2.34 pthread_rwlock_rdlock F
 GLIBC_2.34 pthread_rwlock_unlock F
diff --git a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
index 794931d9c2..f711cddf92 100644
--- a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
@@ -43,8 +43,6 @@  GLIBC_2.2 pthread_getconcurrency F
 GLIBC_2.2 pthread_getcpuclockid F
 GLIBC_2.2 pthread_join F
 GLIBC_2.2 pthread_kill_other_threads_np F
-GLIBC_2.2 pthread_mutexattr_getkind_np F
-GLIBC_2.2 pthread_mutexattr_gettype F
 GLIBC_2.2 pthread_mutexattr_init F
 GLIBC_2.2 pthread_mutexattr_setkind_np F
 GLIBC_2.2 pthread_mutexattr_setpshared F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
index 480af050d9..30ccd739f0 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
@@ -885,6 +885,7 @@  GLIBC_2.0 pthread_mutex_lock F
 GLIBC_2.0 pthread_mutex_trylock F
 GLIBC_2.0 pthread_mutex_unlock F
 GLIBC_2.0 pthread_mutexattr_destroy F
+GLIBC_2.0 pthread_mutexattr_getkind_np F
 GLIBC_2.0 pthread_once F
 GLIBC_2.0 pthread_self F
 GLIBC_2.0 pthread_setcancelstate F
@@ -1562,6 +1563,7 @@  GLIBC_2.1 pread64 F
 GLIBC_2.1 printf_size F
 GLIBC_2.1 printf_size_info F
 GLIBC_2.1 pthread_attr_init F
+GLIBC_2.1 pthread_mutexattr_gettype F
 GLIBC_2.1 pthread_rwlock_rdlock F
 GLIBC_2.1 pthread_rwlock_unlock F
 GLIBC_2.1 pthread_rwlock_wrlock F
@@ -2274,6 +2276,7 @@  GLIBC_2.34 pthread_mutexattr_getprioceiling F
 GLIBC_2.34 pthread_mutexattr_getprotocol F
 GLIBC_2.34 pthread_mutexattr_getpshared F
 GLIBC_2.34 pthread_mutexattr_getrobust F
+GLIBC_2.34 pthread_mutexattr_gettype F
 GLIBC_2.34 pthread_once F
 GLIBC_2.34 pthread_rwlock_rdlock F
 GLIBC_2.34 pthread_rwlock_unlock F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
index fd0336c19c..2264cf8fb5 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
@@ -14,7 +14,6 @@  GLIBC_2.0 pthread_create F
 GLIBC_2.0 pthread_detach F
 GLIBC_2.0 pthread_join F
 GLIBC_2.0 pthread_kill_other_threads_np F
-GLIBC_2.0 pthread_mutexattr_getkind_np F
 GLIBC_2.0 pthread_mutexattr_init F
 GLIBC_2.0 pthread_mutexattr_setkind_np F
 GLIBC_2.0 pthread_testcancel F
@@ -32,7 +31,6 @@  GLIBC_2.1 pthread_attr_setstackaddr F
 GLIBC_2.1 pthread_attr_setstacksize F
 GLIBC_2.1 pthread_create F
 GLIBC_2.1 pthread_getconcurrency F
-GLIBC_2.1 pthread_mutexattr_gettype F
 GLIBC_2.1 pthread_mutexattr_settype F
 GLIBC_2.1 pthread_rwlock_destroy F
 GLIBC_2.1 pthread_rwlock_init F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
index fce3528535..de18015915 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
@@ -1343,7 +1343,9 @@  GLIBC_2.2 pthread_mutex_timedlock F
 GLIBC_2.2 pthread_mutex_trylock F
 GLIBC_2.2 pthread_mutex_unlock F
 GLIBC_2.2 pthread_mutexattr_destroy F
+GLIBC_2.2 pthread_mutexattr_getkind_np F
 GLIBC_2.2 pthread_mutexattr_getpshared F
+GLIBC_2.2 pthread_mutexattr_gettype F
 GLIBC_2.2 pthread_once F
 GLIBC_2.2 pthread_rwlock_rdlock F
 GLIBC_2.2 pthread_rwlock_unlock F
@@ -2193,6 +2195,7 @@  GLIBC_2.34 pthread_mutexattr_getprioceiling F
 GLIBC_2.34 pthread_mutexattr_getprotocol F
 GLIBC_2.34 pthread_mutexattr_getpshared F
 GLIBC_2.34 pthread_mutexattr_getrobust F
+GLIBC_2.34 pthread_mutexattr_gettype F
 GLIBC_2.34 pthread_once F
 GLIBC_2.34 pthread_rwlock_rdlock F
 GLIBC_2.34 pthread_rwlock_unlock F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
index a6e927ff27..814e226499 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
@@ -43,8 +43,6 @@  GLIBC_2.2 pthread_getconcurrency F
 GLIBC_2.2 pthread_getcpuclockid F
 GLIBC_2.2 pthread_join F
 GLIBC_2.2 pthread_kill_other_threads_np F
-GLIBC_2.2 pthread_mutexattr_getkind_np F
-GLIBC_2.2 pthread_mutexattr_gettype F
 GLIBC_2.2 pthread_mutexattr_init F
 GLIBC_2.2 pthread_mutexattr_setkind_np F
 GLIBC_2.2 pthread_mutexattr_setpshared F
diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
index 3848024480..8d8c071f14 100644
--- a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
@@ -1311,7 +1311,9 @@  GLIBC_2.2.5 pthread_mutex_timedlock F
 GLIBC_2.2.5 pthread_mutex_trylock F
 GLIBC_2.2.5 pthread_mutex_unlock F
 GLIBC_2.2.5 pthread_mutexattr_destroy F
+GLIBC_2.2.5 pthread_mutexattr_getkind_np F
 GLIBC_2.2.5 pthread_mutexattr_getpshared F
+GLIBC_2.2.5 pthread_mutexattr_gettype F
 GLIBC_2.2.5 pthread_once F
 GLIBC_2.2.5 pthread_rwlock_rdlock F
 GLIBC_2.2.5 pthread_rwlock_unlock F
@@ -2154,6 +2156,7 @@  GLIBC_2.34 pthread_mutexattr_getprioceiling F
 GLIBC_2.34 pthread_mutexattr_getprotocol F
 GLIBC_2.34 pthread_mutexattr_getpshared F
 GLIBC_2.34 pthread_mutexattr_getrobust F
+GLIBC_2.34 pthread_mutexattr_gettype F
 GLIBC_2.34 pthread_once F
 GLIBC_2.34 pthread_rwlock_rdlock F
 GLIBC_2.34 pthread_rwlock_unlock F
diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
index 00fb1e1495..5a733191de 100644
--- a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
@@ -43,8 +43,6 @@  GLIBC_2.2.5 pthread_getconcurrency F
 GLIBC_2.2.5 pthread_getcpuclockid F
 GLIBC_2.2.5 pthread_join F
 GLIBC_2.2.5 pthread_kill_other_threads_np F
-GLIBC_2.2.5 pthread_mutexattr_getkind_np F
-GLIBC_2.2.5 pthread_mutexattr_gettype F
 GLIBC_2.2.5 pthread_mutexattr_init F
 GLIBC_2.2.5 pthread_mutexattr_setkind_np F
 GLIBC_2.2.5 pthread_mutexattr_setpshared F
diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
index 57f1d91316..0ba4607708 100644
--- a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
@@ -1484,11 +1484,13 @@  GLIBC_2.16 pthread_mutex_timedlock F
 GLIBC_2.16 pthread_mutex_trylock F
 GLIBC_2.16 pthread_mutex_unlock F
 GLIBC_2.16 pthread_mutexattr_destroy F
+GLIBC_2.16 pthread_mutexattr_getkind_np F
 GLIBC_2.16 pthread_mutexattr_getprioceiling F
 GLIBC_2.16 pthread_mutexattr_getprotocol F
 GLIBC_2.16 pthread_mutexattr_getpshared F
 GLIBC_2.16 pthread_mutexattr_getrobust F
 GLIBC_2.16 pthread_mutexattr_getrobust_np F
+GLIBC_2.16 pthread_mutexattr_gettype F
 GLIBC_2.16 pthread_once F
 GLIBC_2.16 pthread_rwlock_rdlock F
 GLIBC_2.16 pthread_rwlock_unlock F
@@ -2257,6 +2259,7 @@  GLIBC_2.34 pthread_mutexattr_getprioceiling F
 GLIBC_2.34 pthread_mutexattr_getprotocol F
 GLIBC_2.34 pthread_mutexattr_getpshared F
 GLIBC_2.34 pthread_mutexattr_getrobust F
+GLIBC_2.34 pthread_mutexattr_gettype F
 GLIBC_2.34 pthread_once F
 GLIBC_2.34 pthread_rwlock_rdlock F
 GLIBC_2.34 pthread_rwlock_unlock F
diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
index 1875a92779..8ac6ff7977 100644
--- a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
@@ -45,8 +45,6 @@  GLIBC_2.16 pthread_getcpuclockid F
 GLIBC_2.16 pthread_getname_np F
 GLIBC_2.16 pthread_join F
 GLIBC_2.16 pthread_kill_other_threads_np F
-GLIBC_2.16 pthread_mutexattr_getkind_np F
-GLIBC_2.16 pthread_mutexattr_gettype F
 GLIBC_2.16 pthread_mutexattr_init F
 GLIBC_2.16 pthread_mutexattr_setkind_np F
 GLIBC_2.16 pthread_mutexattr_setprioceiling F