diff options
author | Rusty Russell <rusty@rustcorp.com.au> | 2009-12-15 17:28:32 -0500 |
---|---|---|
committer | Rusty Russell <rusty@rustcorp.com.au> | 2009-12-15 00:58:34 -0500 |
commit | d4703aefdbc8f9f347f6dcefcddd791294314eb7 (patch) | |
tree | 198936f4f91d6e571548f5b9aba9ee62e93134a6 /arch/powerpc/include | |
parent | a8773769d1a1e08d0ca15f890515401ab3860637 (diff) |
module: handle ppc64 relocating kcrctabs when CONFIG_RELOCATABLE=y
powerpc applies relocations to the kcrctab. They're absolute symbols,
but it's not completely unreasonable: other archs may too, but the
relocation is often 0.
http://lists.ozlabs.org/pipermail/linuxppc-dev/2009-November/077972.html
Inspired-by: Neil Horman <nhorman@tuxdriver.com>
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Tested-by: Neil Horman <nhorman@tuxdriver.com>
Acked-by: Paul Mackerras <paulus@samba.org>
Diffstat (limited to 'arch/powerpc/include')
-rw-r--r-- | arch/powerpc/include/asm/module.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/arch/powerpc/include/asm/module.h b/arch/powerpc/include/asm/module.h index 08454880a2c0..0192a4ee2bc2 100644 --- a/arch/powerpc/include/asm/module.h +++ b/arch/powerpc/include/asm/module.h | |||
@@ -87,5 +87,10 @@ struct exception_table_entry; | |||
87 | void sort_ex_table(struct exception_table_entry *start, | 87 | void sort_ex_table(struct exception_table_entry *start, |
88 | struct exception_table_entry *finish); | 88 | struct exception_table_entry *finish); |
89 | 89 | ||
90 | #ifdef CONFIG_MODVERSIONS | ||
91 | #define ARCH_RELOCATES_KCRCTAB | ||
92 | |||
93 | extern const unsigned long reloc_start[]; | ||
94 | #endif | ||
90 | #endif /* __KERNEL__ */ | 95 | #endif /* __KERNEL__ */ |
91 | #endif /* _ASM_POWERPC_MODULE_H */ | 96 | #endif /* _ASM_POWERPC_MODULE_H */ |