mirror of
https://github.com/bitcoin/bitcoin.git
synced 2026-04-11 08:07:33 +02:00
valgrind currently does not work on GCC -O2 compiled executables, which contain std::optional use, due to an upstream bug. See https://bugs.kde.org/show_bug.cgi?id=472329 One workaround could be to use -O1. However, that seems brittle, as variantions of the bug were seen with -O1 as well. So temporarily use clang in the valgrind CI tasks, because this also allows to drop a false-positive suppression for: -DCMAKE_CXX_FLAGS='-Wno-error=array-bounds' Also, update the comment in contrib/valgrind.supp to mention the background: * GCC -O2 wasn't tested with the suppressions file, due to the mentioned bug. * Clang-17 (or later) on aarch64 wasn't tested due to bug https://github.com/bitcoin/bitcoin/issues/29635 and the minimum supported clang version is clang-17 right now. * GUI isn't tested, because it requires a debug build, see the prior commit. This means the only tested config right now is the one mentioned in the suppression file.
26 lines
1003 B
Bash
Executable File
26 lines
1003 B
Bash
Executable File
#!/usr/bin/env bash
|
|
#
|
|
# Copyright (c) 2019-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/debian:trixie"
|
|
export CONTAINER_NAME=ci_native_valgrind
|
|
export PACKAGES="clang llvm libclang-rt-dev valgrind python3-zmq libevent-dev libboost-dev libzmq3-dev libsqlite3-dev libcapnp-dev capnproto python3-pip"
|
|
export PIP_PACKAGES="--break-system-packages pycapnp"
|
|
export USE_VALGRIND=1
|
|
export NO_DEPENDS=1
|
|
# bind tests excluded for now, see https://github.com/bitcoin/bitcoin/issues/17765#issuecomment-602068547
|
|
export TEST_RUNNER_EXTRA="--exclude rpc_bind --exclude feature_bind_extra"
|
|
export GOAL="install"
|
|
# GUI disabled, because it only passes with a DEBUG=1 depends build
|
|
export BITCOIN_CONFIG="\
|
|
--preset=dev-mode \
|
|
-DBUILD_GUI=OFF \
|
|
-DWITH_USDT=OFF \
|
|
-DCMAKE_C_COMPILER=clang \
|
|
-DCMAKE_CXX_COMPILER=clang++ \
|
|
"
|