RFR: 8336529: (fs) UnixFileAttributeViews setTimes() failing on armhf, Ubuntu noble [v2]
Vladimir Petko
vpetko at openjdk.org
Thu Jul 18 21:51:32 UTC 2024
On Thu, 18 Jul 2024 12:23:06 GMT, Jaikiran Pai <jpai at openjdk.org> wrote:
> Looking at the JBS issue where you reported these test failures, they seem to be happening on `armhf` architecture, which after reading up a bit, appears to be a 32 bit architecture. Ubuntu recently appears to have switched to use `_TIME_BITS=64` for this architecture. This, if I understand correctly, wouldn't have been a problem for the JDK code, had those symbols be referenced statically in the JDK code, since then the (glibc) `#define` would have translated it to the 64 bit counterpart. In the code which is being updated in this PR, we reference those symbols as strings to do a dynamic symbol lookup and that ends up giving back 32 bit variant of this API.
>
> Did I understand this correctly?
Yes exactly.
> The one unanswered question is - on this 32 bit system, how were these tests passing previously, when `_TIME_BITS=64` wasn't set. Perhaps, in the absence of the `_TIME_BITS=64`, the symbols were being mapped to 64 bit counterparts? Would you be able to verify that somehow on a `armhf` system where these tests pass?
Oh, thank you!!!
This is a really good point - instead of doing an extra function I should go `#if defined(__linux__) && _TIME_BITS==64` to look up 64 bit version.
-------------
PR Comment: https://git.openjdk.org/jdk/pull/20208#issuecomment-2237679867
More information about the nio-dev
mailing list