um: implement a x86_64 vDSO
authorRichard Weinberger <richard@nod.at>
Tue, 26 Jul 2011 00:12:54 +0000 (17:12 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Tue, 26 Jul 2011 03:57:13 +0000 (20:57 -0700)
commitf1c2bb8b9964ed31de988910f8b1cfb586d30091
treeccf58acd47dbf659dca3087b7ebf2704ffd14aba
parentfc9a00187ba1300a0baae8e613cc62598e1a7de7
um: implement a x86_64 vDSO

Until now UML had no x86_64 vDSO.  So glibc always used the vsyscall page
for gettimeday() and friends.  Calls to gettimeday() returned falsely the
host time and confused some programs.

This patch adds a vDSO which turns all __vdso_* calls into a system call
so that UML can trap them.

As glibc still uses the vsyscall page for static binaries this patch
improves the situation only for dynamic binaries.

Signed-off-by: Richard Weinberger <richard@nod.at>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
arch/um/sys-x86_64/Makefile
arch/um/sys-x86_64/vdso/Makefile [new file with mode: 0644]
arch/um/sys-x86_64/vdso/checkundef.sh [new file with mode: 0644]
arch/um/sys-x86_64/vdso/um_vdso.c [new file with mode: 0644]
arch/um/sys-x86_64/vdso/vdso-layout.lds.S [new file with mode: 0644]
arch/um/sys-x86_64/vdso/vdso-note.S [new file with mode: 0644]
arch/um/sys-x86_64/vdso/vdso.S [new file with mode: 0644]
arch/um/sys-x86_64/vdso/vdso.lds.S [new file with mode: 0644]
arch/um/sys-x86_64/vdso/vma.c [new file with mode: 0644]