mirror of
https://github.com/AsahiLinux/u-boot
synced 2025-03-16 14:56:59 +00:00
arm926ejs: 8-byte align stack to avoid LDRD/STRD problems
U-boot for Marvell Kirkwood boards no longer work after the EABI changes
introduced in commit f772acf8a5
. This
turns out to be caused by a stack alignment issue. The armv5te
instructions ldrd/strd instructions require 8-byte alignment to work
properly (otherwise undefined behavior).
Tested on an OpenRD base board, where both printouts and ubifs stuff now
works.
Signed-off-by: Simon Kagstrom <simon.kagstrom@netinsight.net>
This commit is contained in:
parent
e63e5904b4
commit
8003c361de
1 changed files with 1 additions and 0 deletions
|
@ -172,6 +172,7 @@ stack_setup:
|
|||
sub r0, r0, #(CONFIG_STACKSIZE_IRQ+CONFIG_STACKSIZE_FIQ)
|
||||
#endif
|
||||
sub sp, r0, #12 /* leave 3 words for abort-stack */
|
||||
bic sp, r0, #7 /* 8-byte align stack for ABI compliance */
|
||||
|
||||
clear_bss:
|
||||
ldr r0, _bss_start /* find start of bss segment */
|
||||
|
|
Loading…
Add table
Reference in a new issue