Patchwork gcc-4.6: Some small performance tweaks

login
register
mail settings
Submitter Richard Purdie
Date Feb. 10, 2012, 12:06 a.m.
Message ID <1328832372.10451.47.camel@ted>
Download mbox | patch
Permalink /patch/21069/
State Accepted
Commit a124a0883507caf4ffb7e25be666f6781b30abdd
Headers show

Comments

Richard Purdie - Feb. 10, 2012, 12:06 a.m.
a) Use the system zlib to avoid building it for each gcc.
b) -initial and -intermediate don't need plugins or lto-plugin
   so disable them.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
---
Khem Raj - Feb. 10, 2012, 12:39 a.m.
On Thu, Feb 9, 2012 at 4:06 PM, Richard Purdie
<richard.purdie@linuxfoundation.org> wrote:
>
> +NATIVEDEPS = "mpfr-native gmp-native libmpc-native zlib-native"


note that we will need to ship zlib-nativesdk as well if we do this
so hopefully that case is covered by this.

other changes look ok to me.
Richard Purdie - Feb. 10, 2012, 1:40 p.m.
On Thu, 2012-02-09 at 16:39 -0800, Khem Raj wrote:
> On Thu, Feb 9, 2012 at 4:06 PM, Richard Purdie
> <richard.purdie@linuxfoundation.org> wrote:
> >
> > +NATIVEDEPS = "mpfr-native gmp-native libmpc-native zlib-native"
> 
> 
> note that we will need to ship zlib-nativesdk as well if we do this
> so hopefully that case is covered by this.

Yes, zlib has a BBCLASSEXTEND on zlib-nativesdk so this should be fine.

Cheers,

Richard
Khem Raj - Feb. 11, 2012, 1:58 a.m.
On (10/02/12 13:40), Richard Purdie wrote:
> On Thu, 2012-02-09 at 16:39 -0800, Khem Raj wrote:
> > On Thu, Feb 9, 2012 at 4:06 PM, Richard Purdie
> > <richard.purdie@linuxfoundation.org> wrote:
> > >
> > > +NATIVEDEPS = "mpfr-native gmp-native libmpc-native zlib-native"
> > 
> > 
> > note that we will need to ship zlib-nativesdk as well if we do this
> > so hopefully that case is covered by this.
> 
> Yes, zlib has a BBCLASSEXTEND on zlib-nativesdk so this should be fine.

OK and this is bundled with meta-toolchain too right ?
> 
> Cheers,
> 
> Richard
> 
> 
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
Richard Purdie - Feb. 11, 2012, 4:24 p.m.
On Fri, 2012-02-10 at 17:58 -0800, Khem Raj wrote:
> On (10/02/12 13:40), Richard Purdie wrote:
> > On Thu, 2012-02-09 at 16:39 -0800, Khem Raj wrote:
> > > On Thu, Feb 9, 2012 at 4:06 PM, Richard Purdie
> > > <richard.purdie@linuxfoundation.org> wrote:
> > > >
> > > > +NATIVEDEPS = "mpfr-native gmp-native libmpc-native zlib-native"
> > > 
> > > 
> > > note that we will need to ship zlib-nativesdk as well if we do this
> > > so hopefully that case is covered by this.
> > 
> > Yes, zlib has a BBCLASSEXTEND on zlib-nativesdk so this should be fine.
> 
> OK and this is bundled with meta-toolchain too right ?

By anything that depends on it by the shlibs code in the usual way, yes.

Cheers,

Richard
Martin Jansa - Feb. 14, 2012, 12:16 p.m.
On Sat, Feb 11, 2012 at 5:24 PM, Richard Purdie
<richard.purdie@linuxfoundation.org> wrote:
> On Fri, 2012-02-10 at 17:58 -0800, Khem Raj wrote:
>> On (10/02/12 13:40), Richard Purdie wrote:
>> > On Thu, 2012-02-09 at 16:39 -0800, Khem Raj wrote:
>> > > On Thu, Feb 9, 2012 at 4:06 PM, Richard Purdie
>> > > <richard.purdie@linuxfoundation.org> wrote:
>> > > >
>> > > > +NATIVEDEPS = "mpfr-native gmp-native libmpc-native zlib-native"
>> > >
>> > >
>> > > note that we will need to ship zlib-nativesdk as well if we do this
>> > > so hopefully that case is covered by this.
>> >
>> > Yes, zlib has a BBCLASSEXTEND on zlib-nativesdk so this should be fine.
>>
>> OK and this is bundled with meta-toolchain too right ?
>
> By anything that depends on it by the shlibs code in the usual way, yes.

