Ok, but probably other ARM starters should be fixed too? I have no possibility to check all ARM CPUs, but I believe this patch won't break them.
On 06/15/2010 03:16 PM, Martin Krause wrote: > Hi Vitaly, > > the exact same problem applies to ARM1176. Maybe you could update > your patch and add the same line to /arch/arm/cpu/arm1176/start.S. > I am currently not working on an top-of-tree U-Boot, so it would > be not so easy for me to create a separate patch for ARM1176. > > Regards, > Martin > > [email protected] wrote on Tuesday, June 15, 2010 12:52 PM: >> The ARM ABI requires that the stack be aligned to 8 bytes as it is >> noted in Procedure Call Standard for the ARM Architecture: >> http://infocenter.arm.com/help/topic/com.arm.doc.ihi0042d/index.html >> >> Unaligned SP also causes the problem with variable-length arrays >> allocation when VLA address becomes less than stack pointer during >> aligning of this address, so the further 'push' into the stack >> overwrites first 4 bytes of VLA. >> >> Signed-off-by: Vitaly Kuzmichev <[email protected]> >> Signed-off-by: George G. Davis <[email protected]> >> --- >> arch/arm/cpu/arm1136/start.S | 1 + >> 1 files changed, 1 insertions(+), 0 deletions(-) >> >> diff --git a/arch/arm/cpu/arm1136/start.S >> b/arch/arm/cpu/arm1136/start.S index 957f438..d0c5717 100644 >> --- a/arch/arm/cpu/arm1136/start.S >> +++ b/arch/arm/cpu/arm1136/start.S >> @@ -185,6 +185,7 @@ stack_setup: >> #endif >> sub sp, r0, #12 /* leave 3 words for abort-stack */ >> #endif /* CONFIG_PRELOADER */ >> + bic sp, sp, #7 /* 8-byte alignment */ >> >> clear_bss: >> ldr r0, _bss_start /* find start of bss segment */ _______________________________________________ U-Boot mailing list [email protected] http://lists.denx.de/mailman/listinfo/u-boot

