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

2020-05-08 Thread Erik Joelsson

Looks good.

/Erik

On 2020-05-08 04:12, Magnus Ihse Bursie wrote:
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


: note: parameter passing for argument of 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


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

2020-05-08 Thread Kim Barrett
> On May 8, 2020, at 7:12 AM, Magnus Ihse Bursie 
>  wrote:
> 
> 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
> 
> : note: parameter passing for argument of 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

Looks good.