diff options
Diffstat (limited to 'eclass/toolchain.eclass')
-rw-r--r-- | eclass/toolchain.eclass | 8 |
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 |