On Sun, 12 Mar 2023 08:55:19 GMT, Alan Bateman <[email protected]> wrote:
>> Jaikiran Pai has updated the pull request incrementally with one additional
>> commit since the last revision:
>>
>> missed ppc64 from the arch mapping
>
> src/jdk.jlink/share/classes/jdk/tools/jlink/internal/JlinkTask.java line 827:
>
>> 825: if (ref instanceof ModuleReferenceImpl modRefImpl
>> 826: && modRefImpl.moduleTarget() != null) {
>> 827: targetPlatform =
>> modRefImpl.moduleTarget().targetPlatform();
>
> It might be better to only look for the ModuleTarget attribute when cross
> linking. modsPaths.get("java.base") will give you the path to the packaged
> module for java.base, getDefaultModulePath() will give you the location of
> the packaged modules in the current execution environment. If
> getDefaultModulePath() is the parent of the location containing java.base
> then it can use the current endianness.
>
> Also just to say that if it would be an error if java.base is not in the
> Configuration, same thing if there is no packaged module for java.base.
Hello Alan,
> If getDefaultModulePath() is the parent of the location containing java.base
> then it can use the current endianness.
I've now updated this PR to implement this suggestion. The `ModuleTarget`
attribute in java.base's `module-info.class` will only be checked if the
java.base isn't from the current execution environment's default jmods location.
-------------
PR: https://git.openjdk.org/jdk/pull/11943