aboutsummaryrefslogtreecommitdiff
path: root/sysdeps/unix/sysv/linux/x86_64/init-first.c
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@gmail.com>2011-08-21 13:52:28 -0400
committerUlrich Drepper <drepper@gmail.com>2011-08-21 13:52:28 -0400
commit91b392a4bab0c2dc90e7e3ff914dec20b97adca8 (patch)
treec59ef82aa0fcbbcaaa2e6f0c6a99670e51da112b /sysdeps/unix/sysv/linux/x86_64/init-first.c
parente315850c088ad13a160132a6fcec9d7564dd3c08 (diff)
downloadglibc-91b392a4bab0c2dc90e7e3ff914dec20b97adca8.tar
glibc-91b392a4bab0c2dc90e7e3ff914dec20b97adca8.tar.gz
glibc-91b392a4bab0c2dc90e7e3ff914dec20b97adca8.tar.bz2
glibc-91b392a4bab0c2dc90e7e3ff914dec20b97adca8.zip
Use ifuncs for time and gettimeofday on x86-64
Diffstat (limited to 'sysdeps/unix/sysv/linux/x86_64/init-first.c')
-rw-r--r--sysdeps/unix/sysv/linux/x86_64/init-first.c24
1 files changed, 2 insertions, 22 deletions
diff --git a/sysdeps/unix/sysv/linux/x86_64/init-first.c b/sysdeps/unix/sysv/linux/x86_64/init-first.c
index e676f623e1..25cf08bd77 100644
--- a/sysdeps/unix/sysv/linux/x86_64/init-first.c
+++ b/sysdeps/unix/sysv/linux/x86_64/init-first.c
@@ -20,15 +20,11 @@
# include <dl-vdso.h>
# include <bits/libc-vdso.h>
-long int (*__vdso_gettimeofday) (struct timeval *, void *) attribute_hidden;
-
long int (*__vdso_clock_gettime) (clockid_t, struct timespec *)
__attribute__ ((nocommon));
strong_alias (__vdso_clock_gettime, __GI___vdso_clock_gettime attribute_hidden)
-long int (*__vdso_getcpu) (unsigned *, unsigned *, void *);
-
-long int (*__vdso_time) (time_t *) attribute_hidden;
+long int (*__vdso_getcpu) (unsigned *, unsigned *, void *) attribute_hidden;
static inline void
@@ -36,15 +32,7 @@ _libc_vdso_platform_setup (void)
{
PREPARE_VERSION (linux26, "LINUX_2.6", 61765110);
- void *p = _dl_vdso_vsym ("gettimeofday", &linux26);
- /* If the vDSO is not available we fall back on the old vsyscall. */
-#define VSYSCALL_ADDR_vgettimeofday 0xffffffffff600000ul
- if (p == NULL)
- p = (void *) VSYSCALL_ADDR_vgettimeofday;
- PTR_MANGLE (p);
- __vdso_gettimeofday = p;
-
- p = _dl_vdso_vsym ("clock_gettime", &linux26);
+ void *p = _dl_vdso_vsym ("clock_gettime", &linux26);
PTR_MANGLE (p);
__GI___vdso_clock_gettime = p;
@@ -55,14 +43,6 @@ _libc_vdso_platform_setup (void)
p = (void *) VSYSCALL_ADDR_vgetcpu;
PTR_MANGLE (p);
__vdso_getcpu = p;
-
- p = _dl_vdso_vsym ("time", &linux26);
- /* If the vDSO is not available we fall back on the old vsyscall. */
-#define VSYSCALL_ADDR_vtime 0xffffffffff600400
- if (p == NULL)
- p = (void *) VSYSCALL_ADDR_vtime;
- PTR_MANGLE (p);
- __vdso_time = p;
}
# define VDSO_SETUP _libc_vdso_platform_setup