u-boot-brain/arch
Manfred Schlaegl cdde7de036 ARM: fixed relocation using proper alignment
Using u-boot-2017.05 on i.MX6UL we ran into following problem:
Initially U-Boot could be started normally.
If we added one random command in configuration, the newly generated
image hung at startup (last output was DRAM:  256 MiB).

We tracked this down to a data abort within relocation (relocated_code).

relocated_code in arch/arm/lib/relocate.S copies 8 bytes per loop
iteration until the source pointer is equal to __image_copy_end.
In a good case __image_copy_end was aligned to 8 bytes, so the loop
stopped as suggested, but in an errornous case __image_copy_end was
not aligned to 8 bytes, so the loop ran out of bounds and caused a
data abort exception.

This patches solves the issue by aligning __image_copy_end to 8 byte
using the linker script related to arm.

I don't know if it's the correct way to solve this, so some review would
be very appreciated.
2017-06-12 08:36:18 -04:00
..
arc arc: Make u-boot-arc.h a private header 2017-06-05 11:02:31 -04:00
arm ARM: fixed relocation using proper alignment 2017-06-12 08:36:18 -04:00
avr32 Remove various unused interrupt related code 2017-04-06 20:42:18 -04:00
m68k spi: Zap cf_qspi driver and related code 2017-01-15 18:29:04 +01:00
microblaze spl: make image arg or fdt blob address reconfigurable 2017-05-08 11:38:40 -04:00
mips mips: Make u-boot-mips.h a private header 2017-06-05 11:02:33 -04:00
nds32 nds32: Remove include files from common.h 2017-06-05 11:02:36 -04:00
nios2 fdt: Move fdt_fixup_ethernet to a common place 2017-05-01 09:11:59 -04:00
powerpc common: freescale: Move arch-specific declarations 2017-06-05 12:30:55 -04:00
sandbox sandbox: Fix comparison of unsigned enum expression warning 2017-06-08 20:21:59 -06:00
sh sh: generate position independent code for all platforms 2016-12-02 21:32:54 -05:00
x86 x86: Don't include asm/u-boot.h in common 2017-06-05 11:02:35 -04:00
xtensa board_f: Rename initdram() to dram_init() 2017-04-13 09:40:57 -04:00
.gitignore .gitignore: drop include/asm/proc from ignore pattern 2014-06-19 11:18:54 -04:00
Kconfig Kconfig: Migrate FS_FAT / FAT_WRITE 2017-06-03 17:55:34 -04:00