JDK-8177390: java -version does not differentiate between which port of AArch64 is used
David Holmes
david.holmes at oracle.com
Fri Mar 24 01:25:30 UTC 2017
It should be easy to change the output of -Xinternalversion - and that
same information would be in the hs-err log
David
On 24/03/2017 10:57 AM, David Holmes wrote:
> Hi Mario,
>
> On 23/03/2017 8:23 PM, Mario Torre wrote:
>> Hi all,
>>
>> [Sorry for cross posting to the aarch64 mailing list, please try to
>> keep all replies to jdk9-dev]
>
> Okay - jdk9-dev only. Though not sure this is the right list to discuss
> this.
>
>> I have a proposed fix for JDK-8177390[1]. The whole issue can be seen
>> in details on the aarch64-port-dev thread linked in the bug report[2],
>> but to summarise, we now have two implementations for the aarch64, one
>> is the "original" community contribution and the other is the Oracle
>> version that landed recently in the repositories.
>>
>> The two versions can be build side by side, which is great since users
>> can compare very easily the two implementations, have a feeling of the
>> performances, study the differences in the implementations etc...
>> however, once compiled there is no easy way to tell which one is
>> which, unless you are using the downstream packaged versions, where
>> the name of the JDK may offer a small hint.
>>
>> This is more than just an annoyance, though, it will make life
>> extremely difficult for bug reporting and hunting, and the hotspot
>> crash files may not help either, so we think this should be fixed asap
>> (and the reason why I filed the bug report with a priority a bit
>> higher than usual).
>>
>> It was suggested to play with one of the java.vendor strings to
>> address this, so I'm proposing a patch to alter the java.vendor.url to
>> point to either the usual java.oracle.com or to the aarg64 project
>> page, depending on the choice of the port at compilation time:
>>
>> http://cr.openjdk.java.net/~neugens/8177390/webrev.1/
>
> AFAICS this will only change the VENDOR_URL if Oracle build the Aarch64
> port versus the ARM64 port - something they don't do. We already have
> the Oracle builds and OpenJDK builds showing different version strings
> ("Java SE" versus "OpenJDK") so the suggested change seems to add
> nothing to that. Nor does it help an OpenJDK build that wants to use
> arm64 sources instead of aarch64 sources.
>
> The discussion suggested using arm64 versus aarch64 to distinguish the
> two different builds and that seems the best solution to me. Though we
> have to be careful how we actually implement that. It is a pity the
> basic "java -version" output does not include any OS or CPU information
> as that would have been easy to customize. Changing os.arch is more
> problematic as it is an exported value that users may already depend on
> and neither set of users should have to change.
>
> David
> -----
>
>> We would really like to have this patch in before the JDK9 is
>> released, I understand that we need to seek guidance from project
>> leads for that to happen at this stage of development.
>>
>> The patch was taken on the jdk9 client repository, I'm not sure if I
>> will also need to push separately to 10 or if this will be an
>> automatic forward port.
>>
>> Please, let me know what you think.
>>
>> Cheers,
>> Mario
>>
>> [1] https://bugs.openjdk.java.net/browse/JDK-8177390
>> [2]
>> http://mail.openjdk.java.net/pipermail/aarch64-port-dev/2017-March/004319.html
>>
>>
More information about the jdk9-dev
mailing list