On Sunday, September 22, 2013, Richard Purdie wrote: > The --enable-dependency-tracking option was added to workaround build > issues in libatomic. This fixes that build problem properly and removes > the flag since the dependency tracking code appears to be full of races > which are much deeper and harder to fix. > > As per the automake manual, dependency tracking is only useful and worth > the build performance cost if you are doing more than one compile of the > same > source code which in most cases we are not so this is a good thing anyway. > > Signed-off-by: Richard Purdie > <[email protected]<javascript:;> > >
I agree we should apply this patch via recipes and also submit to gcc upstream as well --- > diff --git > a/meta/recipes-devtools/gcc/gcc-4.8/0046-libatomic-deptracking.patch > b/meta/recipes-devtools/gcc/gcc-4.8/0046-libatomic-deptracking.patch > new file mode 100644 > index 0000000..6ea4f42 > --- /dev/null > +++ b/meta/recipes-devtools/gcc/gcc-4.8/0046-libatomic-deptracking.patch > @@ -0,0 +1,41 @@ > +gcc 4.8 won't build with --disable-dependency-tracking since the *.Ppo > files > +don't get created unless --enable-dependency-tracking is true. > + > +This patch ensures we only use those compiler options when its enabled. > + > +Upstream-Status: Submitted > + > +(Problem was already reported upstream, attached this patch there > +http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55930) > + > +RP > +2012/09/22 > + > +Index: gcc-4.8.1/libatomic/Makefile.am > +=================================================================== > +--- gcc-4.8.1.orig/libatomic/Makefile.am 2013-01-14 > 18:16:23.000000000 +0000 > ++++ gcc-4.8.1/libatomic/Makefile.am 2013-09-22 10:38:18.904064750 +0000 > +@@ -100,7 +100,8 @@ > + IFUNC_DEF = -DIFUNC_ALT=$(PAT_S) > + IFUNC_OPT = $(word $(PAT_S),$(IFUNC_OPTIONS)) > + > +-M_DEPS = -MT $@ -MD -MP -MF $(DEPDIR)/$(@F).Ppo > ++@AMDEP_TRUE@M_DEPS = -MT $@ -MD -MP -MF $(DEPDIR)/$(@F).Ppo > ++@AMDEP_FALSE@M_DEPS = > + M_SIZE = -DN=$(PAT_N) > + M_IFUNC = $(if $(PAT_S),$(IFUNC_DEF) $(IFUNC_OPT)) > + M_FILE = $(PAT_BASE)_n.c > +Index: gcc-4.8.1/libatomic/Makefile.in > +=================================================================== > +--- gcc-4.8.1.orig/libatomic/Makefile.in 2013-05-31 > 09:09:26.000000000 +0000 > ++++ gcc-4.8.1/libatomic/Makefile.in 2013-09-22 10:40:42.520059917 +0000 > +@@ -298,7 +298,8 @@ > + PAT_S = $(word 3,$(PAT_SPLIT)) > + IFUNC_DEF = -DIFUNC_ALT=$(PAT_S) > + IFUNC_OPT = $(word $(PAT_S),$(IFUNC_OPTIONS)) > +-M_DEPS = -MT $@ -MD -MP -MF $(DEPDIR)/$(@F).Ppo > ++@AMDEP_TRUE@M_DEPS = -MT $@ -MD -MP -MF $(DEPDIR)/$(@F).Ppo > ++@AMDEP_FALSE@M_DEPS = > + M_SIZE = -DN=$(PAT_N) > + M_IFUNC = $(if $(PAT_S),$(IFUNC_DEF) $(IFUNC_OPT)) > + M_FILE = $(PAT_BASE)_n.c > diff --git a/meta/recipes-devtools/gcc/gcc-target.inc > b/meta/recipes-devtools/gcc/gcc-target.inc > index c7e3e16..e1179ac 100644 > --- a/meta/recipes-devtools/gcc/gcc-target.inc > +++ b/meta/recipes-devtools/gcc/gcc-target.inc > @@ -5,7 +5,7 @@ EXTRA_OECONF_PATHS = " \ > --with-sysroot=/ \ > --with-build-sysroot=${STAGING_DIR_TARGET} \ > > --with-native-system-header-dir=${STAGING_DIR_TARGET}${target_includedir} \ > - --with-gxx-include-dir=${includedir}/c++/ > --enable-dependency-tracking" > + --with-gxx-include-dir=${includedir}/c++/" > > ARCH_FLAGS_FOR_TARGET += "-isystem${STAGING_INCDIR} -I${B}/gcc/include/ " > > > >
_______________________________________________ Openembedded-core mailing list [email protected] http://lists.openembedded.org/mailman/listinfo/openembedded-core
