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