On Wed, 11 Jan 2023 13:19:32 GMT, Jaikiran Pai <j...@openjdk.org> wrote:
> Can I please get a review for this change which proposes to fix the issue > reported in https://bugs.openjdk.org/browse/JDK-8206890? > > The `jlink` command allows a `--endian` option to specify the byte order in > the generated image. Before this change, when such a image was being > launched, the code would assume the byte order in the image to be the native > order of the host where the image is being launched. That would result in > failure to launch java, as noted in the linked issue. > > The commit in this PR, changes relevant places to not assume native order and > instead determine the byte order by reading the magic bytes in the image > file's header content. > > A new jtreg test has been added which reproduces the issue and verifies the > fix. I'm in two minds on whether this should be "fixed" in libjimage. I'm wondering if libjimage should continue to use native order and we instead explore having jlink determine the endianness at link time for the target platform - this might be looking at some property in the packaged module for java.base (java.base.jmod). @JimLaskey Do you have any opinion on this? For the image reader used by jrtfs then I think it has to work with both as the file system could be created with java.home set in the env to a run-time image for a complete different platform. ------------- PR: https://git.openjdk.org/jdk/pull/11943