[U-Boot] [PATCH v2 01/11] ARM: fix relocation on ARM926EJS

Marek Vasut
2012-09-15T18:03:23Z

Dear Jos? Miguel Gon?alves,

> Jumping to board_init_r is not performed due to a bug on address
> computation.

Is your CONFIG_SYS_TEXT_BASE configured correctly? I don't detect any
misbehavior on my arm926 boards.

> Relocation offsets are not needed when building SPL.

Do they cause any trouble?

> Signed-off-by: Jos? Miguel Gon?alves <jose.goncalves@inov.pt>
> ---
> Changes for v2:
> - None
> ---
> arch/arm/cpu/arm926ejs/start.S | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/arch/arm/cpu/arm926ejs/start.S
> b/arch/arm/cpu/arm926ejs/start.S index 6f05f1a..2da5342 100644
> --- a/arch/arm/cpu/arm926ejs/start.S
> +++ b/arch/arm/cpu/arm926ejs/start.S
> @@ -325,7 +325,7 @@ _nand_boot_ofs:
> .word nand_boot
> #else
> ldr r0, _board_init_r_ofs
> - ldr r1, _TEXT_BASE
> + adr r1, _start
> add lr, r0, r1
> add lr, lr, r9
> /* setup parameters for board_init_r */
> @@ -338,12 +338,14 @@ _board_init_r_ofs:
> .word board_init_r - _start
> #endif
>
> +#ifndef CONFIG_SPL_BUILD
> _rel_dyn_start_ofs:
> .word __rel_dyn_start - _start
> _rel_dyn_end_ofs:
> .word __rel_dyn_end - _start
> _dynsym_start_ofs:
> .word __dynsym_start - _start
> +#endif
>
> /*
> *************************************************************************

Best regards,
Marek Vasut