build: remove glibc back compat #22930

pull fanquake wants to merge 4 commits into bitcoin:master from fanquake:remove_glibc_back_commpat changing 8 files +9 −97
  1. fanquake commented at 8:04 AM on September 9, 2021: member

    This removes our glibc backwards compatibility code (glibcxx sanity checks remain), which is no-longer used for release builds.

    With these changes our minimum required glibc remains at 2.17, as Guix builds are done with --disable-thread-local.

    Guix builds:

    d9024376ac06b836800b942fcbe8a6454866ded652e41c43d605255f840e8183  guix-build-76630cbfb924/output/aarch64-linux-gnu/SHA256SUMS.part
    bea9607f111b7a501e2410e59ccfca6f83ea075edb299d2f9b878860a4f1ad50  guix-build-76630cbfb924/output/aarch64-linux-gnu/bitcoin-76630cbfb924-aarch64-linux-gnu-debug.tar.gz
    b41d7eaec5b598f146ead32a40c0e2281d22138c02a7000fb154fe8ff341ab9d  guix-build-76630cbfb924/output/aarch64-linux-gnu/bitcoin-76630cbfb924-aarch64-linux-gnu.tar.gz
    9ec0e1b2cd4ca55d5c12354325d7c4552333f1bad7e620db247eb24e15500210  guix-build-76630cbfb924/output/arm-linux-gnueabihf/SHA256SUMS.part
    dbb3e92a3b7d6460e0d5319f49c91eb65593d8604807c1b3084c9d657b198271  guix-build-76630cbfb924/output/arm-linux-gnueabihf/bitcoin-76630cbfb924-arm-linux-gnueabihf-debug.tar.gz
    ff2fa70b01f92b9fba9f0216deebc3e511d84ff93a7316f6766a405160a20483  guix-build-76630cbfb924/output/arm-linux-gnueabihf/bitcoin-76630cbfb924-arm-linux-gnueabihf.tar.gz
    486586b4f3e81855a52e5410127b92f6dde9d1eede2720de260b13552a4b4823  guix-build-76630cbfb924/output/dist-archive/bitcoin-76630cbfb924.tar.gz
    466ccc848c39c0ca85c4575c2bfcd1bc7aba2caa5ba8a42147cce60be5120bf6  guix-build-76630cbfb924/output/powerpc64-linux-gnu/SHA256SUMS.part
    4c739da127df3738e993dcef48ec8f005b7d7938060197c718e771cdd18c2087  guix-build-76630cbfb924/output/powerpc64-linux-gnu/bitcoin-76630cbfb924-powerpc64-linux-gnu-debug.tar.gz
    2294fc23c170d63fc03085d56ba8653e3cf0cff15c8bd5680faa7b7552e1db07  guix-build-76630cbfb924/output/powerpc64-linux-gnu/bitcoin-76630cbfb924-powerpc64-linux-gnu.tar.gz
    7be025478c51a1ba7884a7c2f090a1311651fc218d706051b1830cbc4e82ee4d  guix-build-76630cbfb924/output/powerpc64le-linux-gnu/SHA256SUMS.part
    30600ad6d9bfe70b68a2a4bedc733b56b26232a45d4491b1a6fa30b76cd3f690  guix-build-76630cbfb924/output/powerpc64le-linux-gnu/bitcoin-76630cbfb924-powerpc64le-linux-gnu-debug.tar.gz
    70528805fae16b95d1df46011511ca1c2616fb89422c0164e30d02fa0193b6a1  guix-build-76630cbfb924/output/powerpc64le-linux-gnu/bitcoin-76630cbfb924-powerpc64le-linux-gnu.tar.gz
    20f4daaa095803e9c34ed8b119f948e3e61d03b4d5814e4b15ca285c2ba5a109  guix-build-76630cbfb924/output/riscv64-linux-gnu/SHA256SUMS.part
    6f969d6b6561ea87d1e54a3a643640da54e4e33d2470dbc607ad27f3a87a0f1d  guix-build-76630cbfb924/output/riscv64-linux-gnu/bitcoin-76630cbfb924-riscv64-linux-gnu-debug.tar.gz
    7c1e925d199d21781c96e9ee8d63d5eac995cbe2574ccedd81c0938531f694c1  guix-build-76630cbfb924/output/riscv64-linux-gnu/bitcoin-76630cbfb924-riscv64-linux-gnu.tar.gz
    d0f13a7a9fcd95669cbab3b637940c2014632405037959989768ec2ffa7fd861  guix-build-76630cbfb924/output/x86_64-apple-darwin18/SHA256SUMS.part
    ff23fbdd72fd42140bf11773866061cd5571b66d65bbd769b1345969d195b7ce  guix-build-76630cbfb924/output/x86_64-apple-darwin18/bitcoin-76630cbfb924-osx-unsigned.dmg
    1b51f4a7611b85d4f599291f42887643ddd59babfc6fb71284793123d8a6be33  guix-build-76630cbfb924/output/x86_64-apple-darwin18/bitcoin-76630cbfb924-osx-unsigned.tar.gz
    e0dc9be66c3dc9ba30c5224cf0499ef02b3b7e213081561a6d57d5cc76b3e9a7  guix-build-76630cbfb924/output/x86_64-apple-darwin18/bitcoin-76630cbfb924-osx64.tar.gz
    ae3fb0320a0f39dae48354fe74f3d071b16b33920b3b7b27244658439fdfbc93  guix-build-76630cbfb924/output/x86_64-linux-gnu/SHA256SUMS.part
    9545ccf26a930a3f876058bb0c4965e1320a354ee2d9ce27d95f8bdd2e8679a6  guix-build-76630cbfb924/output/x86_64-linux-gnu/bitcoin-76630cbfb924-x86_64-linux-gnu-debug.tar.gz
    4827206220eaa2b36ebb44b68035c6bda0cec0c2f1b27c08b8349f2f7b3f56d5  guix-build-76630cbfb924/output/x86_64-linux-gnu/bitcoin-76630cbfb924-x86_64-linux-gnu.tar.gz
    c2ad3ed62b2ac41a25a43e1c38869a588bf93853cae4502880adf0b66ce30369  guix-build-76630cbfb924/output/x86_64-w64-mingw32/SHA256SUMS.part
    a88ee3a0cb715d32cf12cb164d8fe4d9c4c810cc417426f3aacc4e7f08460271  guix-build-76630cbfb924/output/x86_64-w64-mingw32/bitcoin-76630cbfb924-win-unsigned.tar.gz
    7673ac8df641d185ea7a150ed27eeee9645168e126d186c6ae935eefdff9edae  guix-build-76630cbfb924/output/x86_64-w64-mingw32/bitcoin-76630cbfb924-win64-debug.zip
    b90d243d292d1b603d744639e5061917035bd8fba6acd0bb61f10479a200f5aa  guix-build-76630cbfb924/output/x86_64-w64-mingw32/bitcoin-76630cbfb924-win64-setup-unsigned.exe
    fe69d000da647e0fb7ab19252149be4b45af742223b4c37630200b1d5b43de33  guix-build-76630cbfb924/output/x86_64-w64-mingw32/bitcoin-76630cbfb924-win64.zip
    
  2. fanquake added the label Build system on Sep 9, 2021
  3. fanquake added the label DrahtBot Guix build requested on Sep 9, 2021
  4. fanquake renamed this:
    build: remove glibc back commpat
    build: remove glibc back compat
    on Sep 9, 2021
  5. in doc/dependencies.md:15 in 9472037886 outdated
      11 | @@ -12,6 +12,7 @@ These are the dependencies currently used by Bitcoin Core. You can find instruct
      12 |  | fontconfig | [2.12.1](https://www.freedesktop.org/software/fontconfig/release/) |  | No | Yes |  |
      13 |  | FreeType | [2.7.1](https://download.savannah.gnu.org/releases/freetype) |  | No |  | [Yes](https://github.com/bitcoin/bitcoin/blob/master/depends/packages/qt.mk) (Android only) |
      14 |  | GCC |  | [7+](https://gcc.gnu.org/) (C++17 support) |  |  |  |
      15 | +| glibc | | 2.17 |  |  |  |  |
    


    laanwj commented at 8:41 AM on September 9, 2021:

    you could add a link to https://www.gnu.org/software/libc/


    fanquake commented at 1:46 PM on September 9, 2021:

    I've added a link.

  6. in src/compat/glibc_compat.cpp:18 in 9472037886 outdated
      13 | -
      14 | -extern "C" int64_t __udivmoddi4(uint64_t u, uint64_t v, uint64_t* rp);
      15 | -
      16 | -extern "C" int64_t __wrap___divmoddi4(int64_t u, int64_t v, int64_t* rp)
      17 | -{
      18 | -    int32_t c1 = 0, c2 = 0;
    


    laanwj commented at 8:44 AM on September 9, 2021:

    Quite happy to see this code go.

  7. DrahtBot commented at 12:43 PM on September 9, 2021: member

    <!--e57a25ab6845829454e8d69fc972939a-->

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

    <!--174a7506f384e20aa4161008e828411d-->

    Conflicts

    Reviewers, this pull request conflicts with the following ones:

    • #22975 (scripted-diff: update license URLs to https by div72)
    • #20744 (Use std::filesystem. Remove Boost Filesystem & System by fanquake)
    • #19013 (test: add v0.20.1 and v0.21.0 to backwards compatibility test by Sjors)
    • #9245 (Drop IO priority to idle while reading blocks for peer requests and startup verification by luke-jr)

    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.

  8. fanquake force-pushed on Sep 9, 2021
  9. remove --enable-glibc-back-compat from CI and docs 2ef0accefc
  10. build: remove glibc-back-compat from build system
    At this point, or minimum required glibc is implicitly 2.18, due to
    thread_local support being enabled by default. However, users can
    disable thread_local support to maintain 2.17 ccompat for now, which is
    currently done in the Guix build.
    62e45da945
  11. compat: remove glibc_compat.cpp a907704e7f
  12. doc: add glibc to dependencies.md 76630cbfb9
  13. fanquake force-pushed on Sep 10, 2021
  14. fanquake commented at 5:21 AM on September 10, 2021: member

    Rebased for the CI, updated the PR description and Guix hashes.

  15. fanquake marked this as ready for review on Sep 10, 2021
  16. hebasto commented at 10:47 AM on September 10, 2021: member

    Guix builds:

    $ find guix-build-$(git rev-parse --short=12 HEAD)/output/ -type f -print0 | env LC_ALL=C sort -z | xargs -r0 sha256sum
    d9024376ac06b836800b942fcbe8a6454866ded652e41c43d605255f840e8183  guix-build-76630cbfb924/output/aarch64-linux-gnu/SHA256SUMS.part
    bea9607f111b7a501e2410e59ccfca6f83ea075edb299d2f9b878860a4f1ad50  guix-build-76630cbfb924/output/aarch64-linux-gnu/bitcoin-76630cbfb924-aarch64-linux-gnu-debug.tar.gz
    b41d7eaec5b598f146ead32a40c0e2281d22138c02a7000fb154fe8ff341ab9d  guix-build-76630cbfb924/output/aarch64-linux-gnu/bitcoin-76630cbfb924-aarch64-linux-gnu.tar.gz
    9ec0e1b2cd4ca55d5c12354325d7c4552333f1bad7e620db247eb24e15500210  guix-build-76630cbfb924/output/arm-linux-gnueabihf/SHA256SUMS.part
    dbb3e92a3b7d6460e0d5319f49c91eb65593d8604807c1b3084c9d657b198271  guix-build-76630cbfb924/output/arm-linux-gnueabihf/bitcoin-76630cbfb924-arm-linux-gnueabihf-debug.tar.gz
    ff2fa70b01f92b9fba9f0216deebc3e511d84ff93a7316f6766a405160a20483  guix-build-76630cbfb924/output/arm-linux-gnueabihf/bitcoin-76630cbfb924-arm-linux-gnueabihf.tar.gz
    486586b4f3e81855a52e5410127b92f6dde9d1eede2720de260b13552a4b4823  guix-build-76630cbfb924/output/dist-archive/bitcoin-76630cbfb924.tar.gz
    466ccc848c39c0ca85c4575c2bfcd1bc7aba2caa5ba8a42147cce60be5120bf6  guix-build-76630cbfb924/output/powerpc64-linux-gnu/SHA256SUMS.part
    4c739da127df3738e993dcef48ec8f005b7d7938060197c718e771cdd18c2087  guix-build-76630cbfb924/output/powerpc64-linux-gnu/bitcoin-76630cbfb924-powerpc64-linux-gnu-debug.tar.gz
    2294fc23c170d63fc03085d56ba8653e3cf0cff15c8bd5680faa7b7552e1db07  guix-build-76630cbfb924/output/powerpc64-linux-gnu/bitcoin-76630cbfb924-powerpc64-linux-gnu.tar.gz
    7be025478c51a1ba7884a7c2f090a1311651fc218d706051b1830cbc4e82ee4d  guix-build-76630cbfb924/output/powerpc64le-linux-gnu/SHA256SUMS.part
    30600ad6d9bfe70b68a2a4bedc733b56b26232a45d4491b1a6fa30b76cd3f690  guix-build-76630cbfb924/output/powerpc64le-linux-gnu/bitcoin-76630cbfb924-powerpc64le-linux-gnu-debug.tar.gz
    70528805fae16b95d1df46011511ca1c2616fb89422c0164e30d02fa0193b6a1  guix-build-76630cbfb924/output/powerpc64le-linux-gnu/bitcoin-76630cbfb924-powerpc64le-linux-gnu.tar.gz
    20f4daaa095803e9c34ed8b119f948e3e61d03b4d5814e4b15ca285c2ba5a109  guix-build-76630cbfb924/output/riscv64-linux-gnu/SHA256SUMS.part
    6f969d6b6561ea87d1e54a3a643640da54e4e33d2470dbc607ad27f3a87a0f1d  guix-build-76630cbfb924/output/riscv64-linux-gnu/bitcoin-76630cbfb924-riscv64-linux-gnu-debug.tar.gz
    7c1e925d199d21781c96e9ee8d63d5eac995cbe2574ccedd81c0938531f694c1  guix-build-76630cbfb924/output/riscv64-linux-gnu/bitcoin-76630cbfb924-riscv64-linux-gnu.tar.gz
    d0f13a7a9fcd95669cbab3b637940c2014632405037959989768ec2ffa7fd861  guix-build-76630cbfb924/output/x86_64-apple-darwin18/SHA256SUMS.part
    ff23fbdd72fd42140bf11773866061cd5571b66d65bbd769b1345969d195b7ce  guix-build-76630cbfb924/output/x86_64-apple-darwin18/bitcoin-76630cbfb924-osx-unsigned.dmg
    1b51f4a7611b85d4f599291f42887643ddd59babfc6fb71284793123d8a6be33  guix-build-76630cbfb924/output/x86_64-apple-darwin18/bitcoin-76630cbfb924-osx-unsigned.tar.gz
    e0dc9be66c3dc9ba30c5224cf0499ef02b3b7e213081561a6d57d5cc76b3e9a7  guix-build-76630cbfb924/output/x86_64-apple-darwin18/bitcoin-76630cbfb924-osx64.tar.gz
    ae3fb0320a0f39dae48354fe74f3d071b16b33920b3b7b27244658439fdfbc93  guix-build-76630cbfb924/output/x86_64-linux-gnu/SHA256SUMS.part
    9545ccf26a930a3f876058bb0c4965e1320a354ee2d9ce27d95f8bdd2e8679a6  guix-build-76630cbfb924/output/x86_64-linux-gnu/bitcoin-76630cbfb924-x86_64-linux-gnu-debug.tar.gz
    4827206220eaa2b36ebb44b68035c6bda0cec0c2f1b27c08b8349f2f7b3f56d5  guix-build-76630cbfb924/output/x86_64-linux-gnu/bitcoin-76630cbfb924-x86_64-linux-gnu.tar.gz
    c2ad3ed62b2ac41a25a43e1c38869a588bf93853cae4502880adf0b66ce30369  guix-build-76630cbfb924/output/x86_64-w64-mingw32/SHA256SUMS.part
    a88ee3a0cb715d32cf12cb164d8fe4d9c4c810cc417426f3aacc4e7f08460271  guix-build-76630cbfb924/output/x86_64-w64-mingw32/bitcoin-76630cbfb924-win-unsigned.tar.gz
    7673ac8df641d185ea7a150ed27eeee9645168e126d186c6ae935eefdff9edae  guix-build-76630cbfb924/output/x86_64-w64-mingw32/bitcoin-76630cbfb924-win64-debug.zip
    b90d243d292d1b603d744639e5061917035bd8fba6acd0bb61f10479a200f5aa  guix-build-76630cbfb924/output/x86_64-w64-mingw32/bitcoin-76630cbfb924-win64-setup-unsigned.exe
    fe69d000da647e0fb7ab19252149be4b45af742223b4c37630200b1d5b43de33  guix-build-76630cbfb924/output/x86_64-w64-mingw32/bitcoin-76630cbfb924-win64.zip
    
  17. DrahtBot commented at 7:19 PM on September 10, 2021: member

    <!--9cd9c72976c961c55c7acef8f6ba82cd-->

    Guix builds

    File commit d2dd1697cee9d6d0f13f9cb351bce84eaa4a72b4<br>(master) commit 8679c31ec6d8d0181d7cee6d3d0c2b20249f3060<br>(master and this pull)
    SHA256SUMS.part 2a73ba2950c7598c... 33b9f40ad40c7327...
    *-aarch64-linux-gnu-debug.tar.gz d8485116e054f735... 18339d5c573f107f...
    *-aarch64-linux-gnu.tar.gz 0445022e0c7671cd... 944316bd7b7b74a9...
    *-arm-linux-gnueabihf-debug.tar.gz b44eff4df4581bff... 142ceba7c70ee89e...
    *-arm-linux-gnueabihf.tar.gz fa2059b7214af245... cde01b2d4b8edc30...
    *-osx-unsigned.dmg 876e8e01be77c46f... 8de18f2935a4b8be...
    *-osx-unsigned.tar.gz 8c15f0543108b481... e948cce1f897c3a3...
    *-osx64.tar.gz 0ffcd33b5cc13cc6... ddd99cdcb5bd90ad...
    *-powerpc64-linux-gnu-debug.tar.gz 5622a4226975adc7... 2bfcd6df35368663...
    *-powerpc64-linux-gnu.tar.gz f74766c80155c096... 82c011a7d9167bbc...
    *-powerpc64le-linux-gnu-debug.tar.gz c16c2be960b9fded... 4d98d2c222ca20f9...
    *-powerpc64le-linux-gnu.tar.gz ba410141c2775197... cc9253016bff629f...
    *-riscv64-linux-gnu-debug.tar.gz 4623302315b334c0... 09578f14c484fde4...
    *-riscv64-linux-gnu.tar.gz fd0962000938f373... 15d4ee4978950a8e...
    *-win-unsigned.tar.gz b0d0bfedf2cdea76... 9a90d1674f78a693...
    *-win64-debug.zip 3be8a6760700fcfb... 5b42eeaaef70da7f...
    *-win64-setup-unsigned.exe 4fb984be8e718674... e05e39176a9822e5...
    *-win64.zip b9a322f0648f6f6a... 9ea092d590de936d...
    *-x86_64-linux-gnu-debug.tar.gz 6971bdf03f5d6c7d... 818848b43bb12d18...
    *-x86_64-linux-gnu.tar.gz 75ce4d4a8159457a... c5fc820785e5879e...
    *.tar.gz 00bd6317c936a261... 3a14b73ecefea486...
    guix_build.log 0b20a98aa258a322... 8cfb2683d35416ea...
    guix_build.log.diff 0a320b5d5ca1a1d0...
  18. DrahtBot removed the label DrahtBot Guix build requested on Sep 10, 2021
  19. laanwj commented at 4:56 PM on September 16, 2021: member

    Code review ACK 76630cbfb9247a78c7760aa8dca62c6b599a0c7c Have verified that no uses nor mentions of --enable-glibc-back-compat stay behind.

  20. laanwj merged this on Sep 16, 2021
  21. laanwj closed this on Sep 16, 2021

  22. fanquake deleted the branch on Sep 17, 2021
  23. sidhujag referenced this in commit 3852d97c0c on Sep 20, 2021
  24. fanquake referenced this in commit cc61bc2e19 on May 28, 2022
  25. MarcoFalke referenced this in commit 8779adbdda on May 30, 2022
  26. DrahtBot locked this on Oct 30, 2022

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-13 21:14 UTC

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