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

Cross Compile openjdk for arm fails build with c1_LIRGenerator_arm.cpp warnings

XMLWordPrintable

    • x86
    • linux

      ADDITIONAL SYSTEM INFORMATION :
      4.15.0-38-generic #41~16.04.1-Ubuntu SMP Wed Oct 10 20:16:04 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux

      A DESCRIPTION OF THE PROBLEM :
      Previously had successful cross compile build of openjdk10 for arm using recommended instructions and cross compile tool-chain linked on the build.html webpage. Today changed to openjdk11 repository and ran same build and the build is failing due to tool-chain identifying 'supposedly' uninitialised variables.


      /home/ubuntu/sdks/openjdk/openjdk11/submodules/jdk11/src/hotspot/cpu/arm/c1_LIRGenerator_arm.cpp: In member function ‘void LIRGenerator::do_ArithmeticOp_Int(ArithmeticOp*)’:
      /home/ubuntu/sdks/openjdk/openjdk11/submodules/jdk11/src/hotspot/cpu/arm/c1_LIRGenerator_arm.cpp:831:31: warning: ‘out_reg’ may be used uninitialized in this function [-Wmaybe-uninitialized]
             __ move(out_reg, result);
                                     ^
      Creating ct.sym classes
      /home/ubuntu/sdks/openjdk/openjdk11/submodules/jdk11/src/hotspot/cpu/arm/c1_LIRGenerator_arm.cpp: In member function ‘void LIRGenerator::do_ArithmeticOp_Long(ArithmeticOp*)’:
      /home/ubuntu/sdks/openjdk/openjdk11/submodules/jdk11/src/hotspot/cpu/arm/c1_LIRGenerator_arm.cpp:761:75: warning: ‘entry’ may be used uninitialized in this function [-Wmaybe-uninitialized]
             LIR_Opr result = call_runtime(x->y(), x->x(), entry, x->type(), NULL);


      REGRESSION : Last worked in version 10.0.2

      STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
       ./configure --with-conf-name=linux-arm-normal-client-release --openjdk-target=arm-linux-gnueabihf -with-devkit=/home/ubuntu/sdks/openjdk/openjdk11/submodules/gcc/gcc --with-jvm-variants=client --with-debug-level=release --with-native-debug-symbols=none --enable-unlimited-crypto


      EXPECTED VERSUS ACTUAL BEHAVIOR :
      EXPECTED -
      a build without failures as using instructions and toolchain as directed to in the cross compiling documentation in building.html
      ACTUAL -
      failed build

      CUSTOMER SUBMITTED WORKAROUND :
      add --disable-warnings-as-errors to end of ./configure
      However the proper solution/convention would probably be to add -Wno-maybe-uninitialized to CXXFLAGS for file c1_LIRGenerator_arm.cpp in make/hotspot/lib/JvmOverrideFiles.gmk

      FREQUENCY : always


            Unassigned Unassigned
            webbuggrp Webbug Group
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

              Created:
              Updated:
              Resolved: