1
0
mirror of https://sourceware.org/git/glibc.git synced 2025-07-28 00:21:52 +03:00

sysdeps: Add clock_gettime64 vDSO

Add support for the clock_gettim64 vDSO calls. These are protected by
the HAVE_CLOCK_GETTIME64_VSYSCALL define.

HAVE_CLOCK_GETTIME64_VSYSCALL should be defined for 32-bit platforms
(WORDSIZE == 32) that only run on the 5.1 kernel or later. WORDSIZE ==
64 platforms can use #define __vdso_clock_gettime64 __vdso_clock_gettime
and use the __vdso_clock_gettime syscall as they don't have a
__vdso_clock_gettime64 call.

Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
This commit is contained in:
Alistair Francis
2019-09-18 08:37:58 -07:00
parent d0bc5b725d
commit f6fbce7dd7
2 changed files with 14 additions and 0 deletions

View File

@ -24,6 +24,11 @@
int (*VDSO_SYMBOL(clock_gettime)) (clockid_t, struct timespec *)
attribute_hidden;
#endif
/* vDSO symbol used on clock_gettime64 implementation. */
#ifdef HAVE_CLOCK_GETTIME64_VSYSCALL
int (*VDSO_SYMBOL(clock_gettime64)) (clockid_t, struct __timespec64 *)
attribute_hidden;
#endif
/* vDSO symbol used on clock_getres implementation. */
#ifdef HAVE_CLOCK_GETRES_VSYSCALL
int (*VDSO_SYMBOL(clock_getres)) (clockid_t, struct timespec *)
@ -52,6 +57,11 @@ __libc_vdso_platform_setup (void)
= get_vdso_mangle_symbol (HAVE_CLOCK_GETTIME_VSYSCALL);
#endif
#ifdef HAVE_CLOCK_GETTIME64_VSYSCALL
VDSO_SYMBOL(clock_gettime64)
= get_vdso_mangle_symbol (HAVE_CLOCK_GETTIME64_VSYSCALL);
#endif
#ifdef HAVE_CLOCK_GETRES_VSYSCALL
VDSO_SYMBOL(clock_getres)
= get_vdso_mangle_symbol (HAVE_CLOCK_GETRES_VSYSCALL);