aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAdhemerval Zanella <adhemerval.zanella@linaro.org>2024-09-04 10:22:44 -0300
committerAdhemerval Zanella <adhemerval.zanella@linaro.org>2024-10-08 13:28:21 -0300
commit55d33108c72c9b3e231b83a55e16a9ba1190c768 (patch)
tree167818632cfdad3af7e1aefe773da8bce29b4a59
parent02b195d30fdf4d2a396a550ea6044511f1305a9f (diff)
downloadglibc-55d33108c72c9b3e231b83a55e16a9ba1190c768.zip
glibc-55d33108c72c9b3e231b83a55e16a9ba1190c768.tar.gz
glibc-55d33108c72c9b3e231b83a55e16a9ba1190c768.tar.bz2
linux: Use GLRO(dl_vdso_time) on time
The BZ#24967 fix (1bdda52fe92fd01b424c) missed the time for architectures that define USE_IFUNC_TIME. Although it is not an issue, since there is no pointer mangling, there is also no need to call dl_vdso_vsym since the vDSO setup was already done by the loader. Checked on x86_64-linux-gnu and i686-linux-gnu.
-rw-r--r--sysdeps/unix/sysv/linux/time.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/sysdeps/unix/sysv/linux/time.c b/sysdeps/unix/sysv/linux/time.c
index f8b0cee..a56ef6f 100644
--- a/sysdeps/unix/sysv/linux/time.c
+++ b/sysdeps/unix/sysv/linux/time.c
@@ -33,11 +33,10 @@ time_syscall (time_t *t)
}
# undef INIT_ARCH
-# define INIT_ARCH() \
- void *vdso_time = dl_vdso_vsym (HAVE_TIME_VSYSCALL);
+# define INIT_ARCH()
libc_ifunc (time,
- vdso_time ? VDSO_IFUNC_RET (vdso_time)
- : (void *) time_syscall);
+ GLRO(dl_vdso_time) != NULL ? VDSO_IFUNC_RET (GLRO(dl_vdso_time))
+ : (void *) time_syscall);
# else
time_t