Author: Timo Teräs 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}"