summaryrefslogtreecommitdiff
path: root/eclass/toolchain.eclass
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2017-11-19 10:19:50 +0000
committerV3n3RiX <venerix@redcorelinux.org>2017-11-19 10:19:50 +0000
commit20d8e9cfb95a9f054d654ab6405e848807186aa0 (patch)
tree8a308cb480d00fd37d0189950e04f7d59004954f /eclass/toolchain.eclass
parenta5956e0a0daddcad648e0d8d8e5cb3e49e09bda7 (diff)
gentoo resync : 19.11.2017
Diffstat (limited to 'eclass/toolchain.eclass')
-rw-r--r--eclass/toolchain.eclass8
1 files changed, 8 insertions, 0 deletions
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index 9dca44439c9d..503f7dbe94ff 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -641,6 +641,14 @@ do_gcc_PIE_patches() {
make_gcc_hard() {
local gcc_hard_flags=""
+
+ # If we use gcc-6 or newer with pie enable to compile older gcc we need to pass -no-pie
+ # to stage1; bug 618908
+ if ! tc_version_is_at_least 6.0 && [[ $(gcc-major-version) -ge 6 ]] ; then
+ einfo "Disabling PIE in stage1 (only) ..."
+ sed -i -e "/^STAGE1_LDFLAGS/ s/$/ -no-pie/" "${S}"/Makefile.in || die
+ fi
+
# Gcc >= 6.X we can use configurations options to turn pie/ssp on as default
if tc_version_is_at_least 6.0 ; then
if use pie ; then