xtensa: Fix fix linker script transformation for .text / .text.fixup
authorGuenter Roeck <linux@roeck-us.net>
Wed, 8 Apr 2015 05:49:54 +0000 (22:49 -0700)
committerChris Zankel <chris@zankel.net>
Fri, 10 Apr 2015 07:31:21 +0000 (07:31 +0000)
Commit 779c88c94c34 ("ARM: 8321/1: asm-generic: introduce .text.fixup
input section") introduced a new .text.fixup section which is merged
with .text at link time. This causes xtensa builds to fail with lots
of error messages similar to the following.

lib/lib.a(kobject.o): In function `kobject_create':
(.text+0x498): dangerous relocation: l32r: literal placed after use:
     (.literal+0x150)

Linker script transformation needs to be updated to detect and handle
the new section.

Fixes: 779c88c94c34 ("ARM: 8321/1: asm-generic: introduce .text.fixup
     input section")
Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Cc: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Chris Zankel <chris@zankel.net>
arch/xtensa/kernel/Makefile

index 18d962a8c0c2d1fccc5411fadbdc087bb5b05573..d3a0f0fd56ddce023cb27594e6fff8e2e455e761 100644 (file)
@@ -29,6 +29,7 @@ AFLAGS_head.o += -mtext-section-literals
 
 sed-y = -e 's/\*(\(\.[a-z]*it\|\.ref\|\)\.text)/*(\1.literal \1.text)/g' \
        -e 's/\.text\.unlikely/.literal.unlikely .text.unlikely/g'       \
+       -e 's/\*(\(\.text .*\))/*(.literal \1)/g'                        \
        -e 's/\*(\(\.text\.[a-z]*\))/*(\1.literal \1)/g'
 
 quiet_cmd__cpp_lds_S = LDS     $@