[PATCH 2/3] ARM: tegra: fix relocation truncated error when THUMB2_KERNEL enabled
Dave Martin
dave.martin at linaro.org
Wed Apr 17 13:01:14 EDT 2013
On Mon, Apr 15, 2013 at 04:50:54PM -0600, Stephen Warren wrote:
> From: Joseph Lo <josephl at nvidia.com>
>
> 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 at arndb.de>
> Signed-off-by: Joseph Lo <josephl at nvidia.com>
> Signed-off-by: Stephen Warren <swarren at nvidia.com>
FWIW, Reviewed-by: Dave Martin <dave.martin at linaro.org>
> ---
> arch/arm/mach-tegra/reset-handler.S | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/arch/arm/mach-tegra/reset-handler.S b/arch/arm/mach-tegra/reset-handler.S
> index 1676aba..e6de88a 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
> --
> 1.7.10.4
>
>
> _______________________________________________
> linux-arm-kernel mailing list
> linux-arm-kernel at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
More information about the linux-arm-kernel
mailing list