8080776: ARM 32 bit binaries do not run on 64 bit ARM v8 hardware

Need to know arm cpu type earlier in the init sequence to avoid illegal instruction

Reviewed-by: dholmes, dlong, bdelsart
This commit is contained in:
Bill Pittore 2015-06-18 10:47:34 -04:00
parent 058dd16f78
commit 7f027ca123
2 changed files with 10 additions and 0 deletions

View File

@ -3273,6 +3273,9 @@ void Threads::initialize_jsr292_core_classes(TRAPS) {
jint Threads::create_vm(JavaVMInitArgs* args, bool* canTryAgain) {
extern void JDK_Version_init();
// Preinitialize version info.
VM_Version::early_initialize();
// Check version
if (!is_supported_jni_version(args->version)) return JNI_EVERSION;

View File

@ -58,6 +58,13 @@ class Abstract_VM_Version: AllStatic {
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