But zlib is build time dependency, isn't it?

Now it fails to build target gcc because it depends only on
zlib-native not target zlib and zlib.h is not found.

Regards,
Khem Raj - Feb. 14, 2012, 6:55 p.m.
On (14/02/12 13:16), Martin Jansa wrote:
> On Sat, Feb 11, 2012 at 5:24 PM, Richard Purdie
> <richard.purdie@linuxfoundation.org> wrote:
> > On Fri, 2012-02-10 at 17:58 -0800, Khem Raj wrote:
> >> On (10/02/12 13:40), Richard Purdie wrote:
> >> > On Thu, 2012-02-09 at 16:39 -0800, Khem Raj wrote:
> >> > > On Thu, Feb 9, 2012 at 4:06 PM, Richard Purdie
> >> > > <richard.purdie@linuxfoundation.org> wrote:
> >> > > >
> >> > > > +NATIVEDEPS = "mpfr-native gmp-native libmpc-native zlib-native"
> >> > >
> >> > >
> >> > > note that we will need to ship zlib-nativesdk as well if we do this
> >> > > so hopefully that case is covered by this.
> >> >
> >> > Yes, zlib has a BBCLASSEXTEND on zlib-nativesdk so this should be fine.
> >>
> >> OK and this is bundled with meta-toolchain too right ?
> >
> > By anything that depends on it by the shlibs code in the usual way, yes.
> 
> But zlib is build time dependency, isn't it?

yes it must be added to target gcc recipe

> 
> Now it fails to build target gcc because it depends only on
> zlib-native not target zlib and zlib.h is not found.

whats the exact error? usually zlib is needed for gcj. are you building
gcj ?
Martin Jansa - Feb. 14, 2012, 7:08 p.m.
On Tue, Feb 14, 2012 at 10:55:06AM -0800, Khem Raj wrote:
> On (14/02/12 13:16), Martin Jansa wrote:
> > On Sat, Feb 11, 2012 at 5:24 PM, Richard Purdie
> > <richard.purdie@linuxfoundation.org> wrote:
> > > On Fri, 2012-02-10 at 17:58 -0800, Khem Raj wrote:
> > >> On (10/02/12 13:40), Richard Purdie wrote:
> > >> > On Thu, 2012-02-09 at 16:39 -0800, Khem Raj wrote:
> > >> > > On Thu, Feb 9, 2012 at 4:06 PM, Richard Purdie
> > >> > > <richard.purdie@linuxfoundation.org> wrote:
> > >> > > >
> > >> > > > +NATIVEDEPS = "mpfr-native gmp-native libmpc-native zlib-native"
> > >> > >
> > >> > >
> > >> > > note that we will need to ship zlib-nativesdk as well if we do this
> > >> > > so hopefully that case is covered by this.
> > >> >
> > >> > Yes, zlib has a BBCLASSEXTEND on zlib-nativesdk so this should be fine.
> > >>
> > >> OK and this is bundled with meta-toolchain too right ?
> > >
> > > By anything that depends on it by the shlibs code in the usual way, yes.
> > 
> > But zlib is build time dependency, isn't it?
> 
> yes it must be added to target gcc recipe
> 
> > 
> > Now it fails to build target gcc because it depends only on
> > zlib-native not target zlib and zlib.h is not found.
> 
> whats the exact error? usually zlib is needed for gcj. are you building
> gcj ?

