gcc-target: Fix libatomic dependency tracking issues
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. (From OE-Core rev: a3b665a80abed4c0659925e1cceb1568af023711) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
parent
c2d5fa9289
commit
87e86d4fd3
|
@ -75,6 +75,7 @@ SRC_URI = "${GNU_MIRROR}/gcc/gcc-${PV}/gcc-${PV}.tar.bz2 \
|
|||
file://0043-cpp.patch \
|
||||
file://0044-gengtypes.patch \
|
||||
file://0045-gcc-4.8-PR57717-PowerPC-E500v2.patch \
|
||||
file://0046-libatomic-deptracking.patch \
|
||||
"
|
||||
SRC_URI[md5sum] = "3b2386c114cd74185aa3754b58a79304"
|
||||
SRC_URI[sha256sum] = "545b44be3ad9f2c4e90e6880f5c9d4f0a8f0e5f67e1ffb0d45da9fa01bb05813"
|
||||
|
|
|
@ -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
|
|
@ -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/ "
|
||||
|
||||
|
|
Loading…
Reference in New Issue