adc421e4ce
As of gcc 5.2.1 for Thumb-1, it is not possible any more to assign gd from C code, as gd is mapped to r9, and r9 may now be saved in the prolog sequence, and restored in the epilog sequence, of any C functions. Therefore arch_setup_gd(), which is supposed to set r9, may actually have no effect, causing U-Boot to use a bad address to access GD. Fix this by never calling arch_setup_gd() for ARM, and instead setting r9 in arch/arm/lib/crt0.S, to the value returned by board_init_f_alloc_reserve(). Signed-off-by: Albert ARIBAUD <albert.u.boot@aribaud.net> Reviewed-by: Simon Glass <sjg@chromium.org> |
||
---|---|---|
.. | ||
Makefile | ||
spl_ext.c | ||
spl_fat.c | ||
spl_mmc.c | ||
spl_nand.c | ||
spl_net.c | ||
spl_nor.c | ||
spl_onenand.c | ||
spl_sata.c | ||
spl_usb.c | ||
spl_ymodem.c | ||
spl.c |