mirror of
https://github.com/u-boot/u-boot.git
synced 2024-11-25 13:14:19 +08:00
x86: Do relocation before clearing BSS
The BSS region may overlap with relocations. If we clear BSS we will overwrite the start of the relocation area. This doesn't matter when running from SPI flash, since it is read-only. But when relocating 64-bit U-Boot from one place in RAM to another, relocation will fail because some of its relocations have been zeroed. To fix this, put the ELF fixup call before the BSS clearing call. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
This commit is contained in:
parent
fb92308b98
commit
6bda55a38c
@ -1033,8 +1033,8 @@ static const init_fnc_t init_sequence_f[] = {
|
||||
setup_reloc,
|
||||
#if defined(CONFIG_X86) || defined(CONFIG_ARC)
|
||||
copy_uboot_to_ram,
|
||||
clear_bss,
|
||||
do_elf_reloc_fixups,
|
||||
clear_bss,
|
||||
#endif
|
||||
#if defined(CONFIG_XTENSA)
|
||||
clear_bss,
|
||||
|
Loading…
Reference in New Issue
Block a user