summaryrefslogtreecommitdiff
path: root/system/gcc/gcc-6.1-musl-libssp.patch
blob: 05a9cf8bfcbde6d6da0a367b61de89a21cd70d38 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Gentoo: https://bugs.gentoo.org/706210, https://bugs.gentoo.org/747346
Alpine 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.

This is done by Gentoo and us (Adélie) as well.

--- gcc-6.1.0/gcc/gcc.cc
+++ gcc-6.1.0/gcc/gcc.cc
@@ -988,8 +988,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" \