mirror of
https://sourceware.org/git/glibc.git
synced 2025-08-08 17:42:12 +03:00
nptl: Move rwlock functions with forwarders into libc
The forwarders were only used internally, so new symbol versions are needed. All symbols are moved at once because the forwarders are no-ops if libpthread is not loaded, leading to inconsistencies in case of a partial migration. The symbols __pthread_rwlock_rdlock, __pthread_rwlock_unlock, __pthread_rwlock_wrlock, pthread_rwlock_rdlock, pthread_rwlock_unlock, pthread_rwlock_wrlock have been moved using scripts/move-symbol-to-libc.py. The __ symbol variants are turned into compat symbols, which is why they do not receive a GLIBC_2.34 version.
This commit is contained in:
@@ -20,7 +20,7 @@
|
||||
|
||||
/* See pthread_rwlock_common.c. */
|
||||
int
|
||||
__pthread_rwlock_rdlock (pthread_rwlock_t *rwlock)
|
||||
___pthread_rwlock_rdlock (pthread_rwlock_t *rwlock)
|
||||
{
|
||||
LIBC_PROBE (rdlock_entry, 1, rwlock);
|
||||
|
||||
@@ -28,6 +28,16 @@ __pthread_rwlock_rdlock (pthread_rwlock_t *rwlock)
|
||||
LIBC_PROBE (rdlock_acquire_read, 1, rwlock);
|
||||
return result;
|
||||
}
|
||||
versioned_symbol (libc, ___pthread_rwlock_rdlock, pthread_rwlock_rdlock,
|
||||
GLIBC_2_34);
|
||||
strong_alias (___pthread_rwlock_rdlock, __pthread_rwlock_rdlock)
|
||||
libc_hidden_ver (___pthread_rwlock_rdlock, __pthread_rwlock_rdlock)
|
||||
|
||||
weak_alias (__pthread_rwlock_rdlock, pthread_rwlock_rdlock)
|
||||
hidden_def (__pthread_rwlock_rdlock)
|
||||
#if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_1, GLIBC_2_34)
|
||||
compat_symbol (libpthread, ___pthread_rwlock_rdlock, pthread_rwlock_rdlock,
|
||||
GLIBC_2_1);
|
||||
#endif
|
||||
#if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_2, GLIBC_2_34)
|
||||
compat_symbol (libpthread, ___pthread_rwlock_rdlock, __pthread_rwlock_rdlock,
|
||||
GLIBC_2_2);
|
||||
#endif
|
||||
|
Reference in New Issue
Block a user