< prev index next >

src/hotspot/share/utilities/vmError.cpp

Print this page
rev 54181 : 8221175: Fix bad function case for controlled JVM crash on PPC64 big-endian
Reviewed-by: chrisphi, stuefe, goetz

*** 1723,1733 **** const size_t num = (size_t)os::vm_page_size(); const char* const eol = os::line_separator(); const char* const msg = "this message should be truncated during formatting"; char * const dataPtr = NULL; // bad data pointer ! const void (*funcPtr)(void) = (const void(*)()) 0xF; // bad function pointer // Keep this in sync with test/hotspot/jtreg/runtime/ErrorHandling/ErrorHandler.java // which tests cases 1 thru 13. // Case 14 is tested by test/hotspot/jtreg/runtime/ErrorHandling/SafeFetchInErrorHandlingTest.java. // Case 15 is tested by test/hotspot/jtreg/runtime/ErrorHandling/SecondaryErrorTest.java. --- 1723,1742 ---- const size_t num = (size_t)os::vm_page_size(); const char* const eol = os::line_separator(); const char* const msg = "this message should be truncated during formatting"; char * const dataPtr = NULL; // bad data pointer ! const void (*funcPtr)(void); // bad function pointer ! ! #if defined(PPC64) && !defined(ABI_ELFv2) ! struct FunctionDescriptor functionDescriptor; ! ! functionDescriptor.set_entry((address) 0xF); ! funcPtr = (const void(*)()) &functionDescriptor; ! #else ! funcPtr = (const void(*)()) 0xF; ! #endif // Keep this in sync with test/hotspot/jtreg/runtime/ErrorHandling/ErrorHandler.java // which tests cases 1 thru 13. // Case 14 is tested by test/hotspot/jtreg/runtime/ErrorHandling/SafeFetchInErrorHandlingTest.java. // Case 15 is tested by test/hotspot/jtreg/runtime/ErrorHandling/SecondaryErrorTest.java.
< prev index next >