diff options
author | Adhemerval Zanella <adhemerval.zanella@linaro.org> | 2024-09-04 10:22:44 -0300 |
---|---|---|
committer | Adhemerval Zanella <adhemerval.zanella@linaro.org> | 2024-10-08 13:28:21 -0300 |
commit | 55d33108c72c9b3e231b83a55e16a9ba1190c768 (patch) | |
tree | 167818632cfdad3af7e1aefe773da8bce29b4a59 | |
parent | 02b195d30fdf4d2a396a550ea6044511f1305a9f (diff) | |
download | glibc-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.c | 7 |
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 |