public inbox for libc-alpha@sourceware.org
 help / color / mirror / Atom feed
From: Florian Weimer <fweimer@redhat.com>
To: libc-alpha@sourceware.org
Subject: [PATCH v3 34/37] nptl: Move core mutex functions into libc
Date: Tue, 16 Mar 2021 18:31:37 +0100	[thread overview]
Message-ID: <ad8f014bcec5cd8fdc6a9d8d8fce9458219e64ac.1615914632.git.fweimer@redhat.com> (raw)
In-Reply-To: <cover.1615914631.git.fweimer@redhat.com>

This is complicated because of a second compilation of
nptl/pthread_mutex_lock.c via nptl/pthread_mutex_cond_lock.c.
PTHREAD_MUTEX_VERSIONS is introduced to suppress symbol versions
in that case.

The symbols __pthread_mutex_lock, __pthread_mutex_unlock,
__pthread_mutex_init, __pthread_mutex_destroy, pthread_mutex_lock,
pthread_mutex_unlock, pthread_mutex_init, pthread_mutex_destroy
have beeb moved using scripts/move-symbol-to-libc.py.
---
 nptl/Makefile                                 |  8 ++---
 nptl/Versions                                 | 17 +++++-----
 nptl/forward.c                                | 11 -------
 nptl/nptl-init.c                              |  4 ---
 nptl/pthreadP.h                               | 11 ++++---
 nptl/pthread_mutex_cond_lock.c                |  3 +-
 nptl/pthread_mutex_destroy.c                  | 18 ++++++++---
 nptl/pthread_mutex_init.c                     | 16 ++++++++--
 nptl/pthread_mutex_lock.c                     | 22 ++++++++++---
 nptl/pthread_mutex_unlock.c                   | 19 ++++++++---
 sysdeps/nptl/libc-lockP.h                     | 32 ++++++-------------
 sysdeps/nptl/pthread-functions.h              |  5 ---
 sysdeps/unix/sysv/linux/aarch64/libc.abilist  |  8 +++++
 .../sysv/linux/aarch64/libpthread.abilist     |  8 -----
 sysdeps/unix/sysv/linux/alpha/libc.abilist    |  8 +++++
 .../unix/sysv/linux/alpha/libpthread.abilist  |  8 -----
 sysdeps/unix/sysv/linux/arc/libc.abilist      |  8 +++++
 .../unix/sysv/linux/arc/libpthread.abilist    |  8 -----
 sysdeps/unix/sysv/linux/arm/be/libc.abilist   |  8 +++++
 .../unix/sysv/linux/arm/be/libpthread.abilist |  8 -----
 sysdeps/unix/sysv/linux/arm/le/libc.abilist   |  8 +++++
 .../unix/sysv/linux/arm/le/libpthread.abilist |  8 -----
 sysdeps/unix/sysv/linux/csky/libc.abilist     |  8 +++++
 .../unix/sysv/linux/csky/libpthread.abilist   |  8 -----
 sysdeps/unix/sysv/linux/hppa/libc.abilist     |  8 +++++
 .../unix/sysv/linux/hppa/libpthread.abilist   |  8 -----
 sysdeps/unix/sysv/linux/i386/libc.abilist     |  8 +++++
 .../unix/sysv/linux/i386/libpthread.abilist   |  8 -----
 sysdeps/unix/sysv/linux/ia64/libc.abilist     |  8 +++++
 .../unix/sysv/linux/ia64/libpthread.abilist   |  8 -----
 .../sysv/linux/m68k/coldfire/libc.abilist     |  8 +++++
 .../linux/m68k/coldfire/libpthread.abilist    |  8 -----
 .../unix/sysv/linux/m68k/m680x0/libc.abilist  |  8 +++++
 .../sysv/linux/m68k/m680x0/libpthread.abilist |  8 -----
 .../sysv/linux/microblaze/be/libc.abilist     |  8 +++++
 .../linux/microblaze/be/libpthread.abilist    |  8 -----
 .../sysv/linux/microblaze/le/libc.abilist     |  8 +++++
 .../linux/microblaze/le/libpthread.abilist    |  8 -----
 .../sysv/linux/mips/mips32/fpu/libc.abilist   |  8 +++++
 .../sysv/linux/mips/mips32/libpthread.abilist |  8 -----
 .../sysv/linux/mips/mips32/nofpu/libc.abilist |  8 +++++
 .../sysv/linux/mips/mips64/libpthread.abilist |  8 -----
 .../sysv/linux/mips/mips64/n32/libc.abilist   |  8 +++++
 .../sysv/linux/mips/mips64/n64/libc.abilist   |  8 +++++
 sysdeps/unix/sysv/linux/nios2/libc.abilist    |  8 +++++
 .../unix/sysv/linux/nios2/libpthread.abilist  |  8 -----
 .../linux/powerpc/powerpc32/fpu/libc.abilist  |  8 +++++
 .../powerpc/powerpc32/libpthread.abilist      |  8 -----
 .../powerpc/powerpc32/nofpu/libc.abilist      |  8 +++++
 .../linux/powerpc/powerpc64/be/libc.abilist   |  8 +++++
 .../powerpc/powerpc64/be/libpthread.abilist   |  8 -----
 .../linux/powerpc/powerpc64/le/libc.abilist   |  8 +++++
 .../powerpc/powerpc64/le/libpthread.abilist   |  8 -----
 .../unix/sysv/linux/riscv/rv32/libc.abilist   |  8 +++++
 .../sysv/linux/riscv/rv32/libpthread.abilist  |  8 -----
 .../unix/sysv/linux/riscv/rv64/libc.abilist   |  8 +++++
 .../sysv/linux/riscv/rv64/libpthread.abilist  |  8 -----
 .../unix/sysv/linux/s390/s390-32/libc.abilist |  8 +++++
 .../linux/s390/s390-32/libpthread.abilist     |  8 -----
 .../unix/sysv/linux/s390/s390-64/libc.abilist |  8 +++++
 .../linux/s390/s390-64/libpthread.abilist     |  8 -----
 sysdeps/unix/sysv/linux/sh/be/libc.abilist    |  8 +++++
 .../unix/sysv/linux/sh/be/libpthread.abilist  |  8 -----
 sysdeps/unix/sysv/linux/sh/le/libc.abilist    |  8 +++++
 .../unix/sysv/linux/sh/le/libpthread.abilist  |  8 -----
 .../sysv/linux/sparc/sparc32/libc.abilist     |  8 +++++
 .../linux/sparc/sparc32/libpthread.abilist    |  8 -----
 .../sysv/linux/sparc/sparc64/libc.abilist     |  8 +++++
 .../linux/sparc/sparc64/libpthread.abilist    |  8 -----
 .../unix/sysv/linux/x86_64/64/libc.abilist    |  8 +++++
 .../sysv/linux/x86_64/64/libpthread.abilist   |  8 -----
 .../unix/sysv/linux/x86_64/x32/libc.abilist   |  8 +++++
 .../sysv/linux/x86_64/x32/libpthread.abilist  |  8 -----
 73 files changed, 346 insertions(+), 308 deletions(-)

diff --git a/nptl/Makefile b/nptl/Makefile
index 3ae0e1e8c8..e0ba8bea13 100644
--- a/nptl/Makefile
+++ b/nptl/Makefile
@@ -84,6 +84,10 @@ routines = \
   pthread_keys \
   pthread_mutex_conf \
   pthread_mutex_consistent \
+  pthread_mutex_destroy \
+  pthread_mutex_init \
+  pthread_mutex_lock \
+  pthread_mutex_unlock \
   pthread_once \
   pthread_rwlock_rdlock \
   pthread_rwlock_unlock \
@@ -171,14 +175,10 @@ libpthread-routines = \
   pthread_kill \
   pthread_kill_other_threads \
   pthread_mutex_cond_lock \
-  pthread_mutex_destroy \
   pthread_mutex_getprioceiling \
-  pthread_mutex_init \
-  pthread_mutex_lock \
   pthread_mutex_setprioceiling \
   pthread_mutex_timedlock \
   pthread_mutex_trylock \
-  pthread_mutex_unlock \
   pthread_mutexattr_destroy \
   pthread_mutexattr_getprioceiling \
   pthread_mutexattr_getprotocol \
