commit:     5075159e68f93318fac08601d175c7ca2e0766ef
Author:     Andreas K. Hüttel <dilfridge <AT> gentoo <DOT> org>
AuthorDate: Sun Nov 19 13:40:16 2017 +0000
Commit:     Andreas Hüttel <dilfridge <AT> gentoo <DOT> org>
CommitDate: Sun Nov 19 13:40:34 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5075159e

sys-devel/gcc: Fix build of gcc-4.9.4 by gcc-6.4.0, bug 638056

Solution found by Zorry

Closes: https://bugs.gentoo.org/638056
Package-Manager: Portage-2.3.14, Repoman-2.3.6

 sys-devel/gcc/files/gcc-4.9.4-bootstrap.patch | 66 +++++++++++++++++++++++++++
 sys-devel/gcc/gcc-4.9.4.ebuild                |  5 +-
 2 files changed, 70 insertions(+), 1 deletion(-)

diff --git a/sys-devel/gcc/files/gcc-4.9.4-bootstrap.patch 
b/sys-devel/gcc/files/gcc-4.9.4-bootstrap.patch
new file mode 100644
index 00000000000..aed1ad0e90b
--- /dev/null
+++ b/sys-devel/gcc/files/gcc-4.9.4-bootstrap.patch
@@ -0,0 +1,66 @@
+From 41a4aa66eac45c8862a79351647ec06dd03bd1f5 Mon Sep 17 00:00:00 2001
+From: jakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
+Date: Sat, 13 Dec 2014 11:24:37 +0000
+Subject: [PATCH]       PR bootstrap/64023      * Makefile.tpl
+ (EXTRA_TARGET_FLAGS): Set STAGE1_LDFLAGS      to POSTSTAGE1_LDFLAGS and
+ STAGE1_LIBS to POSTSTAGE1_LIBS.       Add -B to libstdc++-v3/src/.libs and
+ libstdc++-v3/libsupc++/.libs  to CXX.         * Makefile.in: Regenerated.
+
+git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218705 
138bc75d-0d04-0410-961f-82ee72b054a4
+---
+ ChangeLog    | 9 +++++++++
+ Makefile.in  | 6 +++++-
+ Makefile.tpl | 6 +++++-
+ 3 files changed, 19 insertions(+), 2 deletions(-)
+
+diff --git a/Makefile.in b/Makefile.in
+index ba5ae4c2ecb..8ffc313f157 100644
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -835,7 +835,9 @@ EXTRA_TARGET_FLAGS = \
+       'AS=$(COMPILER_AS_FOR_TARGET)' \
+       'CC=$$(CC_FOR_TARGET) $$(XGCC_FLAGS_FOR_TARGET) $$(TFLAGS)' \
+       'CFLAGS=$$(CFLAGS_FOR_TARGET)' \
+-      'CXX=$$(CXX_FOR_TARGET) $$(XGCC_FLAGS_FOR_TARGET) $$(TFLAGS)' \
++      'CXX=$$(CXX_FOR_TARGET) -B$$r/$$(TARGET_SUBDIR)/libstdc++-v3/src/.libs \
++       -B$$r/$$(TARGET_SUBDIR)/libstdc++-v3/libsupc++/.libs \
++       $$(XGCC_FLAGS_FOR_TARGET) $$(TFLAGS)' \
+       'CXXFLAGS=$$(CXXFLAGS_FOR_TARGET)' \
+       'DLLTOOL=$$(DLLTOOL_FOR_TARGET)' \
+       'GCJ=$$(GCJ_FOR_TARGET) $$(XGCC_FLAGS_FOR_TARGET) $$(TFLAGS)' \
+@@ -853,6 +855,8 @@ EXTRA_TARGET_FLAGS = \
+       'WINDRES=$$(WINDRES_FOR_TARGET)' \
+       'WINDMC=$$(WINDMC_FOR_TARGET)' \
+       'XGCC_FLAGS_FOR_TARGET=$(XGCC_FLAGS_FOR_TARGET)' \
++      'STAGE1_LDFLAGS=$$(POSTSTAGE1_LDFLAGS)' \
++      'STAGE1_LIBS=$$(POSTSTAGE1_LIBS)' \
+       "TFLAGS=$$TFLAGS"
+ 
+ TARGET_FLAGS_TO_PASS = $(BASE_FLAGS_TO_PASS) $(EXTRA_TARGET_FLAGS)
+diff --git a/Makefile.tpl b/Makefile.tpl
+index dcbc6b1b143..bb8227eaafa 100644
+--- a/Makefile.tpl
++++ b/Makefile.tpl
+@@ -641,7 +641,9 @@ EXTRA_TARGET_FLAGS = \
+       'AS=$(COMPILER_AS_FOR_TARGET)' \
+       'CC=$$(CC_FOR_TARGET) $$(XGCC_FLAGS_FOR_TARGET) $$(TFLAGS)' \
+       'CFLAGS=$$(CFLAGS_FOR_TARGET)' \
+-      'CXX=$$(CXX_FOR_TARGET) $$(XGCC_FLAGS_FOR_TARGET) $$(TFLAGS)' \
++      'CXX=$$(CXX_FOR_TARGET) -B$$r/$$(TARGET_SUBDIR)/libstdc++-v3/src/.libs \
++       -B$$r/$$(TARGET_SUBDIR)/libstdc++-v3/libsupc++/.libs \
++       $$(XGCC_FLAGS_FOR_TARGET) $$(TFLAGS)' \
+       'CXXFLAGS=$$(CXXFLAGS_FOR_TARGET)' \
+       'DLLTOOL=$$(DLLTOOL_FOR_TARGET)' \
+       'GCJ=$$(GCJ_FOR_TARGET) $$(XGCC_FLAGS_FOR_TARGET) $$(TFLAGS)' \
+@@ -659,6 +661,8 @@ EXTRA_TARGET_FLAGS = \
+       'WINDRES=$$(WINDRES_FOR_TARGET)' \
+       'WINDMC=$$(WINDMC_FOR_TARGET)' \
+       'XGCC_FLAGS_FOR_TARGET=$(XGCC_FLAGS_FOR_TARGET)' \
++      'STAGE1_LDFLAGS=$$(POSTSTAGE1_LDFLAGS)' \
++      'STAGE1_LIBS=$$(POSTSTAGE1_LIBS)' \
+       "TFLAGS=$$TFLAGS"
+ 
+ TARGET_FLAGS_TO_PASS = $(BASE_FLAGS_TO_PASS) $(EXTRA_TARGET_FLAGS)
+-- 
+2.15.0
+

diff --git a/sys-devel/gcc/gcc-4.9.4.ebuild b/sys-devel/gcc/gcc-4.9.4.ebuild
index e7562f2330a..44597c4ceec 100644
--- a/sys-devel/gcc/gcc-4.9.4.ebuild
+++ b/sys-devel/gcc/gcc-4.9.4.ebuild
@@ -39,9 +39,12 @@ src_prepare() {
                EPATCH_EXCLUDE+=" 10_all_default-fortify-source.patch"
        fi
 
+       # Bug 638056
+       epatch "${FILESDIR}/${P}-bootstrap.patch"
+
        toolchain_src_prepare
 
        use vanilla && return 0
-       #Use -r1 for newer piepatchet that use DRIVER_SELF_SPECS for the 
hardened specs.
+       # Use -r1 for newer piepatchet that use DRIVER_SELF_SPECS for the 
hardened specs.
        [[ ${CHOST} == ${CTARGET} ]] && epatch 
"${FILESDIR}"/gcc-spec-env-r1.patch
 }

Reply via email to