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

Mandy Chung mchung at openjdk.org
Fri Mar 24 16:55:35 UTC 2023


On Fri, 24 Mar 2023 16:10:54 GMT, Alan Bateman <alanb at openjdk.org> wrote:

>> 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
>
> src/jdk.jlink/share/classes/jdk/tools/jlink/internal/Platform.java line 49:
> 
>> 47:             throw new ExceptionInInitializerError(e);
>> 48:         }
>> 49:         KNOWN_ENDIANNESS = p;
> 
> The naming/usage suggests the value is solely for endianness but I think we want target properties to be able to support other attributes of the target too. This means "endianness" in the property name or the property value is something like a comma separate list of attributes, I don't have a strong opinion on this. But maybe your proposal is just to get the target.properties in place and we change it later?

I read this as for endianness only and so the filename should be "target-endianness.properties" or something like that.   OTOH,  I like keeping it `target.properties` and add `.endianness` as the property name suffix will make it extensible to support other attributes easily.

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

PR Review Comment: https://git.openjdk.org/jdk/pull/11943#discussion_r1147838681


More information about the core-libs-dev mailing list