guix: use GCC 12.3.0 to build releases #27897

pull fanquake wants to merge 4 commits into bitcoin:master from fanquake:update_guix_post_25_branch_off changing 5 files +51 −21
  1. fanquake commented at 9:57 AM on June 16, 2023: member

    Switch to using GCC 12.3.0 to build release binaries.

    Temporarily disables the powerpc64le-linux-gnu target due to non-determinism issues when building across aarch64 and x86_64. Trying to fix the non-determinism was going to require trying to selectively disable optimization flags, which is already not ideal (and didn't fix all issues), and the migration to GCC 12 as our release compiler is now the blocker for multiple other (c++20 and similar) changes, so leaving this blocked on the powerpc64le binaries does not seem like a good tradeoff.

  2. DrahtBot commented at 9:57 AM on June 16, 2023: contributor

    <!--e57a25ab6845829454e8d69fc972939a-->

    The following sections might be updated with supplementary metadata relevant to reviewers and maintainers.

    <!--006a51241073e994b41acfe9ec718e94-->

    Code Coverage

    For detailed information about the code coverage, see the test coverage report.

    <!--021abf342d371248e50ceaed478a90ca-->

    Reviews

    See the guideline for information on the review process.

    Type Reviewers
    ACK TheCharlatan
    Concept ACK hebasto, theuni

    If your review is incorrectly listed, please react with 👎 to this comment and the bot will ignore it on the next update.

    <!--174a7506f384e20aa4161008e828411d-->

    Conflicts

    Reviewers, this pull request conflicts with the following ones:

    • #25972 (build: no-longer disable WARN_CXXFLAGS when CXXFLAGS is set by fanquake)
    • #25573 ([POC] guix: produce a fully -static-pie bitcoind by fanquake)
    • #25391 (guix: Use LTO to build releases by fanquake)
    • #24123 (build: Pointer Authentication and Branch Target Identification for aarch64 Linux (Guix) by fanquake)
    • #21778 (build: LLD based macOS toolchain by fanquake)

    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.

  3. DrahtBot added the label Build system on Jun 16, 2023
  4. maflcko added the label DrahtBot Guix build requested on Jun 21, 2023
  5. fanquake force-pushed on Jun 21, 2023
  6. theuni commented at 5:24 PM on June 21, 2023: member

    Concept ACK.

    I'm having trouble finding where ppc64 became unsupported in guix though. There were lots of refactors and I'm guessing some wildcard change is maybe responsible? I'd like to understand why it was disabled just in case it was accidental. In that case, we'd want to upstream a fix I think?

  7. DrahtBot removed the label DrahtBot Guix build requested on Jun 21, 2023
  8. fanquake referenced this in commit 0c84a0e484 on Jun 22, 2023
  9. fanquake force-pushed on Jun 22, 2023
  10. maflcko commented at 9:01 AM on June 23, 2023: member

    I think you forgot to bump the CI?

    diff --git a/ci/test/00_setup_env_win64.sh b/ci/test/00_setup_env_win64.sh
    index 3adfbf6e4..e0671e734 100755
    --- a/ci/test/00_setup_env_win64.sh
    +++ b/ci/test/00_setup_env_win64.sh
    @@ -7,7 +7,7 @@
     export LC_ALL=C.UTF-8
     
     export CONTAINER_NAME=ci_win64
    -export CI_IMAGE_NAME_TAG=ubuntu:22.04  # Check that Jammy can cross-compile to win64
    +export CI_IMAGE_NAME_TAG=debian:bookworm  # Check that Bookworm (gcc 12, similar to guix) can cross-compile
     export HOST=x86_64-w64-mingw32
     export DPKG_ADD_ARCH="i386"
     export PACKAGES="python3 nsis g++-mingw-w64-x86-64-posix wine-binfmt wine64 wine32 file"
    

    and the same for arm? Similar to commit 0999999d1d2112e9fba473f6057c8096b4775852

  11. in contrib/guix/manifest.scm:83 in 648d9e7761 outdated
     115 | @@ -116,11 +116,9 @@ http://www.linuxfromscratch.org/hlfs/view/development/chapter05/gcc-pass1.html"
     116 |        (build-system trivial-build-system)
     117 |        (arguments '(#:builder (begin (mkdir %output) #t)))
     118 |        (propagated-inputs
     119 | -       `(("binutils" ,xbinutils)
     120 | -         ("libc" ,xlibc)
     121 | -         ("libc:static" ,xlibc "static")
     122 | -         ("gcc" ,xgcc)
     123 | -         ("gcc-lib" ,xgcc "lib")))
     124 | +        (list xbinutils
    


    theuni commented at 2:09 PM on June 23, 2023:

    Could you explain these changes?

  12. in contrib/guix/libexec/build.sh:86 in 648d9e7761 outdated
      82 | @@ -83,34 +83,27 @@ case "$HOST" in
      83 |          # Determine output paths to use in CROSS_* environment variables
      84 |          CROSS_GLIBC="$(store_path "mingw-w64-x86_64-winpthreads")"
      85 |          CROSS_GCC="$(store_path "gcc-cross-${HOST}")"
      86 | -        CROSS_GCC_LIB_STORE="$(store_path "gcc-cross-${HOST}" lib)"
    


    theuni commented at 2:13 PM on June 23, 2023:

    Why are these no longer needed? Smarter gcc or guix changes?

  13. theuni commented at 2:15 PM on June 23, 2023: member

    Looking good to me.

    Mind adding a more verbose commit message for "guix: remove input labels"? I could use some help with the motivation for that one.

  14. DrahtBot added the label Needs rebase on Jun 27, 2023
  15. maflcko added the label DrahtBot Guix build requested on Jun 27, 2023
  16. hebasto commented at 9:41 AM on June 27, 2023: member

    Switch to using GCC 12 to build release binaries.

    Concept ACK on this.

  17. hebasto commented at 12:19 PM on June 30, 2023: member

    macOS builds are failing because libtapi fails to configure against the newer GCC.

    FWIW, libtapi configuration step succeeds for the Guix master branch (94ac93042f09b4ba68b7b64ed1feeebd3dab1ea4). However, the further build step fails.

  18. fanquake force-pushed on Jun 30, 2023
  19. DrahtBot removed the label Needs rebase on Jun 30, 2023
  20. DrahtBot removed the label DrahtBot Guix build requested on Jul 1, 2023
  21. fanquake commented at 2:21 PM on July 3, 2023: member

    @theuni I will address your comments soon. Currently working on some additional changes so we can push the time-machine commit further along, and potentially take advantage of the now merged: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=64100. I've opened one additional issue upstream: https://lists.gnu.org/archive/html/bug-guix/2023-07/msg00009.html.

  22. fanquake commented at 10:14 AM on July 6, 2023: member

    Sent some additional patches upstream, to update packages we use: https://lists.gnu.org/archive/html/guix-patches/2023-07/msg00159.html (mingw: Update to 11.0.0.) https://lists.gnu.org/archive/html/guix-patches/2023-07/msg00138.html (nsis: Update to 3.09.) https://lists.gnu.org/archive/html/guix-patches/2023-07/msg00104.html (python-asn1crypto: Update to 1.5.1.), https://lists.gnu.org/archive/html/guix-patches/2023-07/msg00171.html (config: Update to 91f6a7f61...) https://lists.gnu.org/archive/html/guix-patches/2023-07/msg00169.html (autoconf-archive: Update to 2023.02.20.).

  23. maflcko added the label DrahtBot Guix build requested on Jul 25, 2023
  24. maflcko removed the label DrahtBot Guix build requested on Jul 25, 2023
  25. fanquake renamed this:
    guix: use GCC 12.2.0 to build releases
    guix: use GCC 12.3.0 to build releases
    on Jul 27, 2023
  26. fanquake force-pushed on Jul 27, 2023
  27. fanquake commented at 10:14 AM on July 27, 2023: member

    Pushed an update that incorporates a number of changes.

    • Updated to latest time-machine, which includes a number of updates for packages we've upstreamed.
    • Reworked our manifest to a state that I think is an improvement over what it used to be, and which avoids Guix build failures, i.e https://lists.gnu.org/archive/html/bug-guix/2023-07/msg00009.html.
    • WIP commits are now split per platform.

    Still todo:

    • macOS libtapi failure.
    • Re-enable / follow up with powerpc64-linux-gnu builds.
    • Other stuff.
  28. maflcko added the label DrahtBot Guix build requested on Jul 27, 2023
  29. DrahtBot removed the label DrahtBot Guix build requested on Jul 27, 2023
  30. fanquake force-pushed on Aug 2, 2023
  31. fanquake force-pushed on Aug 2, 2023
  32. fanquake commented at 12:26 PM on August 2, 2023: member

    Rebased on master. Updated the time-machine to current Guix master. Fixed macOS builds by retaining GCC 10 in it's manifest. This seems like the most straight-forward way to proceed here, given this code is going to be removed soon in any case (and GCC isn't used for the bitcoind builds).

    There is currently a non-determinism issue (x86_64 vs aarch64) with the powerpc64le-linux-gnu build.

  33. DrahtBot added the label DrahtBot Guix build requested on Aug 2, 2023
  34. DrahtBot removed the label DrahtBot Guix build requested on Aug 3, 2023
  35. fanquake commented at 3:04 PM on August 8, 2023: member

    Upstreamed a patch to (re-)add powerpc64-linux as a platform definition in Guix: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=65151. Using a self-compiled Guix with this patch, fixes building our cross-compilation toolchain for powerpc64-linux-gnu, and means we'd just drop 26ee1fc5998cce6808f022fd1a4e1764115c2d57 from this PR.

    Also pushed a patch to update mingw-w64 to 11.0.1: https://lists.gnu.org/archive/html/guix-patches/2023-08/msg00299.html.

  36. fanquake force-pushed on Aug 14, 2023
  37. fanquake commented at 11:49 AM on August 14, 2023: member

    https://debbugs.gnu.org/cgi/bugreport.cgi?bug=65151 landed in Guix. So I've updated the time-machine to include that change, and removed the commit dropping supported for powerpc64-linux-gnu. The last TODO here is resolve the determinism issue with the powerpc64le-linux-gnu build.

  38. maflcko added the label DrahtBot Guix build requested on Aug 14, 2023
  39. DrahtBot removed the label DrahtBot Guix build requested on Aug 15, 2023
  40. fanquake force-pushed on Aug 17, 2023
  41. DrahtBot added the label CI failed on Aug 18, 2023
  42. fanquake referenced this in commit 00fe455019 on Aug 18, 2023
  43. fanquake referenced this in commit 51324c9517 on Aug 18, 2023
  44. fanquake referenced this in commit 4c3ebc7669 on Aug 18, 2023
  45. fanquake referenced this in commit e1a075eafe on Aug 22, 2023
  46. fanquake referenced this in commit 8372ab0ea3 on Aug 22, 2023
  47. DrahtBot added the label Needs rebase on Aug 22, 2023
  48. fanquake force-pushed on Aug 23, 2023
  49. DrahtBot removed the label CI failed on Aug 23, 2023
  50. DrahtBot removed the label Needs rebase on Aug 23, 2023
  51. fanquake force-pushed on Aug 23, 2023
  52. fanquake commented at 1:13 PM on August 23, 2023: member

    This is now based on #28324 and #28328. Please review those first.

  53. fanquake force-pushed on Aug 23, 2023
  54. fanquake referenced this in commit f3cc29fc5f on Aug 24, 2023
  55. DrahtBot added the label Needs rebase on Aug 24, 2023
  56. fanquake force-pushed on Aug 24, 2023
  57. DrahtBot removed the label Needs rebase on Aug 24, 2023
  58. fanquake referenced this in commit 03675b2ba3 on Aug 26, 2023
  59. fanquake force-pushed on Aug 26, 2023
  60. fanquake force-pushed on Aug 27, 2023
  61. fanquake marked this as ready for review on Aug 27, 2023
  62. fanquake commented at 2:04 PM on August 27, 2023: member

    Moved this out of draft now that there are no-longer any dependencies. Should still have 1 determinism issue to fixup, and not completely happy with the gcc-toolchain split, so might see if we can work around it another way. Otherwise, ready for review/feedback. Not sure if I want to include CI/docs changes here.

  63. maflcko commented at 2:18 PM on August 27, 2023: member

    Not sure if I want to include CI/docs changes here.

    Any reason not to, given that they should be trivial and all you need to do is to cherry-pick them?

    See #27897 (comment)

  64. TheCharlatan commented at 8:20 PM on August 27, 2023: contributor

    Guix builds:

    find guix-build-$(git rev-parse --short=12 HEAD)/output/ -type f -print0 | env LC_ALL=C sort -z | xargs -r0 sha256sum
    54e4c8a44c1ff9b43a3a83512f537f6f6ec61aa2f40915d864ef4b02d0f4e45c  guix-build-e15292367880/output/aarch64-linux-gnu/SHA256SUMS.part
    e71e92c26eb5e7327dbdfdd51a4182e9ffdd8cae3f07a414b2119f0e8cd134c6  guix-build-e15292367880/output/aarch64-linux-gnu/bitcoin-e15292367880-aarch64-linux-gnu-debug.tar.gz
    946abe083201148a14ad579ec10ded0990780fd75c22de1e6915b2c14f9d95f3  guix-build-e15292367880/output/aarch64-linux-gnu/bitcoin-e15292367880-aarch64-linux-gnu.tar.gz
    896110801178db5b0234a0597c8b9a22d25544c48e9fbcee439e715976bbc3b7  guix-build-e15292367880/output/arm-linux-gnueabihf/SHA256SUMS.part
    a0acadd9591bf707433b86d16013699eded3361088c06cd1ba7dd0eca7f834bb  guix-build-e15292367880/output/arm-linux-gnueabihf/bitcoin-e15292367880-arm-linux-gnueabihf-debug.tar.gz
    6a4254909c634228dd721b46da9bdd69901b5302968a36e9f79a8d7c8674ef64  guix-build-e15292367880/output/arm-linux-gnueabihf/bitcoin-e15292367880-arm-linux-gnueabihf.tar.gz
    721bd7226bb187e6db0d4d84269396527146f0e9847b1ab3787968be69161ef8  guix-build-e15292367880/output/arm64-apple-darwin/SHA256SUMS.part
    1f68146160024f37879f293bd17ad36993a15cd848f3b849d59e386958efe150  guix-build-e15292367880/output/arm64-apple-darwin/bitcoin-e15292367880-arm64-apple-darwin-unsigned.dmg
    effb7c344fe2fdd9e5b06221ee1d2d8fa1e16dca02aa13a9822ad47c52e802dd  guix-build-e15292367880/output/arm64-apple-darwin/bitcoin-e15292367880-arm64-apple-darwin-unsigned.tar.gz
    9a94889e115f5adba9c11cfc63dea45cb135337b68dd822c5dfb500fe21df71f  guix-build-e15292367880/output/arm64-apple-darwin/bitcoin-e15292367880-arm64-apple-darwin.tar.gz
    ab3d002efcd1abb8a1bb0d773d3e4adfea5599e1570fab261fd15a5bf58563b3  guix-build-e15292367880/output/dist-archive/bitcoin-e15292367880.tar.gz
    9c7377d5ae4511c83ab08560c03611dc8041bbf15a501e4de9448336e419bf59  guix-build-e15292367880/output/powerpc64-linux-gnu/SHA256SUMS.part
    43f3637bdf2c7d98c44b0bd823757c8b3b61d35bb701727e5c47644c6c00ff47  guix-build-e15292367880/output/powerpc64-linux-gnu/bitcoin-e15292367880-powerpc64-linux-gnu-debug.tar.gz
    07b90bbaeb9975d069aceb63cb8a9e16823b16a29db50782685c93a7bfa65754  guix-build-e15292367880/output/powerpc64-linux-gnu/bitcoin-e15292367880-powerpc64-linux-gnu.tar.gz
    7e15282d481dfa24b570a5f19be39b57a50201d2b54de7a4ac75a4ec0aa10c4e  guix-build-e15292367880/output/powerpc64le-linux-gnu/SHA256SUMS.part
    73d901ebc7303a8a52477192cd8d24ee6a76dd187ac8905e1d29b034b3aba9e8  guix-build-e15292367880/output/powerpc64le-linux-gnu/bitcoin-e15292367880-powerpc64le-linux-gnu-debug.tar.gz
    523e0941a8d4fe6937df42833919bbdbce651449c89076b89cf65f135bab0fd5  guix-build-e15292367880/output/powerpc64le-linux-gnu/bitcoin-e15292367880-powerpc64le-linux-gnu.tar.gz
    faaec7f129c18c4b058f17660969804f3a375cc4095d6c2f6a7a3e37c7c349fc  guix-build-e15292367880/output/riscv64-linux-gnu/SHA256SUMS.part
    471f5cd43f9a7cd164a9a27340fe9d557cbcfa9be1d13a0f58d993a7a7b39179  guix-build-e15292367880/output/riscv64-linux-gnu/bitcoin-e15292367880-riscv64-linux-gnu-debug.tar.gz
    caf14f95985d9a888e329c3df8ad113c7995bd44fb66860fe0598c70575d07d8  guix-build-e15292367880/output/riscv64-linux-gnu/bitcoin-e15292367880-riscv64-linux-gnu.tar.gz
    57d227dc7e182a24c9eb61e310420b63fac2bd5299c8a336a9969aae7bf8d7bd  guix-build-e15292367880/output/x86_64-apple-darwin/SHA256SUMS.part
    351c555f0c41082998bcc39ab9da1aca1c2fd81b362b5dc86426c1bc1cce35de  guix-build-e15292367880/output/x86_64-apple-darwin/bitcoin-e15292367880-x86_64-apple-darwin-unsigned.dmg
    2a90e041e8356e7d7bee4c17f0071b2662c73bf567064e4c6537ce17ab39d919  guix-build-e15292367880/output/x86_64-apple-darwin/bitcoin-e15292367880-x86_64-apple-darwin-unsigned.tar.gz
    c6035a43ee6d8ad90854c668dea9f650c9ce0e7d293287789029cc57472a3183  guix-build-e15292367880/output/x86_64-apple-darwin/bitcoin-e15292367880-x86_64-apple-darwin.tar.gz
    ff61eb886c74a3741ee29ddb896f9cf2a9e799b9715b59c55edb5806cb1ee6a5  guix-build-e15292367880/output/x86_64-linux-gnu/SHA256SUMS.part
    b1a20e05ee5b76c11f32fafd753c133b4a5a0765b4a213e83aa7d70018797cdc  guix-build-e15292367880/output/x86_64-linux-gnu/bitcoin-e15292367880-x86_64-linux-gnu-debug.tar.gz
    a4326824010aedad3117e42ce6527c74c0786d42f766203932eacc055e5d1cdc  guix-build-e15292367880/output/x86_64-linux-gnu/bitcoin-e15292367880-x86_64-linux-gnu.tar.gz
    557fa87d58d7d01464e94322b3f37f90fcf9cb85523edad01f5ad4c6e41c66c0  guix-build-e15292367880/output/x86_64-w64-mingw32/SHA256SUMS.part
    e65ec9cdd040ad24a5688b3f19451b78e5ac8769f47250d4de1531e2d0f87540  guix-build-e15292367880/output/x86_64-w64-mingw32/bitcoin-e15292367880-win64-debug.zip
    acfedb291dfba08ec535ef2b584afbafe9f4704bacbabad1a33af101e5629091  guix-build-e15292367880/output/x86_64-w64-mingw32/bitcoin-e15292367880-win64-setup-unsigned.exe
    74992c01cff7de4985791be3d9dceab5961d5808fa0de1671e1a29a4e1002ae0  guix-build-e15292367880/output/x86_64-w64-mingw32/bitcoin-e15292367880-win64-unsigned.tar.gz
    4ef39715b28398ffddc8c55694ea3ecc202a29cf91b91c4fe50579a12e6c983c  guix-build-e15292367880/output/x86_64-w64-mingw32/bitcoin-e15292367880-win64.zip
    

    Built this twice and it matched, so not sure if there really is a determinism issue here.

  65. fanquake commented at 8:24 PM on August 27, 2023: member

    Built this twice and it matched, so not sure if there really is a determinism issue here.

    Was that both on the same arch? Where I'd seen the issue was building on x86_64 vs aarch64.

  66. TheCharlatan commented at 8:31 PM on August 27, 2023: contributor

    Was that both on the same arch? Where I'd seen the issue was building on x86_64 vs aarch64.

    Yes, on the same arch.

  67. maflcko commented at 10:31 AM on August 28, 2023: member

    Yes, on the same arch.

    I think it would be good to include the output of uname --machine when sharing guix builds.

  68. maflcko commented at 10:32 AM on August 28, 2023: member

    uname --machine && find guix-build-$(git rev-parse --short=12 HEAD)/output/ -type f -print0 | env LC_ALL=C sort -z | xargs -r0 sha256sum:

    aarch64
    54e4c8a44c1ff9b43a3a83512f537f6f6ec61aa2f40915d864ef4b02d0f4e45c  guix-build-e15292367880/output/aarch64-linux-gnu/SHA256SUMS.part
    e71e92c26eb5e7327dbdfdd51a4182e9ffdd8cae3f07a414b2119f0e8cd134c6  guix-build-e15292367880/output/aarch64-linux-gnu/bitcoin-e15292367880-aarch64-linux-gnu-debug.tar.gz
    946abe083201148a14ad579ec10ded0990780fd75c22de1e6915b2c14f9d95f3  guix-build-e15292367880/output/aarch64-linux-gnu/bitcoin-e15292367880-aarch64-linux-gnu.tar.gz
    896110801178db5b0234a0597c8b9a22d25544c48e9fbcee439e715976bbc3b7  guix-build-e15292367880/output/arm-linux-gnueabihf/SHA256SUMS.part
    a0acadd9591bf707433b86d16013699eded3361088c06cd1ba7dd0eca7f834bb  guix-build-e15292367880/output/arm-linux-gnueabihf/bitcoin-e15292367880-arm-linux-gnueabihf-debug.tar.gz
    6a4254909c634228dd721b46da9bdd69901b5302968a36e9f79a8d7c8674ef64  guix-build-e15292367880/output/arm-linux-gnueabihf/bitcoin-e15292367880-arm-linux-gnueabihf.tar.gz
    721bd7226bb187e6db0d4d84269396527146f0e9847b1ab3787968be69161ef8  guix-build-e15292367880/output/arm64-apple-darwin/SHA256SUMS.part
    1f68146160024f37879f293bd17ad36993a15cd848f3b849d59e386958efe150  guix-build-e15292367880/output/arm64-apple-darwin/bitcoin-e15292367880-arm64-apple-darwin-unsigned.dmg
    effb7c344fe2fdd9e5b06221ee1d2d8fa1e16dca02aa13a9822ad47c52e802dd  guix-build-e15292367880/output/arm64-apple-darwin/bitcoin-e15292367880-arm64-apple-darwin-unsigned.tar.gz
    9a94889e115f5adba9c11cfc63dea45cb135337b68dd822c5dfb500fe21df71f  guix-build-e15292367880/output/arm64-apple-darwin/bitcoin-e15292367880-arm64-apple-darwin.tar.gz
    ab3d002efcd1abb8a1bb0d773d3e4adfea5599e1570fab261fd15a5bf58563b3  guix-build-e15292367880/output/dist-archive/bitcoin-e15292367880.tar.gz
    9c7377d5ae4511c83ab08560c03611dc8041bbf15a501e4de9448336e419bf59  guix-build-e15292367880/output/powerpc64-linux-gnu/SHA256SUMS.part
    43f3637bdf2c7d98c44b0bd823757c8b3b61d35bb701727e5c47644c6c00ff47  guix-build-e15292367880/output/powerpc64-linux-gnu/bitcoin-e15292367880-powerpc64-linux-gnu-debug.tar.gz
    07b90bbaeb9975d069aceb63cb8a9e16823b16a29db50782685c93a7bfa65754  guix-build-e15292367880/output/powerpc64-linux-gnu/bitcoin-e15292367880-powerpc64-linux-gnu.tar.gz
    eb6e38f0dbc4682a10fadc5a8132c44ed11757f08367bf6c20a1ab23ae9b33cd  guix-build-e15292367880/output/powerpc64le-linux-gnu/SHA256SUMS.part
    05ddfd44cfb4e363983c40bb4f01ada130f33f6f6391faaecee4b51debbb6643  guix-build-e15292367880/output/powerpc64le-linux-gnu/bitcoin-e15292367880-powerpc64le-linux-gnu-debug.tar.gz
    3530ffa891d764098f3072689fc238369239a1276adae5a89e627596464ebbf3  guix-build-e15292367880/output/powerpc64le-linux-gnu/bitcoin-e15292367880-powerpc64le-linux-gnu.tar.gz
    faaec7f129c18c4b058f17660969804f3a375cc4095d6c2f6a7a3e37c7c349fc  guix-build-e15292367880/output/riscv64-linux-gnu/SHA256SUMS.part
    471f5cd43f9a7cd164a9a27340fe9d557cbcfa9be1d13a0f58d993a7a7b39179  guix-build-e15292367880/output/riscv64-linux-gnu/bitcoin-e15292367880-riscv64-linux-gnu-debug.tar.gz
    caf14f95985d9a888e329c3df8ad113c7995bd44fb66860fe0598c70575d07d8  guix-build-e15292367880/output/riscv64-linux-gnu/bitcoin-e15292367880-riscv64-linux-gnu.tar.gz
    57d227dc7e182a24c9eb61e310420b63fac2bd5299c8a336a9969aae7bf8d7bd  guix-build-e15292367880/output/x86_64-apple-darwin/SHA256SUMS.part
    351c555f0c41082998bcc39ab9da1aca1c2fd81b362b5dc86426c1bc1cce35de  guix-build-e15292367880/output/x86_64-apple-darwin/bitcoin-e15292367880-x86_64-apple-darwin-unsigned.dmg
    2a90e041e8356e7d7bee4c17f0071b2662c73bf567064e4c6537ce17ab39d919  guix-build-e15292367880/output/x86_64-apple-darwin/bitcoin-e15292367880-x86_64-apple-darwin-unsigned.tar.gz
    c6035a43ee6d8ad90854c668dea9f650c9ce0e7d293287789029cc57472a3183  guix-build-e15292367880/output/x86_64-apple-darwin/bitcoin-e15292367880-x86_64-apple-darwin.tar.gz
    ff61eb886c74a3741ee29ddb896f9cf2a9e799b9715b59c55edb5806cb1ee6a5  guix-build-e15292367880/output/x86_64-linux-gnu/SHA256SUMS.part
    b1a20e05ee5b76c11f32fafd753c133b4a5a0765b4a213e83aa7d70018797cdc  guix-build-e15292367880/output/x86_64-linux-gnu/bitcoin-e15292367880-x86_64-linux-gnu-debug.tar.gz
    a4326824010aedad3117e42ce6527c74c0786d42f766203932eacc055e5d1cdc  guix-build-e15292367880/output/x86_64-linux-gnu/bitcoin-e15292367880-x86_64-linux-gnu.tar.gz
    
  69. maflcko commented at 10:33 AM on August 28, 2023: member

    So yeah, powerpc64le has a mismatch.

  70. fanquake commented at 10:35 AM on August 28, 2023: member

    Any reason not to, given that they should be trivial and all you need to do is to cherry-pick them?

    Can you point to the complete set of commits I need to cherry pick. I didn't want to include non guix/builds changes here because that just makes getting review for the entire set of changes harder. Basically the inverse reasoning of #28210 (comment).

  71. maflcko commented at 10:46 AM on August 28, 2023: member

    I think we should keep the cross tasks (windows, macos, and one linux) in sync with the guix config, to catch guix gcc compile errors in CI before merge or before doing a guix build.

    For macos-cross, no changes are needed, because it doesn't use the system compiler. However, for the other tasks, the system should be picked, so that it matches the guix compiler, no?

    Thus, my recommended changes are:

    diff --git a/ci/test/00_setup_env_arm.sh b/ci/test/00_setup_env_arm.sh
    index 65d37f01d9..c80036164f 100755
    --- a/ci/test/00_setup_env_arm.sh
    +++ b/ci/test/00_setup_env_arm.sh
    @@ -1,6 +1,6 @@
     #!/usr/bin/env bash
     #
    -# Copyright (c) 2019-2021 The Bitcoin Core developers
    +# 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.
     
    @@ -10,7 +10,7 @@ export HOST=arm-linux-gnueabihf
     export DPKG_ADD_ARCH="armhf"
     export PACKAGES="python3-zmq g++-arm-linux-gnueabihf busybox libc6:armhf libstdc++6:armhf libfontconfig1:armhf libxcb1:armhf"
     export CONTAINER_NAME=ci_arm_linux
    -export CI_IMAGE_NAME_TAG="docker.io/arm64v8/debian:bookworm"
    +export CI_IMAGE_NAME_TAG="docker.io/arm64v8/debian:bookworm"  # Check that https://packages.debian.org/bookworm/g++-arm-linux-gnueabihf (version 12.2, similar to guix) can cross-compile
     export USE_BUSY_BOX=true
     export RUN_UNIT_TESTS=true
     export RUN_FUNCTIONAL_TESTS=false
    diff --git a/ci/test/00_setup_env_win64.sh b/ci/test/00_setup_env_win64.sh
    index ebd4487c52..4cd845c065 100755
    --- a/ci/test/00_setup_env_win64.sh
    +++ b/ci/test/00_setup_env_win64.sh
    @@ -7,7 +7,7 @@
     export LC_ALL=C.UTF-8
     
     export CONTAINER_NAME=ci_win64
    -export CI_IMAGE_NAME_TAG="docker.io/amd64/ubuntu:22.04"  # Check that Jammy can cross-compile to win64
    +export CI_IMAGE_NAME_TAG="docker.io/amd64/debian:bookworm"  # Check that https://packages.debian.org/bookworm/g++-mingw-w64-x86-64-posix (version 12.2, similar to guix) can cross-compile
     export HOST=x86_64-w64-mingw32
     export DPKG_ADD_ARCH="i386"
     export PACKAGES="nsis g++-mingw-w64-x86-64-posix wine-binfmt wine64 wine32 file"
    
  72. fanquake commented at 11:20 AM on August 28, 2023: member

    The difference I'm seeing in the aarch64 vs x86_64 builds is re-ordering of lines in debug output (which then shows up in the bins via the .dbg checksum). i.e:

    --- a.txt
    +++ b.txt
    @@ -1,9 +1,9 @@
     
    -aarch64/powerpc64le-linux-gnu/bitcoin-e15292367880/bin/bitcoind:     file format elf64-powerpcle
    +x86_64/powerpc64le-linux-gnu/bitcoin-e15292367880/bin/bitcoind:     file format elf64-powerpcle
     
     
     Disassembly of section .init:
     
     0000000000060000 <.init>:
        60000:	18 00 41 f8 	std     r2,24(r1)
        60004:	ff ff 82 3d 	addis   r12,r2,-1
    @@ -250613,16 +250613,16 @@
       155710:	00 00 29 2c 	cmpdi   r9,0
       155714:	20 00 40 3b 	li      r26,32
       155718:	00 00 20 3b 	li      r25,0
       15571c:	00 00 c0 3b 	li      r30,0
       155720:	88 01 82 40 	bne     1558a8 <__glink_PLTresolve-0xb889d0>
       155724:	8c 03 00 10 	vspltisw v0,0
       155728:	40 f8 24 7c 	cmpld   r4,r31
    -  15572c:	14 c2 3e 7d 	add     r9,r30,r24
    -  155730:	10 00 40 39 	li      r10,16
    +  15572c:	10 00 40 39 	li      r10,16
    +  155730:	14 c2 3e 7d 	add     r9,r30,r24
       155734:	56 02 00 f0 	xxswapd vs0,vs32
       155738:	98 c7 1e 7c 	stxvd2x vs0,r30,r24
       15573c:	98 57 09 7c 	stxvd2x vs0,r9,r10
       155740:	6c 00 82 41 	beq     1557ac <__glink_PLTresolve-0xb88acc>
       155744:	50 20 3f 7d 	subf    r9,r31,r4
       155748:	78 f3 c7 7f 	mr      r7,r30
       15574c:	e0 ff 29 39 	addi    r9,r9,-32
    @@ -707486,30 +707486,30 @@
       3139b4:	e0 00 41 f9 	std     r10,224(r1)
       3139b8:	d0 00 41 e9 	ld      r10,208(r1)
       3139bc:	20 00 09 39 	addi    r8,r9,32
       3139c0:	f0 01 c1 90 	stw     r6,496(r1)
       3139c4:	50 50 ff 7c 	subf    r7,r31,r10
       3139c8:	40 38 28 7c 	cmpld   r8,r7
       3139cc:	34 0f 81 41 	bgt     314900 <__glink_PLTresolve-0x9c9978>
    -  3139d0:	14 4a 7f 7c 	add     r3,r31,r9
    -  3139d4:	10 00 80 38 	li      r4,16
    +  3139d0:	10 00 80 38 	li      r4,16
    +  3139d4:	14 4a 7f 7c 	add     r3,r31,r9
       3139d8:	98 4e 9f 7d 	lxvd2x  vs12,r31,r9
       3139dc:	54 ff a0 38 	li      r5,-172
       3139e0:	98 26 03 7c 	lxvd2x  vs0,r3,r4
       3139e4:	b0 02 61 38 	addi    r3,r1,688
       3139e8:	44 ff 80 38 	li      r4,-188
       3139ec:	98 27 83 7d 	stxvd2x vs12,r3,r4
       3139f0:	98 2f 03 7c 	stxvd2x vs0,r3,r5
       3139f4:	14 09 82 41 	beq     314308 <__glink_PLTresolve-0x9c9f70>
       3139f8:	40 00 29 39 	addi    r9,r9,64
       3139fc:	e0 00 01 f9 	std     r8,224(r1)
       313a00:	40 48 27 7c 	cmpld   r7,r9
       313a04:	18 09 80 41 	blt     31431c <__glink_PLTresolve-0x9c9f5c>
    -  313a08:	14 42 7f 7c 	add     r3,r31,r8
    -  313a0c:	10 00 80 38 	li      r4,16
    +  313a08:	10 00 80 38 	li      r4,16
    +  313a0c:	14 42 7f 7c 	add     r3,r31,r8
       313a10:	98 46 9f 7d 	lxvd2x  vs12,r31,r8
       313a14:	64 ff a0 38 	li      r5,-156
       313a18:	74 ff 00 39 	li      r8,-140
       313a1c:	98 26 03 7c 	lxvd2x  vs0,r3,r4
       313a20:	b0 02 81 38 	addi    r4,r1,688
       313a24:	98 2f 84 7d 	stxvd2x vs12,r4,r5
       313a28:	98 47 04 7c 	stxvd2x vs0,r4,r8
    @@ -718192,17 +718192,17 @@
       31e0fc:	00 00 00 60 	nop
       31e100:	00 00 00 60 	nop
       31e104:	88 10 62 e8 	ld      r3,4232(r2)
       31e108:	d8 ff e0 38 	li      r7,-40
       31e10c:	70 00 a1 38 	addi    r5,r1,112
       31e110:	58 00 01 e9 	ld      r8,88(r1)
       31e114:	00 00 00 60 	nop
    -  31e118:	60 00 5d 39 	addi    r10,r29,96
    +  31e118:	18 00 20 39 	li      r9,24
       31e11c:	98 3e 05 7c 	lxvd2x  vs0,r5,r7
    -  31e120:	18 00 20 39 	li      r9,24
    +  31e120:	60 00 5d 39 	addi    r10,r29,96
       31e124:	00 00 23 2c 	cmpdi   r3,0
       31e128:	98 10 82 e8 	ld      r4,4248(r2)
       31e12c:	98 10 02 f9 	std     r8,4248(r2)
       31e130:	98 4f 0a 7c 	stxvd2x vs0,r10,r9
       31e134:	10 00 82 41 	beq     31e144 <__glink_PLTresolve-0x9c0134>
       31e138:	50 20 83 7c 	subf    r4,r3,r4
       31e13c:	cd 84 88 48 	bl      ba6608 <__glink_PLTresolve-0x137c70>
    

    Note that cli, util & tx are not effected:

    shasum -a 256 aarch64/powerpc64le-linux-gnu/debug/bin/*
    f7152143ece28007be25c819e6ac5a0c7e90583b45880cba2600feb3319626ec  aarch64/powerpc64le-linux-gnu/debug/bin/bitcoin-cli.dbg
    080c9a21119429290ca1a8563774570d08fef08ffca5c5fdd1c14063e36621fa  aarch64/powerpc64le-linux-gnu/debug/bin/bitcoin-qt.dbg
    8df9da66eede077a372a02c7a37a1101aa9979dde265702ca6bbb7b1e4fbef28  aarch64/powerpc64le-linux-gnu/debug/bin/bitcoin-tx.dbg
    a5f7655cdf2fad867688a8ec21c3c298d3ff0af1f9e88fb31ae75ecbbf7f652a  aarch64/powerpc64le-linux-gnu/debug/bin/bitcoin-util.dbg
    f96e1d7c855f51a5c6ba2e93aada74eaee7f5e595e681960ca90abb74ce4220d  aarch64/powerpc64le-linux-gnu/debug/bin/bitcoin-wallet.dbg
    6b8409ef8bd3ebde1a6593e62eaa072963e79b6990b5a6d68a265fa33fb0f300  aarch64/powerpc64le-linux-gnu/debug/bin/bitcoind.dbg
    177db9550f33c3e26f90231ffc14fd6f8233222dade1eda628a9540b06f04ced  aarch64/powerpc64le-linux-gnu/debug/bin/test_bitcoin.dbg
    
    shasum -a 256 x86_64/powerpc64le-linux-gnu/debug/bin/*
    f7152143ece28007be25c819e6ac5a0c7e90583b45880cba2600feb3319626ec  x86_64/powerpc64le-linux-gnu/debug/bin/bitcoin-cli.dbg
    d4b6008306ddf085e02f62550ee5d165e1757383c5fcedc50c3782f885d5309e  x86_64/powerpc64le-linux-gnu/debug/bin/bitcoin-qt.dbg
    8df9da66eede077a372a02c7a37a1101aa9979dde265702ca6bbb7b1e4fbef28  x86_64/powerpc64le-linux-gnu/debug/bin/bitcoin-tx.dbg
    a5f7655cdf2fad867688a8ec21c3c298d3ff0af1f9e88fb31ae75ecbbf7f652a  x86_64/powerpc64le-linux-gnu/debug/bin/bitcoin-util.dbg
    9936f37848db6ef859ccaa1c06946f025eb8ad7870e09f5bfd3a8ed998297ac3  x86_64/powerpc64le-linux-gnu/debug/bin/bitcoin-wallet.dbg
    2745aa4ce2679d4c05638b644c4bef2134be1c97cb12e1a444834920bd738b18  x86_64/powerpc64le-linux-gnu/debug/bin/bitcoind.dbg
    ba9dedb9c4396ce2e14b4df99ab77fe5317e5211f6899c12963db6f801db3be1  x86_64/powerpc64le-linux-gnu/debug/bin/test_bitcoin.dbg
    
  73. fanquake commented at 3:55 PM on August 28, 2023: member

    Note that there is also non-determinism with GCC-11, i.e this branch https://github.com/fanquake/bitcoin/commits/test_11:

    # aarch64
    bf9f56b82664bb4a55a26383223606dec5b3c2da9808cd2508f21e946281f301  guix-build-f32e838e392a/output/dist-archive/bitcoin-f32e838e392a.tar.gz
    9e64cd455f7959e268158ee1fa820ffc249d64abae72667bb89087b3493db450  guix-build-f32e838e392a/output/powerpc64le-linux-gnu/SHA256SUMS.part
    24989c424b67c44f0cd3c8431afbcc90d0e028f0e773644bdd4de7bbb5dfb188  guix-build-f32e838e392a/output/powerpc64le-linux-gnu/bitcoin-f32e838e392a-powerpc64le-linux-gnu-debug.tar.gz
    4e34473f86abf709e6b21a5f7256230c0417ffbdcf24772c428620cfc1dec1d9  guix-build-f32e838e392a/output/powerpc64le-linux-gnu/bitcoin-f32e838e392a-powerpc64le-linux-gnu.tar.gz
    
    # x86_64
    bf9f56b82664bb4a55a26383223606dec5b3c2da9808cd2508f21e946281f301  guix-build-f32e838e392a/output/dist-archive/bitcoin-f32e838e392a.tar.gz
    6f81d82496142d466368b5f218dac17d6d684b55e41ef7ab66a3a0ea6acc8747  guix-build-f32e838e392a/output/powerpc64le-linux-gnu/SHA256SUMS.part
    e871d58ae93ef65bd742511244224f99c9de3903295015a46f2a211134dcbc66  guix-build-f32e838e392a/output/powerpc64le-linux-gnu/bitcoin-f32e838e392a-powerpc64le-linux-gnu-debug.tar.gz
    fa6171a209cd3dbffa8f2e3fe2eea5201fc5b873a72433b387ed4b982ca8a367  guix-build-f32e838e392a/output/powerpc64le-linux-gnu/bitcoin-f32e838e392a-powerpc64le-linux-gnu.tar.gz
    
  74. fanquake force-pushed on Aug 29, 2023
  75. fanquake commented at 8:44 AM on August 29, 2023: member

    Thus, my recommended changes are:

    Implented & rebased.

  76. fanquake commented at 10:34 AM on August 29, 2023: member

    This can be isolated to void std::vector<uint256, std::allocator<uint256> >::_M_realloc_insert<>(__gnu_cxx::__normal_iterator<uint256*, std::vector<uint256, std::allocator<uint256> > >) in src/wallet/libbitcoin_wallet_a-walletdb.cpp.

    If you dump out the contents of _ZNSt6vectorI7uint256SaIS0_EE17_M_realloc_insertIJEEEvN9__gnu_cxx17__normal_iteratorIPS0_S2_EEDpOT_ from that object file i.e

    objdump -d --section=.text._ZNSt6vectorI7uint256SaIS0_EE17_M_realloc_insertIJEEEvN9__gnu_cxx17__normal_iteratorIPS0_S2_EEDpOT_ aarch64/distsrc-e15292367880-powerpc64le-linux-gnu/src/wallet/libbitcoin_wallet_a-walletdb.o > a.txt
    objdump -d --section=.text._ZNSt6vectorI7uint256SaIS0_EE17_M_realloc_insertIJEEEvN9__gnu_cxx17__normal_iteratorIPS0_S2_EEDpOT_ x86_64/distsrc-e15292367880-powerpc64le-linux-gnu/src/wallet/libbitcoin_wallet_a-walletdb.o > b.txt
    

    you should get:

    -aarch64/distsrc-e15292367880-powerpc64le-linux-gnu/src/wallet/libbitcoin_wallet_a-walletdb.o:     file format elf64-powerpcle
    +x86_64/distsrc-e15292367880-powerpc64le-linux-gnu/src/wallet/libbitcoin_wallet_a-walletdb.o:     file format elf64-powerpcle
     
     
     Disassembly of section .text._ZNSt6vectorI7uint256SaIS0_EE17_M_realloc_insertIJEEEvN9__gnu_cxx17__normal_iteratorIPS0_S2_EEDpOT_:
     
     0000000000000000 <_ZNSt6vectorI7uint256SaIS0_EE17_M_realloc_insertIJEEEvN9__gnu_cxx17__normal_iteratorIPS0_S2_EEDpOT_>:
        0:	00 00 4c 3c 	addis   r2,r12,0
        4:	00 00 42 38 	addi    r2,r2,0
    @@ -40,16 +40,16 @@
       80:	00 00 29 2c 	cmpdi   r9,0
       84:	20 00 40 3b 	li      r26,32
       88:	00 00 20 3b 	li      r25,0
       8c:	00 00 c0 3b 	li      r30,0
       90:	88 01 82 40 	bne     218 <_ZNSt6vectorI7uint256SaIS0_EE17_M_realloc_insertIJEEEvN9__gnu_cxx17__normal_iteratorIPS0_S2_EEDpOT_+0x218>
       94:	8c 03 00 10 	vspltisw v0,0
       98:	40 f8 24 7c 	cmpld   r4,r31
    -  9c:	14 c2 3e 7d 	add     r9,r30,r24
    -  a0:	10 00 40 39 	li      r10,16
    +  9c:	10 00 40 39 	li      r10,16
    +  a0:	14 c2 3e 7d 	add     r9,r30,r24
       a4:	56 02 00 f0 	xxswapd vs0,vs32
       a8:	98 c7 1e 7c 	stxvd2x vs0,r30,r24
       ac:	98 57 09 7c 	stxvd2x vs0,r9,r10
       b0:	6c 00 82 41 	beq     11c <_ZNSt6vectorI7uint256SaIS0_EE17_M_realloc_insertIJEEEvN9__gnu_cxx17__normal_iteratorIPS0_S2_EEDpOT_+0x11c>
       b4:	50 20 3f 7d 	subf    r9,r31,r4
       b8:	78 f3 c7 7f 	mr      r7,r30
       bc:	e0 ff 29 39 	addi    r9,r9,-32
    
  77. DrahtBot added the label CI failed on Aug 29, 2023
  78. theuni commented at 1:00 PM on August 29, 2023: member

    FWIW, c++filt output:

     $ echo "_ZNSt6vectorI7uint256SaIS0_EE17_M_realloc_insertIJEEEvN9__gnu_cxx17__normal_iteratorIPS0_S2_EEDpOT_" | c++filt
    

    void std::vector<uint256, std::allocator<uint256> >::_M_realloc_insert<>(__gnu_cxx::__normal_iterator<uint256*, std::vector<uint256, std::allocator<uint256> > >)

    I believe this is the function in question. Though it's not clear to me if the function has anything to do with the determinism problem, or if the compiler just happens to run into some pattern here.

  79. fanquake commented at 1:09 PM on August 29, 2023: member

    I believe this is the function in question.

    Yea, I was looking at the same thing.

    Note this can be further reduced down by inspecting the verbose (-Wa,-alh,-L) assembler output (see https://github.com/fanquake/bitcoin/commit/7b36a3c9d63d7e12c325d01ce010fdfcba112064):

    --- c.txt
    +++ d.txt
    @@ -1,13 +1,13 @@
       31:./uint256.h   **** 
      204978              	 .loc 19 31 29 view .LVU42877
    - 204979 009c 14C23E7D 	 add 9,30,24
    - 204980              	.LVL10372:
    + 204979 009c 10004039 	 li 10,16
    + 204980 00a0 14C23E7D 	 add 9,30,24
    + 204981              	.LVL10372:
       31:./uint256.h   **** 
    - 204981              	 .loc 19 31 29 view .LVU42878
    - 204982 00a0 10004039 	 li 10,16
    + 204982              	 .loc 19 31 29 view .LVU42878
      204983 00a4 560200F0 	 xxpermdi 0,32,32,2
      204984 00a8 98C71E7C 	 stxvd2x 0,30,24
      204985 00ac 9857097C 	 stxvd2x 0,9,10
      204986              	.LVL10373:
       31:./uint256.h   **** 
      204987              	 .loc 19 31 29 view .LVU42879
    

    .loc 19 31 29 view .LVU42877

    is file 19 line 31 colum 29 which is

    https://github.com/bitcoin/bitcoin/blob/ab42b2ebdbf61225e636e4c00068fd29b2790d41/src/uint256.h#L31

  80. fanquake commented at 11:21 AM on August 30, 2023: member

    I assume the Win64 native CI failure is sporadic, but I guess the win64 cross-compile failure will need actual changes:

    test/system_tests.cpp(59): error: in "system_tests/run_command": check e.code().value() == expected_error has failed [2 != 6]
    test/system_tests.cpp(26): Leaving test case "run_command"; testing time: 495559us
    test/system_tests.cpp(15): Leaving test suite "system_tests"; testing time: 537416us
    

    Not sure why we've got unit tests that seem to be dependant on the host OS/library versions (seems to be Wine here) on the system? cc @hebasto.

  81. maflcko commented at 11:44 AM on August 30, 2023: member

    The CI task name says no boost::process, so I think the fix would be to remove boost::process from that task or fix the task name along with the test issue (in a separate pull), no?

  82. maflcko commented at 11:52 AM on August 30, 2023: member

    Can you try with:

    diff --git a/src/test/system_tests.cpp b/src/test/system_tests.cpp
    index 740f461548..260f7f6645 100644
    --- a/src/test/system_tests.cpp
    +++ b/src/test/system_tests.cpp
    @@ -49,11 +49,7 @@ BOOST_AUTO_TEST_CASE(run_command)
         }
         {
             // An invalid command is handled by Boost
    -#ifdef WIN32
    -        const int expected_error{wine_runtime ? 6 : 2};
    -#else
             const int expected_error{2};
    -#endif
             BOOST_CHECK_EXCEPTION(RunCommandParseJSON("invalid_command"), boost::process::process_error, [&](const boost::process::process_error& e) {
                 BOOST_CHECK(std::string(e.what()).find("RunCommandParseJSON error:") == std::string::npos);
                 BOOST_CHECK_EQUAL(e.code().value(), expected_error);
    
  83. fanquake force-pushed on Aug 30, 2023
  84. fanquake commented at 12:32 PM on August 30, 2023: member

    The CI task name says no boost::process,

    Yea I guess that is wrong, as the config explicitly enables --enable-external-signer. Pushed up your suggested diff as part of the Win CI commit for now (can be split out too).

  85. DrahtBot removed the label CI failed on Aug 30, 2023
  86. fanquake referenced this in commit 505ea30b47 on Aug 30, 2023
  87. fanquake force-pushed on Aug 30, 2023
  88. hebasto commented at 2:51 PM on September 1, 2023: member

    FWIW, using the -O1 optimization level fixes cross-platform reproducibility.

    Perhaps, it is feasible to use an approach similar to #25643?

  89. theuni commented at 3:23 PM on September 1, 2023: member

    FWIW, using the -O1 optimization level fixes cross-platform reproducibility.

    Perhaps, it is feasible to use an approach similar to #25643?

    Agree that would work, but hopefully as a last resort.

    The ideal fix would be to track down the actual gcc issue. A possible route to doing so: Since we know the non-determinism is introduced by one or more optimizations, one-by-one, append the individual -O2 sub-options on top of -O1 until the culprit is found.

    For ex, the gcc docs say that -O2 is the same as -O1 plus:

    -falign-functions  -falign-jumps
    -falign-labels  -falign-loops
    -fcaller-saves
    -fcode-hoisting
    -fcrossjumping
    -fcse-follow-jumps  -fcse-skip-blocks
    -fdelete-null-pointer-checks
    -fdevirtualize  -fdevirtualize-speculatively
    -fexpensive-optimizations
    -ffinite-loops
    -fgcse  -fgcse-lm
    -fhoist-adjacent-loads
    -finline-functions
    -finline-small-functions
    -findirect-inlining
    -fipa-bit-cp  -fipa-cp  -fipa-icf
    -fipa-ra  -fipa-sra  -fipa-vrp
    -fisolate-erroneous-paths-dereference
    -flra-remat
    -foptimize-sibling-calls
    -foptimize-strlen
    -fpartial-inlining
    -fpeephole2
    -freorder-blocks-algorithm=stc
    -freorder-blocks-and-partition  -freorder-functions
    -frerun-cse-after-loop
    -fschedule-insns  -fschedule-insns2
    -fsched-interblock  -fsched-spec
    -fstore-merging
    -fstrict-aliasing
    -fthread-jumps
    -ftree-builtin-call-dce
    -ftree-loop-vectorize
    -ftree-pre
    -ftree-slp-vectorize
    -ftree-switch-conversion  -ftree-tail-merge
    -ftree-vrp
    -fvect-cost-model=very-cheap
    

    So.. start with -O1 -falign-functions, -O1 -falign-jumps, -O1 -fcaller-saves etc. until the non-determinism is introduced. Hopefully it's a single flag.

    From there, presumably we'd know which class or pass of optimization is the problem. We could use that to narrow down a bisection, since I believe we also know which version of gcc introduced the problem.

  90. maflcko commented at 3:33 PM on September 1, 2023: member

    What is the easiest way in guix to bisect gcc? Can I modify the gcc package description locally without having guix check any signatures on it when putting it in the time machine?

  91. fanquake force-pushed on Sep 6, 2023
  92. fanquake marked this as a draft on Sep 6, 2023
  93. fanquake commented at 3:46 PM on September 6, 2023: member

    What is the easiest way in guix to bisect gcc?

    I will post a guide for doing this.

    In the mean time, turning this back into a draft as it's now based off #28422, which if done, means we don't have to split our native toolchains between GCC 12 and GCC 10, which is much cleaner.

  94. fanquake referenced this in commit b097a689ed on Sep 7, 2023
  95. fanquake force-pushed on Sep 7, 2023
  96. fanquake marked this as ready for review on Sep 7, 2023
  97. fanquake commented at 2:32 PM on September 7, 2023: member

    Rebased, undrafted, updated PR description. The changes here are now smaller.

  98. Frank-GER referenced this in commit d367953adb on Sep 8, 2023
  99. Frank-GER referenced this in commit 74569677f6 on Sep 8, 2023
  100. Frank-GER referenced this in commit b3b8f40a4f on Sep 8, 2023
  101. Frank-GER referenced this in commit a5c099f5a4 on Sep 8, 2023
  102. fanquake commented at 1:03 PM on September 11, 2023: member

    From what I can see, the pair of optimisation flags causing the issue is -fgcse & -fschedule-insns. When both are passed we get non-determinism, independently (at -O1) they are deterministic.

  103. in src/test/system_tests.cpp:60 in ae2cd3fe25 outdated
      48 | @@ -49,11 +49,7 @@ BOOST_AUTO_TEST_CASE(run_command)
      49 |      }
      50 |      {
      51 |          // An invalid command is handled by Boost
      52 | -#ifdef WIN32
      53 | -        const int expected_error{wine_runtime ? 6 : 2};
      54 | -#else
      55 |          const int expected_error{2};
      56 | -#endif
    


    hebasto commented at 12:52 PM on September 13, 2023:

    9a04ca1cd0921c80f4836a07f2a2198fbd43cf05

    The error reporting has been changed in Wine 8.0 (Debian Bookworm, Ubuntu Lunar):

    • in Wine 6.x and 7.x, it was:
      • message: "CreateProcess failed: No such device or address"
      • code: 6
    • in Wine 8.0:
      • message: "CreateProcess failed: File not found"
      • code: 2

    I'm not sure about the exact commit, though.

    I agree with these changes and don't want to introduce more testing code to handle different Wine versions.

    However, I'm suggesting to document that Wine 8+ is required to run Windows unit tests.


    fanquake commented at 12:55 PM on September 13, 2023:

    Do you want to split commit this into a separate PR, and add the documentation?


    maflcko commented at 12:58 PM on September 13, 2023:

    I think documentation was missing previously either way on the required wine version, so this seems unrelated?


    fanquake commented at 1:01 PM on September 13, 2023:

    I guess this will also means anyone that wants to run the windows unit tests will need to be running Lunar or later, or install Wine themselves.


    hebasto commented at 1:02 PM on September 13, 2023:

    Or skip/ignore this particular test.

  104. fanquake commented at 3:09 PM on September 13, 2023: member

    Tracking down what looks like the final issue, in test_bitcoin.dbg. Building with this branch, https://github.com/fanquake/bitcoin/tree/gcc_12_debug, which excludes the two problematic options, I see a diff in the debug symbols. Note that the diff isn't as big as the difference in addresses makes it seem:

    diff --git a/c.txt b/c.txt
    index 85e71d2..45615e3 100644
    --- a/c.txt
    +++ b/c.txt
    @@ -11,30 +11,28 @@
       [0x0019028c]  Special opcode 32: advance Address by 8 to 0x1e7d34 and Line by -1 to 72
       [0x0019028d]  Set column to 27
       [0x0019028f]  Copy (view 1)
    -  [0x00190290]  Set column to 28
    +  [0x00190290]  Set column to 23
       [0x00190292]  Set is_stmt to 0
       [0x00190293]  Special opcode 6: advance Address by 0 to 0x1e7d34 and Line by 1 to 73 (view 2)
    -  [0x00190294]  Set column to 23
    -  [0x00190296]  Special opcode 19: advance Address by 4 to 0x1e7d38 and Line by 0 to 73
    -  [0x00190297]  Set column to 9
    -  [0x00190299]  Set is_stmt to 1
    -  [0x0019029a]  Special opcode 60: advance Address by 16 to 0x1e7d48 and Line by -1 to 72
    -  [0x0019029b]  Set column to 27
    -  [0x0019029d]  Copy (view 1)
    -  [0x0019029e]  Set is_stmt to 0
    -  [0x0019029f]  Special opcode 47: advance Address by 12 to 0x1e7d54 and Line by 0 to 72
    -  [0x001902a0]  Set column to 37
    -  [0x001902a2]  Advance Line by 97 to 169
    -  [0x001902a5]  Copy (view 1)
    -  [0x001902a6]  Set column to 33
    -  [0x001902a8]  Special opcode 19: advance Address by 4 to 0x1e7d58 and Line by 0 to 169
    -  [0x001902a9]  Set column to 37
    -  [0x001902ab]  Special opcode 19: advance Address by 4 to 0x1e7d5c and Line by 0 to 169
    -  [0x001902ac]  Set column to 26
    -  [0x001902ae]  Special opcode 19: advance Address by 4 to 0x1e7d60 and Line by 0 to 169
    -  [0x001902af]  Set is_stmt to 1
    -  [0x001902b0]  Special opcode 47: advance Address by 12 to 0x1e7d6c and Line by 0 to 169
    -  [0x001902b1]  Set column to 37
    -  [0x001902b3]  Set is_stmt to 0
    -  [0x001902b4]  Copy (view 1)
    -  [0x001902b5]  Set column to 33
    +  [0x00190294]  Set column to 9
    +  [0x00190296]  Set is_stmt to 1
    +  [0x00190297]  Special opcode 74: advance Address by 20 to 0x1e7d48 and Line by -1 to 72
    +  [0x00190298]  Set column to 27
    +  [0x0019029a]  Copy (view 1)
    +  [0x0019029b]  Set is_stmt to 0
    +  [0x0019029c]  Special opcode 47: advance Address by 12 to 0x1e7d54 and Line by 0 to 72
    +  [0x0019029d]  Set column to 37
    +  [0x0019029f]  Advance Line by 97 to 169
    +  [0x001902a2]  Copy (view 1)
    +  [0x001902a3]  Set column to 33
    +  [0x001902a5]  Special opcode 19: advance Address by 4 to 0x1e7d58 and Line by 0 to 169
    +  [0x001902a6]  Set column to 37
    +  [0x001902a8]  Special opcode 19: advance Address by 4 to 0x1e7d5c and Line by 0 to 169
    +  [0x001902a9]  Set column to 26
    +  [0x001902ab]  Special opcode 19: advance Address by 4 to 0x1e7d60 and Line by 0 to 169
    +  [0x001902ac]  Set is_stmt to 1
    +  [0x001902ad]  Special opcode 47: advance Address by 12 to 0x1e7d6c and Line by 0 to 169
    +  [0x001902ae]  Set column to 37
    +  [0x001902b0]  Set is_stmt to 0
    +  [0x001902b1]  Copy (view 1)
    +  [0x001902b2]  Set column to 33
    
  105. fanquake force-pushed on Sep 20, 2023
  106. fanquake force-pushed on Oct 2, 2023
  107. Retropex referenced this in commit 3916135aee on Oct 4, 2023
  108. Retropex referenced this in commit 5f62ed90f6 on Oct 4, 2023
  109. PastaPastaPasta referenced this in commit 7675bd4fa1 on Oct 11, 2023
  110. fanquake added this to the milestone 27.0 on Oct 23, 2023
  111. PastaPastaPasta referenced this in commit d8cf7655ba on Oct 27, 2023
  112. fanquake force-pushed on Nov 9, 2023
  113. fanquake force-pushed on Nov 13, 2023
  114. fanquake force-pushed on Nov 13, 2023
  115. fanquake force-pushed on Nov 22, 2023
  116. fanquake force-pushed on Nov 29, 2023
  117. maflcko commented at 7:05 PM on November 29, 2023: member

    What is the easiest way in guix to bisect gcc?

    I will post a guide for doing this.

    :eye: :eyes: :eyeglasses:

  118. PastaPastaPasta referenced this in commit 65141f80ae on Dec 6, 2023
  119. maflcko commented at 6:36 PM on December 14, 2023: member

    Note that there is also non-determinism with GCC-11, i.e this branch https://github.com/fanquake/bitcoin/commits/test_11:

    Did you also try gcc-13.2, which may be an alternative at this point?

  120. fanquake commented at 7:04 PM on December 14, 2023: member

    Yes, iirc. I'll get back to this now that it's becoming more of a blocker. I've been sick of continually dealing with/having to track down problems in gui and similar non-critical code, when it comes to these kinds of changes (i.e LLVM bump also blocked on the GUI).

  121. fanquake force-pushed on Dec 18, 2023
  122. fanquake force-pushed on Jan 2, 2024
  123. hebasto commented at 10:21 AM on January 3, 2024: member
    $ env HOSTS=x86_64-apple-darwin ./contrib/guix/guix-build 
    ...
    make: Entering directory '/bitcoin/depends'
    Extracting native_libtapi...
    /bitcoin/depends/sources/eb33a59f2e30ff9724dc1ea8bee8b5229b0557c9.tar.gz: OK
    Preprocessing native_libtapi...
    patching file build.sh
    Configuring native_libtapi...
    Building native_libtapi...
    -- The C compiler identification is Clang 17.0.6
    -- The CXX compiler identification is Clang 17.0.6
    -- The ASM compiler identification is Clang with GNU-like command-line
    -- Found assembler: /home/hebasto/.guix-profile/bin/clang
    -- Detecting C compiler ABI info
    -- Detecting C compiler ABI info - done
    -- Check for working C compiler: /home/hebasto/.guix-profile/bin/clang - skipped
    -- Detecting C compile features
    -- Detecting C compile features - done
    -- Detecting CXX compiler ABI info
    -- Detecting CXX compiler ABI info - done
    -- Check for working CXX compiler: /home/hebasto/.guix-profile/bin/clang++ - skipped
    -- Detecting CXX compile features
    -- Detecting CXX compile features - done
    -- clang project is enabled
    -- clang-tools-extra project is disabled
    -- compiler-rt project is disabled
    -- debuginfo-tests project is disabled
    -- libc project is disabled
    -- libclc project is disabled
    -- libcxx project is disabled
    -- libcxxabi project is disabled
    -- libunwind project is disabled
    -- lld project is disabled
    -- lldb project is disabled
    -- mlir project is disabled
    -- openmp project is disabled
    -- parallel-libs project is disabled
    -- polly project is disabled
    -- pstl project is disabled
    -- tapi project is enabled
    -- flang project is disabled
    -- Performing Test LLVM_LIBSTDCXX_MIN
    -- Performing Test LLVM_LIBSTDCXX_MIN - Success
    -- Performing Test LLVM_LIBSTDCXX_SOFT_ERROR
    -- Performing Test LLVM_LIBSTDCXX_SOFT_ERROR - Failed
    CMake Error at cmake/modules/CheckCompilerVersion.cmake:119 (message):
      libstdc++ version should be at least 5.1 because LLVM will soon use new C++
      features which your toolchain version doesn't support.  You can temporarily
      opt out using LLVM_TEMPORARILY_ALLOW_OLD_TOOLCHAIN, but very soon your
      toolchain won't be supported.
    Call Stack (most recent call first):
      cmake/config-ix.cmake:14 (include)
      CMakeLists.txt:691 (include)
    
    
    -- Configuring incomplete, errors occurred!
    See also "/bitcoin/depends/work/build/x86_64-apple-darwin/native_libtapi/eb33a59f2e30ff9724dc1ea8bee8b5229b0557c9-860be6e1562/build/CMakeFiles/CMakeOutput.log".
    See also "/bitcoin/depends/work/build/x86_64-apple-darwin/native_libtapi/eb33a59f2e30ff9724dc1ea8bee8b5229b0557c9-860be6e1562/build/CMakeFiles/CMakeError.log".
    make: *** [funcs.mk:291: /bitcoin/depends/work/build/x86_64-apple-darwin/native_libtapi/eb33a59f2e30ff9724dc1ea8bee8b5229b0557c9-860be6e1562/./.stamp_built] Error 1
    make: Leaving directory '/bitcoin/depends'
    
  124. fanquake commented at 3:28 PM on January 5, 2024: member

    Drafting this until (may rebase on top of) #21778, which fixes the macOS build failures by just deleting the offending code.

  125. fanquake marked this as a draft on Jan 5, 2024
  126. DrahtBot added the label CI failed on Jan 13, 2024
  127. fanquake removed this from the milestone 27.0 on Feb 1, 2024
  128. fanquake force-pushed on Feb 22, 2024
  129. DrahtBot removed the label CI failed on Feb 22, 2024
  130. fanquake force-pushed on Mar 7, 2024
  131. maflcko added the label DrahtBot Guix build requested on Mar 12, 2024
  132. ci: use Debian Bookworm (GCC 12) for win64 job
    Co-authored-by: MarcoFalke <*~=`'#}+{/-|&$^_@721217.xyz>
    0da6451c58
  133. ci: use Debian Bookworm (GCC 12) for ARM ci job
    Co-authored-by: MarcoFalke <*~=`'#}+{/-|&$^_@721217.xyz>
    ce54330cf6
  134. guix: use GCC 12.3.0
    Retain native GCC 10 toolchain for macOS, to prevent compile failures in
    native tools (this will be removed entirely when we tansition to LLD).
    Update the vmov-alignment patch, for changes in GCC 12.
    001412a4d2
  135. guix: temporarily disable powerpcle taget
    There non-determinism issues when compiling for this target across
    x86_64 and aarch64.
    10d56530e0
  136. fanquake force-pushed on Mar 12, 2024
  137. fanquake marked this as ready for review on Mar 12, 2024
  138. fanquake commented at 6:10 PM on March 12, 2024: member

    Guix Build (aarch64):

    6dcb27a8e89def2e9ab3de7a79b9923795353bbf5dcb29832820a8105f701f07  guix-build-10d56530e097/output/aarch64-linux-gnu/SHA256SUMS.part
    bd8242c2ce7cf1e5f5b6ae76a6d5d79061919b86cb80860fcd0a38f9e65a5ea6  guix-build-10d56530e097/output/aarch64-linux-gnu/bitcoin-10d56530e097-aarch64-linux-gnu-debug.tar.gz
    d2f4525d5a65e76ec2f62697be2e5b2f4d52d584ab63ab708471f674977b8fea  guix-build-10d56530e097/output/aarch64-linux-gnu/bitcoin-10d56530e097-aarch64-linux-gnu.tar.gz
    8e922ca2ec17e3987ad92cc378fac1accad5fd1b1c9e2ecb68bdabf1b905e12b  guix-build-10d56530e097/output/arm-linux-gnueabihf/SHA256SUMS.part
    06ef9e7bc84f470509f97c4dfb7a23a3cde770eaff78f6b93faa94afc40454c2  guix-build-10d56530e097/output/arm-linux-gnueabihf/bitcoin-10d56530e097-arm-linux-gnueabihf-debug.tar.gz
    d2c2486a35b9935d68d71ef3cdcc4f58522887910a165868e441085337ba0639  guix-build-10d56530e097/output/arm-linux-gnueabihf/bitcoin-10d56530e097-arm-linux-gnueabihf.tar.gz
    721f036529908cd406e3e1e0f6a2451b34e77c4cadb68e0fb8c711fad4853cd5  guix-build-10d56530e097/output/arm64-apple-darwin/SHA256SUMS.part
    a777361b7bcc9fd3353a91e185d48508079ef5ec88494970d12eeaf9e8106c22  guix-build-10d56530e097/output/arm64-apple-darwin/bitcoin-10d56530e097-arm64-apple-darwin-unsigned.tar.gz
    8de7ba4927de09308e02b9c05b84d8cf75bf8e46e87a8330d72682e873e8fdfd  guix-build-10d56530e097/output/arm64-apple-darwin/bitcoin-10d56530e097-arm64-apple-darwin-unsigned.zip
    6bd05be85a6e32c1a99949400bc390a84c7b7f79cf40facf4e1db7a99e354dba  guix-build-10d56530e097/output/arm64-apple-darwin/bitcoin-10d56530e097-arm64-apple-darwin.tar.gz
    a18b6aeabfb3b201b5b68305968505e3d10d50e1fd1f8e142da97d8878664c8a  guix-build-10d56530e097/output/dist-archive/bitcoin-10d56530e097.tar.gz
    cf0f43b1d9ac91d7993c7ee63316e938935ee6998d7c00409a7a1f8e71b59249  guix-build-10d56530e097/output/powerpc64-linux-gnu/SHA256SUMS.part
    80beedf085d1a1bb15ced0a411f9d74668e7bbafce6f1701ebbcb1895634023b  guix-build-10d56530e097/output/powerpc64-linux-gnu/bitcoin-10d56530e097-powerpc64-linux-gnu-debug.tar.gz
    d12eac8a15649fd343773738fb3893bba4a90ddce4a5ccd397ff24bd36dea7a8  guix-build-10d56530e097/output/powerpc64-linux-gnu/bitcoin-10d56530e097-powerpc64-linux-gnu.tar.gz
    0ab804612d75915d84a89221167ce411483a5cbcba40b46663de0391fbe427a2  guix-build-10d56530e097/output/riscv64-linux-gnu/SHA256SUMS.part
    7a980cfdf17b4f0ad51dd6fcc59a923e2d825352dc06dc51c8021ff43ceb3d32  guix-build-10d56530e097/output/riscv64-linux-gnu/bitcoin-10d56530e097-riscv64-linux-gnu-debug.tar.gz
    06aad03534b5986d1a091f0f04289c38197041342b5a398205feb7b5fa94a880  guix-build-10d56530e097/output/riscv64-linux-gnu/bitcoin-10d56530e097-riscv64-linux-gnu.tar.gz
    c82ca396f11e6383f5d4a9c616fd070d642702841c477001f2577a0830c96a82  guix-build-10d56530e097/output/x86_64-apple-darwin/SHA256SUMS.part
    835cc72a7582e8d049efeca7d074aa4ce73699dc7c9f0545a4b69cf8f72a3b01  guix-build-10d56530e097/output/x86_64-apple-darwin/bitcoin-10d56530e097-x86_64-apple-darwin-unsigned.tar.gz
    37af26f6761bd0a731c355b66d6f763f179142f6c6661c81e45bca8e5458fc50  guix-build-10d56530e097/output/x86_64-apple-darwin/bitcoin-10d56530e097-x86_64-apple-darwin-unsigned.zip
    b239b17dd90875baf50cb4426115a5b26f3c64fc817124ec157183c58bccaef1  guix-build-10d56530e097/output/x86_64-apple-darwin/bitcoin-10d56530e097-x86_64-apple-darwin.tar.gz
    b6a114afbce9f51332feeda77e51360fce8c9e090dbdd51f5d7953f3b53024e9  guix-build-10d56530e097/output/x86_64-linux-gnu/SHA256SUMS.part
    99a2d0f622a9b9e99e5c334ec97f0dfb60ae2d1e159a84ae3d764aff7f05c973  guix-build-10d56530e097/output/x86_64-linux-gnu/bitcoin-10d56530e097-x86_64-linux-gnu-debug.tar.gz
    eac4a6d47595f28dd92fa770ad361c649123fc01c2337f5160f82937ee3c1ced  guix-build-10d56530e097/output/x86_64-linux-gnu/bitcoin-10d56530e097-x86_64-linux-gnu.tar.gz
    9ce4d66d6d89efcb90d4cff27e0430267930484244a420254b0842eb2255c63d  guix-build-10d56530e097/output/x86_64-w64-mingw32/SHA256SUMS.part
    c3c0420b702965b2a4b7f9d5528f75ac067f3717df33c26d79d2c6a43e62271d  guix-build-10d56530e097/output/x86_64-w64-mingw32/bitcoin-10d56530e097-win64-debug.zip
    402938d010fed8140953425e77d6c0adf432bc0b6c3bc41b202fc3ab57dc3e78  guix-build-10d56530e097/output/x86_64-w64-mingw32/bitcoin-10d56530e097-win64-setup-unsigned.exe
    98c9a31988b46554a696d30576590b7999a8957020bf8942caf0e499094794f7  guix-build-10d56530e097/output/x86_64-w64-mingw32/bitcoin-10d56530e097-win64-unsigned.tar.gz
    37360c7fd4fae718c581a76e820bf495ea4470d6938c02c7ff3561523bcca3ca  guix-build-10d56530e097/output/x86_64-w64-mingw32/bitcoin-10d56530e097-win64.zip
    
  139. theuni commented at 6:16 PM on March 12, 2024: member

    Re- Concept ACK.

    Removing ppcle for now is less than ideal, but it's not worth having as a blocker for basically all pending toolchain/c++20 work.

    Only suggestion is: Are there any upstream non-determinism bug reports we can link to? If not, IMO we should file them so the knowledge exists somewhere other than in your head :)

  140. fanquake commented at 6:20 PM on March 12, 2024: member

    (copying what I added to the PR description)

    Temporarily disables the powerpc64le-linux-gnu target due to non-determinism issues when building across aarch64 and x86_64. Trying to fix the non-determinism was going to require trying to selectively disable optimization flags, which is already not ideal (and didn't fix all issues), and the migration to GCC 12 as our release compiler is now the blocker for multiple other (c++20 and similar) changes, so leaving this blocked on the powerpc64le binaries does not seem like a good tradeoff.

    Are there any upstream non-determinism bug reports we can link to?

    Not yet. We still need to minify a reproducer, which is also non-trivial. I will work on doing that, but also don't want it as a blocker to moving forward here.

  141. fanquake commented at 7:15 PM on March 12, 2024: member

    Guix build (x86_64) (matches aarch64):

    6dcb27a8e89def2e9ab3de7a79b9923795353bbf5dcb29832820a8105f701f07  guix-build-10d56530e097/output/aarch64-linux-gnu/SHA256SUMS.part
    bd8242c2ce7cf1e5f5b6ae76a6d5d79061919b86cb80860fcd0a38f9e65a5ea6  guix-build-10d56530e097/output/aarch64-linux-gnu/bitcoin-10d56530e097-aarch64-linux-gnu-debug.tar.gz
    d2f4525d5a65e76ec2f62697be2e5b2f4d52d584ab63ab708471f674977b8fea  guix-build-10d56530e097/output/aarch64-linux-gnu/bitcoin-10d56530e097-aarch64-linux-gnu.tar.gz
    8e922ca2ec17e3987ad92cc378fac1accad5fd1b1c9e2ecb68bdabf1b905e12b  guix-build-10d56530e097/output/arm-linux-gnueabihf/SHA256SUMS.part
    06ef9e7bc84f470509f97c4dfb7a23a3cde770eaff78f6b93faa94afc40454c2  guix-build-10d56530e097/output/arm-linux-gnueabihf/bitcoin-10d56530e097-arm-linux-gnueabihf-debug.tar.gz
    d2c2486a35b9935d68d71ef3cdcc4f58522887910a165868e441085337ba0639  guix-build-10d56530e097/output/arm-linux-gnueabihf/bitcoin-10d56530e097-arm-linux-gnueabihf.tar.gz
    721f036529908cd406e3e1e0f6a2451b34e77c4cadb68e0fb8c711fad4853cd5  guix-build-10d56530e097/output/arm64-apple-darwin/SHA256SUMS.part
    a777361b7bcc9fd3353a91e185d48508079ef5ec88494970d12eeaf9e8106c22  guix-build-10d56530e097/output/arm64-apple-darwin/bitcoin-10d56530e097-arm64-apple-darwin-unsigned.tar.gz
    8de7ba4927de09308e02b9c05b84d8cf75bf8e46e87a8330d72682e873e8fdfd  guix-build-10d56530e097/output/arm64-apple-darwin/bitcoin-10d56530e097-arm64-apple-darwin-unsigned.zip
    6bd05be85a6e32c1a99949400bc390a84c7b7f79cf40facf4e1db7a99e354dba  guix-build-10d56530e097/output/arm64-apple-darwin/bitcoin-10d56530e097-arm64-apple-darwin.tar.gz
    a18b6aeabfb3b201b5b68305968505e3d10d50e1fd1f8e142da97d8878664c8a  guix-build-10d56530e097/output/dist-archive/bitcoin-10d56530e097.tar.gz
    cf0f43b1d9ac91d7993c7ee63316e938935ee6998d7c00409a7a1f8e71b59249  guix-build-10d56530e097/output/powerpc64-linux-gnu/SHA256SUMS.part
    80beedf085d1a1bb15ced0a411f9d74668e7bbafce6f1701ebbcb1895634023b  guix-build-10d56530e097/output/powerpc64-linux-gnu/bitcoin-10d56530e097-powerpc64-linux-gnu-debug.tar.gz
    d12eac8a15649fd343773738fb3893bba4a90ddce4a5ccd397ff24bd36dea7a8  guix-build-10d56530e097/output/powerpc64-linux-gnu/bitcoin-10d56530e097-powerpc64-linux-gnu.tar.gz
    0ab804612d75915d84a89221167ce411483a5cbcba40b46663de0391fbe427a2  guix-build-10d56530e097/output/riscv64-linux-gnu/SHA256SUMS.part
    7a980cfdf17b4f0ad51dd6fcc59a923e2d825352dc06dc51c8021ff43ceb3d32  guix-build-10d56530e097/output/riscv64-linux-gnu/bitcoin-10d56530e097-riscv64-linux-gnu-debug.tar.gz
    06aad03534b5986d1a091f0f04289c38197041342b5a398205feb7b5fa94a880  guix-build-10d56530e097/output/riscv64-linux-gnu/bitcoin-10d56530e097-riscv64-linux-gnu.tar.gz
    c82ca396f11e6383f5d4a9c616fd070d642702841c477001f2577a0830c96a82  guix-build-10d56530e097/output/x86_64-apple-darwin/SHA256SUMS.part
    835cc72a7582e8d049efeca7d074aa4ce73699dc7c9f0545a4b69cf8f72a3b01  guix-build-10d56530e097/output/x86_64-apple-darwin/bitcoin-10d56530e097-x86_64-apple-darwin-unsigned.tar.gz
    37af26f6761bd0a731c355b66d6f763f179142f6c6661c81e45bca8e5458fc50  guix-build-10d56530e097/output/x86_64-apple-darwin/bitcoin-10d56530e097-x86_64-apple-darwin-unsigned.zip
    b239b17dd90875baf50cb4426115a5b26f3c64fc817124ec157183c58bccaef1  guix-build-10d56530e097/output/x86_64-apple-darwin/bitcoin-10d56530e097-x86_64-apple-darwin.tar.gz
    b6a114afbce9f51332feeda77e51360fce8c9e090dbdd51f5d7953f3b53024e9  guix-build-10d56530e097/output/x86_64-linux-gnu/SHA256SUMS.part
    99a2d0f622a9b9e99e5c334ec97f0dfb60ae2d1e159a84ae3d764aff7f05c973  guix-build-10d56530e097/output/x86_64-linux-gnu/bitcoin-10d56530e097-x86_64-linux-gnu-debug.tar.gz
    eac4a6d47595f28dd92fa770ad361c649123fc01c2337f5160f82937ee3c1ced  guix-build-10d56530e097/output/x86_64-linux-gnu/bitcoin-10d56530e097-x86_64-linux-gnu.tar.gz
    9ce4d66d6d89efcb90d4cff27e0430267930484244a420254b0842eb2255c63d  guix-build-10d56530e097/output/x86_64-w64-mingw32/SHA256SUMS.part
    c3c0420b702965b2a4b7f9d5528f75ac067f3717df33c26d79d2c6a43e62271d  guix-build-10d56530e097/output/x86_64-w64-mingw32/bitcoin-10d56530e097-win64-debug.zip
    402938d010fed8140953425e77d6c0adf432bc0b6c3bc41b202fc3ab57dc3e78  guix-build-10d56530e097/output/x86_64-w64-mingw32/bitcoin-10d56530e097-win64-setup-unsigned.exe
    98c9a31988b46554a696d30576590b7999a8957020bf8942caf0e499094794f7  guix-build-10d56530e097/output/x86_64-w64-mingw32/bitcoin-10d56530e097-win64-unsigned.tar.gz
    37360c7fd4fae718c581a76e820bf495ea4470d6938c02c7ff3561523bcca3ca  guix-build-10d56530e097/output/x86_64-w64-mingw32/bitcoin-10d56530e097-win64.zip
    
  142. tobtoht commented at 10:46 PM on March 12, 2024: none
    $ uname --machine && find guix-build-$(git rev-parse --short=12 HEAD)/output/ -type f -print0 | env LC_ALL=C sort -z | xargs -r0 sha256sum
    x86_64
    6dcb27a8e89def2e9ab3de7a79b9923795353bbf5dcb29832820a8105f701f07  guix-build-10d56530e097/output/aarch64-linux-gnu/SHA256SUMS.part
    bd8242c2ce7cf1e5f5b6ae76a6d5d79061919b86cb80860fcd0a38f9e65a5ea6  guix-build-10d56530e097/output/aarch64-linux-gnu/bitcoin-10d56530e097-aarch64-linux-gnu-debug.tar.gz
    d2f4525d5a65e76ec2f62697be2e5b2f4d52d584ab63ab708471f674977b8fea  guix-build-10d56530e097/output/aarch64-linux-gnu/bitcoin-10d56530e097-aarch64-linux-gnu.tar.gz
    8e922ca2ec17e3987ad92cc378fac1accad5fd1b1c9e2ecb68bdabf1b905e12b  guix-build-10d56530e097/output/arm-linux-gnueabihf/SHA256SUMS.part
    06ef9e7bc84f470509f97c4dfb7a23a3cde770eaff78f6b93faa94afc40454c2  guix-build-10d56530e097/output/arm-linux-gnueabihf/bitcoin-10d56530e097-arm-linux-gnueabihf-debug.tar.gz
    d2c2486a35b9935d68d71ef3cdcc4f58522887910a165868e441085337ba0639  guix-build-10d56530e097/output/arm-linux-gnueabihf/bitcoin-10d56530e097-arm-linux-gnueabihf.tar.gz
    721f036529908cd406e3e1e0f6a2451b34e77c4cadb68e0fb8c711fad4853cd5  guix-build-10d56530e097/output/arm64-apple-darwin/SHA256SUMS.part
    a777361b7bcc9fd3353a91e185d48508079ef5ec88494970d12eeaf9e8106c22  guix-build-10d56530e097/output/arm64-apple-darwin/bitcoin-10d56530e097-arm64-apple-darwin-unsigned.tar.gz
    8de7ba4927de09308e02b9c05b84d8cf75bf8e46e87a8330d72682e873e8fdfd  guix-build-10d56530e097/output/arm64-apple-darwin/bitcoin-10d56530e097-arm64-apple-darwin-unsigned.zip
    6bd05be85a6e32c1a99949400bc390a84c7b7f79cf40facf4e1db7a99e354dba  guix-build-10d56530e097/output/arm64-apple-darwin/bitcoin-10d56530e097-arm64-apple-darwin.tar.gz
    a18b6aeabfb3b201b5b68305968505e3d10d50e1fd1f8e142da97d8878664c8a  guix-build-10d56530e097/output/dist-archive/bitcoin-10d56530e097.tar.gz
    cf0f43b1d9ac91d7993c7ee63316e938935ee6998d7c00409a7a1f8e71b59249  guix-build-10d56530e097/output/powerpc64-linux-gnu/SHA256SUMS.part
    80beedf085d1a1bb15ced0a411f9d74668e7bbafce6f1701ebbcb1895634023b  guix-build-10d56530e097/output/powerpc64-linux-gnu/bitcoin-10d56530e097-powerpc64-linux-gnu-debug.tar.gz
    d12eac8a15649fd343773738fb3893bba4a90ddce4a5ccd397ff24bd36dea7a8  guix-build-10d56530e097/output/powerpc64-linux-gnu/bitcoin-10d56530e097-powerpc64-linux-gnu.tar.gz
    0ab804612d75915d84a89221167ce411483a5cbcba40b46663de0391fbe427a2  guix-build-10d56530e097/output/riscv64-linux-gnu/SHA256SUMS.part
    7a980cfdf17b4f0ad51dd6fcc59a923e2d825352dc06dc51c8021ff43ceb3d32  guix-build-10d56530e097/output/riscv64-linux-gnu/bitcoin-10d56530e097-riscv64-linux-gnu-debug.tar.gz
    06aad03534b5986d1a091f0f04289c38197041342b5a398205feb7b5fa94a880  guix-build-10d56530e097/output/riscv64-linux-gnu/bitcoin-10d56530e097-riscv64-linux-gnu.tar.gz
    c82ca396f11e6383f5d4a9c616fd070d642702841c477001f2577a0830c96a82  guix-build-10d56530e097/output/x86_64-apple-darwin/SHA256SUMS.part
    835cc72a7582e8d049efeca7d074aa4ce73699dc7c9f0545a4b69cf8f72a3b01  guix-build-10d56530e097/output/x86_64-apple-darwin/bitcoin-10d56530e097-x86_64-apple-darwin-unsigned.tar.gz
    37af26f6761bd0a731c355b66d6f763f179142f6c6661c81e45bca8e5458fc50  guix-build-10d56530e097/output/x86_64-apple-darwin/bitcoin-10d56530e097-x86_64-apple-darwin-unsigned.zip
    b239b17dd90875baf50cb4426115a5b26f3c64fc817124ec157183c58bccaef1  guix-build-10d56530e097/output/x86_64-apple-darwin/bitcoin-10d56530e097-x86_64-apple-darwin.tar.gz
    b6a114afbce9f51332feeda77e51360fce8c9e090dbdd51f5d7953f3b53024e9  guix-build-10d56530e097/output/x86_64-linux-gnu/SHA256SUMS.part
    99a2d0f622a9b9e99e5c334ec97f0dfb60ae2d1e159a84ae3d764aff7f05c973  guix-build-10d56530e097/output/x86_64-linux-gnu/bitcoin-10d56530e097-x86_64-linux-gnu-debug.tar.gz
    eac4a6d47595f28dd92fa770ad361c649123fc01c2337f5160f82937ee3c1ced  guix-build-10d56530e097/output/x86_64-linux-gnu/bitcoin-10d56530e097-x86_64-linux-gnu.tar.gz
    9ce4d66d6d89efcb90d4cff27e0430267930484244a420254b0842eb2255c63d  guix-build-10d56530e097/output/x86_64-w64-mingw32/SHA256SUMS.part
    c3c0420b702965b2a4b7f9d5528f75ac067f3717df33c26d79d2c6a43e62271d  guix-build-10d56530e097/output/x86_64-w64-mingw32/bitcoin-10d56530e097-win64-debug.zip
    402938d010fed8140953425e77d6c0adf432bc0b6c3bc41b202fc3ab57dc3e78  guix-build-10d56530e097/output/x86_64-w64-mingw32/bitcoin-10d56530e097-win64-setup-unsigned.exe
    98c9a31988b46554a696d30576590b7999a8957020bf8942caf0e499094794f7  guix-build-10d56530e097/output/x86_64-w64-mingw32/bitcoin-10d56530e097-win64-unsigned.tar.gz
    37360c7fd4fae718c581a76e820bf495ea4470d6938c02c7ff3561523bcca3ca  guix-build-10d56530e097/output/x86_64-w64-mingw32/bitcoin-10d56530e097-win64.zip
    
  143. DrahtBot commented at 3:07 AM on March 13, 2024: contributor

    <!--9cd9c72976c961c55c7acef8f6ba82cd-->

    Guix builds (on x86_64)

    File commit a945f09fa6e0f94cc424da9e06516f9cfa192545<br>(master) commit 7f0706f295ca13ff7b16fe34c9839a4658c731f7<br>(master and this pull)
    SHA256SUMS.part 53f80f146bc8ab69... 4b9e6171e4cc4638...
    *-aarch64-linux-gnu-debug.tar.gz dbe0d1d1eb074739... 7f9937e310de4441...
    *-aarch64-linux-gnu.tar.gz 955c88325ca1cb74... 1151ca899061b256...
    *-arm-linux-gnueabihf-debug.tar.gz e5e17199f24f1d0e... dca93994ef6b5a8c...
    *-arm-linux-gnueabihf.tar.gz a6b2defa7bdfb7d2... 6b6828d740c9d536...
    *-arm64-apple-darwin-unsigned.tar.gz 030aa291751e430d... 72dd9625fb3a8f9b...
    *-arm64-apple-darwin-unsigned.zip 44a5227e210c924e... a5915e582e9842ac...
    *-arm64-apple-darwin.tar.gz a7a8145bd773616e... 9f97d1819f0193ad...
    *-powerpc64-linux-gnu-debug.tar.gz 450b38fbde9bea0e... 42b8c0dca86cfda8...
    *-powerpc64-linux-gnu.tar.gz 340f198fc527ced9... 24556f4ac1e34466...
    *-powerpc64le-linux-gnu-debug.tar.gz f3e4e82504b7a2fb... 4cc4bb05e79b05ac...
    *-powerpc64le-linux-gnu.tar.gz a7e058daa9c4e72c... 7ebb9b70f1c67dc7...
    *-riscv64-linux-gnu-debug.tar.gz 9feec25b9a221ace... 06b510662200a19b...
    *-riscv64-linux-gnu.tar.gz 7a006a21a5802228... ae628ccc41ea9209...
    *-x86_64-apple-darwin-unsigned.tar.gz 4dd8fa5f1767c90f... 58be111bf9e3ca58...
    *-x86_64-apple-darwin-unsigned.zip 256a5e877dbfc918... 97fdeedd4d560777...
    *-x86_64-apple-darwin.tar.gz 2fc9a5821c776103... f1f92ce4f26ac5c8...
    *-x86_64-linux-gnu-debug.tar.gz ece840d2037f8278... afd13c1438bdcbe7...
    *-x86_64-linux-gnu.tar.gz 29cf3509e6c8b97f... 25a1eea577a19fd8...
    *.tar.gz 220e536d0844a859... 974e6423b8e877db...
    guix_build.log ed6d8eac5cc222b1... fdcf75de1b6a2fc9...
    guix_build.log.diff 1e28349d0be9291a...
  144. DrahtBot removed the label DrahtBot Guix build requested on Mar 13, 2024
  145. TheCharlatan commented at 12:27 PM on March 13, 2024: contributor

    Concept ACK

  146. TheCharlatan commented at 4:57 PM on March 13, 2024: contributor

    Guix builds (x86 & aarch64)

    6dcb27a8e89def2e9ab3de7a79b9923795353bbf5dcb29832820a8105f701f07  guix-build-10d56530e097/output/aarch64-linux-gnu/SHA256SUMS.part
    bd8242c2ce7cf1e5f5b6ae76a6d5d79061919b86cb80860fcd0a38f9e65a5ea6  guix-build-10d56530e097/output/aarch64-linux-gnu/bitcoin-10d56530e097-aarch64-linux-gnu-debug.tar.gz
    d2f4525d5a65e76ec2f62697be2e5b2f4d52d584ab63ab708471f674977b8fea  guix-build-10d56530e097/output/aarch64-linux-gnu/bitcoin-10d56530e097-aarch64-linux-gnu.tar.gz
    8e922ca2ec17e3987ad92cc378fac1accad5fd1b1c9e2ecb68bdabf1b905e12b  guix-build-10d56530e097/output/arm-linux-gnueabihf/SHA256SUMS.part
    06ef9e7bc84f470509f97c4dfb7a23a3cde770eaff78f6b93faa94afc40454c2  guix-build-10d56530e097/output/arm-linux-gnueabihf/bitcoin-10d56530e097-arm-linux-gnueabihf-debug.tar.gz
    d2c2486a35b9935d68d71ef3cdcc4f58522887910a165868e441085337ba0639  guix-build-10d56530e097/output/arm-linux-gnueabihf/bitcoin-10d56530e097-arm-linux-gnueabihf.tar.gz
    721f036529908cd406e3e1e0f6a2451b34e77c4cadb68e0fb8c711fad4853cd5  guix-build-10d56530e097/output/arm64-apple-darwin/SHA256SUMS.part
    a777361b7bcc9fd3353a91e185d48508079ef5ec88494970d12eeaf9e8106c22  guix-build-10d56530e097/output/arm64-apple-darwin/bitcoin-10d56530e097-arm64-apple-darwin-unsigned.tar.gz
    8de7ba4927de09308e02b9c05b84d8cf75bf8e46e87a8330d72682e873e8fdfd  guix-build-10d56530e097/output/arm64-apple-darwin/bitcoin-10d56530e097-arm64-apple-darwin-unsigned.zip
    6bd05be85a6e32c1a99949400bc390a84c7b7f79cf40facf4e1db7a99e354dba  guix-build-10d56530e097/output/arm64-apple-darwin/bitcoin-10d56530e097-arm64-apple-darwin.tar.gz
    a18b6aeabfb3b201b5b68305968505e3d10d50e1fd1f8e142da97d8878664c8a  guix-build-10d56530e097/output/dist-archive/bitcoin-10d56530e097.tar.gz
    cf0f43b1d9ac91d7993c7ee63316e938935ee6998d7c00409a7a1f8e71b59249  guix-build-10d56530e097/output/powerpc64-linux-gnu/SHA256SUMS.part
    80beedf085d1a1bb15ced0a411f9d74668e7bbafce6f1701ebbcb1895634023b  guix-build-10d56530e097/output/powerpc64-linux-gnu/bitcoin-10d56530e097-powerpc64-linux-gnu-debug.tar.gz
    d12eac8a15649fd343773738fb3893bba4a90ddce4a5ccd397ff24bd36dea7a8  guix-build-10d56530e097/output/powerpc64-linux-gnu/bitcoin-10d56530e097-powerpc64-linux-gnu.tar.gz
    0ab804612d75915d84a89221167ce411483a5cbcba40b46663de0391fbe427a2  guix-build-10d56530e097/output/riscv64-linux-gnu/SHA256SUMS.part
    7a980cfdf17b4f0ad51dd6fcc59a923e2d825352dc06dc51c8021ff43ceb3d32  guix-build-10d56530e097/output/riscv64-linux-gnu/bitcoin-10d56530e097-riscv64-linux-gnu-debug.tar.gz
    06aad03534b5986d1a091f0f04289c38197041342b5a398205feb7b5fa94a880  guix-build-10d56530e097/output/riscv64-linux-gnu/bitcoin-10d56530e097-riscv64-linux-gnu.tar.gz
    c82ca396f11e6383f5d4a9c616fd070d642702841c477001f2577a0830c96a82  guix-build-10d56530e097/output/x86_64-apple-darwin/SHA256SUMS.part
    835cc72a7582e8d049efeca7d074aa4ce73699dc7c9f0545a4b69cf8f72a3b01  guix-build-10d56530e097/output/x86_64-apple-darwin/bitcoin-10d56530e097-x86_64-apple-darwin-unsigned.tar.gz
    37af26f6761bd0a731c355b66d6f763f179142f6c6661c81e45bca8e5458fc50  guix-build-10d56530e097/output/x86_64-apple-darwin/bitcoin-10d56530e097-x86_64-apple-darwin-unsigned.zip
    b239b17dd90875baf50cb4426115a5b26f3c64fc817124ec157183c58bccaef1  guix-build-10d56530e097/output/x86_64-apple-darwin/bitcoin-10d56530e097-x86_64-apple-darwin.tar.gz
    b6a114afbce9f51332feeda77e51360fce8c9e090dbdd51f5d7953f3b53024e9  guix-build-10d56530e097/output/x86_64-linux-gnu/SHA256SUMS.part
    99a2d0f622a9b9e99e5c334ec97f0dfb60ae2d1e159a84ae3d764aff7f05c973  guix-build-10d56530e097/output/x86_64-linux-gnu/bitcoin-10d56530e097-x86_64-linux-gnu-debug.tar.gz
    eac4a6d47595f28dd92fa770ad361c649123fc01c2337f5160f82937ee3c1ced  guix-build-10d56530e097/output/x86_64-linux-gnu/bitcoin-10d56530e097-x86_64-linux-gnu.tar.gz
    9ce4d66d6d89efcb90d4cff27e0430267930484244a420254b0842eb2255c63d  guix-build-10d56530e097/output/x86_64-w64-mingw32/SHA256SUMS.part
    c3c0420b702965b2a4b7f9d5528f75ac067f3717df33c26d79d2c6a43e62271d  guix-build-10d56530e097/output/x86_64-w64-mingw32/bitcoin-10d56530e097-win64-debug.zip
    402938d010fed8140953425e77d6c0adf432bc0b6c3bc41b202fc3ab57dc3e78  guix-build-10d56530e097/output/x86_64-w64-mingw32/bitcoin-10d56530e097-win64-setup-unsigned.exe
    98c9a31988b46554a696d30576590b7999a8957020bf8942caf0e499094794f7  guix-build-10d56530e097/output/x86_64-w64-mingw32/bitcoin-10d56530e097-win64-unsigned.tar.gz
    37360c7fd4fae718c581a76e820bf495ea4470d6938c02c7ff3561523bcca3ca  guix-build-10d56530e097/output/x86_64-w64-mingw32/bitcoin-10d56530e097-win64.zip
    
  147. TheCharlatan approved
  148. TheCharlatan commented at 4:58 PM on March 13, 2024: contributor

    ACK 10d56530e097cbf70f7ecbc464550d89b4d91b87

  149. DrahtBot requested review from theuni on Mar 13, 2024
  150. DrahtBot requested review from hebasto on Mar 13, 2024
  151. fanquake merged this on Mar 14, 2024
  152. fanquake closed this on Mar 14, 2024

  153. fanquake deleted the branch on Mar 14, 2024
  154. hebasto commented at 3:30 PM on March 18, 2024: member

    Post-merge ACK 10d56530e097cbf70f7ecbc464550d89b4d91b87.

    I'm still a bit confused as to why the new -mcrtdll option for MinGW target is still not recognized by the compiler.

  155. fanquake commented at 10:40 AM on March 22, 2024: member

    I'm still a bit confused as to why the new -mcrtdll option for MinGW target is still not recognized by the compiler.

    That option hasn't yet been released in any version of GCC (it will be in GCC 14).

  156. UdjinM6 referenced this in commit 38630772f8 on May 9, 2024
  157. UdjinM6 referenced this in commit 695c8b1466 on May 9, 2024
  158. UdjinM6 referenced this in commit 5475d91dd7 on May 9, 2024
  159. achow101 referenced this in commit 714d9e8fc1 on Oct 4, 2024
  160. achow101 referenced this in commit ed97a52283 on Oct 4, 2024
  161. achow101 referenced this in commit 7cfeff1b3b on Oct 4, 2024
  162. kwvg referenced this in commit a919308174 on Nov 4, 2024
  163. kwvg referenced this in commit c1609c2fe4 on Nov 5, 2024
  164. kwvg referenced this in commit 59a125a5ad on Nov 10, 2024
  165. PastaPastaPasta referenced this in commit be97bfeedc on Nov 12, 2024
  166. Fabcien referenced this in commit e07e5b352b on Nov 29, 2024
  167. roqqit referenced this in commit 2425bd51df on Dec 2, 2024
  168. knst referenced this in commit 09af7b78c9 on Dec 26, 2024
  169. luke-jr referenced this in commit 1796674827 on Feb 15, 2025
  170. bitcoin locked this on Mar 22, 2025

github-metadata-mirror

This is a metadata mirror of the GitHub repository bitcoin/bitcoin. This site is not affiliated with GitHub. Content is generated from a GitHub metadata backup.
generated: 2026-04-22 18:13 UTC

This site is hosted by @0xB10C
More mirrored repositories can be found on mirror.b10c.me