summaryrefslogtreecommitdiff
path: root/arch/arm/mach-tegra/reset-handler.S
diff options
context:
space:
mode:
authorJoseph Lo <josephl@nvidia.com>2013-04-16 02:50:54 +0400
committerOlof Johansson <olof@lixom.net>2013-04-18 20:30:40 +0400
commita65dc10ffad1e041b4ad3559a026a8bb2b40b77e (patch)
tree4f869668419ba6ecfc668813edf5f2311e7ff1b6 /arch/arm/mach-tegra/reset-handler.S
parent5777b4b5778b9b44ee8b1476521ffcb8e527876d (diff)
downloadlinux-a65dc10ffad1e041b4ad3559a026a8bb2b40b77e.tar.xz
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: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Joseph Lo <josephl@nvidia.com> Signed-off-by: Stephen Warren <swarren@nvidia.com> Reviewed-by: Dave Martin <dave.martin@linaro.org> Signed-off-by: Olof Johansson <olof@lixom.net>
Diffstat (limited to 'arch/arm/mach-tegra/reset-handler.S')
-rw-r--r--arch/arm/mach-tegra/reset-handler.S1
1 files changed, 1 insertions, 0 deletions
diff --git a/arch/arm/mach-tegra/reset-handler.S b/arch/arm/mach-tegra/reset-handler.S
index 1676aba5e7b8..e6de88a2ea06 100644
--- a/arch/arm/mach-tegra/reset-handler.S
+++ b/arch/arm/mach-tegra/reset-handler.S
@@ -44,6 +44,7 @@ ENTRY(tegra_resume)
cpu_id r0
cmp r0, #0 @ CPU0?
+ THUMB( it ne )
bne cpu_resume @ no
#ifdef CONFIG_ARCH_TEGRA_3x_SOC