Skip to content

Commit 9ef94c3

Browse files
Squashed 'libbitcoinkernel-sys/bitcoin/' changes from 3d6b3fd8f65..0f8687aaafa
0f8687aaafa Add BlockReader fucntionality to kernel library 2c792833836 Add directory lcoking and read-only mode to BlockTreeStore 357cdb12cdd Flush disk writes when not in initial block download 11ffa7948c5 Remove block_tree_db_in_memory parameter after flat-file migration 7b3c7268728 blockstorage: Remove BlockTreeDB dead code 4d66896d1a2 kernel: Add assumed header store to chainparams 08d1848c81b kernel: Remove block tree db params c2e72c134d2 blockstorage: Replace BlockTreeDB with BlockTreeStore 1559ec22ac2 fuzz: Use BlockTreeStore in block index fuzz test 32bb39bad1d kernel: Add blocktreestorage module 6a9fdf7ae58 kernel: Fix bitcoin-chainstate for windows f6524514e33 kernel: Add Purpose section to header documentation 4ae2cfb4e27 kernel: Allowing reducing exports a1c072eb393 kernel: Add pure kernel bitcoin-chainstate 136fc5b3f0d kernel: Add functions to get the block hash from a block 3791a272053 kernel: Add block index utility functions to C header 1236c88392a kernel: Add function to read block undo data from disk to C header bf340b140ff kernel: Add functions to read block from disk to C header 173e621fa10 kernel: Add function for copying block data to C header 8f717b62a56 kernel: Add functions for the block validation state to C header 4353ddcd6d2 kernel: Add validation interface to C header 037bc7c5109 kernel: Add interrupt function to C header 4cc133ba101 kernel: Add import blocks function to C header 88ea62fc269 kernel: Add chainstate load options for in-memory dbs in C header 8c5fcdc65d1 kernel: Add options for reindexing in C header d2181ddcb78 kernel: Add block validation to C header 0f50066b6fc kernel: Add chainstate loading when instantiating a ChainstateManager e1486618c04 kernel: Add chainstate manager option for setting worker threads 0bf8f0e583a kernel: Add chainstate manager object to C header 89b4b0100ed kernel: Add notifications context option to C header c229caf460e kernel: Add chain params context option to C header 052bedb4075 kernel: Add kernel library context object a25e2f76092 kernel: Add logging to kernel library C header 0a9b1793134 kernel: Introduce initial kernel C header API 00604296e17 Merge bitcoin/bitcoin#32866: doc: add note for watch-only wallet migration 91058877ff7 Merge bitcoin/bitcoin#32273: wallet: Fix relative path backup during migration. 6b99670e3c0 Merge bitcoin/bitcoin#33075: doc: Add legacy wallet removal release notes 2cef200340f Merge bitcoin/bitcoin#28944: wallet, rpc: add anti-fee-sniping to `send` and `sendall` 932e993b37c Merge bitcoin/bitcoin#33073: guix: warn SOURCE_DATE_EPOCH set in guix-codesign 0bed946e5d1 Merge bitcoin/bitcoin#33079: ci: limit max stack size to 512 KiB 28ec91c30e2 Merge bitcoin/bitcoin#33088: doc: move `cmake -B build -LH` up in Unix build docs 2f410ad78c7 Merge bitcoin/bitcoin#32263: cluster mempool: add TxGraph work controls 6757052fc43 doc: move `cmake -B build -LH` up in Unix build docs 953c90d7649 Merge bitcoin/bitcoin#33086: contrib: [tracing] fix pointer argument handling in mempool_monitor.py 5888b4a2a55 doc: add note for watch-only wallet migration 3b23f95e346 ci: limit max stack size to 512 KiB 2931a874776 ci: limit stack size to 512kb in native macOS jobs 3724e9b40a6 Merge bitcoin/bitcoin#32973: validation: docs and cleanups for MemPoolAccept coins views 0ce041ea88d tracing: fix pointer argument handling in mempool_monitor.py 321984705db Merge bitcoin/bitcoin#32279: [IBD] prevector: store `P2WSH`/`P2TR`/`P2PK` scripts inline fa45ccc15df doc: Add legacy wallet removal release notes 2a97ff466d3 Merge bitcoin/bitcoin#29954: RPC: Return `permitbaremultisig` and `maxdatacarriersize` in `getmempoolinfo` fd068257e07 Merge bitcoin/bitcoin#33065: rpc, wallet: replace remaining hardcoded output types with `FormatAllOutputTypes` 9cafdf8941a Merge bitcoin/bitcoin#33064: test: fix RPC coverage check c8309198f81 Merge bitcoin/bitcoin#33070: doc/zmq: fix unix socket path example 1bed0f734b3 guix: warn SOURCE_DATE_EPOCH set in guix-codesign 1c10b7351e1 RPC: Return permitbaremultisig and maxdatacarriersize in getmempoolinfo e83699a626b doc/zmq: fix unix socket path example 8aed477c332 test: fix RPC coverage check 2630b64f810 test: add abortrescan RPC test 75a5c8258ec Merge bitcoin/bitcoin#33063: util: Revert "common: Close non-std fds before exec in RunCommandJSON" d5104cfbaeb prevector: store `P2WSH`/`P2TR`/`P2PK` scripts inline 52121506b2a test: assert `CScript` allocation characteristics 65ac7f6d4d1 refactor: modernize `CScriptBase` definition 756da2a994c refactor: extract `STATIC_SIZE` constant to prevector 251d0208468 init, wallet: replace hardcoded output types with `FormatAllOutputTypes` 3b188b8b3da Merge bitcoin/bitcoin#31576: test: Move `script_assets_tests` into its own suite 2e97541396b Merge bitcoin/bitcoin#32944: wallet: Remove `upgradewallet` RPC b08041cac86 Merge bitcoin/bitcoin#32845: rpc, test: Fix JSON parsing errors in unloadwallet and getdescriptoractivity RPCs e3ba0757a94 rpc, wallet: replace remaining hardcoded output types with `FormatAllOutputTypes` fc162299f0c Merge bitcoin/bitcoin#32994: p2p: rename GetAddresses -> GetAddressesUnsafe 633d8ea17b9 Merge bitcoin/bitcoin#32970: ci: Enable more shellcheck faa1c3e80d9 Revert "Merge bitcoin/bitcoin#32343: common: Close non-std fds before exec in RunCommandJSON" 6cdc5a90cff Merge bitcoin/bitcoin#32967: log: [refactor] Use info level for init logs 443c32a3e68 Merge bitcoin/bitcoin#32822: fuzz: Make process_message(s) more deterministic face8123fdc log: [refactor] Use info level for init logs fa183761cb0 log: Remove function name from init logs 5ad79b20350 Merge bitcoin/bitcoin#32593: wallet, rpc: Move (Un)LockCoin WalletBatch creation out of RPC e17fb86382e Merge bitcoin/bitcoin#32888: ci: Use optimized Debug build type in test-each-commit fd3d80c209e Merge bitcoin/bitcoin#33047: test: check proper OP_2ROT behavior 1119ac51f0c Merge bitcoin/bitcoin#33040: doc: update headers and remove manual TOCs e2f2df0ead8 Merge bitcoin/bitcoin#32984: wallet: Set migrated wallet name only on success 16f7b43b680 Merge bitcoin/bitcoin#33049: doc: Fix typos in asmap README b59dc21847d doc: Fix typos in asmap README ca38cf701dc doc: fix a few obvious typos in the affected files ddab466e0d9 doc: remove manual TOCs 26a3730711c doc: unify `developer-notes` and `productivity` header styles eb137184482 Merge bitcoin/bitcoin#31179: RPC: Add reserve member function to `UniValue` and use it in `blockToJSON` function b94c6356a29 test: check proper OP_2ROT behavior 73e754bd01b Merge bitcoin/bitcoin#33001: test: Do not pass tests on unhandled exceptions cfb859e82ed Merge bitcoin/bitcoin#33037: doc: Add release notes for 32521 (MAX_TX_LEGACY_SIGOPS) afd3b34dc5e Merge bitcoin/bitcoin#33004: Enable `-natpmp` by default 49bbf9ff28f Merge bitcoin/bitcoin#33036: Update secp256k1 subtree to latest master c5c1960f935 doc: Add release notes for changes in RPCs 90fd5acbe57 rpc, test: Fix error message in getdescriptoractivity 39fef1d2036 test: Add missing logging info for each test 53ac704efd6 rpc, test: Fix error message in unloadwallet 1fc3a8e8e7a rpc, test: Add EnsureUniqueWalletName tests 900bb53905a Merge bitcoin/bitcoin#32990: wallet: remove outdated `pszSkip` arg of database `Rewrite` func c8ec423719a Merge bitcoin/bitcoin#33020: test: delete commented-out tests and add a test case in wallet_signer 09f004bd9fe Merge bitcoin/bitcoin#32945: tests: speed up coins_tests by parallelizing 5d98fc75596 Merge bitcoin/bitcoin#33030: test: check tx is final when there is no locktime b635bc08962 rpc, util: Add EnsureUniqueWalletName da318fe53fa test: delete commented out tests 6d80e999a06 test: external signer returns invalid JSON response 065e42976a7 test: IsFinalTx returns true when there is no locktime 1cb23997033 doc: clarify the GetAddresses/GetAddressesUnsafe documentation e5a7dfd79f6 p2p: rename GetAddresses -> GetAddressesUnsafe faa2f3b1afe doc: Add release notes for 32521 (MAX_TX_LEGACY_SIGOPS) 336b8be37b2 Update secp256k1 subtree to latest master 5600e6fc4bb Squashed 'src/secp256k1/' changes from 4187a46649..b9313c6e1a 06ab3a394ad tests: speed up coins_tests by parallelizing 7129c9ea8e9 Merge bitcoin/bitcoin#32827: mempool: Avoid needless vtx iteration during IBD 11c6a864c9e Merge bitcoin/bitcoin#33007: test: fix `ReadTopologicalSet` unsigned integer overflow 9bc33432e21 Merge bitcoin/bitcoin#32999: ci: Use APT_LLVM_V in msan task 5878f35446a Merge bitcoin/bitcoin#31144: [IBD] multi-byte block obfuscation 249889bee6b orphanage: avoid vtx iteration when no orphans 41ad2be4340 mempool: Avoid expensive loop in `removeForBlock` during IBD e9edd43a959 Merge bitcoin/bitcoin#32521: policy: make pathological transactions packed with legacy sigops non-standard 80067ac111c Merge bitcoin/bitcoin#31829: p2p: improve TxOrphanage denial of service bounds 31c4e77a256 test: fix ReadTopologicalSet unsigned integer overflow 672c85cb1ea Merge bitcoin/bitcoin#32868: test: refactor: overhaul block hash determination for `CBlock{,Header}` objects fa1a14a13a1 fuzz: Reset chainman state in process_message(s) targets fa9a3de09b4 fuzz: DisableNextWrite aeeeeec9f74 fuzz: Reset dirty connman state in process_message(s) targets fa11eea4059 fuzz: Avoid non-determinism in process_message(s) target (PeerMan) faa3e684118 test: Log KeyboardInterrupt as exception b2d07f872c5 Add release notes for -natpmp enabled by default 3fc660d2671 mapport: turn -natpmp to on by default fa30b34026f test: Do not pass tests on unhandled exceptions 96da68a38fa qa: functional test a transaction running into the legacy sigop limit 367147954d1 qa: unit test standardness of inputs packed with legacy sigops 5863315e33b policy: make pathological transactions packed with legacy sigops non-standard. 5fa34951ead test: avoid unneeded block header hash -> integer conversions 2118301d77c test: rename CBlockHeader `.hash` -> `.hash_hex` for consistency 23be0ec2f07 test: rename CBlockHeader `.rehash()`/`.sha256` -> `.hash_int` for consistency 8b09cc350af test: remove bare CBlockHeader `.rehash()`/`.calc_sha256()` calls 0716382c20a test: remove header hash caching in CBlockHeader class 0f044e82bd5 test: avoid direct block header modification in feature_block.py f3c791d2e39 test: refactor: dedup `CBlockHeader` serialization fad040a5787 ci: Use APT_LLVM_V in msan task 76fe0e59ec4 test: Migration of a wallet ending in `../` f0bb3d50fef test: Migration of a wallet ending in `/` 41faef5f80d test: Migration fail recovery w/ `../` in path 63c6d364376 test: Migration of a wallet with `../` in path. 70f1c99c901 wallet: Fix migration of wallets with pathnames. f6ee59b6e29 wallet: migration: Make backup in walletdir e22c3599c67 test: wallet: Check direct file backup name. 060695c22ae test: Failed load after migrate should restore backup 248b6a27c35 optimization: peel align-head and unroll body to 64 bytes e7114fc6dc3 optimization: migrate fixed-size obfuscation from `std::vector<std::byte>` to `uint64_t` 478d40afc6f refactor: encapsulate `vector`/`array` keys into `Obfuscation` 377aab8e5a8 refactor: move `util::Xor` to `Obfuscation().Xor` fa5d296e3be refactor: prepare mempool_persist for obfuscation key change 6bbf2d9311b refactor: prepare `DBWrapper` for obfuscation key change 0b8bec8aa62 scripted-diff: unify xor-vs-obfuscation nomenclature 972697976c0 bench: make ObfuscationBench more representative 618a30e326e test: compare util::Xor with randomized inputs against simple impl a5141cd39ec test: make sure dbwrapper obfuscation key is never obfuscated 54ab0bd64c3 refactor: commit to 8 byte obfuscation keys 7aa557a37b7 random: add fixed-size `std::array` generation b6d4688f77d [doc] reword comments in test_mid_package_replacement f3a613aa5bb [cleanup] delete brittle test_mid_package_eviction 9f713b83dcf Merge bitcoin/bitcoin#32837: depends: fix libevent `_WIN32_WINNT` usage 2dfeb6668cb wallet: remove outdated `pszSkip` arg of database `Rewrite` func 8a4cfddf23a wallet: Set migrated wallet name only on success d89c6fa4a71 wallet: Remove `upgradewallet` RPC 184159e4f30 Merge bitcoin/bitcoin#32922: test: use notarized v28.2 binaries and fix macOS detection 5d17e64a029 Merge bitcoin/bitcoin#32677: test: headers sync timeout 0087ba409b3 Merge bitcoin/bitcoin#32968: test: fix intermittent failure in rpc_invalidateblock.py 50024620b90 [bench] worst case LimitOrphans and EraseForBlock 45c7a4b56d2 [functional test] orphan resolution works in the presence of DoSy peers 835f5c77cde [prep/test] restart instead of bumpmocktime between p2p_orphan_handling subtests b113877545a [fuzz] Add simulation fuzz test for TxOrphanage 03aaaedc6da [prep] Return the made-reconsiderable announcements in AddChildrenToWorkSet ea29c4371e8 [p2p] bump DEFAULT_MAX_ORPHANAGE_LATENCY_SCORE to 3,000 24afee8d8f9 [fuzz] TxOrphanage protects peers that don't go over limit a2878cfb4ae [unit test] strengthen GetChildrenFromSamePeer tests: results are in recency order 7ce3b7ee579 [unit test] basic TxOrphanage eviction and protection 4d23d1d7e7f [cleanup] remove unused rng param from LimitOrphans 067365d2a8a [p2p] overhaul TxOrphanage with smarter limits 1a41e7962db [refactor] create aliases for TxOrphanage Count and Usage b50bd72c42b [prep] change return type of EraseTx to bool 3da6d7f8f6f [prep/refactor] make TxOrphanage a virtual class implemented by TxOrphanageImpl 77ebe8f2801 [prep/test] have TxOrphanage remember its own limits in LimitOrphans d0af4239b7f [prep/refactor] move DEFAULT_MAX_ORPHAN_TRANSACTIONS to txorphanage.h 51365225b89 [prep/config] remove -maxorphantx 8dd24c29aec [prep/test] modify test to not access TxOrphanage internals c3cd7fcb2cd [doc] remove references to now-nonexistent Finalize() function d8140f5f050 don't make a copy of m_non_base_coins 98ba2b1db2e [doc] MemPoolAccept coins views ba02c30b8a6 [doc] always CleanupTemporaryCoins after a mempool trim b53fab1467f Merge bitcoin/bitcoin#32948: refactor: cleanup index logging 62ed1f92eff txgraph: check that DoWork finds optimal if given high budget (tests) f3c2fc867fc txgraph: add work limit to DoWork(), try optimal (feature) fa1fd074685 ci: Enable more shellcheck e96b00d99eb txgraph: make number of acceptable iterations configurable (feature) cfe9958852b txgraph: track amount of work done in linearization (preparation) 6ba316eaa03 txgraph: 1-or-2-tx split-off clusters are optimal (optimization) fad0eb091e5 txgraph: reset quality when merging clusters (bugfix) 61e800e75cf test: headers sync timeout 28416f367a5 test: fix intermittent failure in rpc_invalidateblock.py e72cb20c3fb Merge bitcoin/bitcoin#32943: depends: Force `CMAKE_EXPORT_NO_PACKAGE_REGISTRY=TRUE` 97fb46d0a08 Merge bitcoin/bitcoin#32880: ci: Avoid cd into build dir 69b9ad02da8 Merge bitcoin/bitcoin#32954: cmake: Drop no longer necessary "cmakeMinimumRequired" object faa3171ff22 ci: Use optimized Debug build type in test-each-commit fa21c3401e1 ci: [doc] reword debug log message 12a6959892c cmake: Drop no longer necessary "cmakeMinimumRequired" object 44f53278244 [fuzz] add SeedRandomStateForTest(SeedRand::ZEROS) to txorphan 15a4ec90697 [prep/rpc] remove entry and expiry time from getorphantxs 08e58fa9119 [prep/refactor] move txorphanage to node namespace and directory bb91d23fa95 [txorphanage] change type of usage to int64_t c18bf0bd9be refactor: cleanup index logging f5647c6c5ae depends: fix libevent _WIN32_WINNT usage 44f3bae300d depends: Force `CMAKE_EXPORT_NO_PACKAGE_REGISTRY=TRUE` fad191ff48b ci: Avoid cd into build dir 4bb4c865999 test: document HOST for get_previous_releases.py 609203d5075 test: stop signing previous releases >= v28.2 c6dc2c29f82 test: replace v28.0 with notarized v28.2 5bd73d96a3a test: fix macOS detection aac0b6dd79b test: test sendall and send do anti-fee-sniping 20802c7b65f wallet, rpc: add anti-fee-sniping to `send` and `sendall` c40dbbbf770 test: Move `script_assets_tests` into its own suite 6135e0553e6 wallet, rpc: Move (Un)LockCoin WalletBatch creation out of RPC 5d82d92aff7 rpc: reserve space for `UniValue` variables in `blockToJSON` 6a506d5c37d UniValue: add reserve member function bd461195f4b bench: support benching all verbosity of `BlockToJson` REVERT: 3d6b3fd8f65 kernel: Fix bitcoin-chainstate for windows REVERT: ec099435dda kernel: Add Purpose section to header documentation REVERT: 832689c68b5 kernel: Allowing reducing exports REVERT: 969a8110a56 kernel: Add pure kernel bitcoin-chainstate REVERT: 88e2f3001b6 kernel: Add functions to get the block hash from a block REVERT: de4a96b341f kernel: Add block index utility functions to C header REVERT: c3582e16a77 kernel: Add function to read block undo data from disk to C header REVERT: 183b53c981e kernel: Add functions to read block from disk to C header REVERT: d3557068694 kernel: Add function for copying block data to C header REVERT: 3ac26a9911a kernel: Add functions for the block validation state to C header REVERT: eb9a90ff5cc kernel: Add validation interface to C header REVERT: 451558a160a kernel: Add interrupt function to C header REVERT: 55e36cf39fd kernel: Add import blocks function to C header REVERT: 3671c91fd59 kernel: Add chainstate load options for in-memory dbs in C header REVERT: 128415b1b75 kernel: Add options for reindexing in C header REVERT: add8205e8e9 kernel: Add block validation to C header REVERT: 1404b97942c kernel: Add chainstate loading when instantiating a ChainstateManager REVERT: 76d73226d99 kernel: Add chainstate manager option for setting worker threads REVERT: 6de50dca962 kernel: Add chainstate manager object to C header REVERT: 477df9b640e kernel: Add notifications context option to C header REVERT: c3868780f52 kernel: Add chain params context option to C header REVERT: 649bd3fd565 kernel: Add kernel library context object REVERT: b7e24e1547a kernel: Add logging to kernel library C header REVERT: c1536041e43 kernel: Introduce initial kernel C header API git-subtree-dir: libbitcoinkernel-sys/bitcoin git-subtree-split: 0f8687aaafa5429c06d4848eadf3ce779761f9b7
1 parent 6f33491 commit 9ef94c3

