diff options
| author | Florian Weimer <fweimer@redhat.com> | 2021-04-23 09:44:23 +0200 |
|---|---|---|
| committer | Florian Weimer <fweimer@redhat.com> | 2021-04-23 09:44:23 +0200 |
| commit | a2b0f2e1864f03084138a105e1d5f2cf86a62425 (patch) | |
| tree | 1bfe09513168993ce36a56ddd605053b653f1c35 | |
| parent | 4372dc7eaaa81fc04554626b7f02c9759a04a65b (diff) | |
| download | glibc-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.
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 |
