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

[Aarch64] using MacroAssembler::call_VM_leaf_base declared twice

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Duplicate
    • Icon: P4 P4
    • None
    • 8-aarch64, 11.0.6
    • hotspot
    • aarch64
    • linux

      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

            Unassigned Unassigned
            sgehwolf Severin Gehwolf
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: