Commit a65dc10f authored by Joseph Lo's avatar Joseph Lo Committed by Olof Johansson

ARM: tegra: fix relocation truncated error when THUMB2_KERNEL enabled

The conditional branch instruction in Thumb2 only available to short range.
The linker will fail when the conditional branch over the range. Then
resulting in link error when generating kernel image. e.g.:

arch/arm/mach-tegra/reset-handler.S:47:(.text+0xf8e):
relocation truncated to fit: R_ARM_THM_JUMP19 against symbol
`cpu_resume' defined in .data section in arch/arm/kernel/built-in.o

This patch using a Thumb2 instruction IT (if-then) to have a longer branch
range.
Reported-by: default avatarArnd Bergmann <arnd@arndb.de>
Signed-off-by: default avatarJoseph Lo <josephl@nvidia.com>
Signed-off-by: default avatarStephen Warren <swarren@nvidia.com>
Reviewed-by: default avatarDave Martin <dave.martin@linaro.org>
Signed-off-by: default avatarOlof Johansson <olof@lixom.net>
parent 5777b4b5
...@@ -44,6 +44,7 @@ ENTRY(tegra_resume) ...@@ -44,6 +44,7 @@ ENTRY(tegra_resume)
cpu_id r0 cpu_id r0
cmp r0, #0 @ CPU0? cmp r0, #0 @ CPU0?
THUMB( it ne )
bne cpu_resume @ no bne cpu_resume @ no
#ifdef CONFIG_ARCH_TEGRA_3x_SOC #ifdef CONFIG_ARCH_TEGRA_3x_SOC
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment