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