On Wed, 12 Jul 2023 10:58:49 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 45 commits: > > - move copyright before imports in the new test > - add a new test for jlink --endian usages > - merge latest from master branch > - use newly introduced Architecture.byteOrder() API > - merge latest from master branch > - 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 > - ... and 35 more: https://git.openjdk.org/jdk/compare/753bd563...962d542d src/jdk.jlink/share/classes/jdk/tools/jlink/internal/JlinkTask.java line 846: > 844: String targetPlatformVal = > readJavaBaseTargetPlatform(cf); > 845: try { > 846: return Platform.parsePlatform(targetPlatformVal); You may want to modify `Platform.parsePlatform(s)` to use `Architecture.lookupByName(s)` instead of doing the alias mapping itself. Platform.java:53-56. ------------- PR Review Comment: https://git.openjdk.org/jdk/pull/11943#discussion_r1261280929