RFR: 8304006: jlink should create the jimage file in the native endian for the target platform [v17]

Jaikiran Pai jpai at openjdk.org
Wed May 3 06:00:22 UTC 2023


On Wed, 29 Mar 2023 01:40:36 GMT, Jaikiran Pai <jpai at 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 incrementally with two additional commits since the last revision:
> 
>  - cleanup test - rename method and update code comment as suggested by Alan
>  - Rename KNOWN_ENDIANNESS to PLATFORM_PROPERTIES

Keep open.

There's work going on in the jlink and other areas to use the newer APIs for OS name and architecture detection. Specifically for jlink there's a draft PR https://github.com/openjdk/jdk/pull/13585 which along with other changes also updates the `CDSPluginTest` to stop relying on using os.name=windows on a Linux system. I plan to refresh this current PR once those changes are merged.

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

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


More information about the core-libs-dev mailing list