RFR: JDK-8244653 Suppress gcc 9.1 ABI change notes on aarch64

Magnus Ihse Bursie magnus.ihse.bursie at oracle.com
Fri May 8 11:12:07 UTC 2020


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



More information about the build-dev mailing list