diff options
author | Roland McGrath <roland@redhat.com> | 2008-01-30 07:30:41 -0500 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2008-01-30 07:30:41 -0500 |
commit | 7f3646aa16f496201e045183402c6614fa27b0c7 (patch) | |
tree | afbee61e10ce854f683e27b0fdd0097fc9200f75 /include/asm-x86/vdso.h | |
parent | 5b93049337301d6fbd3cf55db99b34e6b0dbd3a3 (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.h | 14 |
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 | |||
4 | extern 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 */ | ||