diff options
author | Roland McGrath <roland@redhat.com> | 2008-01-30 07:30:42 -0500 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2008-01-30 07:30:42 -0500 |
commit | 4707c4717a5a6f375f3300bbccff1d46dcf75b25 (patch) | |
tree | 5db13f3ee006bc35d7b421ed61f04b31a7b6f980 /arch/x86/boot/compressed/relocs.c | |
parent | 6c3652efcafa6a6d795093362cb4290c84994b5c (diff) |
x86 vDSO: absolute relocs
This updates the exceptions for absolute relocs for the new symbol name
convention used for symbols extracted from the vDSO images.
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 'arch/x86/boot/compressed/relocs.c')
-rw-r--r-- | arch/x86/boot/compressed/relocs.c | 7 |
1 files changed, 2 insertions, 5 deletions
diff --git a/arch/x86/boot/compressed/relocs.c b/arch/x86/boot/compressed/relocs.c index 7a0d00b2cf28..d01ea42187e6 100644 --- a/arch/x86/boot/compressed/relocs.c +++ b/arch/x86/boot/compressed/relocs.c | |||
@@ -27,11 +27,6 @@ static unsigned long *relocs; | |||
27 | * absolute relocations present w.r.t these symbols. | 27 | * absolute relocations present w.r.t these symbols. |
28 | */ | 28 | */ |
29 | static const char* safe_abs_relocs[] = { | 29 | static const char* safe_abs_relocs[] = { |
30 | "__kernel_vsyscall", | ||
31 | "__kernel_rt_sigreturn", | ||
32 | "__kernel_sigreturn", | ||
33 | "SYSENTER_RETURN", | ||
34 | "VDSO_NOTE_MASK", | ||
35 | "xen_irq_disable_direct_reloc", | 30 | "xen_irq_disable_direct_reloc", |
36 | "xen_save_fl_direct_reloc", | 31 | "xen_save_fl_direct_reloc", |
37 | }; | 32 | }; |
@@ -45,6 +40,8 @@ static int is_safe_abs_reloc(const char* sym_name) | |||
45 | /* Match found */ | 40 | /* Match found */ |
46 | return 1; | 41 | return 1; |
47 | } | 42 | } |
43 | if (strncmp(sym_name, "VDSO", 4) == 0) | ||
44 | return 1; | ||
48 | if (strncmp(sym_name, "__crc_", 6) == 0) | 45 | if (strncmp(sym_name, "__crc_", 6) == 0) |
49 | return 1; | 46 | return 1; |
50 | return 0; | 47 | return 0; |