mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-01-24 18:23:26 -03:00
Merge bitcoin/bitcoin#30778: build: Fix linking for fuzz
target when building with MSan
Some checks are pending
Some checks are pending
787dfaf084
ci: Do not override `-g -O1` set in `MSAN_FLAGS` (Hennadii Stepanov)26c460aa8b
build: Fix linking for `fuzz` target when building with MSan (Hennadii Stepanov) Pull request description: The first commit fixes https://github.com/bitcoin/bitcoin/issues/30760. The second commit: 1. Preserves `-g -O1` set in `MSAN_FLAGS`. Since configuration-specific flags override general flags, these are set to empty strings. A similar approach is used in the OSS-Fuzz repository. 2. Sets the "Debug" build configuration when depends are built with `DEBUG=1`, ensuring that `linux_debug_CPPFLAGS` from depends are passed to the main build system. ACKs for top commit: maflcko: review-only ACK787dfaf084
fanquake: ACK787dfaf084
- as a follow up it would be good to: Tree-SHA512: c324390d1dbda30f82025d8482ddb0cfa0395f9ba225a2ddce05a123c65e0622a6a1d5f0fa03f09e21d62792431cf3da5c49e41a3ac7f7a958d0392a0430f29c
This commit is contained in:
commit
9cb9651d92
3 changed files with 13 additions and 1 deletions
|
@ -17,8 +17,12 @@ export PACKAGES="ninja-build"
|
|||
# BDB generates false-positives and will be removed in future
|
||||
export DEP_OPTS="DEBUG=1 NO_BDB=1 NO_QT=1 CC=clang CXX=clang++ CFLAGS='${MSAN_FLAGS}' CXXFLAGS='${MSAN_AND_LIBCXX_FLAGS}'"
|
||||
export GOAL="install"
|
||||
# Setting CMAKE_{C,CXX}_FLAGS_DEBUG flags to an empty string ensures that the flags set in MSAN_FLAGS remain unaltered.
|
||||
# _FORTIFY_SOURCE is not compatible with MSAN.
|
||||
export BITCOIN_CONFIG="\
|
||||
-DCMAKE_BUILD_TYPE=Debug \
|
||||
-DCMAKE_C_FLAGS_DEBUG='' \
|
||||
-DCMAKE_CXX_FLAGS_DEBUG='' \
|
||||
-DBUILD_FOR_FUZZING=ON \
|
||||
-DSANITIZERS=fuzzer,memory \
|
||||
-DAPPEND_CPPFLAGS='-DBOOST_MULTI_INDEX_ENABLE_SAFE_MODE -U_FORTIFY_SOURCE' \
|
||||
|
|
|
@ -17,8 +17,15 @@ export PACKAGES="ninja-build"
|
|||
# BDB generates false-positives and will be removed in future
|
||||
export DEP_OPTS="DEBUG=1 NO_BDB=1 NO_QT=1 CC=clang CXX=clang++ CFLAGS='${MSAN_FLAGS}' CXXFLAGS='${MSAN_AND_LIBCXX_FLAGS}'"
|
||||
export GOAL="install"
|
||||
# Setting CMAKE_{C,CXX}_FLAGS_DEBUG flags to an empty string ensures that the flags set in MSAN_FLAGS remain unaltered.
|
||||
# _FORTIFY_SOURCE is not compatible with MSAN.
|
||||
export BITCOIN_CONFIG="-DSANITIZERS=memory -DAPPEND_CPPFLAGS='-U_FORTIFY_SOURCE'"
|
||||
export BITCOIN_CONFIG="\
|
||||
-DCMAKE_BUILD_TYPE=Debug \
|
||||
-DCMAKE_C_FLAGS_DEBUG='' \
|
||||
-DCMAKE_CXX_FLAGS_DEBUG='' \
|
||||
-DSANITIZERS=memory \
|
||||
-DAPPEND_CPPFLAGS='-U_FORTIFY_SOURCE' \
|
||||
"
|
||||
export USE_MEMORY_SANITIZER="true"
|
||||
export RUN_FUNCTIONAL_TESTS="false"
|
||||
export CCACHE_MAXSIZE=250M
|
||||
|
|
|
@ -132,6 +132,7 @@ target_link_libraries(fuzz
|
|||
test_fuzz
|
||||
bitcoin_cli
|
||||
bitcoin_common
|
||||
bitcoin_util
|
||||
minisketch
|
||||
leveldb
|
||||
univalue
|
||||
|
|
Loading…
Add table
Reference in a new issue