<div>Looks good, but</div><div><br></div>On Wed, Oct 26, 2011 at 2:31 AM, Will Dietz <span dir="ltr"><<a href="mailto:wdietz2@illinois.edu">wdietz2@illinois.edu</a>></span> wrote:<br><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
Inlined below.<br>
<br>
Note that even with the previous versioning patch this still fails to<br>
load libjava.so because we don't actually export the required JVM_*<br>
symbols yet :).<br>
<br>
~Will<br>
<br>
>From 955540d76d1b0e4e819e1cc70ee8b306da2f05f9 Mon Sep 17 00:00:00 2001<br>
From: Will Dietz <<a href="mailto:w@wdtz.org">w@wdtz.org</a>><br>
Date: Fri, 14 Oct 2011 05:19:58 -0500<br>
Subject: [PATCH 3/3] Hook JnjvmClassLoader to make use of OpenJDK stuff for<br>
an OpenJDK build.<br>
<br>
---<br>
lib/J3/ClassLib/<a href="http://Classpath.h.in" target="_blank">Classpath.h.in</a> | 6 ++++++<br>
lib/J3/ClassLib/OpenJDK/JavaUpcalls.cpp | 4 ++++<br>
lib/J3/VMCore/JnjvmClassLoader.cpp | 4 ++--<br>
3 files changed, 12 insertions(+), 2 deletions(-)<br>
<br>
diff --git a/lib/J3/ClassLib/<a href="http://Classpath.h.in" target="_blank">Classpath.h.in</a> b/lib/J3/ClassLib/<a href="http://Classpath.h.in" target="_blank">Classpath.h.in</a><br>
index 67a3f9f..e0e628f 100644<br>
--- a/lib/J3/ClassLib/<a href="http://Classpath.h.in" target="_blank">Classpath.h.in</a><br>
+++ b/lib/J3/ClassLib/<a href="http://Classpath.h.in" target="_blank">Classpath.h.in</a><br>
@@ -17,6 +17,9 @@<br>
#define GNUClasspathGlibj "@classpathglibj@"<br>
#define GNUClasspathVersion "@classpathversion@"<br>
<br>
+#define ClasslibBootEnv GNUClasspathGlibj<br>
+#define ClasslibLibEnv GNUClasspathLibs<br>
+<br>
#else<br>
<br>
// OpenJDK values<br>
@@ -45,4 +48,7 @@<br>
":" "/usr/lib" \<br>
":" "/usr/lib64"<br>
<br>
+#define ClasslibBootEnv OpenJDKBootPath<br>
+#define ClasslibLibEnv OpenJDKLibPaths<br>
+<br>
#endif // USE_OPENJDK<br>
diff --git a/lib/J3/ClassLib/OpenJDK/JavaUpcalls.cpp<br>
b/lib/J3/ClassLib/OpenJDK/JavaUpcalls.cpp<br>
index 11226b3..7ffe434 100644<br>
--- a/lib/J3/ClassLib/OpenJDK/JavaUpcalls.cpp<br>
+++ b/lib/J3/ClassLib/OpenJDK/JavaUpcalls.cpp<br>
@@ -7,6 +7,7 @@<br>
//<br>
//===----------------------------------------------------------------------===//<br>
<br>
+#include "Classpath.h"<br>
#include "ClasspathReflect.h"<br>
#include "JavaAccess.h"<br>
#include "JavaClass.h"<br>
@@ -538,6 +539,9 @@ extern "C" JavaString*<br>
Java_java_lang_VMSystem_getenv__Ljava_lang_String_2(JavaS<br>
<br>
void Classpath::initialiseClasspath(JnjvmClassLoader* loader) {<br>
<br>
+ // Load OpenJDK's libjava.so<br>
+ assert(loader->loadLib(OpenJDKLibJava));<br></blockquote><div><br></div><div>The assert can be removed by the compiler. Is that the intended behavior of your change? Maybe you should do:</div><div>void* res = loader->loadLib(OpenJDKLibJava);</div>
<div>assert(res);</div><div><br></div><div>?</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
+<br>
newClassLoader =<br>
UPCALL_CLASS(loader, "java/lang/ClassLoader");<br>
<br>
diff --git a/lib/J3/VMCore/JnjvmClassLoader.cpp<br>
b/lib/J3/VMCore/JnjvmClassLoader.cpp<br>
index 98d9897..f5d01c5 100644<br>
--- a/lib/J3/VMCore/JnjvmClassLoader.cpp<br>
+++ b/lib/J3/VMCore/JnjvmClassLoader.cpp<br>
@@ -61,8 +61,8 @@<br>
JnjvmBootstrapLoader::JnjvmBootstrapLoader(mvm::BumpPtrAllocator&<br>
Alloc,<br>
javaSignatures = new(allocator, "SignMap") SignMap();<br>
strings = new(allocator, "StringList") StringList();<br>
<br>
- bootClasspathEnv = GNUClasspathGlibj;<br>
- libClasspathEnv = GNUClasspathLibs;<br>
+ bootClasspathEnv = ClasslibBootEnv;<br>
+ libClasspathEnv = ClasslibLibEnv;<br>
<br>
upcalls = new(allocator, "Classpath") Classpath();<br>
bootstrapLoader = this;<br>
<font color="#888888">--<br>
1.7.5.1<br>
_______________________________________________<br>
vmkit-commits mailing list<br>
<a href="mailto:vmkit-commits@cs.uiuc.edu">vmkit-commits@cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/vmkit-commits" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/vmkit-commits</a><br>
</font></blockquote></div><br>