Files
buildroot/package/bitcoin/0002-CMakeLists.txt-Don-t-force-fstack-protector.patch
Bernd Kuhls ed51b4b691 package/bitcoin: Fix build without SSP
Buildroot commit fabcd7c8cc bumped the
package from 28.0 to 30.0 which includes upstream commit
a01cb6e63f
that was first included in version 29.0 and added among others
-fstack-protector-all to cxx_flags guarded with a new configure option
ENABLE_HARDENING which default to ON.

This commit causes build errors with toolchains with SSP support:

[ 44%] Linking CXX executable ../bin/bitcoin
/home/autobuild/autobuild/instance-40/output-1/host/lib/gcc/i686-buildroot-linux-musl/15.2.0/../../../../i686-buildroot-linux-musl/bin/ld:
 CMakeFiles/bitcoin.dir/bitcoin.cpp.o:
 in function `fs::PathToString(fs::path const&)':
bitcoin.cpp:(.text+0x4c):
 undefined reference to `__stack_chk_fail_local'

Upstream later removed the forementioned configure option with commit
00ba3ba303
that was first included in version 30.0 so we need to remove
-fstack-protector-all from CMakeLists.txt.

Fixes:
https://autobuild.buildroot.net/results/093/093253c79fed1c5b93decc3124e9ef4622168efe/

Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
Signed-off-by: Julien Olivain <ju.o@free.fr>
2026-07-19 13:08:56 +02:00

31 lines
918 B
Diff

From 4d33b5bcc924c9271c40a19796f8316ba6aaa276 Mon Sep 17 00:00:00 2001
From: Bernd Kuhls <bernd@kuhls.net>
Date: Sat, 18 Jul 2026 08:10:21 +0200
Subject: [PATCH] CMakeLists.txt: Don't force -fstack-protector
This allows the environment to decide whether SSP should be used or
not, for example to support toolchains that don't have SSP support.
Upstream: N/A Buildroot specific
Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
---
CMakeLists.txt | 1 -
1 file changed, 1 deletion(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 892f30d94b..93ccbf71ec 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -532,7 +532,6 @@ else()
unset(cxx_supports_fortify_source)
try_append_cxx_flags("-Wstack-protector" TARGET core_interface SKIP_LINK)
- try_append_cxx_flags("-fstack-protector-all" TARGET core_interface)
try_append_cxx_flags("-fcf-protection=full" TARGET core_interface)
if(MINGW)
--
2.47.3