Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8244653

Suppress gcc 9.1 ABI change notes on aarch64

    XMLWordPrintable

Details

    • Enhancement
    • Resolution: Fixed
    • P4
    • 15
    • 15
    • infrastructure
    • None
    • b23
    • aarch64

    Description

      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".

      Attachments

        Issue Links

          Activity

            People

              ihse Magnus Ihse Bursie
              kbarrett Kim Barrett
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: