diff options
author | Andreas Schwab <schwab@suse.de> | 2020-01-27 10:05:53 +0100 |
---|---|---|
committer | Andreas Schwab <schwab@suse.de> | 2020-02-03 12:16:09 +0100 |
commit | 6befb33f31f034a0e8876ce6427dacdfa0cd7ea7 (patch) | |
tree | ddbddafff15825f47898a1ffd77072febacb39ee | |
parent | cdeae33d71696bb0e81667d4788d0b38606aefb6 (diff) | |
download | glibc-6befb33f31f034a0e8876ce6427dacdfa0cd7ea7.zip glibc-6befb33f31f034a0e8876ce6427dacdfa0cd7ea7.tar.gz glibc-6befb33f31f034a0e8876ce6427dacdfa0cd7ea7.tar.bz2 |
rt: avoid PLT setup in timer_[sg]ettime
The functions __timer_gettime64 and __timer_settime64 live in librt, not
libc. Use proper hidden aliases so that the callers do not need to set up
the PLT register.
Fixes commits cae1635a70 ("y2038: linux: Provide __timer_settime64
implementation") and 562cdc19c7 ("y2038: linux: Provide __timer_gettime64
implementation").
-rw-r--r-- | include/time.h | 4 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/timer_gettime.c | 3 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/timer_settime.c | 3 |
3 files changed, 6 insertions, 4 deletions
diff --git a/include/time.h b/include/time.h index 5589232..f712a0e 100644 --- a/include/time.h +++ b/include/time.h @@ -185,7 +185,7 @@ libc_hidden_proto (__futimens64); #else extern int __timer_gettime64 (timer_t timerid, struct __itimerspec64 *value); extern int __timerfd_gettime64 (int fd, struct __itimerspec64 *value); -libc_hidden_proto (__timer_gettime64); +librt_hidden_proto (__timer_gettime64); libc_hidden_proto (__timerfd_gettime64); #endif @@ -199,7 +199,7 @@ extern int __timer_settime64 (timer_t timerid, int flags, extern int __timerfd_settime64 (int fd, int flags, const struct __itimerspec64 *value, struct __itimerspec64 *ovalue); -libc_hidden_proto (__timer_settime64); +librt_hidden_proto (__timer_settime64); libc_hidden_proto (__timerfd_settime64); #endif diff --git a/sysdeps/unix/sysv/linux/timer_gettime.c b/sysdeps/unix/sysv/linux/timer_gettime.c index 669aff8..1e07d48 100644 --- a/sysdeps/unix/sysv/linux/timer_gettime.c +++ b/sysdeps/unix/sysv/linux/timer_gettime.c @@ -52,6 +52,8 @@ __timer_gettime64 (timer_t timerid, struct __itimerspec64 *value) } #if __TIMESIZE != 64 +librt_hidden_def (__timer_gettime64) + int __timer_gettime (timer_t timerid, struct itimerspec *value) { @@ -67,4 +69,3 @@ __timer_gettime (timer_t timerid, struct itimerspec *value) } #endif weak_alias (__timer_gettime, timer_gettime) -libc_hidden_def (timer_gettime) diff --git a/sysdeps/unix/sysv/linux/timer_settime.c b/sysdeps/unix/sysv/linux/timer_settime.c index cd302e3..c97a9e9 100644 --- a/sysdeps/unix/sysv/linux/timer_settime.c +++ b/sysdeps/unix/sysv/linux/timer_settime.c @@ -68,6 +68,8 @@ __timer_settime64 (timer_t timerid, int flags, } #if __TIMESIZE != 64 +librt_hidden_def (__timer_settime64) + int __timer_settime (timer_t timerid, int flags, const struct itimerspec *value, struct itimerspec *ovalue) @@ -89,4 +91,3 @@ __timer_settime (timer_t timerid, int flags, const struct itimerspec *value, } #endif weak_alias (__timer_settime, timer_settime) -libc_hidden_def (timer_settime) |