diff options
Diffstat (limited to 'nptl')
-rw-r--r-- | nptl/Makefile | 2 | ||||
-rw-r--r-- | nptl/Versions | 3 | ||||
-rw-r--r-- | nptl/pthreadP.h | 2 | ||||
-rw-r--r-- | nptl/pthread_rwlock_clockrdlock.c | 23 |
4 files changed, 20 insertions, 10 deletions
diff --git a/nptl/Makefile b/nptl/Makefile index 51d6eb5..e796a68 100644 --- a/nptl/Makefile +++ b/nptl/Makefile @@ -120,6 +120,7 @@ routines = \ pthread_mutexattr_setrobust \ pthread_mutexattr_settype \ pthread_once \ + pthread_rwlock_clockrdlock \ pthread_rwlock_rdlock \ pthread_rwlock_unlock \ pthread_rwlock_wrlock \ @@ -178,7 +179,6 @@ libpthread-routines = \ pthread_getname \ pthread_join \ pthread_join_common \ - pthread_rwlock_clockrdlock \ pthread_rwlock_clockwrlock \ pthread_rwlock_destroy \ pthread_rwlock_init \ diff --git a/nptl/Versions b/nptl/Versions index bd3bc81..ea5dd92 100644 --- a/nptl/Versions +++ b/nptl/Versions @@ -152,6 +152,7 @@ libc { GLIBC_2.30 { pthread_cond_clockwait; pthread_mutex_clocklock; + pthread_rwlock_clockrdlock; } GLIBC_2.32 { pthread_attr_getsigmask_np; @@ -204,6 +205,7 @@ libc { pthread_mutexattr_setrobust; pthread_mutexattr_settype; pthread_once; + pthread_rwlock_clockrdlock; pthread_rwlock_rdlock; pthread_rwlock_unlock; pthread_rwlock_wrlock; @@ -399,7 +401,6 @@ libpthread { } GLIBC_2.30 { - pthread_rwlock_clockrdlock; pthread_rwlock_clockwrlock; sem_clockwait; } diff --git a/nptl/pthreadP.h b/nptl/pthreadP.h index d98bd11..6c50736 100644 --- a/nptl/pthreadP.h +++ b/nptl/pthreadP.h @@ -505,7 +505,7 @@ libc_hidden_proto (__pthread_cond_clockwait64) extern int __pthread_rwlock_clockrdlock64 (pthread_rwlock_t *rwlock, clockid_t clockid, const struct __timespec64 *abstime); -libpthread_hidden_proto (__pthread_rwlock_clockrdlock64) +libc_hidden_proto (__pthread_rwlock_clockrdlock64) extern int __pthread_rwlock_clockwrlock64 (pthread_rwlock_t *rwlock, clockid_t clockid, const struct __timespec64 *abstime); diff --git a/nptl/pthread_rwlock_clockrdlock.c b/nptl/pthread_rwlock_clockrdlock.c index 6c8e50a..9db96b9 100644 --- a/nptl/pthread_rwlock_clockrdlock.c +++ b/nptl/pthread_rwlock_clockrdlock.c @@ -18,25 +18,34 @@ <https://www.gnu.org/licenses/>. */ #include "pthread_rwlock_common.c" +#include <shlib-compat.h> /* See pthread_rwlock_common.c. */ int -__pthread_rwlock_clockrdlock64 (pthread_rwlock_t *rwlock, clockid_t clockid, - const struct __timespec64 *abstime) +___pthread_rwlock_clockrdlock64 (pthread_rwlock_t *rwlock, clockid_t clockid, + const struct __timespec64 *abstime) { return __pthread_rwlock_rdlock_full64 (rwlock, clockid, abstime); } -#if __TIMESIZE != 64 -libpthread_hidden_def (__pthread_rwlock_clockrdlock64) +#if __TIMESIZE == 64 +strong_alias (___pthread_rwlock_clockrdlock64, ___pthread_rwlock_clockrdlock) +#else /* __TIMESPEC64 != 64 */ +libc_hidden_ver (___pthread_rwlock_clockrdlock64, + __pthread_rwlock_clockrdlock64) int -__pthread_rwlock_clockrdlock (pthread_rwlock_t *rwlock, clockid_t clockid, - const struct timespec *abstime) +___pthread_rwlock_clockrdlock (pthread_rwlock_t *rwlock, clockid_t clockid, + const struct timespec *abstime) { struct __timespec64 ts64 = valid_timespec_to_timespec64 (*abstime); return __pthread_rwlock_clockrdlock64 (rwlock, clockid, &ts64); } +#endif /* __TIMESPEC64 != 64 */ +versioned_symbol (libc, ___pthread_rwlock_clockrdlock, + pthread_rwlock_clockrdlock, GLIBC_2_34); +#if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_30, GLIBC_2_34) +compat_symbol (libpthread, ___pthread_rwlock_clockrdlock, + pthread_rwlock_clockrdlock, GLIBC_2_30); #endif -weak_alias (__pthread_rwlock_clockrdlock, pthread_rwlock_clockrdlock) |