> 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 28 commits: - merge latest from master branch - Mandy's suggested patch improvements - ARM is 32 bit as per platform.m4 in OpenJDK build - when --endian is specified, verify it matches the implicitly determined target platform's endianness - trim down the architecture support to the previous values plus a few new that match target.properties - improve error messages as suggested by Mandy - formatting fix - Alan's suggestions - don't parse arch out of osname-arch for determining endianness and reduce the number of supported/known target platforms for cross linking - Mandy's suggestion - pass along target platform to the DefaultImageBuilder to prevent reparsing the value from the ModuleTarget - Mandy's suggestion to use Platform class for additional arch support. Plus, Jim's suggestion to use a runtime resource for endianness mapping - ... and 18 more: https://git.openjdk.org/jdk/compare/ac6af6a6...6f4ab9c6 ------------- Changes: https://git.openjdk.org/jdk/pull/11943/files Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=11943&range=12 Stats: 224 lines in 8 files changed: 180 ins; 10 del; 34 mod Patch: https://git.openjdk.org/jdk/pull/11943.diff Fetch: git fetch https://git.openjdk.org/jdk.git pull/11943/head:pull/11943 PR: https://git.openjdk.org/jdk/pull/11943