[vmkit-commits] [PATCH] Hook JnjvmClassLoader to make use of appropriate Classpath
Will Dietz
wdietz2 at illinois.edu
Tue Oct 25 17:31:47 PDT 2011
Inlined below.
Note that even with the previous versioning patch this still fails to
load libjava.so because we don't actually export the required JVM_*
symbols yet :).
~Will
>From 955540d76d1b0e4e819e1cc70ee8b306da2f05f9 Mon Sep 17 00:00:00 2001
From: Will Dietz <w at wdtz.org>
Date: Fri, 14 Oct 2011 05:19:58 -0500
Subject: [PATCH 3/3] Hook JnjvmClassLoader to make use of OpenJDK stuff for
an OpenJDK build.
---
lib/J3/ClassLib/Classpath.h.in | 6 ++++++
lib/J3/ClassLib/OpenJDK/JavaUpcalls.cpp | 4 ++++
lib/J3/VMCore/JnjvmClassLoader.cpp | 4 ++--
3 files changed, 12 insertions(+), 2 deletions(-)
diff --git a/lib/J3/ClassLib/Classpath.h.in b/lib/J3/ClassLib/Classpath.h.in
index 67a3f9f..e0e628f 100644
--- a/lib/J3/ClassLib/Classpath.h.in
+++ b/lib/J3/ClassLib/Classpath.h.in
@@ -17,6 +17,9 @@
#define GNUClasspathGlibj "@classpathglibj@"
#define GNUClasspathVersion "@classpathversion@"
+#define ClasslibBootEnv GNUClasspathGlibj
+#define ClasslibLibEnv GNUClasspathLibs
+
#else
// OpenJDK values
@@ -45,4 +48,7 @@
":" "/usr/lib" \
":" "/usr/lib64"
+#define ClasslibBootEnv OpenJDKBootPath
+#define ClasslibLibEnv OpenJDKLibPaths
+
#endif // USE_OPENJDK
diff --git a/lib/J3/ClassLib/OpenJDK/JavaUpcalls.cpp
b/lib/J3/ClassLib/OpenJDK/JavaUpcalls.cpp
index 11226b3..7ffe434 100644
--- a/lib/J3/ClassLib/OpenJDK/JavaUpcalls.cpp
+++ b/lib/J3/ClassLib/OpenJDK/JavaUpcalls.cpp
@@ -7,6 +7,7 @@
//
//===----------------------------------------------------------------------===//
+#include "Classpath.h"
#include "ClasspathReflect.h"
#include "JavaAccess.h"
#include "JavaClass.h"
@@ -538,6 +539,9 @@ extern "C" JavaString*
Java_java_lang_VMSystem_getenv__Ljava_lang_String_2(JavaS
void Classpath::initialiseClasspath(JnjvmClassLoader* loader) {
+ // Load OpenJDK's libjava.so
+ assert(loader->loadLib(OpenJDKLibJava));
+
newClassLoader =
UPCALL_CLASS(loader, "java/lang/ClassLoader");
diff --git a/lib/J3/VMCore/JnjvmClassLoader.cpp
b/lib/J3/VMCore/JnjvmClassLoader.cpp
index 98d9897..f5d01c5 100644
--- a/lib/J3/VMCore/JnjvmClassLoader.cpp
+++ b/lib/J3/VMCore/JnjvmClassLoader.cpp
@@ -61,8 +61,8 @@
JnjvmBootstrapLoader::JnjvmBootstrapLoader(mvm::BumpPtrAllocator&
Alloc,
javaSignatures = new(allocator, "SignMap") SignMap();
strings = new(allocator, "StringList") StringList();
- bootClasspathEnv = GNUClasspathGlibj;
- libClasspathEnv = GNUClasspathLibs;
+ bootClasspathEnv = ClasslibBootEnv;
+ libClasspathEnv = ClasslibLibEnv;
upcalls = new(allocator, "Classpath") Classpath();
bootstrapLoader = this;
--
1.7.5.1
More information about the vmkit-commits
mailing list