aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarcoFalke <falke.marco@gmail.com>2019-05-08 14:28:57 -0400
committerMarcoFalke <falke.marco@gmail.com>2019-05-16 10:08:58 -0400
commit5935f0126ef37175a8fbfee017b470af13aad46d (patch)
tree39b58a3165eebd09ec96cc3641536b34d92d1540
parentbe92be5644a763f98b6fa2de0b04ba44217dcef9 (diff)
downloadbitcoin-5935f0126ef37175a8fbfee017b470af13aad46d.tar.xz
build with -fstack-reuse=none
Github-Pull: #15983 Rebased-From: faf38bc056e523485520f98f3f725c583a3b89bf
-rw-r--r--configure.ac4
1 files changed, 4 insertions, 0 deletions
diff --git a/configure.ac b/configure.ac
index da922b3cc0..5335a6a446 100644
--- a/configure.ac
+++ b/configure.ac
@@ -725,6 +725,10 @@ if test x$TARGET_OS != xwindows; then
AX_CHECK_COMPILE_FLAG([-fPIC],[PIC_FLAGS="-fPIC"])
fi
+# All versions of gcc that we commonly use for building are subject to bug
+# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90348. To work around that, set
+# -fstack-reuse=none for all gcc builds. (Only gcc understands this flag)
+AX_CHECK_COMPILE_FLAG([-fstack-reuse=none],[HARDENED_CXXFLAGS="$HARDENED_CXXFLAGS -fstack-reuse=none"])
if test x$use_hardening != xno; then
use_hardening=yes
AX_CHECK_COMPILE_FLAG([-Wstack-protector],[HARDENED_CXXFLAGS="$HARDENED_CXXFLAGS -Wstack-protector"])