File tree

261 files changed

+7971
-2990
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

261 files changed

+7971
-2990
lines changed

.github/ci-test-each-commit-exec.py

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,19 +17,25 @@ def run(cmd, **kwargs):
1717

1818

1919
def main():
20-
print("Running test-one-commit on ...")
20+
print("Running tests on commit ...")
2121
run(["git", "log", "-1"])
2222

2323
num_procs = int(run(["nproc"], stdout=subprocess.PIPE).stdout)
2424

25-
# Use clang++, because it is a bit faster and uses less memory than g++
2625
run([
2726
"cmake",
2827
"-B",
2928
"build",
3029
"-Werror=dev",
30+
# Use clang++, because it is a bit faster and uses less memory than g++
3131
"-DCMAKE_C_COMPILER=clang",
3232
"-DCMAKE_CXX_COMPILER=clang++",
33+
# Use mold, because it is faster than the default linker
34+
"-DCMAKE_EXE_LINKER_FLAGS=-fuse-ld=mold",
35+
# Use Debug build type for more debug checks, but enable optimizations
36+
"-DAPPEND_CXXFLAGS='-O3 -g2'",
37+
"-DAPPEND_CFLAGS='-O3 -g2'",
38+
"-DCMAKE_BUILD_TYPE=Debug",
3339
"-DWERROR=ON",
3440
"-DWITH_ZMQ=ON",
3541
"-DBUILD_GUI=ON",

.github/workflows/ci.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ jobs:
7777
git config user.name "CI"
7878
- run: |
7979
sudo apt-get update
80-
sudo apt-get install clang ccache build-essential cmake ninja-build pkgconf python3-zmq libevent-dev libboost-dev libsqlite3-dev systemtap-sdt-dev libzmq3-dev qt6-base-dev qt6-tools-dev qt6-l10n-tools libqrencode-dev -y
80+
sudo apt-get install clang mold ccache build-essential cmake ninja-build pkgconf python3-zmq libevent-dev libboost-dev libsqlite3-dev systemtap-sdt-dev libzmq3-dev qt6-base-dev qt6-tools-dev qt6-l10n-tools libqrencode-dev -y
8181
- name: Compile and run tests
8282
run: |
8383
# Run tests on commits after the last merge commit and before the PR head commit

CMakePresets.json

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
{
22
"version": 3,
3-
"cmakeMinimumRequired": {"major": 3, "minor": 21, "patch": 0},
43
"configurePresets": [
54
{
65
"name": "vs2022",

ci/test/00_setup_env_arm.sh

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ export USE_BUSY_BOX=true
1616
export RUN_UNIT_TESTS=true
1717
export RUN_FUNCTIONAL_TESTS=false
1818
export GOAL="install"
19+
export CI_LIMIT_STACK_SIZE=1
1920
# -Wno-psabi is to disable ABI warnings: "note: parameter passing for argument of type ... changed in GCC 7.1"
2021
# This could be removed once the ABI change warning does not show up by default
2122
export BITCOIN_CONFIG="-DREDUCE_EXPORTS=ON -DCMAKE_CXX_FLAGS='-Wno-psabi -Wno-error=maybe-uninitialized'"

ci/test/00_setup_env_mac_native.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ export LC_ALL=C.UTF-8
1111
export PIP_PACKAGES="--break-system-packages zmq"
1212
export GOAL="install deploy"
1313
export CMAKE_GENERATOR="Ninja"
14-
export BITCOIN_CONFIG="-DBUILD_GUI=ON -DWITH_ZMQ=ON -DBUILD_KERNEL_LIB=ON -DBUILD_KERNEL_TEST=ON -DREDUCE_EXPORTS=ON"
14+
export BITCOIN_CONFIG="-DBUILD_GUI=ON -DWITH_ZMQ=ON -DBUILD_KERNEL_LIB=ON -DBUILD_KERNEL_TEST=ON -DREDUCE_EXPORTS=ON -DCMAKE_EXE_LINKER_FLAGS='-Wl,-stack_size -Wl,0x80000'"
1515
export CI_OS_NAME="macos"
1616
export NO_DEPENDS=1
1717
export OSX_SDK=""

ci/test/00_setup_env_mac_native_fuzz.sh

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

99
export CMAKE_GENERATOR="Ninja"
10-
export BITCOIN_CONFIG="-DBUILD_FOR_FUZZING=ON"
10+
export BITCOIN_CONFIG="-DBUILD_FOR_FUZZING=ON -DCMAKE_EXE_LINKER_FLAGS='-Wl,-stack_size -Wl,0x80000'"
1111
export CI_OS_NAME="macos"
1212
export NO_DEPENDS=1
1313
export OSX_SDK=""

ci/test/00_setup_env_native_asan.sh

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,11 +23,12 @@ export APT_LLVM_V="20"
2323
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}"
2424
export NO_DEPENDS=1
2525
export GOAL="install"
26+
export CI_LIMIT_STACK_SIZE=1
2627
export BITCOIN_CONFIG="\
2728
-DWITH_USDT=ON -DWITH_ZMQ=ON -DBUILD_GUI=ON \
2829
-DSANITIZERS=address,float-divide-by-zero,integer,undefined \
29-
-DCMAKE_C_COMPILER=clang-${APT_LLVM_V} \
30-
-DCMAKE_CXX_COMPILER=clang++-${APT_LLVM_V} \
30+
-DCMAKE_C_COMPILER=clang \
31+
-DCMAKE_CXX_COMPILER=clang++ \
3132
-DCMAKE_C_FLAGS='-ftrivial-auto-var-init=pattern' \
3233
-DCMAKE_CXX_FLAGS='-ftrivial-auto-var-init=pattern' \
3334
-DAPPEND_CXXFLAGS='-std=c++23' \

ci/test/00_setup_env_native_fuzz.sh

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,8 @@ export CI_CONTAINER_CAP="--cap-add SYS_PTRACE" # If run with (ASan + LSan), the
1919
export BITCOIN_CONFIG="\
2020
-DBUILD_FOR_FUZZING=ON \
2121
-DSANITIZERS=fuzzer,address,undefined,float-divide-by-zero,integer \
22-
-DCMAKE_C_COMPILER=clang-${APT_LLVM_V} \
23-
-DCMAKE_CXX_COMPILER=clang++-${APT_LLVM_V} \
22+
-DCMAKE_C_COMPILER=clang \
23+
-DCMAKE_CXX_COMPILER=clang++ \
2424
-DCMAKE_C_FLAGS='-ftrivial-auto-var-init=pattern' \
2525
-DCMAKE_CXX_FLAGS='-ftrivial-auto-var-init=pattern' \
2626
"
27-
export LLVM_SYMBOLIZER_PATH="/usr/bin/llvm-symbolizer-${APT_LLVM_V}"

ci/test/00_setup_env_native_msan.sh

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,15 +7,17 @@
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="20"
1011
LIBCXX_DIR="/msan/cxx_build/"
1112
export MSAN_FLAGS="-fsanitize=memory -fsanitize-memory-track-origins=2 -fno-omit-frame-pointer -g -O1 -fno-optimize-sibling-calls"
1213
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"
1314
export MSAN_AND_LIBCXX_FLAGS="${MSAN_FLAGS} ${LIBCXX_FLAGS}"
1415

1516
export CONTAINER_NAME="ci_native_msan"
16-
export PACKAGES="ninja-build"
17+
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 ninja-build"
1718
export DEP_OPTS="DEBUG=1 NO_QT=1 CC=clang CXX=clang++ CFLAGS='${MSAN_FLAGS}' CXXFLAGS='${MSAN_AND_LIBCXX_FLAGS}'"
1819
export GOAL="install"
20+
export CI_LIMIT_STACK_SIZE=1
1921
# Setting CMAKE_{C,CXX}_FLAGS_DEBUG flags to an empty string ensures that the flags set in MSAN_FLAGS remain unaltered.
2022
# _FORTIFY_SOURCE is not compatible with MSAN.
2123
export BITCOIN_CONFIG="\

ci/test/00_setup_env_native_previous_releases.sh

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ export TEST_RUNNER_EXTRA="--previous-releases --coverage --extended --exclude fe
1515
export RUN_UNIT_TESTS_SEQUENTIAL="true"
1616
export RUN_UNIT_TESTS="false"
1717
export GOAL="install"
18+
export CI_LIMIT_STACK_SIZE=1
1819
export DOWNLOAD_PREVIOUS_RELEASES="true"
1920
export BITCOIN_CONFIG="\
2021
-DWITH_ZMQ=ON -DBUILD_GUI=ON -DREDUCE_EXPORTS=ON \

0 commit comments

Comments
 (0)