summaryrefslogtreecommitdiffstats
path: root/main/gcc/gcc-4.8-musl-libssp.patch
diff options
context:
space:
mode:
Diffstat (limited to 'main/gcc/gcc-4.8-musl-libssp.patch')
-rw-r--r--main/gcc/gcc-4.8-musl-libssp.patch10
1 files changed, 9 insertions, 1 deletions
diff --git a/main/gcc/gcc-4.8-musl-libssp.patch b/main/gcc/gcc-4.8-musl-libssp.patch
index ba6d5c304..88725c8e4 100644
--- a/main/gcc/gcc-4.8-musl-libssp.patch
+++ b/main/gcc/gcc-4.8-musl-libssp.patch
@@ -1,3 +1,11 @@
+Author: Timo Teräs <timo.teras@iki.fi>
+
+Alpine musl package provides libssp_nonshared.a. We link to it unconditionally,
+as otherwise we get link failures if some objects are -fstack-protector built
+and final link happens with -fno-stack-protector. This seems to be the common
+case when bootstrapping gcc, the piepatches do not seem to fully fix the
+crosstoolchain and bootstrap sequence wrt. stack-protector flag usage.
+
--- gcc-4.8.1/gcc/gcc.c.orig 2013-09-24 06:27:32.133894539 +0000
+++ gcc-4.8.1/gcc/gcc.c 2013-09-24 06:29:35.790562854 +0000
@@ -656,7 +656,9 @@
@@ -6,7 +14,7 @@
#ifndef LINK_SSP_SPEC
-#ifdef TARGET_LIBC_PROVIDES_SSP
+#if DEFAULT_LIBC == LIBC_MUSL
-+#define LINK_SSP_SPEC "%{fstack-protector|fstack-protector-all:-lssp_nonshared}"
++#define LINK_SSP_SPEC "-lssp_nonshared"
+#elif defined(TARGET_LIBC_PROVIDES_SSP)
#define LINK_SSP_SPEC "%{fstack-protector:}"
#else