path: root/main/gcc/gcc-6.1-musl-libssp.patch
blob: fe5c61434d42ada1c0e82ebf1444b5ab4982d5ca (plain) (tree)

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
-#define LINK_SSP_SPEC "%{fstack-protector|fstack-protector-all" \
-		       "|fstack-protector-strong|fstack-protector-explicit:}"
+#define LINK_SSP_SPEC "-lssp_nonshared"
 #define LINK_SSP_SPEC "%{fstack-protector|fstack-protector-all" \
 		       "|fstack-protector-strong|fstack-protector-explicit" \