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 /sysdeps | |
| parent | c7b1cd4ad100d01f3202a44ec3b84b87bea5ef19 (diff) | |
| download | glibc-ce4b3b7befc1010a4be0294d28984d0af47b7bc2.tar.xz glibc-ce4b3b7befc1010a4be0294d28984d0af47b7bc2.zip | |
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 'sysdeps')
69 files changed, 211 insertions, 83 deletions
diff --git a/sysdeps/hppa/nptl/pthread_spin_init.c b/sysdeps/hppa/nptl/pthread_spin_init.c index 6d63af586a..af7655519d 100644 --- a/sysdeps/hppa/nptl/pthread_spin_init.c +++ b/sysdeps/hppa/nptl/pthread_spin_init.c @@ -16,9 +16,10 @@ <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) { /* CONCURRENCTY NOTES: @@ -42,3 +43,10 @@ pthread_spin_init (pthread_spinlock_t *lock, int pshared) atomic_exchange_rel (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/sysdeps/hppa/nptl/pthread_spin_unlock.c b/sysdeps/hppa/nptl/pthread_spin_unlock.c index 2a6ffe43dc..a087501337 100644 --- a/sysdeps/hppa/nptl/pthread_spin_unlock.c +++ b/sysdeps/hppa/nptl/pthread_spin_unlock.c @@ -16,9 +16,10 @@ <https://www.gnu.org/licenses/>. */ #include "pthreadP.h" +#include <shlib-compat.h> int -pthread_spin_unlock (pthread_spinlock_t *lock) +__pthread_spin_unlock (pthread_spinlock_t *lock) { /* CONCURRENCTY NOTES: @@ -42,3 +43,10 @@ pthread_spin_unlock (pthread_spinlock_t *lock) atomic_exchange_rel (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 diff --git a/sysdeps/i386/nptl/pthread_spin_unlock.S b/sysdeps/i386/nptl/pthread_spin_unlock.S index e572dd8cc1..bbce327f04 100644 --- a/sysdeps/i386/nptl/pthread_spin_unlock.S +++ b/sysdeps/i386/nptl/pthread_spin_unlock.S @@ -17,14 +17,20 @@ <https://www.gnu.org/licenses/>. */ #include <sysdep.h> +#include <shlib-compat.h> -ENTRY (pthread_spin_unlock) +ENTRY (__pthread_spin_unlock) movl 4(%esp), %eax movl $1, (%eax) xorl %eax, %eax ret -END (pthread_spin_unlock) +END (__pthread_spin_unlock) +versioned_symbol (libc, __pthread_spin_unlock, pthread_spin_unlock, GLIBC_2_34) +/* The implementation of pthread_spin_init is identical. */ +versioned_symbol (libc, __pthread_spin_unlock, pthread_spin_init, GLIBC_2_34) - /* The implementation of pthread_spin_init is identical. */ - .globl pthread_spin_init -pthread_spin_init = pthread_spin_unlock +#if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_2, GLIBC_2_34) +compat_symbol (libpthread, __pthread_spin_unlock, pthread_spin_unlock, + GLIBC_2_2) +compat_symbol (libpthread, __pthread_spin_unlock, pthread_spin_init, GLIBC_2_2) +#endif diff --git a/sysdeps/ia64/nptl/pthread_spin_unlock.c b/sysdeps/ia64/nptl/pthread_spin_unlock.c index d869ef23a6..a4509c9d01 100644 --- a/sysdeps/ia64/nptl/pthread_spin_unlock.c +++ b/sysdeps/ia64/nptl/pthread_spin_unlock.c @@ -17,11 +17,18 @@ <https://www.gnu.org/licenses/>. */ #include "pthreadP.h" - +#include <shlib-compat.h> int -pthread_spin_unlock (pthread_spinlock_t *lock) +__pthread_spin_unlock (pthread_spinlock_t *lock) { __sync_lock_release ((int *) lock); 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 diff --git a/sysdeps/powerpc/nptl/pthread_spin_unlock.c b/sysdeps/powerpc/nptl/pthread_spin_unlock.c index fcea37baf1..86bbe4d037 100644 --- a/sysdeps/powerpc/nptl/pthread_spin_unlock.c +++ b/sysdeps/powerpc/nptl/pthread_spin_unlock.c @@ -18,10 +18,18 @@ #include "pthreadP.h" #include <lowlevellock.h> +#include <shlib-compat.h> int -pthread_spin_unlock (pthread_spinlock_t *lock) +__pthread_spin_unlock (pthread_spinlock_t *lock) { |
