aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFlorian Weimer <fweimer@redhat.com>2021-04-23 09:44:23 +0200
committerFlorian Weimer <fweimer@redhat.com>2021-04-23 09:44:23 +0200
commita2b0f2e1864f03084138a105e1d5f2cf86a62425 (patch)
tree1bfe09513168993ce36a56ddd605053b653f1c35
parent4372dc7eaaa81fc04554626b7f02c9759a04a65b (diff)
downloadglibc-a2b0f2e1864f03084138a105e1d5f2cf86a62425.tar.xz
glibc-a2b0f2e1864f03084138a105e1d5f2cf86a62425.zip
nptl: Move pthread_mutex_trylock, __pthread_mutex_trylock into libc
The symbols were moved using scripts/move-symbol-to-libc.py. __pthread_mutex_trylock is used to implement mtx_timedlock, which still resides in libpthread, so add a GLIBC_2.34 version for it, to match the existing GLIBC_2.0 version.
-rw-r--r--nptl/Makefile2
-rw-r--r--nptl/Versions4
-rw-r--r--nptl/pthreadP.h2
-rw-r--r--nptl/pthread_mutex_trylock.c18
-rw-r--r--sysdeps/unix/sysv/linux/aarch64/libc.abilist4
-rw-r--r--sysdeps/unix/sysv/linux/aarch64/libpthread.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/alpha/libc.abilist4
-rw-r--r--sysdeps/unix/sysv/linux/alpha/libpthread.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/arc/libc.abilist4
-rw-r--r--sysdeps/unix/sysv/linux/arc/libpthread.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/arm/be/libc.abilist4
-rw-r--r--sysdeps/unix/sysv/linux/arm/be/libpthread.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/arm/le/libc.abilist4
-rw-r--r--sysdeps/unix/sysv/linux/arm/le/libpthread.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/csky/libc.abilist4
-rw-r--r--sysdeps/unix/sysv/linux/csky/libpthread.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/hppa/libc.abilist4
-rw-r--r--sysdeps/unix/sysv/linux/hppa/libpthread.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/i386/libc.abilist4
-rw-r--r--sysdeps/unix/sysv/linux/i386/libpthread.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/ia64/libc.abilist4
-rw-r--r--sysdeps/unix/sysv/linux/ia64/libpthread.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist4
-rw-r--r--sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist4
-rw-r--r--sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/microblaze/be/libc.abilist4
-rw-r--r--sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/microblaze/le/libc.abilist4
-rw-r--r--sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist4
-rw-r--r--sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist4
-rw-r--r--sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist4
-rw-r--r--sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist4
-rw-r--r--sysdeps/unix/sysv/linux/nios2/libc.abilist4
-rw-r--r--sysdeps/unix/sysv/linux/nios2/libpthread.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist4
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist4
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist4
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist4
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist4
-rw-r--r--sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist4
-rw-r--r--sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist4
-rw-r--r--sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist4
-rw-r--r--sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/sh/be/libc.abilist4
-rw-r--r--sysdeps/unix/sysv/linux/sh/be/libpthread.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/sh/le/libc.abilist4
-rw-r--r--sysdeps/unix/sysv/linux/sh/le/libpthread.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist4
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist4
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/x86_64/64/libc.abilist4
-rw-r--r--sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist4
-rw-r--r--sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist2
65 files changed, 143 insertions, 69 deletions
diff --git a/nptl/Makefile b/nptl/Makefile
index 31d05b36e3..8e015157f5 100644
--- a/nptl/Makefile
+++ b/nptl/Makefile
@@ -101,6 +101,7 @@ routines = \
pthread_mutex_lock \
pthread_mutex_setprioceiling \
pthread_mutex_timedlock \
+ pthread_mutex_trylock \
pthread_mutex_unlock \
pthread_once \
pthread_rwlock_rdlock \
@@ -161,7 +162,6 @@ libpthread-routines = \
pthread_getname \
pthread_join \
pthread_join_common \
- pthread_mutex_trylock \
pthread_mutexattr_destroy \
pthread_mutexattr_getprioceiling \
pthread_mutexattr_getprotocol \
diff --git a/nptl/Versions b/nptl/Versions
index ddf3bbb1cd..ab79ae2b21 100644
--- a/nptl/Versions
+++ b/nptl/Versions
@@ -5,6 +5,7 @@ libc {
__pthread_mutex_destroy;
__pthread_mutex_init;
__pthread_mutex_lock;
+ __pthread_mutex_trylock;
__pthread_mutex_unlock;
__pthread_once;
__pthread_setspecific;
@@ -44,6 +45,7 @@ libc {
pthread_mutex_destroy;
pthread_mutex_init;
pthread_mutex_lock;
+ pthread_mutex_trylock;
pthread_mutex_unlock;
pthread_once;
pthread_self;
@@ -195,7 +197,6 @@ libpthread {
_IO_funlockfile;
__errno_location;
__h_errno_location;
- __pthread_mutex_trylock;
__pthread_mutexattr_destroy;
__pthread_mutexattr_init;
__pthread_mutexattr_settype;
@@ -207,7 +208,6 @@ libpthread {
pthread_create;
pthread_detach;
pthread_join;
- pthread_mutex_trylock;
pthread_mutexattr_destroy;
pthread_mutexattr_getkind_np;
pthread_mutexattr_init;
diff --git a/nptl/pthreadP.h b/nptl/pthreadP.h
index 0def617109..8432c0ebe7 100644
--- a/nptl/pthreadP.h
+++ b/nptl/pthreadP.h
@@ -396,6 +396,7 @@ 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);
+libc_hidden_proto (__pthread_mutex_trylock)
extern int __pthread_mutex_lock (pthread_mutex_t *__mutex);
libc_hidden_proto (__pthread_mutex_lock)
extern int __pthread_mutex_timedlock (pthread_mutex_t *__mutex,
@@ -576,7 +577,6 @@ libc_hidden_proto (__pthread_sigmask);
#if IS_IN (libpthread)
-hidden_proto (__pthread_mutex_trylock)
hidden_proto (__pthread_rwlock_unlock)
hidden_proto (__pthread_testcancel)
hidden_proto (__pthread_mutexattr_init)
diff --git a/nptl/pthread_mutex_trylock.c b/nptl/pthread_mutex_trylock.c
index e52dddafbd..623ea75db0 100644
--- a/nptl/pthread_mutex_trylock.c
+++ b/nptl/pthread_mutex_trylock.c
@@ -24,7 +24,7 @@
#include <futex-internal.h>
int
-__pthread_mutex_trylock (pthread_mutex_t *mutex)
+___pthread_mutex_trylock (pthread_mutex_t *mutex)
{
int oldval;
pid_t id = THREAD_GETMEM (THREAD_SELF, tid);
@@ -449,10 +449,14 @@ __pthread_mutex_trylock (pthread_mutex_t *mutex)
return EBUSY;
}
-
-#ifndef __pthread_mutex_trylock
-#ifndef pthread_mutex_trylock
-weak_alias (__pthread_mutex_trylock, pthread_mutex_trylock)
-hidden_def (__pthread_mutex_trylock)
-#endif
+libc_hidden_ver (___pthread_mutex_trylock, __pthread_mutex_trylock)
+versioned_symbol (libc, ___pthread_mutex_trylock,
+ pthread_mutex_trylock, GLIBC_2_34);
+versioned_symbol (libc, ___pthread_mutex_trylock,
+ __pthread_mutex_trylock, GLIBC_2_34);
+#if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_0, GLIBC_2_34)
+compat_symbol (libpthread, ___pthread_mutex_trylock,
+ pthread_mutex_trylock, GLIBC_2_0);
+compat_symbol (libpthread, ___pthread_mutex_trylock,
+ __pthread_mutex_trylock, GLIBC_2_0);
#endif
diff --git a/sysdeps/unix/sysv/linux/aarch64/libc.abilist b/sysdeps/unix/sysv/linux/aarch64/libc.abilist
index 1e5d4dc976..087eacdfc0 100644
--- a/sysdeps/unix/sysv/linux/aarch64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/aarch64/libc.abilist
@@ -344,6 +344,7 @@ 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_trylock F
GLIBC_2.17 __pthread_mutex_unlock F
GLIBC_2.17 __pthread_once F
GLIBC_2.17 __pthread_rwlock_rdlock F
@@ -1473,6 +1474,7 @@ 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_once F
GLIBC_2.17 pthread_rwlock_rdlock F
@@ -2213,6 +2215,7 @@ 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_trylock F
GLIBC_2.34 __pthread_mutex_unlock F
GLIBC_2.34 __pthread_once F
GLIBC_2.34 __pthread_setspecific F
@@ -2227,6 +2230,7 @@ GLIBC_2.34 pthread_mutex_consistent F
GLIBC_2.34 pthread_mutex_getprioceiling F
GLIBC_2.34 pthread_mutex_setprioceiling F
GLIBC_2.34 pthread_mutex_timedlock F
+GLIBC_2.34 pthread_mutex_trylock 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 c88a4c9209..5472ccdf3c 100644
--- a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
@@ -3,7 +3,6 @@ GLIBC_2.17 _IO_ftrylockfile F
GLIBC_2.17 _IO_funlockfile F
GLIBC_2.17 __errno_location F
GLIBC_2.17 __h_errno_location F
-GLIBC_2.17 __pthread_mutex_trylock F
GLIBC_2.17 __pthread_mutexattr_destroy F
GLIBC_2.17 __pthread_mutexattr_init F
GLIBC_2.17 __pth