[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