RFR: 8318696: Do not use LFS64 symbols on Linux [v5]

Sam James duke at openjdk.org
Sat Jan 20 10:27:39 UTC 2024


On Fri, 19 Jan 2024 23:50:46 GMT, Sam James <duke at openjdk.org> wrote:

>> The LFS64 symbols provided by glibc are not part of any standard and were gated behind -D_LARGEFILE64_SOURCE in musl 1.2.4 (to be removed in 1.2.5). This commit replaces the usage of LFS64 symbols with their regular counterparts and defines -D_FILE_OFFSET_BITS=64, ensuring that functions will always act as their -64 variants on glibc.
>
> Sam James has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains seven additional commits since the last revision:
> 
>  - Merge master
>  - crank copyright
>  - sendfile64 -> sendfile
>    
>    Signed-off-by: Sam James <sam at gentoo.org>
>  - buf64->buf
>    
>    Signed-off-by: Sam James <sam at gentoo.org>
>  - Add message for assert
>    
>    Not all C++ stds implement it w/o.
>  - Add off_t static_asserts
>    
>    Signed-off-by: Sam James <sam at gentoo.org>
>  - Do not use LFS64 symbols on Linux
>    
>    The LFS64 symbols provided by glibc are not part of any standard and
>    were gated behind -D_LARGEFILE64_SOURCE in musl 1.2.4 (to be removed in
>    1.2.5). This commit replaces the usage of LFS64 symbols with their
>    regular counterparts and defines -D_FILE_OFFSET_BITS=64, ensuring that functions
>    will always act as their -64 variants on glibc.
>    
>    Signed-off-by: Sam James <sam at gentoo.org>

We will need to backport this to at least OpenJDK 17 as well as OpenJDK 11, if possible. We had downstream reports of failure there in Gentoo. I haven't checked OpenJDK 8 although it's almost certainly needed there too.

-------------

PR Comment: https://git.openjdk.org/jdk/pull/16329#issuecomment-1902058430


More information about the build-dev mailing list