Skip to content

Commit eaa1a3c

Browse files
committed
Merge bitcoin/bitcoin#33425: ci: remove Clang build from msan fuzz job
b77137a ci: link against -lstdc++ in native fuzz with msan job (fanquake) Pull request description: Remove the Clang build from msan fuzz by using the apt install LLVM / Clang, and just linking against `-lstdc++`. ACKs for top commit: maflcko: lgtm ACK b77137a Tree-SHA512: dc32b22a93196120a343d91265db3f42f6dc00afc887929986987ea62f2513580c855e98d088f037adb4c2e62358f98e47b914a412ef9c1069037917a36c0b03
2 parents a86e1a6 + b77137a commit eaa1a3c

File tree

2 files changed

+4
-18
lines changed

2 files changed

+4
-18
lines changed

ci/test/00_setup_env_native_fuzz_with_msan.sh

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,15 @@
77
export LC_ALL=C.UTF-8
88

99
export CI_IMAGE_NAME_TAG="mirror.gcr.io/ubuntu:24.04"
10+
export APT_LLVM_V="21"
1011
LIBCXX_DIR="/cxx_build/"
1112
export MSAN_FLAGS="-fsanitize=memory -fsanitize-memory-track-origins=2 -fno-omit-frame-pointer -g -O1 -fno-optimize-sibling-calls"
12-
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"
13+
# -lstdc++ to resolve link issues due to upstream packaging
14+
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 -lstdc++"
1315
export MSAN_AND_LIBCXX_FLAGS="${MSAN_FLAGS} ${LIBCXX_FLAGS}"
1416

1517
export CONTAINER_NAME="ci_native_fuzz_msan"
18+
export PACKAGES="clang-${APT_LLVM_V} llvm-${APT_LLVM_V} llvm-${APT_LLVM_V}-dev libclang-${APT_LLVM_V}-dev libclang-rt-${APT_LLVM_V}-dev"
1619
export DEP_OPTS="DEBUG=1 NO_QT=1 CC=clang CXX=clang++ CFLAGS='${MSAN_FLAGS}' CXXFLAGS='${MSAN_AND_LIBCXX_FLAGS}'"
1720
export GOAL="all"
1821
# Setting CMAKE_{C,CXX}_FLAGS_DEBUG flags to an empty string ensures that the flags set in MSAN_FLAGS remain unaltered.

ci/test/01_base_install.sh

Lines changed: 0 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -58,23 +58,6 @@ fi
5858
if [[ -n "${USE_INSTRUMENTED_LIBCPP}" ]]; then
5959
${CI_RETRY_EXE} git clone --depth=1 https://github.com/llvm/llvm-project -b "llvmorg-21.1.1" /llvm-project
6060

61-
if [ -n "${APT_LLVM_V}" ]; then
62-
63-
cmake -G Ninja -B /clang_build/ \
64-
-DLLVM_ENABLE_PROJECTS="clang" \
65-
-DCMAKE_BUILD_TYPE=Release \
66-
-DLLVM_TARGETS_TO_BUILD=Native \
67-
-DLLVM_ENABLE_RUNTIMES="compiler-rt;libcxx;libcxxabi;libunwind" \
68-
-S /llvm-project/llvm
69-
70-
ninja -C /clang_build/ "$MAKEJOBS"
71-
ninja -C /clang_build/ install-runtimes
72-
73-
update-alternatives --install /usr/bin/clang++ clang++ /clang_build/bin/clang++ 100
74-
update-alternatives --install /usr/bin/clang clang /clang_build/bin/clang 100
75-
update-alternatives --install /usr/bin/llvm-symbolizer llvm-symbolizer /clang_build/bin/llvm-symbolizer 100
76-
fi
77-
7861
cmake -G Ninja -B /cxx_build/ \
7962
-DLLVM_ENABLE_RUNTIMES="libcxx;libcxxabi;libunwind" \
8063
-DCMAKE_BUILD_TYPE=Release \

0 commit comments

Comments
 (0)