[PATCH v2] linux: Use GLRO(dl_vdso_time) on time
Adhemerval Zanella
adhemerval.zanella@linaro.org
Thu Sep 5 13:49:13 GMT 2024
The BZ#24967 fix (1bdda52fe92fd01b424c) missed the time for
architectures that define 1bdda52fe92fd01b424c. 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.
--
Change from v1:
* Fixed build on some architectures due a missing INIT_ARCH.
---
sysdeps/unix/sysv/linux/time.c | 8 +++-----
1 file changed, 3 insertions(+), 5 deletions(-)
diff --git a/sysdeps/unix/sysv/linux/time.c b/sysdeps/unix/sysv/linux/time.c
index f8b0cee41c..50854e05e2 100644
--- a/sysdeps/unix/sysv/linux/time.c
+++ b/sysdeps/unix/sysv/linux/time.c
@@ -32,12 +32,10 @@ time_syscall (time_t *t)
return INLINE_SYSCALL_CALL (time, 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
--
2.43.0
More information about the Libc-alpha
mailing list