Page MenuHomePhabricator

build with -fstack-reuse=none

Authored by Fabien on Jan 22 2020, 10:57.



This will fix the crypto_tests failure on 32-bits platforms.

Backport of core PR15983:

With CMake the flag is set for C++ as well as C, while autotools only
has the C++ flag. This is on purpose as the bug is also affecting gcc
and not only g++. I ran the benchmarks and this caused no noticeable
runtime difference.

Fun fact: you can also get rid of the bug by disabling the optimizations
(i.e. build with debug enabled).

Test Plan
cmake -GNinja .. \
  -DCMAKE_TOOLCHAIN_FILE=../cmake/platforms/Linux32.cmake \
ninja test_bitcoin
./src/test/test_bitcoin -t crypto_tests

Make sure the test is green. Note that this can't run on WSL because the
kernel only supports 64-bits binaries.

Diff Detail

rABC Bitcoin ABC
Automatic diff as part of commit; lint not applicable.
Automatic diff as part of commit; unit tests not applicable.

Event Timeline

[Bot Message]
One or more PR numbers were detected in the summary.
Links to those Bitcoin Core PRs have been inserted into the summary for reference.

This revision is now accepted and ready to land.Jan 22 2020, 16:40
This revision was automatically updated to reflect the committed changes.