Merge bitcoin/bitcoin#28105: doc: Clarify that -fstack-reuse=all bugs exist on all versions of GCC

fabb419a3caafc00fbbc533fee14fab7a5d2a2c6 doc: Clarify that -fstack-reuse=all bugs exist on all versions of GCC (MarcoFalke)

Pull request description:

  This is a follow-up to commit 7b850bc2a1cd8547a2dbb5a18173f53439601220. While the test case no longer reproduces, the general class of `-fstack-reuse` bugs still exists in all versions of GCC. The workaround can never be removed, unless the whole class of bugs is fixed.

ACKs for top commit:
  fanquake:
    ACK fabb419a3caafc00fbbc533fee14fab7a5d2a2c6

Tree-SHA512: 566e14fe82d13dda4f7b8cca90c6de75006d14828906b936780716d5b5b31de9b36a904aa7cfc9820ccdfb4d3224a8437f502f25f7230da5abe87c927123f0c8
This commit is contained in:
fanquake 2023-09-12 15:00:18 +01:00 committed by pasta
parent a620cccd81
commit 417c86b949
No known key found for this signature in database
GPG Key ID: E2F3D7916E722D38

View File

@ -957,9 +957,8 @@ if test x$TARGET_OS != xwindows; then
AX_CHECK_COMPILE_FLAG([-fPIC],[PIC_FLAGS="-fPIC"]) AX_CHECK_COMPILE_FLAG([-fPIC],[PIC_FLAGS="-fPIC"])
fi fi
dnl Versions of gcc prior to 12.1 (commit dnl Currently all versions of gcc are subject to a class of bugs, see the
dnl https://github.com/gcc-mirror/gcc/commit/551aa75778a4c5165d9533cd447c8fc822f583e1) dnl gccbug_90348 test case (only reproduces on GCC 11 and earlier) and the related bugs of
dnl are subject to a bug, see the gccbug_90348 test case and
dnl https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90348. To work around that, set dnl https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90348. To work around that, set
dnl -fstack-reuse=none for all gcc builds. (Only gcc understands this flag) dnl -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"]) AX_CHECK_COMPILE_FLAG([-fstack-reuse=none],[HARDENED_CXXFLAGS="$HARDENED_CXXFLAGS -fstack-reuse=none"])