changeset 23179:a7c52c776c30

8080776: ARM 32 bit binaries do not run on 64 bit ARM v8 hardware Summary: Need to know arm cpu type earlier in the init sequence to avoid illegal instruction Reviewed-by: dholmes, dlong, bdelsart
author bpittore
date Wed, 08 Jul 2015 10:36:43 -0400
parents 4b6e79c930bf
children ad04e0ef0f85
files src/share/vm/runtime/thread.cpp src/share/vm/runtime/vm_version.hpp
diffstat 2 files changed, 10 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/src/share/vm/runtime/thread.cpp	Mon Jul 06 10:33:54 2015 -0700
+++ b/src/share/vm/runtime/thread.cpp	Wed Jul 08 10:36:43 2015 -0400
@@ -3307,6 +3307,9 @@
 
   extern void JDK_Version_init();
 
+  // Preinitialize version info.
+  VM_Version::early_initialize();
+
   // Check version
   if (!is_supported_jni_version(args->version)) return JNI_EVERSION;
 
--- a/src/share/vm/runtime/vm_version.hpp	Mon Jul 06 10:33:54 2015 -0700
+++ b/src/share/vm/runtime/vm_version.hpp	Wed Jul 08 10:36:43 2015 -0400
@@ -56,6 +56,13 @@
  public:
   static void initialize();
 
+  // This allows for early initialization of VM_Version information
+  // that may be needed later in the initialization sequence but before
+  // full VM_Version initialization is possible. It can not depend on any
+  // other part of the VM being initialized when called. Platforms that
+  // need to specialize this define VM_Version::early_initialize().
+  static void early_initialize() { }
+
   // Name
   static const char* vm_name();
   // Vendor