From: Tom Rini <trini@ti.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH] arm: New stack pointer is already aligned
Date: Mon, 13 Jan 2014 08:40:19 -0500 [thread overview]
Message-ID: <20140113134019.GF5181@bill-the-cat> (raw)
In-Reply-To: <20140113100750.10a3be2e@lilith>
On Mon, Jan 13, 2014 at 10:07:50AM +0100, Albert ARIBAUD wrote:
> Hi Wolfgang,
>
> On Fri, 29 Nov 2013 07:14:13 +0100, Wolfgang Denk <wd@denx.de> wrote:
>
> > Dear Tom Rini,
> >
> > In message <1385580930-9830-1-git-send-email-trini@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@aribaud.net>
> > > Signed-off-by: Tom Rini <trini@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.
>
> I would even go further: it is the setting of SP in C code which
> should not be kept. I doubt the C specification mentions what should /
> might happen when changing the stack pointer on the fly in code which
> might need the stack at any point.
I'm fine with dropping this patch (I noticed as I was tracing something
else). But please note that in C we're just setting gd->start_addr_sp
and aligning it there, we don't modify sp at all until the snippet of
asm above.
--
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20140113/45d38bdc/attachment.pgp>
prev parent reply other threads:[~2014-01-13 13:40 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-11-27 19:35 [U-Boot] [PATCH] arm: New stack pointer is already aligned Tom Rini
2013-11-29 6:14 ` Wolfgang Denk
2014-01-13 9:07 ` Albert ARIBAUD
2014-01-13 13:40 ` Tom Rini [this message]
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=20140113134019.GF5181@bill-the-cat \
--to=trini@ti.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.