diff options
author | Richard Weinberger <richard@nod.at> | 2011-07-25 20:12:54 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2011-07-25 23:57:13 -0400 |
commit | f1c2bb8b9964ed31de988910f8b1cfb586d30091 (patch) | |
tree | ccf58acd47dbf659dca3087b7ebf2704ffd14aba /arch/um/sys-x86_64/vdso/checkundef.sh | |
parent | fc9a00187ba1300a0baae8e613cc62598e1a7de7 (diff) |
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>
Diffstat (limited to 'arch/um/sys-x86_64/vdso/checkundef.sh')
-rw-r--r-- | arch/um/sys-x86_64/vdso/checkundef.sh | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/arch/um/sys-x86_64/vdso/checkundef.sh b/arch/um/sys-x86_64/vdso/checkundef.sh new file mode 100644 index 000000000000..7ee90a9b549d --- /dev/null +++ b/arch/um/sys-x86_64/vdso/checkundef.sh | |||
@@ -0,0 +1,10 @@ | |||
1 | #!/bin/sh | ||
2 | nm="$1" | ||
3 | file="$2" | ||
4 | $nm "$file" | grep '^ *U' > /dev/null 2>&1 | ||
5 | if [ $? -eq 1 ]; then | ||
6 | exit 0 | ||
7 | else | ||
8 | echo "$file: undefined symbols found" >&2 | ||
9 | exit 1 | ||
10 | fi | ||