build: Avoid fcntl64@GLIBC_2.28 in libsqlite3.a #22305

pull hebasto wants to merge 2 commits into bitcoin:master from hebasto:210622-fcntl changing 2 files +8 −2
  1. hebasto commented at 1:22 am on June 22, 2021: member

    This PR is:

    • a partial fix for #21454 (see #22281 for the complete fix of the bitcoind compatibility)
    • a well documented alternative to the hackish #22287

    As noted in #22244 (comment):

    * `fcntl64` has a data reference, it's not ever called in the code (`objdump -d bitcoin-qt|grep fcntl64@plt` shows nothing)
    

    but on 64-bit systems the only offender is libsqlite3.a.

    From glibc docs:

    • The fcntl function now have a Long File Support variant named fcntl64. It is added to fix some Linux Open File Description (OFD) locks usage on non LFS mode. As for others *64 functions, fcntl64 semantics are analogous with fcntl and LFS support is handled transparently. Also for Linux, the OFD locks act as a cancellation entrypoint.

    From SQLite docs:

    SQLITE_DISABLE_LFS

    If this C-preprocessor macro is defined, large file support is disabled.

    Due to peculiarities in glibc Large File Support implementation for 32-bit systems it looks safer to bump the minimum libc version to 2.28 for them.

    Could be reverted back after bumping minimum glibc version to 2.28+.

  2. build: Avoid fcntl64@GLIBC_2.28 in libsqlite3.a f5b16ee9ff
  3. build: Bump minimum libc to 2.28 for 32-bit systems 5384492c3e
  4. DrahtBot added the label Build system on Jun 22, 2021
  5. DrahtBot added the label Scripts and tools on Jun 22, 2021
  6. laanwj commented at 12:11 pm on June 22, 2021: member
    Concept ACK
  7. laanwj added this to the milestone 22.0 on Jun 22, 2021
  8. hebasto commented at 8:59 am on July 1, 2021: member
    Closing in favor of #22365.
  9. hebasto closed this on Jul 1, 2021

  10. DrahtBot commented at 10:14 am on July 1, 2021: member

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

    Conflicts

    Reviewers, this pull request conflicts with the following ones:

    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.

  11. hebasto deleted the branch on Oct 5, 2021
  12. 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: 2024-12-19 12:12 UTC

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