diff mbox series

linux: Use GLRO(dl_vdso_time) on time

Message ID 20240904162003.821668-1-adhemerval.zanella@linaro.org
State New
Headers show
Series linux: Use GLRO(dl_vdso_time) on time | expand

Commit Message

Adhemerval Zanella Sept. 4, 2024, 4:20 p.m. UTC
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.
---
 sysdeps/unix/sysv/linux/time.c | 7 ++-----
 1 file changed, 2 insertions(+), 5 deletions(-)

Comments

Florian Weimer Sept. 4, 2024, 6:16 p.m. UTC | #1
* Adhemerval Zanella:

> The BZ#24967 fix (1bdda52fe92fd01b424c) missed the time for
> architectures that define 1bdda52fe92fd01b424c.

Second 1bdda52fe92fd01b424c seems to be a cut-and-paste error.

Thanks,
Florian
Adhemerval Zanella Sept. 4, 2024, 6:34 p.m. UTC | #2
On 04/09/24 15:16, Florian Weimer wrote:
> * Adhemerval Zanella:
> 
>> The BZ#24967 fix (1bdda52fe92fd01b424c) missed the time for
>> architectures that define 1bdda52fe92fd01b424c.
> 
> Second 1bdda52fe92fd01b424c seems to be a cut-and-paste error.

Indeed, it should be USE_IFUNC_TIME.
diff mbox series

Patch

diff --git a/sysdeps/unix/sysv/linux/time.c b/sysdeps/unix/sysv/linux/time.c
index f8b0cee41c..ea929f6758 100644
--- a/sysdeps/unix/sysv/linux/time.c
+++ b/sysdeps/unix/sysv/linux/time.c
@@ -32,12 +32,9 @@  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);
 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