aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSam James <sam@gentoo.org>2023-02-02 17:03:53 +0000
committerSam James <sam@gentoo.org>2023-02-02 17:03:53 +0000
commit47c9af8ca53f3612be6e4ddfb0090644cde4d94a (patch)
tree71dacb3c2f67eefe5bfe82c37e1eb5b031d20ca4
parentcrossdev: add TODO re picking versions from overlays & best version (diff)
downloadcrossdev-47c9af8ca53f3612be6e4ddfb0090644cde4d94a.tar.gz
crossdev-47c9af8ca53f3612be6e4ddfb0090644cde4d94a.tar.bz2
crossdev-47c9af8ca53f3612be6e4ddfb0090644cde4d94a.zip
crossdev: disable SSP for freestanding/no libc targets
Otherwise, we end up with a mess like: ``` [...] /usr/libexec/gcc/arm-none-eabi/ld: /usr/lib/gcc/arm-none-eabi/12/../../../../arm-none-eabi/lib/libg.a(libc_a-stack_protector.o): in function `__stack_chk_fail': stack_protector.c:(.text.__stack_chk_fail+0x60): undefined reference to `_exit' [...] ``` Signed-off-by: Sam James <sam@gentoo.org>
-rwxr-xr-xcrossdev3
1 files changed, 2 insertions, 1 deletions
diff --git a/crossdev b/crossdev
index 902d9dc..bd13f7f 100755
--- a/crossdev
+++ b/crossdev
@@ -334,10 +334,11 @@ parse_target() {
LPKG="newlib"
KPKG="[none]"
STAGE_DEFAULT=${STAGE_LIBC}
- GMASK+=" hardened"
+ GMASK+=" default-stack-clash-protection hardened ssp"
GUSE+=" cxx -openmp" #489798
GUSE+=" -fortran" #589672, needs syscalls
GUSE+=" -hardened" #687598, needs -fstack-check=specific support
+ GUSE+=" -default-stack-clash-protection -ssp" # SSP isn't supported for freestanding anyway
MULTILIB_USE="yes" #407275
WITH_DEF_HEADERS="no"
;;