aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAdhemerval Zanella <adhemerval.zanella@linaro.org>2019-11-29 09:14:08 -0300
committerAdhemerval Zanella <adhemerval.zanella@linaro.org>2020-01-03 10:02:05 -0300
commiteca6aec6a30f5b21987000ccd0a0ead642592e18 (patch)
tree39e8255eb0407390a1188c037e4ab3638193d69b
parent2822aaf4f7426289a7e29086a4ee430f683e4b55 (diff)
downloadglibc-eca6aec6a30f5b21987000ccd0a0ead642592e18.tar
glibc-eca6aec6a30f5b21987000ccd0a0ead642592e18.tar.gz
glibc-eca6aec6a30f5b21987000ccd0a0ead642592e18.tar.bz2
glibc-eca6aec6a30f5b21987000ccd0a0ead642592e18.zip
linux: Update x86 vDSO symbols
Add the missing time and clock_getres vDSO symbol names on x86. For time, the iFUNC already uses expected name so it affects only the static build. The clock_getres is a new implementation added on Linux 5.3 (f66501dc53e72). Checked on x86-linux-gnu and i686-linux-gnu. Reviewed-by: Siddhesh Poyarekar <siddhesh@sourceware.org>
-rw-r--r--sysdeps/unix/sysv/linux/i386/sysdep.h2
-rw-r--r--sysdeps/unix/sysv/linux/x86/time.c4
-rw-r--r--sysdeps/unix/sysv/linux/x86_64/sysdep.h2
3 files changed, 4 insertions, 4 deletions
diff --git a/sysdeps/unix/sysv/linux/i386/sysdep.h b/sysdeps/unix/sysv/linux/i386/sysdep.h
index afad9200d5..12b895d1b1 100644
--- a/sysdeps/unix/sysv/linux/i386/sysdep.h
+++ b/sysdeps/unix/sysv/linux/i386/sysdep.h
@@ -315,6 +315,8 @@ struct libc_do_syscall_args
/* List of system calls which are supported as vsyscalls. */
# define HAVE_CLOCK_GETTIME_VSYSCALL "__vdso_clock_gettime"
# define HAVE_GETTIMEOFDAY_VSYSCALL "__vdso_gettimeofday"
+# define HAVE_TIME_VSYSCALL "__vdso_time"
+# define HAVE_CLOCK_GETRES_VSYSCALL "__vdso_clock_getres"
/* Define a macro which expands inline into the wrapper code for a system
call. This use is for internal calls that do not need to handle errors
diff --git a/sysdeps/unix/sysv/linux/x86/time.c b/sysdeps/unix/sysv/linux/x86/time.c
index 9074f1e10e..d356829ea8 100644
--- a/sysdeps/unix/sysv/linux/x86/time.c
+++ b/sysdeps/unix/sysv/linux/x86/time.c
@@ -23,11 +23,7 @@
static time_t
time_vsyscall (time_t *t)
{
-#ifdef HAVE_TIME_VSYSCALL
return INLINE_VSYSCALL (time, 1, t);
-#else
- return INLINE_SYSCALL_CALL (time, t);
-#endif
}
#ifdef SHARED
diff --git a/sysdeps/unix/sysv/linux/x86_64/sysdep.h b/sysdeps/unix/sysv/linux/x86_64/sysdep.h
index 6117278703..b8a1a51266 100644
--- a/sysdeps/unix/sysv/linux/x86_64/sysdep.h
+++ b/sysdeps/unix/sysv/linux/x86_64/sysdep.h
@@ -366,7 +366,9 @@
/* List of system calls which are supported as vsyscalls. */
# define HAVE_CLOCK_GETTIME_VSYSCALL "__vdso_clock_gettime"
# define HAVE_GETTIMEOFDAY_VSYSCALL "__vdso_gettimeofday"
+# define HAVE_TIME_VSYSCALL "__vdso_time"
# define HAVE_GETCPU_VSYSCALL "__vdso_getcpu"
+# define HAVE_CLOCK_GETRES_VSYSCALL "__vdso_clock_getres"
# define SINGLE_THREAD_BY_GLOBAL 1