[aarch64-port-dev ] RFR: Fix Zero build failure

Edward Nevill ed at camswl.com
Fri Feb 28 08:15:17 PST 2014


Hi,

The zero build currently generates

Error: dl failure on line 873
Error: failed /home/ed/images/j2sdk-zero-release/jre/lib/aarch64/server/libjvm.so, because /home/ed/images/j2sdk-zero-release/jre/lib/aarch64/server/libjvm.so: undefined symbol: _ZN15MetaspaceShared18relocate_vtbl_listEPPc

The following patch fixes this.

There were 2 ways to fix this

1) add a (null) definition of relocate_vtbl_list to Zero
2) Conditionalize out the reference

The existing reference was already conditionalised on AARCH64.

Changing this to BUILTIN_SIM fixes the problem and I think better reflects the intent.

Ok to push?

Ed.

--- CUT HERE ---
# HG changeset patch
# User Edward Nevill edward.nevill at linaro.org
# Date 1393602992 0
#      Fri Feb 28 15:56:32 2014 +0000
# Node ID b20841396279b2494107d8bbda67970d59260101
# Parent  0303ccd7b68d682d04e0a38d6f4de12357202ee9
Make hotspot build for Zero

diff -r 0303ccd7b68d -r b20841396279 src/cpu/aarch64/vm/metaspaceShared_aarch64.cpp
--- a/src/cpu/aarch64/vm/metaspaceShared_aarch64.cpp	Fri Feb 28 14:25:21 2014 +0000
+++ b/src/cpu/aarch64/vm/metaspaceShared_aarch64.cpp	Fri Feb 28 15:56:32 2014 +0000
@@ -118,10 +118,10 @@
   *mc_top = (char*)__ pc();
 }
 
+#ifdef BUILTIN_SIM
 void MetaspaceShared::relocate_vtbl_list(char **buffer) {
-#ifdef BUILTIN_SIM
   void **sim_entry = (void**)*buffer;
   *sim_entry = (void*)aarch64_prolog;
   *buffer += sizeof(intptr_t);
+}
 #endif
-}
diff -r 0303ccd7b68d -r b20841396279 src/share/vm/memory/metaspaceShared.cpp
--- a/src/share/vm/memory/metaspaceShared.cpp	Fri Feb 28 14:25:21 2014 +0000
+++ b/src/share/vm/memory/metaspaceShared.cpp	Fri Feb 28 15:56:32 2014 +0000
@@ -904,7 +904,7 @@
   buffer += MetaspaceShared::vtbl_list_size * sizeof(void*);
   Universe::init_self_patching_vtbl_list(vtbl_list, vtbl_list_size);
 
-#ifdef AARCH64
+#ifdef BUILTIN_SIM
   relocate_vtbl_list(&buffer);
 #endif
 
diff -r 0303ccd7b68d -r b20841396279 src/share/vm/memory/metaspaceShared.hpp
--- a/src/share/vm/memory/metaspaceShared.hpp	Fri Feb 28 14:25:21 2014 +0000
+++ b/src/share/vm/memory/metaspaceShared.hpp	Fri Feb 28 15:56:32 2014 +0000
@@ -98,7 +98,7 @@
 
   static void print_shared_spaces();
 
-#if defined(AARCH64)
+#if defined(BUILTIN_SIM)
   static void relocate_vtbl_list(char **buffer);
 #endif
 };
--- CUT HERE ---




More information about the aarch64-port-dev mailing list