aboutsummaryrefslogtreecommitdiffstats
path: root/main/gcc/gcc-6.1-musl-libssp.patch
blob: fe5c61434d42ada1c0e82ebf1444b5ab4982d5ca (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
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-6.1.0/gcc/gcc.c.orig
+++ gcc-6.1.0/gcc/gcc.c
@@ -870,8 +870,7 @@
 
 #ifndef LINK_SSP_SPEC
 #ifdef TARGET_LIBC_PROVIDES_SSP
-#define LINK_SSP_SPEC "%{fstack-protector|fstack-protector-all" \
-		       "|fstack-protector-strong|fstack-protector-explicit:}"
+#define LINK_SSP_SPEC "-lssp_nonshared"
 #else
 #define LINK_SSP_SPEC "%{fstack-protector|fstack-protector-all" \
 		       "|fstack-protector-strong|fstack-protector-explicit" \