RFR: 8308452: Extend internal Architecture enum with byte order and address size [v2]

Martin Doerr mdoerr at openjdk.org
Tue May 30 13:05:57 UTC 2023


On Fri, 26 May 2023 15:45:24 GMT, Roger Riggs <rriggs at openjdk.org> wrote:

>> The internal enum jdk.internal.util.Architecture does not provide information about the big or little endianness or the address size (64 or 32 bits).  The endian-ness and address size are intrinsic to the architecture.
>> 
>> The values of the enum are extended to separately identify the big endian and little-endian uses of the ISA.
>> For example, `PPC64` and `PPC64LE` for the big and little-endian versions.  
>> The enum values directly reflect the build-time artifacts and resulting executables.
>> 
>> This information about an architecture will make the enum more useful especially to identify a target platform in a cross-platform use case. A method is added to map well known aliases for the platforms to the Architecture enum.
>
> Roger Riggs has updated the pull request incrementally with one additional commit since the last revision:
> 
>   Review suggestions

Thanks for the updates! Unfortunately, there's still something going wrong on ppc64le:
- jdk/internal/util/ArchTest.java: System property os.arch: "ppc64le", Architecture.current(): "PPC64"
- tools/jlink/plugins/CDSPluginTest.java: Cannot generate CDS archives: target image platform linux-ppc64le is different from runtime platform linux-ppc64

Do you happen to know why Architecture.current() misses the "le"?

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

PR Review: https://git.openjdk.org/jdk/pull/14063#pullrequestreview-1450887127


More information about the core-libs-dev mailing list