diff options
author | Rusty Russell <rusty@rustcorp.com.au> | 2014-03-18 19:59:11 +1030 |
---|---|---|
committer | Anton Blanchard <anton@samba.org> | 2014-04-23 10:05:28 +1000 |
commit | 71ec7c55ed91e2352c00d51d171fccaa7cef5a00 (patch) | |
tree | 67e7972a2a101e697b3ef791ab630cea04e62ed8 /arch/powerpc/kernel/misc_64.S | |
parent | 9baeaef64095eab00c232f55df2e7c2d8e89845d (diff) |
powerpc: module: handle MODVERSION for .TOC.
For the ELFv2 ABI, powerpc introduces a magic symbol ".TOC.". If we
don't create a CRC for it (minus the leading ".", since we strip that)
we get a modpost warning about missing CRC and the CRC array seems to
be displaced by 1 so other CRCs mismatch too.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Diffstat (limited to 'arch/powerpc/kernel/misc_64.S')
-rw-r--r-- | arch/powerpc/kernel/misc_64.S | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/arch/powerpc/kernel/misc_64.S b/arch/powerpc/kernel/misc_64.S index b80fafbfab2f..4e314b90c75d 100644 --- a/arch/powerpc/kernel/misc_64.S +++ b/arch/powerpc/kernel/misc_64.S @@ -637,6 +637,15 @@ _GLOBAL(kexec_sequence) #ifdef CONFIG_MODULES #if defined(_CALL_ELF) && _CALL_ELF == 2 + +#ifdef CONFIG_MODVERSIONS +.weak __crc_TOC. +.section "___kcrctab+TOC.","a" +.globl __kcrctab_TOC. +__kcrctab_TOC.: + .llong __crc_TOC. +#endif + /* * Export a fake .TOC. since both modpost and depmod will complain otherwise. * Both modpost and depmod strip the leading . so we do the same here. |