mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-11-15 16:38:23 +01:00
7aa5b67132ci: remove DEBUG_LOCKORDER from TSAN job (fanquake)b09af2ce50ci: instrument libc++ in TSAN job (fanquake)6653cafd0bci: allow libc++ instrumentation other than msan (fanquake) Pull request description: Allow for instrumenting libc++ with a sanitizer other than MemoryWithOrigins. Would also close #33087, as with the extra instrumentation, the issue from https://github.com/bitcoin/bitcoin/pull/32862#issuecomment-3114706601 is avoided (also see https://github.com/bitcoin/bitcoin/pull/33081), and we can drop `DEBUG_LOCKORDER`. ACKs for top commit: maflcko: re-ACK7aa5b67132🦀 dergoegge: utACK7aa5b67132Tree-SHA512: 95f123e37da5e81d571244e4b1cd7658107676f1ea763ff16e5b69f4dfadb88236a577bb2ee52230ff542872c1da151c88fc50aba0f32540e765080120cec55e
32 lines
1.4 KiB
Bash
Executable File
32 lines
1.4 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
#
|
|
# Copyright (c) 2020-present The Bitcoin Core developers
|
|
# Distributed under the MIT software license, see the accompanying
|
|
# file COPYING or http://www.opensource.org/licenses/mit-license.php.
|
|
|
|
export LC_ALL=C.UTF-8
|
|
|
|
export CI_IMAGE_NAME_TAG="mirror.gcr.io/ubuntu:24.04"
|
|
LIBCXX_DIR="/cxx_build/"
|
|
export MSAN_FLAGS="-fsanitize=memory -fsanitize-memory-track-origins=2 -fno-omit-frame-pointer -g -O1 -fno-optimize-sibling-calls"
|
|
LIBCXX_FLAGS="-nostdinc++ -nostdlib++ -isystem ${LIBCXX_DIR}include/c++/v1 -L${LIBCXX_DIR}lib -Wl,-rpath,${LIBCXX_DIR}lib -lc++ -lc++abi -lpthread -Wno-unused-command-line-argument"
|
|
export MSAN_AND_LIBCXX_FLAGS="${MSAN_FLAGS} ${LIBCXX_FLAGS}"
|
|
|
|
export CONTAINER_NAME="ci_native_fuzz_msan"
|
|
export DEP_OPTS="DEBUG=1 NO_QT=1 CC=clang CXX=clang++ CFLAGS='${MSAN_FLAGS}' CXXFLAGS='${MSAN_AND_LIBCXX_FLAGS}'"
|
|
export GOAL="all"
|
|
# 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' \
|
|
"
|
|
export USE_INSTRUMENTED_LIBCPP="MemoryWithOrigins"
|
|
export RUN_UNIT_TESTS="false"
|
|
export RUN_FUNCTIONAL_TESTS="false"
|
|
export RUN_FUZZ_TESTS=true
|