[01/18] nptl: Move pthread_mutex_consistent into libc

Message ID 22de850756d320f188c0ccd53e298b13768e0c49.1615569355.git.fweimer@redhat.com
State Superseded
Headers show
Series
  • Repost of pending libpthread removal patches
Related show

Commit Message

Mark Harris via Libc-alpha March 12, 2021, 5:48 p.m.
And deprecated pthread_mutex_consistent_np, its old name.
---
 NEWS                                          |  4 +++-
 nptl/Makefile                                 |  2 +-
 nptl/Versions                                 | 11 ++++++++--
 nptl/pthread_mutex_consistent.c               | 22 ++++++++++++++++---
 sysdeps/nptl/pthread.h                        |  5 +++--
 sysdeps/pthread/tst-robust1.c                 |  4 ++--
 sysdeps/pthread/tst-robust8.c                 |  2 +-
 sysdeps/pthread/tst-robust9.c                 |  4 ++--
 sysdeps/unix/sysv/linux/aarch64/libc.abilist  |  3 +++
 .../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 +++
 .../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 +++
 .../unix/sysv/linux/csky/libpthread.abilist   |  2 --
 sysdeps/unix/sysv/linux/hppa/libc.abilist     |  3 +++
 .../unix/sysv/linux/hppa/libpthread.abilist   |  2 --
 sysdeps/unix/sysv/linux/i386/libc.abilist     |  3 +++
 .../unix/sysv/linux/i386/libpthread.abilist   |  2 --
 sysdeps/unix/sysv/linux/ia64/libc.abilist     |  3 +++
 .../unix/sysv/linux/ia64/libpthread.abilist   |  2 --
 .../sysv/linux/m68k/coldfire/libc.abilist     |  3 +++
 .../linux/m68k/coldfire/libpthread.abilist    |  2 --
 .../unix/sysv/linux/m68k/m680x0/libc.abilist  |  3 +++
 .../sysv/linux/m68k/m680x0/libpthread.abilist |  2 --
 .../sysv/linux/microblaze/be/libc.abilist     |  3 +++
 .../linux/microblaze/be/libpthread.abilist    |  2 --
 .../sysv/linux/microblaze/le/libc.abilist     |  3 +++
 .../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 +++
 .../powerpc/powerpc32/libpthread.abilist      |  2 --
 .../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 --
 .../unix/sysv/linux/riscv/rv32/libc.abilist   |  3 +++
 .../sysv/linux/riscv/rv32/libpthread.abilist  |  2 --
 .../unix/sysv/linux/riscv/rv64/libc.abilist   |  3 +++
 .../sysv/linux/riscv/rv64/libpthread.abilist  |  2 --
 .../unix/sysv/linux/s390/s390-32/libc.abilist |  3 +++
 .../linux/s390/s390-32/libpthread.abilist     |  2 --
 .../unix/sysv/linux/s390/s390-64/libc.abilist |  3 +++
 .../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 --
 .../sysv/linux/sparc/sparc32/libc.abilist     |  3 +++
 .../linux/sparc/sparc32/libpthread.abilist    |  2 --
 .../sysv/linux/sparc/sparc64/libc.abilist     |  3 +++
 .../linux/sparc/sparc64/libpthread.abilist    |  2 --
 .../unix/sysv/linux/x86_64/64/libc.abilist    |  3 +++
 .../sysv/linux/x86_64/64/libpthread.abilist   |  2 --
 .../unix/sysv/linux/x86_64/x32/libc.abilist   |  3 +++
 .../sysv/linux/x86_64/x32/libpthread.abilist  |  2 --
 69 files changed, 136 insertions(+), 72 deletions(-)

-- 
2.29.2

Comments

Mark Harris via Libc-alpha March 15, 2021, 7:30 p.m. | #1
On 12/03/2021 14:48, Florian Weimer via Libc-alpha wrote:
> And deprecated pthread_mutex_consistent_np, its old name.


Look good, only some remarks about how to deprecate the 
pthread_mutex_consistent_np.

> ---

>  NEWS                                          |  4 +++-

>  nptl/Makefile                                 |  2 +-

>  nptl/Versions                                 | 11 ++++++++--

>  nptl/pthread_mutex_consistent.c               | 22 ++++++++++++++++---

>  sysdeps/nptl/pthread.h                        |  5 +++--

>  sysdeps/pthread/tst-robust1.c                 |  4 ++--

>  sysdeps/pthread/tst-robust8.c                 |  2 +-

>  sysdeps/pthread/tst-robust9.c                 |  4 ++--

>  sysdeps/unix/sysv/linux/aarch64/libc.abilist  |  3 +++

>  .../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 +++

>  .../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 +++

>  .../unix/sysv/linux/csky/libpthread.abilist   |  2 --

>  sysdeps/unix/sysv/linux/hppa/libc.abilist     |  3 +++

>  .../unix/sysv/linux/hppa/libpthread.abilist   |  2 --

>  sysdeps/unix/sysv/linux/i386/libc.abilist     |  3 +++

>  .../unix/sysv/linux/i386/libpthread.abilist   |  2 --

>  sysdeps/unix/sysv/linux/ia64/libc.abilist     |  3 +++

>  .../unix/sysv/linux/ia64/libpthread.abilist   |  2 --

>  .../sysv/linux/m68k/coldfire/libc.abilist     |  3 +++

>  .../linux/m68k/coldfire/libpthread.abilist    |  2 --

>  .../unix/sysv/linux/m68k/m680x0/libc.abilist  |  3 +++

>  .../sysv/linux/m68k/m680x0/libpthread.abilist |  2 --

>  .../sysv/linux/microblaze/be/libc.abilist     |  3 +++

>  .../linux/microblaze/be/libpthread.abilist    |  2 --

>  .../sysv/linux/microblaze/le/libc.abilist     |  3 +++

>  .../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 +++

>  .../powerpc/powerpc32/libpthread.abilist      |  2 --

>  .../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 --

>  .../unix/sysv/linux/riscv/rv32/libc.abilist   |  3 +++

>  .../sysv/linux/riscv/rv32/libpthread.abilist  |  2 --

>  .../unix/sysv/linux/riscv/rv64/libc.abilist   |  3 +++

>  .../sysv/linux/riscv/rv64/libpthread.abilist  |  2 --

>  .../unix/sysv/linux/s390/s390-32/libc.abilist |  3 +++

>  .../linux/s390/s390-32/libpthread.abilist     |  2 --

>  .../unix/sysv/linux/s390/s390-64/libc.abilist |  3 +++

>  .../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 --

>  .../sysv/linux/sparc/sparc32/libc.abilist     |  3 +++

>  .../linux/sparc/sparc32/libpthread.abilist    |  2 --

>  .../sysv/linux/sparc/sparc64/libc.abilist     |  3 +++

>  .../linux/sparc/sparc64/libpthread.abilist    |  2 --

>  .../unix/sysv/linux/x86_64/64/libc.abilist    |  3 +++

>  .../sysv/linux/x86_64/64/libpthread.abilist   |  2 --

>  .../unix/sysv/linux/x86_64/x32/libc.abilist   |  3 +++

>  .../sysv/linux/x86_64/x32/libpthread.abilist  |  2 --

>  69 files changed, 136 insertions(+), 72 deletions(-)

> 

> diff --git a/NEWS b/NEWS

> index aa0f10a891..f9d15952f8 100644

> --- a/NEWS

> +++ b/NEWS

> @@ -20,7 +20,9 @@ Major new features:

>  

>  Deprecated and removed features, and other changes affecting compatibility:

>  

> -  [Add deprecations, removals and changes affecting compatibility here]

> +* The function pthread_mutex_consistent_np has been deprecated; programs

> +  should use the equivalent standard function pthread_mutex_consistent

> +  instead.

>  

>  Changes to build and runtime requirements:

>  


Ok.

> diff --git a/nptl/Makefile b/nptl/Makefile

> index b51deff6a3..96bb47e152 100644

> --- a/nptl/Makefile

> +++ b/nptl/Makefile

> @@ -71,6 +71,7 @@ routines = \

>    pthread_getaffinity \

>    pthread_getattr_np \

>    pthread_getschedparam \

> +  pthread_mutex_consistent \

>    pthread_self \

>    pthread_setschedparam \

>    pthread_sigmask \

> @@ -159,7 +160,6 @@ libpthread-routines = \

>    pthread_kill_other_threads \

>    pthread_mutex_cond_lock \

>    pthread_mutex_conf \

> -  pthread_mutex_consistent \

>    pthread_mutex_destroy \

>    pthread_mutex_getprioceiling \

>    pthread_mutex_init \


Ok.

> diff --git a/nptl/Versions b/nptl/Versions

> index 039cff38aa..e38d98709d 100644

> --- a/nptl/Versions

> +++ b/nptl/Versions

