diff options
author | Florian Weimer <fweimer@redhat.com> | 2021-04-22 15:18:12 +0200 |
---|---|---|
committer | Florian Weimer <fweimer@redhat.com> | 2021-04-23 17:06:44 +0200 |
commit | ce4b3b7befc1010a4be0294d28984d0af47b7bc2 (patch) | |
tree | 3a098b52827d0ba5ae835bafe65485dfe2b702ec /nptl | |
parent | c7b1cd4ad100d01f3202a44ec3b84b87bea5ef19 (diff) | |
download | glibc-ce4b3b7befc1010a4be0294d28984d0af47b7bc2.zip glibc-ce4b3b7befc1010a4be0294d28984d0af47b7bc2.tar.gz glibc-ce4b3b7befc1010a4be0294d28984d0af47b7bc2.tar.bz2 |
nptl: Move pthread_spin_init, Move pthread_spin_unlock into libc
For some architectures, the two functions are aliased, so these
symbols need to be moved at the same time.
The symbols were moved using scripts/move-symbol-to-libc.py.
Diffstat (limited to 'nptl')
-rw-r--r-- | nptl/Makefile | 4 | ||||
-rw-r--r-- | nptl/Versions | 6 | ||||
-rw-r--r-- | nptl/pthread_spin_init.c | 8 | ||||
-rw-r--r-- | nptl/pthread_spin_unlock.c | 10 |
4 files changed, 22 insertions, 6 deletions
diff --git a/nptl/Makefile b/nptl/Makefile index 7b36d85..dd7fa95 100644 --- a/nptl/Makefile +++ b/nptl/Makefile @@ -130,6 +130,8 @@ routines = \ pthread_setspecific \ pthread_sigmask \ pthread_spin_destroy \ + pthread_spin_init \ + pthread_spin_unlock \ tpp \ unwind \ @@ -195,10 +197,8 @@ libpthread-routines = \ pthread_setname \ pthread_setschedprio \ pthread_sigqueue \ - pthread_spin_init \ pthread_spin_lock \ pthread_spin_trylock \ - pthread_spin_unlock \ pthread_testcancel \ pthread_timedjoin \ pthread_tryjoin \ diff --git a/nptl/Versions b/nptl/Versions index 22fd51e..8ec1d4bb 100644 --- a/nptl/Versions +++ b/nptl/Versions @@ -80,6 +80,8 @@ libc { pthread_mutexattr_getpshared; pthread_mutexattr_setpshared; pthread_spin_destroy; + pthread_spin_init; + pthread_spin_unlock; } GLIBC_2.2.3 { pthread_getattr_np; @@ -181,6 +183,8 @@ libc { pthread_rwlock_wrlock; pthread_setspecific; pthread_spin_destroy; + pthread_spin_init; + pthread_spin_unlock; } GLIBC_PRIVATE { __futex_abstimed_wait64; @@ -312,10 +316,8 @@ libpthread { pthread_getcpuclockid; pthread_rwlock_timedrdlock; pthread_rwlock_timedwrlock; - pthread_spin_init; pthread_spin_lock; pthread_spin_trylock; - pthread_spin_unlock; pthread_yield; sem_timedwait; } diff --git a/nptl/pthread_spin_init.c b/nptl/pthread_spin_init.c index 470a6fa..c6a5147 100644 --- a/nptl/pthread_spin_init.c +++ b/nptl/pthread_spin_init.c @@ -18,11 +18,17 @@ <https://www.gnu.org/licenses/>. */ #include "pthreadP.h" +#include <shlib-compat.h> int -pthread_spin_init (pthread_spinlock_t *lock, int pshared) +__pthread_spin_init (pthread_spinlock_t *lock, int pshared) { /* Relaxed MO is fine because this is an initializing store. */ atomic_store_relaxed (lock, 0); return 0; } +versioned_symbol (libc, __pthread_spin_init, pthread_spin_init, GLIBC_2_34); + +#if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_2, GLIBC_2_34) +compat_symbol (libpthread, __pthread_spin_init, pthread_spin_init, GLIBC_2_2); +#endif diff --git a/nptl/pthread_spin_unlock.c b/nptl/pthread_spin_unlock.c index 9de75cb..15921f7 100644 --- a/nptl/pthread_spin_unlock.c +++ b/nptl/pthread_spin_unlock.c @@ -19,9 +19,10 @@ #include "pthreadP.h" #include <atomic.h> +#include <shlib-compat.h> int -pthread_spin_unlock (pthread_spinlock_t *lock) +__pthread_spin_unlock (pthread_spinlock_t *lock) { /* The atomic_store_release synchronizes-with the atomic_exchange_acquire or atomic_compare_exchange_weak_acquire in pthread_spin_lock / @@ -29,3 +30,10 @@ pthread_spin_unlock (pthread_spinlock_t *lock) atomic_store_release (lock, 0); return 0; } +versioned_symbol (libc, __pthread_spin_unlock, pthread_spin_unlock, + GLIBC_2_34); + +#if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_2, GLIBC_2_34) +compat_symbol (libpthread, __pthread_spin_unlock, pthread_spin_unlock, + GLIBC_2_2); +#endif |