When building HotSpot with gcc9.x for aarch64, there are a couple of
places that trigger a "warning" (technically a "note") about an ABI
change from earlier versions. The message is
<location>: note: parameter passing for argument of type '<type> changed
in GCC 9.1
This is mentioned prominently in the gcc 9 release notes:
"On Arm targets (arm*-*-*), a bug in the implementation of the procedure
call standard (AAPCS) in the GCC 6, 7 and 8 releases has been fixed: a
structure containing a bit-field based on a 64-bit integral type and
where no other element in a structure required 64-bit alignment could be
passed incorrectly to functions. This is an ABI change. If the option
-Wpsabi is enabled (on by default) the compiler will emit a diagnostic
note for code that might be affected."
As the only HotSpot types being warned about are internal and do not
cross library boundaries, and we compile the entire jdk with the same
compiler, these "warnings" are not interesting and just clutter build
logs and cause unnecessary worry.
To suppress these notes, -Wno-psabi should be added to the compiler
options for HotSpot when building for any flavor of ARM, i.e. when the
$VAR_CPU build variable is "arm" or "aarch64". That option is already
present for "arm" because of a similar issue with gcc 4.4. We should add
it for "aarch64".
Bug: https://bugs.openjdk.java.net/browse/JDK-8244653
WebRev:
http://cr.openjdk.java.net/~ihse/JDK-8244653-no-psabi-for-aarch64/webrev.01
/Magnus