[Buildroot] [PATCH 1/1] binutils/gcc: make it possible to use lto
Peter Kuemmel
syntheticpp at gmx.net
Sun Nov 9 13:16:44 UTC 2014
> Gesendet: Sonntag, 09. November 2014 um 14:00 Uhr
> Von: "Thomas Petazzoni" <thomas.petazzoni at free-electrons.com>
> An: "Peter Kümmel" <syntheticpp at gmx.net>
> Cc: buildroot at buildroot.org
> Betreff: Re: [Buildroot] [PATCH 1/1] binutils/gcc: make it possible to use lto
>
> Dear Peter Kümmel,
>
> On Sun, 9 Nov 2014 12:56:01 +0100, Peter Kümmel wrote:
> > When -flto is used the compiler and binutils have to support lto.
> > ar/ranlib needs to be called with the lto plugin, therefore use
> > the wrappers provided by GCC: *-gcc-ar and *-gcc-ranlib.
> >
> > Signed-off-by: Peter Kümmel <syntheticpp at gmx.net>
> > ---
> > package/binutils/binutils.mk | 2 ++
> > package/gcc/gcc.mk | 2 ++
> > 2 files changed, 4 insertions(+)
> >
> > diff --git a/package/binutils/binutils.mk b/package/binutils/binutils.mk
> > index b8dab5d..e552abc 100644
> > --- a/package/binutils/binutils.mk
> > +++ b/package/binutils/binutils.mk
> > @@ -48,6 +48,7 @@ BINUTILS_DISABLE_GDB_CONF_OPTS = \
> > BINUTILS_CONF_OPTS = --disable-multilib --disable-werror \
> > --host=$(GNU_TARGET_NAME) \
> > --target=$(GNU_TARGET_NAME) \
> > + --enable-plugins --enable-lto \
> > --enable-install-libiberty \
> > $(BINUTILS_DISABLE_GDB_CONF_OPTS) \
> > $(BINUTILS_EXTRA_CONFIG_OPTIONS)
> > @@ -67,6 +68,7 @@ endif
> > HOST_BINUTILS_CONF_OPTS = --disable-multilib --disable-werror \
> > --target=$(GNU_TARGET_NAME) \
> > --disable-shared --enable-static \
> > + --enable-plugins --enable-lto \
> > --with-sysroot=$(STAGING_DIR) \
> > $(BINUTILS_DISABLE_GDB_CONF_OPTS) \
> > $(BINUTILS_EXTRA_CONFIG_OPTIONS)
> > diff --git a/package/gcc/gcc.mk b/package/gcc/gcc.mk
> > index cdd71aa..a8853f7 100644
> > --- a/package/gcc/gcc.mk
> > +++ b/package/gcc/gcc.mk
> > @@ -92,6 +92,8 @@ HOST_GCC_COMMON_CONF_OPTS = \
> > --with-gnu-ld \
> > --disable-libssp \
> > --disable-multilib \
> > + --enable-plugins \
> > + --enable-lto \
> > --with-gmp=$(HOST_DIR)/usr \
> > --with-mpfr=$(HOST_DIR)/usr
> >
>
> Should we make this optional?
>
I've tested with binutils 2.24 and gcc 4.9.2.
Also binutils 2.22 configures with this flags.
So I think it doesn't hurt to enable by default,
at least when the buidroot compiler is used. Not
sure about very old external GCCs, which have no lto.
Peter
> Thomas
> --
> Thomas Petazzoni, CTO, Free Electrons
> Embedded Linux, Kernel and Android engineering
> http://free-electrons.com
>
More information about the buildroot
mailing list