glibc/sysdeps/unix
Adhemerval Zanella 7cbeabac0f x86: Remove vsyscall usage
This patch removes the vsyscall usage for x86_64 port.  As indicated
by kernel code comments [1], vsyscalls are a legacy ABI and its concept
is problematic:

- It interferes with ASLR.
- It's awkward to write code that lives in kernel addresses but is
  callable by userspace at fixed addresses.
- The whole concept is impossible for 32-bit compat userspace.
- UML cannot easily virtualize a vsyscall.

The VDSO is a better approach for such functionality.  Tested on i686,
x86_64, and x32.

	* sysdeps/unix/sysv/linux/i386/gettimeofday.c
	(__gettimeofday_syscall): Remove vsyscall fallback.
	* sysdeps/unix/sysv/linux/i386/time.c (__time_syscall): Likewise.
	* sysdeps/unix/sysv/linux/x86/gettimeofday.c (__gettimeofday_syscall):
	Add syscall fallback function.
	(gettimeofday_ifunc): Use __gettimeofday_syscall as fallback mechanism
	if vDSO is not present.
	* sysdeps/unix/sysv/linux/x86/time.c (__time_syscall): Add syscall
	fallback function.
	(time_ifunc): Use __time_syscall as fallback mechanism if vDSO is not
	present.
	* sysdeps/unix/sysv/linux/x86_64/gettimeofday.c: Remove file.
	* sysdeps/unix/sysv/linux/x86_64/time.c: Likewise.

[1] arch/x86/kernel/vsyscall_64.c
2015-06-09 18:10:19 -03:00
..
alpha alpha: Unconditionally include dl-sysdep.h in sysdep.h 2015-04-06 10:36:44 -07:00
arm Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
bsd Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
i386 Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
inet
mips Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
powerpc Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
sh Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
sysv/linux x86: Remove vsyscall usage 2015-06-09 18:10:19 -03:00
x86_64 Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
Implies
Makefile Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
Subdirs
clock_gettime.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
clock_nanosleep.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
clock_settime.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
confstr.h
get_child_max.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
getlogin.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
getlogin_r.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
getpagesize.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
grantpt.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
ifreq.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
make-syscalls.sh Fix non-portable echo usage in sysdeps/unix/make-syscalls.sh 2015-05-14 16:38:46 -03:00
s-proto-cancel.S
s-proto.S
setxid.h
sockatmark.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
stime.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
syscall-template.S Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
syscall.S Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
syscalls.list
sysdep.h nptl: Rewrite cancellation macros 2015-06-04 18:58:36 -03:00