depends: compile FastFixedDtoa with -O1 to fix cross-arch reproducibility for arm32 #25643

pull fanquake wants to merge 1 commits into bitcoin:master from fanquake:libdouble_non_determinism changing 2 files +22 −0
  1. fanquake commented at 11:22 am on July 19, 2022: member

    This fixes a non-determinism issue in the asm produced for this function when cross-compiling on x86_64 and aarch64 for the arm-linux-gnueabihf HOST.

    Related to #21194. Alternative to #25636. Initial discussion in #24615 (comment).

    Guix Build (x86_64):

    028ae0ec2874ead334edd1c5dc509344379d82f7058b649c9076992defd7190d7  guix-build-c32fa85909dd/output/arm-linux-gnueabihf/SHA256SUMS.part
    148d34073b029c4f62c8e1bd906533610228d5ca0bb5eefea6010dfa7372ba067  guix-build-c32fa85909dd/output/arm-linux-gnueabihf/bitcoin-c32fa85909dd-arm-linux-gnueabihf-debug.tar.gz
    2850d6e9859e88bcb93ed586bdb0c0bc95a44249d6a0ec1b1d13125cb9dd56413  guix-build-c32fa85909dd/output/arm-linux-gnueabihf/bitcoin-c32fa85909dd-arm-linux-gnueabihf.tar.gz
    3b8bb092b1307684ea4b53d810ac110ec14f29eeab8028d924d1cac7418009b14  guix-build-c32fa85909dd/output/dist-archive/bitcoin-c32fa85909dd.tar.gz
    

    Guix Build (arm64):

    028ae0ec2874ead334edd1c5dc509344379d82f7058b649c9076992defd7190d7  guix-build-c32fa85909dd/output/arm-linux-gnueabihf/SHA256SUMS.part
    148d34073b029c4f62c8e1bd906533610228d5ca0bb5eefea6010dfa7372ba067  guix-build-c32fa85909dd/output/arm-linux-gnueabihf/bitcoin-c32fa85909dd-arm-linux-gnueabihf-debug.tar.gz
    2850d6e9859e88bcb93ed586bdb0c0bc95a44249d6a0ec1b1d13125cb9dd56413  guix-build-c32fa85909dd/output/arm-linux-gnueabihf/bitcoin-c32fa85909dd-arm-linux-gnueabihf.tar.gz
    3b8bb092b1307684ea4b53d810ac110ec14f29eeab8028d924d1cac7418009b14  guix-build-c32fa85909dd/output/dist-archive/bitcoin-c32fa85909dd.tar.gz
    
  2. depends: modify FastFixedDtoa optimisation flags
    This fixes a non-determinism issue in the asm produced for
    this function when cross-compiling on x86_64 and aarch64 for
    the arm-linux-gnueabihf HOST.
    
    Related to #21194.
    c32fa85909
  3. fanquake added the label Build system on Jul 19, 2022
  4. DrahtBot commented at 11:53 am on July 19, 2022: contributor

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

    Conflicts

    Reviewers, this pull request conflicts with the following ones:

    • #21778 (build: LLVM 14 & 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.

  5. hebasto commented at 1:51 pm on July 19, 2022: member

    Guix builds:

    • on x86_64:
     0b5bc66db31e8ed7388e73fc0b2fe33a024f8085ed3b7c0b3853a137fda77bb56  guix-build-c32fa85909dd/output/aarch64-linux-gnu/SHA256SUMS.part
     167a2ba1bccbb578b5097173701ab2808062da55c59aca3d29e5d9789391dd2fd  guix-build-c32fa85909dd/output/aarch64-linux-gnu/bitcoin-c32fa85909dd-aarch64-linux-gnu-debug.tar.gz
     21885ef8cee240380a6f65b83a2327774c6c1ef8550536bf1f747ab8e41073aae  guix-build-c32fa85909dd/output/aarch64-linux-gnu/bitcoin-c32fa85909dd-aarch64-linux-gnu.tar.gz
     328ae0ec2874ead334edd1c5dc509344379d82f7058b649c9076992defd7190d7  guix-build-c32fa85909dd/output/arm-linux-gnueabihf/SHA256SUMS.part
     448d34073b029c4f62c8e1bd906533610228d5ca0bb5eefea6010dfa7372ba067  guix-build-c32fa85909dd/output/arm-linux-gnueabihf/bitcoin-c32fa85909dd-arm-linux-gnueabihf-debug.tar.gz
     5850d6e9859e88bcb93ed586bdb0c0bc95a44249d6a0ec1b1d13125cb9dd56413  guix-build-c32fa85909dd/output/arm-linux-gnueabihf/bitcoin-c32fa85909dd-arm-linux-gnueabihf.tar.gz
     6569062c6d55c8e4ef7c7732d486aff0788c3c97fc466052f2034a477d3b2ed33  guix-build-c32fa85909dd/output/arm64-apple-darwin/SHA256SUMS.part
     7f1a647d5cb8882ffa3db7ef32f8c7069288ba41ee988361040f006b0a20d8551  guix-build-c32fa85909dd/output/arm64-apple-darwin/bitcoin-c32fa85909dd-arm64-apple-darwin-unsigned.dmg
     89e3293dcf609beaedd33e1291edc44837df09684520c9f0e6e19a21a3423eeb6  guix-build-c32fa85909dd/output/arm64-apple-darwin/bitcoin-c32fa85909dd-arm64-apple-darwin-unsigned.tar.gz
     97af4ca1f6f3e50164024fa6abaecf15287599bd69376480c934539e579ac819b  guix-build-c32fa85909dd/output/arm64-apple-darwin/bitcoin-c32fa85909dd-arm64-apple-darwin.tar.gz
    10b8bb092b1307684ea4b53d810ac110ec14f29eeab8028d924d1cac7418009b14  guix-build-c32fa85909dd/output/dist-archive/bitcoin-c32fa85909dd.tar.gz
    11603f8b32b83a255af37cf57e408f9f19fab98a0ffe646ac6d8be60348ea75349  guix-build-c32fa85909dd/output/powerpc64-linux-gnu/SHA256SUMS.part
    129227c6bf563955c5e742c7d1f7fd685d77cee5fe93251f8d0d05fb02335cc923  guix-build-c32fa85909dd/output/powerpc64-linux-gnu/bitcoin-c32fa85909dd-powerpc64-linux-gnu-debug.tar.gz
    136822927637e87c295b2a96aa6443d0259d0940e89c678d11c6cc361603e92556  guix-build-c32fa85909dd/output/powerpc64-linux-gnu/bitcoin-c32fa85909dd-powerpc64-linux-gnu.tar.gz
    14567ddf591a3299cf128eb65cf3b6ef50a94334f613c88aa287edbf76c14b5c42  guix-build-c32fa85909dd/output/powerpc64le-linux-gnu/SHA256SUMS.part
    15d9f5497e3d3aecb0951ec73068d0b8f96dd833ad449c38073463eb72c9a91d88  guix-build-c32fa85909dd/output/powerpc64le-linux-gnu/bitcoin-c32fa85909dd-powerpc64le-linux-gnu-debug.tar.gz
    1625b44115a5163df603979dcc6e087d96d70a8f05e8a1e052e311a6d51cbc7557  guix-build-c32fa85909dd/output/powerpc64le-linux-gnu/bitcoin-c32fa85909dd-powerpc64le-linux-gnu.tar.gz
    175528ca65114041c5af8a6684fb331eca4e99c5b1f93b9b65ba0a4601537f7c96  guix-build-c32fa85909dd/output/riscv64-linux-gnu/SHA256SUMS.part
    18298c05e971bff54f602e5ba5535643f36c37b46f6fdeeb784fba985fc4884fbd  guix-build-c32fa85909dd/output/riscv64-linux-gnu/bitcoin-c32fa85909dd-riscv64-linux-gnu-debug.tar.gz
    198b4c6af85b12c614a6bd5efe4415b7d12c01d5b4e7fcdef799a22bf608c8cff1  guix-build-c32fa85909dd/output/riscv64-linux-gnu/bitcoin-c32fa85909dd-riscv64-linux-gnu.tar.gz
    20426652b77e060c53da7b5838bd5ca98efcce922538b32710bfd12394564dad25  guix-build-c32fa85909dd/output/x86_64-apple-darwin/SHA256SUMS.part
    21b800cf0317c5eb595bcac509ce31252f5c492dae7eef3389926f08eba6424429  guix-build-c32fa85909dd/output/x86_64-apple-darwin/bitcoin-c32fa85909dd-x86_64-apple-darwin-unsigned.dmg
    22abba166d2975015db94e3602f0382328722a1ff38be67cf0de970c92d300c457  guix-build-c32fa85909dd/output/x86_64-apple-darwin/bitcoin-c32fa85909dd-x86_64-apple-darwin-unsigned.tar.gz
    233309a1d25094364ac101e35f9656a8788330fb8eda4982f115a2921ff8d8a74d  guix-build-c32fa85909dd/output/x86_64-apple-darwin/bitcoin-c32fa85909dd-x86_64-apple-darwin.tar.gz
    24f339b2c7f54a2fa01a49051f0dafa78b6054919b0ab90c683141e7e006b02f0c  guix-build-c32fa85909dd/output/x86_64-linux-gnu/SHA256SUMS.part
    25616668014c88b0f5daf4d9a47def48b9566e0a6a4d4629ed6be570e313adea6d  guix-build-c32fa85909dd/output/x86_64-linux-gnu/bitcoin-c32fa85909dd-x86_64-linux-gnu-debug.tar.gz
    2632c0a40e4a67877ca74a34fbf427f22e6ad7d8a4b6febdf867b935f75d6e5146  guix-build-c32fa85909dd/output/x86_64-linux-gnu/bitcoin-c32fa85909dd-x86_64-linux-gnu.tar.gz
    2783eed03f1d462caf5e8af1fa81b4ec4cbc017b5aea18f8b04493050a1d7d936c  guix-build-c32fa85909dd/output/x86_64-w64-mingw32/SHA256SUMS.part
    28c51ed9156f94ecae44545fbbf58972135f05927baca4e37bb4bed7113f47db55  guix-build-c32fa85909dd/output/x86_64-w64-mingw32/bitcoin-c32fa85909dd-win64-debug.zip
    29ef61346e0909ce6c1374072a954947ffc1a297749518627f2b1b800cc555ea21  guix-build-c32fa85909dd/output/x86_64-w64-mingw32/bitcoin-c32fa85909dd-win64-setup-unsigned.exe
    306eff6dd7fb7f2e91a3140ed59ec32259994f46df4a5770c9a82faef24a4d6d04  guix-build-c32fa85909dd/output/x86_64-w64-mingw32/bitcoin-c32fa85909dd-win64-unsigned.tar.gz
    315d9beee91717d3af8410c5916ff27aae1542a1789b699aa5b6f7fd40e76261f7  guix-build-c32fa85909dd/output/x86_64-w64-mingw32/bitcoin-c32fa85909dd-win64.zip
    
    • on arm64:
     028ae0ec2874ead334edd1c5dc509344379d82f7058b649c9076992defd7190d7  guix-build-c32fa85909dd/output/arm-linux-gnueabihf/SHA256SUMS.part
     148d34073b029c4f62c8e1bd906533610228d5ca0bb5eefea6010dfa7372ba067  guix-build-c32fa85909dd/output/arm-linux-gnueabihf/bitcoin-c32fa85909dd-arm-linux-gnueabihf-debug.tar.gz
     2850d6e9859e88bcb93ed586bdb0c0bc95a44249d6a0ec1b1d13125cb9dd56413  guix-build-c32fa85909dd/output/arm-linux-gnueabihf/bitcoin-c32fa85909dd-arm-linux-gnueabihf.tar.gz
     35f9483279d0c45659bd47d7b7828187f278c47f09a5d882d04b465e3460521e1  guix-build-c32fa85909dd/output/arm64-apple-darwin/SHA256SUMS.part
     4b00e32b02cc75774bc06d2e4b88dbfd2e6273e25cf2af3053d7e1a570df340bb  guix-build-c32fa85909dd/output/arm64-apple-darwin/bitcoin-c32fa85909dd-arm64-apple-darwin-unsigned.dmg
     5d158a2e48a469d4a883acd1afca7df6242b7a5215ad93782cfd44ebebf0ea616  guix-build-c32fa85909dd/output/arm64-apple-darwin/bitcoin-c32fa85909dd-arm64-apple-darwin-unsigned.tar.gz
     66889957c9273e90a563245a2d8d3d788814860c1ab7ef411e9df25d4b9b7738c  guix-build-c32fa85909dd/output/arm64-apple-darwin/bitcoin-c32fa85909dd-arm64-apple-darwin.tar.gz
     7b8bb092b1307684ea4b53d810ac110ec14f29eeab8028d924d1cac7418009b14  guix-build-c32fa85909dd/output/dist-archive/bitcoin-c32fa85909dd.tar.gz
     8603f8b32b83a255af37cf57e408f9f19fab98a0ffe646ac6d8be60348ea75349  guix-build-c32fa85909dd/output/powerpc64-linux-gnu/SHA256SUMS.part
     99227c6bf563955c5e742c7d1f7fd685d77cee5fe93251f8d0d05fb02335cc923  guix-build-c32fa85909dd/output/powerpc64-linux-gnu/bitcoin-c32fa85909dd-powerpc64-linux-gnu-debug.tar.gz
    106822927637e87c295b2a96aa6443d0259d0940e89c678d11c6cc361603e92556  guix-build-c32fa85909dd/output/powerpc64-linux-gnu/bitcoin-c32fa85909dd-powerpc64-linux-gnu.tar.gz
    11567ddf591a3299cf128eb65cf3b6ef50a94334f613c88aa287edbf76c14b5c42  guix-build-c32fa85909dd/output/powerpc64le-linux-gnu/SHA256SUMS.part
    12d9f5497e3d3aecb0951ec73068d0b8f96dd833ad449c38073463eb72c9a91d88  guix-build-c32fa85909dd/output/powerpc64le-linux-gnu/bitcoin-c32fa85909dd-powerpc64le-linux-gnu-debug.tar.gz
    1325b44115a5163df603979dcc6e087d96d70a8f05e8a1e052e311a6d51cbc7557  guix-build-c32fa85909dd/output/powerpc64le-linux-gnu/bitcoin-c32fa85909dd-powerpc64le-linux-gnu.tar.gz
    145528ca65114041c5af8a6684fb331eca4e99c5b1f93b9b65ba0a4601537f7c96  guix-build-c32fa85909dd/output/riscv64-linux-gnu/SHA256SUMS.part
    15298c05e971bff54f602e5ba5535643f36c37b46f6fdeeb784fba985fc4884fbd  guix-build-c32fa85909dd/output/riscv64-linux-gnu/bitcoin-c32fa85909dd-riscv64-linux-gnu-debug.tar.gz
    168b4c6af85b12c614a6bd5efe4415b7d12c01d5b4e7fcdef799a22bf608c8cff1  guix-build-c32fa85909dd/output/riscv64-linux-gnu/bitcoin-c32fa85909dd-riscv64-linux-gnu.tar.gz
    17426652b77e060c53da7b5838bd5ca98efcce922538b32710bfd12394564dad25  guix-build-c32fa85909dd/output/x86_64-apple-darwin/SHA256SUMS.part
    18b800cf0317c5eb595bcac509ce31252f5c492dae7eef3389926f08eba6424429  guix-build-c32fa85909dd/output/x86_64-apple-darwin/bitcoin-c32fa85909dd-x86_64-apple-darwin-unsigned.dmg
    19abba166d2975015db94e3602f0382328722a1ff38be67cf0de970c92d300c457  guix-build-c32fa85909dd/output/x86_64-apple-darwin/bitcoin-c32fa85909dd-x86_64-apple-darwin-unsigned.tar.gz
    203309a1d25094364ac101e35f9656a8788330fb8eda4982f115a2921ff8d8a74d  guix-build-c32fa85909dd/output/x86_64-apple-darwin/bitcoin-c32fa85909dd-x86_64-apple-darwin.tar.gz
    21f339b2c7f54a2fa01a49051f0dafa78b6054919b0ab90c683141e7e006b02f0c  guix-build-c32fa85909dd/output/x86_64-linux-gnu/SHA256SUMS.part
    22616668014c88b0f5daf4d9a47def48b9566e0a6a4d4629ed6be570e313adea6d  guix-build-c32fa85909dd/output/x86_64-linux-gnu/bitcoin-c32fa85909dd-x86_64-linux-gnu-debug.tar.gz
    2332c0a40e4a67877ca74a34fbf427f22e6ad7d8a4b6febdf867b935f75d6e5146  guix-build-c32fa85909dd/output/x86_64-linux-gnu/bitcoin-c32fa85909dd-x86_64-linux-gnu.tar.gz
    2483eed03f1d462caf5e8af1fa81b4ec4cbc017b5aea18f8b04493050a1d7d936c  guix-build-c32fa85909dd/output/x86_64-w64-mingw32/SHA256SUMS.part
    25c51ed9156f94ecae44545fbbf58972135f05927baca4e37bb4bed7113f47db55  guix-build-c32fa85909dd/output/x86_64-w64-mingw32/bitcoin-c32fa85909dd-win64-debug.zip
    26ef61346e0909ce6c1374072a954947ffc1a297749518627f2b1b800cc555ea21  guix-build-c32fa85909dd/output/x86_64-w64-mingw32/bitcoin-c32fa85909dd-win64-setup-unsigned.exe
    276eff6dd7fb7f2e91a3140ed59ec32259994f46df4a5770c9a82faef24a4d6d04  guix-build-c32fa85909dd/output/x86_64-w64-mingw32/bitcoin-c32fa85909dd-win64-unsigned.tar.gz
    285d9beee91717d3af8410c5916ff27aae1542a1789b699aa5b6f7fd40e76261f7  guix-build-c32fa85909dd/output/x86_64-w64-mingw32/bitcoin-c32fa85909dd-win64.zip
    
  6. hebasto approved
  7. hebasto commented at 1:56 pm on July 19, 2022: member
    ACK c32fa85909dde8f7d61c2a291564f3f26884e170
  8. jarolrod commented at 5:40 pm on July 19, 2022: member

    GUIX hashes:

    x86:

    0$ env HOSTS='arm-linux-gnueabihf' ./contrib/guix/guix-build 
    1$ find guix-build-$(git rev-parse --short=12 HEAD)/output/ -type f -print0 | env LC_ALL=C sort -z | xargs -r0 sha256sum
    2
    328ae0ec2874ead334edd1c5dc509344379d82f7058b649c9076992defd7190d7  guix-build-c32fa85909dd/output/arm-linux-gnueabihf/SHA256SUMS.part
    448d34073b029c4f62c8e1bd906533610228d5ca0bb5eefea6010dfa7372ba067  guix-build-c32fa85909dd/output/arm-linux-gnueabihf/bitcoin-c32fa85909dd-arm-linux-gnueabihf-debug.tar.gz
    5850d6e9859e88bcb93ed586bdb0c0bc95a44249d6a0ec1b1d13125cb9dd56413  guix-build-c32fa85909dd/output/arm-linux-gnueabihf/bitcoin-c32fa85909dd-arm-linux-gnueabihf.tar.gz
    6b8bb092b1307684ea4b53d810ac110ec14f29eeab8028d924d1cac7418009b14  guix-build-c32fa85909dd/output/dist-archive/bitcoin-c32fa85909dd.tar.gz
    

    arm64:

    0$ env HOSTS='arm-linux-gnueabihf' ./contrib/guix/guix-build 
    1$ find guix-build-$(git rev-parse --short=12 HEAD)/output/ -type f -print0 | env LC_ALL=C sort -z | xargs -r0 sha256sum
    2
    328ae0ec2874ead334edd1c5dc509344379d82f7058b649c9076992defd7190d7  guix-build-c32fa85909dd/output/arm-linux-gnueabihf/SHA256SUMS.part
    448d34073b029c4f62c8e1bd906533610228d5ca0bb5eefea6010dfa7372ba067  guix-build-c32fa85909dd/output/arm-linux-gnueabihf/bitcoin-c32fa85909dd-arm-linux-gnueabihf-debug.tar.gz
    5850d6e9859e88bcb93ed586bdb0c0bc95a44249d6a0ec1b1d13125cb9dd56413  guix-build-c32fa85909dd/output/arm-linux-gnueabihf/bitcoin-c32fa85909dd-arm-linux-gnueabihf.tar.gz
    6b8bb092b1307684ea4b53d810ac110ec14f29eeab8028d924d1cac7418009b14  guix-build-c32fa85909dd/output/dist-archive/bitcoin-c32fa85909dd.tar.gz
    
  9. jarolrod approved
  10. jarolrod commented at 5:44 pm on July 19, 2022: member

    ACK c32fa85909dde8f7d61c2a291564f3f26884e170

    nice fix :)

  11. achow101 commented at 7:37 pm on July 19, 2022: member

    ACK c32fa85909dde8f7d61c2a291564f3f26884e170

    x86_64:

    028ae0ec2874ead334edd1c5dc509344379d82f7058b649c9076992defd7190d7  guix-build-c32fa85909dd/output/arm-linux-gnueabihf/SHA256SUMS.part
    148d34073b029c4f62c8e1bd906533610228d5ca0bb5eefea6010dfa7372ba067  guix-build-c32fa85909dd/output/arm-linux-gnueabihf/bitcoin-c32fa85909dd-arm-linux-gnueabihf-debug.tar.gz
    2850d6e9859e88bcb93ed586bdb0c0bc95a44249d6a0ec1b1d13125cb9dd56413  guix-build-c32fa85909dd/output/arm-linux-gnueabihf/bitcoin-c32fa85909dd-arm-linux-gnueabihf.tar.gz
    

    arm64:

    028ae0ec2874ead334edd1c5dc509344379d82f7058b649c9076992defd7190d7  guix-build-c32fa85909dd/output/arm-linux-gnueabihf/SHA256SUMS.part
    148d34073b029c4f62c8e1bd906533610228d5ca0bb5eefea6010dfa7372ba067  guix-build-c32fa85909dd/output/arm-linux-gnueabihf/bitcoin-c32fa85909dd-arm-linux-gnueabihf-debug.tar.gz
    2850d6e9859e88bcb93ed586bdb0c0bc95a44249d6a0ec1b1d13125cb9dd56413  guix-build-c32fa85909dd/output/arm-linux-gnueabihf/bitcoin-c32fa85909dd-arm-linux-gnueabihf.tar.gz
    
  12. achow101 merged this on Jul 19, 2022
  13. achow101 closed this on Jul 19, 2022

  14. fanquake deleted the branch on Jul 19, 2022
  15. sidhujag referenced this in commit 6f0ef72af6 on Jul 20, 2022
  16. kittywhiskers referenced this in commit e5a19200b0 on May 9, 2023
  17. kittywhiskers referenced this in commit 5ad82cebd7 on May 9, 2023
  18. Fabcien referenced this in commit 28ee03acf3 on May 26, 2023
  19. kittywhiskers referenced this in commit e4a5a34957 on May 31, 2023
  20. kittywhiskers referenced this in commit 8de1dc225f on Jun 8, 2023
  21. kittywhiskers referenced this in commit 60e65840d8 on Jun 11, 2023
  22. kittywhiskers referenced this in commit 695d73531e on Jun 11, 2023
  23. kittywhiskers referenced this in commit 17820d3276 on Jun 19, 2023
  24. kittywhiskers referenced this in commit 392bc0c74a on Jun 20, 2023
  25. kittywhiskers referenced this in commit 8136b0be94 on Jun 27, 2023
  26. kittywhiskers referenced this in commit 81781688bf on Jun 27, 2023
  27. kittywhiskers referenced this in commit 920f254ece on Jun 28, 2023
  28. kittywhiskers referenced this in commit d8155feae9 on Jun 28, 2023
  29. PastaPastaPasta referenced this in commit 30cd5ef2fa on Jun 29, 2023
  30. PastaPastaPasta referenced this in commit bfb3f4b0e0 on Jun 29, 2023
  31. bitcoin locked this on Jul 19, 2023

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: 2024-07-03 10:13 UTC

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