summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--hardened/toolchain/branches/gcc-glibc-nopie/eclass/toolchain.eclass43
1 files changed, 22 insertions, 21 deletions
diff --git a/hardened/toolchain/branches/gcc-glibc-nopie/eclass/toolchain.eclass b/hardened/toolchain/branches/gcc-glibc-nopie/eclass/toolchain.eclass
index 4289ba4..a168e07 100644
--- a/hardened/toolchain/branches/gcc-glibc-nopie/eclass/toolchain.eclass
+++ b/hardened/toolchain/branches/gcc-glibc-nopie/eclass/toolchain.eclass
@@ -825,27 +825,28 @@ concat_minispecs() {
gcc_pkg_setup() {
[[ -z ${ETYPE} ]] && die "Your ebuild needs to set the ETYPE variable"
- # Building a fully hardened compiler with a compiler that doesn't generate
- # PIEs by default causes conflicts between normal and PIE objects generated
- # at various stages in the build process. All stages of the build process
- # must build the same type of objects.
- if use hardened && ! gcc-specs-pie; then
- eerror "You have requested USE=hardened, but you are not using a hardened (PIE)"
- eerror "spec compiler. Select a hardened-pie-spec compiler with gcc-config,"
- eerror "and try again. If you do not have a hardened-spec compiler (see the"
- eerror "output of gcc-config -l), emerge with USE='-hardened' first, then select"
- eerror "the hardened-spec compiler and emerge again with USE=hardened."
- die "You must build full hardened compilers with hardened-spec compilers"
- fi
- # The situation is similar when trying to build a non-hardened compiler with a
- # hardened compiler.
- if gcc-specs-pie && ! use hardened; then
- eerror "You have requested a non-hardened compiler, but you are using a hardened"
- eerror "compiler to do so, which is inadvisable. If you really want to build a"
- eerror "non-hardened compiler, switch to the vanilla compiler with gcc-config"
- eerror "first."
- die "You must build non-hardened compilers with vanilla-spec compilers."
- fi
+# Forcing no-fPIE for gcc build makes these conditions obsolete
+# # Building a fully hardened compiler with a compiler that doesn't generate
+# # PIEs by default causes conflicts between normal and PIE objects generated
+# # at various stages in the build process. All stages of the build process
+# # must build the same type of objects.
+# if use hardened && ! gcc-specs-pie; then
+# eerror "You have requested USE=hardened, but you are not using a hardened (PIE)"
+# eerror "spec compiler. Select a hardened-pie-spec compiler with gcc-config,"
+# eerror "and try again. If you do not have a hardened-spec compiler (see the"
+# eerror "output of gcc-config -l), emerge with USE='-hardened' first, then select"
+# eerror "the hardened-spec compiler and emerge again with USE=hardened."
+# die "You must build full hardened compilers with hardened-spec compilers"
+# fi
+# # The situation is similar when trying to build a non-hardened compiler with a
+# # hardened compiler.
+# if gcc-specs-pie && ! use hardened; then
+# eerror "You have requested a non-hardened compiler, but you are using a hardened"
+# eerror "compiler to do so, which is inadvisable. If you really want to build a"
+# eerror "non-hardened compiler, switch to the vanilla compiler with gcc-config"
+# eerror "first."
+# die "You must build non-hardened compilers with vanilla-spec compilers."
+# fi
if [[ ( $(tc-arch) == "amd64" || $(tc-arch) == "ppc64" ) && ( ${LD_PRELOAD} == "/lib/libsandbox.so" || ${LD_PRELOAD} == "/usr/lib/libsandbox.so" ) ]] && is_multilib ; then
eerror "Sandbox in your installed portage does not support compilation."