[U-Boot] [PATCH] arm: New stack pointer is already aligned

Wolfgang Denk wd at denx.de
Fri Nov 29 07:14:13 CET 2013


Dear Tom Rini,

In message <1385580930-9830-1-git-send-email-trini at ti.com> you wrote:
> The code in arch/arm/lib/board.c::board_init_f that sets
> gd->start_addr_sp has already make sure we're 8-byte aligned, so we
> don't need to do that again.
> 
> Cc: Albert ARIBAUD <albert.u.boot at aribaud.net>
> Signed-off-by: Tom Rini <trini at ti.com>
> ---
>  arch/arm/lib/crt0.S |    1 -
>  1 file changed, 1 deletion(-)
> 
> diff --git a/arch/arm/lib/crt0.S b/arch/arm/lib/crt0.S
> index ac54b93..6b5ec01 100644
> --- a/arch/arm/lib/crt0.S
> +++ b/arch/arm/lib/crt0.S
> @@ -82,7 +82,6 @@ ENTRY(_main)
>   */
>  
>  	ldr	sp, [r9, #GD_START_ADDR_SP]	/* sp = gd->start_addr_sp */
> -	bic	sp, sp, #7	/* 8-byte alignment for ABI compliance */
>  	ldr	r9, [r9, #GD_BD]		/* r9 = gd->bd */
>  	sub	r9, r9, #GD_SIZE		/* new GD is below bd */

I recommend to keep this instruction. It's just a bit of defensive
programming, and removing it does not save any measurable amount of
memory footprint nor execution time.

Best regards,

Wolfgang Denk

-- 
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
Madness takes its toll. Please have exact change.


More information about the U-Boot mailing list