Skip to content

Conversation

hebasto
Copy link
Member

@hebasto hebasto commented Jun 22, 2021

This PR is:

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+.

@laanwj
Copy link
Member

laanwj commented Jun 22, 2021

Concept ACK

@hebasto
Copy link
Member Author

hebasto commented Jul 1, 2021

Closing in favor of #22365.

@hebasto hebasto closed this Jul 1, 2021
@DrahtBot
Copy link
Contributor

DrahtBot commented Jul 1, 2021

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.

@hebasto hebasto mentioned this pull request Jul 8, 2021
@hebasto hebasto deleted the 210622-fcntl branch October 5, 2021 11:39
@bitcoin bitcoin locked and limited conversation to collaborators Oct 30, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants