7b3702e2dd
Successfully tested both the gcc4 compiler on x86_64 with a simple program (fbdebug) and the gcc4-armhf cross-compiler to build a very old u-boot port for Galaxy Nexus (a MR will follow soon) which failed to boot with either newer version (6 and 8). [skip ci]: already went through
21 lines
888 B
Diff
21 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}"
|