On Wed, 17 May 2023 09:00:01 GMT, Alan Bateman <[email protected]> wrote:
>> PPC64le needs to get recognized as PPC64. Otherwise, jlink doesn't recognize
>> the platform and throws a PluginException: ModuleTarget is malformed: No
>> enum constant jdk.internal.util.Architecture.PPC64LE.
>
> src/jdk.jlink/share/classes/jdk/tools/jlink/internal/Platform.java line 55:
>
>> 53: // Alias architecture "amd64" to "X64" and "ppc64le" to "ppc64"
>> 54: archName = archName.replace("amd64", "X64")
>> 55: .replace("ppc64le", "ppc64");
>
> Is linux-ppc64 big endian? If so, a module with a ModuleTarget value of
> linux-ppc64le can't be linked with a module that has ModuleTarget value of
> linux-ppc64. I'm not say the aliasing here is wrong but I am curious if
> attempts to link will fail.
Yes, linux-ppc64 is big endian. The 2 flavors are completely incompatible.
linux-ppc64le is basically a new platform. Endianness should actually get
checked in addition to the archName.
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/14027#discussion_r1196183985