Loading... (original) (raw)

JDK 9 can no longer be built for the arm vfp softfp ABI.

If you run configure specifying this api-profile, the C1 hotspot VM build will fail.

--with-abi-profile=arm-vfp-sflt

hotspot/src/cpu/arm/vm/c1_FrameMap_arm.cpp: In static member function ‘static void FrameMap::initialize()’:
hotspot/src/cpu/arm/vm/c1_FrameMap_arm.cpp:182:22: error: ‘single_softfp’ is not a member of ‘LIR_OprFact’
hotspot/src/cpu/arm/vm/c1_FrameMap_arm.cpp:183:23: error: ‘double_softfp’ is not a member of ‘LIR_OprFact’

Proposed fix:

diff --git a/src/share/vm/c1/c1_LIR.hpp b/src/share/vm/c1/c1_LIR.hpp
--- a/src/share/vm/c1/c1_LIR.hpp
+++ b/src/share/vm/c1/c1_LIR.hpp
@@ -613,7 +613,7 @@
// Platform dependant.
static LIR_Opr double_fpu(int reg1, int reg2 = -1 /*fnoreg*/);

-#ifdef __SOFTFP__
+#ifdef ARM32
static LIR_Opr single_softfp(int reg) {
return (LIR_Opr)(intptr_t)((reg << LIR_OprDesc::reg1_shift) |
LIR_OprDesc::float_type |