JDK-8237885 : [Aarch64] using MacroAssembler::call_VM_leaf_base declared twice
  • Type: Bug
  • Component: hotspot
  • Sub-Component: compiler
  • Affected Version: 8-aarch64,11.0.6
  • Priority: P4
  • Status: Resolved
  • Resolution: Duplicate
  • OS: linux
  • CPU: aarch64
  • Submitted: 2020-01-27
  • Updated: 2020-01-28
  • Resolved: 2020-01-28
Related Reports
Duplicate :  
Description
In src/hotspot/cpu/aarch64/interp_masm_aarch64.hpp I see this for JDK 11 and below:

class InterpreterMacroAssembler: public MacroAssembler {
 protected:

 protected:
  using MacroAssembler::call_VM_leaf_base;

  // Interpreter specific version of call_VM_base
  using MacroAssembler::call_VM_leaf_base;


This redeclaration of 'using MacroAssembler::call_VM_leaf_base' causes build failures with GCC 10. For example:

1.8.0.242.b06-0.0.ea.fc32.aarch64/openjdk/hotspot/src/os/posix/vm -I../generated '-DHOTSPOT_RELEASE_VERSION="25.242-b06"' '-DHOTSPOT_BUILD_TARGET="product"' '-DHOTSPOT_BUILD_USER="mockbuild"' '-DHOTSPOT_LIB_ARCH="aarch64"' '-DHOTSPOT_VM_DISTRO="OpenJDK"' -DTARGET_OS_FAMILY_linux -DTARGET_ARCH_aarch64 -DTARGET_ARCH_MODEL_aarch64 -DTARGET_OS_ARCH_linux_aarch64 -DTARGET_OS_ARCH_MODEL_linux_aarch64 -DTARGET_COMPILER_gcc -DCOMPILER2 -DCOMPILER1 -fPIC -fno-rtti -fno-exceptions -D_REENTRANT -fcheck-new -fstack-protector -fvisibility=hidden -pipe -fno-strict-aliasing -g -fno-omit-frame-pointer -O3 -DVM_LITTLE_ENDIAN -Werror -Wpointer-arith -Wsign-compare -Wundef -Wunused-function -Wunused-value -Wreturn-type -fstack-protector -g -pipe -Wformat -Wno-cpp -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fstack-clash-protection -Wno-error -fcommon -Wa,--generate-missing-build-notes=yes -std=gnu++98 -DDTRACE_ENABLED -c -MMD -MP -MF ../generated/dependencies/precompiled.hpp.gch.d -fpch-deps -x c++-header /builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.242.b06-0.0.ea.fc32.aarch64/openjdk/hotspot/src/share/vm/precompiled/precompiled.hpp -o precompiled.hpp.gch
In file included from /builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.242.b06-0.0.ea.fc32.aarch64/openjdk/hotspot/src/share/vm/interpreter/abstractInterpreter.hpp:38,
                 from /builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.242.b06-0.0.ea.fc32.aarch64/openjdk/hotspot/src/share/vm/interpreter/cppInterpreter.hpp:28,
                 from /builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.242.b06-0.0.ea.fc32.aarch64/openjdk/hotspot/src/share/vm/interpreter/interpreter.hpp:29,
                 from /builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.242.b06-0.0.ea.fc32.aarch64/openjdk/hotspot/src/share/vm/runtime/frame.inline.hpp:30,
                 from /builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.242.b06-0.0.ea.fc32.aarch64/openjdk/hotspot/src/share/vm/prims/methodHandles.hpp:30,
                 from /builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.242.b06-0.0.ea.fc32.aarch64/openjdk/hotspot/src/share/vm/ci/ciMethod.hpp:33,
                 from /builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.242.b06-0.0.ea.fc32.aarch64/openjdk/hotspot/src/share/vm/code/debugInfoRec.hpp:30,
                 from /builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.242.b06-0.0.ea.fc32.aarch64/openjdk/hotspot/src/share/vm/ci/ciEnv.hpp:31,
                 from /builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.242.b06-0.0.ea.fc32.aarch64/openjdk/hotspot/src/share/vm/ci/ciUtilities.hpp:28,
                 from /builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.242.b06-0.0.ea.fc32.aarch64/openjdk/hotspot/src/share/vm/ci/ciNullObject.hpp:30,
                 from /builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.242.b06-0.0.ea.fc32.aarch64/openjdk/hotspot/src/share/vm/ci/ciConstant.hpp:29,
                 from /builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.242.b06-0.0.ea.fc32.aarch64/openjdk/hotspot/src/share/vm/ci/ciArray.hpp:29,
                 from /builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.242.b06-0.0.ea.fc32.aarch64/openjdk/hotspot/src/share/vm/precompiled/precompiled.hpp:33:
/builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.242.b06-0.0.ea.fc32.aarch64/openjdk/hotspot/src/cpu/aarch64/vm/interp_masm_aarch64.hpp:46:25: error: redeclaration of 'using MacroAssembler::call_VM_leaf_base'
   46 |   using MacroAssembler::call_VM_leaf_base;
      |                         ^~~~~~~~~~~~~~~~~
/builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.242.b06-0.0.ea.fc32.aarch64/openjdk/hotspot/src/cpu/aarch64/vm/interp_masm_aarch64.hpp:43:25: note: previous declaration 'using MacroAssembler::call_VM_leaf_base'
   43 |   using MacroAssembler::call_VM_leaf_base;
      |                         ^~~~~~~~~~~~~~~~~
gmake[6]: *** [/builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.242.b06-0.0.ea.fc32.aarch64/openjdk/hotspot/make/linux/makefiles/vm.make:313: precompiled.hpp.gch] Error 1
Comments
This is fixed by JDK-8224851
28-01-2020