New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
configure: Use AC_SYS_LARGEFILE #2957
Conversation
With musl-1.2.4 LFS support is being disabled and will later be entirely removed where it is expected to use off_t and lseek rather than off64_t and lseek64. With glibc these types are also obsolete where it is expected to use the _FILE_OFFSET_BITS define where off_t and lseek will become 64-bit compatible versions when needed. This is set by AC_SYS_LARGEFILE.
Merging this would break compatibility with 32 bit systems, where lseek is 32 bit. |
@Oleksiy-Yakovenko Are you saying deadbeef needs a 64-bit lseek even on 32-bit systems? Or am I not understanding? Unfortunately I do not have any 32-bit hardware to test. |
Yes, lseek64 works on 32 bit systems to seek in large files which are larger than 4GB |
Perhaps it would be better to define _FILE_OFFSET_BITS=64 unconditionally? |
I checked the docs, and it seems like adding AC_SYS_LARGEFILE should take care of 64 bit file offsets on 32 bit systems as well, but it needs to be tested before merging. (I'll try to find time for this) |
@Oleksiy-Yakovenko Any chance you had time to investigate this yet? |
I haven't, and I'm not sure whether I will. Let's assume that it works as it should. There are not that many 32bit users, if they will complain we'll revert. |
Closes: https://bugs.gentoo.org/913163 Upstream-PR: DeaDBeeF-Player/deadbeef#2957 Upstream-Commit: DeaDBeeF-Player/deadbeef@8fa263e Signed-off-by: orbea <orbea@riseup.net>
Closes: https://bugs.gentoo.org/913163 Upstream-PR: DeaDBeeF-Player/deadbeef#2957 Upstream-Commit: DeaDBeeF-Player/deadbeef@8fa263e Signed-off-by: orbea <orbea@riseup.net>
Closes: https://bugs.gentoo.org/913163 Upstream-PR: DeaDBeeF-Player/deadbeef#2957 Upstream-Commit: DeaDBeeF-Player/deadbeef@8fa263e Signed-off-by: orbea <orbea@riseup.net>
With musl-1.2.4 LFS support is being disabled and will later be entirely removed where it is expected to use off_t and lseek rather than off64_t and lseek64.
With glibc these types are also obsolete where it is expected to use the _FILE_OFFSET_BITS define where off_t and lseek will become 64-bit compatible versions when needed. This is set by AC_SYS_LARGEFILE.