[jdk11u-dev] RFR: 8248238: Implementation: JEP 388: Windows AArch64 Support [v8]
Magnus Ihse Bursie
ihse at openjdk.java.net
Wed Nov 3 10:13:15 UTC 2021
On Mon, 1 Nov 2021 19:55:33 GMT, Reka Kovacs <rkovacs at openjdk.org> wrote:
>> Main commit of the Windows/AArch64 port.
>>
>> Also fixes [JDK-8272181](https://bugs.openjdk.java.net/browse/JDK-8272181) by adding [`src/hotspot/os_cpu/windows_aarch64/pauth_windows_aarch64.inline.hpp`](https://github.com/openjdk/jdk11u-dev/pull/301/files#diff-235302dc4618158c4f75771ebbb6f0e4beeee5daf0a537b03ee4253a711268c6), which is needed for a successful Windows-AArch64 build.
>>
>> Depends on #274 and #299.
>
> Reka Kovacs has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains one additional commit since the last revision:
>
> Backport 9604ee82690f89320614b37bfef4178abc869777
Apart from the (not so minor!) issue that the entire windows/aarch64 cannot be built unless the user provides a fixpath.exe binary in the repository root, the the build changes look okay, I guess. I can only wonder a bit how this is supposed to be solved. Even if a local developer can supply a custom-made fixpath.exe, this will prevent e.g. the automatic testing of windows/aarch64 on github actions (if you have those enabled for 11u).
Most of the changes would only affect windows/aarch64, and since that is a new platform, the risk to existing 11u platforms is zero for those changes. However, there are also some changes that will affect all platforms, or a subset of them (like Windows, or aarch64 in general). I *think* that these changes are okay, but I can't guarantee; I do not readily remember the details of the jdk 11 build code base vs the mainline.
If one wanted to be more cautious, a safer route is probable to leave the current platforms unaffected, and duplicate the code with the new implementation just for windows/aarch64.
But then again, I don't understand the JDK updates criteria anymore. I thought updates were for critical bug fixes only, not adding entirely new platforms.
make/autoconf/flags-ldflags.m4 line 192:
> 190: $1_CPU_LDFLAGS="-safeseh"
> 191: # NOTE: Old build added -machine. Probably not needed.
> 192: $1_CPU_LDFLAGS_JVM_ONLY="-machine:I386"
Even if the flag might not be needed, is it really prudent to make non-required changes in an update release?
-------------
PR: https://git.openjdk.java.net/jdk11u-dev/pull/301
More information about the jdk-updates-dev
mailing list