All of lore.kernel.org
 help / color / mirror / Atom feed
From: Vitaly Kuzmichev <vkuzmichev@mvista.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH] ARM1136: Align stack to 8 bytes
Date: Tue, 15 Jun 2010 17:16:06 +0400	[thread overview]
Message-ID: <4C177D16.3060600@mvista.com> (raw)
In-Reply-To: <47F3F98010FF784EBEE6526EAAB078D10635E718@tq-mailsrv.tq-net.de>

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
> 
> u-boot-bounces at lists.denx.de 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 <vkuzmichev@mvista.com>
>> Signed-off-by: George G. Davis <gdavis@mvista.com>
>> ---
>>  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	    */

  reply	other threads:[~2010-06-15 13:16 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-06-15 10:52 [U-Boot] [PATCH] ARM1136: Align stack to 8 bytes Vitaly Kuzmichev
2010-06-15 11:16 ` Martin Krause
2010-06-15 13:16   ` Vitaly Kuzmichev [this message]
2010-06-15 18:18     ` [U-Boot] [PATCH v2] ARM: " Vitaly Kuzmichev
2010-06-22 14:47       ` Vitaly Kuzmichev
2010-06-22 20:20       ` Wolfgang Denk
2010-07-05  8:56         ` Minkyu Kang

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4C177D16.3060600@mvista.com \
    --to=vkuzmichev@mvista.com \
    --cc=u-boot@lists.denx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.