Closes #30799:
0$ ./build/src/bitcoind -logsourcelocations -asmap=/tmp/no_file 2>&1 | head -1
12024-11-04T11:40:36Z [init/common.cpp:149] [LogPackageVersion] Bitcoin Core version v28.99.0-788c1324f3d8 (release build)
-logsourcelocations
format
#30811
The following sections might be updated with supplementary metadata relevant to reviewers and maintainers.
For details see: https://corecheck.dev/bitcoin/bitcoin/pulls/30811.
See the guideline for information on the review process.
If your review is incorrectly listed, please react with 👎 to this comment and the bot will ignore it on the next update.
Reviewers, this pull request conflicts with the following ones:
ccache
performance for different build directories by hebasto)If you consider this pull request important, please also help to review the conflicting pull requests. Ideally, start with the one that should be merged first.
465@@ -466,6 +466,11 @@ configure_file(contrib/filter-lcov.py filter-lcov.py COPYONLY)
466 # Don't allow extended (non-ASCII) symbols in identifiers. This is easier for code review.
467 try_append_cxx_flags("-fno-extended-identifiers" TARGET core_interface SKIP_LINK)
468
469+# Unify -logsourcelocations format.
This isn’t the only reason. The other is ccache, see commit 7abac98d3e3c1bc8ad66cb5c05184b9c5cc674d5. It would be good to mention this.
Ref: https://gcc.gnu.org/onlinedocs/gcc/Overall-Options.html#index-ffile-prefix-map
According to https://reproducible-builds.org/docs/build-path/ “-ffile-prefix-map=OLD=NEW is an alias for both -fdebug-prefix-map and -fmacro-prefix-map. (available since GCC 8 and Clang 10)”. Ref https://gcc.gnu.org/onlinedocs/gcc/Overall-Options.html#index-ffile-prefix-map and https://clang.llvm.org/docs/ClangCommandLineReference.html#cmdoption-clang-ffile-prefix-map
review ACK 93a0c2da34b45aaf0aab23c5f1b66cb32df06507
Upgrading my review with a logsourcelocations test on Linux (compiled and guix) binaries. I did not test macOS/Windows (compiled and guix) binaries.
However, ccache does not hit across two different build dirs, compiling the same commit.
465@@ -466,6 +466,14 @@ configure_file(contrib/filter-lcov.py filter-lcov.py COPYONLY)
466 # Don't allow extended (non-ASCII) symbols in identifiers. This is easier for code review.
467 try_append_cxx_flags("-fno-extended-identifiers" TARGET core_interface SKIP_LINK)
468
469+# Make builds location independent. This helps to:
470+# 1. Unify the -logsourcelocations format.
471+# 2. Improve ccache efficiency across different directories.
Can you explain this. How would this be tested?
I tried with cmake -B ./bld-1-cmake
and cmake -B ./bld-2-cmake
and it did not work.
-I
argument passed to the compiler contains the full path/to/the/src
directory, which means the compiler invocations differ, and ccache wont hit?
Ah, thanks for testing. I guess this is a possible cmake regression, but I haven’t ever used different dirs with autotools, so I can’t say for sure.
Seems fine to fix here, or in a follow-up, as this pull request is an improvement already and this bug already exists in current master
.
re-ACK 788c1324f3d840f7a39b8bc3537dcff26ca0b552
Only change is dropping doc blob.
Didn’t test locally.
Guix build:
067b7e95e0f1d45debad8a8cac4c2d349e3e01efcf62e0b109345896f296758d9 guix-build-788c1324f3d8/output/aarch64-linux-gnu/SHA256SUMS.part
1cd3c67eaa5f6fadf0a73cdb1aa03563d720fc7fdae1b59aa495a0eda9d2695af guix-build-788c1324f3d8/output/aarch64-linux-gnu/bitcoin-788c1324f3d8-aarch64-linux-gnu-debug.tar.gz
25c1eb4ff827336a9d113497459981e213844b87e232c33fc00317ce20302f761 guix-build-788c1324f3d8/output/aarch64-linux-gnu/bitcoin-788c1324f3d8-aarch64-linux-gnu.tar.gz
3dd78923f8fb7410afbbb0f510510fadce022829a163c7399d977f925a9025694 guix-build-788c1324f3d8/output/arm-linux-gnueabihf/SHA256SUMS.part
45eb0ae9e992184203b5c243ee1c7ba4d3e232c0c08f396f0f28d1a9e2a58b265 guix-build-788c1324f3d8/output/arm-linux-gnueabihf/bitcoin-788c1324f3d8-arm-linux-gnueabihf-debug.tar.gz
576477f3dd1f1ee9f4382a5314620fb509ac0d235c6f0a4bea34acbbad333176e guix-build-788c1324f3d8/output/arm-linux-gnueabihf/bitcoin-788c1324f3d8-arm-linux-gnueabihf.tar.gz
67a0463a4e5378428d388cbc2ecec5ea25318e5f168c6e80c082600303f2e6043 guix-build-788c1324f3d8/output/arm64-apple-darwin/SHA256SUMS.part
7ea2d0784f0cdedf9007794b319dc794715df3d01223e04c53b83d01c762b254c guix-build-788c1324f3d8/output/arm64-apple-darwin/bitcoin-788c1324f3d8-arm64-apple-darwin-unsigned.tar.gz
8a14b9148628d98768c9d843a6a9992956453f29e6958f7132a1475a07cfb784c guix-build-788c1324f3d8/output/arm64-apple-darwin/bitcoin-788c1324f3d8-arm64-apple-darwin-unsigned.zip
90908b08212f2c8042daf0faaecdd74e1ec07fd21bd015eb1711ef4ab130541ca guix-build-788c1324f3d8/output/arm64-apple-darwin/bitcoin-788c1324f3d8-arm64-apple-darwin.tar.gz
10ea08a888a5e23ea6c3a76e62cb76283272cf421beeca1f69b03d8a4604ebd906 guix-build-788c1324f3d8/output/dist-archive/bitcoin-788c1324f3d8.tar.gz
1155c058bda5e9f3748f87ece901393f8f424a8d956a08b4c4694917ff315da8b1 guix-build-788c1324f3d8/output/powerpc64-linux-gnu/SHA256SUMS.part
12f9620301f158a7af67fe9d45c4ae232bedea46073f1561e4ea8c85a36644a237 guix-build-788c1324f3d8/output/powerpc64-linux-gnu/bitcoin-788c1324f3d8-powerpc64-linux-gnu-debug.tar.gz
134ff65ca3228a2ffa55896129e400b57dbe458bc9684ad9671f7d787816108504 guix-build-788c1324f3d8/output/powerpc64-linux-gnu/bitcoin-788c1324f3d8-powerpc64-linux-gnu.tar.gz
14958fd22f99a7c7a407f224966c9041322188ee7a2fdbaf708c6d8bbb2b30aca2 guix-build-788c1324f3d8/output/riscv64-linux-gnu/SHA256SUMS.part
1542c73ff53f72104256ec091ce4818d97c21ce0b8e66b6f2e56cea7b0fae3c2d1 guix-build-788c1324f3d8/output/riscv64-linux-gnu/bitcoin-788c1324f3d8-riscv64-linux-gnu-debug.tar.gz
164ea5c652c7cfc350357888d3b829ed7560fe8c88a20c15f605883fe207494ad4 guix-build-788c1324f3d8/output/riscv64-linux-gnu/bitcoin-788c1324f3d8-riscv64-linux-gnu.tar.gz
175a17a9d9bca5617c140d887730e6daffd63a02d42f00c228019bab71beaf7c60 guix-build-788c1324f3d8/output/x86_64-apple-darwin/SHA256SUMS.part
188db48ccd3e540ae3bbf4ef087f8780bfe6378906e16122b27017aeec048f7254 guix-build-788c1324f3d8/output/x86_64-apple-darwin/bitcoin-788c1324f3d8-x86_64-apple-darwin-unsigned.tar.gz
190b9f1c0da2162f43ee8ae781abb6e5d77efc3c32dde4f0e378e6affba33a06f6 guix-build-788c1324f3d8/output/x86_64-apple-darwin/bitcoin-788c1324f3d8-x86_64-apple-darwin-unsigned.zip
200e96d40336f04468624eb48d2fad58e7c44d7e5e778a48c8dd2e025adfa09f28 guix-build-788c1324f3d8/output/x86_64-apple-darwin/bitcoin-788c1324f3d8-x86_64-apple-darwin.tar.gz
2117ee609ec0abfa5f5446dd6fa44a8a04cec216ae593361ad1c8a9d21b149507b guix-build-788c1324f3d8/output/x86_64-linux-gnu/SHA256SUMS.part
22199e1c788e9dc68214cd3695f5b26d3a71cdb2ed4ad05e2bf776cb4074aa1044 guix-build-788c1324f3d8/output/x86_64-linux-gnu/bitcoin-788c1324f3d8-x86_64-linux-gnu-debug.tar.gz
23da25e8cabf20faef5d9ad797bc47873bbf3489ebdccbe1213eff0e0762644df6 guix-build-788c1324f3d8/output/x86_64-linux-gnu/bitcoin-788c1324f3d8-x86_64-linux-gnu.tar.gz
24295cb7ff1823bad30d7b56a529391d7b63a72a7e0f5b2dc4afd44964900a5313 guix-build-788c1324f3d8/output/x86_64-w64-mingw32/SHA256SUMS.part
250003e69d0eaa1163cd04a5f91a80330c5f135cf9cf7335b5c8677f42afee934f guix-build-788c1324f3d8/output/x86_64-w64-mingw32/bitcoin-788c1324f3d8-win64-debug.zip
26ba56e1abb5752b004e75073b8c487521472d6a3123716f781ef9bc023d10a183 guix-build-788c1324f3d8/output/x86_64-w64-mingw32/bitcoin-788c1324f3d8-win64-setup-unsigned.exe
2728e401e60e27d306ce6c71818d34fc623e64e186124b33d09c2a387dd7ea6204 guix-build-788c1324f3d8/output/x86_64-w64-mingw32/bitcoin-788c1324f3d8-win64-unsigned.tar.gz
287b415d6f14fb74fb6987615663c6c410bdf559f7d059a5616425a858e4095f95 guix-build-788c1324f3d8/output/x86_64-w64-mingw32/bitcoin-788c1324f3d8-win64.zip
My Guix build:
0aarch64
167b7e95e0f1d45debad8a8cac4c2d349e3e01efcf62e0b109345896f296758d9 guix-build-788c1324f3d8/output/aarch64-linux-gnu/SHA256SUMS.part
2cd3c67eaa5f6fadf0a73cdb1aa03563d720fc7fdae1b59aa495a0eda9d2695af guix-build-788c1324f3d8/output/aarch64-linux-gnu/bitcoin-788c1324f3d8-aarch64-linux-gnu-debug.tar.gz
35c1eb4ff827336a9d113497459981e213844b87e232c33fc00317ce20302f761 guix-build-788c1324f3d8/output/aarch64-linux-gnu/bitcoin-788c1324f3d8-aarch64-linux-gnu.tar.gz
4dd78923f8fb7410afbbb0f510510fadce022829a163c7399d977f925a9025694 guix-build-788c1324f3d8/output/arm-linux-gnueabihf/SHA256SUMS.part
55eb0ae9e992184203b5c243ee1c7ba4d3e232c0c08f396f0f28d1a9e2a58b265 guix-build-788c1324f3d8/output/arm-linux-gnueabihf/bitcoin-788c1324f3d8-arm-linux-gnueabihf-debug.tar.gz
676477f3dd1f1ee9f4382a5314620fb509ac0d235c6f0a4bea34acbbad333176e guix-build-788c1324f3d8/output/arm-linux-gnueabihf/bitcoin-788c1324f3d8-arm-linux-gnueabihf.tar.gz
77a0463a4e5378428d388cbc2ecec5ea25318e5f168c6e80c082600303f2e6043 guix-build-788c1324f3d8/output/arm64-apple-darwin/SHA256SUMS.part
8ea2d0784f0cdedf9007794b319dc794715df3d01223e04c53b83d01c762b254c guix-build-788c1324f3d8/output/arm64-apple-darwin/bitcoin-788c1324f3d8-arm64-apple-darwin-unsigned.tar.gz
9a14b9148628d98768c9d843a6a9992956453f29e6958f7132a1475a07cfb784c guix-build-788c1324f3d8/output/arm64-apple-darwin/bitcoin-788c1324f3d8-arm64-apple-darwin-unsigned.zip
100908b08212f2c8042daf0faaecdd74e1ec07fd21bd015eb1711ef4ab130541ca guix-build-788c1324f3d8/output/arm64-apple-darwin/bitcoin-788c1324f3d8-arm64-apple-darwin.tar.gz
11ea08a888a5e23ea6c3a76e62cb76283272cf421beeca1f69b03d8a4604ebd906 guix-build-788c1324f3d8/output/dist-archive/bitcoin-788c1324f3d8.tar.gz
1255c058bda5e9f3748f87ece901393f8f424a8d956a08b4c4694917ff315da8b1 guix-build-788c1324f3d8/output/powerpc64-linux-gnu/SHA256SUMS.part
13f9620301f158a7af67fe9d45c4ae232bedea46073f1561e4ea8c85a36644a237 guix-build-788c1324f3d8/output/powerpc64-linux-gnu/bitcoin-788c1324f3d8-powerpc64-linux-gnu-debug.tar.gz
144ff65ca3228a2ffa55896129e400b57dbe458bc9684ad9671f7d787816108504 guix-build-788c1324f3d8/output/powerpc64-linux-gnu/bitcoin-788c1324f3d8-powerpc64-linux-gnu.tar.gz
15958fd22f99a7c7a407f224966c9041322188ee7a2fdbaf708c6d8bbb2b30aca2 guix-build-788c1324f3d8/output/riscv64-linux-gnu/SHA256SUMS.part
1642c73ff53f72104256ec091ce4818d97c21ce0b8e66b6f2e56cea7b0fae3c2d1 guix-build-788c1324f3d8/output/riscv64-linux-gnu/bitcoin-788c1324f3d8-riscv64-linux-gnu-debug.tar.gz
174ea5c652c7cfc350357888d3b829ed7560fe8c88a20c15f605883fe207494ad4 guix-build-788c1324f3d8/output/riscv64-linux-gnu/bitcoin-788c1324f3d8-riscv64-linux-gnu.tar.gz
185a17a9d9bca5617c140d887730e6daffd63a02d42f00c228019bab71beaf7c60 guix-build-788c1324f3d8/output/x86_64-apple-darwin/SHA256SUMS.part
198db48ccd3e540ae3bbf4ef087f8780bfe6378906e16122b27017aeec048f7254 guix-build-788c1324f3d8/output/x86_64-apple-darwin/bitcoin-788c1324f3d8-x86_64-apple-darwin-unsigned.tar.gz
200b9f1c0da2162f43ee8ae781abb6e5d77efc3c32dde4f0e378e6affba33a06f6 guix-build-788c1324f3d8/output/x86_64-apple-darwin/bitcoin-788c1324f3d8-x86_64-apple-darwin-unsigned.zip
210e96d40336f04468624eb48d2fad58e7c44d7e5e778a48c8dd2e025adfa09f28 guix-build-788c1324f3d8/output/x86_64-apple-darwin/bitcoin-788c1324f3d8-x86_64-apple-darwin.tar.gz
2217ee609ec0abfa5f5446dd6fa44a8a04cec216ae593361ad1c8a9d21b149507b guix-build-788c1324f3d8/output/x86_64-linux-gnu/SHA256SUMS.part
23199e1c788e9dc68214cd3695f5b26d3a71cdb2ed4ad05e2bf776cb4074aa1044 guix-build-788c1324f3d8/output/x86_64-linux-gnu/bitcoin-788c1324f3d8-x86_64-linux-gnu-debug.tar.gz
24da25e8cabf20faef5d9ad797bc47873bbf3489ebdccbe1213eff0e0762644df6 guix-build-788c1324f3d8/output/x86_64-linux-gnu/bitcoin-788c1324f3d8-x86_64-linux-gnu.tar.gz
25295cb7ff1823bad30d7b56a529391d7b63a72a7e0f5b2dc4afd44964900a5313 guix-build-788c1324f3d8/output/x86_64-w64-mingw32/SHA256SUMS.part
260003e69d0eaa1163cd04a5f91a80330c5f135cf9cf7335b5c8677f42afee934f guix-build-788c1324f3d8/output/x86_64-w64-mingw32/bitcoin-788c1324f3d8-win64-debug.zip
27ba56e1abb5752b004e75073b8c487521472d6a3123716f781ef9bc023d10a183 guix-build-788c1324f3d8/output/x86_64-w64-mingw32/bitcoin-788c1324f3d8-win64-setup-unsigned.exe
2828e401e60e27d306ce6c71818d34fc623e64e186124b33d09c2a387dd7ea6204 guix-build-788c1324f3d8/output/x86_64-w64-mingw32/bitcoin-788c1324f3d8-win64-unsigned.tar.gz
297b415d6f14fb74fb6987615663c6c410bdf559f7d059a5616425a858e4095f95 guix-build-788c1324f3d8/output/x86_64-w64-mingw32/bitcoin-788c1324f3d8-win64.zip
hebasto
DrahtBot
maflcko
fanquake
Labels
Build system