22 lines
888 B
Diff
22 lines
888 B
Diff
|
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}"
|