aboutsummaryrefslogtreecommitdiffstats
path: root/main/gcc/gcc-4.8-musl-libssp.patch
blob: 88725c8e461486eaeb02cb5bb0858aba1b66cc77 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
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 @@
 #endif
 
 #ifndef LINK_SSP_SPEC
-#ifdef TARGET_LIBC_PROVIDES_SSP
+#if DEFAULT_LIBC == LIBC_MUSL
+#define LINK_SSP_SPEC "-lssp_nonshared"
+#elif defined(TARGET_LIBC_PROVIDES_SSP)
 #define LINK_SSP_SPEC "%{fstack-protector:}"
 #else
 #define LINK_SSP_SPEC "%{fstack-protector|fstack-protector-all:-lssp_nonshared -lssp}"