I don't have that log anymore, but I'm building default gcc
configuration from oe-core/meta-oe (iirc without gcj) and IIRC it was
from lto (gcc/lto-compress.c:#include <zlib.h>).

Cheers,

> 
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
Khem Raj - Feb. 14, 2012, 7:13 p.m.
On (14/02/12 20:08), Martin Jansa wrote:
> On Tue, Feb 14, 2012 at 10:55:06AM -0800, Khem Raj wrote:
> > On (14/02/12 13:16), Martin Jansa wrote:
> > > On Sat, Feb 11, 2012 at 5:24 PM, Richard Purdie
> > > <richard.purdie@linuxfoundation.org> wrote:
> > > > On Fri, 2012-02-10 at 17:58 -0800, Khem Raj wrote:
> > > >> On (10/02/12 13:40), Richard Purdie wrote:
> > > >> > On Thu, 2012-02-09 at 16:39 -0800, Khem Raj wrote:
> > > >> > > On Thu, Feb 9, 2012 at 4:06 PM, Richard Purdie
> > > >> > > <richard.purdie@linuxfoundation.org> wrote:
> > > >> > > >
> > > >> > > > +NATIVEDEPS = "mpfr-native gmp-native libmpc-native zlib-native"
> > > >> > >
> > > >> > >
> > > >> > > note that we will need to ship zlib-nativesdk as well if we do this
> > > >> > > so hopefully that case is covered by this.
> > > >> >
> > > >> > Yes, zlib has a BBCLASSEXTEND on zlib-nativesdk so this should be fine.
> > > >>
> > > >> OK and this is bundled with meta-toolchain too right ?
> > > >
> > > > By anything that depends on it by the shlibs code in the usual way, yes.
> > > 
> > > But zlib is build time dependency, isn't it?
> > 
> > yes it must be added to target gcc recipe
> > 
> > > 
> > > Now it fails to build target gcc because it depends only on
> > > zlib-native not target zlib and zlib.h is not found.
> > 
> > whats the exact error? usually zlib is needed for gcj. are you building
> > gcj ?
> 
> I don't have that log anymore, but I'm building default gcc
> configuration from oe-core/meta-oe (iirc without gcj) and IIRC it was
> from lto (gcc/lto-compress.c:#include <zlib.h>).


ah yes forgot lto :) and we do enable it so zlib dep is needed all the
time.

Patch

diff --git a/meta/recipes-devtools/gcc/gcc-4.6.inc b/meta/recipes-devtools/gcc/gcc-4.6.inc
index 758c93e..ece378d 100644
--- a/meta/recipes-devtools/gcc/gcc-4.6.inc
+++ b/meta/recipes-devtools/gcc/gcc-4.6.inc
@@ -23,7 +23,7 @@  BRANCH = "gcc-4_6-branch"
 FILESPATH = "${@base_set_filespath([ '${FILE_DIRNAME}/gcc-4.6' ], d)}"
 
 DEPENDS =+ "mpfr gmp libmpc"
-NATIVEDEPS = "mpfr-native gmp-native libmpc-native"
+NATIVEDEPS = "mpfr-native gmp-native libmpc-native zlib-native"
 
 LICENSE="GPL-3.0-with-GCC-exception & GPLv3"
 
@@ -86,16 +86,12 @@  B = "${WORKDIR}/${BRANCH}/build.${HOST_SYS}.${TARGET_SYS}"
 FORTRAN = ""
 JAVA = ""
 
-#EXTRA_OECONF_BASE = "  --enable-cheaders=c_std \
-#			--enable-libssp \
-#			--disable-bootstrap \
-#			--disable-libgomp \
-#			--disable-libmudflap"
 EXTRA_OECONF_BASE = " --enable-lto \
 			--enable-libssp \
 			--disable-bootstrap \
 			--disable-libgomp \
 			--disable-libmudflap \
+			--with-system-zlib \
 			--with-linker-hash-style=${LINKER_HASH_STYLE} \
 			--enable-cheaders=c_global "
 
@@ -103,11 +99,17 @@  EXTRA_OECONF_INITIAL = "--disable-libmudflap \
 			--disable-libgomp \
 			--disable-libssp \
 			--disable-libquadmath \
+			--with-system-zlib \
+			--disable-lto \
+			--disable-plugin \
 			--enable-decimal-float=no"
 
 EXTRA_OECONF_INTERMEDIATE = "--disable-libmudflap \
 				--disable-libgomp \
 				--disable-libquadmath \
+				--with-system-zlib \
+				--disable-lto \
+				--disable-plugin \
 				--disable-libssp"
 
 EXTRA_OECONF_append_linux-uclibc = " --disable-decimal-float "