> @@ -55,6 +55,12 @@ libc {

>    GLIBC_2.3.4 {

>      pthread_attr_setaffinity_np;

>    }

> +  GLIBC_2.4 {

> +    pthread_mutex_consistent_np;

> +  }

> +  GLIBC_2.12 {

> +    pthread_mutex_consistent;

> +  }

>    # C11 thread symbols.

>    GLIBC_2.28 {

>      thrd_current;


Ok, old compat symbols.

> @@ -70,6 +76,9 @@ libc {

>      pthread_getattr_np;

>      pthread_sigmask;

>    }

> +  GLIBC_2.34 {

> +    pthread_mutex_consistent;

> +  }

>    GLIBC_PRIVATE {

>      __futex_abstimed_wait64;

>      __futex_abstimed_wait_cancelable64;


Ok, adding a new symbol to avoid late crash on older glibc that do not
prevent this symbol (and it should cover dynamic objects that do not
call __libc_start_main).

> @@ -326,7 +335,6 @@ libpthread {

>    }

>  

>    GLIBC_2.4 {

> -    pthread_mutex_consistent_np;

>      pthread_mutex_getprioceiling;

>      pthread_mutex_setprioceiling;

>      pthread_mutexattr_getprioceiling;

> @@ -343,7 +351,6 @@ libpthread {

>  

>    GLIBC_2.12 {

>      pthread_getname_np;

> -    pthread_mutex_consistent;

>      pthread_mutexattr_getrobust;

>      pthread_mutexattr_setrobust;

>      pthread_setname_np;


Ok.

> diff --git a/nptl/pthread_mutex_consistent.c b/nptl/pthread_mutex_consistent.c

> index 937c7c4640..0a84063a2b 100644

> --- a/nptl/pthread_mutex_consistent.c

> +++ b/nptl/pthread_mutex_consistent.c

> @@ -18,10 +18,10 @@

>  

>  #include <errno.h>

>  #include <pthreadP.h>

> -

> +#include <shlib-compat.h>

>  

>  int

> -pthread_mutex_consistent (pthread_mutex_t *mutex)

> +__pthread_mutex_consistent (pthread_mutex_t *mutex)

>  {

>    /* Test whether this is a robust mutex with a dead owner.

>       See concurrency notes regarding __kind in struct __pthread_mutex_s

> @@ -35,4 +35,20 @@ pthread_mutex_consistent (pthread_mutex_t *mutex)

>  

>    return 0;

>  }

> -weak_alias (pthread_mutex_consistent, pthread_mutex_consistent_np)

> +versioned_symbol (libc, __pthread_mutex_consistent, pthread_mutex_consistent,

> +                  GLIBC_2_34);

> +

> +#if SHLIB_COMPAT (libc, GLIBC_2_4, GLIBC_2_34)


Shouldn't be GLIBC_2_12 here?

> +/* Compat symbol with the old libc version, _np alias.  */

> +# undef pthread_mutex_consistent_np


I think should be out of SHLIB_COMPAT.

> +strong_alias (__pthread_mutex_consistent, __pthread_mutex_consistent_1)

> +compat_symbol (libc, __pthread_mutex_consistent_1,

> +               pthread_mutex_consistent_np, GLIBC_2_4);

> +#endif

> +

> +#if SHLIB_COMPAT (libc, GLIBC_2_12, GLIBC_2_34)

> +/* Compat symbol with the old libc version.  */

> +strong_alias (__pthread_mutex_consistent, __pthread_mutex_consistent_2)

> +compat_symbol (libc, __pthread_mutex_consistent_2,

> +               pthread_mutex_consistent, GLIBC_2_12);

> +#endif


I think we have compat_symbol_unique exactly for that.

> diff --git a/sysdeps/nptl/pthread.h b/sysdeps/nptl/pthread.h

> index a04a3a2754..2ec2caec98 100644

> --- a/sysdeps/nptl/pthread.h

> +++ b/sysdeps/nptl/pthread.h

> @@ -809,8 +809,9 @@ extern int pthread_mutex_setprioceiling (pthread_mutex_t *__restrict __mutex,

>  extern int pthread_mutex_consistent (pthread_mutex_t *__mutex)

>       __THROW __nonnull ((1));

>  # ifdef __USE_GNU

> -extern int pthread_mutex_consistent_np (pthread_mutex_t *__mutex)

> -     __THROW __nonnull ((1));

> +#  define pthread_mutex_consistent_np __glibc_macro_warning ("\

> +pthread_mutex_consistent_np is deprecated, use pthread_mutex_consistent") \

> +  pthread_mutex_consistent

>  # endif

>  #endif

>  


Wouldn't be better to throw a link error instead an empty macro for such
case?

> diff --git a/sysdeps/pthread/tst-robust1.c b/sysdeps/pthread/tst-robust1.c

> index d4b1d88a68..6342fcbbf7 100644

> --- a/sysdeps/pthread/tst-robust1.c

> +++ b/sysdeps/pthread/tst-robust1.c

> @@ -241,14 +241,14 @@ do_test (void)

>  #endif

>  

>  #ifndef NOT_CONSISTENT

> -      e = pthread_mutex_consistent_np (&m1);

> +      e = pthread_mutex_consistent (&m1);

>        if (e != 0)

>  	{

>  	  printf ("%ld: mutex_consistent m1 failed with error %d\n", round, e);

>  	  return 1;

>  	}

>  

> -      e = pthread_mutex_consistent_np (&m2);

> +      e = pthread_mutex_consistent (&m2);

>        if (e != 0)

>  	{

>  	  printf ("%ld: mutex_consistent m2 failed with error %d\n", round, e);


Ok.

> diff --git a/sysdeps/pthread/tst-robust8.c b/sysdeps/pthread/tst-robust8.c

> index 27dd53d2c3..8f135cb516 100644

> --- a/sysdeps/pthread/tst-robust8.c

> +++ b/sysdeps/pthread/tst-robust8.c

> @@ -92,7 +92,7 @@ mutex_timedlock of %d in thread %ld failed with %d\n",

>  	    }

>  

>  	  if (e == EOWNERDEAD)

> -	    pthread_mutex_consistent_np (&map[r]);

> +	    pthread_mutex_consistent (&map[r]);

>  

>  	  if (e == 0 || e == EOWNERDEAD)

>  	    state[r] = 1;


Ok.

> diff --git a/sysdeps/pthread/tst-robust9.c b/sysdeps/pthread/tst-robust9.c

> index befc14f2d8..532aebc4e9 100644

> --- a/sysdeps/pthread/tst-robust9.c

> +++ b/sysdeps/pthread/tst-robust9.c

> @@ -14,10 +14,10 @@ tf (void *data)

>    int err = pthread_mutex_lock (&m);

>    if (err == EOWNERDEAD)

>      {

> -      err = pthread_mutex_consistent_np (&m);

> +      err = pthread_mutex_consistent (&m);

>        if (err)

>  	{

> -	  puts ("pthread_mutex_consistent_np");

> +	  puts ("pthread_mutex_consistent");

>  	  exit (1);

>  	}

>      }


Ok.

> diff --git a/sysdeps/unix/sysv/linux/aarch64/libc.abilist b/sysdeps/unix/sysv/linux/aarch64/libc.abilist

> index bac795262d..231330e591 100644

> --- a/sysdeps/unix/sysv/linux/aarch64/libc.abilist

> +++ b/sysdeps/unix/sysv/linux/aarch64/libc.abilist

> @@ -1442,6 +1442,8 @@ 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_consistent F

> +GLIBC_2.17 pthread_mutex_consistent_np F

>  GLIBC_2.17 pthread_mutex_destroy F

>  GLIBC_2.17 pthread_mutex_init F

>  GLIBC_2.17 pthread_mutex_lock F

> @@ -2172,3 +2174,4 @@ GLIBC_2.33 mknodat F

>  GLIBC_2.33 stat F

>  GLIBC_2.33 stat64 F

>  GLIBC_2.34 __libc_start_main F

> +GLIBC_2.34 pthread_mutex_consistent F

> diff --git a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist

> index 336ee51e7e..1d4fffb5a6 100644

> --- a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist

> +++ b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist

> @@ -102,8 +102,6 @@ GLIBC_2.17 pthread_key_create F

>  GLIBC_2.17 pthread_key_delete F

>  GLIBC_2.17 pthread_kill F

>  GLIBC_2.17 pthread_kill_other_threads_np F

> -GLIBC_2.17 pthread_mutex_consistent F

> -GLIBC_2.17 pthread_mutex_consistent_np F

>  GLIBC_2.17 pthread_mutex_destroy F

>  GLIBC_2.17 pthread_mutex_getprioceiling F

>  GLIBC_2.17 pthread_mutex_init F

> diff --git a/sysdeps/unix/sysv/linux/alpha/libc.abilist b/sysdeps/unix/sysv/linux/alpha/libc.abilist

> index 897f70db22..72c1c3ae6a 100644

> --- a/sysdeps/unix/sysv/linux/alpha/libc.abilist

> +++ b/sysdeps/unix/sysv/linux/alpha/libc.abilist

> @@ -1749,6 +1749,7 @@ GLIBC_2.11 mkstemps64 F

>  GLIBC_2.12 _sys_errlist D 0x458

>  GLIBC_2.12 _sys_nerr D 0x4

>  GLIBC_2.12 ntp_gettimex F

> +GLIBC_2.12 pthread_mutex_consistent F

>  GLIBC_2.12 recvmmsg F

>  GLIBC_2.12 sys_errlist D 0x458

>  GLIBC_2.12 sys_nerr D 0x4

> @@ -2254,6 +2255,7 @@ GLIBC_2.33 mknodat F

>  GLIBC_2.33 stat F

>  GLIBC_2.33 stat64 F

>  GLIBC_2.34 __libc_start_main F

> +GLIBC_2.34 pthread_mutex_consistent F

>  GLIBC_2.4 _IO_fprintf F

>  GLIBC_2.4 _IO_printf F

>  GLIBC_2.4 _IO_sprintf F

> @@ -2437,6 +2439,7 @@ GLIBC_2.4 openat64 F

>  GLIBC_2.4 ppoll F

>  GLIBC_2.4 printf F

>  GLIBC_2.4 printf_size F

> +GLIBC_2.4 pthread_mutex_consistent_np F

>  GLIBC_2.4 qecvt F

>  GLIBC_2.4 qecvt_r F

>  GLIBC_2.4 qfcvt F

> diff --git a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist

> index 5c87b9baa0..e97e4d4dd5 100644

> --- a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist

> +++ b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist

> @@ -129,7 +129,6 @@ GLIBC_2.1.1 sem_unlink F

>  GLIBC_2.1.2 __libpthread_version_placeholder F

>  GLIBC_2.11 pthread_sigqueue F

>  GLIBC_2.12 pthread_getname_np F

> -GLIBC_2.12 pthread_mutex_consistent F

>  GLIBC_2.12 pthread_mutexattr_getrobust F

>  GLIBC_2.12 pthread_mutexattr_setrobust F

>  GLIBC_2.12 pthread_setname_np F

> @@ -226,7 +225,6 @@ GLIBC_2.30 pthread_rwlock_clockrdlock F

>  GLIBC_2.30 pthread_rwlock_clockwrlock F

>  GLIBC_2.30 sem_clockwait F

>  GLIBC_2.31 pthread_clockjoin_np F

> -GLIBC_2.4 pthread_mutex_consistent_np F

>  GLIBC_2.4 pthread_mutex_getprioceiling F

>  GLIBC_2.4 pthread_mutex_setprioceiling F

>  GLIBC_2.4 pthread_mutexattr_getprioceiling F

> diff --git a/sysdeps/unix/sysv/linux/arc/libc.abilist b/sysdeps/unix/sysv/linux/arc/libc.abilist

> index 604d259ad6..180b1e6244 100644

> --- a/sysdeps/unix/sysv/linux/arc/libc.abilist

> +++ b/sysdeps/unix/sysv/linux/arc/libc.abilist

> @@ -1369,6 +1369,8 @@ GLIBC_2.32 pthread_exit F

>  GLIBC_2.32 pthread_getaffinity_np F

>  GLIBC_2.32 pthread_getattr_np F

>  GLIBC_2.32 pthread_getschedparam F

> +GLIBC_2.32 pthread_mutex_consistent F

> +GLIBC_2.32 pthread_mutex_consistent_np F

>  GLIBC_2.32 pthread_mutex_destroy F

>  GLIBC_2.32 pthread_mutex_init F

>  GLIBC_2.32 pthread_mutex_lock F

> @@ -1932,3 +1934,4 @@ GLIBC_2.33 mknodat F

>  GLIBC_2.33 stat F

>  GLIBC_2.33 stat64 F

>  GLIBC_2.34 __libc_start_main F

> +GLIBC_2.34 pthread_mutex_consistent F

> diff --git a/sysdeps/unix/sysv/linux/arc/libpthread.abilist b/sysdeps/unix/sysv/linux/arc/libpthread.abilist

> index 1adcbecc2e..2f76de6bfc 100644

> --- a/sysdeps/unix/sysv/linux/arc/libpthread.abilist

> +++ b/sysdeps/unix/sysv/linux/arc/libpthread.abilist

> @@ -116,8 +116,6 @@ GLIBC_2.32 pthread_key_delete F

>  GLIBC_2.32 pthread_kill F

>  GLIBC_2.32 pthread_kill_other_threads_np F

>  GLIBC_2.32 pthread_mutex_clocklock F

> -GLIBC_2.32 pthread_mutex_consistent F

> -GLIBC_2.32 pthread_mutex_consistent_np F

>  GLIBC_2.32 pthread_mutex_destroy F

>  GLIBC_2.32 pthread_mutex_getprioceiling F

>  GLIBC_2.32 pthread_mutex_init F

> diff --git a/sysdeps/unix/sysv/linux/arm/be/libc.abilist b/sysdeps/unix/sysv/linux/arm/be/libc.abilist

> index 094236f713..e3781f0e83 100644

> --- a/sysdeps/unix/sysv/linux/arm/be/libc.abilist

> +++ b/sysdeps/unix/sysv/linux/arm/be/libc.abilist

> @@ -33,6 +33,7 @@ GLIBC_2.11 mkstemps64 F

>  GLIBC_2.12 _sys_errlist D 0x21c

>  GLIBC_2.12 _sys_nerr D 0x4

>  GLIBC_2.12 ntp_gettimex F

> +GLIBC_2.12 pthread_mutex_consistent F

>  GLIBC_2.12 recvmmsg F

>  GLIBC_2.12 sys_errlist D 0x21c

>  GLIBC_2.12 sys_nerr D 0x4

> @@ -156,6 +157,7 @@ GLIBC_2.33 mknodat F

>  GLIBC_2.33 stat F

>  GLIBC_2.33 stat64 F

>  GLIBC_2.34 __libc_start_main F

> +GLIBC_2.34 pthread_mutex_consistent F

>  GLIBC_2.4 _Exit F

>  GLIBC_2.4 _IO_2_1_stderr_ D 0xa0

>  GLIBC_2.4 _IO_2_1_stdin_ D 0xa0

> @@ -1535,6 +1537,7 @@ 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_consistent_np F

>  GLIBC_2.4 pthread_mutex_destroy F

>  GLIBC_2.4 pthread_mutex_init F

>  GLIBC_2.4 pthread_mutex_lock F

> diff --git a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist

> index b0bb1d0e01..a3516931d6 100644

> --- a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist

> +++ b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist

> @@ -1,6 +1,5 @@

>  GLIBC_2.11 pthread_sigqueue F

>  GLIBC_2.12 pthread_getname_np F

> -GLIBC_2.12 pthread_mutex_consistent F

>  GLIBC_2.12 pthread_mutexattr_getrobust F

>  GLIBC_2.12 pthread_mutexattr_setrobust F

>  GLIBC_2.12 pthread_setname_np F

> @@ -136,7 +135,6 @@ GLIBC_2.4 pthread_key_create F

>  GLIBC_2.4 pthread_key_delete F

>  GLIBC_2.4 pthread_kill F

>  GLIBC_2.4 pthread_kill_other_threads_np F

> -GLIBC_2.4 pthread_mutex_consistent_np F

>  GLIBC_2.4 pthread_mutex_destroy F

>  GLIBC_2.4 pthread_mutex_getprioceiling F

>  GLIBC_2.4 pthread_mutex_init F

> diff --git a/sysdeps/unix/sysv/linux/arm/le/libc.abilist b/sysdeps/unix/sysv/linux/arm/le/libc.abilist

> index 2bb4d31e81..0cd363cc2d 100644

> --- a/sysdeps/unix/sysv/linux/arm/le/libc.abilist

> +++ b/sysdeps/unix/sysv/linux/arm/le/libc.abilist

> @@ -33,6 +33,7 @@ GLIBC_2.11 mkstemps64 F

>  GLIBC_2.12 _sys_errlist D 0x21c

>  GLIBC_2.12 _sys_nerr D 0x4

>  GLIBC_2.12 ntp_gettimex F

> +GLIBC_2.12 pthread_mutex_consistent F

>  GLIBC_2.12 recvmmsg F

>  GLIBC_2.12 sys_errlist D 0x21c

>  GLIBC_2.12 sys_nerr D 0x4

> @@ -153,6 +154,7 @@ GLIBC_2.33 mknodat F

>  GLIBC_2.33 stat F

>  GLIBC_2.33 stat64 F

>  GLIBC_2.34 __libc_start_main F

> +GLIBC_2.34 pthread_mutex_consistent F

>  GLIBC_2.4 _Exit F

>  GLIBC_2.4 _IO_2_1_stderr_ D 0xa0

>  GLIBC_2.4 _IO_2_1_stdin_ D 0xa0

> @@ -1532,6 +1534,7 @@ 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_consistent_np F

>  GLIBC_2.4 pthread_mutex_destroy F

>  GLIBC_2.4 pthread_mutex_init F

>  GLIBC_2.4 pthread_mutex_lock F

> diff --git a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist

> index b0bb1d0e01..a3516931d6 100644

> --- a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist

> +++ b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist

> @@ -1,6 +1,5 @@

>  GLIBC_2.11 pthread_sigqueue F

>  GLIBC_2.12 pthread_getname_np F

> -GLIBC_2.12 pthread_mutex_consistent F

>  GLIBC_2.12 pthread_mutexattr_getrobust F

>  GLIBC_2.12 pthread_mutexattr_setrobust F

>  GLIBC_2.12 pthread_setname_np F

> @@ -136,7 +135,6 @@ GLIBC_2.4 pthread_key_create F

>  GLIBC_2.4 pthread_key_delete F

>  GLIBC_2.4 pthread_kill F

>  GLIBC_2.4 pthread_kill_other_threads_np F

> -GLIBC_2.4 pthread_mutex_consistent_np F

>  GLIBC_2.4 pthread_mutex_destroy F

>  GLIBC_2.4 pthread_mutex_getprioceiling F

>  GLIBC_2.4 pthread_mutex_init F

> diff --git a/sysdeps/unix/sysv/linux/csky/libc.abilist b/sysdeps/unix/sysv/linux/csky/libc.abilist

> index d4291fecfb..c1e62a6df3 100644

> --- a/sysdeps/unix/sysv/linux/csky/libc.abilist

> +++ b/sysdeps/unix/sysv/linux/csky/libc.abilist

> @@ -1430,6 +1430,8 @@ 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_consistent F

> +GLIBC_2.29 pthread_mutex_consistent_np F

>  GLIBC_2.29 pthread_mutex_destroy F

>  GLIBC_2.29 pthread_mutex_init F

>  GLIBC_2.29 pthread_mutex_lock F

> @@ -2116,3 +2118,4 @@ GLIBC_2.33 mknodat F

>  GLIBC_2.33 stat F

>  GLIBC_2.33 stat64 F

>  GLIBC_2.34 __libc_start_main F

> +GLIBC_2.34 pthread_mutex_consistent F

> diff --git a/sysdeps/unix/sysv/linux/csky/libpthread.abilist b/sysdeps/unix/sysv/linux/csky/libpthread.abilist

> index 6ce59276a7..f05530eb2a 100644

> --- a/sysdeps/unix/sysv/linux/csky/libpthread.abilist

> +++ b/sysdeps/unix/sysv/linux/csky/libpthread.abilist

> @@ -113,8 +113,6 @@ GLIBC_2.29 pthread_key_create F

>  GLIBC_2.29 pthread_key_delete F

>  GLIBC_2.29 pthread_kill F

>  GLIBC_2.29 pthread_kill_other_threads_np F

> -GLIBC_2.29 pthread_mutex_consistent F

> -GLIBC_2.29 pthread_mutex_consistent_np F

>  GLIBC_2.29 pthread_mutex_destroy F

>  GLIBC_2.29 pthread_mutex_getprioceiling F

>  GLIBC_2.29 pthread_mutex_init F

> diff --git a/sysdeps/unix/sysv/linux/hppa/libc.abilist b/sysdeps/unix/sysv/linux/hppa/libc.abilist

> index 1fd2a862f6..50d9080eb6 100644

> --- a/sysdeps/unix/sysv/linux/hppa/libc.abilist

> +++ b/sysdeps/unix/sysv/linux/hppa/libc.abilist

> @@ -33,6 +33,7 @@ GLIBC_2.11 mkstemps64 F

>  GLIBC_2.12 _sys_errlist D 0x404

>  GLIBC_2.12 _sys_nerr D 0x4

>  GLIBC_2.12 ntp_gettimex F

> +GLIBC_2.12 pthread_mutex_consistent F

>  GLIBC_2.12 recvmmsg F

>  GLIBC_2.12 sys_errlist D 0x404

>  GLIBC_2.12 sys_nerr D 0x4

> @@ -2075,6 +2076,7 @@ GLIBC_2.33 mknodat F

>  GLIBC_2.33 stat F

>  GLIBC_2.33 stat64 F

>  GLIBC_2.34 __libc_start_main F

> +GLIBC_2.34 pthread_mutex_consistent F

>  GLIBC_2.4 __confstr_chk F

>  GLIBC_2.4 __fgets_chk F

>  GLIBC_2.4 __fgets_unlocked_chk F

> @@ -2144,6 +2146,7 @@ GLIBC_2.4 open_wmemstream F

>  GLIBC_2.4 openat F

>  GLIBC_2.4 openat64 F

>  GLIBC_2.4 ppoll F

> +GLIBC_2.4 pthread_mutex_consistent_np F

>  GLIBC_2.4 readlinkat F

>  GLIBC_2.4 renameat F

>  GLIBC_2.4 symlinkat F

> diff --git a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist

> index a7bb15be58..02dca5bd52 100644

> --- a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist

> +++ b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist

> @@ -1,6 +1,5 @@

>  GLIBC_2.11 pthread_sigqueue F

>  GLIBC_2.12 pthread_getname_np F

> -GLIBC_2.12 pthread_mutex_consistent F

>  GLIBC_2.12 pthread_mutexattr_getrobust F

>  GLIBC_2.12 pthread_mutexattr_setrobust F

>  GLIBC_2.12 pthread_setname_np F

> @@ -216,7 +215,6 @@ GLIBC_2.30 pthread_rwlock_clockrdlock F

>  GLIBC_2.30 pthread_rwlock_clockwrlock F

>  GLIBC_2.30 sem_clockwait F

>  GLIBC_2.31 pthread_clockjoin_np F

> -GLIBC_2.4 pthread_mutex_consistent_np F

>  GLIBC_2.4 pthread_mutex_getprioceiling F

>  GLIBC_2.4 pthread_mutex_setprioceiling F

>  GLIBC_2.4 pthread_mutexattr_getprioceiling F

> diff --git a/sysdeps/unix/sysv/linux/i386/libc.abilist b/sysdeps/unix/sysv/linux/i386/libc.abilist

> index 943331f01e..d172849c32 100644

> --- a/sysdeps/unix/sysv/linux/i386/libc.abilist

> +++ b/sysdeps/unix/sysv/linux/i386/libc.abilist

> @@ -1754,6 +1754,7 @@ GLIBC_2.11 mkstemps64 F

>  GLIBC_2.12 _sys_errlist D 0x21c

>  GLIBC_2.12 _sys_nerr D 0x4

>  GLIBC_2.12 ntp_gettimex F

> +GLIBC_2.12 pthread_mutex_consistent F

>  GLIBC_2.12 recvmmsg F

>  GLIBC_2.12 sys_errlist D 0x21c

>  GLIBC_2.12 sys_nerr D 0x4

> @@ -2242,6 +2243,7 @@ GLIBC_2.33 mknodat F

>  GLIBC_2.33 stat F

>  GLIBC_2.33 stat64 F

>  GLIBC_2.34 __libc_start_main F

> +GLIBC_2.34 pthread_mutex_consistent F

>  GLIBC_2.4 __confstr_chk F

>  GLIBC_2.4 __fgets_chk F

>  GLIBC_2.4 __fgets_unlocked_chk F

> @@ -2311,6 +2313,7 @@ GLIBC_2.4 open_wmemstream F

>  GLIBC_2.4 openat F

>  GLIBC_2.4 openat64 F

>  GLIBC_2.4 ppoll F

> +GLIBC_2.4 pthread_mutex_consistent_np F

>  GLIBC_2.4 readlinkat F

>  GLIBC_2.4 renameat F

>  GLIBC_2.4 symlinkat F

> diff --git a/sysdeps/unix/sysv/linux/i386/libpthread.abilist b/sysdeps/unix/sysv/linux/i386/libpthread.abilist

> index 017a9d9a86..92acdbc721 100644

> --- a/sysdeps/unix/sysv/linux/i386/libpthread.abilist

> +++ b/sysdeps/unix/sysv/linux/i386/libpthread.abilist

> @@ -129,7 +129,6 @@ GLIBC_2.1.1 sem_unlink F

>  GLIBC_2.1.2 __libpthread_version_placeholder F

>  GLIBC_2.11 pthread_sigqueue F

>  GLIBC_2.12 pthread_getname_np F

> -GLIBC_2.12 pthread_mutex_consistent F

>  GLIBC_2.12 pthread_mutexattr_getrobust F

>  GLIBC_2.12 pthread_mutexattr_setrobust F

>  GLIBC_2.12 pthread_setname_np F

> @@ -224,7 +223,6 @@ GLIBC_2.30 pthread_rwlock_clockrdlock F

>  GLIBC_2.30 pthread_rwlock_clockwrlock F

>  GLIBC_2.30 sem_clockwait F

>  GLIBC_2.31 pthread_clockjoin_np F

> -GLIBC_2.4 pthread_mutex_consistent_np F

>  GLIBC_2.4 pthread_mutex_getprioceiling F

>  GLIBC_2.4 pthread_mutex_setprioceiling F

>  GLIBC_2.4 pthread_mutexattr_getprioceiling F

> diff --git a/sysdeps/unix/sysv/linux/ia64/libc.abilist b/sysdeps/unix/sysv/linux/ia64/libc.abilist

> index f530151bde..e9e82e5ec8 100644

> --- a/sysdeps/unix/sysv/linux/ia64/libc.abilist

> +++ b/sysdeps/unix/sysv/linux/ia64/libc.abilist

> @@ -33,6 +33,7 @@ GLIBC_2.11 mkstemps64 F

>  GLIBC_2.12 _sys_errlist D 0x438

>  GLIBC_2.12 _sys_nerr D 0x4

>  GLIBC_2.12 ntp_gettimex F

> +GLIBC_2.12 pthread_mutex_consistent F

>  GLIBC_2.12 recvmmsg F

>  GLIBC_2.12 sys_errlist D 0x438

>  GLIBC_2.12 sys_nerr D 0x4

> @@ -2107,6 +2108,7 @@ GLIBC_2.33 mknodat F

>  GLIBC_2.33 stat F

>  GLIBC_2.33 stat64 F

>  GLIBC_2.34 __libc_start_main F

> +GLIBC_2.34 pthread_mutex_consistent F

>  GLIBC_2.4 __confstr_chk F

>  GLIBC_2.4 __fgets_chk F

>  GLIBC_2.4 __fgets_unlocked_chk F

> @@ -2176,6 +2178,7 @@ GLIBC_2.4 open_wmemstream F

>  GLIBC_2.4 openat F

>  GLIBC_2.4 openat64 F

>  GLIBC_2.4 ppoll F

> +GLIBC_2.4 pthread_mutex_consistent_np F

>  GLIBC_2.4 readlinkat F

>  GLIBC_2.4 renameat F

>  GLIBC_2.4 symlinkat F

> diff --git a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist

> index 6fb2e05072..1f9d0edbc9 100644

> --- a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist

> +++ b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist

> @@ -1,6 +1,5 @@

>  GLIBC_2.11 pthread_sigqueue F

>  GLIBC_2.12 pthread_getname_np F

> -GLIBC_2.12 pthread_mutex_consistent F

>  GLIBC_2.12 pthread_mutexattr_getrobust F

>  GLIBC_2.12 pthread_mutexattr_setrobust F

>  GLIBC_2.12 pthread_setname_np F

> @@ -218,7 +217,6 @@ GLIBC_2.30 pthread_rwlock_clockrdlock F

>  GLIBC_2.30 pthread_rwlock_clockwrlock F

>  GLIBC_2.30 sem_clockwait F

>  GLIBC_2.31 pthread_clockjoin_np F

> -GLIBC_2.4 pthread_mutex_consistent_np F

>  GLIBC_2.4 pthread_mutex_getprioceiling F

>  GLIBC_2.4 pthread_mutex_setprioceiling F

>  GLIBC_2.4 pthread_mutexattr_getprioceiling F

> diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist

> index 6e76b6dcaa..b0c0d7208d 100644

> --- a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist

> +++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist

> @@ -34,6 +34,7 @@ GLIBC_2.12 __m68k_read_tp F

>  GLIBC_2.12 _sys_errlist D 0x21c

>  GLIBC_2.12 _sys_nerr D 0x4

>  GLIBC_2.12 ntp_gettimex F

> +GLIBC_2.12 pthread_mutex_consistent F

>  GLIBC_2.12 recvmmsg F

>  GLIBC_2.12 sys_errlist D 0x21c

>  GLIBC_2.12 sys_nerr D 0x4

> @@ -157,6 +158,7 @@ GLIBC_2.33 mknodat F

>  GLIBC_2.33 stat F

>  GLIBC_2.33 stat64 F

>  GLIBC_2.34 __libc_start_main F

> +GLIBC_2.34 pthread_mutex_consistent F

>  GLIBC_2.4 _Exit F

>  GLIBC_2.4 _IO_2_1_stderr_ D 0x98

>  GLIBC_2.4 _IO_2_1_stdin_ D 0x98

> @@ -1515,6 +1517,7 @@ 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_consistent_np F

>  GLIBC_2.4 pthread_mutex_destroy F

>  GLIBC_2.4 pthread_mutex_init F

>  GLIBC_2.4 pthread_mutex_lock F

> diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist

> index b0bb1d0e01..a3516931d6 100644

> --- a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist

> +++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist

> @@ -1,6 +1,5 @@

>  GLIBC_2.11 pthread_sigqueue F

>  GLIBC_2.12 pthread_getname_np F

> -GLIBC_2.12 pthread_mutex_consistent F

>  GLIBC_2.12 pthread_mutexattr_getrobust F

>  GLIBC_2.12 pthread_mutexattr_setrobust F

>  GLIBC_2.12 pthread_setname_np F

> @@ -136,7 +135,6 @@ GLIBC_2.4 pthread_key_create F

>  GLIBC_2.4 pthread_key_delete F

>  GLIBC_2.4 pthread_kill F

>  GLIBC_2.4 pthread_kill_other_threads_np F

> -GLIBC_2.4 pthread_mutex_consistent_np F

>  GLIBC_2.4 pthread_mutex_destroy F

>  GLIBC_2.4 pthread_mutex_getprioceiling F

>  GLIBC_2.4 pthread_mutex_init F

> diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist

> index 7541b8289f..c312a9e726 100644

> --- a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist

> +++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist

> @@ -1711,6 +1711,7 @@ GLIBC_2.12 __m68k_read_tp F

>  GLIBC_2.12 _sys_errlist D 0x21c

>  GLIBC_2.12 _sys_nerr D 0x4

>  GLIBC_2.12 ntp_gettimex F

> +GLIBC_2.12 pthread_mutex_consistent F

>  GLIBC_2.12 recvmmsg F

>  GLIBC_2.12 sys_errlist D 0x21c

>  GLIBC_2.12 sys_nerr D 0x4

> @@ -2187,6 +2188,7 @@ GLIBC_2.33 mknodat F

>  GLIBC_2.33 stat F

>  GLIBC_2.33 stat64 F

>  GLIBC_2.34 __libc_start_main F

> +GLIBC_2.34 pthread_mutex_consistent F

>  GLIBC_2.4 __confstr_chk F

>  GLIBC_2.4 __fgets_chk F

>  GLIBC_2.4 __fgets_unlocked_chk F

> @@ -2256,6 +2258,7 @@ GLIBC_2.4 open_wmemstream F

>  GLIBC_2.4 openat F

>  GLIBC_2.4 openat64 F

>  GLIBC_2.4 ppoll F

> +GLIBC_2.4 pthread_mutex_consistent_np F

>  GLIBC_2.4 readlinkat F

>  GLIBC_2.4 renameat F

>  GLIBC_2.4 symlinkat F

> diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist

> index 017a9d9a86..92acdbc721 100644

> --- a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist

> +++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist

> @@ -129,7 +129,6 @@ GLIBC_2.1.1 sem_unlink F

>  GLIBC_2.1.2 __libpthread_version_placeholder F

>  GLIBC_2.11 pthread_sigqueue F

>  GLIBC_2.12 pthread_getname_np F

> -GLIBC_2.12 pthread_mutex_consistent F

>  GLIBC_2.12 pthread_mutexattr_getrobust F

>  GLIBC_2.12 pthread_mutexattr_setrobust F

>  GLIBC_2.12 pthread_setname_np F

> @@ -224,7 +223,6 @@ GLIBC_2.30 pthread_rwlock_clockrdlock F

>  GLIBC_2.30 pthread_rwlock_clockwrlock F

>  GLIBC_2.30 sem_clockwait F

>  GLIBC_2.31 pthread_clockjoin_np F

> -GLIBC_2.4 pthread_mutex_consistent_np F

>  GLIBC_2.4 pthread_mutex_getprioceiling F

>  GLIBC_2.4 pthread_mutex_setprioceiling F

>  GLIBC_2.4 pthread_mutexattr_getprioceiling F

> diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist

> index 6cf1936c42..4e5f7336c3 100644

> --- a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist

> +++ b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist

> @@ -1445,6 +1445,8 @@ 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_consistent F

> +GLIBC_2.18 pthread_mutex_consistent_np F

>  GLIBC_2.18 pthread_mutex_destroy F

>  GLIBC_2.18 pthread_mutex_init F

>  GLIBC_2.18 pthread_mutex_lock F

> @@ -2167,3 +2169,4 @@ GLIBC_2.33 mknodat F

>  GLIBC_2.33 stat F

>  GLIBC_2.33 stat64 F

>  GLIBC_2.34 __libc_start_main F

> +GLIBC_2.34 pthread_mutex_consistent F

> diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist

> index 9356f6183a..4849b99385 100644

> --- a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist

> +++ b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist

> @@ -103,8 +103,6 @@ GLIBC_2.18 pthread_key_create F

>  GLIBC_2.18 pthread_key_delete F

>  GLIBC_2.18 pthread_kill F

>  GLIBC_2.18 pthread_kill_other_threads_np F

> -GLIBC_2.18 pthread_mutex_consistent F

> -GLIBC_2.18 pthread_mutex_consistent_np F

>  GLIBC_2.18 pthread_mutex_destroy F

>  GLIBC_2.18 pthread_mutex_getprioceiling F

>  GLIBC_2.18 pthread_mutex_init F

> diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist

> index 98730ebcda..374e48889a 100644

> --- a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist

> +++ b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist

> @@ -1445,6 +1445,8 @@ 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_consistent F

> +GLIBC_2.18 pthread_mutex_consistent_np F

>  GLIBC_2.18 pthread_mutex_destroy F

>  GLIBC_2.18 pthread_mutex_init F

>  GLIBC_2.18 pthread_mutex_lock F

> @@ -2164,3 +2166,4 @@ GLIBC_2.33 mknodat F

>  GLIBC_2.33 stat F

>  GLIBC_2.33 stat64 F

>  GLIBC_2.34 __libc_start_main F

> +GLIBC_2.34 pthread_mutex_consistent F

> diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist

> index 9356f6183a..4849b99385 100644

> --- a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist

> +++ b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist

> @@ -103,8 +103,6 @@ GLIBC_2.18 pthread_key_create F

>  GLIBC_2.18 pthread_key_delete F

>  GLIBC_2.18 pthread_kill F

>  GLIBC_2.18 pthread_kill_other_threads_np F

> -GLIBC_2.18 pthread_mutex_consistent F

> -GLIBC_2.18 pthread_mutex_consistent_np F

>  GLIBC_2.18 pthread_mutex_destroy F

>  GLIBC_2.18 pthread_mutex_getprioceiling F

>  GLIBC_2.18 pthread_mutex_init F

> diff --git a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist

> index 92fa6cbc73..f4c9a0e288 100644

> --- a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist

> +++ b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist

> @@ -1344,6 +1344,7 @@ GLIBC_2.11 mkostemps64 F

>  GLIBC_2.11 mkstemps F

>  GLIBC_2.11 mkstemps64 F

>  GLIBC_2.12 ntp_gettimex F

> +GLIBC_2.12 pthread_mutex_consistent F

>  GLIBC_2.12 recvmmsg F

>  GLIBC_2.13 fanotify_init F

>  GLIBC_2.13 fanotify_mark F

> @@ -2158,6 +2159,7 @@ GLIBC_2.33 mknodat F

>  GLIBC_2.33 stat F

>  GLIBC_2.33 stat64 F

>  GLIBC_2.34 __libc_start_main F

> +GLIBC_2.34 pthread_mutex_consistent F

>  GLIBC_2.4 __confstr_chk F

>  GLIBC_2.4 __fgets_chk F

>  GLIBC_2.4 __fgets_unlocked_chk F

> @@ -2225,6 +2227,7 @@ GLIBC_2.4 open_wmemstream F

>  GLIBC_2.4 openat F

>  GLIBC_2.4 openat64 F

>  GLIBC_2.4 ppoll F

> +GLIBC_2.4 pthread_mutex_consistent_np F

>  GLIBC_2.4 readlinkat F

>  GLIBC_2.4 renameat F

>  GLIBC_2.4 symlinkat F

> diff --git a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist

> index 7aff4d018b..23f58b6459 100644

> --- a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist

> +++ b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist

> @@ -92,7 +92,6 @@ GLIBC_2.0 tcdrain F

>  GLIBC_2.0 write F

>  GLIBC_2.11 pthread_sigqueue F

>  GLIBC_2.12 pthread_getname_np F

> -GLIBC_2.12 pthread_mutex_consistent F

>  GLIBC_2.12 pthread_mutexattr_getrobust F

>  GLIBC_2.12 pthread_mutexattr_setrobust F

>  GLIBC_2.12 pthread_setname_np F

> @@ -225,7 +224,6 @@ GLIBC_2.30 pthread_rwlock_clockrdlock F

>  GLIBC_2.30 pthread_rwlock_clockwrlock F

>  GLIBC_2.30 sem_clockwait F

>  GLIBC_2.31 pthread_clockjoin_np F

> -GLIBC_2.4 pthread_mutex_consistent_np F

>  GLIBC_2.4 pthread_mutex_getprioceiling F

>  GLIBC_2.4 pthread_mutex_setprioceiling F

>  GLIBC_2.4 pthread_mutexattr_getprioceiling F

> diff --git a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist

> index 265a49e74e..1935dd7207 100644

> --- a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist

> +++ b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist

> @@ -1344,6 +1344,7 @@ GLIBC_2.11 mkostemps64 F

>  GLIBC_2.11 mkstemps F

>  GLIBC_2.11 mkstemps64 F

>  GLIBC_2.12 ntp_gettimex F

> +GLIBC_2.12 pthread_mutex_consistent F

>  GLIBC_2.12 recvmmsg F

>  GLIBC_2.13 fanotify_init F

>  GLIBC_2.13 fanotify_mark F

> @@ -2156,6 +2157,7 @@ GLIBC_2.33 mknodat F

>  GLIBC_2.33 stat F

>  GLIBC_2.33 stat64 F

>  GLIBC_2.34 __libc_start_main F

> +GLIBC_2.34 pthread_mutex_consistent F

>  GLIBC_2.4 __confstr_chk F

>  GLIBC_2.4 __fgets_chk F

>  GLIBC_2.4 __fgets_unlocked_chk F

> @@ -2223,6 +2225,7 @@ GLIBC_2.4 open_wmemstream F

>  GLIBC_2.4 openat F

>  GLIBC_2.4 openat64 F

>  GLIBC_2.4 ppoll F

> +GLIBC_2.4 pthread_mutex_consistent_np F

>  GLIBC_2.4 readlinkat F

>  GLIBC_2.4 renameat F

>  GLIBC_2.4 symlinkat F

> diff --git a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist

> index 7aff4d018b..23f58b6459 100644

> --- a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist

> +++ b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist

> @@ -92,7 +92,6 @@ GLIBC_2.0 tcdrain F

>  GLIBC_2.0 write F

>  GLIBC_2.11 pthread_sigqueue F

>  GLIBC_2.12 pthread_getname_np F

> -GLIBC_2.12 pthread_mutex_consistent F

>  GLIBC_2.12 pthread_mutexattr_getrobust F

>  GLIBC_2.12 pthread_mutexattr_setrobust F

>  GLIBC_2.12 pthread_setname_np F

> @@ -225,7 +224,6 @@ GLIBC_2.30 pthread_rwlock_clockrdlock F

>  GLIBC_2.30 pthread_rwlock_clockwrlock F

>  GLIBC_2.30 sem_clockwait F

>  GLIBC_2.31 pthread_clockjoin_np F

> -GLIBC_2.4 pthread_mutex_consistent_np F

>  GLIBC_2.4 pthread_mutex_getprioceiling F

>  GLIBC_2.4 pthread_mutex_setprioceiling F

>  GLIBC_2.4 pthread_mutexattr_getprioceiling F

> diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist

> index cfa5e1111b..130dd19d46 100644

> --- a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist

> +++ b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist

> @@ -1344,6 +1344,7 @@ GLIBC_2.11 mkostemps64 F

>  GLIBC_2.11 mkstemps F

>  GLIBC_2.11 mkstemps64 F

>  GLIBC_2.12 ntp_gettimex F

> +GLIBC_2.12 pthread_mutex_consistent F

>  GLIBC_2.12 recvmmsg F

>  GLIBC_2.13 fanotify_init F

>  GLIBC_2.13 fanotify_mark F

> @@ -2164,6 +2165,7 @@ GLIBC_2.33 mknodat F

>  GLIBC_2.33 stat F

>  GLIBC_2.33 stat64 F

>  GLIBC_2.34 __libc_start_main F

> +GLIBC_2.34 pthread_mutex_consistent F

>  GLIBC_2.4 __confstr_chk F

>  GLIBC_2.4 __fgets_chk F

>  GLIBC_2.4 __fgets_unlocked_chk F

> @@ -2231,6 +2233,7 @@ GLIBC_2.4 open_wmemstream F

>  GLIBC_2.4 openat F

>  GLIBC_2.4 openat64 F

>  GLIBC_2.4 ppoll F

> +GLIBC_2.4 pthread_mutex_consistent_np F

>  GLIBC_2.4 readlinkat F

>  GLIBC_2.4 renameat F

>  GLIBC_2.4 symlinkat F

> diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist

> index 8c03ac52cd..a8728b1a57 100644

> --- a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist

> +++ b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist

> @@ -1342,6 +1342,7 @@ GLIBC_2.11 mkostemps64 F

>  GLIBC_2.11 mkstemps F

>  GLIBC_2.11 mkstemps64 F

>  GLIBC_2.12 ntp_gettimex F

> +GLIBC_2.12 pthread_mutex_consistent F

>  GLIBC_2.12 recvmmsg F

>  GLIBC_2.13 fanotify_init F

>  GLIBC_2.13 fanotify_mark F

> @@ -2158,6 +2159,7 @@ GLIBC_2.33 mknodat F

>  GLIBC_2.33 stat F

>  GLIBC_2.33 stat64 F

>  GLIBC_2.34 __libc_start_main F

> +GLIBC_2.34 pthread_mutex_consistent F

>  GLIBC_2.4 __confstr_chk F

>  GLIBC_2.4 __fgets_chk F

>  GLIBC_2.4 __fgets_unlocked_chk F

> @@ -2225,6 +2227,7 @@ GLIBC_2.4 open_wmemstream F

>  GLIBC_2.4 openat F

>  GLIBC_2.4 openat64 F

>  GLIBC_2.4 ppoll F

> +GLIBC_2.4 pthread_mutex_consistent_np F

>  GLIBC_2.4 readlinkat F

>  GLIBC_2.4 renameat F

>  GLIBC_2.4 symlinkat F

> diff --git a/sysdeps/unix/sysv/linux/nios2/libc.abilist b/sysdeps/unix/sysv/linux/nios2/libc.abilist

> index 17f5609e06..040ee6c0b6 100644

> --- a/sysdeps/unix/sysv/linux/nios2/libc.abilist

> +++ b/sysdeps/unix/sysv/linux/nios2/libc.abilist

> @@ -1487,6 +1487,8 @@ 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_consistent F

> +GLIBC_2.21 pthread_mutex_consistent_np F

>  GLIBC_2.21 pthread_mutex_destroy F

>  GLIBC_2.21 pthread_mutex_init F

>  GLIBC_2.21 pthread_mutex_lock F

> @@ -2205,3 +2207,4 @@ GLIBC_2.33 mknodat F

>  GLIBC_2.33 stat F

>  GLIBC_2.33 stat64 F

>  GLIBC_2.34 __libc_start_main F

> +GLIBC_2.34 pthread_mutex_consistent F

> diff --git a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist

> index 73b4dfbd8e..0c7fe737a0 100644

> --- a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist

> +++ b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist

> @@ -103,8 +103,6 @@ GLIBC_2.21 pthread_key_create F

>  GLIBC_2.21 pthread_key_delete F

>  GLIBC_2.21 pthread_kill F

>  GLIBC_2.21 pthread_kill_other_threads_np F

> -GLIBC_2.21 pthread_mutex_consistent F

> -GLIBC_2.21 pthread_mutex_consistent_np F

>  GLIBC_2.21 pthread_mutex_destroy F

>  GLIBC_2.21 pthread_mutex_getprioceiling F

>  GLIBC_2.21 pthread_mutex_init F

> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist

> index 76a16e2a6d..d51a3a1b32 100644

> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist

> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist

> @@ -1715,6 +1715,7 @@ GLIBC_2.11 mkstemps64 F

>  GLIBC_2.12 _sys_errlist D 0x21c

>  GLIBC_2.12 _sys_nerr D 0x4

>  GLIBC_2.12 ntp_gettimex F

> +GLIBC_2.12 pthread_mutex_consistent F

>  GLIBC_2.12 recvmmsg F

>  GLIBC_2.12 sys_errlist D 0x21c

>  GLIBC_2.12 sys_nerr D 0x4

> @@ -2214,6 +2215,7 @@ GLIBC_2.33 mknodat F

>  GLIBC_2.33 stat F

>  GLIBC_2.33 stat64 F

>  GLIBC_2.34 __libc_start_main F

> +GLIBC_2.34 pthread_mutex_consistent F

>  GLIBC_2.4 _IO_fprintf F

>  GLIBC_2.4 _IO_printf F

>  GLIBC_2.4 _IO_sprintf F

> @@ -2397,6 +2399,7 @@ GLIBC_2.4 openat64 F

>  GLIBC_2.4 ppoll F

>  GLIBC_2.4 printf F

>  GLIBC_2.4 printf_size F

> +GLIBC_2.4 pthread_mutex_consistent_np F

>  GLIBC_2.4 qecvt F

>  GLIBC_2.4 qecvt_r F

>  GLIBC_2.4 qfcvt F

> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist

> index 0c68fb1b7c..7bdd5c1a03 100644

> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist

> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist

> @@ -129,7 +129,6 @@ GLIBC_2.1.1 sem_unlink F

>  GLIBC_2.1.2 __libpthread_version_placeholder F

>  GLIBC_2.11 pthread_sigqueue F

>  GLIBC_2.12 pthread_getname_np F

> -GLIBC_2.12 pthread_mutex_consistent F

>  GLIBC_2.12 pthread_mutexattr_getrobust F

>  GLIBC_2.12 pthread_mutexattr_setrobust F

>  GLIBC_2.12 pthread_setname_np F

> @@ -226,7 +225,6 @@ GLIBC_2.30 pthread_rwlock_clockrdlock F

>  GLIBC_2.30 pthread_rwlock_clockwrlock F

>  GLIBC_2.30 sem_clockwait F

>  GLIBC_2.31 pthread_clockjoin_np F

> -GLIBC_2.4 pthread_mutex_consistent_np F

>  GLIBC_2.4 pthread_mutex_getprioceiling F

>  GLIBC_2.4 pthread_mutex_setprioceiling F

>  GLIBC_2.4 pthread_mutexattr_getprioceiling F

> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist

> index 697f072fd4..6b0a6ef07e 100644

> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist

> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist

> @@ -1715,6 +1715,7 @@ GLIBC_2.11 mkstemps64 F

>  GLIBC_2.12 _sys_errlist D 0x21c

>  GLIBC_2.12 _sys_nerr D 0x4

>  GLIBC_2.12 ntp_gettimex F

> +GLIBC_2.12 pthread_mutex_consistent F

>  GLIBC_2.12 recvmmsg F

>  GLIBC_2.12 sys_errlist D 0x21c

>  GLIBC_2.12 sys_nerr D 0x4

> @@ -2247,6 +2248,7 @@ GLIBC_2.33 mknodat F

>  GLIBC_2.33 stat F

>  GLIBC_2.33 stat64 F

>  GLIBC_2.34 __libc_start_main F

> +GLIBC_2.34 pthread_mutex_consistent F

>  GLIBC_2.4 _IO_fprintf F

>  GLIBC_2.4 _IO_printf F

>  GLIBC_2.4 _IO_sprintf F

> @@ -2442,6 +2444,7 @@ GLIBC_2.4 openat64 F

>  GLIBC_2.4 ppoll F

>  GLIBC_2.4 printf F

>  GLIBC_2.4 printf_size F

> +GLIBC_2.4 pthread_mutex_consistent_np F

>  GLIBC_2.4 qecvt F

>  GLIBC_2.4 qecvt_r F

>  GLIBC_2.4 qfcvt F

> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist

> index 2647bb51f1..d4fcc5479a 100644

> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist

> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist

> @@ -33,6 +33,7 @@ GLIBC_2.11 mkstemps64 F

>  GLIBC_2.12 _sys_errlist D 0x438

>  GLIBC_2.12 _sys_nerr D 0x4

>  GLIBC_2.12 ntp_gettimex F

> +GLIBC_2.12 pthread_mutex_consistent F

>  GLIBC_2.12 recvmmsg F

>  GLIBC_2.12 sys_errlist D 0x438

>  GLIBC_2.12 sys_nerr D 0x4

> @@ -2077,6 +2078,7 @@ GLIBC_2.33 mknodat F

>  GLIBC_2.33 stat F

>  GLIBC_2.33 stat64 F

>  GLIBC_2.34 __libc_start_main F

> +GLIBC_2.34 pthread_mutex_consistent F

>  GLIBC_2.4 _IO_fprintf F

>  GLIBC_2.4 _IO_printf F

>  GLIBC_2.4 _IO_sprintf F

> @@ -2260,6 +2262,7 @@ GLIBC_2.4 openat64 F

>  GLIBC_2.4 ppoll F

>  GLIBC_2.4 printf F

>  GLIBC_2.4 printf_size F

> +GLIBC_2.4 pthread_mutex_consistent_np F

>  GLIBC_2.4 qecvt F

>  GLIBC_2.4 qecvt_r F

>  GLIBC_2.4 qfcvt F

> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist

> index c7f6167250..335cda5763 100644

> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist

> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist

> @@ -1,6 +1,5 @@

>  GLIBC_2.11 pthread_sigqueue F

>  GLIBC_2.12 pthread_getname_np F

> -GLIBC_2.12 pthread_mutex_consistent F

>  GLIBC_2.12 pthread_mutexattr_getrobust F

>  GLIBC_2.12 pthread_mutexattr_setrobust F

>  GLIBC_2.12 pthread_setname_np F

> @@ -215,7 +214,6 @@ GLIBC_2.30 pthread_rwlock_clockrdlock F

>  GLIBC_2.30 pthread_rwlock_clockwrlock F

>  GLIBC_2.30 sem_clockwait F

>  GLIBC_2.31 pthread_clockjoin_np F

> -GLIBC_2.4 pthread_mutex_consistent_np F

>  GLIBC_2.4 pthread_mutex_getprioceiling F

>  GLIBC_2.4 pthread_mutex_setprioceiling F

>  GLIBC_2.4 pthread_mutexattr_getprioceiling F

> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist

> index 036b1c8345..bbe387fe61 100644

> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist

> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist

> @@ -1531,6 +1531,8 @@ 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_consistent F

> +GLIBC_2.17 pthread_mutex_consistent_np F

>  GLIBC_2.17 pthread_mutex_destroy F

>  GLIBC_2.17 pthread_mutex_init F

>  GLIBC_2.17 pthread_mutex_lock F

> @@ -2367,3 +2369,4 @@ GLIBC_2.33 mknodat F

>  GLIBC_2.33 stat F

>  GLIBC_2.33 stat64 F

>  GLIBC_2.34 __libc_start_main F

> +GLIBC_2.34 pthread_mutex_consistent F

> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist

> index 336ee51e7e..1d4fffb5a6 100644

> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist

> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist

> @@ -102,8 +102,6 @@ GLIBC_2.17 pthread_key_create F

>  GLIBC_2.17 pthread_key_delete F

>  GLIBC_2.17 pthread_kill F

>  GLIBC_2.17 pthread_kill_other_threads_np F

> -GLIBC_2.17 pthread_mutex_consistent F

> -GLIBC_2.17 pthread_mutex_consistent_np F

>  GLIBC_2.17 pthread_mutex_destroy F

>  GLIBC_2.17 pthread_mutex_getprioceiling F

>  GLIBC_2.17 pthread_mutex_init F

> diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist

> index ff3225e16f..684acb6795 100644

> --- a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist

> +++ b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist

> @@ -1371,6 +1371,8 @@ GLIBC_2.33 pthread_exit F

>  GLIBC_2.33 pthread_getaffinity_np F

>  GLIBC_2.33 pthread_getattr_np F

>  GLIBC_2.33 pthread_getschedparam F

> +GLIBC_2.33 pthread_mutex_consistent F

> +GLIBC_2.33 pthread_mutex_consistent_np F

>  GLIBC_2.33 pthread_mutex_destroy F

>  GLIBC_2.33 pthread_mutex_init F

>  GLIBC_2.33 pthread_mutex_lock F

> @@ -1934,3 +1936,4 @@ GLIBC_2.33 write F

>  GLIBC_2.33 writev F

>  GLIBC_2.33 wscanf F

>  GLIBC_2.34 __libc_start_main F

> +GLIBC_2.34 pthread_mutex_consistent F

> diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist

> index 61b3c4ff7a..33b755ed10 100644

> --- a/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist

> +++ b/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist

> @@ -116,8 +116,6 @@ GLIBC_2.33 pthread_key_delete F

>  GLIBC_2.33 pthread_kill F

>  GLIBC_2.33 pthread_kill_other_threads_np F

>  GLIBC_2.33 pthread_mutex_clocklock F

> -GLIBC_2.33 pthread_mutex_consistent F

> -GLIBC_2.33 pthread_mutex_consistent_np F

>  GLIBC_2.33 pthread_mutex_destroy F

>  GLIBC_2.33 pthread_mutex_getprioceiling F

>  GLIBC_2.33 pthread_mutex_init F

> diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist

> index fb5ad9909f..6f8afeb03e 100644

> --- a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist

> +++ b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist

> @@ -1433,6 +1433,8 @@ 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_consistent F

> +GLIBC_2.27 pthread_mutex_consistent_np F

>  GLIBC_2.27 pthread_mutex_destroy F

>  GLIBC_2.27 pthread_mutex_init F

>  GLIBC_2.27 pthread_mutex_lock F

> @@ -2134,3 +2136,4 @@ GLIBC_2.33 mknodat F

>  GLIBC_2.33 stat F

>  GLIBC_2.33 stat64 F

>  GLIBC_2.34 __libc_start_main F

> +GLIBC_2.34 pthread_mutex_consistent F

> diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist

> index 894c474fcb..4be8886aed 100644

> --- a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist

> +++ b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist

> @@ -102,8 +102,6 @@ GLIBC_2.27 pthread_key_create F

>  GLIBC_2.27 pthread_key_delete F

>  GLIBC_2.27 pthread_kill F

>  GLIBC_2.27 pthread_kill_other_threads_np F

> -GLIBC_2.27 pthread_mutex_consistent F

> -GLIBC_2.27 pthread_mutex_consistent_np F

>  GLIBC_2.27 pthread_mutex_destroy F

>  GLIBC_2.27 pthread_mutex_getprioceiling F

>  GLIBC_2.27 pthread_mutex_init F

> diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist

> index cead75acc5..a4b1c00c78 100644

> --- a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist

> +++ b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist

> @@ -1707,6 +1707,7 @@ GLIBC_2.11 mkstemps64 F

>  GLIBC_2.12 _sys_errlist D 0x21c

>  GLIBC_2.12 _sys_nerr D 0x4

>  GLIBC_2.12 ntp_gettimex F

> +GLIBC_2.12 pthread_mutex_consistent F

>  GLIBC_2.12 recvmmsg F

>  GLIBC_2.12 sys_errlist D 0x21c

>  GLIBC_2.12 sys_nerr D 0x4

> @@ -2212,6 +2213,7 @@ GLIBC_2.33 mknodat F

>  GLIBC_2.33 stat F

>  GLIBC_2.33 stat64 F

>  GLIBC_2.34 __libc_start_main F

> +GLIBC_2.34 pthread_mutex_consistent F

>  GLIBC_2.4 _IO_fprintf F

>  GLIBC_2.4 _IO_printf F

>  GLIBC_2.4 _IO_sprintf F

> @@ -2395,6 +2397,7 @@ GLIBC_2.4 openat64 F

>  GLIBC_2.4 ppoll F

>  GLIBC_2.4 printf F

>  GLIBC_2.4 printf_size F

> +GLIBC_2.4 pthread_mutex_consistent_np F

>  GLIBC_2.4 qecvt F

>  GLIBC_2.4 qecvt_r F

>  GLIBC_2.4 qfcvt F

> diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist

> index a198e22445..c3c66c7f6a 100644

> --- a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist

> +++ b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist

> @@ -129,7 +129,6 @@ GLIBC_2.1.1 sem_unlink F

>  GLIBC_2.1.2 __libpthread_version_placeholder F

>  GLIBC_2.11 pthread_sigqueue F

>  GLIBC_2.12 pthread_getname_np F

> -GLIBC_2.12 pthread_mutex_consistent F

>  GLIBC_2.12 pthread_mutexattr_getrobust F

>  GLIBC_2.12 pthread_mutexattr_setrobust F

>  GLIBC_2.12 pthread_setname_np F

> @@ -226,7 +225,6 @@ GLIBC_2.30 pthread_rwlock_clockrdlock F

>  GLIBC_2.30 pthread_rwlock_clockwrlock F

>  GLIBC_2.30 sem_clockwait F

>  GLIBC_2.31 pthread_clockjoin_np F

> -GLIBC_2.4 pthread_mutex_consistent_np F

>  GLIBC_2.4 pthread_mutex_getprioceiling F

>  GLIBC_2.4 pthread_mutex_setprioceiling F

>  GLIBC_2.4 pthread_mutexattr_getprioceiling F

> diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist

> index 31366dd7e6..c05c18c2bb 100644

> --- a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist

> +++ b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist

> @@ -37,6 +37,7 @@ GLIBC_2.11 mkstemps64 F

>  GLIBC_2.12 _sys_errlist D 0x438

>  GLIBC_2.12 _sys_nerr D 0x4

>  GLIBC_2.12 ntp_gettimex F

> +GLIBC_2.12 pthread_mutex_consistent F

>  GLIBC_2.12 recvmmsg F

>  GLIBC_2.12 sys_errlist D 0x438

>  GLIBC_2.12 sys_nerr D 0x4

> @@ -2113,6 +2114,7 @@ GLIBC_2.33 mknodat F

>  GLIBC_2.33 stat F

>  GLIBC_2.33 stat64 F

>  GLIBC_2.34 __libc_start_main F

> +GLIBC_2.34 pthread_mutex_consistent F

>  GLIBC_2.4 _IO_fprintf F

>  GLIBC_2.4 _IO_printf F

>  GLIBC_2.4 _IO_sprintf F

> @@ -2296,6 +2298,7 @@ GLIBC_2.4 openat64 F

>  GLIBC_2.4 ppoll F

>  GLIBC_2.4 printf F

>  GLIBC_2.4 printf_size F

> +GLIBC_2.4 pthread_mutex_consistent_np F

>  GLIBC_2.4 qecvt F

>  GLIBC_2.4 qecvt_r F

>  GLIBC_2.4 qfcvt F

> diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist

> index 6d166d5f97..fa4b4cf747 100644

> --- a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist

> +++ b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist

> @@ -1,6 +1,5 @@

>  GLIBC_2.11 pthread_sigqueue F

>  GLIBC_2.12 pthread_getname_np F

> -GLIBC_2.12 pthread_mutex_consistent F

>  GLIBC_2.12 pthread_mutexattr_getrobust F

>  GLIBC_2.12 pthread_mutexattr_setrobust F

>  GLIBC_2.12 pthread_setname_np F

> @@ -218,7 +217,6 @@ GLIBC_2.30 pthread_rwlock_clockrdlock F

>  GLIBC_2.30 pthread_rwlock_clockwrlock F

>  GLIBC_2.30 sem_clockwait F

>  GLIBC_2.31 pthread_clockjoin_np F

> -GLIBC_2.4 pthread_mutex_consistent_np F

>  GLIBC_2.4 pthread_mutex_getprioceiling F

>  GLIBC_2.4 pthread_mutex_setprioceiling F

>  GLIBC_2.4 pthread_mutexattr_getprioceiling F

> diff --git a/sysdeps/unix/sysv/linux/sh/be/libc.abilist b/sysdeps/unix/sysv/linux/sh/be/libc.abilist

> index a3a8be8910..635a05bf2f 100644

> --- a/sysdeps/unix/sysv/linux/sh/be/libc.abilist

> +++ b/sysdeps/unix/sysv/linux/sh/be/libc.abilist

> @@ -37,6 +37,7 @@ GLIBC_2.11 mkstemps64 F

>  GLIBC_2.12 _sys_errlist D 0x21c

>  GLIBC_2.12 _sys_nerr D 0x4

>  GLIBC_2.12 ntp_gettimex F

> +GLIBC_2.12 pthread_mutex_consistent F

>  GLIBC_2.12 recvmmsg F

>  GLIBC_2.12 sys_errlist D 0x21c

>  GLIBC_2.12 sys_nerr D 0x4

> @@ -2082,6 +2083,7 @@ GLIBC_2.33 mknodat F

>  GLIBC_2.33 stat F

>  GLIBC_2.33 stat64 F

>  GLIBC_2.34 __libc_start_main F

> +GLIBC_2.34 pthread_mutex_consistent F

>  GLIBC_2.4 __confstr_chk F

>  GLIBC_2.4 __fgets_chk F

>  GLIBC_2.4 __fgets_unlocked_chk F

> @@ -2151,6 +2153,7 @@ GLIBC_2.4 open_wmemstream F

>  GLIBC_2.4 openat F

>  GLIBC_2.4 openat64 F

>  GLIBC_2.4 ppoll F

> +GLIBC_2.4 pthread_mutex_consistent_np F

>  GLIBC_2.4 readlinkat F

>  GLIBC_2.4 renameat F

>  GLIBC_2.4 symlinkat F

> diff --git a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist

> index a7bb15be58..02dca5bd52 100644

> --- a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist

> +++ b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist

> @@ -1,6 +1,5 @@

>  GLIBC_2.11 pthread_sigqueue F

>  GLIBC_2.12 pthread_getname_np F

> -GLIBC_2.12 pthread_mutex_consistent F

>  GLIBC_2.12 pthread_mutexattr_getrobust F

>  GLIBC_2.12 pthread_mutexattr_setrobust F

>  GLIBC_2.12 pthread_setname_np F

> @@ -216,7 +215,6 @@ GLIBC_2.30 pthread_rwlock_clockrdlock F

>  GLIBC_2.30 pthread_rwlock_clockwrlock F

>  GLIBC_2.30 sem_clockwait F

>  GLIBC_2.31 pthread_clockjoin_np F

> -GLIBC_2.4 pthread_mutex_consistent_np F

>  GLIBC_2.4 pthread_mutex_getprioceiling F

>  GLIBC_2.4 pthread_mutex_setprioceiling F

>  GLIBC_2.4 pthread_mutexattr_getprioceiling F

> diff --git a/sysdeps/unix/sysv/linux/sh/le/libc.abilist b/sysdeps/unix/sysv/linux/sh/le/libc.abilist

> index 8f505c5045..5b09a03eef 100644

> --- a/sysdeps/unix/sysv/linux/sh/le/libc.abilist

> +++ b/sysdeps/unix/sysv/linux/sh/le/libc.abilist

> @@ -37,6 +37,7 @@ GLIBC_2.11 mkstemps64 F

>  GLIBC_2.12 _sys_errlist D 0x21c

>  GLIBC_2.12 _sys_nerr D 0x4

>  GLIBC_2.12 ntp_gettimex F

> +GLIBC_2.12 pthread_mutex_consistent F

>  GLIBC_2.12 recvmmsg F

>  GLIBC_2.12 sys_errlist D 0x21c

>  GLIBC_2.12 sys_nerr D 0x4

> @@ -2079,6 +2080,7 @@ GLIBC_2.33 mknodat F

>  GLIBC_2.33 stat F

>  GLIBC_2.33 stat64 F

>  GLIBC_2.34 __libc_start_main F

> +GLIBC_2.34 pthread_mutex_consistent F

>  GLIBC_2.4 __confstr_chk F

>  GLIBC_2.4 __fgets_chk F

>  GLIBC_2.4 __fgets_unlocked_chk F

> @@ -2148,6 +2150,7 @@ GLIBC_2.4 open_wmemstream F

>  GLIBC_2.4 openat F

>  GLIBC_2.4 openat64 F

>  GLIBC_2.4 ppoll F

> +GLIBC_2.4 pthread_mutex_consistent_np F

>  GLIBC_2.4 readlinkat F

>  GLIBC_2.4 renameat F

>  GLIBC_2.4 symlinkat F

> diff --git a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist

> index a7bb15be58..02dca5bd52 100644

> --- a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist

> +++ b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist

> @@ -1,6 +1,5 @@

>  GLIBC_2.11 pthread_sigqueue F

>  GLIBC_2.12 pthread_getname_np F

> -GLIBC_2.12 pthread_mutex_consistent F

>  GLIBC_2.12 pthread_mutexattr_getrobust F

>  GLIBC_2.12 pthread_mutexattr_setrobust F

>  GLIBC_2.12 pthread_setname_np F

> @@ -216,7 +215,6 @@ GLIBC_2.30 pthread_rwlock_clockrdlock F

>  GLIBC_2.30 pthread_rwlock_clockwrlock F

>  GLIBC_2.30 sem_clockwait F

>  GLIBC_2.31 pthread_clockjoin_np F

> -GLIBC_2.4 pthread_mutex_consistent_np F

>  GLIBC_2.4 pthread_mutex_getprioceiling F

>  GLIBC_2.4 pthread_mutex_setprioceiling F

>  GLIBC_2.4 pthread_mutexattr_getprioceiling F

> diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist

> index 53ef6304f1..7019d97b8d 100644

> --- a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist

> +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist

> @@ -1708,6 +1708,7 @@ GLIBC_2.11 mkstemps64 F

>  GLIBC_2.12 _sys_errlist D 0x21c

>  GLIBC_2.12 _sys_nerr D 0x4

>  GLIBC_2.12 ntp_gettimex F

> +GLIBC_2.12 pthread_mutex_consistent F

>  GLIBC_2.12 recvmmsg F

>  GLIBC_2.12 sys_errlist D 0x21c

>  GLIBC_2.12 sys_nerr D 0x4

> @@ -2203,6 +2204,7 @@ GLIBC_2.33 mknodat F

>  GLIBC_2.33 stat F

>  GLIBC_2.33 stat64 F

>  GLIBC_2.34 __libc_start_main F

> +GLIBC_2.34 pthread_mutex_consistent F

>  GLIBC_2.4 _IO_fprintf F

>  GLIBC_2.4 _IO_printf F

>  GLIBC_2.4 _IO_sprintf F

> @@ -2412,6 +2414,7 @@ GLIBC_2.4 openat64 F

>  GLIBC_2.4 ppoll F

>  GLIBC_2.4 printf F

>  GLIBC_2.4 printf_size F

> +GLIBC_2.4 pthread_mutex_consistent_np F

>  GLIBC_2.4 qecvt F

>  GLIBC_2.4 qecvt_r F

>  GLIBC_2.4 qfcvt F

> diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist

> index 5c87b9baa0..e97e4d4dd5 100644

> --- a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist

> +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist

> @@ -129,7 +129,6 @@ GLIBC_2.1.1 sem_unlink F

>  GLIBC_2.1.2 __libpthread_version_placeholder F

>  GLIBC_2.11 pthread_sigqueue F

>  GLIBC_2.12 pthread_getname_np F

> -GLIBC_2.12 pthread_mutex_consistent F

>  GLIBC_2.12 pthread_mutexattr_getrobust F

>  GLIBC_2.12 pthread_mutexattr_setrobust F

>  GLIBC_2.12 pthread_setname_np F

> @@ -226,7 +225,6 @@ GLIBC_2.30 pthread_rwlock_clockrdlock F

>  GLIBC_2.30 pthread_rwlock_clockwrlock F

>  GLIBC_2.30 sem_clockwait F

>  GLIBC_2.31 pthread_clockjoin_np F

> -GLIBC_2.4 pthread_mutex_consistent_np F

>  GLIBC_2.4 pthread_mutex_getprioceiling F

>  GLIBC_2.4 pthread_mutex_setprioceiling F

>  GLIBC_2.4 pthread_mutexattr_getprioceiling F

> diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist

> index eba0cb156d..deb4735664 100644

> --- a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist

> +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist

> @@ -37,6 +37,7 @@ GLIBC_2.11 mkstemps64 F

>  GLIBC_2.12 _sys_errlist D 0x438

>  GLIBC_2.12 _sys_nerr D 0x4

>  GLIBC_2.12 ntp_gettimex F

> +GLIBC_2.12 pthread_mutex_consistent F

>  GLIBC_2.12 recvmmsg F

>  GLIBC_2.12 sys_errlist D 0x438

>  GLIBC_2.12 sys_nerr D 0x4

> @@ -2130,6 +2131,7 @@ GLIBC_2.33 mknodat F

>  GLIBC_2.33 stat F

>  GLIBC_2.33 stat64 F

>  GLIBC_2.34 __libc_start_main F

> +GLIBC_2.34 pthread_mutex_consistent F

>  GLIBC_2.4 __confstr_chk F

>  GLIBC_2.4 __fgets_chk F

>  GLIBC_2.4 __fgets_unlocked_chk F

> @@ -2199,6 +2201,7 @@ GLIBC_2.4 open_wmemstream F

>  GLIBC_2.4 openat F

>  GLIBC_2.4 openat64 F

>  GLIBC_2.4 ppoll F

> +GLIBC_2.4 pthread_mutex_consistent_np F

>  GLIBC_2.4 readlinkat F

>  GLIBC_2.4 renameat F

>  GLIBC_2.4 symlinkat F

> diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist

> index 6fb2e05072..1f9d0edbc9 100644

> --- a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist

> +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist

> @@ -1,6 +1,5 @@

>  GLIBC_2.11 pthread_sigqueue F

>  GLIBC_2.12 pthread_getname_np F

> -GLIBC_2.12 pthread_mutex_consistent F

>  GLIBC_2.12 pthread_mutexattr_getrobust F

>  GLIBC_2.12 pthread_mutexattr_setrobust F

>  GLIBC_2.12 pthread_setname_np F

> @@ -218,7 +217,6 @@ GLIBC_2.30 pthread_rwlock_clockrdlock F

>  GLIBC_2.30 pthread_rwlock_clockwrlock F

>  GLIBC_2.30 sem_clockwait F

>  GLIBC_2.31 pthread_clockjoin_np F

> -GLIBC_2.4 pthread_mutex_consistent_np F

>  GLIBC_2.4 pthread_mutex_getprioceiling F

>  GLIBC_2.4 pthread_mutex_setprioceiling F

>  GLIBC_2.4 pthread_mutexattr_getprioceiling F

> diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist

> index 17ce5dfd58..779b06605b 100644

> --- a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist

> +++ b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist

> @@ -33,6 +33,7 @@ GLIBC_2.11 mkstemps64 F

>  GLIBC_2.12 _sys_errlist D 0x438

>  GLIBC_2.12 _sys_nerr D 0x4

>  GLIBC_2.12 ntp_gettimex F

> +GLIBC_2.12 pthread_mutex_consistent F

>  GLIBC_2.12 recvmmsg F

>  GLIBC_2.12 sys_errlist D 0x438

>  GLIBC_2.12 sys_nerr D 0x4

> @@ -2089,6 +2090,7 @@ GLIBC_2.33 mknodat F

>  GLIBC_2.33 stat F

>  GLIBC_2.33 stat64 F

>  GLIBC_2.34 __libc_start_main F

> +GLIBC_2.34 pthread_mutex_consistent F

>  GLIBC_2.4 __confstr_chk F

>  GLIBC_2.4 __fgets_chk F

>  GLIBC_2.4 __fgets_unlocked_chk F

> @@ -2158,6 +2160,7 @@ GLIBC_2.4 open_wmemstream F

>  GLIBC_2.4 openat F

>  GLIBC_2.4 openat64 F

>  GLIBC_2.4 ppoll F

> +GLIBC_2.4 pthread_mutex_consistent_np F

>  GLIBC_2.4 readlinkat F

>  GLIBC_2.4 renameat F

>  GLIBC_2.4 symlinkat F

> diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist

> index f85ab1d3cd..01d330cad7 100644

> --- a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist

> +++ b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist

> @@ -1,6 +1,5 @@

>  GLIBC_2.11 pthread_sigqueue F

>  GLIBC_2.12 pthread_getname_np F

> -GLIBC_2.12 pthread_mutex_consistent F

>  GLIBC_2.12 pthread_mutexattr_getrobust F

>  GLIBC_2.12 pthread_mutexattr_setrobust F

>  GLIBC_2.12 pthread_setname_np F

> @@ -215,7 +214,6 @@ GLIBC_2.30 pthread_rwlock_clockrdlock F

>  GLIBC_2.30 pthread_rwlock_clockwrlock F

>  GLIBC_2.30 sem_clockwait F

>  GLIBC_2.31 pthread_clockjoin_np F

> -GLIBC_2.4 pthread_mutex_consistent_np F

>  GLIBC_2.4 pthread_mutex_getprioceiling F

>  GLIBC_2.4 pthread_mutex_setprioceiling F

>  GLIBC_2.4 pthread_mutexattr_getprioceiling F

> diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist

> index 17a1c83903..a85d2af101 100644

> --- a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist

> +++ b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist

> @@ -1450,6 +1450,8 @@ 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_consistent F

> +GLIBC_2.16 pthread_mutex_consistent_np F

>  GLIBC_2.16 pthread_mutex_destroy F

>  GLIBC_2.16 pthread_mutex_init F

>  GLIBC_2.16 pthread_mutex_lock F

> @@ -2186,3 +2188,4 @@ GLIBC_2.33 mknodat F

>  GLIBC_2.33 stat F

>  GLIBC_2.33 stat64 F

>  GLIBC_2.34 __libc_start_main F

> +GLIBC_2.34 pthread_mutex_consistent F

> diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist

> index 0e24fcd6bf..b470f2eed5 100644

> --- a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist

> +++ b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist

> @@ -102,8 +102,6 @@ GLIBC_2.16 pthread_key_create F

>  GLIBC_2.16 pthread_key_delete F

>  GLIBC_2.16 pthread_kill F

>  GLIBC_2.16 pthread_kill_other_threads_np F

> -GLIBC_2.16 pthread_mutex_consistent F

> -GLIBC_2.16 pthread_mutex_consistent_np F

>  GLIBC_2.16 pthread_mutex_destroy F

>  GLIBC_2.16 pthread_mutex_getprioceiling F

>  GLIBC_2.16 pthread_mutex_init F

> 


Ok.
Mark Harris via Libc-alpha March 16, 2021, 5:42 a.m. | #2
* Adhemerval Zanella:

>> index 937c7c4640..0a84063a2b 100644

>> --- a/nptl/pthread_mutex_consistent.c

>> +++ b/nptl/pthread_mutex_consistent.c

>> @@ -18,10 +18,10 @@

>>  

>>  #include <errno.h>

>>  #include <pthreadP.h>

>> -

>> +#include <shlib-compat.h>

>>  

>>  int

>> -pthread_mutex_consistent (pthread_mutex_t *mutex)

>> +__pthread_mutex_consistent (pthread_mutex_t *mutex)

>>  {

>>    /* Test whether this is a robust mutex with a dead owner.

>>       See concurrency notes regarding __kind in struct __pthread_mutex_s

>> @@ -35,4 +35,20 @@ pthread_mutex_consistent (pthread_mutex_t *mutex)

>>  

>>    return 0;

>>  }

>> -weak_alias (pthread_mutex_consistent, pthread_mutex_consistent_np)

>> +versioned_symbol (libc, __pthread_mutex_consistent, pthread_mutex_consistent,

>> +                  GLIBC_2_34);

>> +

>> +#if SHLIB_COMPAT (libc, GLIBC_2_4, GLIBC_2_34)

>

> Shouldn't be GLIBC_2_12 here?


Where exactly?  There are so many symbol versions.  The _np variant was
introduced in GLIBC_2.4, so GLIBC_2_4 is correct here.  It ran parallel
with the non-_np variant until GLIBC_2.34, so that's the end range.

>> +/* Compat symbol with the old libc version, _np alias.  */

>> +# undef pthread_mutex_consistent_np

>

> I think should be out of SHLIB_COMPAT.


It will go away if I switch to __REDIRECT.

>> +strong_alias (__pthread_mutex_consistent, __pthread_mutex_consistent_1)

>> +compat_symbol (libc, __pthread_mutex_consistent_1,

>> +               pthread_mutex_consistent_np, GLIBC_2_4);

>> +#endif

>> +

>> +#if SHLIB_COMPAT (libc, GLIBC_2_12, GLIBC_2_34)

>> +/* Compat symbol with the old libc version.  */

>> +strong_alias (__pthread_mutex_consistent, __pthread_mutex_consistent_2)

>> +compat_symbol (libc, __pthread_mutex_consistent_2,

>> +               pthread_mutex_consistent, GLIBC_2_12);

>> +#endif

>

> I think we have compat_symbol_unique exactly for that.


It doesn't apply here because the symbol names are different
(__pthread_mutex_consistent vs pthread_mutex_consistent):

# define compat_symbol_unique(lib, name, version) \

The macro has just one name argument.

>> diff --git a/sysdeps/nptl/pthread.h b/sysdeps/nptl/pthread.h

>> index a04a3a2754..2ec2caec98 100644

>> --- a/sysdeps/nptl/pthread.h

>> +++ b/sysdeps/nptl/pthread.h

>> @@ -809,8 +809,9 @@ extern int pthread_mutex_setprioceiling (pthread_mutex_t *__restrict __mutex,

>>  extern int pthread_mutex_consistent (pthread_mutex_t *__mutex)

>>       __THROW __nonnull ((1));

>>  # ifdef __USE_GNU

>> -extern int pthread_mutex_consistent_np (pthread_mutex_t *__mutex)

>> -     __THROW __nonnull ((1));

>> +#  define pthread_mutex_consistent_np __glibc_macro_warning ("\

>> +pthread_mutex_consistent_np is deprecated, use pthread_mutex_consistent") \

>> +  pthread_mutex_consistent

>>  # endif

>>  #endif

>>  

>

> Wouldn't be better to throw a link error instead an empty macro for such

> case?


It's not an empty macro, there's a third line.  I can see if I can use
__REDIRECT instead if that's clearer.

Thanks,
Florian
Mark Harris via Libc-alpha March 16, 2021, 1:49 p.m. | #3
On 16/03/2021 02:42, Florian Weimer wrote:
> * Adhemerval Zanella:

> 

>>> index 937c7c4640..0a84063a2b 100644

>>> --- a/nptl/pthread_mutex_consistent.c

>>> +++ b/nptl/pthread_mutex_consistent.c

>>> @@ -18,10 +18,10 @@

>>>  

>>>  #include <errno.h>

>>>  #include <pthreadP.h>

>>> -

>>> +#include <shlib-compat.h>

>>>  

>>>  int

>>> -pthread_mutex_consistent (pthread_mutex_t *mutex)

>>> +__pthread_mutex_consistent (pthread_mutex_t *mutex)

>>>  {

>>>    /* Test whether this is a robust mutex with a dead owner.

>>>       See concurrency notes regarding __kind in struct __pthread_mutex_s

>>> @@ -35,4 +35,20 @@ pthread_mutex_consistent (pthread_mutex_t *mutex)

>>>  

>>>    return 0;

>>>  }

>>> -weak_alias (pthread_mutex_consistent, pthread_mutex_consistent_np)

>>> +versioned_symbol (libc, __pthread_mutex_consistent, pthread_mutex_consistent,

>>> +                  GLIBC_2_34);

>>> +

>>> +#if SHLIB_COMPAT (libc, GLIBC_2_4, GLIBC_2_34)

>>

>> Shouldn't be GLIBC_2_12 here?

> 

> Where exactly?  There are so many symbol versions.  The _np variant was

> introduced in GLIBC_2.4, so GLIBC_2_4 is correct here.  It ran parallel

> with the non-_np variant until GLIBC_2.34, so that's the end range.


I meant 'SHLIB_COMPAT (libc, GLIBC_2_4, GLIBC_2_12)'

> 

>>> +/* Compat symbol with the old libc version, _np alias.  */

>>> +# undef pthread_mutex_consistent_np

>>

>> I think should be out of SHLIB_COMPAT.

> 

> It will go away if I switch to __REDIRECT.

> 

>>> +strong_alias (__pthread_mutex_consistent, __pthread_mutex_consistent_1)

>>> +compat_symbol (libc, __pthread_mutex_consistent_1,

>>> +               pthread_mutex_consistent_np, GLIBC_2_4);

>>> +#endif

>>> +

>>> +#if SHLIB_COMPAT (libc, GLIBC_2_12, GLIBC_2_34)

>>> +/* Compat symbol with the old libc version.  */

>>> +strong_alias (__pthread_mutex_consistent, __pthread_mutex_consistent_2)

>>> +compat_symbol (libc, __pthread_mutex_consistent_2,

>>> +               pthread_mutex_consistent, GLIBC_2_12);

>>> +#endif

>>

>> I think we have compat_symbol_unique exactly for that.

> 

> It doesn't apply here because the symbol names are different

> (__pthread_mutex_consistent vs pthread_mutex_consistent):

> 

> # define compat_symbol_unique(lib, name, version) \

> 

> The macro has just one name argument.


Indeed, I will add a macro similar to compat_symbol_unique, but
that redirects to a an alias instead.

> 

>>> diff --git a/sysdeps/nptl/pthread.h b/sysdeps/nptl/pthread.h

>>> index a04a3a2754..2ec2caec98 100644

>>> --- a/sysdeps/nptl/pthread.h

>>> +++ b/sysdeps/nptl/pthread.h

>>> @@ -809,8 +809,9 @@ extern int pthread_mutex_setprioceiling (pthread_mutex_t *__restrict __mutex,

>>>  extern int pthread_mutex_consistent (pthread_mutex_t *__mutex)

>>>       __THROW __nonnull ((1));

>>>  # ifdef __USE_GNU

>>> -extern int pthread_mutex_consistent_np (pthread_mutex_t *__mutex)

>>> -     __THROW __nonnull ((1));

>>> +#  define pthread_mutex_consistent_np __glibc_macro_warning ("\

>>> +pthread_mutex_consistent_np is deprecated, use pthread_mutex_consistent") \

>>> +  pthread_mutex_consistent

>>>  # endif

>>>  #endif

>>>  

>>

>> Wouldn't be better to throw a link error instead an empty macro for such

>> case?

> 

> It's not an empty macro, there's a third line.  I can see if I can use

> __REDIRECT instead if that's clearer.


Ah right, I didn't noticed the last 'pthread_mutex_consistent'.  

Patch look ok then, I think if you could remove the extra 
pthread_mutex_consistent define on the installed header would be better
but it not a blocker.
Mark Harris via Libc-alpha March 16, 2021, 1:53 p.m. | #4
* Adhemerval Zanella:

> On 16/03/2021 02:42, Florian Weimer wrote:

>> * Adhemerval Zanella:

>> 

>>>> index 937c7c4640..0a84063a2b 100644

>>>> --- a/nptl/pthread_mutex_consistent.c

>>>> +++ b/nptl/pthread_mutex_consistent.c

>>>> @@ -18,10 +18,10 @@

>>>>  

>>>>  #include <errno.h>

>>>>  #include <pthreadP.h>

>>>> -

>>>> +#include <shlib-compat.h>

>>>>  

>>>>  int

>>>> -pthread_mutex_consistent (pthread_mutex_t *mutex)

>>>> +__pthread_mutex_consistent (pthread_mutex_t *mutex)

>>>>  {

>>>>    /* Test whether this is a robust mutex with a dead owner.

>>>>       See concurrency notes regarding __kind in struct __pthread_mutex_s

>>>> @@ -35,4 +35,20 @@ pthread_mutex_consistent (pthread_mutex_t *mutex)

>>>>  

>>>>    return 0;

>>>>  }

>>>> -weak_alias (pthread_mutex_consistent, pthread_mutex_consistent_np)

>>>> +versioned_symbol (libc, __pthread_mutex_consistent, pthread_mutex_consistent,

>>>> +                  GLIBC_2_34);

>>>> +

>>>> +#if SHLIB_COMPAT (libc, GLIBC_2_4, GLIBC_2_34)

>>>

>>> Shouldn't be GLIBC_2_12 here?

>> 

>> Where exactly?  There are so many symbol versions.  The _np variant was

>> introduced in GLIBC_2.4, so GLIBC_2_4 is correct here.  It ran parallel

>> with the non-_np variant until GLIBC_2.34, so that's the end range.

>

> I meant 'SHLIB_COMPAT (libc, GLIBC_2_4, GLIBC_2_12)'


This would be wrong because until glibc 2.33, both symbols existed in
parallel AFAICS.

>>> I think we have compat_symbol_unique exactly for that.

>> 

>> It doesn't apply here because the symbol names are different

>> (__pthread_mutex_consistent vs pthread_mutex_consistent):

>> 

>> # define compat_symbol_unique(lib, name, version) \

>> 

>> The macro has just one name argument.

>

> Indeed, I will add a macro similar to compat_symbol_unique, but

> that redirects to a an alias instead.


We could teach compat_symbol to always create an alias first.

> Ah right, I didn't noticed the last 'pthread_mutex_consistent'.  

>

> Patch look ok then, I think if you could remove the extra 

> pthread_mutex_consistent define on the installed header would be better

> but it not a blocker.


I'm going to repost it as part of the ongoing series.  I could get
__REDIRECT to work.

Thanks,
Florian
Mark Harris via Libc-alpha March 16, 2021, 2:07 p.m. | #5
On 16/03/2021 10:53, Florian Weimer wrote:
> * Adhemerval Zanella:

> 

>> On 16/03/2021 02:42, Florian Weimer wrote:

>>> * Adhemerval Zanella:

>>>

>>>>> index 937c7c4640..0a84063a2b 100644

>>>>> --- a/nptl/pthread_mutex_consistent.c

>>>>> +++ b/nptl/pthread_mutex_consistent.c

>>>>> @@ -18,10 +18,10 @@

>>>>>  

>>>>>  #include <errno.h>

>>>>>  #include <pthreadP.h>

>>>>> -

>>>>> +#include <shlib-compat.h>

>>>>>  

>>>>>  int

>>>>> -pthread_mutex_consistent (pthread_mutex_t *mutex)

>>>>> +__pthread_mutex_consistent (pthread_mutex_t *mutex)

>>>>>  {

>>>>>    /* Test whether this is a robust mutex with a dead owner.

>>>>>       See concurrency notes regarding __kind in struct __pthread_mutex_s

>>>>> @@ -35,4 +35,20 @@ pthread_mutex_consistent (pthread_mutex_t *mutex)

>>>>>  

>>>>>    return 0;

>>>>>  }

>>>>> -weak_alias (pthread_mutex_consistent, pthread_mutex_consistent_np)

>>>>> +versioned_symbol (libc, __pthread_mutex_consistent, pthread_mutex_consistent,

>>>>> +                  GLIBC_2_34);

>>>>> +

>>>>> +#if SHLIB_COMPAT (libc, GLIBC_2_4, GLIBC_2_34)

>>>>

>>>> Shouldn't be GLIBC_2_12 here?

>>>

>>> Where exactly?  There are so many symbol versions.  The _np variant was

>>> introduced in GLIBC_2.4, so GLIBC_2_4 is correct here.  It ran parallel

>>> with the non-_np variant until GLIBC_2.34, so that's the end range.

>>

>> I meant 'SHLIB_COMPAT (libc, GLIBC_2_4, GLIBC_2_12)'

> 

> This would be wrong because until glibc 2.33, both symbols existed in

> parallel AFAICS.

> 


Yeah, you are right.

>>>> I think we have compat_symbol_unique exactly for that.

>>>

>>> It doesn't apply here because the symbol names are different

>>> (__pthread_mutex_consistent vs pthread_mutex_consistent):

>>>

>>> # define compat_symbol_unique(lib, name, version) \

>>>

>>> The macro has just one name argument.

>>

>> Indeed, I will add a macro similar to compat_symbol_unique, but

>> that redirects to a an alias instead.

> 

> We could teach compat_symbol to always create an alias first.

> 

>> Ah right, I didn't noticed the last 'pthread_mutex_consistent'.  

>>

>> Patch look ok then, I think if you could remove the extra 

>> pthread_mutex_consistent define on the installed header would be better

>> but it not a blocker.

> 

> I'm going to repost it as part of the ongoing series.  I could get

> __REDIRECT to work.

> 

> Thanks,

> Florian

> 


Ok.

Patch

diff --git a/NEWS b/NEWS
index aa0f10a891..f9d15952f8 100644
--- a/NEWS
+++ b/NEWS
@@ -20,7 +20,9 @@  Major new features:
 
 Deprecated and removed features, and other changes affecting compatibility:
 
-  [Add deprecations, removals and changes affecting compatibility here]
+* The function pthread_mutex_consistent_np has been deprecated; programs
+  should use the equivalent standard function pthread_mutex_consistent
+  instead.
 
 Changes to build and runtime requirements:
 
diff --git a/nptl/Makefile b/nptl/Makefile
index b51deff6a3..96bb47e152 100644
--- a/nptl/Makefile
+++ b/nptl/Makefile
@@ -71,6 +71,7 @@  routines = \
   pthread_getaffinity \
   pthread_getattr_np \
   pthread_getschedparam \
+  pthread_mutex_consistent \
   pthread_self \
   pthread_setschedparam \
   pthread_sigmask \
@@ -159,7 +160,6 @@  libpthread-routines = \
   pthread_kill_other_threads \
   pthread_mutex_cond_lock \
   pthread_mutex_conf \
-  pthread_mutex_consistent \
   pthread_mutex_destroy \
   pthread_mutex_getprioceiling \
   pthread_mutex_init \
diff --git a/nptl/Versions b/nptl/Versions
index 039cff38aa..e38d98709d 100644
--- a/nptl/Versions
+++ b/nptl/Versions
@@ -55,6 +55,12 @@  libc {
   GLIBC_2.3.4 {
     pthread_attr_setaffinity_np;
   }
+  GLIBC_2.4 {
+    pthread_mutex_consistent_np;
+  }
+  GLIBC_2.12 {
+    pthread_mutex_consistent;
+  }
   # C11 thread symbols.
   GLIBC_2.28 {
     thrd_current;
@@ -70,6 +76,9 @@  libc {
     pthread_getattr_np;
     pthread_sigmask;
   }
+  GLIBC_2.34 {
+    pthread_mutex_consistent;
+  }
   GLIBC_PRIVATE {
     __futex_abstimed_wait64;
     __futex_abstimed_wait_cancelable64;
@@ -326,7 +335,6 @@  libpthread {
   }
 
   GLIBC_2.4 {
-    pthread_mutex_consistent_np;
     pthread_mutex_getprioceiling;
     pthread_mutex_setprioceiling;
     pthread_mutexattr_getprioceiling;
@@ -343,7 +351,6 @@  libpthread {
 
   GLIBC_2.12 {
     pthread_getname_np;
-    pthread_mutex_consistent;
     pthread_mutexattr_getrobust;
     pthread_mutexattr_setrobust;
     pthread_setname_np;
diff --git a/nptl/pthread_mutex_consistent.c b/nptl/pthread_mutex_consistent.c
index 937c7c4640..0a84063a2b 100644
--- a/nptl/pthread_mutex_consistent.c
+++ b/nptl/pthread_mutex_consistent.c
@@ -18,10 +18,10 @@ 
 
 #include <errno.h>
 #include <pthreadP.h>
-
+#include <shlib-compat.h>
 
 int
-pthread_mutex_consistent (pthread_mutex_t *mutex)
+__pthread_mutex_consistent (pthread_mutex_t *mutex)
 {
   /* Test whether this is a robust mutex with a dead owner.
      See concurrency notes regarding __kind in struct __pthread_mutex_s
@@ -35,4 +35,20 @@  pthread_mutex_consistent (pthread_mutex_t *mutex)
 
   return 0;
 }
-weak_alias (pthread_mutex_consistent, pthread_mutex_consistent_np)
+versioned_symbol (libc, __pthread_mutex_consistent, pthread_mutex_consistent,
+                  GLIBC_2_34);
+
+#if SHLIB_COMPAT (libc, GLIBC_2_4, GLIBC_2_34)
+/* Compat symbol with the old libc version, _np alias.  */
+# undef pthread_mutex_consistent_np
+strong_alias (__pthread_mutex_consistent, __pthread_mutex_consistent_1)
+compat_symbol (libc, __pthread_mutex_consistent_1,
+               pthread_mutex_consistent_np, GLIBC_2_4);
+#endif
+
+#if SHLIB_COMPAT (libc, GLIBC_2_12, GLIBC_2_34)
+/* Compat symbol with the old libc version.  */
+strong_alias (__pthread_mutex_consistent, __pthread_mutex_consistent_2)
+compat_symbol (libc, __pthread_mutex_consistent_2,
+               pthread_mutex_consistent, GLIBC_2_12);
+#endif
diff --git a/sysdeps/nptl/pthread.h b/sysdeps/nptl/pthread.h
index a04a3a2754..2ec2caec98 100644
--- a/sysdeps/nptl/pthread.h
+++ b/sysdeps/nptl/pthread.h
@@ -809,8 +809,9 @@  extern int pthread_mutex_setprioceiling (pthread_mutex_t *__restrict __mutex,
 extern int pthread_mutex_consistent (pthread_mutex_t *__mutex)
      __THROW __nonnull ((1));
 # ifdef __USE_GNU
-extern int pthread_mutex_consistent_np (pthread_mutex_t *__mutex)
-     __THROW __nonnull ((1));
+#  define pthread_mutex_consistent_np __glibc_macro_warning ("\
+pthread_mutex_consistent_np is deprecated, use pthread_mutex_consistent") \
+  pthread_mutex_consistent
 # endif
 #endif
 
diff --git a/sysdeps/pthread/tst-robust1.c b/sysdeps/pthread/tst-robust1.c
index d4b1d88a68..6342fcbbf7 100644
--- a/sysdeps/pthread/tst-robust1.c
+++ b/sysdeps/pthread/tst-robust1.c
@@ -241,14 +241,14 @@  do_test (void)
 #endif
 
 #ifndef NOT_CONSISTENT
-      e = pthread_mutex_consistent_np (&m1);
+      e = pthread_mutex_consistent (&m1);
       if (e != 0)
 	{
 	  printf ("%ld: mutex_consistent m1 failed with error %d\n", round, e);
 	  return 1;
 	}
 
-      e = pthread_mutex_consistent_np (&m2);
+      e = pthread_mutex_consistent (&m2);
       if (e != 0)
 	{
 	  printf ("%ld: mutex_consistent m2 failed with error %d\n", round, e);
diff --git a/sysdeps/pthread/tst-robust8.c b/sysdeps/pthread/tst-robust8.c
index 27dd53d2c3..8f135cb516 100644
--- a/sysdeps/pthread/tst-robust8.c
+++ b/sysdeps/pthread/tst-robust8.c
@@ -92,7 +92,7 @@  mutex_timedlock of %d in thread %ld failed with %d\n",
 	    }
 
 	  if (e == EOWNERDEAD)
-	    pthread_mutex_consistent_np (&map[r]);
+	    pthread_mutex_consistent (&map[r]);
 
 	  if (e == 0 || e == EOWNERDEAD)
 	    state[r] = 1;
diff --git a/sysdeps/pthread/tst-robust9.c b/sysdeps/pthread/tst-robust9.c
index befc14f2d8..532aebc4e9 100644
--- a/sysdeps/pthread/tst-robust9.c
+++ b/sysdeps/pthread/tst-robust9.c
@@ -14,10 +14,10 @@  tf (void *data)
   int err = pthread_mutex_lock (&m);
   if (err == EOWNERDEAD)
     {
-      err = pthread_mutex_consistent_np (&m);
+      err = pthread_mutex_consistent (&m);
       if (err)
 	{
-	  puts ("pthread_mutex_consistent_np");
+	  puts ("pthread_mutex_consistent");
 	  exit (1);
 	}
     }
diff --git a/sysdeps/unix/sysv/linux/aarch64/libc.abilist b/sysdeps/unix/sysv/linux/aarch64/libc.abilist
index bac795262d..231330e591 100644
--- a/sysdeps/unix/sysv/linux/aarch64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/aarch64/libc.abilist
@@ -1442,6 +1442,8 @@  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_consistent F
+GLIBC_2.17 pthread_mutex_consistent_np F
 GLIBC_2.17 pthread_mutex_destroy F
 GLIBC_2.17 pthread_mutex_init F
 GLIBC_2.17 pthread_mutex_lock F
@@ -2172,3 +2174,4 @@  GLIBC_2.33 mknodat F
 GLIBC_2.33 stat F
 GLIBC_2.33 stat64 F
 GLIBC_2.34 __libc_start_main F
+GLIBC_2.34 pthread_mutex_consistent F
diff --git a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
index 336ee51e7e..1d4fffb5a6 100644
--- a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
@@ -102,8 +102,6 @@  GLIBC_2.17 pthread_key_create F
 GLIBC_2.17 pthread_key_delete F
 GLIBC_2.17 pthread_kill F
 GLIBC_2.17 pthread_kill_other_threads_np F
-GLIBC_2.17 pthread_mutex_consistent F
-GLIBC_2.17 pthread_mutex_consistent_np F
 GLIBC_2.17 pthread_mutex_destroy F
 GLIBC_2.17 pthread_mutex_getprioceiling F
 GLIBC_2.17 pthread_mutex_init F
diff --git a/sysdeps/unix/sysv/linux/alpha/libc.abilist b/sysdeps/unix/sysv/linux/alpha/libc.abilist
index 897f70db22..72c1c3ae6a 100644
--- a/sysdeps/unix/sysv/linux/alpha/libc.abilist
+++ b/sysdeps/unix/sysv/linux/alpha/libc.abilist
@@ -1749,6 +1749,7 @@  GLIBC_2.11 mkstemps64 F
 GLIBC_2.12 _sys_errlist D 0x458
 GLIBC_2.12 _sys_nerr D 0x4
 GLIBC_2.12 ntp_gettimex F
+GLIBC_2.12 pthread_mutex_consistent F
 GLIBC_2.12 recvmmsg F
 GLIBC_2.12 sys_errlist D 0x458
 GLIBC_2.12 sys_nerr D 0x4
@@ -2254,6 +2255,7 @@  GLIBC_2.33 mknodat F
 GLIBC_2.33 stat F
 GLIBC_2.33 stat64 F
 GLIBC_2.34 __libc_start_main F
+GLIBC_2.34 pthread_mutex_consistent F
 GLIBC_2.4 _IO_fprintf F
 GLIBC_2.4 _IO_printf F
 GLIBC_2.4 _IO_sprintf F
@@ -2437,6 +2439,7 @@  GLIBC_2.4 openat64 F
 GLIBC_2.4 ppoll F
 GLIBC_2.4 printf F
 GLIBC_2.4 printf_size F
+GLIBC_2.4 pthread_mutex_consistent_np F
 GLIBC_2.4 qecvt F
 GLIBC_2.4 qecvt_r F
 GLIBC_2.4 qfcvt F
diff --git a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
index 5c87b9baa0..e97e4d4dd5 100644
--- a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
@@ -129,7 +129,6 @@  GLIBC_2.1.1 sem_unlink F
 GLIBC_2.1.2 __libpthread_version_placeholder F
 GLIBC_2.11 pthread_sigqueue F
 GLIBC_2.12 pthread_getname_np F
-GLIBC_2.12 pthread_mutex_consistent F
 GLIBC_2.12 pthread_mutexattr_getrobust F
 GLIBC_2.12 pthread_mutexattr_setrobust F
 GLIBC_2.12 pthread_setname_np F
@@ -226,7 +225,6 @@  GLIBC_2.30 pthread_rwlock_clockrdlock F
 GLIBC_2.30 pthread_rwlock_clockwrlock F
 GLIBC_2.30 sem_clockwait F
 GLIBC_2.31 pthread_clockjoin_np F
-GLIBC_2.4 pthread_mutex_consistent_np F
 GLIBC_2.4 pthread_mutex_getprioceiling F
 GLIBC_2.4 pthread_mutex_setprioceiling F
 GLIBC_2.4 pthread_mutexattr_getprioceiling F
diff --git a/sysdeps/unix/sysv/linux/arc/libc.abilist b/sysdeps/unix/sysv/linux/arc/libc.abilist
index 604d259ad6..180b1e6244 100644
--- a/sysdeps/unix/sysv/linux/arc/libc.abilist
+++ b/sysdeps/unix/sysv/linux/arc/libc.abilist
@@ -1369,6 +1369,8 @@  GLIBC_2.32 pthread_exit F
 GLIBC_2.32 pthread_getaffinity_np F
 GLIBC_2.32 pthread_getattr_np F
 GLIBC_2.32 pthread_getschedparam F
+GLIBC_2.32 pthread_mutex_consistent F
+GLIBC_2.32 pthread_mutex_consistent_np F
 GLIBC_2.32 pthread_mutex_destroy F
 GLIBC_2.32 pthread_mutex_init F
 GLIBC_2.32 pthread_mutex_lock F
@@ -1932,3 +1934,4 @@  GLIBC_2.33 mknodat F
 GLIBC_2.33 stat F
 GLIBC_2.33 stat64 F
 GLIBC_2.34 __libc_start_main F
+GLIBC_2.34 pthread_mutex_consistent F
diff --git a/sysdeps/unix/sysv/linux/arc/libpthread.abilist b/sysdeps/unix/sysv/linux/arc/libpthread.abilist
index 1adcbecc2e..2f76de6bfc 100644
--- a/sysdeps/unix/sysv/linux/arc/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/arc/libpthread.abilist
@@ -116,8 +116,6 @@  GLIBC_2.32 pthread_key_delete F
 GLIBC_2.32 pthread_kill F
 GLIBC_2.32 pthread_kill_other_threads_np F
 GLIBC_2.32 pthread_mutex_clocklock F
-GLIBC_2.32 pthread_mutex_consistent F
-GLIBC_2.32 pthread_mutex_consistent_np F
 GLIBC_2.32 pthread_mutex_destroy F
 GLIBC_2.32 pthread_mutex_getprioceiling F
 GLIBC_2.32 pthread_mutex_init F
diff --git a/sysdeps/unix/sysv/linux/arm/be/libc.abilist b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
index 094236f713..e3781f0e83 100644
--- a/sysdeps/unix/sysv/linux/arm/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
@@ -33,6 +33,7 @@  GLIBC_2.11 mkstemps64 F
 GLIBC_2.12 _sys_errlist D 0x21c
 GLIBC_2.12 _sys_nerr D 0x4
 GLIBC_2.12 ntp_gettimex F
+GLIBC_2.12 pthread_mutex_consistent F
 GLIBC_2.12 recvmmsg F
 GLIBC_2.12 sys_errlist D 0x21c
 GLIBC_2.12 sys_nerr D 0x4
@@ -156,6 +157,7 @@  GLIBC_2.33 mknodat F
 GLIBC_2.33 stat F
 GLIBC_2.33 stat64 F
 GLIBC_2.34 __libc_start_main F
+GLIBC_2.34 pthread_mutex_consistent F
 GLIBC_2.4 _Exit F
 GLIBC_2.4 _IO_2_1_stderr_ D 0xa0
 GLIBC_2.4 _IO_2_1_stdin_ D 0xa0
@@ -1535,6 +1537,7 @@  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_consistent_np F
 GLIBC_2.4 pthread_mutex_destroy F
 GLIBC_2.4 pthread_mutex_init F
 GLIBC_2.4 pthread_mutex_lock F
diff --git a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
index b0bb1d0e01..a3516931d6 100644
--- a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
@@ -1,6 +1,5 @@ 
 GLIBC_2.11 pthread_sigqueue F
 GLIBC_2.12 pthread_getname_np F
-GLIBC_2.12 pthread_mutex_consistent F
 GLIBC_2.12 pthread_mutexattr_getrobust F
 GLIBC_2.12 pthread_mutexattr_setrobust F
 GLIBC_2.12 pthread_setname_np F
@@ -136,7 +135,6 @@  GLIBC_2.4 pthread_key_create F
 GLIBC_2.4 pthread_key_delete F
 GLIBC_2.4 pthread_kill F
 GLIBC_2.4 pthread_kill_other_threads_np F
-GLIBC_2.4 pthread_mutex_consistent_np F
 GLIBC_2.4 pthread_mutex_destroy F
 GLIBC_2.4 pthread_mutex_getprioceiling F
 GLIBC_2.4 pthread_mutex_init F
diff --git a/sysdeps/unix/sysv/linux/arm/le/libc.abilist b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
index 2bb4d31e81..0cd363cc2d 100644
--- a/sysdeps/unix/sysv/linux/arm/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
@@ -33,6 +33,7 @@  GLIBC_2.11 mkstemps64 F
 GLIBC_2.12 _sys_errlist D 0x21c
 GLIBC_2.12 _sys_nerr D 0x4
 GLIBC_2.12 ntp_gettimex F
+GLIBC_2.12 pthread_mutex_consistent F
 GLIBC_2.12 recvmmsg F
 GLIBC_2.12 sys_errlist D 0x21c
 GLIBC_2.12 sys_nerr D 0x4
@@ -153,6 +154,7 @@  GLIBC_2.33 mknodat F
 GLIBC_2.33 stat F
 GLIBC_2.33 stat64 F
 GLIBC_2.34 __libc_start_main F
+GLIBC_2.34 pthread_mutex_consistent F
 GLIBC_2.4 _Exit F
 GLIBC_2.4 _IO_2_1_stderr_ D 0xa0
 GLIBC_2.4 _IO_2_1_stdin_ D 0xa0
@@ -1532,6 +1534,7 @@  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_consistent_np F
 GLIBC_2.4 pthread_mutex_destroy F
 GLIBC_2.4 pthread_mutex_init F
 GLIBC_2.4 pthread_mutex_lock F
diff --git a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
index b0bb1d0e01..a3516931d6 100644
--- a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
@@ -1,6 +1,5 @@ 
 GLIBC_2.11 pthread_sigqueue F
 GLIBC_2.12 pthread_getname_np F
-GLIBC_2.12 pthread_mutex_consistent F
 GLIBC_2.12 pthread_mutexattr_getrobust F
 GLIBC_2.12 pthread_mutexattr_setrobust F
 GLIBC_2.12 pthread_setname_np F
@@ -136,7 +135,6 @@  GLIBC_2.4 pthread_key_create F
 GLIBC_2.4 pthread_key_delete F
 GLIBC_2.4 pthread_kill F
 GLIBC_2.4 pthread_kill_other_threads_np F
-GLIBC_2.4 pthread_mutex_consistent_np F
 GLIBC_2.4 pthread_mutex_destroy F
 GLIBC_2.4 pthread_mutex_getprioceiling F
 GLIBC_2.4 pthread_mutex_init F
diff --git a/sysdeps/unix/sysv/linux/csky/libc.abilist b/sysdeps/unix/sysv/linux/csky/libc.abilist
index d4291fecfb..c1e62a6df3 100644
--- a/sysdeps/unix/sysv/linux/csky/libc.abilist
+++ b/sysdeps/unix/sysv/linux/csky/libc.abilist
@@ -1430,6 +1430,8 @@  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_consistent F
+GLIBC_2.29 pthread_mutex_consistent_np F
 GLIBC_2.29 pthread_mutex_destroy F
 GLIBC_2.29 pthread_mutex_init F
 GLIBC_2.29 pthread_mutex_lock F
@@ -2116,3 +2118,4 @@  GLIBC_2.33 mknodat F
 GLIBC_2.33 stat F
 GLIBC_2.33 stat64 F
 GLIBC_2.34 __libc_start_main F
+GLIBC_2.34 pthread_mutex_consistent F
diff --git a/sysdeps/unix/sysv/linux/csky/libpthread.abilist b/sysdeps/unix/sysv/linux/csky/libpthread.abilist
index 6ce59276a7..f05530eb2a 100644
--- a/sysdeps/unix/sysv/linux/csky/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/csky/libpthread.abilist
@@ -113,8 +113,6 @@  GLIBC_2.29 pthread_key_create F
 GLIBC_2.29 pthread_key_delete F
 GLIBC_2.29 pthread_kill F
 GLIBC_2.29 pthread_kill_other_threads_np F
-GLIBC_2.29 pthread_mutex_consistent F
-GLIBC_2.29 pthread_mutex_consistent_np F
 GLIBC_2.29 pthread_mutex_destroy F
 GLIBC_2.29 pthread_mutex_getprioceiling F
 GLIBC_2.29 pthread_mutex_init F
diff --git a/sysdeps/unix/sysv/linux/hppa/libc.abilist b/sysdeps/unix/sysv/linux/hppa/libc.abilist
index 1fd2a862f6..50d9080eb6 100644
--- a/sysdeps/unix/sysv/linux/hppa/libc.abilist
+++ b/sysdeps/unix/sysv/linux/hppa/libc.abilist
@@ -33,6 +33,7 @@  GLIBC_2.11 mkstemps64 F
 GLIBC_2.12 _sys_errlist D 0x404
 GLIBC_2.12 _sys_nerr D 0x4
 GLIBC_2.12 ntp_gettimex F
+GLIBC_2.12 pthread_mutex_consistent F
 GLIBC_2.12 recvmmsg F
 GLIBC_2.12 sys_errlist D 0x404
 GLIBC_2.12 sys_nerr D 0x4
@@ -2075,6 +2076,7 @@  GLIBC_2.33 mknodat F
 GLIBC_2.33 stat F
 GLIBC_2.33 stat64 F
 GLIBC_2.34 __libc_start_main F
+GLIBC_2.34 pthread_mutex_consistent F
 GLIBC_2.4 __confstr_chk F
 GLIBC_2.4 __fgets_chk F
 GLIBC_2.4 __fgets_unlocked_chk F
@@ -2144,6 +2146,7 @@  GLIBC_2.4 open_wmemstream F
 GLIBC_2.4 openat F
 GLIBC_2.4 openat64 F
 GLIBC_2.4 ppoll F
+GLIBC_2.4 pthread_mutex_consistent_np F
 GLIBC_2.4 readlinkat F
 GLIBC_2.4 renameat F
 GLIBC_2.4 symlinkat F
diff --git a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
index a7bb15be58..02dca5bd52 100644
--- a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
@@ -1,6 +1,5 @@ 
 GLIBC_2.11 pthread_sigqueue F
 GLIBC_2.12 pthread_getname_np F
-GLIBC_2.12 pthread_mutex_consistent F
 GLIBC_2.12 pthread_mutexattr_getrobust F
 GLIBC_2.12 pthread_mutexattr_setrobust F
 GLIBC_2.12 pthread_setname_np F
@@ -216,7 +215,6 @@  GLIBC_2.30 pthread_rwlock_clockrdlock F
 GLIBC_2.30 pthread_rwlock_clockwrlock F
 GLIBC_2.30 sem_clockwait F
 GLIBC_2.31 pthread_clockjoin_np F
-GLIBC_2.4 pthread_mutex_consistent_np F
 GLIBC_2.4 pthread_mutex_getprioceiling F
 GLIBC_2.4 pthread_mutex_setprioceiling F
 GLIBC_2.4 pthread_mutexattr_getprioceiling F
diff --git a/sysdeps/unix/sysv/linux/i386/libc.abilist b/sysdeps/unix/sysv/linux/i386/libc.abilist
index 943331f01e..d172849c32 100644
--- a/sysdeps/unix/sysv/linux/i386/libc.abilist
+++ b/sysdeps/unix/sysv/linux/i386/libc.abilist
@@ -1754,6 +1754,7 @@  GLIBC_2.11 mkstemps64 F
 GLIBC_2.12 _sys_errlist D 0x21c
 GLIBC_2.12 _sys_nerr D 0x4
 GLIBC_2.12 ntp_gettimex F
+GLIBC_2.12 pthread_mutex_consistent F
 GLIBC_2.12 recvmmsg F
 GLIBC_2.12 sys_errlist D 0x21c
 GLIBC_2.12 sys_nerr D 0x4
@@ -2242,6 +2243,7 @@  GLIBC_2.33 mknodat F
 GLIBC_2.33 stat F
 GLIBC_2.33 stat64 F
 GLIBC_2.34 __libc_start_main F
+GLIBC_2.34 pthread_mutex_consistent F
 GLIBC_2.4 __confstr_chk F
 GLIBC_2.4 __fgets_chk F
 GLIBC_2.4 __fgets_unlocked_chk F
@@ -2311,6 +2313,7 @@  GLIBC_2.4 open_wmemstream F
 GLIBC_2.4 openat F
 GLIBC_2.4 openat64 F
 GLIBC_2.4 ppoll F
+GLIBC_2.4 pthread_mutex_consistent_np F
 GLIBC_2.4 readlinkat F
 GLIBC_2.4 renameat F
 GLIBC_2.4 symlinkat F
diff --git a/sysdeps/unix/sysv/linux/i386/libpthread.abilist b/sysdeps/unix/sysv/linux/i386/libpthread.abilist
index 017a9d9a86..92acdbc721 100644
--- a/sysdeps/unix/sysv/linux/i386/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/i386/libpthread.abilist
@@ -129,7 +129,6 @@  GLIBC_2.1.1 sem_unlink F
 GLIBC_2.1.2 __libpthread_version_placeholder F
 GLIBC_2.11 pthread_sigqueue F
 GLIBC_2.12 pthread_getname_np F
-GLIBC_2.12 pthread_mutex_consistent F
 GLIBC_2.12 pthread_mutexattr_getrobust F
 GLIBC_2.12 pthread_mutexattr_setrobust F
 GLIBC_2.12 pthread_setname_np F
@@ -224,7 +223,6 @@  GLIBC_2.30 pthread_rwlock_clockrdlock F
 GLIBC_2.30 pthread_rwlock_clockwrlock F
 GLIBC_2.30 sem_clockwait F
 GLIBC_2.31 pthread_clockjoin_np F
-GLIBC_2.4 pthread_mutex_consistent_np F
 GLIBC_2.4 pthread_mutex_getprioceiling F
 GLIBC_2.4 pthread_mutex_setprioceiling F
 GLIBC_2.4 pthread_mutexattr_getprioceiling F
diff --git a/sysdeps/unix/sysv/linux/ia64/libc.abilist b/sysdeps/unix/sysv/linux/ia64/libc.abilist
index f530151bde..e9e82e5ec8 100644
--- a/sysdeps/unix/sysv/linux/ia64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/ia64/libc.abilist
@@ -33,6 +33,7 @@  GLIBC_2.11 mkstemps64 F
 GLIBC_2.12 _sys_errlist D 0x438
 GLIBC_2.12 _sys_nerr D 0x4
 GLIBC_2.12 ntp_gettimex F
+GLIBC_2.12 pthread_mutex_consistent F
 GLIBC_2.12 recvmmsg F
 GLIBC_2.12 sys_errlist D 0x438
 GLIBC_2.12 sys_nerr D 0x4
@@ -2107,6 +2108,7 @@  GLIBC_2.33 mknodat F
 GLIBC_2.33 stat F
 GLIBC_2.33 stat64 F
 GLIBC_2.34 __libc_start_main F
+GLIBC_2.34 pthread_mutex_consistent F
 GLIBC_2.4 __confstr_chk F
 GLIBC_2.4 __fgets_chk F
 GLIBC_2.4 __fgets_unlocked_chk F
@@ -2176,6 +2178,7 @@  GLIBC_2.4 open_wmemstream F
 GLIBC_2.4 openat F
 GLIBC_2.4 openat64 F
 GLIBC_2.4 ppoll F
+GLIBC_2.4 pthread_mutex_consistent_np F
 GLIBC_2.4 readlinkat F
 GLIBC_2.4 renameat F
 GLIBC_2.4 symlinkat F
diff --git a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
index 6fb2e05072..1f9d0edbc9 100644
--- a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
@@ -1,6 +1,5 @@ 
 GLIBC_2.11 pthread_sigqueue F
 GLIBC_2.12 pthread_getname_np F
-GLIBC_2.12 pthread_mutex_consistent F
 GLIBC_2.12 pthread_mutexattr_getrobust F
 GLIBC_2.12 pthread_mutexattr_setrobust F
 GLIBC_2.12 pthread_setname_np F
@@ -218,7 +217,6 @@  GLIBC_2.30 pthread_rwlock_clockrdlock F
 GLIBC_2.30 pthread_rwlock_clockwrlock F
 GLIBC_2.30 sem_clockwait F
 GLIBC_2.31 pthread_clockjoin_np F
-GLIBC_2.4 pthread_mutex_consistent_np F
 GLIBC_2.4 pthread_mutex_getprioceiling F
 GLIBC_2.4 pthread_mutex_setprioceiling F
 GLIBC_2.4 pthread_mutexattr_getprioceiling F
diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
index 6e76b6dcaa..b0c0d7208d 100644
--- a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
@@ -34,6 +34,7 @@  GLIBC_2.12 __m68k_read_tp F
 GLIBC_2.12 _sys_errlist D 0x21c
 GLIBC_2.12 _sys_nerr D 0x4
 GLIBC_2.12 ntp_gettimex F
+GLIBC_2.12 pthread_mutex_consistent F
 GLIBC_2.12 recvmmsg F
 GLIBC_2.12 sys_errlist D 0x21c
 GLIBC_2.12 sys_nerr D 0x4
@@ -157,6 +158,7 @@  GLIBC_2.33 mknodat F
 GLIBC_2.33 stat F
 GLIBC_2.33 stat64 F
 GLIBC_2.34 __libc_start_main F
+GLIBC_2.34 pthread_mutex_consistent F
 GLIBC_2.4 _Exit F
 GLIBC_2.4 _IO_2_1_stderr_ D 0x98
 GLIBC_2.4 _IO_2_1_stdin_ D 0x98
@@ -1515,6 +1517,7 @@  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_consistent_np F
 GLIBC_2.4 pthread_mutex_destroy F
 GLIBC_2.4 pthread_mutex_init F
 GLIBC_2.4 pthread_mutex_lock F
diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
index b0bb1d0e01..a3516931d6 100644
--- a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
@@ -1,6 +1,5 @@ 
 GLIBC_2.11 pthread_sigqueue F
 GLIBC_2.12 pthread_getname_np F
-GLIBC_2.12 pthread_mutex_consistent F
 GLIBC_2.12 pthread_mutexattr_getrobust F
 GLIBC_2.12 pthread_mutexattr_setrobust F
 GLIBC_2.12 pthread_setname_np F
@@ -136,7 +135,6 @@  GLIBC_2.4 pthread_key_create F
 GLIBC_2.4 pthread_key_delete F
 GLIBC_2.4 pthread_kill F
 GLIBC_2.4 pthread_kill_other_threads_np F
-GLIBC_2.4 pthread_mutex_consistent_np F
 GLIBC_2.4 pthread_mutex_destroy F
 GLIBC_2.4 pthread_mutex_getprioceiling F
 GLIBC_2.4 pthread_mutex_init F
diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
index 7541b8289f..c312a9e726 100644
--- a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
@@ -1711,6 +1711,7 @@  GLIBC_2.12 __m68k_read_tp F
 GLIBC_2.12 _sys_errlist D 0x21c
 GLIBC_2.12 _sys_nerr D 0x4
 GLIBC_2.12 ntp_gettimex F
+GLIBC_2.12 pthread_mutex_consistent F
 GLIBC_2.12 recvmmsg F
 GLIBC_2.12 sys_errlist D 0x21c
 GLIBC_2.12 sys_nerr D 0x4
@@ -2187,6 +2188,7 @@  GLIBC_2.33 mknodat F
 GLIBC_2.33 stat F
 GLIBC_2.33 stat64 F
 GLIBC_2.34 __libc_start_main F
+GLIBC_2.34 pthread_mutex_consistent F
 GLIBC_2.4 __confstr_chk F
 GLIBC_2.4 __fgets_chk F
 GLIBC_2.4 __fgets_unlocked_chk F
@@ -2256,6 +2258,7 @@  GLIBC_2.4 open_wmemstream F
 GLIBC_2.4 openat F
 GLIBC_2.4 openat64 F
 GLIBC_2.4 ppoll F
+GLIBC_2.4 pthread_mutex_consistent_np F
 GLIBC_2.4 readlinkat F
 GLIBC_2.4 renameat F
 GLIBC_2.4 symlinkat F
diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
index 017a9d9a86..92acdbc721 100644
--- a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
@@ -129,7 +129,6 @@  GLIBC_2.1.1 sem_unlink F
 GLIBC_2.1.2 __libpthread_version_placeholder F
 GLIBC_2.11 pthread_sigqueue F
 GLIBC_2.12 pthread_getname_np F
-GLIBC_2.12 pthread_mutex_consistent F
 GLIBC_2.12 pthread_mutexattr_getrobust F
 GLIBC_2.12 pthread_mutexattr_setrobust F
 GLIBC_2.12 pthread_setname_np F
@@ -224,7 +223,6 @@  GLIBC_2.30 pthread_rwlock_clockrdlock F
 GLIBC_2.30 pthread_rwlock_clockwrlock F
 GLIBC_2.30 sem_clockwait F
 GLIBC_2.31 pthread_clockjoin_np F
-GLIBC_2.4 pthread_mutex_consistent_np F
 GLIBC_2.4 pthread_mutex_getprioceiling F
 GLIBC_2.4 pthread_mutex_setprioceiling F
 GLIBC_2.4 pthread_mutexattr_getprioceiling F
diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
index 6cf1936c42..4e5f7336c3 100644
--- a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
@@ -1445,6 +1445,8 @@  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_consistent F
+GLIBC_2.18 pthread_mutex_consistent_np F
 GLIBC_2.18 pthread_mutex_destroy F
 GLIBC_2.18 pthread_mutex_init F
 GLIBC_2.18 pthread_mutex_lock F
@@ -2167,3 +2169,4 @@  GLIBC_2.33 mknodat F
 GLIBC_2.33 stat F
 GLIBC_2.33 stat64 F
 GLIBC_2.34 __libc_start_main F
+GLIBC_2.34 pthread_mutex_consistent F
diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
index 9356f6183a..4849b99385 100644
--- a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
@@ -103,8 +103,6 @@  GLIBC_2.18 pthread_key_create F
 GLIBC_2.18 pthread_key_delete F
 GLIBC_2.18 pthread_kill F
 GLIBC_2.18 pthread_kill_other_threads_np F
-GLIBC_2.18 pthread_mutex_consistent F
-GLIBC_2.18 pthread_mutex_consistent_np F
 GLIBC_2.18 pthread_mutex_destroy F
 GLIBC_2.18 pthread_mutex_getprioceiling F
 GLIBC_2.18 pthread_mutex_init F
diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
index 98730ebcda..374e48889a 100644
--- a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
@@ -1445,6 +1445,8 @@  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_consistent F
+GLIBC_2.18 pthread_mutex_consistent_np F
 GLIBC_2.18 pthread_mutex_destroy F
 GLIBC_2.18 pthread_mutex_init F
 GLIBC_2.18 pthread_mutex_lock F
@@ -2164,3 +2166,4 @@  GLIBC_2.33 mknodat F
 GLIBC_2.33 stat F
 GLIBC_2.33 stat64 F
 GLIBC_2.34 __libc_start_main F
+GLIBC_2.34 pthread_mutex_consistent F
diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
index 9356f6183a..4849b99385 100644
--- a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
@@ -103,8 +103,6 @@  GLIBC_2.18 pthread_key_create F
 GLIBC_2.18 pthread_key_delete F
 GLIBC_2.18 pthread_kill F
 GLIBC_2.18 pthread_kill_other_threads_np F
-GLIBC_2.18 pthread_mutex_consistent F
-GLIBC_2.18 pthread_mutex_consistent_np F
 GLIBC_2.18 pthread_mutex_destroy F
 GLIBC_2.18 pthread_mutex_getprioceiling F
 GLIBC_2.18 pthread_mutex_init F
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
index 92fa6cbc73..f4c9a0e288 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
@@ -1344,6 +1344,7 @@  GLIBC_2.11 mkostemps64 F
 GLIBC_2.11 mkstemps F
 GLIBC_2.11 mkstemps64 F
 GLIBC_2.12 ntp_gettimex F
+GLIBC_2.12 pthread_mutex_consistent F
 GLIBC_2.12 recvmmsg F
 GLIBC_2.13 fanotify_init F
 GLIBC_2.13 fanotify_mark F
@@ -2158,6 +2159,7 @@  GLIBC_2.33 mknodat F
 GLIBC_2.33 stat F
 GLIBC_2.33 stat64 F
 GLIBC_2.34 __libc_start_main F
+GLIBC_2.34 pthread_mutex_consistent F
 GLIBC_2.4 __confstr_chk F
 GLIBC_2.4 __fgets_chk F
 GLIBC_2.4 __fgets_unlocked_chk F
@@ -2225,6 +2227,7 @@  GLIBC_2.4 open_wmemstream F
 GLIBC_2.4 openat F
 GLIBC_2.4 openat64 F
 GLIBC_2.4 ppoll F
+GLIBC_2.4 pthread_mutex_consistent_np F
 GLIBC_2.4 readlinkat F
 GLIBC_2.4 renameat F
 GLIBC_2.4 symlinkat F
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
index 7aff4d018b..23f58b6459 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
@@ -92,7 +92,6 @@  GLIBC_2.0 tcdrain F
 GLIBC_2.0 write F
 GLIBC_2.11 pthread_sigqueue F
 GLIBC_2.12 pthread_getname_np F
-GLIBC_2.12 pthread_mutex_consistent F
 GLIBC_2.12 pthread_mutexattr_getrobust F
 GLIBC_2.12 pthread_mutexattr_setrobust F
 GLIBC_2.12 pthread_setname_np F
@@ -225,7 +224,6 @@  GLIBC_2.30 pthread_rwlock_clockrdlock F
 GLIBC_2.30 pthread_rwlock_clockwrlock F
 GLIBC_2.30 sem_clockwait F
 GLIBC_2.31 pthread_clockjoin_np F
-GLIBC_2.4 pthread_mutex_consistent_np F
 GLIBC_2.4 pthread_mutex_getprioceiling F
 GLIBC_2.4 pthread_mutex_setprioceiling F
 GLIBC_2.4 pthread_mutexattr_getprioceiling F
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
index 265a49e74e..1935dd7207 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
@@ -1344,6 +1344,7 @@  GLIBC_2.11 mkostemps64 F
 GLIBC_2.11 mkstemps F
 GLIBC_2.11 mkstemps64 F
 GLIBC_2.12 ntp_gettimex F
+GLIBC_2.12 pthread_mutex_consistent F
 GLIBC_2.12 recvmmsg F
 GLIBC_2.13 fanotify_init F
 GLIBC_2.13 fanotify_mark F
@@ -2156,6 +2157,7 @@  GLIBC_2.33 mknodat F
 GLIBC_2.33 stat F
 GLIBC_2.33 stat64 F
 GLIBC_2.34 __libc_start_main F
+GLIBC_2.34 pthread_mutex_consistent F
 GLIBC_2.4 __confstr_chk F
 GLIBC_2.4 __fgets_chk F
 GLIBC_2.4 __fgets_unlocked_chk F
@@ -2223,6 +2225,7 @@  GLIBC_2.4 open_wmemstream F
 GLIBC_2.4 openat F
 GLIBC_2.4 openat64 F
 GLIBC_2.4 ppoll F
+GLIBC_2.4 pthread_mutex_consistent_np F
 GLIBC_2.4 readlinkat F
 GLIBC_2.4 renameat F
 GLIBC_2.4 symlinkat F
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
index 7aff4d018b..23f58b6459 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
@@ -92,7 +92,6 @@  GLIBC_2.0 tcdrain F
 GLIBC_2.0 write F
 GLIBC_2.11 pthread_sigqueue F
 GLIBC_2.12 pthread_getname_np F
-GLIBC_2.12 pthread_mutex_consistent F
 GLIBC_2.12 pthread_mutexattr_getrobust F
 GLIBC_2.12 pthread_mutexattr_setrobust F
 GLIBC_2.12 pthread_setname_np F
@@ -225,7 +224,6 @@  GLIBC_2.30 pthread_rwlock_clockrdlock F
 GLIBC_2.30 pthread_rwlock_clockwrlock F
 GLIBC_2.30 sem_clockwait F
 GLIBC_2.31 pthread_clockjoin_np F
-GLIBC_2.4 pthread_mutex_consistent_np F
 GLIBC_2.4 pthread_mutex_getprioceiling F
 GLIBC_2.4 pthread_mutex_setprioceiling F
 GLIBC_2.4 pthread_mutexattr_getprioceiling F
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
index cfa5e1111b..130dd19d46 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
@@ -1344,6 +1344,7 @@  GLIBC_2.11 mkostemps64 F
 GLIBC_2.11 mkstemps F
 GLIBC_2.11 mkstemps64 F
 GLIBC_2.12 ntp_gettimex F
+GLIBC_2.12 pthread_mutex_consistent F
 GLIBC_2.12 recvmmsg F
 GLIBC_2.13 fanotify_init F
 GLIBC_2.13 fanotify_mark F
@@ -2164,6 +2165,7 @@  GLIBC_2.33 mknodat F
 GLIBC_2.33 stat F
 GLIBC_2.33 stat64 F
 GLIBC_2.34 __libc_start_main F
+GLIBC_2.34 pthread_mutex_consistent F
 GLIBC_2.4 __confstr_chk F
 GLIBC_2.4 __fgets_chk F
 GLIBC_2.4 __fgets_unlocked_chk F
@@ -2231,6 +2233,7 @@  GLIBC_2.4 open_wmemstream F
 GLIBC_2.4 openat F
 GLIBC_2.4 openat64 F
 GLIBC_2.4 ppoll F
+GLIBC_2.4 pthread_mutex_consistent_np F
 GLIBC_2.4 readlinkat F
 GLIBC_2.4 renameat F
 GLIBC_2.4 symlinkat F
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
index 8c03ac52cd..a8728b1a57 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
@@ -1342,6 +1342,7 @@  GLIBC_2.11 mkostemps64 F
 GLIBC_2.11 mkstemps F
 GLIBC_2.11 mkstemps64 F
 GLIBC_2.12 ntp_gettimex F
+GLIBC_2.12 pthread_mutex_consistent F
 GLIBC_2.12 recvmmsg F
 GLIBC_2.13 fanotify_init F
 GLIBC_2.13 fanotify_mark F
@@ -2158,6 +2159,7 @@  GLIBC_2.33 mknodat F
 GLIBC_2.33 stat F
 GLIBC_2.33 stat64 F
 GLIBC_2.34 __libc_start_main F
+GLIBC_2.34 pthread_mutex_consistent F
 GLIBC_2.4 __confstr_chk F
 GLIBC_2.4 __fgets_chk F
 GLIBC_2.4 __fgets_unlocked_chk F
@@ -2225,6 +2227,7 @@  GLIBC_2.4 open_wmemstream F
 GLIBC_2.4 openat F
 GLIBC_2.4 openat64 F
 GLIBC_2.4 ppoll F
+GLIBC_2.4 pthread_mutex_consistent_np F
 GLIBC_2.4 readlinkat F
 GLIBC_2.4 renameat F
 GLIBC_2.4 symlinkat F
diff --git a/sysdeps/unix/sysv/linux/nios2/libc.abilist b/sysdeps/unix/sysv/linux/nios2/libc.abilist
index 17f5609e06..040ee6c0b6 100644
--- a/sysdeps/unix/sysv/linux/nios2/libc.abilist
+++ b/sysdeps/unix/sysv/linux/nios2/libc.abilist
@@ -1487,6 +1487,8 @@  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_consistent F
+GLIBC_2.21 pthread_mutex_consistent_np F
 GLIBC_2.21 pthread_mutex_destroy F
 GLIBC_2.21 pthread_mutex_init F
 GLIBC_2.21 pthread_mutex_lock F
@@ -2205,3 +2207,4 @@  GLIBC_2.33 mknodat F
 GLIBC_2.33 stat F
 GLIBC_2.33 stat64 F
 GLIBC_2.34 __libc_start_main F
+GLIBC_2.34 pthread_mutex_consistent F
diff --git a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
index 73b4dfbd8e..0c7fe737a0 100644
--- a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
@@ -103,8 +103,6 @@  GLIBC_2.21 pthread_key_create F
 GLIBC_2.21 pthread_key_delete F
 GLIBC_2.21 pthread_kill F
 GLIBC_2.21 pthread_kill_other_threads_np F
-GLIBC_2.21 pthread_mutex_consistent F
-GLIBC_2.21 pthread_mutex_consistent_np F
 GLIBC_2.21 pthread_mutex_destroy F
 GLIBC_2.21 pthread_mutex_getprioceiling F
 GLIBC_2.21 pthread_mutex_init F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
index 76a16e2a6d..d51a3a1b32 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
@@ -1715,6 +1715,7 @@  GLIBC_2.11 mkstemps64 F
 GLIBC_2.12 _sys_errlist D 0x21c
 GLIBC_2.12 _sys_nerr D 0x4
 GLIBC_2.12 ntp_gettimex F
+GLIBC_2.12 pthread_mutex_consistent F
 GLIBC_2.12 recvmmsg F
 GLIBC_2.12 sys_errlist D 0x21c
 GLIBC_2.12 sys_nerr D 0x4
@@ -2214,6 +2215,7 @@  GLIBC_2.33 mknodat F
 GLIBC_2.33 stat F
 GLIBC_2.33 stat64 F
 GLIBC_2.34 __libc_start_main F
+GLIBC_2.34 pthread_mutex_consistent F
 GLIBC_2.4 _IO_fprintf F
 GLIBC_2.4 _IO_printf F
 GLIBC_2.4 _IO_sprintf F
@@ -2397,6 +2399,7 @@  GLIBC_2.4 openat64 F
 GLIBC_2.4 ppoll F
 GLIBC_2.4 printf F
 GLIBC_2.4 printf_size F
+GLIBC_2.4 pthread_mutex_consistent_np F
 GLIBC_2.4 qecvt F
 GLIBC_2.4 qecvt_r F
 GLIBC_2.4 qfcvt F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
index 0c68fb1b7c..7bdd5c1a03 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
@@ -129,7 +129,6 @@  GLIBC_2.1.1 sem_unlink F
 GLIBC_2.1.2 __libpthread_version_placeholder F
 GLIBC_2.11 pthread_sigqueue F
 GLIBC_2.12 pthread_getname_np F
-GLIBC_2.12 pthread_mutex_consistent F
 GLIBC_2.12 pthread_mutexattr_getrobust F
 GLIBC_2.12 pthread_mutexattr_setrobust F
 GLIBC_2.12 pthread_setname_np F
@@ -226,7 +225,6 @@  GLIBC_2.30 pthread_rwlock_clockrdlock F
 GLIBC_2.30 pthread_rwlock_clockwrlock F
 GLIBC_2.30 sem_clockwait F
 GLIBC_2.31 pthread_clockjoin_np F
-GLIBC_2.4 pthread_mutex_consistent_np F
 GLIBC_2.4 pthread_mutex_getprioceiling F
 GLIBC_2.4 pthread_mutex_setprioceiling F
 GLIBC_2.4 pthread_mutexattr_getprioceiling F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
index 697f072fd4..6b0a6ef07e 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
@@ -1715,6 +1715,7 @@  GLIBC_2.11 mkstemps64 F
 GLIBC_2.12 _sys_errlist D 0x21c
 GLIBC_2.12 _sys_nerr D 0x4
 GLIBC_2.12 ntp_gettimex F
+GLIBC_2.12 pthread_mutex_consistent F
 GLIBC_2.12 recvmmsg F
 GLIBC_2.12 sys_errlist D 0x21c
 GLIBC_2.12 sys_nerr D 0x4
@@ -2247,6 +2248,7 @@  GLIBC_2.33 mknodat F
 GLIBC_2.33 stat F
 GLIBC_2.33 stat64 F
 GLIBC_2.34 __libc_start_main F
+GLIBC_2.34 pthread_mutex_consistent F
 GLIBC_2.4 _IO_fprintf F
 GLIBC_2.4 _IO_printf F
 GLIBC_2.4 _IO_sprintf F
@@ -2442,6 +2444,7 @@  GLIBC_2.4 openat64 F
 GLIBC_2.4 ppoll F
 GLIBC_2.4 printf F
 GLIBC_2.4 printf_size F
+GLIBC_2.4 pthread_mutex_consistent_np F
 GLIBC_2.4 qecvt F
 GLIBC_2.4 qecvt_r F
 GLIBC_2.4 qfcvt F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
index 2647bb51f1..d4fcc5479a 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
@@ -33,6 +33,7 @@  GLIBC_2.11 mkstemps64 F
 GLIBC_2.12 _sys_errlist D 0x438
 GLIBC_2.12 _sys_nerr D 0x4
 GLIBC_2.12 ntp_gettimex F
+GLIBC_2.12 pthread_mutex_consistent F
 GLIBC_2.12 recvmmsg F
 GLIBC_2.12 sys_errlist D 0x438
 GLIBC_2.12 sys_nerr D 0x4
@@ -2077,6 +2078,7 @@  GLIBC_2.33 mknodat F
 GLIBC_2.33 stat F
 GLIBC_2.33 stat64 F
 GLIBC_2.34 __libc_start_main F
+GLIBC_2.34 pthread_mutex_consistent F
 GLIBC_2.4 _IO_fprintf F
 GLIBC_2.4 _IO_printf F
 GLIBC_2.4 _IO_sprintf F
@@ -2260,6 +2262,7 @@  GLIBC_2.4 openat64 F
 GLIBC_2.4 ppoll F
 GLIBC_2.4 printf F
 GLIBC_2.4 printf_size F
+GLIBC_2.4 pthread_mutex_consistent_np F
 GLIBC_2.4 qecvt F
 GLIBC_2.4 qecvt_r F
 GLIBC_2.4 qfcvt F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
index c7f6167250..335cda5763 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
@@ -1,6 +1,5 @@ 
 GLIBC_2.11 pthread_sigqueue F
 GLIBC_2.12 pthread_getname_np F
-GLIBC_2.12 pthread_mutex_consistent F
 GLIBC_2.12 pthread_mutexattr_getrobust F
 GLIBC_2.12 pthread_mutexattr_setrobust F
 GLIBC_2.12 pthread_setname_np F
@@ -215,7 +214,6 @@  GLIBC_2.30 pthread_rwlock_clockrdlock F
 GLIBC_2.30 pthread_rwlock_clockwrlock F
 GLIBC_2.30 sem_clockwait F
 GLIBC_2.31 pthread_clockjoin_np F
-GLIBC_2.4 pthread_mutex_consistent_np F
 GLIBC_2.4 pthread_mutex_getprioceiling F
 GLIBC_2.4 pthread_mutex_setprioceiling F
 GLIBC_2.4 pthread_mutexattr_getprioceiling F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
index 036b1c8345..bbe387fe61 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
@@ -1531,6 +1531,8 @@  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_consistent F
+GLIBC_2.17 pthread_mutex_consistent_np F
 GLIBC_2.17 pthread_mutex_destroy F
 GLIBC_2.17 pthread_mutex_init F
 GLIBC_2.17 pthread_mutex_lock F
@@ -2367,3 +2369,4 @@  GLIBC_2.33 mknodat F
 GLIBC_2.33 stat F
 GLIBC_2.33 stat64 F
 GLIBC_2.34 __libc_start_main F
+GLIBC_2.34 pthread_mutex_consistent F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
index 336ee51e7e..1d4fffb5a6 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
@@ -102,8 +102,6 @@  GLIBC_2.17 pthread_key_create F
 GLIBC_2.17 pthread_key_delete F
 GLIBC_2.17 pthread_kill F
 GLIBC_2.17 pthread_kill_other_threads_np F
-GLIBC_2.17 pthread_mutex_consistent F
-GLIBC_2.17 pthread_mutex_consistent_np F
 GLIBC_2.17 pthread_mutex_destroy F
 GLIBC_2.17 pthread_mutex_getprioceiling F
 GLIBC_2.17 pthread_mutex_init F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
index ff3225e16f..684acb6795 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
@@ -1371,6 +1371,8 @@  GLIBC_2.33 pthread_exit F
 GLIBC_2.33 pthread_getaffinity_np F
 GLIBC_2.33 pthread_getattr_np F
 GLIBC_2.33 pthread_getschedparam F
+GLIBC_2.33 pthread_mutex_consistent F
+GLIBC_2.33 pthread_mutex_consistent_np F
 GLIBC_2.33 pthread_mutex_destroy F
 GLIBC_2.33 pthread_mutex_init F
 GLIBC_2.33 pthread_mutex_lock F
@@ -1934,3 +1936,4 @@  GLIBC_2.33 write F
 GLIBC_2.33 writev F
 GLIBC_2.33 wscanf F
 GLIBC_2.34 __libc_start_main F
+GLIBC_2.34 pthread_mutex_consistent F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
index 61b3c4ff7a..33b755ed10 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
@@ -116,8 +116,6 @@  GLIBC_2.33 pthread_key_delete F
 GLIBC_2.33 pthread_kill F
 GLIBC_2.33 pthread_kill_other_threads_np F
 GLIBC_2.33 pthread_mutex_clocklock F
-GLIBC_2.33 pthread_mutex_consistent F
-GLIBC_2.33 pthread_mutex_consistent_np F
 GLIBC_2.33 pthread_mutex_destroy F
 GLIBC_2.33 pthread_mutex_getprioceiling F
 GLIBC_2.33 pthread_mutex_init F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
index fb5ad9909f..6f8afeb03e 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
@@ -1433,6 +1433,8 @@  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_consistent F
+GLIBC_2.27 pthread_mutex_consistent_np F
 GLIBC_2.27 pthread_mutex_destroy F
 GLIBC_2.27 pthread_mutex_init F
 GLIBC_2.27 pthread_mutex_lock F
@@ -2134,3 +2136,4 @@  GLIBC_2.33 mknodat F
 GLIBC_2.33 stat F
 GLIBC_2.33 stat64 F
 GLIBC_2.34 __libc_start_main F
+GLIBC_2.34 pthread_mutex_consistent F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
index 894c474fcb..4be8886aed 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
@@ -102,8 +102,6 @@  GLIBC_2.27 pthread_key_create F
 GLIBC_2.27 pthread_key_delete F
 GLIBC_2.27 pthread_kill F
 GLIBC_2.27 pthread_kill_other_threads_np F
-GLIBC_2.27 pthread_mutex_consistent F
-GLIBC_2.27 pthread_mutex_consistent_np F
 GLIBC_2.27 pthread_mutex_destroy F
 GLIBC_2.27 pthread_mutex_getprioceiling F
 GLIBC_2.27 pthread_mutex_init F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
index cead75acc5..a4b1c00c78 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
@@ -1707,6 +1707,7 @@  GLIBC_2.11 mkstemps64 F
 GLIBC_2.12 _sys_errlist D 0x21c
 GLIBC_2.12 _sys_nerr D 0x4
 GLIBC_2.12 ntp_gettimex F
+GLIBC_2.12 pthread_mutex_consistent F
 GLIBC_2.12 recvmmsg F
 GLIBC_2.12 sys_errlist D 0x21c
 GLIBC_2.12 sys_nerr D 0x4
@@ -2212,6 +2213,7 @@  GLIBC_2.33 mknodat F
 GLIBC_2.33 stat F
 GLIBC_2.33 stat64 F
 GLIBC_2.34 __libc_start_main F
+GLIBC_2.34 pthread_mutex_consistent F
 GLIBC_2.4 _IO_fprintf F
 GLIBC_2.4 _IO_printf F
 GLIBC_2.4 _IO_sprintf F
@@ -2395,6 +2397,7 @@  GLIBC_2.4 openat64 F
 GLIBC_2.4 ppoll F
 GLIBC_2.4 printf F
 GLIBC_2.4 printf_size F
+GLIBC_2.4 pthread_mutex_consistent_np F
 GLIBC_2.4 qecvt F
 GLIBC_2.4 qecvt_r F
 GLIBC_2.4 qfcvt F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
index a198e22445..c3c66c7f6a 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
@@ -129,7 +129,6 @@  GLIBC_2.1.1 sem_unlink F
 GLIBC_2.1.2 __libpthread_version_placeholder F
 GLIBC_2.11 pthread_sigqueue F
 GLIBC_2.12 pthread_getname_np F
-GLIBC_2.12 pthread_mutex_consistent F
 GLIBC_2.12 pthread_mutexattr_getrobust F
 GLIBC_2.12 pthread_mutexattr_setrobust F
 GLIBC_2.12 pthread_setname_np F
@@ -226,7 +225,6 @@  GLIBC_2.30 pthread_rwlock_clockrdlock F
 GLIBC_2.30 pthread_rwlock_clockwrlock F
 GLIBC_2.30 sem_clockwait F
 GLIBC_2.31 pthread_clockjoin_np F
-GLIBC_2.4 pthread_mutex_consistent_np F
 GLIBC_2.4 pthread_mutex_getprioceiling F
 GLIBC_2.4 pthread_mutex_setprioceiling F
 GLIBC_2.4 pthread_mutexattr_getprioceiling F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
index 31366dd7e6..c05c18c2bb 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
@@ -37,6 +37,7 @@  GLIBC_2.11 mkstemps64 F
 GLIBC_2.12 _sys_errlist D 0x438
 GLIBC_2.12 _sys_nerr D 0x4
 GLIBC_2.12 ntp_gettimex F
+GLIBC_2.12 pthread_mutex_consistent F
 GLIBC_2.12 recvmmsg F
 GLIBC_2.12 sys_errlist D 0x438
 GLIBC_2.12 sys_nerr D 0x4
@@ -2113,6 +2114,7 @@  GLIBC_2.33 mknodat F
 GLIBC_2.33 stat F
 GLIBC_2.33 stat64 F
 GLIBC_2.34 __libc_start_main F
+GLIBC_2.34 pthread_mutex_consistent F
 GLIBC_2.4 _IO_fprintf F
 GLIBC_2.4 _IO_printf F
 GLIBC_2.4 _IO_sprintf F
@@ -2296,6 +2298,7 @@  GLIBC_2.4 openat64 F
 GLIBC_2.4 ppoll F
 GLIBC_2.4 printf F
 GLIBC_2.4 printf_size F
+GLIBC_2.4 pthread_mutex_consistent_np F
 GLIBC_2.4 qecvt F
 GLIBC_2.4 qecvt_r F
 GLIBC_2.4 qfcvt F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
index 6d166d5f97..fa4b4cf747 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
@@ -1,6 +1,5 @@ 
 GLIBC_2.11 pthread_sigqueue F
 GLIBC_2.12 pthread_getname_np F
-GLIBC_2.12 pthread_mutex_consistent F
 GLIBC_2.12 pthread_mutexattr_getrobust F
 GLIBC_2.12 pthread_mutexattr_setrobust F
 GLIBC_2.12 pthread_setname_np F
@@ -218,7 +217,6 @@  GLIBC_2.30 pthread_rwlock_clockrdlock F
 GLIBC_2.30 pthread_rwlock_clockwrlock F
 GLIBC_2.30 sem_clockwait F
 GLIBC_2.31 pthread_clockjoin_np F
-GLIBC_2.4 pthread_mutex_consistent_np F
 GLIBC_2.4 pthread_mutex_getprioceiling F
 GLIBC_2.4 pthread_mutex_setprioceiling F
 GLIBC_2.4 pthread_mutexattr_getprioceiling F
diff --git a/sysdeps/unix/sysv/linux/sh/be/libc.abilist b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
index a3a8be8910..635a05bf2f 100644
--- a/sysdeps/unix/sysv/linux/sh/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
@@ -37,6 +37,7 @@  GLIBC_2.11 mkstemps64 F
 GLIBC_2.12 _sys_errlist D 0x21c
 GLIBC_2.12 _sys_nerr D 0x4
 GLIBC_2.12 ntp_gettimex F
+GLIBC_2.12 pthread_mutex_consistent F
 GLIBC_2.12 recvmmsg F
 GLIBC_2.12 sys_errlist D 0x21c
 GLIBC_2.12 sys_nerr D 0x4
@@ -2082,6 +2083,7 @@  GLIBC_2.33 mknodat F
 GLIBC_2.33 stat F
 GLIBC_2.33 stat64 F
 GLIBC_2.34 __libc_start_main F
+GLIBC_2.34 pthread_mutex_consistent F
 GLIBC_2.4 __confstr_chk F
 GLIBC_2.4 __fgets_chk F
 GLIBC_2.4 __fgets_unlocked_chk F
@@ -2151,6 +2153,7 @@  GLIBC_2.4 open_wmemstream F
 GLIBC_2.4 openat F
 GLIBC_2.4 openat64 F
 GLIBC_2.4 ppoll F
+GLIBC_2.4 pthread_mutex_consistent_np F
 GLIBC_2.4 readlinkat F
 GLIBC_2.4 renameat F
 GLIBC_2.4 symlinkat F
diff --git a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
index a7bb15be58..02dca5bd52 100644
--- a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
@@ -1,6 +1,5 @@ 
 GLIBC_2.11 pthread_sigqueue F
 GLIBC_2.12 pthread_getname_np F
-GLIBC_2.12 pthread_mutex_consistent F
 GLIBC_2.12 pthread_mutexattr_getrobust F
 GLIBC_2.12 pthread_mutexattr_setrobust F
 GLIBC_2.12 pthread_setname_np F
@@ -216,7 +215,6 @@  GLIBC_2.30 pthread_rwlock_clockrdlock F
 GLIBC_2.30 pthread_rwlock_clockwrlock F
 GLIBC_2.30 sem_clockwait F
 GLIBC_2.31 pthread_clockjoin_np F
-GLIBC_2.4 pthread_mutex_consistent_np F
 GLIBC_2.4 pthread_mutex_getprioceiling F
 GLIBC_2.4 pthread_mutex_setprioceiling F
 GLIBC_2.4 pthread_mutexattr_getprioceiling F
diff --git a/sysdeps/unix/sysv/linux/sh/le/libc.abilist b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
index 8f505c5045..5b09a03eef 100644
--- a/sysdeps/unix/sysv/linux/sh/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
@@ -37,6 +37,7 @@  GLIBC_2.11 mkstemps64 F
 GLIBC_2.12 _sys_errlist D 0x21c
 GLIBC_2.12 _sys_nerr D 0x4
 GLIBC_2.12 ntp_gettimex F
+GLIBC_2.12 pthread_mutex_consistent F
 GLIBC_2.12 recvmmsg F
 GLIBC_2.12 sys_errlist D 0x21c
 GLIBC_2.12 sys_nerr D 0x4
@@ -2079,6 +2080,7 @@  GLIBC_2.33 mknodat F
 GLIBC_2.33 stat F
 GLIBC_2.33 stat64 F
 GLIBC_2.34 __libc_start_main F
+GLIBC_2.34 pthread_mutex_consistent F
 GLIBC_2.4 __confstr_chk F
 GLIBC_2.4 __fgets_chk F
 GLIBC_2.4 __fgets_unlocked_chk F
@@ -2148,6 +2150,7 @@  GLIBC_2.4 open_wmemstream F
 GLIBC_2.4 openat F
 GLIBC_2.4 openat64 F
 GLIBC_2.4 ppoll F
+GLIBC_2.4 pthread_mutex_consistent_np F
 GLIBC_2.4 readlinkat F
 GLIBC_2.4 renameat F
 GLIBC_2.4 symlinkat F
diff --git a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
index a7bb15be58..02dca5bd52 100644
--- a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
@@ -1,6 +1,5 @@ 
 GLIBC_2.11 pthread_sigqueue F
 GLIBC_2.12 pthread_getname_np F
-GLIBC_2.12 pthread_mutex_consistent F
 GLIBC_2.12 pthread_mutexattr_getrobust F
 GLIBC_2.12 pthread_mutexattr_setrobust F
 GLIBC_2.12 pthread_setname_np F
@@ -216,7 +215,6 @@  GLIBC_2.30 pthread_rwlock_clockrdlock F
 GLIBC_2.30 pthread_rwlock_clockwrlock F
 GLIBC_2.30 sem_clockwait F
 GLIBC_2.31 pthread_clockjoin_np F
-GLIBC_2.4 pthread_mutex_consistent_np F
 GLIBC_2.4 pthread_mutex_getprioceiling F
 GLIBC_2.4 pthread_mutex_setprioceiling F
 GLIBC_2.4 pthread_mutexattr_getprioceiling F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
index 53ef6304f1..7019d97b8d 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
@@ -1708,6 +1708,7 @@  GLIBC_2.11 mkstemps64 F
 GLIBC_2.12 _sys_errlist D 0x21c
 GLIBC_2.12 _sys_nerr D 0x4
 GLIBC_2.12 ntp_gettimex F
+GLIBC_2.12 pthread_mutex_consistent F
 GLIBC_2.12 recvmmsg F
 GLIBC_2.12 sys_errlist D 0x21c
 GLIBC_2.12 sys_nerr D 0x4
@@ -2203,6 +2204,7 @@  GLIBC_2.33 mknodat F
 GLIBC_2.33 stat F
 GLIBC_2.33 stat64 F
 GLIBC_2.34 __libc_start_main F
+GLIBC_2.34 pthread_mutex_consistent F
 GLIBC_2.4 _IO_fprintf F
 GLIBC_2.4 _IO_printf F
 GLIBC_2.4 _IO_sprintf F
@@ -2412,6 +2414,7 @@  GLIBC_2.4 openat64 F
 GLIBC_2.4 ppoll F
 GLIBC_2.4 printf F
 GLIBC_2.4 printf_size F
+GLIBC_2.4 pthread_mutex_consistent_np F
 GLIBC_2.4 qecvt F
 GLIBC_2.4 qecvt_r F
 GLIBC_2.4 qfcvt F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
index 5c87b9baa0..e97e4d4dd5 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
@@ -129,7 +129,6 @@  GLIBC_2.1.1 sem_unlink F
 GLIBC_2.1.2 __libpthread_version_placeholder F
 GLIBC_2.11 pthread_sigqueue F
 GLIBC_2.12 pthread_getname_np F
-GLIBC_2.12 pthread_mutex_consistent F
 GLIBC_2.12 pthread_mutexattr_getrobust F
 GLIBC_2.12 pthread_mutexattr_setrobust F
 GLIBC_2.12 pthread_setname_np F
@@ -226,7 +225,6 @@  GLIBC_2.30 pthread_rwlock_clockrdlock F
 GLIBC_2.30 pthread_rwlock_clockwrlock F
 GLIBC_2.30 sem_clockwait F
 GLIBC_2.31 pthread_clockjoin_np F
-GLIBC_2.4 pthread_mutex_consistent_np F
 GLIBC_2.4 pthread_mutex_getprioceiling F
 GLIBC_2.4 pthread_mutex_setprioceiling F
 GLIBC_2.4 pthread_mutexattr_getprioceiling F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
index eba0cb156d..deb4735664 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
@@ -37,6 +37,7 @@  GLIBC_2.11 mkstemps64 F
 GLIBC_2.12 _sys_errlist D 0x438
 GLIBC_2.12 _sys_nerr D 0x4
 GLIBC_2.12 ntp_gettimex F
+GLIBC_2.12 pthread_mutex_consistent F
 GLIBC_2.12 recvmmsg F
 GLIBC_2.12 sys_errlist D 0x438
 GLIBC_2.12 sys_nerr D 0x4
@@ -2130,6 +2131,7 @@  GLIBC_2.33 mknodat F
 GLIBC_2.33 stat F
 GLIBC_2.33 stat64 F
 GLIBC_2.34 __libc_start_main F
+GLIBC_2.34 pthread_mutex_consistent F
 GLIBC_2.4 __confstr_chk F
 GLIBC_2.4 __fgets_chk F
 GLIBC_2.4 __fgets_unlocked_chk F
@@ -2199,6 +2201,7 @@  GLIBC_2.4 open_wmemstream F
 GLIBC_2.4 openat F
 GLIBC_2.4 openat64 F
 GLIBC_2.4 ppoll F
+GLIBC_2.4 pthread_mutex_consistent_np F
 GLIBC_2.4 readlinkat F
 GLIBC_2.4 renameat F
 GLIBC_2.4 symlinkat F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
index 6fb2e05072..1f9d0edbc9 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
@@ -1,6 +1,5 @@ 
 GLIBC_2.11 pthread_sigqueue F
 GLIBC_2.12 pthread_getname_np F
-GLIBC_2.12 pthread_mutex_consistent F
 GLIBC_2.12 pthread_mutexattr_getrobust F
 GLIBC_2.12 pthread_mutexattr_setrobust F
 GLIBC_2.12 pthread_setname_np F
@@ -218,7 +217,6 @@  GLIBC_2.30 pthread_rwlock_clockrdlock F
 GLIBC_2.30 pthread_rwlock_clockwrlock F
 GLIBC_2.30 sem_clockwait F
 GLIBC_2.31 pthread_clockjoin_np F
-GLIBC_2.4 pthread_mutex_consistent_np F
 GLIBC_2.4 pthread_mutex_getprioceiling F
 GLIBC_2.4 pthread_mutex_setprioceiling F
 GLIBC_2.4 pthread_mutexattr_getprioceiling F
diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
index 17ce5dfd58..779b06605b 100644
--- a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
@@ -33,6 +33,7 @@  GLIBC_2.11 mkstemps64 F
 GLIBC_2.12 _sys_errlist D 0x438
 GLIBC_2.12 _sys_nerr D 0x4
 GLIBC_2.12 ntp_gettimex F
+GLIBC_2.12 pthread_mutex_consistent F
 GLIBC_2.12 recvmmsg F
 GLIBC_2.12 sys_errlist D 0x438
 GLIBC_2.12 sys_nerr D 0x4
@@ -2089,6 +2090,7 @@  GLIBC_2.33 mknodat F
 GLIBC_2.33 stat F
 GLIBC_2.33 stat64 F
 GLIBC_2.34 __libc_start_main F
+GLIBC_2.34 pthread_mutex_consistent F
 GLIBC_2.4 __confstr_chk F
 GLIBC_2.4 __fgets_chk F
 GLIBC_2.4 __fgets_unlocked_chk F
@@ -2158,6 +2160,7 @@  GLIBC_2.4 open_wmemstream F
 GLIBC_2.4 openat F
 GLIBC_2.4 openat64 F
 GLIBC_2.4 ppoll F
+GLIBC_2.4 pthread_mutex_consistent_np F
 GLIBC_2.4 readlinkat F
 GLIBC_2.4 renameat F
 GLIBC_2.4 symlinkat F
diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
index f85ab1d3cd..01d330cad7 100644
--- a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
@@ -1,6 +1,5 @@ 
 GLIBC_2.11 pthread_sigqueue F
 GLIBC_2.12 pthread_getname_np F
-GLIBC_2.12 pthread_mutex_consistent F
 GLIBC_2.12 pthread_mutexattr_getrobust F
 GLIBC_2.12 pthread_mutexattr_setrobust F
 GLIBC_2.12 pthread_setname_np F
@@ -215,7 +214,6 @@  GLIBC_2.30 pthread_rwlock_clockrdlock F
 GLIBC_2.30 pthread_rwlock_clockwrlock F
 GLIBC_2.30 sem_clockwait F
 GLIBC_2.31 pthread_clockjoin_np F
-GLIBC_2.4 pthread_mutex_consistent_np F
 GLIBC_2.4 pthread_mutex_getprioceiling F
 GLIBC_2.4 pthread_mutex_setprioceiling F
 GLIBC_2.4 pthread_mutexattr_getprioceiling F
diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
index 17a1c83903..a85d2af101 100644
--- a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
@@ -1450,6 +1450,8 @@  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_consistent F
+GLIBC_2.16 pthread_mutex_consistent_np F
 GLIBC_2.16 pthread_mutex_destroy F
 GLIBC_2.16 pthread_mutex_init F
 GLIBC_2.16 pthread_mutex_lock F
@@ -2186,3 +2188,4 @@  GLIBC_2.33 mknodat F
 GLIBC_2.33 stat F
 GLIBC_2.33 stat64 F
 GLIBC_2.34 __libc_start_main F
+GLIBC_2.34 pthread_mutex_consistent F
diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
index 0e24fcd6bf..b470f2eed5 100644
--- a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
@@ -102,8 +102,6 @@  GLIBC_2.16 pthread_key_create F
 GLIBC_2.16 pthread_key_delete F
 GLIBC_2.16 pthread_kill F
 GLIBC_2.16 pthread_kill_other_threads_np F
-GLIBC_2.16 pthread_mutex_consistent F
-GLIBC_2.16 pthread_mutex_consistent_np F
 GLIBC_2.16 pthread_mutex_destroy F
 GLIBC_2.16 pthread_mutex_getprioceiling F
 GLIBC_2.16 pthread_mutex_init F