[jdk16u] RFR: 8261310: PPC64 Zero build fails with 'VMError::controlled_crash(int)::FunctionDescriptor functionDescriptor' has incomplete type and cannot be defined

Aleksey Shipilev shade at openjdk.java.net
Mon Feb 8 18:33:58 UTC 2021


Note this is **not** a backport, but 16u-specific change.

$ CONF=linux-ppc64-zero-fastdebug make hotspot


 1799 | struct FunctionDescriptor functionDescriptor;
      | ^~~~~~~~~~~~~~~~~~

`FunctionDescriptor` is from `src/hotspot/cpu/ppc/assembler_ppc.hpp`, and obviously not available for Zero.

The affected code was removed by JDK-8252148 in 17, so this issue affects versions below it.
While not exactly the regression for 16, it would be nice to have this fixed for 16 and lower, to get clean builds on all platform configurations, including JDK 16 GA.

The fix is trivial:

diff --git a/src/hotspot/share/utilities/vmError.cpp b/src/hotspot/share/utilities/vmError.cpp
index 9b0dc413bcd..476fdc48e43 100644
--- a/src/hotspot/share/utilities/vmError.cpp
+++ b/src/hotspot/share/utilities/vmError.cpp
@@ -1795,7 +1795,7 @@ void VMError::controlled_crash(int how) {
   char * const dataPtr = NULL; // bad data pointer
   const void (*funcPtr)(void); // bad function pointer
 
-#if defined(PPC64) && !defined(ABI_ELFv2)
+#if defined(PPC64) && !defined(ABI_ELFv2) && !defined(ZERO)
   struct FunctionDescriptor functionDescriptor;
 
   functionDescriptor.set_entry((address) 0xF);

Additional testing:
 - [x] Linux Zero PPC64 fastdebug build

-------------

Commit messages:
 - 8261310: PPC64 Zero build fails with 'VMError::controlled_crash(int)::FunctionDescriptor functionDescriptor' has incomplete type and cannot be defined

Changes: https://git.openjdk.java.net/jdk16u/pull/23/files
 Webrev: https://webrevs.openjdk.java.net/?repo=jdk16u&pr=23&range=00
  Issue: https://bugs.openjdk.java.net/browse/JDK-8261310
  Stats: 1 line in 1 file changed: 0 ins; 0 del; 1 mod
  Patch: https://git.openjdk.java.net/jdk16u/pull/23.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk16u pull/23/head:pull/23

PR: https://git.openjdk.java.net/jdk16u/pull/23


More information about the jdk-updates-dev mailing list