diff --git a/nptl/Versions b/nptl/Versions
index 2b9508bd6f..2352b74c7e 100644
--- a/nptl/Versions
+++ b/nptl/Versions
@@ -2,6 +2,10 @@ libc {
   GLIBC_2.0 {
     __pthread_getspecific;
     __pthread_key_create;
+    __pthread_mutex_destroy;
+    __pthread_mutex_init;
+    __pthread_mutex_lock;
+    __pthread_mutex_unlock;
     __pthread_once;
     __pthread_setspecific;
     _pthread_cleanup_pop;
@@ -103,6 +107,10 @@ libc {
     __pthread_cleanup_routine;
     __pthread_getspecific;
     __pthread_key_create;
+    __pthread_mutex_destroy;
+    __pthread_mutex_init;
+    __pthread_mutex_lock;
+    __pthread_mutex_unlock;
     __pthread_once;
     __pthread_rwlock_rdlock;
     __pthread_rwlock_unlock;
@@ -155,6 +163,7 @@ libc {
     __pthread_getattr_default_np;
     __pthread_key_delete;
     __pthread_keys;
+    __pthread_mutex_unlock_usercnt;
     __pthread_setcancelstate;
     __pthread_tpp_change_priority;
     __pthread_unwind;
@@ -177,11 +186,7 @@ libpthread {
     __lseek;
     __open;
     __pthread_atfork;
-    __pthread_mutex_destroy;
-    __pthread_mutex_init;
-    __pthread_mutex_lock;
     __pthread_mutex_trylock;
-    __pthread_mutex_unlock;
     __pthread_mutexattr_destroy;
     __pthread_mutexattr_init;
     __pthread_mutexattr_settype;
@@ -213,11 +218,7 @@ libpthread {
     pthread_join;
     pthread_kill;
     pthread_kill_other_threads_np;
-    pthread_mutex_destroy;
-    pthread_mutex_init;
-    pthread_mutex_lock;
     pthread_mutex_trylock;
-    pthread_mutex_unlock;
     pthread_mutexattr_destroy;
     pthread_mutexattr_getkind_np;
     pthread_mutexattr_init;
diff --git a/nptl/forward.c b/nptl/forward.c
index de4e9cd6ab..c914baec4f 100644
--- a/nptl/forward.c
+++ b/nptl/forward.c
@@ -90,14 +90,3 @@ FORWARD (__pthread_cond_timedwait,
 	  const struct timespec *abstime), (cond, mutex, abstime), 0)
 versioned_symbol (libc, __pthread_cond_timedwait, pthread_cond_timedwait,
 		  GLIBC_2_3_2);
-
-
-FORWARD (pthread_mutex_destroy, (pthread_mutex_t *mutex), (mutex), 0)
-
-FORWARD (pthread_mutex_init,
-	 (pthread_mutex_t *mutex, const pthread_mutexattr_t *mutexattr),
-	 (mutex, mutexattr), 0)
-
-FORWARD (pthread_mutex_lock, (pthread_mutex_t *mutex), (mutex), 0)
-
-FORWARD (pthread_mutex_unlock, (pthread_mutex_t *mutex), (mutex), 0)
diff --git a/nptl/nptl-init.c b/nptl/nptl-init.c
index 5c85f75cc1..cbc9430ecb 100644
--- a/nptl/nptl-init.c
+++ b/nptl/nptl-init.c
@@ -63,10 +63,6 @@ static const struct pthread_functions pthread_functions =
     .ptr___pthread_cond_wait_2_0 = __pthread_cond_wait_2_0,
     .ptr___pthread_cond_timedwait_2_0 = __pthread_cond_timedwait_2_0,
 # endif
-    .ptr_pthread_mutex_destroy = __pthread_mutex_destroy,
-    .ptr_pthread_mutex_init = __pthread_mutex_init,
-    .ptr_pthread_mutex_lock = __pthread_mutex_lock,
-    .ptr_pthread_mutex_unlock = __pthread_mutex_unlock,
     .ptr__nptl_setxid = __nptl_setxid,
   };
 # define ptr_pthread_functions &pthread_functions
diff --git a/nptl/pthreadP.h b/nptl/pthreadP.h
index 7fd290e004..4feebdf09e 100644
--- a/nptl/pthreadP.h
+++ b/nptl/pthreadP.h
@@ -389,9 +389,12 @@ extern int __pthread_setschedparam (pthread_t thread_id, int policy,
 				    const struct sched_param *param);
 extern int __pthread_mutex_init (pthread_mutex_t *__mutex,
 				 const pthread_mutexattr_t *__mutexattr);
+libc_hidden_proto (__pthread_mutex_init)
 extern int __pthread_mutex_destroy (pthread_mutex_t *__mutex);
+libc_hidden_proto (__pthread_mutex_destroy)
 extern int __pthread_mutex_trylock (pthread_mutex_t *_mutex);
 extern int __pthread_mutex_lock (pthread_mutex_t *__mutex);
+libc_hidden_proto (__pthread_mutex_lock)
 extern int __pthread_mutex_timedlock (pthread_mutex_t *__mutex,
      const struct timespec *__abstime);
 extern int __pthread_mutex_cond_lock (pthread_mutex_t *__mutex)
@@ -399,8 +402,10 @@ extern int __pthread_mutex_cond_lock (pthread_mutex_t *__mutex)
 extern void __pthread_mutex_cond_lock_adjust (pthread_mutex_t *__mutex)
      attribute_hidden;
 extern int __pthread_mutex_unlock (pthread_mutex_t *__mutex);
+libc_hidden_proto (__pthread_mutex_unlock)
 extern int __pthread_mutex_unlock_usercnt (pthread_mutex_t *__mutex,
-					   int __decr) attribute_hidden;
+					   int __decr);
+libc_hidden_proto (__pthread_mutex_unlock_usercnt)
 extern int __pthread_mutexattr_init (pthread_mutexattr_t *attr);
 extern int __pthread_mutexattr_destroy (pthread_mutexattr_t *attr);
 extern int __pthread_mutexattr_settype (pthread_mutexattr_t *attr, int kind);
@@ -554,11 +559,7 @@ libc_hidden_proto (__pthread_sigmask);
 
 
 #if IS_IN (libpthread)
-hidden_proto (__pthread_mutex_init)
-hidden_proto (__pthread_mutex_destroy)
-hidden_proto (__pthread_mutex_lock)
 hidden_proto (__pthread_mutex_trylock)
-hidden_proto (__pthread_mutex_unlock)
 hidden_proto (__pthread_rwlock_unlock)
 hidden_proto (__pthread_testcancel)
 hidden_proto (__pthread_mutexattr_init)
diff --git a/nptl/pthread_mutex_cond_lock.c b/nptl/pthread_mutex_cond_lock.c
index 3386bd689b..f3af514305 100644
--- a/nptl/pthread_mutex_cond_lock.c
+++ b/nptl/pthread_mutex_cond_lock.c
@@ -15,8 +15,9 @@
 /* We need to assume that there are other threads blocked on the futex.
    See __pthread_mutex_lock_full for further details.  */
 #define LLL_ROBUST_MUTEX_LOCK_MODIFIER FUTEX_WAITERS
-#define __pthread_mutex_lock  __pthread_mutex_cond_lock
+#define PTHREAD_MUTEX_LOCK  __pthread_mutex_cond_lock
 #define __pthread_mutex_lock_full __pthread_mutex_cond_lock_full
 #define NO_INCR
+#define PTHREAD_MUTEX_VERSIONS 0
 
 #include <nptl/pthread_mutex_lock.c>
diff --git a/nptl/pthread_mutex_destroy.c b/nptl/pthread_mutex_destroy.c
index d2fb816e11..98da991a9d 100644
--- a/nptl/pthread_mutex_destroy.c
+++ b/nptl/pthread_mutex_destroy.c
@@ -18,12 +18,12 @@
 
 #include <errno.h>
 #include "pthreadP.h"
-
+#include <shlib-compat.h>
 #include <stap-probe.h>
 
 
 int
-__pthread_mutex_destroy (pthread_mutex_t *mutex)
+__pthread_mutex_destroy_1 (pthread_mutex_t *mutex)
 {
   LIBC_PROBE (mutex_destroy, 1, mutex);
 
@@ -41,5 +41,15 @@ __pthread_mutex_destroy (pthread_mutex_t *mutex)
 
   return 0;
 }
-weak_alias (__pthread_mutex_destroy, pthread_mutex_destroy)
-hidden_def (__pthread_mutex_destroy)
+versioned_symbol (libc, __pthread_mutex_destroy_1, __pthread_mutex_destroy,
+                  GLIBC_2_34);
+libc_hidden_ver (__pthread_mutex_destroy_1, __pthread_mutex_destroy)
+strong_alias (__pthread_mutex_destroy_1, __pthread_mutex_destroy_2)
+versioned_symbol (libc, __pthread_mutex_destroy_2, pthread_mutex_destroy,
+                  GLIBC_2_0);
+
+#if SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_34)
+strong_alias (__pthread_mutex_destroy_1, __pthread_mutex_destroy_3)
+compat_symbol (libc, __pthread_mutex_destroy_3, __pthread_mutex_destroy,
+               GLIBC_2_0);
+#endif
diff --git a/nptl/pthread_mutex_init.c b/nptl/pthread_mutex_init.c
index f5c3a4b464..b3af7fcd48 100644
--- a/nptl/pthread_mutex_init.c
+++ b/nptl/pthread_mutex_init.c
@@ -25,6 +25,7 @@
 #include <atomic.h>
 #include <pthread-offsets.h>
 #include <futex-internal.h>
+#include <shlib-compat.h>
 
 #include <stap-probe.h>
 
@@ -48,7 +49,7 @@ prio_inherit_missing (void)
 }
 
 int
-__pthread_mutex_init (pthread_mutex_t *mutex,
+__pthread_mutex_init_1 (pthread_mutex_t *mutex,
 		      const pthread_mutexattr_t *mutexattr)
 {
   const struct pthread_mutexattr *imutexattr;
@@ -150,5 +151,14 @@ __pthread_mutex_init (pthread_mutex_t *mutex,
 
   return 0;
 }
-weak_alias (__pthread_mutex_init, pthread_mutex_init)
-hidden_def (__pthread_mutex_init)
+versioned_symbol (libc, __pthread_mutex_init_1, __pthread_mutex_init,
+		  GLIBC_2_34);
+libc_hidden_ver (__pthread_mutex_init_1, __pthread_mutex_init)
+strong_alias (__pthread_mutex_init_1, __pthread_mutex_init_2)
+versioned_symbol (libc, __pthread_mutex_init_2, pthread_mutex_init,
+		  GLIBC_2_0);
+# if SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_34)
+strong_alias (__pthread_mutex_init_1, __pthread_mutex_init_3)
+compat_symbol (libc, __pthread_mutex_init_3, __pthread_mutex_init,
+	       GLIBC_2_0);
+#endif
diff --git a/nptl/pthread_mutex_lock.c b/nptl/pthread_mutex_lock.c
index 8649a92ffb..261cd5a72d 100644
--- a/nptl/pthread_mutex_lock.c
+++ b/nptl/pthread_mutex_lock.c
@@ -26,6 +26,7 @@
 #include <atomic.h>
 #include <futex-internal.h>
 #include <stap-probe.h>
+#include <shlib-compat.h>
 
 /* Some of the following definitions differ when pthread_mutex_cond_lock.c
    includes this file.  */
@@ -60,13 +61,15 @@ lll_mutex_lock_optimized (pthread_mutex_t *mutex)
 # define LLL_MUTEX_TRYLOCK_ELISION(mutex) \
   lll_trylock_elision((mutex)->__data.__lock, (mutex)->__data.__elision, \
 		   PTHREAD_MUTEX_PSHARED (mutex))
+# define PTHREAD_MUTEX_LOCK __pthread_mutex_lock_1
+# define PTHREAD_MUTEX_VERSIONS 1
 #endif
 
 static int __pthread_mutex_lock_full (pthread_mutex_t *mutex)
      __attribute_noinline__;
 
 int
-__pthread_mutex_lock (pthread_mutex_t *mutex)
+PTHREAD_MUTEX_LOCK (pthread_mutex_t *mutex)
 {
   /* See concurrency notes regarding mutex type which is loaded from __kind
      in struct __pthread_mutex_s in sysdeps/nptl/bits/thread-shared-types.h.  */
@@ -604,10 +607,19 @@ __pthread_mutex_lock_full (pthread_mutex_t *mutex)
 
   return 0;
 }
-#ifndef __pthread_mutex_lock
-weak_alias (__pthread_mutex_lock, pthread_mutex_lock)
-hidden_def (__pthread_mutex_lock)
-#endif
+
+#if PTHREAD_MUTEX_VERSIONS
+versioned_symbol (libc, __pthread_mutex_lock_1, __pthread_mutex_lock,
+		  GLIBC_2_34);
+libc_hidden_ver (__pthread_mutex_lock_1, __pthread_mutex_lock)
+strong_alias (__pthread_mutex_lock_1, __pthread_mutex_lock_2)
+versioned_symbol (libc, __pthread_mutex_lock_2, pthread_mutex_lock, GLIBC_2_0);
+
+# if SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_34)
+strong_alias (__pthread_mutex_lock_1, __pthread_mutex_lock_3)
+compat_symbol (libc, __pthread_mutex_lock_3, __pthread_mutex_lock, GLIBC_2_0);
+# endif
+#endif /* PTHREAD_MUTEX_VERSIONS */
 
 
 #ifdef NO_INCR
diff --git a/nptl/pthread_mutex_unlock.c b/nptl/pthread_mutex_unlock.c
index 655093ee9a..159720198c 100644
--- a/nptl/pthread_mutex_unlock.c
+++ b/nptl/pthread_mutex_unlock.c
@@ -23,6 +23,7 @@
 #include <lowlevellock.h>
 #include <stap-probe.h>
 #include <futex-internal.h>
+#include <shlib-compat.h>
 
 static int
 __pthread_mutex_unlock_full (pthread_mutex_t *mutex, int decr)
@@ -44,7 +45,6 @@ lll_mutex_unlock_optimized (pthread_mutex_t *mutex)
 }
 
 int
-attribute_hidden
 __pthread_mutex_unlock_usercnt (pthread_mutex_t *mutex, int decr)
 {
   /* See concurrency notes regarding mutex type which is loaded from __kind
@@ -103,6 +103,7 @@ __pthread_mutex_unlock_usercnt (pthread_mutex_t *mutex, int decr)
       goto normal;
     }
 }
+libc_hidden_def (__pthread_mutex_unlock_usercnt)
 
 
 static int
@@ -363,9 +364,19 @@ __pthread_mutex_unlock_full (pthread_mutex_t *mutex, int decr)
 
 
 int
-__pthread_mutex_unlock (pthread_mutex_t *mutex)
+__pthread_mutex_unlock_1 (pthread_mutex_t *mutex)
 {
   return __pthread_mutex_unlock_usercnt (mutex, 1);
 }
-weak_alias (__pthread_mutex_unlock, pthread_mutex_unlock)
-hidden_def (__pthread_mutex_unlock)
+versioned_symbol (libc, __pthread_mutex_unlock_1, __pthread_mutex_unlock,
+		  GLIBC_2_34);
+libc_hidden_ver (__pthread_mutex_unlock_1, __pthread_mutex_unlock)
+strong_alias (__pthread_mutex_unlock_1, __pthread_mutex_unlock_2)
+versioned_symbol (libc, __pthread_mutex_unlock_2, pthread_mutex_unlock,
+		  GLIBC_2_0);
+
+#if SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_34)
+strong_alias (__pthread_mutex_unlock_1, __pthread_mutex_unlock_3)
+compat_symbol (libc, __pthread_mutex_unlock_3, __pthread_mutex_unlock,
+	       GLIBC_2_0);
+#endif
diff --git a/sysdeps/nptl/libc-lockP.h b/sysdeps/nptl/libc-lockP.h
index 89910560fa..0dd2ea1147 100644
--- a/sysdeps/nptl/libc-lockP.h
+++ b/sysdeps/nptl/libc-lockP.h
@@ -128,8 +128,7 @@ _Static_assert (LLL_LOCK_INITIALIZER == 0, "LLL_LOCK_INITIALIZER != 0");
 # define __libc_lock_init(NAME) \
   ((void) ((NAME) = LLL_LOCK_INITIALIZER))
 #else
-# define __libc_lock_init(NAME) \
-  __libc_maybe_call (__pthread_mutex_init, (&(NAME), NULL), 0)
+# define __libc_lock_init(NAME) __pthread_mutex_init (&(NAME))
 #endif
 #if defined SHARED && IS_IN (libc)
 /* ((NAME) = (__libc_rwlock_t) PTHREAD_RWLOCK_INITIALIZER) is inefficient.  */
@@ -146,8 +145,7 @@ _Static_assert (LLL_LOCK_INITIALIZER == 0, "LLL_LOCK_INITIALIZER != 0");
 #if IS_IN (libc) || IS_IN (libpthread)
 # define __libc_lock_fini(NAME) ((void) 0)
 #else
-# define __libc_lock_fini(NAME) \
-  __libc_maybe_call (__pthread_mutex_destroy, (&(NAME)), 0)
+# define __libc_lock_fini(NAME) __pthread_mutex_destroy (&(NAME))
 #endif
 #if defined SHARED && IS_IN (libc)
 # define __libc_rwlock_fini(NAME) ((void) 0)
@@ -164,8 +162,7 @@ _Static_assert (LLL_LOCK_INITIALIZER == 0, "LLL_LOCK_INITIALIZER != 0");
 # endif
 #else
 # undef __libc_lock_lock
-# define __libc_lock_lock(NAME) \
-  __libc_maybe_call (__pthread_mutex_lock, (&(NAME)), 0)
+# define __libc_lock_lock(NAME) __pthread_mutex_lock (&(NAME))
 #endif
 #define __libc_rwlock_rdlock(NAME) __pthread_rwlock_rdlock (&(NAME))
 #define __libc_rwlock_wrlock(NAME) __pthread_rwlock_wrlock (&(NAME))
@@ -194,8 +191,7 @@ _Static_assert (LLL_LOCK_INITIALIZER == 0, "LLL_LOCK_INITIALIZER != 0");
 # define __libc_lock_unlock(NAME) \
   lll_unlock (NAME, LLL_PRIVATE)
 #else
-# define __libc_lock_unlock(NAME) \
-  __libc_maybe_call (__pthread_mutex_unlock, (&(NAME)), 0)
+# define __libc_lock_unlock(NAME) __pthread_mutex_unlock (&(NAME))
 #endif
 #define __libc_rwlock_unlock(NAME) __pthread_rwlock_unlock (&(NAME))
 
@@ -213,10 +209,10 @@ _Static_assert (LLL_LOCK_INITIALIZER == 0, "LLL_LOCK_INITIALIZER != 0");
   GL(dl_rtld_unlock_recursive) (&(NAME).mutex)
 #else
 # define __rtld_lock_lock_recursive(NAME) \
-  __libc_maybe_call (__pthread_mutex_lock, (&(NAME).mutex), 0)
+  __pthread_mutex_lock (&(NAME).mutex)
 
 # define __rtld_lock_unlock_recursive(NAME) \
-  __libc_maybe_call (__pthread_mutex_unlock, (&(NAME).mutex), 0)
+  __pthread_mutex_unlock (&(NAME).mutex)
 #endif
 
 /* Define once control variable.  */
@@ -274,15 +270,15 @@ extern int __register_atfork (void (*__prepare) (void),
 
 extern int __pthread_mutex_init (pthread_mutex_t *__mutex,
 				 const pthread_mutexattr_t *__mutex_attr);
-
+libc_hidden_proto (__pthread_mutex_init)
 extern int __pthread_mutex_destroy (pthread_mutex_t *__mutex);
-
+libc_hidden_proto (__pthread_mutex_destroy)
 extern int __pthread_mutex_trylock (pthread_mutex_t *__mutex);
 
 extern int __pthread_mutex_lock (pthread_mutex_t *__mutex);
-
+libc_hidden_proto (__pthread_mutex_lock)
 extern int __pthread_mutex_unlock (pthread_mutex_t *__mutex);
-
+libc_hidden_proto (__pthread_mutex_unlock)
 extern int __pthread_mutexattr_init (pthread_mutexattr_t *__attr);
 
 extern int __pthread_mutexattr_destroy (pthread_mutexattr_t *__attr);
@@ -320,11 +316,7 @@ libc_hidden_proto (__pthread_setcancelstate)
    single-threaded processes.  */
 #ifndef __NO_WEAK_PTHREAD_ALIASES
 # ifdef weak_extern
-weak_extern (__pthread_mutex_init)
-weak_extern (__pthread_mutex_destroy)
-weak_extern (__pthread_mutex_lock)
 weak_extern (__pthread_mutex_trylock)
-weak_extern (__pthread_mutex_unlock)
 weak_extern (__pthread_mutexattr_init)
 weak_extern (__pthread_mutexattr_destroy)
 weak_extern (__pthread_mutexattr_settype)
@@ -335,11 +327,7 @@ weak_extern (__pthread_rwlock_trywrlock)
 weak_extern (__pthread_initialize)
 weak_extern (__pthread_atfork)
 # else
-#  pragma weak __pthread_mutex_init
-#  pragma weak __pthread_mutex_destroy
-#  pragma weak __pthread_mutex_lock
 #  pragma weak __pthread_mutex_trylock
-#  pragma weak __pthread_mutex_unlock
 #  pragma weak __pthread_mutexattr_init
 #  pragma weak __pthread_mutexattr_destroy
 #  pragma weak __pthread_mutexattr_settype
diff --git a/sysdeps/nptl/pthread-functions.h b/sysdeps/nptl/pthread-functions.h
index 8535e142d5..dab5a2831e 100644
--- a/sysdeps/nptl/pthread-functions.h
+++ b/sysdeps/nptl/pthread-functions.h
@@ -41,11 +41,6 @@ struct pthread_functions
   int (*ptr___pthread_cond_timedwait_2_0) (pthread_cond_2_0_t *,
 					   pthread_mutex_t *,
 					   const struct timespec *);
-  int (*ptr_pthread_mutex_destroy) (pthread_mutex_t *);
-  int (*ptr_pthread_mutex_init) (pthread_mutex_t *,
-				 const pthread_mutexattr_t *);
-  int (*ptr_pthread_mutex_lock) (pthread_mutex_t *);
-  int (*ptr_pthread_mutex_unlock) (pthread_mutex_t *);
   int (*ptr__nptl_setxid) (struct xid_command *);
 };
 
diff --git a/sysdeps/unix/sysv/linux/aarch64/libc.abilist b/sysdeps/unix/sysv/linux/aarch64/libc.abilist
index 9191b2e760..381947232e 100644
--- a/sysdeps/unix/sysv/linux/aarch64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/aarch64/libc.abilist
@@ -341,6 +341,10 @@ GLIBC_2.17 __progname_full D 0x8
 GLIBC_2.17 __pthread_cleanup_routine F
 GLIBC_2.17 __pthread_getspecific F
 GLIBC_2.17 __pthread_key_create F
+GLIBC_2.17 __pthread_mutex_destroy F
+GLIBC_2.17 __pthread_mutex_init F
+GLIBC_2.17 __pthread_mutex_lock F
+GLIBC_2.17 __pthread_mutex_unlock F
 GLIBC_2.17 __pthread_once F
 GLIBC_2.17 __pthread_rwlock_rdlock F
 GLIBC_2.17 __pthread_rwlock_unlock F
@@ -2198,6 +2202,10 @@ GLIBC_2.34 __libc_start_main F
 GLIBC_2.34 __pthread_cleanup_routine F
 GLIBC_2.34 __pthread_getspecific F
 GLIBC_2.34 __pthread_key_create F
+GLIBC_2.34 __pthread_mutex_destroy F
+GLIBC_2.34 __pthread_mutex_init F
+GLIBC_2.34 __pthread_mutex_lock F
+GLIBC_2.34 __pthread_mutex_unlock F
 GLIBC_2.34 __pthread_once F
 GLIBC_2.34 __pthread_rwlock_rdlock F
 GLIBC_2.34 __pthread_rwlock_unlock F
diff --git a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
index 9a24f796de..29a98fc2f4 100644
--- a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
@@ -13,11 +13,7 @@ GLIBC_2.17 __lseek F
 GLIBC_2.17 __open F
 GLIBC_2.17 __open64 F
 GLIBC_2.17 __pread64 F
-GLIBC_2.17 __pthread_mutex_destroy F
-GLIBC_2.17 __pthread_mutex_init F
-GLIBC_2.17 __pthread_mutex_lock F
 GLIBC_2.17 __pthread_mutex_trylock F
-GLIBC_2.17 __pthread_mutex_unlock F
 GLIBC_2.17 __pthread_mutexattr_destroy F
 GLIBC_2.17 __pthread_mutexattr_init F
 GLIBC_2.17 __pthread_mutexattr_settype F
@@ -84,14 +80,10 @@ GLIBC_2.17 pthread_getname_np F
 GLIBC_2.17 pthread_join F
 GLIBC_2.17 pthread_kill F
 GLIBC_2.17 pthread_kill_other_threads_np F
-GLIBC_2.17 pthread_mutex_destroy F
 GLIBC_2.17 pthread_mutex_getprioceiling F
-GLIBC_2.17 pthread_mutex_init F
-GLIBC_2.17 pthread_mutex_lock F
 GLIBC_2.17 pthread_mutex_setprioceiling F
 GLIBC_2.17 pthread_mutex_timedlock F
 GLIBC_2.17 pthread_mutex_trylock F
-GLIBC_2.17 pthread_mutex_unlock F
 GLIBC_2.17 pthread_mutexattr_destroy F
 GLIBC_2.17 pthread_mutexattr_getkind_np F
 GLIBC_2.17 pthread_mutexattr_getprioceiling F
diff --git a/sysdeps/unix/sysv/linux/alpha/libc.abilist b/sysdeps/unix/sysv/linux/alpha/libc.abilist
index 71dd49d25c..7e314dd68b 100644
--- a/sysdeps/unix/sysv/linux/alpha/libc.abilist
+++ b/sysdeps/unix/sysv/linux/alpha/libc.abilist
@@ -190,6 +190,10 @@ GLIBC_2.0 __progname D 0x8
 GLIBC_2.0 __progname_full D 0x8
 GLIBC_2.0 __pthread_getspecific F
 GLIBC_2.0 __pthread_key_create F
+GLIBC_2.0 __pthread_mutex_destroy F
+GLIBC_2.0 __pthread_mutex_init F
+GLIBC_2.0 __pthread_mutex_lock F
+GLIBC_2.0 __pthread_mutex_unlock F
 GLIBC_2.0 __pthread_once F
 GLIBC_2.0 __pthread_setspecific F
 GLIBC_2.0 __rcmd_errstr D 0x8
@@ -2279,6 +2283,10 @@ GLIBC_2.34 __libc_start_main F
 GLIBC_2.34 __pthread_cleanup_routine F
 GLIBC_2.34 __pthread_getspecific F
 GLIBC_2.34 __pthread_key_create F
+GLIBC_2.34 __pthread_mutex_destroy F
+GLIBC_2.34 __pthread_mutex_init F
+GLIBC_2.34 __pthread_mutex_lock F
+GLIBC_2.34 __pthread_mutex_unlock F
 GLIBC_2.34 __pthread_once F
 GLIBC_2.34 __pthread_rwlock_rdlock F
 GLIBC_2.34 __pthread_rwlock_unlock F
diff --git a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
index a7b3fd73ab..29cb6259a5 100644
--- a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
@@ -8,11 +8,7 @@ GLIBC_2.0 __fcntl F
 GLIBC_2.0 __h_errno_location F
 GLIBC_2.0 __lseek F
 GLIBC_2.0 __open F
-GLIBC_2.0 __pthread_mutex_destroy F
-GLIBC_2.0 __pthread_mutex_init F
-GLIBC_2.0 __pthread_mutex_lock F
 GLIBC_2.0 __pthread_mutex_trylock F
-GLIBC_2.0 __pthread_mutex_unlock F
 GLIBC_2.0 __pthread_mutexattr_destroy F
 GLIBC_2.0 __pthread_mutexattr_init F
 GLIBC_2.0 __pthread_mutexattr_settype F
@@ -43,11 +39,7 @@ GLIBC_2.0 pthread_detach F
 GLIBC_2.0 pthread_join F
 GLIBC_2.0 pthread_kill F
 GLIBC_2.0 pthread_kill_other_threads_np F
-GLIBC_2.0 pthread_mutex_destroy F
-GLIBC_2.0 pthread_mutex_init F
-GLIBC_2.0 pthread_mutex_lock F
 GLIBC_2.0 pthread_mutex_trylock F
-GLIBC_2.0 pthread_mutex_unlock F
 GLIBC_2.0 pthread_mutexattr_destroy F
 GLIBC_2.0 pthread_mutexattr_getkind_np F
 GLIBC_2.0 pthread_mutexattr_init F
diff --git a/sysdeps/unix/sysv/linux/arc/libc.abilist b/sysdeps/unix/sysv/linux/arc/libc.abilist
index 38764a6746..014b30c7bd 100644
--- a/sysdeps/unix/sysv/linux/arc/libc.abilist
+++ b/sysdeps/unix/sysv/linux/arc/libc.abilist
@@ -330,6 +330,10 @@ GLIBC_2.32 __progname_full D 0x4
 GLIBC_2.32 __pthread_cleanup_routine F
 GLIBC_2.32 __pthread_getspecific F
 GLIBC_2.32 __pthread_key_create F
+GLIBC_2.32 __pthread_mutex_destroy F
+GLIBC_2.32 __pthread_mutex_init F
+GLIBC_2.32 __pthread_mutex_lock F
+GLIBC_2.32 __pthread_mutex_unlock F
 GLIBC_2.32 __pthread_once F
 GLIBC_2.32 __pthread_rwlock_rdlock F
 GLIBC_2.32 __pthread_rwlock_unlock F
@@ -1958,6 +1962,10 @@ GLIBC_2.34 __libc_start_main F
 GLIBC_2.34 __pthread_cleanup_routine F
 GLIBC_2.34 __pthread_getspecific F
 GLIBC_2.34 __pthread_key_create F
+GLIBC_2.34 __pthread_mutex_destroy F
+GLIBC_2.34 __pthread_mutex_init F
+GLIBC_2.34 __pthread_mutex_lock F
+GLIBC_2.34 __pthread_mutex_unlock F
 GLIBC_2.34 __pthread_once F
 GLIBC_2.34 __pthread_rwlock_rdlock F
 GLIBC_2.34 __pthread_rwlock_unlock F
diff --git a/sysdeps/unix/sysv/linux/arc/libpthread.abilist b/sysdeps/unix/sysv/linux/arc/libpthread.abilist
index 0d8b928e6d..b926ef9dba 100644
--- a/sysdeps/unix/sysv/linux/arc/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/arc/libpthread.abilist
@@ -12,11 +12,7 @@ GLIBC_2.32 __lseek F
 GLIBC_2.32 __open F
 GLIBC_2.32 __open64 F
 GLIBC_2.32 __pread64 F
-GLIBC_2.32 __pthread_mutex_destroy F
-GLIBC_2.32 __pthread_mutex_init F
-GLIBC_2.32 __pthread_mutex_lock F
 GLIBC_2.32 __pthread_mutex_trylock F
-GLIBC_2.32 __pthread_mutex_unlock F
 GLIBC_2.32 __pthread_mutexattr_destroy F
 GLIBC_2.32 __pthread_mutexattr_init F
 GLIBC_2.32 __pthread_mutexattr_settype F
@@ -99,14 +95,10 @@ GLIBC_2.32 pthread_join 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_destroy F
 GLIBC_2.32 pthread_mutex_getprioceiling F
-GLIBC_2.32 pthread_mutex_init F
-GLIBC_2.32 pthread_mutex_lock F
 GLIBC_2.32 pthread_mutex_setprioceiling F
 GLIBC_2.32 pthread_mutex_timedlock F
 GLIBC_2.32 pthread_mutex_trylock F
-GLIBC_2.32 pthread_mutex_unlock F
 GLIBC_2.32 pthread_mutexattr_destroy F
 GLIBC_2.32 pthread_mutexattr_getkind_np F
 GLIBC_2.32 pthread_mutexattr_getprioceiling F
diff --git a/sysdeps/unix/sysv/linux/arm/be/libc.abilist b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
index 86d971e7d2..412eb541fc 100644
--- a/sysdeps/unix/sysv/linux/arm/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
@@ -160,6 +160,10 @@ GLIBC_2.34 __libc_start_main F
 GLIBC_2.34 __pthread_cleanup_routine F
 GLIBC_2.34 __pthread_getspecific F
 GLIBC_2.34 __pthread_key_create F
+GLIBC_2.34 __pthread_mutex_destroy F
+GLIBC_2.34 __pthread_mutex_init F
+GLIBC_2.34 __pthread_mutex_lock F
+GLIBC_2.34 __pthread_mutex_unlock F
 GLIBC_2.34 __pthread_once F
 GLIBC_2.34 __pthread_rwlock_rdlock F
 GLIBC_2.34 __pthread_rwlock_unlock F
@@ -505,6 +509,10 @@ GLIBC_2.4 __progname_full D 0x4
 GLIBC_2.4 __pthread_cleanup_routine F
 GLIBC_2.4 __pthread_getspecific F
 GLIBC_2.4 __pthread_key_create F
+GLIBC_2.4 __pthread_mutex_destroy F
+GLIBC_2.4 __pthread_mutex_init F
+GLIBC_2.4 __pthread_mutex_lock F
+GLIBC_2.4 __pthread_mutex_unlock F
 GLIBC_2.4 __pthread_once F
 GLIBC_2.4 __pthread_rwlock_rdlock F
 GLIBC_2.4 __pthread_rwlock_unlock F
diff --git a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
index 833b53362d..8dd2c3f7a6 100644
--- a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
@@ -47,11 +47,7 @@ GLIBC_2.4 __lseek F
 GLIBC_2.4 __open F
 GLIBC_2.4 __open64 F
 GLIBC_2.4 __pread64 F
-GLIBC_2.4 __pthread_mutex_destroy F
-GLIBC_2.4 __pthread_mutex_init F
-GLIBC_2.4 __pthread_mutex_lock F
 GLIBC_2.4 __pthread_mutex_trylock F
-GLIBC_2.4 __pthread_mutex_unlock F
 GLIBC_2.4 __pthread_mutexattr_destroy F
 GLIBC_2.4 __pthread_mutexattr_init F
 GLIBC_2.4 __pthread_mutexattr_settype F
@@ -117,14 +113,10 @@ GLIBC_2.4 pthread_getcpuclockid F
 GLIBC_2.4 pthread_join F
 GLIBC_2.4 pthread_kill F
 GLIBC_2.4 pthread_kill_other_threads_np F
-GLIBC_2.4 pthread_mutex_destroy F
 GLIBC_2.4 pthread_mutex_getprioceiling F
-GLIBC_2.4 pthread_mutex_init F
-GLIBC_2.4 pthread_mutex_lock F
 GLIBC_2.4 pthread_mutex_setprioceiling F
 GLIBC_2.4 pthread_mutex_timedlock F
 GLIBC_2.4 pthread_mutex_trylock F
-GLIBC_2.4 pthread_mutex_unlock F
 GLIBC_2.4 pthread_mutexattr_destroy F
 GLIBC_2.4 pthread_mutexattr_getkind_np F
 GLIBC_2.4 pthread_mutexattr_getprioceiling F
diff --git a/sysdeps/unix/sysv/linux/arm/le/libc.abilist b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
index caf3f6a141..588f1d6b42 100644
--- a/sysdeps/unix/sysv/linux/arm/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
@@ -157,6 +157,10 @@ GLIBC_2.34 __libc_start_main F
 GLIBC_2.34 __pthread_cleanup_routine F
 GLIBC_2.34 __pthread_getspecific F
 GLIBC_2.34 __pthread_key_create F
+GLIBC_2.34 __pthread_mutex_destroy F
+GLIBC_2.34 __pthread_mutex_init F
+GLIBC_2.34 __pthread_mutex_lock F
+GLIBC_2.34 __pthread_mutex_unlock F
 GLIBC_2.34 __pthread_once F
 GLIBC_2.34 __pthread_rwlock_rdlock F
 GLIBC_2.34 __pthread_rwlock_unlock F
@@ -502,6 +506,10 @@ GLIBC_2.4 __progname_full D 0x4
 GLIBC_2.4 __pthread_cleanup_routine F
 GLIBC_2.4 __pthread_getspecific F
 GLIBC_2.4 __pthread_key_create F
+GLIBC_2.4 __pthread_mutex_destroy F
+GLIBC_2.4 __pthread_mutex_init F
+GLIBC_2.4 __pthread_mutex_lock F
+GLIBC_2.4 __pthread_mutex_unlock F
 GLIBC_2.4 __pthread_once F
 GLIBC_2.4 __pthread_rwlock_rdlock F
 GLIBC_2.4 __pthread_rwlock_unlock F
diff --git a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
index 833b53362d..8dd2c3f7a6 100644
--- a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
@@ -47,11 +47,7 @@ GLIBC_2.4 __lseek F
 GLIBC_2.4 __open F
 GLIBC_2.4 __open64 F
 GLIBC_2.4 __pread64 F
-GLIBC_2.4 __pthread_mutex_destroy F
-GLIBC_2.4 __pthread_mutex_init F
-GLIBC_2.4 __pthread_mutex_lock F
 GLIBC_2.4 __pthread_mutex_trylock F
-GLIBC_2.4 __pthread_mutex_unlock F
 GLIBC_2.4 __pthread_mutexattr_destroy F
 GLIBC_2.4 __pthread_mutexattr_init F
 GLIBC_2.4 __pthread_mutexattr_settype F
@@ -117,14 +113,10 @@ GLIBC_2.4 pthread_getcpuclockid F
 GLIBC_2.4 pthread_join F
 GLIBC_2.4 pthread_kill F
 GLIBC_2.4 pthread_kill_other_threads_np F
-GLIBC_2.4 pthread_mutex_destroy F
 GLIBC_2.4 pthread_mutex_getprioceiling F
-GLIBC_2.4 pthread_mutex_init F
-GLIBC_2.4 pthread_mutex_lock F
 GLIBC_2.4 pthread_mutex_setprioceiling F
 GLIBC_2.4 pthread_mutex_timedlock F
 GLIBC_2.4 pthread_mutex_trylock F
-GLIBC_2.4 pthread_mutex_unlock F
 GLIBC_2.4 pthread_mutexattr_destroy F
 GLIBC_2.4 pthread_mutexattr_getkind_np F
 GLIBC_2.4 pthread_mutexattr_getprioceiling F
diff --git a/sysdeps/unix/sysv/linux/csky/libc.abilist b/sysdeps/unix/sysv/linux/csky/libc.abilist
index aeb6424389..76fb31f895 100644
--- a/sysdeps/unix/sysv/linux/csky/libc.abilist
+++ b/sysdeps/unix/sysv/linux/csky/libc.abilist
@@ -334,6 +334,10 @@ GLIBC_2.29 __progname_full D 0x4
 GLIBC_2.29 __pthread_cleanup_routine F
 GLIBC_2.29 __pthread_getspecific F
 GLIBC_2.29 __pthread_key_create F
+GLIBC_2.29 __pthread_mutex_destroy F
+GLIBC_2.29 __pthread_mutex_init F
+GLIBC_2.29 __pthread_mutex_lock F
+GLIBC_2.29 __pthread_mutex_unlock F
 GLIBC_2.29 __pthread_once F
 GLIBC_2.29 __pthread_rwlock_rdlock F
 GLIBC_2.29 __pthread_rwlock_unlock F
@@ -2142,6 +2146,10 @@ GLIBC_2.34 __libc_start_main F
 GLIBC_2.34 __pthread_cleanup_routine F
 GLIBC_2.34 __pthread_getspecific F
 GLIBC_2.34 __pthread_key_create F
+GLIBC_2.34 __pthread_mutex_destroy F
+GLIBC_2.34 __pthread_mutex_init F
+GLIBC_2.34 __pthread_mutex_lock F
+GLIBC_2.34 __pthread_mutex_unlock F
 GLIBC_2.34 __pthread_once F
 GLIBC_2.34 __pthread_rwlock_rdlock F
 GLIBC_2.34 __pthread_rwlock_unlock F
diff --git a/sysdeps/unix/sysv/linux/csky/libpthread.abilist b/sysdeps/unix/sysv/linux/csky/libpthread.abilist
index 440c0507d1..2c4d219569 100644
--- a/sysdeps/unix/sysv/linux/csky/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/csky/libpthread.abilist
@@ -12,11 +12,7 @@ GLIBC_2.29 __lseek F
 GLIBC_2.29 __open F
 GLIBC_2.29 __open64 F
 GLIBC_2.29 __pread64 F
-GLIBC_2.29 __pthread_mutex_destroy F
-GLIBC_2.29 __pthread_mutex_init F
-GLIBC_2.29 __pthread_mutex_lock F
 GLIBC_2.29 __pthread_mutex_trylock F
-GLIBC_2.29 __pthread_mutex_unlock F
 GLIBC_2.29 __pthread_mutexattr_destroy F
 GLIBC_2.29 __pthread_mutexattr_init F
 GLIBC_2.29 __pthread_mutexattr_settype F
@@ -96,14 +92,10 @@ GLIBC_2.29 pthread_getname_np F
 GLIBC_2.29 pthread_join F
 GLIBC_2.29 pthread_kill F
 GLIBC_2.29 pthread_kill_other_threads_np F
-GLIBC_2.29 pthread_mutex_destroy F
 GLIBC_2.29 pthread_mutex_getprioceiling F
-GLIBC_2.29 pthread_mutex_init F
-GLIBC_2.29 pthread_mutex_lock F
 GLIBC_2.29 pthread_mutex_setprioceiling F
 GLIBC_2.29 pthread_mutex_timedlock F
 GLIBC_2.29 pthread_mutex_trylock F
-GLIBC_2.29 pthread_mutex_unlock F
 GLIBC_2.29 pthread_mutexattr_destroy F
 GLIBC_2.29 pthread_mutexattr_getkind_np F
 GLIBC_2.29 pthread_mutexattr_getprioceiling F
diff --git a/sysdeps/unix/sysv/linux/hppa/libc.abilist b/sysdeps/unix/sysv/linux/hppa/libc.abilist
index e1d02058c9..e99899dee5 100644
--- a/sysdeps/unix/sysv/linux/hppa/libc.abilist
+++ b/sysdeps/unix/sysv/linux/hppa/libc.abilist
@@ -358,6 +358,10 @@ GLIBC_2.2 __progname D 0x4
 GLIBC_2.2 __progname_full D 0x4
 GLIBC_2.2 __pthread_getspecific F
 GLIBC_2.2 __pthread_key_create F
+GLIBC_2.2 __pthread_mutex_destroy F
+GLIBC_2.2 __pthread_mutex_init F
+GLIBC_2.2 __pthread_mutex_lock F
+GLIBC_2.2 __pthread_mutex_unlock F
 GLIBC_2.2 __pthread_once F
 GLIBC_2.2 __pthread_rwlock_rdlock F
 GLIBC_2.2 __pthread_rwlock_unlock F
@@ -2100,6 +2104,10 @@ GLIBC_2.34 __libc_start_main F
 GLIBC_2.34 __pthread_cleanup_routine F
 GLIBC_2.34 __pthread_getspecific F
 GLIBC_2.34 __pthread_key_create F
+GLIBC_2.34 __pthread_mutex_destroy F
+GLIBC_2.34 __pthread_mutex_init F
+GLIBC_2.34 __pthread_mutex_lock F
+GLIBC_2.34 __pthread_mutex_unlock F
 GLIBC_2.34 __pthread_once F
 GLIBC_2.34 __pthread_rwlock_rdlock F
 GLIBC_2.34 __pthread_rwlock_unlock F
diff --git a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
index 70af59d791..9e15deaad8 100644
--- a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
@@ -20,11 +20,7 @@ GLIBC_2.2 __lseek F
 GLIBC_2.2 __open F
 GLIBC_2.2 __open64 F
 GLIBC_2.2 __pread64 F
-GLIBC_2.2 __pthread_mutex_destroy F
-GLIBC_2.2 __pthread_mutex_init F
-GLIBC_2.2 __pthread_mutex_lock F
 GLIBC_2.2 __pthread_mutex_trylock F
-GLIBC_2.2 __pthread_mutex_unlock F
 GLIBC_2.2 __pthread_mutexattr_destroy F
 GLIBC_2.2 __pthread_mutexattr_init F
 GLIBC_2.2 __pthread_mutexattr_settype F
@@ -83,12 +79,8 @@ GLIBC_2.2 pthread_getcpuclockid F
 GLIBC_2.2 pthread_join F
 GLIBC_2.2 pthread_kill F
 GLIBC_2.2 pthread_kill_other_threads_np F
-GLIBC_2.2 pthread_mutex_destroy F
-GLIBC_2.2 pthread_mutex_init F
-GLIBC_2.2 pthread_mutex_lock F
 GLIBC_2.2 pthread_mutex_timedlock F
 GLIBC_2.2 pthread_mutex_trylock F
-GLIBC_2.2 pthread_mutex_unlock F
 GLIBC_2.2 pthread_mutexattr_destroy F
 GLIBC_2.2 pthread_mutexattr_getkind_np F
 GLIBC_2.2 pthread_mutexattr_getpshared F
diff --git a/sysdeps/unix/sysv/linux/i386/libc.abilist b/sysdeps/unix/sysv/linux/i386/libc.abilist
index 717344a690..29b8e0c1eb 100644
--- a/sysdeps/unix/sysv/linux/i386/libc.abilist
+++ b/sysdeps/unix/sysv/linux/i386/libc.abilist
@@ -187,6 +187,10 @@ GLIBC_2.0 __progname D 0x4
 GLIBC_2.0 __progname_full D 0x4
 GLIBC_2.0 __pthread_getspecific F
 GLIBC_2.0 __pthread_key_create F
+GLIBC_2.0 __pthread_mutex_destroy F
+GLIBC_2.0 __pthread_mutex_init F
+GLIBC_2.0 __pthread_mutex_lock F
+GLIBC_2.0 __pthread_mutex_unlock F
 GLIBC_2.0 __pthread_once F
 GLIBC_2.0 __pthread_setspecific F
 GLIBC_2.0 __rcmd_errstr D 0x4
@@ -2267,6 +2271,10 @@ GLIBC_2.34 __libc_start_main F
 GLIBC_2.34 __pthread_cleanup_routine F
 GLIBC_2.34 __pthread_getspecific F
 GLIBC_2.34 __pthread_key_create F
+GLIBC_2.34 __pthread_mutex_destroy F
+GLIBC_2.34 __pthread_mutex_init F
+GLIBC_2.34 __pthread_mutex_lock F
+GLIBC_2.34 __pthread_mutex_unlock F
 GLIBC_2.34 __pthread_once F
 GLIBC_2.34 __pthread_rwlock_rdlock F
 GLIBC_2.34 __pthread_rwlock_unlock F
diff --git a/sysdeps/unix/sysv/linux/i386/libpthread.abilist b/sysdeps/unix/sysv/linux/i386/libpthread.abilist
index 35cc2f61c5..4065a88a3b 100644
--- a/sysdeps/unix/sysv/linux/i386/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/i386/libpthread.abilist
@@ -8,11 +8,7 @@ GLIBC_2.0 __fcntl F
 GLIBC_2.0 __h_errno_location F
 GLIBC_2.0 __lseek F
 GLIBC_2.0 __open F
-GLIBC_2.0 __pthread_mutex_destroy F
-GLIBC_2.0 __pthread_mutex_init F
-GLIBC_2.0 __pthread_mutex_lock F
 GLIBC_2.0 __pthread_mutex_trylock F
-GLIBC_2.0 __pthread_mutex_unlock F
 GLIBC_2.0 __pthread_mutexattr_destroy F
 GLIBC_2.0 __pthread_mutexattr_init F
 GLIBC_2.0 __pthread_mutexattr_settype F
@@ -43,11 +39,7 @@ GLIBC_2.0 pthread_detach F
 GLIBC_2.0 pthread_join F
 GLIBC_2.0 pthread_kill F
 GLIBC_2.0 pthread_kill_other_threads_np F
-GLIBC_2.0 pthread_mutex_destroy F
-GLIBC_2.0 pthread_mutex_init F
-GLIBC_2.0 pthread_mutex_lock F
 GLIBC_2.0 pthread_mutex_trylock F
-GLIBC_2.0 pthread_mutex_unlock F
 GLIBC_2.0 pthread_mutexattr_destroy F
 GLIBC_2.0 pthread_mutexattr_getkind_np F
 GLIBC_2.0 pthread_mutexattr_init F
diff --git a/sysdeps/unix/sysv/linux/ia64/libc.abilist b/sysdeps/unix/sysv/linux/ia64/libc.abilist
index 284b7072a3..fb8a36ce20 100644
--- a/sysdeps/unix/sysv/linux/ia64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/ia64/libc.abilist
@@ -362,6 +362,10 @@ GLIBC_2.2 __progname D 0x8
 GLIBC_2.2 __progname_full D 0x8
 GLIBC_2.2 __pthread_getspecific F
 GLIBC_2.2 __pthread_key_create F
+GLIBC_2.2 __pthread_mutex_destroy F
+GLIBC_2.2 __pthread_mutex_init F
+GLIBC_2.2 __pthread_mutex_lock F
+GLIBC_2.2 __pthread_mutex_unlock F
 GLIBC_2.2 __pthread_once F
 GLIBC_2.2 __pthread_rwlock_rdlock F
 GLIBC_2.2 __pthread_rwlock_unlock F
@@ -2132,6 +2136,10 @@ GLIBC_2.34 __libc_start_main F
 GLIBC_2.34 __pthread_cleanup_routine F
 GLIBC_2.34 __pthread_getspecific F
 GLIBC_2.34 __pthread_key_create F
+GLIBC_2.34 __pthread_mutex_destroy F
+GLIBC_2.34 __pthread_mutex_init F
+GLIBC_2.34 __pthread_mutex_lock F
+GLIBC_2.34 __pthread_mutex_unlock F
 GLIBC_2.34 __pthread_once F
 GLIBC_2.34 __pthread_rwlock_rdlock F
 GLIBC_2.34 __pthread_rwlock_unlock F
diff --git a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
index 2e69109cdc..684bf559e5 100644
--- a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
@@ -20,11 +20,7 @@ GLIBC_2.2 __lseek F
 GLIBC_2.2 __open F
 GLIBC_2.2 __open64 F
 GLIBC_2.2 __pread64 F
-GLIBC_2.2 __pthread_mutex_destroy F
-GLIBC_2.2 __pthread_mutex_init F
-GLIBC_2.2 __pthread_mutex_lock F
 GLIBC_2.2 __pthread_mutex_trylock F
-GLIBC_2.2 __pthread_mutex_unlock F
 GLIBC_2.2 __pthread_mutexattr_destroy F
 GLIBC_2.2 __pthread_mutexattr_init F
 GLIBC_2.2 __pthread_mutexattr_settype F
@@ -83,12 +79,8 @@ GLIBC_2.2 pthread_getcpuclockid F
 GLIBC_2.2 pthread_join F
 GLIBC_2.2 pthread_kill F
 GLIBC_2.2 pthread_kill_other_threads_np F
-GLIBC_2.2 pthread_mutex_destroy F
-GLIBC_2.2 pthread_mutex_init F
-GLIBC_2.2 pthread_mutex_lock F
 GLIBC_2.2 pthread_mutex_timedlock F
 GLIBC_2.2 pthread_mutex_trylock F
-GLIBC_2.2 pthread_mutex_unlock F
 GLIBC_2.2 pthread_mutexattr_destroy F
 GLIBC_2.2 pthread_mutexattr_getkind_np F
 GLIBC_2.2 pthread_mutexattr_getpshared F
diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
index 404d16b92a..03e80e6a12 100644
--- a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
@@ -161,6 +161,10 @@ GLIBC_2.34 __libc_start_main F
 GLIBC_2.34 __pthread_cleanup_routine F
 GLIBC_2.34 __pthread_getspecific F
 GLIBC_2.34 __pthread_key_create F
+GLIBC_2.34 __pthread_mutex_destroy F
+GLIBC_2.34 __pthread_mutex_init F
+GLIBC_2.34 __pthread_mutex_lock F
+GLIBC_2.34 __pthread_mutex_unlock F
 GLIBC_2.34 __pthread_once F
 GLIBC_2.34 __pthread_rwlock_rdlock F
 GLIBC_2.34 __pthread_rwlock_unlock F
@@ -491,6 +495,10 @@ GLIBC_2.4 __progname_full D 0x4
 GLIBC_2.4 __pthread_cleanup_routine F
 GLIBC_2.4 __pthread_getspecific F
 GLIBC_2.4 __pthread_key_create F
+GLIBC_2.4 __pthread_mutex_destroy F
+GLIBC_2.4 __pthread_mutex_init F
+GLIBC_2.4 __pthread_mutex_lock F
+GLIBC_2.4 __pthread_mutex_unlock F
 GLIBC_2.4 __pthread_once F
 GLIBC_2.4 __pthread_rwlock_rdlock F
 GLIBC_2.4 __pthread_rwlock_unlock F
diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
index 833b53362d..8dd2c3f7a6 100644
--- a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
@@ -47,11 +47,7 @@ GLIBC_2.4 __lseek F
 GLIBC_2.4 __open F
 GLIBC_2.4 __open64 F
 GLIBC_2.4 __pread64 F
-GLIBC_2.4 __pthread_mutex_destroy F
-GLIBC_2.4 __pthread_mutex_init F
-GLIBC_2.4 __pthread_mutex_lock F
 GLIBC_2.4 __pthread_mutex_trylock F
-GLIBC_2.4 __pthread_mutex_unlock F
 GLIBC_2.4 __pthread_mutexattr_destroy F
 GLIBC_2.4 __pthread_mutexattr_init F
 GLIBC_2.4 __pthread_mutexattr_settype F
@@ -117,14 +113,10 @@ GLIBC_2.4 pthread_getcpuclockid F
 GLIBC_2.4 pthread_join F
 GLIBC_2.4 pthread_kill F
 GLIBC_2.4 pthread_kill_other_threads_np F
-GLIBC_2.4 pthread_mutex_destroy F
 GLIBC_2.4 pthread_mutex_getprioceiling F
-GLIBC_2.4 pthread_mutex_init F
-GLIBC_2.4 pthread_mutex_lock F
 GLIBC_2.4 pthread_mutex_setprioceiling F
 GLIBC_2.4 pthread_mutex_timedlock F
 GLIBC_2.4 pthread_mutex_trylock F
-GLIBC_2.4 pthread_mutex_unlock F
 GLIBC_2.4 pthread_mutexattr_destroy F
 GLIBC_2.4 pthread_mutexattr_getkind_np F
 GLIBC_2.4 pthread_mutexattr_getprioceiling F
diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
index b1ad96e072..2a5bee30d1 100644
--- a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
@@ -187,6 +187,10 @@ GLIBC_2.0 __progname D 0x4
 GLIBC_2.0 __progname_full D 0x4
 GLIBC_2.0 __pthread_getspecific F
 GLIBC_2.0 __pthread_key_create F
+GLIBC_2.0 __pthread_mutex_destroy F
+GLIBC_2.0 __pthread_mutex_init F
+GLIBC_2.0 __pthread_mutex_lock F
+GLIBC_2.0 __pthread_mutex_unlock F
 GLIBC_2.0 __pthread_once F
 GLIBC_2.0 __pthread_setspecific F
 GLIBC_2.0 __rcmd_errstr D 0x4
@@ -2212,6 +2216,10 @@ GLIBC_2.34 __libc_start_main F
 GLIBC_2.34 __pthread_cleanup_routine F
 GLIBC_2.34 __pthread_getspecific F
 GLIBC_2.34 __pthread_key_create F
+GLIBC_2.34 __pthread_mutex_destroy F
+GLIBC_2.34 __pthread_mutex_init F
+GLIBC_2.34 __pthread_mutex_lock F
+GLIBC_2.34 __pthread_mutex_unlock F
 GLIBC_2.34 __pthread_once F
 GLIBC_2.34 __pthread_rwlock_rdlock F
 GLIBC_2.34 __pthread_rwlock_unlock F
diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
index 35cc2f61c5..4065a88a3b 100644
--- a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
@@ -8,11 +8,7 @@ GLIBC_2.0 __fcntl F
 GLIBC_2.0 __h_errno_location F
 GLIBC_2.0 __lseek F
 GLIBC_2.0 __open F
-GLIBC_2.0 __pthread_mutex_destroy F
-GLIBC_2.0 __pthread_mutex_init F
-GLIBC_2.0 __pthread_mutex_lock F
 GLIBC_2.0 __pthread_mutex_trylock F
-GLIBC_2.0 __pthread_mutex_unlock F
 GLIBC_2.0 __pthread_mutexattr_destroy F
 GLIBC_2.0 __pthread_mutexattr_init F
 GLIBC_2.0 __pthread_mutexattr_settype F
@@ -43,11 +39,7 @@ GLIBC_2.0 pthread_detach F
 GLIBC_2.0 pthread_join F
 GLIBC_2.0 pthread_kill F
 GLIBC_2.0 pthread_kill_other_threads_np F
-GLIBC_2.0 pthread_mutex_destroy F
-GLIBC_2.0 pthread_mutex_init F
-GLIBC_2.0 pthread_mutex_lock F
 GLIBC_2.0 pthread_mutex_trylock F
-GLIBC_2.0 pthread_mutex_unlock F
 GLIBC_2.0 pthread_mutexattr_destroy F
 GLIBC_2.0 pthread_mutexattr_getkind_np F
 GLIBC_2.0 pthread_mutexattr_init F
diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
index 3e0cceae93..b46567880e 100644
--- a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
@@ -342,6 +342,10 @@ GLIBC_2.18 __progname_full D 0x4
 GLIBC_2.18 __pthread_cleanup_routine F
 GLIBC_2.18 __pthread_getspecific F
 GLIBC_2.18 __pthread_key_create F
+GLIBC_2.18 __pthread_mutex_destroy F
+GLIBC_2.18 __pthread_mutex_init F
+GLIBC_2.18 __pthread_mutex_lock F
+GLIBC_2.18 __pthread_mutex_unlock F
 GLIBC_2.18 __pthread_once F
 GLIBC_2.18 __pthread_rwlock_rdlock F
 GLIBC_2.18 __pthread_rwlock_unlock F
@@ -2193,6 +2197,10 @@ GLIBC_2.34 __libc_start_main F
 GLIBC_2.34 __pthread_cleanup_routine F
 GLIBC_2.34 __pthread_getspecific F
 GLIBC_2.34 __pthread_key_create F
+GLIBC_2.34 __pthread_mutex_destroy F
+GLIBC_2.34 __pthread_mutex_init F
+GLIBC_2.34 __pthread_mutex_lock F
+GLIBC_2.34 __pthread_mutex_unlock F
 GLIBC_2.34 __pthread_once F
 GLIBC_2.34 __pthread_rwlock_rdlock F
 GLIBC_2.34 __pthread_rwlock_unlock F
diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
index 0db83c2f88..d8a9642f66 100644
--- a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
@@ -13,11 +13,7 @@ GLIBC_2.18 __lseek F
 GLIBC_2.18 __open F
 GLIBC_2.18 __open64 F
 GLIBC_2.18 __pread64 F
-GLIBC_2.18 __pthread_mutex_destroy F
-GLIBC_2.18 __pthread_mutex_init F
-GLIBC_2.18 __pthread_mutex_lock F
 GLIBC_2.18 __pthread_mutex_trylock F
-GLIBC_2.18 __pthread_mutex_unlock F
 GLIBC_2.18 __pthread_mutexattr_destroy F
 GLIBC_2.18 __pthread_mutexattr_init F
 GLIBC_2.18 __pthread_mutexattr_settype F
@@ -85,14 +81,10 @@ GLIBC_2.18 pthread_getname_np F
 GLIBC_2.18 pthread_join F
 GLIBC_2.18 pthread_kill F
 GLIBC_2.18 pthread_kill_other_threads_np F
-GLIBC_2.18 pthread_mutex_destroy F
 GLIBC_2.18 pthread_mutex_getprioceiling F
-GLIBC_2.18 pthread_mutex_init F
-GLIBC_2.18 pthread_mutex_lock F
 GLIBC_2.18 pthread_mutex_setprioceiling F
 GLIBC_2.18 pthread_mutex_timedlock F
 GLIBC_2.18 pthread_mutex_trylock F
-GLIBC_2.18 pthread_mutex_unlock F
 GLIBC_2.18 pthread_mutexattr_destroy F
 GLIBC_2.18 pthread_mutexattr_getkind_np F
 GLIBC_2.18 pthread_mutexattr_getprioceiling F
diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
index 4ee88a1d01..7796c5313a 100644
--- a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
@@ -342,6 +342,10 @@ GLIBC_2.18 __progname_full D 0x4
 GLIBC_2.18 __pthread_cleanup_routine F
 GLIBC_2.18 __pthread_getspecific F
 GLIBC_2.18 __pthread_key_create F
+GLIBC_2.18 __pthread_mutex_destroy F
+GLIBC_2.18 __pthread_mutex_init F
+GLIBC_2.18 __pthread_mutex_lock F
+GLIBC_2.18 __pthread_mutex_unlock F
 GLIBC_2.18 __pthread_once F
 GLIBC_2.18 __pthread_rwlock_rdlock F
 GLIBC_2.18 __pthread_rwlock_unlock F
@@ -2190,6 +2194,10 @@ GLIBC_2.34 __libc_start_main F
 GLIBC_2.34 __pthread_cleanup_routine F
 GLIBC_2.34 __pthread_getspecific F
 GLIBC_2.34 __pthread_key_create F
+GLIBC_2.34 __pthread_mutex_destroy F
+GLIBC_2.34 __pthread_mutex_init F
+GLIBC_2.34 __pthread_mutex_lock F
+GLIBC_2.34 __pthread_mutex_unlock F
 GLIBC_2.34 __pthread_once F
 GLIBC_2.34 __pthread_rwlock_rdlock F
 GLIBC_2.34 __pthread_rwlock_unlock F
diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
index 0db83c2f88..d8a9642f66 100644
--- a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
@@ -13,11 +13,7 @@ GLIBC_2.18 __lseek F
 GLIBC_2.18 __open F
 GLIBC_2.18 __open64 F
 GLIBC_2.18 __pread64 F
-GLIBC_2.18 __pthread_mutex_destroy F
-GLIBC_2.18 __pthread_mutex_init F
-GLIBC_2.18 __pthread_mutex_lock F
 GLIBC_2.18 __pthread_mutex_trylock F
-GLIBC_2.18 __pthread_mutex_unlock F
 GLIBC_2.18 __pthread_mutexattr_destroy F
 GLIBC_2.18 __pthread_mutexattr_init F
 GLIBC_2.18 __pthread_mutexattr_settype F
@@ -85,14 +81,10 @@ GLIBC_2.18 pthread_getname_np F
 GLIBC_2.18 pthread_join F
 GLIBC_2.18 pthread_kill F
 GLIBC_2.18 pthread_kill_other_threads_np F
-GLIBC_2.18 pthread_mutex_destroy F
 GLIBC_2.18 pthread_mutex_getprioceiling F
-GLIBC_2.18 pthread_mutex_init F
-GLIBC_2.18 pthread_mutex_lock F
 GLIBC_2.18 pthread_mutex_setprioceiling F
 GLIBC_2.18 pthread_mutex_timedlock F
 GLIBC_2.18 pthread_mutex_trylock F
-GLIBC_2.18 pthread_mutex_unlock F
 GLIBC_2.18 pthread_mutexattr_destroy F
 GLIBC_2.18 pthread_mutexattr_getkind_np F
 GLIBC_2.18 pthread_mutexattr_getprioceiling F
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
index e67af35000..c3e658dbc1 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
@@ -185,6 +185,10 @@ GLIBC_2.0 __progname D 0x4
 GLIBC_2.0 __progname_full D 0x4
 GLIBC_2.0 __pthread_getspecific F
 GLIBC_2.0 __pthread_key_create F
+GLIBC_2.0 __pthread_mutex_destroy F
+GLIBC_2.0 __pthread_mutex_init F
+GLIBC_2.0 __pthread_mutex_lock F
+GLIBC_2.0 __pthread_mutex_unlock F
 GLIBC_2.0 __pthread_once F
 GLIBC_2.0 __pthread_setspecific F
 GLIBC_2.0 __rcmd_errstr D 0x4
@@ -2183,6 +2187,10 @@ GLIBC_2.34 __libc_start_main F
 GLIBC_2.34 __pthread_cleanup_routine F
 GLIBC_2.34 __pthread_getspecific F
 GLIBC_2.34 __pthread_key_create F
+GLIBC_2.34 __pthread_mutex_destroy F
+GLIBC_2.34 __pthread_mutex_init F
+GLIBC_2.34 __pthread_mutex_lock F
+GLIBC_2.34 __pthread_mutex_unlock F
 GLIBC_2.34 __pthread_once F
 GLIBC_2.34 __pthread_rwlock_rdlock F
 GLIBC_2.34 __pthread_rwlock_unlock F
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
index a1a66138d4..4bd5de2dd7 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
@@ -8,11 +8,7 @@ GLIBC_2.0 __fcntl F
 GLIBC_2.0 __h_errno_location F
 GLIBC_2.0 __lseek F
 GLIBC_2.0 __open F
-GLIBC_2.0 __pthread_mutex_destroy F
-GLIBC_2.0 __pthread_mutex_init F
-GLIBC_2.0 __pthread_mutex_lock F
 GLIBC_2.0 __pthread_mutex_trylock F
-GLIBC_2.0 __pthread_mutex_unlock F
 GLIBC_2.0 __pthread_mutexattr_destroy F
 GLIBC_2.0 __pthread_mutexattr_init F
 GLIBC_2.0 __pthread_mutexattr_settype F
@@ -43,11 +39,7 @@ GLIBC_2.0 pthread_detach F
 GLIBC_2.0 pthread_join F
 GLIBC_2.0 pthread_kill F
 GLIBC_2.0 pthread_kill_other_threads_np F
-GLIBC_2.0 pthread_mutex_destroy F
-GLIBC_2.0 pthread_mutex_init F
-GLIBC_2.0 pthread_mutex_lock F
 GLIBC_2.0 pthread_mutex_trylock F
-GLIBC_2.0 pthread_mutex_unlock F
 GLIBC_2.0 pthread_mutexattr_destroy F
 GLIBC_2.0 pthread_mutexattr_getkind_np F
 GLIBC_2.0 pthread_mutexattr_init F
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
index 1ce0179391..bae73ebb39 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
@@ -185,6 +185,10 @@ GLIBC_2.0 __progname D 0x4
 GLIBC_2.0 __progname_full D 0x4
 GLIBC_2.0 __pthread_getspecific F
 GLIBC_2.0 __pthread_key_create F
+GLIBC_2.0 __pthread_mutex_destroy F
+GLIBC_2.0 __pthread_mutex_init F
+GLIBC_2.0 __pthread_mutex_lock F
+GLIBC_2.0 __pthread_mutex_unlock F
 GLIBC_2.0 __pthread_once F
 GLIBC_2.0 __pthread_setspecific F
 GLIBC_2.0 __rcmd_errstr D 0x4
@@ -2181,6 +2185,10 @@ GLIBC_2.34 __libc_start_main F
 GLIBC_2.34 __pthread_cleanup_routine F
 GLIBC_2.34 __pthread_getspecific F
 GLIBC_2.34 __pthread_key_create F
+GLIBC_2.34 __pthread_mutex_destroy F
+GLIBC_2.34 __pthread_mutex_init F
+GLIBC_2.34 __pthread_mutex_lock F
+GLIBC_2.34 __pthread_mutex_unlock F
 GLIBC_2.34 __pthread_once F
 GLIBC_2.34 __pthread_rwlock_rdlock F
 GLIBC_2.34 __pthread_rwlock_unlock F
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
index a1a66138d4..4bd5de2dd7 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
@@ -8,11 +8,7 @@ GLIBC_2.0 __fcntl F
 GLIBC_2.0 __h_errno_location F
 GLIBC_2.0 __lseek F
 GLIBC_2.0 __open F
-GLIBC_2.0 __pthread_mutex_destroy F
-GLIBC_2.0 __pthread_mutex_init F
-GLIBC_2.0 __pthread_mutex_lock F
 GLIBC_2.0 __pthread_mutex_trylock F
-GLIBC_2.0 __pthread_mutex_unlock F
 GLIBC_2.0 __pthread_mutexattr_destroy F
 GLIBC_2.0 __pthread_mutexattr_init F
 GLIBC_2.0 __pthread_mutexattr_settype F
@@ -43,11 +39,7 @@ GLIBC_2.0 pthread_detach F
 GLIBC_2.0 pthread_join F
 GLIBC_2.0 pthread_kill F
 GLIBC_2.0 pthread_kill_other_threads_np F
-GLIBC_2.0 pthread_mutex_destroy F
-GLIBC_2.0 pthread_mutex_init F
-GLIBC_2.0 pthread_mutex_lock F
 GLIBC_2.0 pthread_mutex_trylock F
-GLIBC_2.0 pthread_mutex_unlock F
 GLIBC_2.0 pthread_mutexattr_destroy F
 GLIBC_2.0 pthread_mutexattr_getkind_np F
 GLIBC_2.0 pthread_mutexattr_init F
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
index 54c2300420..74fb3b997e 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
@@ -185,6 +185,10 @@ GLIBC_2.0 __progname D 0x4
 GLIBC_2.0 __progname_full D 0x4
 GLIBC_2.0 __pthread_getspecific F
 GLIBC_2.0 __pthread_key_create F
+GLIBC_2.0 __pthread_mutex_destroy F
+GLIBC_2.0 __pthread_mutex_init F
+GLIBC_2.0 __pthread_mutex_lock F
+GLIBC_2.0 __pthread_mutex_unlock F
 GLIBC_2.0 __pthread_once F
 GLIBC_2.0 __pthread_setspecific F
 GLIBC_2.0 __rcmd_errstr D 0x4
@@ -2189,6 +2193,10 @@ GLIBC_2.34 __libc_start_main F
 GLIBC_2.34 __pthread_cleanup_routine F
 GLIBC_2.34 __pthread_getspecific F
 GLIBC_2.34 __pthread_key_create F
+GLIBC_2.34 __pthread_mutex_destroy F
+GLIBC_2.34 __pthread_mutex_init F
+GLIBC_2.34 __pthread_mutex_lock F
+GLIBC_2.34 __pthread_mutex_unlock F
 GLIBC_2.34 __pthread_once F
 GLIBC_2.34 __pthread_rwlock_rdlock F
 GLIBC_2.34 __pthread_rwlock_unlock F
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
index 90bbb7f253..3083e3d821 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
@@ -185,6 +185,10 @@ GLIBC_2.0 __progname D 0x8
 GLIBC_2.0 __progname_full D 0x8
 GLIBC_2.0 __pthread_getspecific F
 GLIBC_2.0 __pthread_key_create F
+GLIBC_2.0 __pthread_mutex_destroy F
+GLIBC_2.0 __pthread_mutex_init F
+GLIBC_2.0 __pthread_mutex_lock F
+GLIBC_2.0 __pthread_mutex_unlock F
 GLIBC_2.0 __pthread_once F
 GLIBC_2.0 __pthread_setspecific F
 GLIBC_2.0 __rcmd_errstr D 0x8
@@ -2183,6 +2187,10 @@ GLIBC_2.34 __libc_start_main F
 GLIBC_2.34 __pthread_cleanup_routine F
 GLIBC_2.34 __pthread_getspecific F
 GLIBC_2.34 __pthread_key_create F
+GLIBC_2.34 __pthread_mutex_destroy F
+GLIBC_2.34 __pthread_mutex_init F
+GLIBC_2.34 __pthread_mutex_lock F
+GLIBC_2.34 __pthread_mutex_unlock F
 GLIBC_2.34 __pthread_once F
 GLIBC_2.34 __pthread_rwlock_rdlock F
 GLIBC_2.34 __pthread_rwlock_unlock F
diff --git a/sysdeps/unix/sysv/linux/nios2/libc.abilist b/sysdeps/unix/sysv/linux/nios2/libc.abilist
index 1f68c2a3fb..f79ca91eb7 100644
--- a/sysdeps/unix/sysv/linux/nios2/libc.abilist
+++ b/sysdeps/unix/sysv/linux/nios2/libc.abilist
@@ -379,6 +379,10 @@ GLIBC_2.21 __progname_full D 0x4
 GLIBC_2.21 __pthread_cleanup_routine F
 GLIBC_2.21 __pthread_getspecific F
 GLIBC_2.21 __pthread_key_create F
+GLIBC_2.21 __pthread_mutex_destroy F
+GLIBC_2.21 __pthread_mutex_init F
+GLIBC_2.21 __pthread_mutex_lock F
+GLIBC_2.21 __pthread_mutex_unlock F
 GLIBC_2.21 __pthread_once F
 GLIBC_2.21 __pthread_rwlock_rdlock F
 GLIBC_2.21 __pthread_rwlock_unlock F
@@ -2231,6 +2235,10 @@ GLIBC_2.34 __libc_start_main F
 GLIBC_2.34 __pthread_cleanup_routine F
 GLIBC_2.34 __pthread_getspecific F
 GLIBC_2.34 __pthread_key_create F
+GLIBC_2.34 __pthread_mutex_destroy F
+GLIBC_2.34 __pthread_mutex_init F
+GLIBC_2.34 __pthread_mutex_lock F
+GLIBC_2.34 __pthread_mutex_unlock F
 GLIBC_2.34 __pthread_once F
 GLIBC_2.34 __pthread_rwlock_rdlock F
 GLIBC_2.34 __pthread_rwlock_unlock F
diff --git a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
index 806432b7b4..c469853b65 100644
--- a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
@@ -13,11 +13,7 @@ GLIBC_2.21 __lseek F
 GLIBC_2.21 __open F
 GLIBC_2.21 __open64 F
 GLIBC_2.21 __pread64 F
-GLIBC_2.21 __pthread_mutex_destroy F
-GLIBC_2.21 __pthread_mutex_init F
-GLIBC_2.21 __pthread_mutex_lock F
 GLIBC_2.21 __pthread_mutex_trylock F
-GLIBC_2.21 __pthread_mutex_unlock F
 GLIBC_2.21 __pthread_mutexattr_destroy F
 GLIBC_2.21 __pthread_mutexattr_init F
 GLIBC_2.21 __pthread_mutexattr_settype F
@@ -85,14 +81,10 @@ GLIBC_2.21 pthread_getname_np F
 GLIBC_2.21 pthread_join F
 GLIBC_2.21 pthread_kill F
 GLIBC_2.21 pthread_kill_other_threads_np F
-GLIBC_2.21 pthread_mutex_destroy F
 GLIBC_2.21 pthread_mutex_getprioceiling F
-GLIBC_2.21 pthread_mutex_init F
-GLIBC_2.21 pthread_mutex_lock F
 GLIBC_2.21 pthread_mutex_setprioceiling F
 GLIBC_2.21 pthread_mutex_timedlock F
 GLIBC_2.21 pthread_mutex_trylock F
-GLIBC_2.21 pthread_mutex_unlock F
 GLIBC_2.21 pthread_mutexattr_destroy F
 GLIBC_2.21 pthread_mutexattr_getkind_np F
 GLIBC_2.21 pthread_mutexattr_getprioceiling F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
index a41536e4cd..f5408e6078 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
@@ -196,6 +196,10 @@ GLIBC_2.0 __progname D 0x4
 GLIBC_2.0 __progname_full D 0x4
 GLIBC_2.0 __pthread_getspecific F
 GLIBC_2.0 __pthread_key_create F
+GLIBC_2.0 __pthread_mutex_destroy F
+GLIBC_2.0 __pthread_mutex_init F
+GLIBC_2.0 __pthread_mutex_lock F
+GLIBC_2.0 __pthread_mutex_unlock F
 GLIBC_2.0 __pthread_once F
 GLIBC_2.0 __pthread_setspecific F
 GLIBC_2.0 __rcmd_errstr D 0x4
@@ -2239,6 +2243,10 @@ GLIBC_2.34 __libc_start_main F
 GLIBC_2.34 __pthread_cleanup_routine F
 GLIBC_2.34 __pthread_getspecific F
 GLIBC_2.34 __pthread_key_create F
+GLIBC_2.34 __pthread_mutex_destroy F
+GLIBC_2.34 __pthread_mutex_init F
+GLIBC_2.34 __pthread_mutex_lock F
+GLIBC_2.34 __pthread_mutex_unlock F
 GLIBC_2.34 __pthread_once F
 GLIBC_2.34 __pthread_rwlock_rdlock F
 GLIBC_2.34 __pthread_rwlock_unlock F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
index d0646d0eaf..44fb3a6743 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
@@ -8,11 +8,7 @@ GLIBC_2.0 __fcntl F
 GLIBC_2.0 __h_errno_location F
 GLIBC_2.0 __lseek F
 GLIBC_2.0 __open F
-GLIBC_2.0 __pthread_mutex_destroy F
-GLIBC_2.0 __pthread_mutex_init F
-GLIBC_2.0 __pthread_mutex_lock F
 GLIBC_2.0 __pthread_mutex_trylock F
-GLIBC_2.0 __pthread_mutex_unlock F
 GLIBC_2.0 __pthread_mutexattr_destroy F
 GLIBC_2.0 __pthread_mutexattr_init F
 GLIBC_2.0 __pthread_mutexattr_settype F
@@ -43,11 +39,7 @@ GLIBC_2.0 pthread_detach F
 GLIBC_2.0 pthread_join F
 GLIBC_2.0 pthread_kill F
 GLIBC_2.0 pthread_kill_other_threads_np F
-GLIBC_2.0 pthread_mutex_destroy F
-GLIBC_2.0 pthread_mutex_init F
-GLIBC_2.0 pthread_mutex_lock F
 GLIBC_2.0 pthread_mutex_trylock F
-GLIBC_2.0 pthread_mutex_unlock F
 GLIBC_2.0 pthread_mutexattr_destroy F
 GLIBC_2.0 pthread_mutexattr_getkind_np F
 GLIBC_2.0 pthread_mutexattr_init F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
index cdd6e98496..a7587dcc45 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
@@ -196,6 +196,10 @@ GLIBC_2.0 __progname D 0x4
 GLIBC_2.0 __progname_full D 0x4
 GLIBC_2.0 __pthread_getspecific F
 GLIBC_2.0 __pthread_key_create F
+GLIBC_2.0 __pthread_mutex_destroy F
+GLIBC_2.0 __pthread_mutex_init F
+GLIBC_2.0 __pthread_mutex_lock F
+GLIBC_2.0 __pthread_mutex_unlock F
 GLIBC_2.0 __pthread_once F
 GLIBC_2.0 __pthread_setspecific F
 GLIBC_2.0 __rcmd_errstr D 0x4
@@ -2272,6 +2276,10 @@ GLIBC_2.34 __libc_start_main F
 GLIBC_2.34 __pthread_cleanup_routine F
 GLIBC_2.34 __pthread_getspecific F
 GLIBC_2.34 __pthread_key_create F
+GLIBC_2.34 __pthread_mutex_destroy F
+GLIBC_2.34 __pthread_mutex_init F
+GLIBC_2.34 __pthread_mutex_lock F
+GLIBC_2.34 __pthread_mutex_unlock F
 GLIBC_2.34 __pthread_once F
 GLIBC_2.34 __pthread_rwlock_rdlock F
 GLIBC_2.34 __pthread_rwlock_unlock F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
index 63a7449937..7ea6dc6574 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
@@ -411,6 +411,10 @@ GLIBC_2.3 __progname D 0x8
 GLIBC_2.3 __progname_full D 0x8
 GLIBC_2.3 __pthread_getspecific F
 GLIBC_2.3 __pthread_key_create F
+GLIBC_2.3 __pthread_mutex_destroy F
+GLIBC_2.3 __pthread_mutex_init F
+GLIBC_2.3 __pthread_mutex_lock F
+GLIBC_2.3 __pthread_mutex_unlock F
 GLIBC_2.3 __pthread_once F
 GLIBC_2.3 __pthread_rwlock_rdlock F
 GLIBC_2.3 __pthread_rwlock_unlock F
@@ -2102,6 +2106,10 @@ GLIBC_2.34 __libc_start_main F
 GLIBC_2.34 __pthread_cleanup_routine F
 GLIBC_2.34 __pthread_getspecific F
 GLIBC_2.34 __pthread_key_create F
+GLIBC_2.34 __pthread_mutex_destroy F
+GLIBC_2.34 __pthread_mutex_init F
+GLIBC_2.34 __pthread_mutex_lock F
+GLIBC_2.34 __pthread_mutex_unlock F
 GLIBC_2.34 __pthread_once F
 GLIBC_2.34 __pthread_rwlock_rdlock F
 GLIBC_2.34 __pthread_rwlock_unlock F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
index 72d49ce4f3..2e77dc2fb3 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
@@ -41,11 +41,7 @@ GLIBC_2.3 __lseek F
 GLIBC_2.3 __open F
 GLIBC_2.3 __open64 F
 GLIBC_2.3 __pread64 F
-GLIBC_2.3 __pthread_mutex_destroy F
-GLIBC_2.3 __pthread_mutex_init F
-GLIBC_2.3 __pthread_mutex_lock F
 GLIBC_2.3 __pthread_mutex_trylock F
-GLIBC_2.3 __pthread_mutex_unlock F
 GLIBC_2.3 __pthread_mutexattr_destroy F
 GLIBC_2.3 __pthread_mutexattr_init F
 GLIBC_2.3 __pthread_mutexattr_settype F
@@ -103,12 +99,8 @@ GLIBC_2.3 pthread_getcpuclockid F
 GLIBC_2.3 pthread_join F
 GLIBC_2.3 pthread_kill F
 GLIBC_2.3 pthread_kill_other_threads_np F
-GLIBC_2.3 pthread_mutex_destroy F
-GLIBC_2.3 pthread_mutex_init F
-GLIBC_2.3 pthread_mutex_lock F
 GLIBC_2.3 pthread_mutex_timedlock F
 GLIBC_2.3 pthread_mutex_trylock F
-GLIBC_2.3 pthread_mutex_unlock F
 GLIBC_2.3 pthread_mutexattr_destroy F
 GLIBC_2.3 pthread_mutexattr_getkind_np F
 GLIBC_2.3 pthread_mutexattr_getpshared F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
index b6de88ea41..f994892fd9 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
@@ -427,6 +427,10 @@ GLIBC_2.17 __progname_full D 0x8
 GLIBC_2.17 __pthread_cleanup_routine F
 GLIBC_2.17 __pthread_getspecific F
 GLIBC_2.17 __pthread_key_create F
+GLIBC_2.17 __pthread_mutex_destroy F
+GLIBC_2.17 __pthread_mutex_init F
+GLIBC_2.17 __pthread_mutex_lock F
+GLIBC_2.17 __pthread_mutex_unlock F
 GLIBC_2.17 __pthread_once F
 GLIBC_2.17 __pthread_rwlock_rdlock F
 GLIBC_2.17 __pthread_rwlock_unlock F
@@ -2393,6 +2397,10 @@ GLIBC_2.34 __libc_start_main F
 GLIBC_2.34 __pthread_cleanup_routine F
 GLIBC_2.34 __pthread_getspecific F
 GLIBC_2.34 __pthread_key_create F
+GLIBC_2.34 __pthread_mutex_destroy F
+GLIBC_2.34 __pthread_mutex_init F
+GLIBC_2.34 __pthread_mutex_lock F
+GLIBC_2.34 __pthread_mutex_unlock F
 GLIBC_2.34 __pthread_once F
 GLIBC_2.34 __pthread_rwlock_rdlock F
 GLIBC_2.34 __pthread_rwlock_unlock F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
index 9a24f796de..29a98fc2f4 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
@@ -13,11 +13,7 @@ GLIBC_2.17 __lseek F
 GLIBC_2.17 __open F
 GLIBC_2.17 __open64 F
 GLIBC_2.17 __pread64 F
-GLIBC_2.17 __pthread_mutex_destroy F
-GLIBC_2.17 __pthread_mutex_init F
-GLIBC_2.17 __pthread_mutex_lock F
 GLIBC_2.17 __pthread_mutex_trylock F
-GLIBC_2.17 __pthread_mutex_unlock F
 GLIBC_2.17 __pthread_mutexattr_destroy F
 GLIBC_2.17 __pthread_mutexattr_init F
 GLIBC_2.17 __pthread_mutexattr_settype F
@@ -84,14 +80,10 @@ GLIBC_2.17 pthread_getname_np F
 GLIBC_2.17 pthread_join F
 GLIBC_2.17 pthread_kill F
 GLIBC_2.17 pthread_kill_other_threads_np F
-GLIBC_2.17 pthread_mutex_destroy F
 GLIBC_2.17 pthread_mutex_getprioceiling F
-GLIBC_2.17 pthread_mutex_init F
-GLIBC_2.17 pthread_mutex_lock F
 GLIBC_2.17 pthread_mutex_setprioceiling F
 GLIBC_2.17 pthread_mutex_timedlock F
 GLIBC_2.17 pthread_mutex_trylock F
-GLIBC_2.17 pthread_mutex_unlock F
 GLIBC_2.17 pthread_mutexattr_destroy F
 GLIBC_2.17 pthread_mutexattr_getkind_np F
 GLIBC_2.17 pthread_mutexattr_getprioceiling F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
index d81b46d597..70b873f9fb 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
@@ -327,6 +327,10 @@ GLIBC_2.33 __progname_full D 0x4
 GLIBC_2.33 __pthread_cleanup_routine F
 GLIBC_2.33 __pthread_getspecific F
 GLIBC_2.33 __pthread_key_create F
+GLIBC_2.33 __pthread_mutex_destroy F
+GLIBC_2.33 __pthread_mutex_init F
+GLIBC_2.33 __pthread_mutex_lock F
+GLIBC_2.33 __pthread_mutex_unlock F
 GLIBC_2.33 __pthread_once F
 GLIBC_2.33 __pthread_rwlock_rdlock F
 GLIBC_2.33 __pthread_rwlock_unlock F
@@ -1960,6 +1964,10 @@ GLIBC_2.34 __libc_start_main F
 GLIBC_2.34 __pthread_cleanup_routine F
 GLIBC_2.34 __pthread_getspecific F
 GLIBC_2.34 __pthread_key_create F
+GLIBC_2.34 __pthread_mutex_destroy F
+GLIBC_2.34 __pthread_mutex_init F
+GLIBC_2.34 __pthread_mutex_lock F
+GLIBC_2.34 __pthread_mutex_unlock F
 GLIBC_2.34 __pthread_once F
 GLIBC_2.34 __pthread_rwlock_rdlock F
 GLIBC_2.34 __pthread_rwlock_unlock F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
index 10e50b67c0..911969f7eb 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
@@ -12,11 +12,7 @@ GLIBC_2.33 __lseek F
 GLIBC_2.33 __open F
 GLIBC_2.33 __open64 F
 GLIBC_2.33 __pread64 F
-GLIBC_2.33 __pthread_mutex_destroy F
-GLIBC_2.33 __pthread_mutex_init F
-GLIBC_2.33 __pthread_mutex_lock F
 GLIBC_2.33 __pthread_mutex_trylock F
-GLIBC_2.33 __pthread_mutex_unlock F
 GLIBC_2.33 __pthread_mutexattr_destroy F
 GLIBC_2.33 __pthread_mutexattr_init F
 GLIBC_2.33 __pthread_mutexattr_settype F
@@ -99,14 +95,10 @@ GLIBC_2.33 pthread_join 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_destroy F
 GLIBC_2.33 pthread_mutex_getprioceiling F
-GLIBC_2.33 pthread_mutex_init F
-GLIBC_2.33 pthread_mutex_lock F
 GLIBC_2.33 pthread_mutex_setprioceiling F
 GLIBC_2.33 pthread_mutex_timedlock F
 GLIBC_2.33 pthread_mutex_trylock F
-GLIBC_2.33 pthread_mutex_unlock F
 GLIBC_2.33 pthread_mutexattr_destroy F
 GLIBC_2.33 pthread_mutexattr_getkind_np F
 GLIBC_2.33 pthread_mutexattr_getprioceiling F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
index fbd1c5e5cf..ddfac62fd0 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
@@ -338,6 +338,10 @@ GLIBC_2.27 __progname_full D 0x8
 GLIBC_2.27 __pthread_cleanup_routine F
 GLIBC_2.27 __pthread_getspecific F
 GLIBC_2.27 __pthread_key_create F
+GLIBC_2.27 __pthread_mutex_destroy F
+GLIBC_2.27 __pthread_mutex_init F
+GLIBC_2.27 __pthread_mutex_lock F
+GLIBC_2.27 __pthread_mutex_unlock F
 GLIBC_2.27 __pthread_once F
 GLIBC_2.27 __pthread_rwlock_rdlock F
 GLIBC_2.27 __pthread_rwlock_unlock F
@@ -2160,6 +2164,10 @@ GLIBC_2.34 __libc_start_main F
 GLIBC_2.34 __pthread_cleanup_routine F
 GLIBC_2.34 __pthread_getspecific F
 GLIBC_2.34 __pthread_key_create F
+GLIBC_2.34 __pthread_mutex_destroy F
+GLIBC_2.34 __pthread_mutex_init F
+GLIBC_2.34 __pthread_mutex_lock F
+GLIBC_2.34 __pthread_mutex_unlock F
 GLIBC_2.34 __pthread_once F
 GLIBC_2.34 __pthread_rwlock_rdlock F
 GLIBC_2.34 __pthread_rwlock_unlock F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
index ed24898e0d..21f462137a 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
@@ -13,11 +13,7 @@ GLIBC_2.27 __lseek F
 GLIBC_2.27 __open F
 GLIBC_2.27 __open64 F
 GLIBC_2.27 __pread64 F
-GLIBC_2.27 __pthread_mutex_destroy F
-GLIBC_2.27 __pthread_mutex_init F
-GLIBC_2.27 __pthread_mutex_lock F
 GLIBC_2.27 __pthread_mutex_trylock F
-GLIBC_2.27 __pthread_mutex_unlock F
 GLIBC_2.27 __pthread_mutexattr_destroy F
 GLIBC_2.27 __pthread_mutexattr_init F
 GLIBC_2.27 __pthread_mutexattr_settype F
@@ -85,14 +81,10 @@ GLIBC_2.27 pthread_getname_np F
 GLIBC_2.27 pthread_join F
 GLIBC_2.27 pthread_kill F
 GLIBC_2.27 pthread_kill_other_threads_np F
-GLIBC_2.27 pthread_mutex_destroy F
 GLIBC_2.27 pthread_mutex_getprioceiling F
-GLIBC_2.27 pthread_mutex_init F
-GLIBC_2.27 pthread_mutex_lock F
 GLIBC_2.27 pthread_mutex_setprioceiling F
 GLIBC_2.27 pthread_mutex_timedlock F
 GLIBC_2.27 pthread_mutex_trylock F
-GLIBC_2.27 pthread_mutex_unlock F
 GLIBC_2.27 pthread_mutexattr_destroy F
 GLIBC_2.27 pthread_mutexattr_getkind_np F
 GLIBC_2.27 pthread_mutexattr_getprioceiling F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
index 27a9b011a8..078237adb2 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
@@ -187,6 +187,10 @@ GLIBC_2.0 __progname D 0x4
 GLIBC_2.0 __progname_full D 0x4
 GLIBC_2.0 __pthread_getspecific F
 GLIBC_2.0 __pthread_key_create F
+GLIBC_2.0 __pthread_mutex_destroy F
+GLIBC_2.0 __pthread_mutex_init F
+GLIBC_2.0 __pthread_mutex_lock F
+GLIBC_2.0 __pthread_mutex_unlock F
 GLIBC_2.0 __pthread_once F
 GLIBC_2.0 __pthread_setspecific F
 GLIBC_2.0 __rcmd_errstr D 0x4
@@ -2237,6 +2241,10 @@ GLIBC_2.34 __libc_start_main F
 GLIBC_2.34 __pthread_cleanup_routine F
 GLIBC_2.34 __pthread_getspecific F
 GLIBC_2.34 __pthread_key_create F
+GLIBC_2.34 __pthread_mutex_destroy F
+GLIBC_2.34 __pthread_mutex_init F
+GLIBC_2.34 __pthread_mutex_lock F
+GLIBC_2.34 __pthread_mutex_unlock F
 GLIBC_2.34 __pthread_once F
 GLIBC_2.34 __pthread_rwlock_rdlock F
 GLIBC_2.34 __pthread_rwlock_unlock F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
index d6e91c977a..7b2edb7f57 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
@@ -8,11 +8,7 @@ GLIBC_2.0 __fcntl F
 GLIBC_2.0 __h_errno_location F
 GLIBC_2.0 __lseek F
 GLIBC_2.0 __open F
-GLIBC_2.0 __pthread_mutex_destroy F
-GLIBC_2.0 __pthread_mutex_init F
-GLIBC_2.0 __pthread_mutex_lock F
 GLIBC_2.0 __pthread_mutex_trylock F
-GLIBC_2.0 __pthread_mutex_unlock F
 GLIBC_2.0 __pthread_mutexattr_destroy F
 GLIBC_2.0 __pthread_mutexattr_init F
 GLIBC_2.0 __pthread_mutexattr_settype F
@@ -43,11 +39,7 @@ GLIBC_2.0 pthread_detach F
 GLIBC_2.0 pthread_join F
 GLIBC_2.0 pthread_kill F
 GLIBC_2.0 pthread_kill_other_threads_np F
-GLIBC_2.0 pthread_mutex_destroy F
-GLIBC_2.0 pthread_mutex_init F
-GLIBC_2.0 pthread_mutex_lock F
 GLIBC_2.0 pthread_mutex_trylock F
-GLIBC_2.0 pthread_mutex_unlock F
 GLIBC_2.0 pthread_mutexattr_destroy F
 GLIBC_2.0 pthread_mutexattr_getkind_np F
 GLIBC_2.0 pthread_mutexattr_init F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
index 9e79331100..a2700aba32 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
@@ -372,6 +372,10 @@ GLIBC_2.2 __progname D 0x8
 GLIBC_2.2 __progname_full D 0x8
 GLIBC_2.2 __pthread_getspecific F
 GLIBC_2.2 __pthread_key_create F
+GLIBC_2.2 __pthread_mutex_destroy F
+GLIBC_2.2 __pthread_mutex_init F
+GLIBC_2.2 __pthread_mutex_lock F
+GLIBC_2.2 __pthread_mutex_unlock F
 GLIBC_2.2 __pthread_once F
 GLIBC_2.2 __pthread_rwlock_rdlock F
 GLIBC_2.2 __pthread_rwlock_unlock F
@@ -2138,6 +2142,10 @@ GLIBC_2.34 __libc_start_main F
 GLIBC_2.34 __pthread_cleanup_routine F
 GLIBC_2.34 __pthread_getspecific F
 GLIBC_2.34 __pthread_key_create F
+GLIBC_2.34 __pthread_mutex_destroy F
+GLIBC_2.34 __pthread_mutex_init F
+GLIBC_2.34 __pthread_mutex_lock F
+GLIBC_2.34 __pthread_mutex_unlock F
 GLIBC_2.34 __pthread_once F
 GLIBC_2.34 __pthread_rwlock_rdlock F
 GLIBC_2.34 __pthread_rwlock_unlock F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
index 14489b39d0..8b4729fb7a 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
@@ -21,11 +21,7 @@ GLIBC_2.2 __lseek F
 GLIBC_2.2 __open F
 GLIBC_2.2 __open64 F
 GLIBC_2.2 __pread64 F
-GLIBC_2.2 __pthread_mutex_destroy F
-GLIBC_2.2 __pthread_mutex_init F
-GLIBC_2.2 __pthread_mutex_lock F
 GLIBC_2.2 __pthread_mutex_trylock F
-GLIBC_2.2 __pthread_mutex_unlock F
 GLIBC_2.2 __pthread_mutexattr_destroy F
 GLIBC_2.2 __pthread_mutexattr_init F
 GLIBC_2.2 __pthread_mutexattr_settype F
@@ -84,12 +80,8 @@ GLIBC_2.2 pthread_getcpuclockid F
 GLIBC_2.2 pthread_join F
 GLIBC_2.2 pthread_kill F
 GLIBC_2.2 pthread_kill_other_threads_np F
-GLIBC_2.2 pthread_mutex_destroy F
-GLIBC_2.2 pthread_mutex_init F
-GLIBC_2.2 pthread_mutex_lock F
 GLIBC_2.2 pthread_mutex_timedlock F
 GLIBC_2.2 pthread_mutex_trylock F
-GLIBC_2.2 pthread_mutex_unlock F
 GLIBC_2.2 pthread_mutexattr_destroy F
 GLIBC_2.2 pthread_mutexattr_getkind_np F
 GLIBC_2.2 pthread_mutexattr_getpshared F
diff --git a/sysdeps/unix/sysv/linux/sh/be/libc.abilist b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
index b7dd795864..4fce4b408e 100644
--- a/sysdeps/unix/sysv/linux/sh/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
@@ -361,6 +361,10 @@ GLIBC_2.2 __progname D 0x4
 GLIBC_2.2 __progname_full D 0x4
 GLIBC_2.2 __pthread_getspecific F
 GLIBC_2.2 __pthread_key_create F
+GLIBC_2.2 __pthread_mutex_destroy F
+GLIBC_2.2 __pthread_mutex_init F
+GLIBC_2.2 __pthread_mutex_lock F
+GLIBC_2.2 __pthread_mutex_unlock F
 GLIBC_2.2 __pthread_once F
 GLIBC_2.2 __pthread_rwlock_rdlock F
 GLIBC_2.2 __pthread_rwlock_unlock F
@@ -2107,6 +2111,10 @@ GLIBC_2.34 __libc_start_main F
 GLIBC_2.34 __pthread_cleanup_routine F
 GLIBC_2.34 __pthread_getspecific F
 GLIBC_2.34 __pthread_key_create F
+GLIBC_2.34 __pthread_mutex_destroy F
+GLIBC_2.34 __pthread_mutex_init F
+GLIBC_2.34 __pthread_mutex_lock F
+GLIBC_2.34 __pthread_mutex_unlock F
 GLIBC_2.34 __pthread_once F
 GLIBC_2.34 __pthread_rwlock_rdlock F
 GLIBC_2.34 __pthread_rwlock_unlock F
diff --git a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
index 70af59d791..9e15deaad8 100644
--- a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
@@ -20,11 +20,7 @@ GLIBC_2.2 __lseek F
 GLIBC_2.2 __open F
 GLIBC_2.2 __open64 F
 GLIBC_2.2 __pread64 F
-GLIBC_2.2 __pthread_mutex_destroy F
-GLIBC_2.2 __pthread_mutex_init F
-GLIBC_2.2 __pthread_mutex_lock F
 GLIBC_2.2 __pthread_mutex_trylock F
-GLIBC_2.2 __pthread_mutex_unlock F
 GLIBC_2.2 __pthread_mutexattr_destroy F
 GLIBC_2.2 __pthread_mutexattr_init F
 GLIBC_2.2 __pthread_mutexattr_settype F
@@ -83,12 +79,8 @@ GLIBC_2.2 pthread_getcpuclockid F
 GLIBC_2.2 pthread_join F
 GLIBC_2.2 pthread_kill F
 GLIBC_2.2 pthread_kill_other_threads_np F
-GLIBC_2.2 pthread_mutex_destroy F
-GLIBC_2.2 pthread_mutex_init F
-GLIBC_2.2 pthread_mutex_lock F
 GLIBC_2.2 pthread_mutex_timedlock F
 GLIBC_2.2 pthread_mutex_trylock F
-GLIBC_2.2 pthread_mutex_unlock F
 GLIBC_2.2 pthread_mutexattr_destroy F
 GLIBC_2.2 pthread_mutexattr_getkind_np F
 GLIBC_2.2 pthread_mutexattr_getpshared F
diff --git a/sysdeps/unix/sysv/linux/sh/le/libc.abilist b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
index eea30cd098..5dba0f5d0c 100644
--- a/sysdeps/unix/sysv/linux/sh/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
@@ -361,6 +361,10 @@ GLIBC_2.2 __progname D 0x4
 GLIBC_2.2 __progname_full D 0x4
 GLIBC_2.2 __pthread_getspecific F
 GLIBC_2.2 __pthread_key_create F
+GLIBC_2.2 __pthread_mutex_destroy F
+GLIBC_2.2 __pthread_mutex_init F
+GLIBC_2.2 __pthread_mutex_lock F
+GLIBC_2.2 __pthread_mutex_unlock F
 GLIBC_2.2 __pthread_once F
 GLIBC_2.2 __pthread_rwlock_rdlock F
 GLIBC_2.2 __pthread_rwlock_unlock F
@@ -2104,6 +2108,10 @@ GLIBC_2.34 __libc_start_main F
 GLIBC_2.34 __pthread_cleanup_routine F
 GLIBC_2.34 __pthread_getspecific F
 GLIBC_2.34 __pthread_key_create F
+GLIBC_2.34 __pthread_mutex_destroy F
+GLIBC_2.34 __pthread_mutex_init F
+GLIBC_2.34 __pthread_mutex_lock F
+GLIBC_2.34 __pthread_mutex_unlock F
 GLIBC_2.34 __pthread_once F
 GLIBC_2.34 __pthread_rwlock_rdlock F
 GLIBC_2.34 __pthread_rwlock_unlock F
diff --git a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
index 70af59d791..9e15deaad8 100644
--- a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
@@ -20,11 +20,7 @@ GLIBC_2.2 __lseek F
 GLIBC_2.2 __open F
 GLIBC_2.2 __open64 F
 GLIBC_2.2 __pread64 F
-GLIBC_2.2 __pthread_mutex_destroy F
-GLIBC_2.2 __pthread_mutex_init F
-GLIBC_2.2 __pthread_mutex_lock F
 GLIBC_2.2 __pthread_mutex_trylock F
-GLIBC_2.2 __pthread_mutex_unlock F
 GLIBC_2.2 __pthread_mutexattr_destroy F
 GLIBC_2.2 __pthread_mutexattr_init F
 GLIBC_2.2 __pthread_mutexattr_settype F
@@ -83,12 +79,8 @@ GLIBC_2.2 pthread_getcpuclockid F
 GLIBC_2.2 pthread_join F
 GLIBC_2.2 pthread_kill F
 GLIBC_2.2 pthread_kill_other_threads_np F
-GLIBC_2.2 pthread_mutex_destroy F
-GLIBC_2.2 pthread_mutex_init F
-GLIBC_2.2 pthread_mutex_lock F
 GLIBC_2.2 pthread_mutex_timedlock F
 GLIBC_2.2 pthread_mutex_trylock F
-GLIBC_2.2 pthread_mutex_unlock F
 GLIBC_2.2 pthread_mutexattr_destroy F
 GLIBC_2.2 pthread_mutexattr_getkind_np F
 GLIBC_2.2 pthread_mutexattr_getpshared F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
index 4944c4159b..e064e5a4dc 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
@@ -191,6 +191,10 @@ GLIBC_2.0 __progname D 0x4
 GLIBC_2.0 __progname_full D 0x4
 GLIBC_2.0 __pthread_getspecific F
 GLIBC_2.0 __pthread_key_create F
+GLIBC_2.0 __pthread_mutex_destroy F
+GLIBC_2.0 __pthread_mutex_init F
+GLIBC_2.0 __pthread_mutex_lock F
+GLIBC_2.0 __pthread_mutex_unlock F
 GLIBC_2.0 __pthread_once F
 GLIBC_2.0 __pthread_setspecific F
 GLIBC_2.0 __rcmd_errstr D 0x4
@@ -2228,6 +2232,10 @@ GLIBC_2.34 __libc_start_main F
 GLIBC_2.34 __pthread_cleanup_routine F
 GLIBC_2.34 __pthread_getspecific F
 GLIBC_2.34 __pthread_key_create F
+GLIBC_2.34 __pthread_mutex_destroy F
+GLIBC_2.34 __pthread_mutex_init F
+GLIBC_2.34 __pthread_mutex_lock F
+GLIBC_2.34 __pthread_mutex_unlock F
 GLIBC_2.34 __pthread_once F
 GLIBC_2.34 __pthread_rwlock_rdlock F
 GLIBC_2.34 __pthread_rwlock_unlock F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
index a7b3fd73ab..29cb6259a5 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
@@ -8,11 +8,7 @@ GLIBC_2.0 __fcntl F
 GLIBC_2.0 __h_errno_location F
 GLIBC_2.0 __lseek F
 GLIBC_2.0 __open F
-GLIBC_2.0 __pthread_mutex_destroy F
-GLIBC_2.0 __pthread_mutex_init F
-GLIBC_2.0 __pthread_mutex_lock F
 GLIBC_2.0 __pthread_mutex_trylock F
-GLIBC_2.0 __pthread_mutex_unlock F
 GLIBC_2.0 __pthread_mutexattr_destroy F
 GLIBC_2.0 __pthread_mutexattr_init F
 GLIBC_2.0 __pthread_mutexattr_settype F
@@ -43,11 +39,7 @@ GLIBC_2.0 pthread_detach F
 GLIBC_2.0 pthread_join F
 GLIBC_2.0 pthread_kill F
 GLIBC_2.0 pthread_kill_other_threads_np F
-GLIBC_2.0 pthread_mutex_destroy F
-GLIBC_2.0 pthread_mutex_init F
-GLIBC_2.0 pthread_mutex_lock F
 GLIBC_2.0 pthread_mutex_trylock F
-GLIBC_2.0 pthread_mutex_unlock F
 GLIBC_2.0 pthread_mutexattr_destroy F
 GLIBC_2.0 pthread_mutexattr_getkind_np F
 GLIBC_2.0 pthread_mutexattr_init F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
index e69420994f..36fed3cf99 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
@@ -399,6 +399,10 @@ GLIBC_2.2 __progname D 0x8
 GLIBC_2.2 __progname_full D 0x8
 GLIBC_2.2 __pthread_getspecific F
 GLIBC_2.2 __pthread_key_create F
+GLIBC_2.2 __pthread_mutex_destroy F
+GLIBC_2.2 __pthread_mutex_init F
+GLIBC_2.2 __pthread_mutex_lock F
+GLIBC_2.2 __pthread_mutex_unlock F
 GLIBC_2.2 __pthread_once F
 GLIBC_2.2 __pthread_rwlock_rdlock F
 GLIBC_2.2 __pthread_rwlock_unlock F
@@ -2155,6 +2159,10 @@ GLIBC_2.34 __libc_start_main F
 GLIBC_2.34 __pthread_cleanup_routine F
 GLIBC_2.34 __pthread_getspecific F
 GLIBC_2.34 __pthread_key_create F
+GLIBC_2.34 __pthread_mutex_destroy F
+GLIBC_2.34 __pthread_mutex_init F
+GLIBC_2.34 __pthread_mutex_lock F
+GLIBC_2.34 __pthread_mutex_unlock F
 GLIBC_2.34 __pthread_once F
 GLIBC_2.34 __pthread_rwlock_rdlock F
 GLIBC_2.34 __pthread_rwlock_unlock F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
index 2e69109cdc..684bf559e5 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
@@ -20,11 +20,7 @@ GLIBC_2.2 __lseek F
 GLIBC_2.2 __open F
 GLIBC_2.2 __open64 F
 GLIBC_2.2 __pread64 F
-GLIBC_2.2 __pthread_mutex_destroy F
-GLIBC_2.2 __pthread_mutex_init F
-GLIBC_2.2 __pthread_mutex_lock F
 GLIBC_2.2 __pthread_mutex_trylock F
-GLIBC_2.2 __pthread_mutex_unlock F
 GLIBC_2.2 __pthread_mutexattr_destroy F
 GLIBC_2.2 __pthread_mutexattr_init F
 GLIBC_2.2 __pthread_mutexattr_settype F
@@ -83,12 +79,8 @@ GLIBC_2.2 pthread_getcpuclockid F
 GLIBC_2.2 pthread_join F
 GLIBC_2.2 pthread_kill F
 GLIBC_2.2 pthread_kill_other_threads_np F
-GLIBC_2.2 pthread_mutex_destroy F
-GLIBC_2.2 pthread_mutex_init F
-GLIBC_2.2 pthread_mutex_lock F
 GLIBC_2.2 pthread_mutex_timedlock F
 GLIBC_2.2 pthread_mutex_trylock F
-GLIBC_2.2 pthread_mutex_unlock F
 GLIBC_2.2 pthread_mutexattr_destroy F
 GLIBC_2.2 pthread_mutexattr_getkind_np F
 GLIBC_2.2 pthread_mutexattr_getpshared F
diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
index dfe78d93cb..6858c1328f 100644
--- a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
@@ -360,6 +360,10 @@ GLIBC_2.2.5 __progname D 0x8
 GLIBC_2.2.5 __progname_full D 0x8
 GLIBC_2.2.5 __pthread_getspecific F
 GLIBC_2.2.5 __pthread_key_create F
+GLIBC_2.2.5 __pthread_mutex_destroy F
+GLIBC_2.2.5 __pthread_mutex_init F
+GLIBC_2.2.5 __pthread_mutex_lock F
+GLIBC_2.2.5 __pthread_mutex_unlock F
 GLIBC_2.2.5 __pthread_once F
 GLIBC_2.2.5 __pthread_rwlock_rdlock F
 GLIBC_2.2.5 __pthread_rwlock_unlock F
@@ -2114,6 +2118,10 @@ GLIBC_2.34 __libc_start_main F
 GLIBC_2.34 __pthread_cleanup_routine F
 GLIBC_2.34 __pthread_getspecific F
 GLIBC_2.34 __pthread_key_create F
+GLIBC_2.34 __pthread_mutex_destroy F
+GLIBC_2.34 __pthread_mutex_init F
+GLIBC_2.34 __pthread_mutex_lock F
+GLIBC_2.34 __pthread_mutex_unlock F
 GLIBC_2.34 __pthread_once F
 GLIBC_2.34 __pthread_rwlock_rdlock F
 GLIBC_2.34 __pthread_rwlock_unlock F
diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
index 4f8dfa000a..54ad81fdd6 100644
--- a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
@@ -20,11 +20,7 @@ GLIBC_2.2.5 __lseek F
 GLIBC_2.2.5 __open F
 GLIBC_2.2.5 __open64 F
 GLIBC_2.2.5 __pread64 F
-GLIBC_2.2.5 __pthread_mutex_destroy F
-GLIBC_2.2.5 __pthread_mutex_init F
-GLIBC_2.2.5 __pthread_mutex_lock F
 GLIBC_2.2.5 __pthread_mutex_trylock F
-GLIBC_2.2.5 __pthread_mutex_unlock F
 GLIBC_2.2.5 __pthread_mutexattr_destroy F
 GLIBC_2.2.5 __pthread_mutexattr_init F
 GLIBC_2.2.5 __pthread_mutexattr_settype F
@@ -83,12 +79,8 @@ GLIBC_2.2.5 pthread_getcpuclockid F
 GLIBC_2.2.5 pthread_join F
 GLIBC_2.2.5 pthread_kill F
 GLIBC_2.2.5 pthread_kill_other_threads_np F
-GLIBC_2.2.5 pthread_mutex_destroy F
-GLIBC_2.2.5 pthread_mutex_init F
-GLIBC_2.2.5 pthread_mutex_lock F
 GLIBC_2.2.5 pthread_mutex_timedlock F
 GLIBC_2.2.5 pthread_mutex_trylock F
-GLIBC_2.2.5 pthread_mutex_unlock F
 GLIBC_2.2.5 pthread_mutexattr_destroy F
 GLIBC_2.2.5 pthread_mutexattr_getkind_np F
 GLIBC_2.2.5 pthread_mutexattr_getpshared F
diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
index 3accd92583..72da8cceaa 100644
--- a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
@@ -342,6 +342,10 @@ GLIBC_2.16 __progname_full D 0x4
 GLIBC_2.16 __pthread_cleanup_routine F
 GLIBC_2.16 __pthread_getspecific F
 GLIBC_2.16 __pthread_key_create F
+GLIBC_2.16 __pthread_mutex_destroy F
+GLIBC_2.16 __pthread_mutex_init F
+GLIBC_2.16 __pthread_mutex_lock F
+GLIBC_2.16 __pthread_mutex_unlock F
 GLIBC_2.16 __pthread_once F
 GLIBC_2.16 __pthread_rwlock_rdlock F
 GLIBC_2.16 __pthread_rwlock_unlock F
@@ -2212,6 +2216,10 @@ GLIBC_2.34 __libc_start_main F
 GLIBC_2.34 __pthread_cleanup_routine F
 GLIBC_2.34 __pthread_getspecific F
 GLIBC_2.34 __pthread_key_create F
+GLIBC_2.34 __pthread_mutex_destroy F
+GLIBC_2.34 __pthread_mutex_init F
+GLIBC_2.34 __pthread_mutex_lock F
+GLIBC_2.34 __pthread_mutex_unlock F
 GLIBC_2.34 __pthread_once F
 GLIBC_2.34 __pthread_rwlock_rdlock F
 GLIBC_2.34 __pthread_rwlock_unlock F
diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
index 0b017c0218..6b095bf36a 100644
--- a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
@@ -13,11 +13,7 @@ GLIBC_2.16 __lseek F
 GLIBC_2.16 __open F
 GLIBC_2.16 __open64 F
 GLIBC_2.16 __pread64 F
-GLIBC_2.16 __pthread_mutex_destroy F
-GLIBC_2.16 __pthread_mutex_init F
-GLIBC_2.16 __pthread_mutex_lock F
 GLIBC_2.16 __pthread_mutex_trylock F
-GLIBC_2.16 __pthread_mutex_unlock F
 GLIBC_2.16 __pthread_mutexattr_destroy F
 GLIBC_2.16 __pthread_mutexattr_init F
 GLIBC_2.16 __pthread_mutexattr_settype F
@@ -84,14 +80,10 @@ GLIBC_2.16 pthread_getname_np F
 GLIBC_2.16 pthread_join F
 GLIBC_2.16 pthread_kill F
 GLIBC_2.16 pthread_kill_other_threads_np F
-GLIBC_2.16 pthread_mutex_destroy F
 GLIBC_2.16 pthread_mutex_getprioceiling F
-GLIBC_2.16 pthread_mutex_init F
-GLIBC_2.16 pthread_mutex_lock F
 GLIBC_2.16 pthread_mutex_setprioceiling F
 GLIBC_2.16 pthread_mutex_timedlock F
 GLIBC_2.16 pthread_mutex_trylock F
-GLIBC_2.16 pthread_mutex_unlock F
 GLIBC_2.16 pthread_mutexattr_destroy F
 GLIBC_2.16 pthread_mutexattr_getkind_np F
 GLIBC_2.16 pthread_mutexattr_getprioceiling F
-- 
2.29.2



  parent reply	other threads:[~2021-03-16 17:31 UTC|newest]

Thread overview: 99+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-03-16 17:27 [PATCH v3 00/37] libpthread removal: NPTL forwarders are gone Florian Weimer
2021-03-16 17:27 ` [PATCH v3 01/37] nptl: Move pthread_mutex_consistent into libc Florian Weimer
2021-03-17 11:36   ` Adhemerval Zanella
2021-03-16 17:27 ` [PATCH v3 02/37] nptl: Move __pthread_cleanup_routine " Florian Weimer
2021-03-16 17:27 ` [PATCH v3 03/37] nptl: Move legacy unwinding implementation " Florian Weimer
2021-03-16 17:27 ` [PATCH v3 04/37] nptl: Move legacy cancelation handling into libc as compat symbols Florian Weimer
2021-03-16 17:27 ` [PATCH v3 05/37] nptl: Remove longjmp, siglongjmp from libpthread Florian Weimer
2021-03-17 11:38   ` Adhemerval Zanella
2021-03-16 17:28 ` [PATCH v3 06/37] x86: Restore compile-time check for shadow stack pointer in longjmp Florian Weimer
2021-03-16 17:28 ` [PATCH v3 07/37] nptl: Move __pthread_cleanup_upto into libc Florian Weimer
2021-03-16 17:28 ` [PATCH v3 08/37] nptl: Move pthread_once and __pthread_once " Florian Weimer
2021-03-17 13:30   ` Adhemerval Zanella
2021-03-17 13:37     ` Adhemerval Zanella
2021-03-17 14:45       ` Florian Weimer
2021-03-17 16:39         ` Adhemerval Zanella
2021-03-17 16:56           ` Florian Weimer
2021-03-17 17:22             ` Adhemerval Zanella
2021-03-17 17:43               ` Florian Weimer
2021-03-17 19:09                 ` Adhemerval Zanella
2021-03-16 17:29 ` [PATCH v3 09/37] nptl: Move __pthread_unwind_next " Florian Weimer
2021-03-17 19:42   ` Adhemerval Zanella
2021-03-17 19:54     ` Florian Weimer
2021-03-17 20:16       ` Adhemerval Zanella
2021-03-17 20:33         ` Florian Weimer
2021-03-17 20:44           ` Adhemerval Zanella
2021-03-16 17:29 ` [PATCH v3 10/37] csu: Move calling main out of __libc_start_main_impl Florian Weimer
2021-03-17 20:45   ` Adhemerval Zanella
2021-03-16 17:29 ` [PATCH v3 11/37] nptl: Move internal __nptl_nthreads variable into libc Florian Weimer
2021-03-18 12:42   ` Adhemerval Zanella
2021-03-16 17:29 ` [PATCH v3 12/37] nptl_db: Introduce DB_MAIN_ARRAY_VARIABLE Florian Weimer
2021-03-18 12:43   ` Adhemerval Zanella
2021-03-16 17:29 ` [PATCH v3 13/37] nptl: Move __pthread_keys global variable into libc Florian Weimer
2021-03-18 12:44   ` Adhemerval Zanella
2021-03-16 17:29 ` [PATCH v3 14/37] nptl: Move __nptl_deallocate_tsd " Florian Weimer
2021-03-18 12:46   ` Adhemerval Zanella
2021-03-18 17:16     ` Florian Weimer
2021-03-18 17:54       ` Adhemerval Zanella
2021-03-16 17:29 ` [PATCH v3 15/37] nptl: Move pthread_exit " Florian Weimer
2021-03-18 12:49   ` Adhemerval Zanella
2021-03-16 17:29 ` [PATCH v3 16/37] nptl: Move pthread_setcancelstate " Florian Weimer
2021-03-18 12:52   ` Adhemerval Zanella
2021-03-16 17:29 ` [PATCH v3 17/37] nptl: Move pthread_setcanceltype " Florian Weimer
2021-03-18 12:53   ` Adhemerval Zanella
2021-03-16 17:29 ` [PATCH v3 18/37] nptl: Invoke the set_robust_list system call directly in fork Florian Weimer
2021-03-18 12:54   ` Adhemerval Zanella
2021-03-16 17:30 ` [PATCH v3 19/37] dlfcn: Failures after dlmopen should not terminate process [BZ #24772] Florian Weimer
2021-03-19 19:56   ` Adhemerval Zanella
2021-03-27 16:57     ` Florian Weimer
2021-03-16 17:30 ` [PATCH v3 20/37] dlfcn: dlerror needs to call free from the base namespace [BZ #24773] Florian Weimer
2021-03-23 14:47   ` Adhemerval Zanella
2021-03-16 17:30 ` [PATCH v3 21/37] Remove pthread_key_create-related internals from libc-lock.h Florian Weimer
2021-03-23 16:39   ` Adhemerval Zanella
2021-03-16 17:30 ` [PATCH v3 22/37] elf: Introduce __tls_init_tp for second-phase TCB initialization Florian Weimer
2021-03-23 18:25   ` Adhemerval Zanella
2021-03-16 17:30 ` [PATCH v3 23/37] nptl: Move part of TCB initialization from libpthread to __tls_init_tp Florian Weimer
2021-03-24 13:56   ` Adhemerval Zanella
2021-03-27 17:19     ` Florian Weimer
2021-03-16 17:30 ` [PATCH v3 24/37] nptl: Move pthread_key_create, __pthread_key_create into libc Florian Weimer
2021-03-24 14:09   ` Adhemerval Zanella
2021-03-24 14:32     ` Florian Weimer
2021-03-24 14:42       ` Adhemerval Zanella
2021-03-24 15:08         ` Florian Weimer
2021-03-24 15:46           ` Adhemerval Zanella
2021-03-16 17:30 ` [PATCH v3 25/37] nptl: Move pthread_getspecific, __pthread_getspecific " Florian Weimer
2021-03-24 14:12   ` Adhemerval Zanella
2021-03-24 14:38     ` Florian Weimer
2021-03-24 14:43       ` Adhemerval Zanella
2021-03-16 17:30 ` [PATCH v3 26/37] nptl: Move pthread_setspecific, __pthread_setspecific " Florian Weimer
2021-03-24 14:26   ` Adhemerval Zanella
2021-03-16 17:30 ` [PATCH v3 27/37] nptl: Move pthread_key_delete " Florian Weimer
2021-03-24 14:45   ` Adhemerval Zanella
2021-03-16 17:31 ` [PATCH v3 28/37] nptl: Move rwlock functions with forwarders " Florian Weimer
2021-03-25 19:52   ` Adhemerval Zanella
2021-03-27 21:41     ` Florian Weimer
2021-03-16 17:31 ` [PATCH v3 29/37] nptl: Move the internal thread priority protection symbols " Florian Weimer
2021-03-25 20:21   ` Adhemerval Zanella
2021-03-16 17:31 ` [PATCH v3 30/37] pthread: Introduce __pthread_early_init Florian Weimer
2021-03-25 20:22   ` Adhemerval Zanella
2021-03-16 17:31 ` [PATCH v3 31/37] nptl: Move internal symbol __mutex_aconf into libc Florian Weimer
2021-03-25 20:24   ` Adhemerval Zanella
2021-03-16 17:31 ` [PATCH v3 32/37] nptl: pthread_mutex_lock, pthread_mutex_unock single-threaded optimization Florian Weimer
2021-03-26 18:00   ` Adhemerval Zanella
2021-03-16 17:31 ` [PATCH v3 33/37] x86: Remove low-level lock optimization Florian Weimer
2021-03-25 20:30   ` Adhemerval Zanella
2021-03-16 17:31 ` Florian Weimer [this message]
2021-03-25 20:46   ` [PATCH v3 34/37] nptl: Move core mutex functions into libc Adhemerval Zanella
2021-03-16 17:31 ` [PATCH v3 35/37] nptl: Move core condition variable " Florian Weimer
2021-03-26 17:14   ` Adhemerval Zanella
2021-03-16 17:31 ` [PATCH v3 36/37] nptl: Move setxid broadcast implementation " Florian Weimer
2021-03-26 18:15   ` Adhemerval Zanella
2021-04-06 18:41     ` Florian Weimer
2021-04-06 18:54       ` Adhemerval Zanella
2021-04-06 19:23         ` Florian Weimer
2021-04-06 19:40           ` Adhemerval Zanella
2021-03-16 17:31 ` [PATCH v3 37/37] nptl: Remove remnants of the libc/libpthread forwarder interface Florian Weimer
2021-03-26 18:19   ` Adhemerval Zanella
2021-03-18 22:06 ` [PATCH v3 00/37] libpthread removal: NPTL forwarders are gone Florian Weimer
2021-03-26 18:25 ` Adhemerval Zanella
2021-03-31 10:18   ` Florian Weimer

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=ad8f014bcec5cd8fdc6a9d8d8fce9458219e64ac.1615914632.git.fweimer@redhat.com \
    --to=fweimer@redhat.com \
    --cc=libc-alpha@sourceware.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).