SPDX-FileCopyrightText: 2023 fosslinux SPDX-FileCopyrightText: 2020 Timo Teräs SPDX-License-Identifier: GPL-3.0-or-later The original motivation from this patch from Alpine Linux: Subject: [PATCH] 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. Which matches precisely the problem when compiling GCC with --enable-bootstrap in live-bootstrap. --- gcc/gcc.cc | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git gcc/gcc.cc gcc/gcc.cc index cc99d0b7aa1..c60a75371f8 100644 --- gcc/gcc.cc +++ gcc/gcc.cc @@ -1004,8 +1004,7 @@ proper position among the other output files. */ #ifndef LINK_SSP_SPEC #ifdef TARGET_LIBC_PROVIDES_SSP -#define LINK_SSP_SPEC "%{fstack-protector|fstack-protector-all" \ - "|fstack-protector-strong|fstack-protector-explicit:}" +#define LINK_SSP_SPEC "-lssp_nonshared" #else #define LINK_SSP_SPEC "%{fstack-protector|fstack-protector-all" \ "|fstack-protector-strong|fstack-protector-explicit" \