[U-Boot] [PATCH v1] Refactor linker-generated arrays

Jeroen Hofstee
2013-02-02T18:42:40Z

Hello Albert,

On 02/02/2013 06:02 PM, Albert ARIBAUD wrote:
> Refactor linker-generated array code so that symbols
> which were previously linker-generated are now compiler-
> generated. This causes relocation records of type
> R_ARM_ABS32 to become R_ARM_RELATIVE, which makes
> code which uses LGA able to run before relocation as
> well as after.
>
> Note: this affects more than ARM targets, as linker-
> lists span possibly all target architectures, notably
> PowerPC.
>
> Signed-off-by: Albert ARIBAUD <albert.u.boot@aribaud.net>
> ---
Command completion currently traps with U-Boot master on a
twister board, as mentioned in [1]. Depending on random,
valid changes in the code, the name pointers in the command
list can become corrupted. Although this patch shouldn't effect
code running after relocation, it does prevent the incorrect
pointers and solves mentioned problem. The exact reason is
unknown, but it might be that code running before relocation
corrupts the data used after relocation.

At least this patch fixes the behaviour for the twister and prevents
that I get completely insane, thanks!

For the twister:
Tested-by: Jeroen Hofstee <jhofstee@myspectrum.nl>

Thanks,
Jeroen

[1] http://lists.denx.de/pipermail/u-boot/2013-February/145709.html