ci: use Mold linker for asan-lsan-ubsan-integer-no-depends-usdt workflow
What changed, and why it matters
This commit changes a single Bitcoin Core continuous-integration (CI) script so that one automated testing job uses the Mold linker instead of the default system linker. It adds the 'mold' package to the CI container and tells the build to use it. There is no change to the Bitcoin Core software that users run, no bug fix, and no security relevance.
No security action needed. This is a routine CI configuration change.
Security signals we found
No strong security signals were identified.
Evidence from the diff
The diff modifies ci/test/00_setup_env_native_asan.sh, the environment setup for the native AddressSanitizer/LeakSanitizer/UBSan/integer-no-depends/USDT CI workflow. It installs the ‘mold’ package and passes -DCMAKE_EXE_LINKER_FLAGS=’-fuse-ld=mold’ to the CMake configuration. This is purely an infrastructure/CI tooling change intended to switch linkers for that specific build job.
Changed components
ci/test/00_setup_env_native_asan.shInspect captured patch +2 / −1
diff --git a/ci/test/00_setup_env_native_asan.sh b/ci/test/00_setup_env_native_asan.sh
index e785f6ab..229d4fff 100755
--- a/ci/test/00_setup_env_native_asan.sh
+++ b/ci/test/00_setup_env_native_asan.sh
@@ -20,7 +20,7 @@ fi
export CONTAINER_NAME=ci_native_asan
export APT_LLVM_V="21"
-export PACKAGES="systemtap-sdt-dev clang-${APT_LLVM_V} llvm-${APT_LLVM_V} libclang-rt-${APT_LLVM_V}-dev python3-zmq qt6-base-dev qt6-tools-dev qt6-l10n-tools libevent-dev libboost-dev libzmq3-dev libqrencode-dev libsqlite3-dev ${BPFCC_PACKAGE} libcapnp-dev capnproto python3-pip"
+export PACKAGES="systemtap-sdt-dev clang-${APT_LLVM_V} llvm-${APT_LLVM_V} libclang-rt-${APT_LLVM_V}-dev mold python3-zmq qt6-base-dev qt6-tools-dev qt6-l10n-tools libevent-dev libboost-dev libzmq3-dev libqrencode-dev libsqlite3-dev ${BPFCC_PACKAGE} libcapnp-dev capnproto python3-pip"
export PIP_PACKAGES="--break-system-packages pycapnp"
export NO_DEPENDS=1
export GOAL="install"
@@ -32,6 +32,7 @@ export BITCOIN_CONFIG="\
-DCMAKE_CXX_COMPILER=clang++ \
-DCMAKE_C_FLAGS='-ftrivial-auto-var-init=pattern' \
-DCMAKE_CXX_FLAGS='-ftrivial-auto-var-init=pattern' \
+ -DCMAKE_EXE_LINKER_FLAGS='-fuse-ld=mold' \
-DAPPEND_CXXFLAGS='-std=c++23' \
-DAPPEND_CPPFLAGS='-DARENA_DEBUG -DDEBUG_LOCKORDER' \
"
Why this scored 15/100
Community notes
Notes can correct, qualify, or add evidence to the AI analysis. Every note shown here has been validated by a human moderator.
The AI analysis stands alone for now. Submit a note if you can add evidence or important context.