diff options
author | H.J. Lu <hjl.tools@gmail.com> | 2012-03-16 14:25:30 -0700 |
---|---|---|
committer | H.J. Lu <hjl.tools@gmail.com> | 2012-05-27 07:30:57 -0700 |
commit | f3a7e42fbdb04518f0544f21e517ead3ae24bdea (patch) | |
tree | b75a92f71b7c53dc44f83be8e87cb76df7e627fd | |
parent | 4d86b90911f95d865bedec254d7147caafa4e93c (diff) | |
download | glibc-f3a7e42fbdb04518f0544f21e517ead3ae24bdea.tar.gz glibc-f3a7e42fbdb04518f0544f21e517ead3ae24bdea.tar.xz glibc-f3a7e42fbdb04518f0544f21e517ead3ae24bdea.zip |
Restore VSYSCALL_ADDR_xxx
2012-03-16 H.J. Lu <hongjiu.lu@intel.com> * sysdeps/unix/sysv/linux/x86_64/sysdep.h (VSYSCALL_ADDR_vgettimeofday): Removed. (VSYSCALL_ADDR_vtime): Likewise. (VSYSCALL_ADDR_vgetcpu): Likewise. * sysdeps/unix/sysv/linux/x86_64/gettimeofday.c (VSYSCALL_ADDR_vgettimeofday): Restored. * sysdeps/unix/sysv/linux/x86_64/init-first.c (VSYSCALL_ADDR_vgetcpu): Likewise. * sysdeps/unix/sysv/linux/x86_64/sched_getcpu.S (VSYSCALL_ADDR_vgetcpu): Likewise. * sysdeps/unix/sysv/linux/x86_64/time.c (VSYSCALL_ADDR_vtime): Likewise.
-rw-r--r-- | ChangeLog.x32 | 16 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/x86_64/gettimeofday.c | 4 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/x86_64/init-first.c | 1 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/x86_64/sched_getcpu.S | 4 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/x86_64/sysdep.h | 10 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/x86_64/time.c | 2 |
6 files changed, 27 insertions, 10 deletions
diff --git a/ChangeLog.x32 b/ChangeLog.x32 index 47d17cbd44..be2d55008c 100644 --- a/ChangeLog.x32 +++ b/ChangeLog.x32 @@ -1,5 +1,21 @@ 2012-03-16 H.J. Lu <hongjiu.lu@intel.com> + * sysdeps/unix/sysv/linux/x86_64/sysdep.h + (VSYSCALL_ADDR_vgettimeofday): Removed. + (VSYSCALL_ADDR_vtime): Likewise. + (VSYSCALL_ADDR_vgetcpu): Likewise. + + * sysdeps/unix/sysv/linux/x86_64/gettimeofday.c + (VSYSCALL_ADDR_vgettimeofday): Restored. + * sysdeps/unix/sysv/linux/x86_64/init-first.c + (VSYSCALL_ADDR_vgetcpu): Likewise. + * sysdeps/unix/sysv/linux/x86_64/sched_getcpu.S + (VSYSCALL_ADDR_vgetcpu): Likewise. + * sysdeps/unix/sysv/linux/x86_64/time.c (VSYSCALL_ADDR_vtime): + Likewise. + +2012-03-16 H.J. Lu <hongjiu.lu@intel.com> + * sysdeps/unix/sysv/linux/x86_64/bits/sigcontext.h: Include <bits/wordsize.h>. (sigcontext): Check __WORDSIZE instead of __LP64__. diff --git a/sysdeps/unix/sysv/linux/x86_64/gettimeofday.c b/sysdeps/unix/sysv/linux/x86_64/gettimeofday.c index 0b06133c40..3aba81ceb1 100644 --- a/sysdeps/unix/sysv/linux/x86_64/gettimeofday.c +++ b/sysdeps/unix/sysv/linux/x86_64/gettimeofday.c @@ -18,6 +18,10 @@ #include <dl-vdso.h> + +#define VSYSCALL_ADDR_vgettimeofday 0xffffffffff600000ul + + #ifdef SHARED void *gettimeofday_ifunc (void) __asm__ ("__gettimeofday"); diff --git a/sysdeps/unix/sysv/linux/x86_64/init-first.c b/sysdeps/unix/sysv/linux/x86_64/init-first.c index c331e12ced..cb39acae13 100644 --- a/sysdeps/unix/sysv/linux/x86_64/init-first.c +++ b/sysdeps/unix/sysv/linux/x86_64/init-first.c @@ -45,6 +45,7 @@ _libc_vdso_platform_setup (void) p = _dl_vdso_vsym ("getcpu", &linux26); /* If the vDSO is not available we fall back on the old vsyscall. */ +#define VSYSCALL_ADDR_vgetcpu 0xffffffffff600800 if (p == NULL) p = (void *) VSYSCALL_ADDR_vgetcpu; PTR_MANGLE (p); diff --git a/sysdeps/unix/sysv/linux/x86_64/sched_getcpu.S b/sysdeps/unix/sysv/linux/x86_64/sched_getcpu.S index 2053bfd3c2..246c955042 100644 --- a/sysdeps/unix/sysv/linux/x86_64/sched_getcpu.S +++ b/sysdeps/unix/sysv/linux/x86_64/sched_getcpu.S @@ -22,6 +22,10 @@ #include <bits/errno.h> #include <kernel-features.h> +/* For the calculation see asm/vsyscall.h. */ +#define VSYSCALL_ADDR_vgetcpu 0xffffffffff600800 + + ENTRY (sched_getcpu) /* Align stack and create local variable for result. */ sub $0x8, %rsp diff --git a/sysdeps/unix/sysv/linux/x86_64/sysdep.h b/sysdeps/unix/sysv/linux/x86_64/sysdep.h index 48c74a1818..34e04648e7 100644 --- a/sysdeps/unix/sysv/linux/x86_64/sysdep.h +++ b/sysdeps/unix/sysv/linux/x86_64/sysdep.h @@ -190,11 +190,6 @@ # define DOARGS_5 DOARGS_4 # define DOARGS_6 DOARGS_5 -/* For the calculation see asm/vsyscall.h. */ -# define VSYSCALL_ADDR_vgettimeofday 0xffffffffff600000 -# define VSYSCALL_ADDR_vtime 0xffffffffff600400 -# define VSYSCALL_ADDR_vgetcpu 0xffffffffff600800 - #else /* !__ASSEMBLER__ */ /* Define a macro which expands inline into the wrapper code for a system call. */ @@ -340,11 +335,6 @@ LOAD_REGS_5 # define ASM_ARGS_6 ASM_ARGS_5, "r" (_a6) -/* For the calculation see asm/vsyscall.h. */ -# define VSYSCALL_ADDR_vgettimeofday 0xffffffffff600000ul -# define VSYSCALL_ADDR_vgetcpu 0xffffffffff600800ul -# define VSYSCALL_ADDR_vtime 0xffffffffff600400ul - #endif /* __ASSEMBLER__ */ diff --git a/sysdeps/unix/sysv/linux/x86_64/time.c b/sysdeps/unix/sysv/linux/x86_64/time.c index 7b4a0c86a6..a613eb0f54 100644 --- a/sysdeps/unix/sysv/linux/x86_64/time.c +++ b/sysdeps/unix/sysv/linux/x86_64/time.c @@ -19,6 +19,8 @@ #ifdef SHARED #include <dl-vdso.h> +#define VSYSCALL_ADDR_vtime 0xffffffffff600400 + void *time_ifunc (void) __asm__ ("time"); void * |