aboutsummaryrefslogtreecommitdiffstats
path: root/include/asm-x86/vdso.h
diff options
context:
space:
mode:
authorRoland McGrath <roland@redhat.com>2008-01-30 07:30:41 -0500
committerIngo Molnar <mingo@elte.hu>2008-01-30 07:30:41 -0500
commit7f3646aa16f496201e045183402c6614fa27b0c7 (patch)
treeafbee61e10ce854f683e27b0fdd0097fc9200f75 /include/asm-x86/vdso.h
parent5b93049337301d6fbd3cf55db99b34e6b0dbd3a3 (diff)
x86 vDSO: use vdso-syms.lds
This patch changes the kernel's references to addresses in the vDSO image to be based on the symbols defined by vdso-syms.lds instead of the old vdso-syms.o symbols. This is all wrapped up in a macro defined by the new asm-x86/vdso.h header; that's the only place in the kernel source that has to know the details of the scheme for getting vDSO symbol values. Signed-off-by: Roland McGrath <roland@redhat.com> Cc: Andrew Morton <akpm@linux-foundation.org> Cc: Linus Torvalds <torvalds@linux-foundation.org> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'include/asm-x86/vdso.h')
-rw-r--r--include/asm-x86/vdso.h14
1 files changed, 14 insertions, 0 deletions
diff --git a/include/asm-x86/vdso.h b/include/asm-x86/vdso.h
new file mode 100644
index 000000000000..9379ec06fd1f
--- /dev/null
+++ b/include/asm-x86/vdso.h
@@ -0,0 +1,14 @@
1#ifndef _ASM_X86_VDSO_H
2#define _ASM_X86_VDSO_H 1
3
4extern const char VDSO64_PRELINK[];
5
6/*
7 * Given a pointer to the vDSO image, find the pointer to VDSO64_name
8 * as that symbol is defined in the vDSO sources or linker script.
9 */
10#define VDSO64_SYMBOL(base, name) ({ \
11 extern const char VDSO64_##name[]; \
12 (void *) (VDSO64_##name - VDSO64_PRELINK + (unsigned long) (base)); })
13
14#endif /* asm-x86/vdso.h */