On Mon, 26 Jun 2023 10:51:34 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.
>
> Jaikiran Pai has updated the pull request with a new target base due to a 
> merge or a rebase. The pull request now contains 40 commits:
> 
>  - update jdk.tools.jlink.internal.Platform class to be aware of non-current 
> platform's endianness
>  - remove no longer needed constructor
>  - merge latest from master branch
>  - foo
>  - merge latest from master branch
>  - cleanup test - rename method and update code comment as suggested by Alan
>  - Rename KNOWN_ENDIANNESS to PLATFORM_PROPERTIES
>  - use test.jdk system property in test
>  - don't iterate over the properties file keys and instead do lookup when 
> needed
>  - update CDSPluginTest to correctly "simulate" cross-platform test
>  - ... and 30 more: https://git.openjdk.org/jdk/compare/013367b4...532ea3f6

This PR is now ready for further reviews. I've updated it to now completely 
rely on the newly introduced `jdk.internal.util.Architecture` APIs instead of 
the jlink code relying on a `target.properties` for mapping architectures to 
their endianness.
Existing tests in `test/jdk/tools/jlink` continue to pass with these latest 
changes. I've introduced a new jtreg test `JLinkEndianTest` to verify one of 
the possible `--endian` option usage. We can't automate the cross-platform 
testing of this command, but at least this test should verify that it won't 
allow creation of images with a `--endian` which doesn't match the target 
platform's endianness.

tier testing is currently in progress.

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

PR Comment: https://git.openjdk.org/jdk/pull/11943#issuecomment-1632283625

Reply via email to