On Mon, 29 Jan 2024 11:44:34 GMT, Magnus Ihse Bursie <[email protected]> wrote:
> In the same spirit as > [JDK-8318696](https://bugs.openjdk.org/browse/JDK-8318696), we should adapt > the AIX-specific code in hotspot so it uses the well-defined posix `<foo>` > functions, instead of `<foo>64`. By setting the define _LARGE_FILES, this > will make `<foo>` behave as `<foo>64`, just as _FILE_OFFSET_BITS=64 does on > gcc. (Reference: > https://www.ibm.com/docs/en/aix/7.1?topic=volumes-writing-programs-that-access-large-files) > > In theory, it should not even be necessary to set this, since we only compile > for 64-bit AIX platforms, and this is only relevant on 32-bit platforms. But > let's add the define anyway, for good measure. It shows at least that we have > thought about the matter. :-) > > I have not been able to test this on AIX. I hope someone with AIX access can > take this for a spin. > > The reason I'm doing this is for > [JDK-8324539](https://bugs.openjdk.org/browse/JDK-8324539). After both these > bugs are fixed, there will be no more `<foo>64` function calls in the code > base. I have to emphasize, that even when exclusively compiling for 64-bit AIX platforms, the `<foo>` functions do not support large files. Only the `<foo>64` functions do support large files. For large file support you can either use the `<foo>64` functions and the `<struct>64` structures explicitly or by compiling all sources with the -D_LARGE_FILES flag which just leads to a redefining of all `<foo>` functions and `<struct>` structures as `<foo>64` functions and `<struct>64` structures. ------------- PR Comment: https://git.openjdk.org/jdk/pull/17611#issuecomment-1914737783
