提交 0931e232 编写于 作者: B bpittore

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
上级 4988bb6f
...@@ -3307,6 +3307,9 @@ jint Threads::create_vm(JavaVMInitArgs* args, bool* canTryAgain) { ...@@ -3307,6 +3307,9 @@ jint Threads::create_vm(JavaVMInitArgs* args, bool* canTryAgain) {
extern void JDK_Version_init(); extern void JDK_Version_init();
// Preinitialize version info.
VM_Version::early_initialize();
// Check version // Check version
if (!is_supported_jni_version(args->version)) return JNI_EVERSION; if (!is_supported_jni_version(args->version)) return JNI_EVERSION;
......
...@@ -56,6 +56,13 @@ class Abstract_VM_Version: AllStatic { ...@@ -56,6 +56,13 @@ class Abstract_VM_Version: AllStatic {
public: public:
static void initialize(); 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 // Name
static const char* vm_name(); static const char* vm_name();
// Vendor // Vendor
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册