[U-Boot] [Fwd: [PATCH] mpc83xx: Add support for -msingle-pic-base]

Mario Six mario.six at gdsys.cc
Wed Dec 5 11:56:27 UTC 2018


Hi Joakim,
On Wed, Dec 5, 2018 at 11:03 AM Joakim Tjernlund
<Joakim.Tjernlund at infinera.com> wrote:
>
> Ping ?
>
> On Thu, 2018-11-29 at 14:09 +0100, Joakim Tjernlund wrote:
> > OOPS, I forgot to include you in this patch so I do that now :)
> >
> >
> > ------- Forwarded Message --------
> > From: Joakim Tjernlund <joakim.tjernlund at infinera.com>
> > To: u-boot at lists.denx.de
> > Cc: Joakim Tjernlund <joakim.tjernlund at infinera.com>
> > Subject: [PATCH] mpc83xx: Add support for -msingle-pic-base
> > Date: Wed, 28 Nov 2018 10:59:55 +0100
> >
> > -msingle-pic-base is a new gcc(from 4.6) option for ppc and
> > it reduces the size of my u-boot with about 4 KB.
> > While at it, add -fno-jump-tables too to save a
> > few more bytes.
> >
> > Signed-off-by: Joakim Tjernlund <joakim.tjernlund at infinera.com>
> > ---
> >
> >  I think all PowerPC's can use this but I have only tested
> >  83xx so just enable for this cpu for now.
> >
> >  arch/powerpc/cpu/mpc83xx/config.mk | 1 +
> >  arch/powerpc/cpu/mpc83xx/start.S   | 3 +++
> >  2 files changed, 4 insertions(+)
> >
> > diff --git a/arch/powerpc/cpu/mpc83xx/config.mk b/arch/powerpc/cpu/mpc83xx/config.mk
> > index 14870eec4d..a07df4d389 100644
> > --- a/arch/powerpc/cpu/mpc83xx/config.mk
> > +++ b/arch/powerpc/cpu/mpc83xx/config.mk
> > @@ -3,3 +3,4 @@
> >  # Copyright 2004 Freescale Semiconductor, Inc.
> >
> >  PLATFORM_CPPFLAGS += -DCONFIG_E300 -msoft-float
> > +PLATFORM_RELFLAGS += -msingle-pic-base -fno-jump-tables
> > diff --git a/arch/powerpc/cpu/mpc83xx/start.S b/arch/powerpc/cpu/mpc83xx/start.S
> > index a3bacf138c..c00bb31363 100644
> > --- a/arch/powerpc/cpu/mpc83xx/start.S
> > +++ b/arch/powerpc/cpu/mpc83xx/start.S
> > @@ -288,6 +288,9 @@ in_flash:
> >       /*------------------------------------------------------*/
> >
> >       GET_GOT                 /* initialize GOT access        */
> > +     /* Needed for -msingle-pic-base */
> > +     bl      _GLOBAL_OFFSET_TABLE_ at local-4
> > +     mflr    r30
> >
> >       /* r3: IMMR */
> >       lis     r3, CONFIG_SYS_IMMR at h
>
Don't worry, I was aware of the patch; just had to find some time for
testing :-)

Reviewed-by: Mario Six <mario.six at gdsys.cc>
Tested-by: Mario Six <mario.six at gdsys.cc> (on MPC8308)

Best regards,
Mario


More information about the U-Boot mailing list