1
0
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:
Florian Weimer
2021-04-21 19:49:51 +02:00
parent 9ce44f4675
commit eb29dcde31
70 changed files with 349 additions and 215 deletions

View File

@@ -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