-
Notifications
You must be signed in to change notification settings - Fork 40
win32: fix -Wmissing-field-initializers warnings #34
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
When building with `-Wmissing-field-initializers`, the following warning
is emitted:
```bash
leveldb/util/env_windows.cc: In member function ‘virtual leveldb::Status leveldb::{anonymous}::WindowsRandomAccessFile::Read(uint64_t, size_t, leveldb::Slice*, char*) const’:
leveldb/util/env_windows.cc:197:31: warning: missing initializer for member ‘_OVERLAPPED::InternalHigh’ [-Wmissing-field-initializers]
197 | OVERLAPPED overlapped = {0};
| ^
leveldb/util/env_windows.cc:197:31: warning: missing initializer for member ‘_OVERLAPPED::<anonymous>’ [-Wmissing-field-initializers]
leveldb/util/env_windows.cc:197:31: warning: missing initializer for member ‘_OVERLAPPED::hEvent’ [-Wmissing-field-initializers]
```
Submitted upstream: google#1053
hebasto
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ACK 12c52b3, I have reviewed the code and it looks OK.
|
ACK 12c52b3. |
|
Copy/pasting from bitcoin/bitcoin#26090 From: https://learn.microsoft.com/en-us/windows/win32/api/minwinbase/ns-minwinbase-overlapped
According to that note at least, it's possible that this was always failing before. As opposed to bitcoin/bitcoin#26090, it looks like this is probably called pretty often, so if it was causing problems it might've manifested as random-looking read-errors. So it seems even if it was happening radomly/rarely, fixing it could only be a good thing as obviously no new codepaths are being taken. |
theuni
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ACK 12c52b3
|
I don't follow, just like bitcoin/bitcoin#26090 this should be a refactor that doesn't change the binary. The elements that are not mentioned in the initializer list will be initialized with their C++11 default member initializer or with Given that we suppress external warnings, there is no need to change the code here. |
These warnings will show up after bitcoin/bitcoin#25972, and cause failures in our CI (-Werror), unless we then choose to suppress them in Makefile.leveldb. They are not currently suppressed by --enable-suppress-external-warnings. |
Yes, looks like you're right. I would've thought that initializing the first field would've prevented the initialization of the rest, but docs and local asm comparisons show that you're correct here. TIL, thanks :) So it seems the warning is simply pointing out possible unintended code as opposed to possible undefined behavior. Note that the warning is also present with a minimal test-case with modern gcc and clang 14. I still think the change is worthwhile to avoid disabling the warning wholesale, but agree that this is a non-binary changing refactor. |
e2f10b4e47 Merge bitcoin-core/leveldb-subtree#34: win32: fix -Wmissing-field-initializers warnings 12c52b392d win32: fix -Wmissing-field-initializers warnings git-subtree-dir: src/leveldb git-subtree-split: e2f10b4e47bc950a81bc96d1c6db3a8048216642
1a463c7 Squashed 'src/leveldb/' changes from 22f1e4a02f..e2f10b4e47 (fanquake) Pull request description: Pulls in bitcoin-core/leveldb-subtree#34: win32: fix -Wmissing-field-initializers warnings Related to #26090, #25972. Guix Build: ```bash a8c49e700309e9268ad0a503e7813775f58daf37813501775ae5831eab0cf26a guix-build-13601da17e7a/output/aarch64-linux-gnu/SHA256SUMS.part 3a1722403f8daf8ea152c72004fb1021f8a7241ee7f51fb0e6adeeb50881f001 guix-build-13601da17e7a/output/aarch64-linux-gnu/bitcoin-13601da17e7a-aarch64-linux-gnu-debug.tar.gz 3b7c1f2361ef4832c305ff4b0d9eb7419f787f8cf537952d7c20be549debe0af guix-build-13601da17e7a/output/aarch64-linux-gnu/bitcoin-13601da17e7a-aarch64-linux-gnu.tar.gz 329cb5bc932621785a6aeca43af307279c47d87a4983ee3d59636f8e3dc27afa guix-build-13601da17e7a/output/arm-linux-gnueabihf/SHA256SUMS.part 4030f344c4c31cc0877c11d3b89f6ea93f930a4ae7e7976d49ad5123cc31a367 guix-build-13601da17e7a/output/arm-linux-gnueabihf/bitcoin-13601da17e7a-arm-linux-gnueabihf-debug.tar.gz ab50945c416b256b4c92ea0a50c0b7ec241e4c1f5803a4e7cb4ba83a6c5db888 guix-build-13601da17e7a/output/arm-linux-gnueabihf/bitcoin-13601da17e7a-arm-linux-gnueabihf.tar.gz 604557cc73c4065697255c6971547a46cd0d6ad1cdf74261d4c73d002abe8c46 guix-build-13601da17e7a/output/arm64-apple-darwin/SHA256SUMS.part 11e781c64fab7933df4a9b4f56357ad18dd8f149b3c9195bf2d310b58355851d guix-build-13601da17e7a/output/arm64-apple-darwin/bitcoin-13601da17e7a-arm64-apple-darwin-unsigned.dmg e3fe9e278310f3dc97f463bb8cf2b930b587dba5095e18a7f38c4ef76338daad guix-build-13601da17e7a/output/arm64-apple-darwin/bitcoin-13601da17e7a-arm64-apple-darwin-unsigned.tar.gz 00828a9bfd74013a439b7f0254bd72904b99ff1e3a9503ef6307ee57de81c5eb guix-build-13601da17e7a/output/arm64-apple-darwin/bitcoin-13601da17e7a-arm64-apple-darwin.tar.gz d80032d2509a982dc81790b3ef3cd8d44551b41047082ebc506f01bbb8830de1 guix-build-13601da17e7a/output/dist-archive/bitcoin-13601da17e7a.tar.gz 61655cdf7c081c43275da57e5b42c21e33d7864378f3784652969ffdf7c3c2b2 guix-build-13601da17e7a/output/powerpc64-linux-gnu/SHA256SUMS.part 3d213e2f25ca72dc0c3d372c0ad3f6803865825a233b29dd80b5cff3e3963621 guix-build-13601da17e7a/output/powerpc64-linux-gnu/bitcoin-13601da17e7a-powerpc64-linux-gnu-debug.tar.gz ef8cad747428b6b46c5d2c598fb7896b320a5321cf9a0c9dba2209c638bfbc7b guix-build-13601da17e7a/output/powerpc64-linux-gnu/bitcoin-13601da17e7a-powerpc64-linux-gnu.tar.gz 2302e022394ca46570c70bc5977f35bbed258bfbb19c2c6d80f1982a725c9e35 guix-build-13601da17e7a/output/powerpc64le-linux-gnu/SHA256SUMS.part 5ca3104b7d546c7d905f82dfd92b5350af754e3973b533adc50c6cbde8f59f96 guix-build-13601da17e7a/output/powerpc64le-linux-gnu/bitcoin-13601da17e7a-powerpc64le-linux-gnu-debug.tar.gz 2781824d8d08f8ac6663925db8b2d1b50b80165e67ed69df86580438284f0c3b guix-build-13601da17e7a/output/powerpc64le-linux-gnu/bitcoin-13601da17e7a-powerpc64le-linux-gnu.tar.gz 24a73f91c5ab9e72f2471cd7b31482c702a3de8dade9aff6b76af34253748cec guix-build-13601da17e7a/output/riscv64-linux-gnu/SHA256SUMS.part b09658af4bd24eb5e76bacbfc7f8750a8941f117511b5c55a44ef1beffec8367 guix-build-13601da17e7a/output/riscv64-linux-gnu/bitcoin-13601da17e7a-riscv64-linux-gnu-debug.tar.gz 56bde3f3df115dbf801944e4f923a08752fd05cda0bbf0e0e3c915387f98e4a8 guix-build-13601da17e7a/output/riscv64-linux-gnu/bitcoin-13601da17e7a-riscv64-linux-gnu.tar.gz ca9a5acb332fb2ffda42e44d84b58e273a769e94f0abaaa0623ed1d1c5267dde guix-build-13601da17e7a/output/x86_64-apple-darwin/SHA256SUMS.part ccae805bca5d4075d1bccbaeca7ac40bb4dac0a97f4fd4c3c80b2d6134d6acb0 guix-build-13601da17e7a/output/x86_64-apple-darwin/bitcoin-13601da17e7a-x86_64-apple-darwin-unsigned.dmg b12c9682b69b3662150abd6680bb60f9fef656a1fdc3cd21951c2da571be40cc guix-build-13601da17e7a/output/x86_64-apple-darwin/bitcoin-13601da17e7a-x86_64-apple-darwin-unsigned.tar.gz fd3378e4d60f0ef3ae1b18f526e96ed9e838df4def021de332dd0b6cd20ed0c4 guix-build-13601da17e7a/output/x86_64-apple-darwin/bitcoin-13601da17e7a-x86_64-apple-darwin.tar.gz 47c7af42153850a94d70de6489389f6faf8772d6adc88269705a12e6b894e84e guix-build-13601da17e7a/output/x86_64-linux-gnu/SHA256SUMS.part 876898d116041680ea6fa3bbce1becb05e45ea5bdbaf973a1465fde4bd2df26d guix-build-13601da17e7a/output/x86_64-linux-gnu/bitcoin-13601da17e7a-x86_64-linux-gnu-debug.tar.gz 56671e22f25ba695c7315de916c6a2d1b57d5f00982b331c68a43912ac3ebc44 guix-build-13601da17e7a/output/x86_64-linux-gnu/bitcoin-13601da17e7a-x86_64-linux-gnu.tar.gz f5b9b7d83ad34b7b6c3cb98b9d7878795a1f6fb7b422ffb02b23266beb76d3a6 guix-build-13601da17e7a/output/x86_64-w64-mingw32/SHA256SUMS.part a72cfb4ce41cad3bb24df2e4bb318edd05370e12fc31f9ba21637b3fd412dccd guix-build-13601da17e7a/output/x86_64-w64-mingw32/bitcoin-13601da17e7a-win64-debug.zip 4b175eac7355715884be279dd4595665912b62815f1d0186ca9874cb9e6424cb guix-build-13601da17e7a/output/x86_64-w64-mingw32/bitcoin-13601da17e7a-win64-setup-unsigned.exe c45d927f0adedc3eb0a01cee0f9fa734c17d9e9a6692b0f416a3830c007b52cc guix-build-13601da17e7a/output/x86_64-w64-mingw32/bitcoin-13601da17e7a-win64-unsigned.tar.gz 360a5b8806c72dbfcfed616d5cec78606461d664e21fb28a44bd473a2b7c9326 guix-build-13601da17e7a/output/x86_64-w64-mingw32/bitcoin-13601da17e7a-win64.zip ``` ACKs for top commit: hebasto: ACK 13601da, I have reviewed the code and it looks OK, I agree it can be merged. theuni: ACK 13601da Tree-SHA512: 1450618714a456d8969fa5bfc3ed700452e0737213af50656a0a1e0764e6063390fb528eb1889d8bf1e02e451f601f0a5bc63a02ac34ef10aeb7dc80fe41acd1
1a463c7 Squashed 'src/leveldb/' changes from 22f1e4a02f..e2f10b4e47 (fanquake) Pull request description: Pulls in bitcoin-core/leveldb-subtree#34: win32: fix -Wmissing-field-initializers warnings Related to bitcoin#26090, bitcoin#25972. Guix Build: ```bash a8c49e700309e9268ad0a503e7813775f58daf37813501775ae5831eab0cf26a guix-build-13601da17e7a/output/aarch64-linux-gnu/SHA256SUMS.part 3a1722403f8daf8ea152c72004fb1021f8a7241ee7f51fb0e6adeeb50881f001 guix-build-13601da17e7a/output/aarch64-linux-gnu/bitcoin-13601da17e7a-aarch64-linux-gnu-debug.tar.gz 3b7c1f2361ef4832c305ff4b0d9eb7419f787f8cf537952d7c20be549debe0af guix-build-13601da17e7a/output/aarch64-linux-gnu/bitcoin-13601da17e7a-aarch64-linux-gnu.tar.gz 329cb5bc932621785a6aeca43af307279c47d87a4983ee3d59636f8e3dc27afa guix-build-13601da17e7a/output/arm-linux-gnueabihf/SHA256SUMS.part 4030f344c4c31cc0877c11d3b89f6ea93f930a4ae7e7976d49ad5123cc31a367 guix-build-13601da17e7a/output/arm-linux-gnueabihf/bitcoin-13601da17e7a-arm-linux-gnueabihf-debug.tar.gz ab50945c416b256b4c92ea0a50c0b7ec241e4c1f5803a4e7cb4ba83a6c5db888 guix-build-13601da17e7a/output/arm-linux-gnueabihf/bitcoin-13601da17e7a-arm-linux-gnueabihf.tar.gz 604557cc73c4065697255c6971547a46cd0d6ad1cdf74261d4c73d002abe8c46 guix-build-13601da17e7a/output/arm64-apple-darwin/SHA256SUMS.part 11e781c64fab7933df4a9b4f56357ad18dd8f149b3c9195bf2d310b58355851d guix-build-13601da17e7a/output/arm64-apple-darwin/bitcoin-13601da17e7a-arm64-apple-darwin-unsigned.dmg e3fe9e278310f3dc97f463bb8cf2b930b587dba5095e18a7f38c4ef76338daad guix-build-13601da17e7a/output/arm64-apple-darwin/bitcoin-13601da17e7a-arm64-apple-darwin-unsigned.tar.gz 00828a9bfd74013a439b7f0254bd72904b99ff1e3a9503ef6307ee57de81c5eb guix-build-13601da17e7a/output/arm64-apple-darwin/bitcoin-13601da17e7a-arm64-apple-darwin.tar.gz d80032d2509a982dc81790b3ef3cd8d44551b41047082ebc506f01bbb8830de1 guix-build-13601da17e7a/output/dist-archive/bitcoin-13601da17e7a.tar.gz 61655cdf7c081c43275da57e5b42c21e33d7864378f3784652969ffdf7c3c2b2 guix-build-13601da17e7a/output/powerpc64-linux-gnu/SHA256SUMS.part 3d213e2f25ca72dc0c3d372c0ad3f6803865825a233b29dd80b5cff3e3963621 guix-build-13601da17e7a/output/powerpc64-linux-gnu/bitcoin-13601da17e7a-powerpc64-linux-gnu-debug.tar.gz ef8cad747428b6b46c5d2c598fb7896b320a5321cf9a0c9dba2209c638bfbc7b guix-build-13601da17e7a/output/powerpc64-linux-gnu/bitcoin-13601da17e7a-powerpc64-linux-gnu.tar.gz 2302e022394ca46570c70bc5977f35bbed258bfbb19c2c6d80f1982a725c9e35 guix-build-13601da17e7a/output/powerpc64le-linux-gnu/SHA256SUMS.part 5ca3104b7d546c7d905f82dfd92b5350af754e3973b533adc50c6cbde8f59f96 guix-build-13601da17e7a/output/powerpc64le-linux-gnu/bitcoin-13601da17e7a-powerpc64le-linux-gnu-debug.tar.gz 2781824d8d08f8ac6663925db8b2d1b50b80165e67ed69df86580438284f0c3b guix-build-13601da17e7a/output/powerpc64le-linux-gnu/bitcoin-13601da17e7a-powerpc64le-linux-gnu.tar.gz 24a73f91c5ab9e72f2471cd7b31482c702a3de8dade9aff6b76af34253748cec guix-build-13601da17e7a/output/riscv64-linux-gnu/SHA256SUMS.part b09658af4bd24eb5e76bacbfc7f8750a8941f117511b5c55a44ef1beffec8367 guix-build-13601da17e7a/output/riscv64-linux-gnu/bitcoin-13601da17e7a-riscv64-linux-gnu-debug.tar.gz 56bde3f3df115dbf801944e4f923a08752fd05cda0bbf0e0e3c915387f98e4a8 guix-build-13601da17e7a/output/riscv64-linux-gnu/bitcoin-13601da17e7a-riscv64-linux-gnu.tar.gz ca9a5acb332fb2ffda42e44d84b58e273a769e94f0abaaa0623ed1d1c5267dde guix-build-13601da17e7a/output/x86_64-apple-darwin/SHA256SUMS.part ccae805bca5d4075d1bccbaeca7ac40bb4dac0a97f4fd4c3c80b2d6134d6acb0 guix-build-13601da17e7a/output/x86_64-apple-darwin/bitcoin-13601da17e7a-x86_64-apple-darwin-unsigned.dmg b12c9682b69b3662150abd6680bb60f9fef656a1fdc3cd21951c2da571be40cc guix-build-13601da17e7a/output/x86_64-apple-darwin/bitcoin-13601da17e7a-x86_64-apple-darwin-unsigned.tar.gz fd3378e4d60f0ef3ae1b18f526e96ed9e838df4def021de332dd0b6cd20ed0c4 guix-build-13601da17e7a/output/x86_64-apple-darwin/bitcoin-13601da17e7a-x86_64-apple-darwin.tar.gz 47c7af42153850a94d70de6489389f6faf8772d6adc88269705a12e6b894e84e guix-build-13601da17e7a/output/x86_64-linux-gnu/SHA256SUMS.part 876898d116041680ea6fa3bbce1becb05e45ea5bdbaf973a1465fde4bd2df26d guix-build-13601da17e7a/output/x86_64-linux-gnu/bitcoin-13601da17e7a-x86_64-linux-gnu-debug.tar.gz 56671e22f25ba695c7315de916c6a2d1b57d5f00982b331c68a43912ac3ebc44 guix-build-13601da17e7a/output/x86_64-linux-gnu/bitcoin-13601da17e7a-x86_64-linux-gnu.tar.gz f5b9b7d83ad34b7b6c3cb98b9d7878795a1f6fb7b422ffb02b23266beb76d3a6 guix-build-13601da17e7a/output/x86_64-w64-mingw32/SHA256SUMS.part a72cfb4ce41cad3bb24df2e4bb318edd05370e12fc31f9ba21637b3fd412dccd guix-build-13601da17e7a/output/x86_64-w64-mingw32/bitcoin-13601da17e7a-win64-debug.zip 4b175eac7355715884be279dd4595665912b62815f1d0186ca9874cb9e6424cb guix-build-13601da17e7a/output/x86_64-w64-mingw32/bitcoin-13601da17e7a-win64-setup-unsigned.exe c45d927f0adedc3eb0a01cee0f9fa734c17d9e9a6692b0f416a3830c007b52cc guix-build-13601da17e7a/output/x86_64-w64-mingw32/bitcoin-13601da17e7a-win64-unsigned.tar.gz 360a5b8806c72dbfcfed616d5cec78606461d664e21fb28a44bd473a2b7c9326 guix-build-13601da17e7a/output/x86_64-w64-mingw32/bitcoin-13601da17e7a-win64.zip ``` ACKs for top commit: hebasto: ACK 13601da, I have reviewed the code and it looks OK, I agree it can be merged. theuni: ACK 13601da Tree-SHA512: 1450618714a456d8969fa5bfc3ed700452e0737213af50656a0a1e0764e6063390fb528eb1889d8bf1e02e451f601f0a5bc63a02ac34ef10aeb7dc80fe41acd1
e2f10b4e47 Merge bitcoin-core/leveldb-subtree#34: win32: fix -Wmissing-field-initializers warnings 12c52b392d win32: fix -Wmissing-field-initializers warnings git-subtree-dir: src/leveldb git-subtree-split: e2f10b4e47bc950a81bc96d1c6db3a8048216642
e2f10b4e47 Merge bitcoin-core/leveldb-subtree#34: win32: fix -Wmissing-field-initializers warnings 12c52b392d win32: fix -Wmissing-field-initializers warnings git-subtree-dir: src/leveldb git-subtree-split: e2f10b4e47bc950a81bc96d1c6db3a8048216642
e2f10b4e47 Merge bitcoin-core/leveldb-subtree#34: win32: fix -Wmissing-field-initializers warnings 12c52b392d win32: fix -Wmissing-field-initializers warnings git-subtree-dir: src/leveldb git-subtree-split: e2f10b4e47bc950a81bc96d1c6db3a8048216642
* doc: add info about status code 404 for some rest endpoints
* refactor: remove duplicate code from BlockAssembler
* build: Fix `capnp` package build for Android
* build: Specify native binaries explicitly when building `capnp` package
From `configure --help`:
--with-external-capnp use the system capnp binary (or the one specified
with $CAPNP) instead of compiling a new one (useful
for cross-compiling)
* net: remove useless call to IsReachable() from CConnman::Bind()
`CConnman::Bind()` is called without `BF_EXPLICIT` only when passed
either `0.0.0.0` or `::`. For those addresses `IsReachable()` is always
true (regardless of the `-onlynet=` setting!), meaning that the `if`
condition never evaluates to true.
`IsReachable()` is always true for the "any" IPv4 and IPv6 addresses
because `CNetAddr::GetNetwork()` returns `NET_UNROUTABLE` instead of
`NET_IPV4` or `NET_IPV6` and the network `NET_UNROUTABLE` is always
considered reachable.
It follows that `BF_EXPLICIT` is unnecessary, remove it too.
* sync: simplify MaybeCheckNotHeld() definitions by using a template
Reduce 4 of the `MaybeCheckNotHeld()` definitions to 2 by using a
template. This also makes the function usable for other
[BasicLockable](https://en.cppreference.com/w/cpp/named_req/BasicLockable)
types.
* sync: remove unused template parameter from ::UniqueLock
The template parameter `typename Base = typename Mutex::UniqueLock` is
not used, so remove it. Use internally defined type `Base` to avoid
repetitions of `Mutex::UniqueLock`.
* scripted-diff: Rename time symbols
-BEGIN VERIFY SCRIPT-
ren() { sed -i "s:\<$1\>:$2:g" $(git grep -l "\<$1\>" ':(exclude)src/versionbits.cpp') ; }
ren nStart time_start
ren nTimeStart time_start
ren nTimeReadFromDiskTotal time_read_from_disk_total
ren nTimeConnectTotal time_connect_total
ren nTimeFlush time_flush
ren nTimeChainState time_chainstate
ren nTimePostConnect time_post_connect
ren nTimeCheck time_check
ren nTimeForks time_forks
ren nTimeConnect time_connect
ren nTimeVerify time_verify
ren nTimeUndo time_undo
ren nTimeIndex time_index
ren nTimeTotal time_total
ren nTime1 time_1
ren nTime2 time_2
ren nTime3 time_3
ren nTime4 time_4
ren nTime5 time_5
ren nTime6 time_6
ren nBlocksTotal num_blocks_total
# Newline after semicolon
perl -0777 -pi -e 's/; time_connect_total/;\n time_connect_total/g' src/validation.cpp
perl -0777 -pi -e 's/; time_/;\n time_/g' src/validation.cpp
-END VERIFY SCRIPT-
* Use steady clock for bench logging
* doc: add historical 0.20.2 release notes
* doc: add historical 0.21.2 release notes
* build: split ARM crc & crypto extension checks
We currently perform the same check twice, to put the same set of flags
in two different variables. Split the checks so we test for crc and crypto
extensions independently.
If we don't want to split, we should just delete the second AX_CHECK_COMPILE_FLAG
check, and set ARM_CRC_CXXFLAGS & ARM_CRC_CXXFLAGS at the same time.
* refactor: Do not discard `try_lock()` return value
Microsoft's C++ Standard Library uses the `[[nodiscard]]` attribute for
`try_lock()`.
See: https://github.com/microsoft/STL/blob/main/stl/inc/mutex
This change allows to drop the current suppression for the warning C4838
and helps to prevent the upcoming warning C4858.
See: microsoft/STL@539c26c
* signet/miner: reduce default interblock interval limit to 30min
Also allow the operator to change it, if desired, without having
to edit the code.
* Squashed 'src/leveldb/' changes from 22f1e4a02f..e2f10b4e47
e2f10b4e47 Merge bitcoin-core/leveldb-subtree#34: win32: fix -Wmissing-field-initializers warnings
12c52b392d win32: fix -Wmissing-field-initializers warnings
git-subtree-dir: src/leveldb
git-subtree-split: e2f10b4e47bc950a81bc96d1c6db3a8048216642
* ci: Bump vcpkg to the latest version `2022.09.27`
Dependency changes (2022.06.16.1 - 2022.09.27):
- boost 1.79.0#0 -> 1.80.0#0
- sqlite3 3.37.2#1 -> 3.39.2#0
- zeromq 4.3.4#5 -> 4.3.4#6
* contrib: Fix capture_output in getcoins.py
Our required Python version 3.6.12 does not support `capture_output` as
a subprocess.run argument; this was added in python 3.7.
We can emulate it by setting stdout and stderr to subprocess.PIPE
* fuzz: Limit outpoints.size in txorphan target to avoid OOM
* refactor: move Boost datetime usage to wallet
This means we don't need datetime in a --disable-wallet build, and it
isn't included in the kernel.
* wallet: Use correct effective value when checking target
* test: Check external coin effective value is used in CoinSelection
* test: Use proper Boost macros instead of assertions
* ci: Run `bench_bitcoin.exe --sanity-check` in "Win64 native" task
Also a better name used for the script as it follows GNU's `make check`.
* doc: bump bips.md up-to-date version to v24.0
This is a trivial follow-up to bitcoin#26124.
* refactor: Drop `owns_lock()` call
Co-authored-by: Vasil Dimov <vd@FreeBSD.org>
* refactor: move DEFAULT_TXINDEX from validation to txindex
* refactor: move DEFAULT_COINSTATSINDEX from validation to coinstatsindex
* refactor: move DEFAULT_BLOCKFILTERINDEX from val to blockfilterindex
* kernel: remove util/bytevectorhash.cpp
* ci: Move `git config` commands into script where they are used
* ci: Use same `merge_script` implementation for Windows as for all
* ci: Remove unused package
Address feedback from https://github.com/bitcoin/bitcoin/pull/24561/files#r985719812
* ci: Allow PIP_PACKAGES on centos
This was added in 7fc5e86 but I can't
see a reason why this should be forbidden.
* test: Remove unused fCheckpointsEnabled from miner_tests
The earliest checkpoint is at height 11111, so this can't possibly have
any impact on this test.
* build, msvc: Enable C4834 warning
https://docs.microsoft.com/en-us/cpp/error-messages/compiler-warnings/c4834
* kernel: move RunCommandParseJSON to its own file
Because libbitcoinkernel does not include this new object, this has the
side-effect of eliminating the unnecessary boost::process dependency.
* ci: Workaround Windows filesystem executable bit loss
* fuzz: add util/mempool/h.cpp
Moving the mempool code (Boost) out of util.h, results in a ~10% speedup
(for me) when compiling the fuzz tests.
* fuzz: pass max fee into ConsumeTxMemPoolEntry
* refactor: Make 64-bit shift explicit
Also this change enables MSVC warning C4334 for all codebase.
https://docs.microsoft.com/en-us/cpp/error-messages/compiler-warnings/compiler-warning-level-3-c4334
* refactor: move run_command from util to common
Quoting ryanofsky: "util can be the library for things included in the kernel
which the kernel can depend on, and common can be the library for other code
that needs to be shared internally, but should not be part of the kernel or
shared externally."
* Remove clang-format from lint task
clang-format could be used in scripted diffs, but remained largely
unused.
* test: Pass mempool reference to AssemblerForTest
* test: Use dedicated mempool in TestPrioritisedMining
No need for a shared mempool. Also remove unused chainparams parameter.
* test: Use dedicated mempool in TestPackageSelection
No need for a shared mempool. Also remove unused chainparams parameter.
* test: Use dedicated mempool in TestBasicMining
No need for a shared mempool. Also remove unused chainparams parameter.
Can be reviewed with --ignore-all-space
* refactor: mempool: add MemPoolLimits::NoLimits()
There are quite a few places in the codebase that require us to
construct a CTxMemPool without limits on ancestors and descendants.
This helper function allows us to get rid of all that duplication.
* refactor: mempool: use CTxMempool::Limits
Simplifies function signatures by removing repetition of all the
ancestor/descendant limits, and increases readability by being
more verbose by naming the limits, while still reducing the LoC.
* test: use NoLimits() in MempoolIndexingTest
The (100, 1000000, 1000, 1000000) limits are arbitrarily high and
don't restrict anything, they are just meant to calculate ancestors
properly. Using NoLimits() makes this intent more clear and simplifies
the code.
* docs: improve docs where MemPoolLimits is used
* Remove unused CDataStream::rdbuf method
It is unused and seems unlikely to be ever used.
* index: Improve BaseIndex::BlockUntilSyncedToCurrentChain reliability
Since commit f08c9fb from PR
bitcoin#21726, index
`BlockUntilSyncedToCurrentChain` behavior has been less reliable, and there has
also been a race condition in the `coinstatsindex_initial_sync` unit test.
It seems better for `BlockUntilSyncedToCurrentChain` to actually wait for the
last connected block to be fully processed, than to be able to return before
prune locks are set, so this switches the order of `m_best_block_index =
block;` and `UpdatePruneLock` statements in `SetBestBlockIndex` to make it more
reliable.
Also since commit f08c9fb, there has been a
race condition in the `coinstatsindex_initial_sync` test. Before that commit,
the atomic index best block pointer `m_best_block_index` was updated as the
last step of `BaseIndex::BlockConnected`, so `BlockUntilSyncedToCurrentChain`
could safely be used in tests to wait for the last `BlockConnected`
notification to be finished before stopping and destroying the index. But
after that commit, calling `BlockUntilSyncedToCurrentChain` is no longer
sufficient, and there is a race between the test shutdown code which destroys
the index object and the new code introduced in that commit calling
`AllowPrune()` and `GetName()` on the index object. Reproducibility
instructions for this are in
bitcoin#25365 (comment)
This commit fixes the `coinstatsindex_initial_sync` race condition, even though
it will require an additional change to silence TSAN false positives,
bitcoin#26188, after it is fixed. So this
partially addresses but does not resolve the bug reporting TSAN errors
bitcoin#25365.
There is no known race condition outside of test code currently, because the
bitcoind `Shutdown` function calls `FlushBackgroundCallbacks` not
`BlockUntilSyncedToCurrentChain` to safely shut down.
Co-authored-by: Vasil Dimov <vd@FreeBSD.org>
Co-authored-by: MacroFake <falke.marco@gmail.com>
* test: Prevent UB in `minisketch_tests.cpp`
* test: Remove confusing DUMMY_P2WPKH_SCRIPT
* docs: fix m_children to be a member of CTxMemPoolEntry
* wallet: have prune error take precedence over assumedvalid
From Russ Yanofsky:
"Agree with all of Marco's points here and think this should be updated
If havePrune and hasAssumedValidChain are both true, better to show
havePrune error message. Assumed-valid error message is vague and not
very actionable. Would suggest "Error loading wallet. Wallet requires
blocks to be downloaded, and software does not currently support loading
wallets while blocks are being downloaded out of order though assumeutxo
snapshots. Wallet should be able to load successfully after node sync
reaches height {block_height}"
Co-authored-by: MacroFake <MarcoFalke@gmail.com>
Co-authored-by: Russ Yanofsky <russ@yanofsky.org>
* Fix comment typos in scriptpubkeyman.cpp, wallet.cpp, wallet.h
Fix comment typos:
sigature -> signature
ponter -> pointer
it's key -> its key
* sync: avoid confusing name overlap (Mutex)
Use `MutexType` instead of `Mutex` for the template parameter of
`UniqueLock` because there is already a class named `Mutex` and the
naming overlap is confusing. `MutexType` is used elsewhere in `sync.h`.
* sync: remove DebugLock alias template
Use `UniqueLock` directly. Type deduction works just fine from the first
argument to the constructor of `UniqueLock`, so there is no need to
repeat
```cpp
UniqueLock<typename std::remove_reference<typename std::remove_pointer<decltype(cs)>::type>::type>
```
five times in the `LOCK` macros. Just `UniqueLock` suffices.
* sync: rename AnnotatedMixin::UniqueLock to AnnotatedMixin::unique_lock
This avoids confusion with the global `UniqueLock` and the snake case
is consistent with `UniqueLock::reverse_lock.
* iwyu: Add zmq source files
* Update .cirrus.yml
Co-authored-by: brunoerg <brunoely.gc@gmail.com>
Co-authored-by: James O'Beirne <james.obeirne@pm.me>
Co-authored-by: Hennadii Stepanov <32963518+hebasto@users.noreply.github.com>
Co-authored-by: Vasil Dimov <vd@FreeBSD.org>
Co-authored-by: MacroFake <falke.marco@gmail.com>
Co-authored-by: fanquake <fanquake@gmail.com>
Co-authored-by: Anthony Towns <aj@erisian.com.au>
Co-authored-by: willcl-ark <will8clark@gmail.com>
Co-authored-by: Aurèle Oulès <aurele@oules.com>
Co-authored-by: Sebastian Falbesoner <sebastian.falbesoner@gmail.com>
Co-authored-by: glozow <gloriajzhao@gmail.com>
Co-authored-by: Cory Fields <cory-nospam-@coryfields.com>
Co-authored-by: stickies-v <stickies-v@protonmail.com>
Co-authored-by: Ryan Ofsky <ryan@ofsky.org>
Co-authored-by: MacroFake <MarcoFalke@gmail.com>
Co-authored-by: Russ Yanofsky <russ@yanofsky.org>
Co-authored-by: Dimitris Tsapakidis <dimitris@tsapakidis.com>
Co-authored-by: alex v <alex@encrypt-s.com>
1a463c7 Squashed 'src/leveldb/' changes from 22f1e4a02f..e2f10b4e47 (fanquake) Pull request description: Pulls in bitcoin-core/leveldb-subtree#34: win32: fix -Wmissing-field-initializers warnings Related to bitcoin#26090, bitcoin#25972. Guix Build: ```bash a8c49e700309e9268ad0a503e7813775f58daf37813501775ae5831eab0cf26a guix-build-13601da17e7a/output/aarch64-linux-gnu/SHA256SUMS.part 3a1722403f8daf8ea152c72004fb1021f8a7241ee7f51fb0e6adeeb50881f001 guix-build-13601da17e7a/output/aarch64-linux-gnu/bitcoin-13601da17e7a-aarch64-linux-gnu-debug.tar.gz 3b7c1f2361ef4832c305ff4b0d9eb7419f787f8cf537952d7c20be549debe0af guix-build-13601da17e7a/output/aarch64-linux-gnu/bitcoin-13601da17e7a-aarch64-linux-gnu.tar.gz 329cb5bc932621785a6aeca43af307279c47d87a4983ee3d59636f8e3dc27afa guix-build-13601da17e7a/output/arm-linux-gnueabihf/SHA256SUMS.part 4030f344c4c31cc0877c11d3b89f6ea93f930a4ae7e7976d49ad5123cc31a367 guix-build-13601da17e7a/output/arm-linux-gnueabihf/bitcoin-13601da17e7a-arm-linux-gnueabihf-debug.tar.gz ab50945c416b256b4c92ea0a50c0b7ec241e4c1f5803a4e7cb4ba83a6c5db888 guix-build-13601da17e7a/output/arm-linux-gnueabihf/bitcoin-13601da17e7a-arm-linux-gnueabihf.tar.gz 604557cc73c4065697255c6971547a46cd0d6ad1cdf74261d4c73d002abe8c46 guix-build-13601da17e7a/output/arm64-apple-darwin/SHA256SUMS.part 11e781c64fab7933df4a9b4f56357ad18dd8f149b3c9195bf2d310b58355851d guix-build-13601da17e7a/output/arm64-apple-darwin/bitcoin-13601da17e7a-arm64-apple-darwin-unsigned.dmg e3fe9e278310f3dc97f463bb8cf2b930b587dba5095e18a7f38c4ef76338daad guix-build-13601da17e7a/output/arm64-apple-darwin/bitcoin-13601da17e7a-arm64-apple-darwin-unsigned.tar.gz 00828a9bfd74013a439b7f0254bd72904b99ff1e3a9503ef6307ee57de81c5eb guix-build-13601da17e7a/output/arm64-apple-darwin/bitcoin-13601da17e7a-arm64-apple-darwin.tar.gz d80032d2509a982dc81790b3ef3cd8d44551b41047082ebc506f01bbb8830de1 guix-build-13601da17e7a/output/dist-archive/bitcoin-13601da17e7a.tar.gz 61655cdf7c081c43275da57e5b42c21e33d7864378f3784652969ffdf7c3c2b2 guix-build-13601da17e7a/output/powerpc64-linux-gnu/SHA256SUMS.part 3d213e2f25ca72dc0c3d372c0ad3f6803865825a233b29dd80b5cff3e3963621 guix-build-13601da17e7a/output/powerpc64-linux-gnu/bitcoin-13601da17e7a-powerpc64-linux-gnu-debug.tar.gz ef8cad747428b6b46c5d2c598fb7896b320a5321cf9a0c9dba2209c638bfbc7b guix-build-13601da17e7a/output/powerpc64-linux-gnu/bitcoin-13601da17e7a-powerpc64-linux-gnu.tar.gz 2302e022394ca46570c70bc5977f35bbed258bfbb19c2c6d80f1982a725c9e35 guix-build-13601da17e7a/output/powerpc64le-linux-gnu/SHA256SUMS.part 5ca3104b7d546c7d905f82dfd92b5350af754e3973b533adc50c6cbde8f59f96 guix-build-13601da17e7a/output/powerpc64le-linux-gnu/bitcoin-13601da17e7a-powerpc64le-linux-gnu-debug.tar.gz 2781824d8d08f8ac6663925db8b2d1b50b80165e67ed69df86580438284f0c3b guix-build-13601da17e7a/output/powerpc64le-linux-gnu/bitcoin-13601da17e7a-powerpc64le-linux-gnu.tar.gz 24a73f91c5ab9e72f2471cd7b31482c702a3de8dade9aff6b76af34253748cec guix-build-13601da17e7a/output/riscv64-linux-gnu/SHA256SUMS.part b09658af4bd24eb5e76bacbfc7f8750a8941f117511b5c55a44ef1beffec8367 guix-build-13601da17e7a/output/riscv64-linux-gnu/bitcoin-13601da17e7a-riscv64-linux-gnu-debug.tar.gz 56bde3f3df115dbf801944e4f923a08752fd05cda0bbf0e0e3c915387f98e4a8 guix-build-13601da17e7a/output/riscv64-linux-gnu/bitcoin-13601da17e7a-riscv64-linux-gnu.tar.gz ca9a5acb332fb2ffda42e44d84b58e273a769e94f0abaaa0623ed1d1c5267dde guix-build-13601da17e7a/output/x86_64-apple-darwin/SHA256SUMS.part ccae805bca5d4075d1bccbaeca7ac40bb4dac0a97f4fd4c3c80b2d6134d6acb0 guix-build-13601da17e7a/output/x86_64-apple-darwin/bitcoin-13601da17e7a-x86_64-apple-darwin-unsigned.dmg b12c9682b69b3662150abd6680bb60f9fef656a1fdc3cd21951c2da571be40cc guix-build-13601da17e7a/output/x86_64-apple-darwin/bitcoin-13601da17e7a-x86_64-apple-darwin-unsigned.tar.gz fd3378e4d60f0ef3ae1b18f526e96ed9e838df4def021de332dd0b6cd20ed0c4 guix-build-13601da17e7a/output/x86_64-apple-darwin/bitcoin-13601da17e7a-x86_64-apple-darwin.tar.gz 47c7af42153850a94d70de6489389f6faf8772d6adc88269705a12e6b894e84e guix-build-13601da17e7a/output/x86_64-linux-gnu/SHA256SUMS.part 876898d116041680ea6fa3bbce1becb05e45ea5bdbaf973a1465fde4bd2df26d guix-build-13601da17e7a/output/x86_64-linux-gnu/bitcoin-13601da17e7a-x86_64-linux-gnu-debug.tar.gz 56671e22f25ba695c7315de916c6a2d1b57d5f00982b331c68a43912ac3ebc44 guix-build-13601da17e7a/output/x86_64-linux-gnu/bitcoin-13601da17e7a-x86_64-linux-gnu.tar.gz f5b9b7d83ad34b7b6c3cb98b9d7878795a1f6fb7b422ffb02b23266beb76d3a6 guix-build-13601da17e7a/output/x86_64-w64-mingw32/SHA256SUMS.part a72cfb4ce41cad3bb24df2e4bb318edd05370e12fc31f9ba21637b3fd412dccd guix-build-13601da17e7a/output/x86_64-w64-mingw32/bitcoin-13601da17e7a-win64-debug.zip 4b175eac7355715884be279dd4595665912b62815f1d0186ca9874cb9e6424cb guix-build-13601da17e7a/output/x86_64-w64-mingw32/bitcoin-13601da17e7a-win64-setup-unsigned.exe c45d927f0adedc3eb0a01cee0f9fa734c17d9e9a6692b0f416a3830c007b52cc guix-build-13601da17e7a/output/x86_64-w64-mingw32/bitcoin-13601da17e7a-win64-unsigned.tar.gz 360a5b8806c72dbfcfed616d5cec78606461d664e21fb28a44bd473a2b7c9326 guix-build-13601da17e7a/output/x86_64-w64-mingw32/bitcoin-13601da17e7a-win64.zip ``` ACKs for top commit: hebasto: ACK 13601da, I have reviewed the code and it looks OK, I agree it can be merged. theuni: ACK 13601da Tree-SHA512: 1450618714a456d8969fa5bfc3ed700452e0737213af50656a0a1e0764e6063390fb528eb1889d8bf1e02e451f601f0a5bc63a02ac34ef10aeb7dc80fe41acd1
1a463c7 Squashed 'src/leveldb/' changes from 22f1e4a02f..e2f10b4e47 (fanquake) Pull request description: Pulls in bitcoin-core/leveldb-subtree#34: win32: fix -Wmissing-field-initializers warnings Related to bitcoin#26090, bitcoin#25972. Guix Build: ```bash a8c49e700309e9268ad0a503e7813775f58daf37813501775ae5831eab0cf26a guix-build-13601da17e7a/output/aarch64-linux-gnu/SHA256SUMS.part 3a1722403f8daf8ea152c72004fb1021f8a7241ee7f51fb0e6adeeb50881f001 guix-build-13601da17e7a/output/aarch64-linux-gnu/bitcoin-13601da17e7a-aarch64-linux-gnu-debug.tar.gz 3b7c1f2361ef4832c305ff4b0d9eb7419f787f8cf537952d7c20be549debe0af guix-build-13601da17e7a/output/aarch64-linux-gnu/bitcoin-13601da17e7a-aarch64-linux-gnu.tar.gz 329cb5bc932621785a6aeca43af307279c47d87a4983ee3d59636f8e3dc27afa guix-build-13601da17e7a/output/arm-linux-gnueabihf/SHA256SUMS.part 4030f344c4c31cc0877c11d3b89f6ea93f930a4ae7e7976d49ad5123cc31a367 guix-build-13601da17e7a/output/arm-linux-gnueabihf/bitcoin-13601da17e7a-arm-linux-gnueabihf-debug.tar.gz ab50945c416b256b4c92ea0a50c0b7ec241e4c1f5803a4e7cb4ba83a6c5db888 guix-build-13601da17e7a/output/arm-linux-gnueabihf/bitcoin-13601da17e7a-arm-linux-gnueabihf.tar.gz 604557cc73c4065697255c6971547a46cd0d6ad1cdf74261d4c73d002abe8c46 guix-build-13601da17e7a/output/arm64-apple-darwin/SHA256SUMS.part 11e781c64fab7933df4a9b4f56357ad18dd8f149b3c9195bf2d310b58355851d guix-build-13601da17e7a/output/arm64-apple-darwin/bitcoin-13601da17e7a-arm64-apple-darwin-unsigned.dmg e3fe9e278310f3dc97f463bb8cf2b930b587dba5095e18a7f38c4ef76338daad guix-build-13601da17e7a/output/arm64-apple-darwin/bitcoin-13601da17e7a-arm64-apple-darwin-unsigned.tar.gz 00828a9bfd74013a439b7f0254bd72904b99ff1e3a9503ef6307ee57de81c5eb guix-build-13601da17e7a/output/arm64-apple-darwin/bitcoin-13601da17e7a-arm64-apple-darwin.tar.gz d80032d2509a982dc81790b3ef3cd8d44551b41047082ebc506f01bbb8830de1 guix-build-13601da17e7a/output/dist-archive/bitcoin-13601da17e7a.tar.gz 61655cdf7c081c43275da57e5b42c21e33d7864378f3784652969ffdf7c3c2b2 guix-build-13601da17e7a/output/powerpc64-linux-gnu/SHA256SUMS.part 3d213e2f25ca72dc0c3d372c0ad3f6803865825a233b29dd80b5cff3e3963621 guix-build-13601da17e7a/output/powerpc64-linux-gnu/bitcoin-13601da17e7a-powerpc64-linux-gnu-debug.tar.gz ef8cad747428b6b46c5d2c598fb7896b320a5321cf9a0c9dba2209c638bfbc7b guix-build-13601da17e7a/output/powerpc64-linux-gnu/bitcoin-13601da17e7a-powerpc64-linux-gnu.tar.gz 2302e022394ca46570c70bc5977f35bbed258bfbb19c2c6d80f1982a725c9e35 guix-build-13601da17e7a/output/powerpc64le-linux-gnu/SHA256SUMS.part 5ca3104b7d546c7d905f82dfd92b5350af754e3973b533adc50c6cbde8f59f96 guix-build-13601da17e7a/output/powerpc64le-linux-gnu/bitcoin-13601da17e7a-powerpc64le-linux-gnu-debug.tar.gz 2781824d8d08f8ac6663925db8b2d1b50b80165e67ed69df86580438284f0c3b guix-build-13601da17e7a/output/powerpc64le-linux-gnu/bitcoin-13601da17e7a-powerpc64le-linux-gnu.tar.gz 24a73f91c5ab9e72f2471cd7b31482c702a3de8dade9aff6b76af34253748cec guix-build-13601da17e7a/output/riscv64-linux-gnu/SHA256SUMS.part b09658af4bd24eb5e76bacbfc7f8750a8941f117511b5c55a44ef1beffec8367 guix-build-13601da17e7a/output/riscv64-linux-gnu/bitcoin-13601da17e7a-riscv64-linux-gnu-debug.tar.gz 56bde3f3df115dbf801944e4f923a08752fd05cda0bbf0e0e3c915387f98e4a8 guix-build-13601da17e7a/output/riscv64-linux-gnu/bitcoin-13601da17e7a-riscv64-linux-gnu.tar.gz ca9a5acb332fb2ffda42e44d84b58e273a769e94f0abaaa0623ed1d1c5267dde guix-build-13601da17e7a/output/x86_64-apple-darwin/SHA256SUMS.part ccae805bca5d4075d1bccbaeca7ac40bb4dac0a97f4fd4c3c80b2d6134d6acb0 guix-build-13601da17e7a/output/x86_64-apple-darwin/bitcoin-13601da17e7a-x86_64-apple-darwin-unsigned.dmg b12c9682b69b3662150abd6680bb60f9fef656a1fdc3cd21951c2da571be40cc guix-build-13601da17e7a/output/x86_64-apple-darwin/bitcoin-13601da17e7a-x86_64-apple-darwin-unsigned.tar.gz fd3378e4d60f0ef3ae1b18f526e96ed9e838df4def021de332dd0b6cd20ed0c4 guix-build-13601da17e7a/output/x86_64-apple-darwin/bitcoin-13601da17e7a-x86_64-apple-darwin.tar.gz 47c7af42153850a94d70de6489389f6faf8772d6adc88269705a12e6b894e84e guix-build-13601da17e7a/output/x86_64-linux-gnu/SHA256SUMS.part 876898d116041680ea6fa3bbce1becb05e45ea5bdbaf973a1465fde4bd2df26d guix-build-13601da17e7a/output/x86_64-linux-gnu/bitcoin-13601da17e7a-x86_64-linux-gnu-debug.tar.gz 56671e22f25ba695c7315de916c6a2d1b57d5f00982b331c68a43912ac3ebc44 guix-build-13601da17e7a/output/x86_64-linux-gnu/bitcoin-13601da17e7a-x86_64-linux-gnu.tar.gz f5b9b7d83ad34b7b6c3cb98b9d7878795a1f6fb7b422ffb02b23266beb76d3a6 guix-build-13601da17e7a/output/x86_64-w64-mingw32/SHA256SUMS.part a72cfb4ce41cad3bb24df2e4bb318edd05370e12fc31f9ba21637b3fd412dccd guix-build-13601da17e7a/output/x86_64-w64-mingw32/bitcoin-13601da17e7a-win64-debug.zip 4b175eac7355715884be279dd4595665912b62815f1d0186ca9874cb9e6424cb guix-build-13601da17e7a/output/x86_64-w64-mingw32/bitcoin-13601da17e7a-win64-setup-unsigned.exe c45d927f0adedc3eb0a01cee0f9fa734c17d9e9a6692b0f416a3830c007b52cc guix-build-13601da17e7a/output/x86_64-w64-mingw32/bitcoin-13601da17e7a-win64-unsigned.tar.gz 360a5b8806c72dbfcfed616d5cec78606461d664e21fb28a44bd473a2b7c9326 guix-build-13601da17e7a/output/x86_64-w64-mingw32/bitcoin-13601da17e7a-win64.zip ``` ACKs for top commit: hebasto: ACK 13601da, I have reviewed the code and it looks OK, I agree it can be merged. theuni: ACK 13601da Tree-SHA512: 1450618714a456d8969fa5bfc3ed700452e0737213af50656a0a1e0764e6063390fb528eb1889d8bf1e02e451f601f0a5bc63a02ac34ef10aeb7dc80fe41acd1
1a463c7 Squashed 'src/leveldb/' changes from 22f1e4a02f..e2f10b4e47 (fanquake) Pull request description: Pulls in bitcoin-core/leveldb-subtree#34: win32: fix -Wmissing-field-initializers warnings Related to bitcoin#26090, bitcoin#25972. Guix Build: ```bash a8c49e700309e9268ad0a503e7813775f58daf37813501775ae5831eab0cf26a guix-build-13601da17e7a/output/aarch64-linux-gnu/SHA256SUMS.part 3a1722403f8daf8ea152c72004fb1021f8a7241ee7f51fb0e6adeeb50881f001 guix-build-13601da17e7a/output/aarch64-linux-gnu/bitcoin-13601da17e7a-aarch64-linux-gnu-debug.tar.gz 3b7c1f2361ef4832c305ff4b0d9eb7419f787f8cf537952d7c20be549debe0af guix-build-13601da17e7a/output/aarch64-linux-gnu/bitcoin-13601da17e7a-aarch64-linux-gnu.tar.gz 329cb5bc932621785a6aeca43af307279c47d87a4983ee3d59636f8e3dc27afa guix-build-13601da17e7a/output/arm-linux-gnueabihf/SHA256SUMS.part 4030f344c4c31cc0877c11d3b89f6ea93f930a4ae7e7976d49ad5123cc31a367 guix-build-13601da17e7a/output/arm-linux-gnueabihf/bitcoin-13601da17e7a-arm-linux-gnueabihf-debug.tar.gz ab50945c416b256b4c92ea0a50c0b7ec241e4c1f5803a4e7cb4ba83a6c5db888 guix-build-13601da17e7a/output/arm-linux-gnueabihf/bitcoin-13601da17e7a-arm-linux-gnueabihf.tar.gz 604557cc73c4065697255c6971547a46cd0d6ad1cdf74261d4c73d002abe8c46 guix-build-13601da17e7a/output/arm64-apple-darwin/SHA256SUMS.part 11e781c64fab7933df4a9b4f56357ad18dd8f149b3c9195bf2d310b58355851d guix-build-13601da17e7a/output/arm64-apple-darwin/bitcoin-13601da17e7a-arm64-apple-darwin-unsigned.dmg e3fe9e278310f3dc97f463bb8cf2b930b587dba5095e18a7f38c4ef76338daad guix-build-13601da17e7a/output/arm64-apple-darwin/bitcoin-13601da17e7a-arm64-apple-darwin-unsigned.tar.gz 00828a9bfd74013a439b7f0254bd72904b99ff1e3a9503ef6307ee57de81c5eb guix-build-13601da17e7a/output/arm64-apple-darwin/bitcoin-13601da17e7a-arm64-apple-darwin.tar.gz d80032d2509a982dc81790b3ef3cd8d44551b41047082ebc506f01bbb8830de1 guix-build-13601da17e7a/output/dist-archive/bitcoin-13601da17e7a.tar.gz 61655cdf7c081c43275da57e5b42c21e33d7864378f3784652969ffdf7c3c2b2 guix-build-13601da17e7a/output/powerpc64-linux-gnu/SHA256SUMS.part 3d213e2f25ca72dc0c3d372c0ad3f6803865825a233b29dd80b5cff3e3963621 guix-build-13601da17e7a/output/powerpc64-linux-gnu/bitcoin-13601da17e7a-powerpc64-linux-gnu-debug.tar.gz ef8cad747428b6b46c5d2c598fb7896b320a5321cf9a0c9dba2209c638bfbc7b guix-build-13601da17e7a/output/powerpc64-linux-gnu/bitcoin-13601da17e7a-powerpc64-linux-gnu.tar.gz 2302e022394ca46570c70bc5977f35bbed258bfbb19c2c6d80f1982a725c9e35 guix-build-13601da17e7a/output/powerpc64le-linux-gnu/SHA256SUMS.part 5ca3104b7d546c7d905f82dfd92b5350af754e3973b533adc50c6cbde8f59f96 guix-build-13601da17e7a/output/powerpc64le-linux-gnu/bitcoin-13601da17e7a-powerpc64le-linux-gnu-debug.tar.gz 2781824d8d08f8ac6663925db8b2d1b50b80165e67ed69df86580438284f0c3b guix-build-13601da17e7a/output/powerpc64le-linux-gnu/bitcoin-13601da17e7a-powerpc64le-linux-gnu.tar.gz 24a73f91c5ab9e72f2471cd7b31482c702a3de8dade9aff6b76af34253748cec guix-build-13601da17e7a/output/riscv64-linux-gnu/SHA256SUMS.part b09658af4bd24eb5e76bacbfc7f8750a8941f117511b5c55a44ef1beffec8367 guix-build-13601da17e7a/output/riscv64-linux-gnu/bitcoin-13601da17e7a-riscv64-linux-gnu-debug.tar.gz 56bde3f3df115dbf801944e4f923a08752fd05cda0bbf0e0e3c915387f98e4a8 guix-build-13601da17e7a/output/riscv64-linux-gnu/bitcoin-13601da17e7a-riscv64-linux-gnu.tar.gz ca9a5acb332fb2ffda42e44d84b58e273a769e94f0abaaa0623ed1d1c5267dde guix-build-13601da17e7a/output/x86_64-apple-darwin/SHA256SUMS.part ccae805bca5d4075d1bccbaeca7ac40bb4dac0a97f4fd4c3c80b2d6134d6acb0 guix-build-13601da17e7a/output/x86_64-apple-darwin/bitcoin-13601da17e7a-x86_64-apple-darwin-unsigned.dmg b12c9682b69b3662150abd6680bb60f9fef656a1fdc3cd21951c2da571be40cc guix-build-13601da17e7a/output/x86_64-apple-darwin/bitcoin-13601da17e7a-x86_64-apple-darwin-unsigned.tar.gz fd3378e4d60f0ef3ae1b18f526e96ed9e838df4def021de332dd0b6cd20ed0c4 guix-build-13601da17e7a/output/x86_64-apple-darwin/bitcoin-13601da17e7a-x86_64-apple-darwin.tar.gz 47c7af42153850a94d70de6489389f6faf8772d6adc88269705a12e6b894e84e guix-build-13601da17e7a/output/x86_64-linux-gnu/SHA256SUMS.part 876898d116041680ea6fa3bbce1becb05e45ea5bdbaf973a1465fde4bd2df26d guix-build-13601da17e7a/output/x86_64-linux-gnu/bitcoin-13601da17e7a-x86_64-linux-gnu-debug.tar.gz 56671e22f25ba695c7315de916c6a2d1b57d5f00982b331c68a43912ac3ebc44 guix-build-13601da17e7a/output/x86_64-linux-gnu/bitcoin-13601da17e7a-x86_64-linux-gnu.tar.gz f5b9b7d83ad34b7b6c3cb98b9d7878795a1f6fb7b422ffb02b23266beb76d3a6 guix-build-13601da17e7a/output/x86_64-w64-mingw32/SHA256SUMS.part a72cfb4ce41cad3bb24df2e4bb318edd05370e12fc31f9ba21637b3fd412dccd guix-build-13601da17e7a/output/x86_64-w64-mingw32/bitcoin-13601da17e7a-win64-debug.zip 4b175eac7355715884be279dd4595665912b62815f1d0186ca9874cb9e6424cb guix-build-13601da17e7a/output/x86_64-w64-mingw32/bitcoin-13601da17e7a-win64-setup-unsigned.exe c45d927f0adedc3eb0a01cee0f9fa734c17d9e9a6692b0f416a3830c007b52cc guix-build-13601da17e7a/output/x86_64-w64-mingw32/bitcoin-13601da17e7a-win64-unsigned.tar.gz 360a5b8806c72dbfcfed616d5cec78606461d664e21fb28a44bd473a2b7c9326 guix-build-13601da17e7a/output/x86_64-w64-mingw32/bitcoin-13601da17e7a-win64.zip ``` ACKs for top commit: hebasto: ACK 13601da, I have reviewed the code and it looks OK, I agree it can be merged. theuni: ACK 13601da Tree-SHA512: 1450618714a456d8969fa5bfc3ed700452e0737213af50656a0a1e0764e6063390fb528eb1889d8bf1e02e451f601f0a5bc63a02ac34ef10aeb7dc80fe41acd1
688561cba Merge bitcoin-core/leveldb-subtree#41: Ignore clang's self-assignment check 7045a90ed Ignore clang's self-assignment check e2f10b4e4 Merge bitcoin-core/leveldb-subtree#34: win32: fix -Wmissing-field-initializers warnings 12c52b392 win32: fix -Wmissing-field-initializers warnings 22f1e4a02 Merge bitcoin-core/leveldb-subtree#32: fix macro HAVE_O_CLOEXEC when O_CLOEXEC not found 1eeb1cb87 fix macro HAVE_O_CLOEXEC when O_CLOEXEC not found git-subtree-dir: src/leveldb git-subtree-split: 688561cba8746482893f835c4829e4eb4a5b7615
When building with
-Wmissing-field-initializers, the following warning is emitted:Submitted upstream: google#1053