aboutsummaryrefslogtreecommitdiff
path: root/libjava/java
diff options
context:
space:
mode:
authorAnthony Green <green@redhat.com>2001-08-22 23:10:07 +0000
committerAnthony Green <green@gcc.gnu.org>2001-08-22 23:10:07 +0000
commitcb7d9f6769fa51cd09230eda98cf984ea636c826 (patch)
treea85327366ae992e0d1349dc7d48890fc28cbb60e /libjava/java
parent85f3e7480221cc05de4f6d2874c192aeea0bd63a (diff)
downloadgcc-cb7d9f6769fa51cd09230eda98cf984ea636c826.zip
gcc-cb7d9f6769fa51cd09230eda98cf984ea636c826.tar.gz
gcc-cb7d9f6769fa51cd09230eda98cf984ea636c826.tar.bz2
Look for lib-gnu-pkg-quux.so, not gnu-pkg-quux.so.
From-SVN: r45115
Diffstat (limited to 'libjava/java')
-rw-r--r--libjava/java/lang/natClassLoader.cc12
1 files changed, 7 insertions, 5 deletions
diff --git a/libjava/java/lang/natClassLoader.cc b/libjava/java/lang/natClassLoader.cc
index 81e2206..0a82ee9 100644
--- a/libjava/java/lang/natClassLoader.cc
+++ b/libjava/java/lang/natClassLoader.cc
@@ -35,6 +35,7 @@ details. */
#include <java/lang/IncompatibleClassChangeError.h>
#include <java/lang/reflect/Modifier.h>
#include <java/lang/Runtime.h>
+#include <java/lang/StringBuffer.h>
#include <java/io/Serializable.h>
#include <java/lang/Cloneable.h>
@@ -184,11 +185,12 @@ gnu::gcj::runtime::VMClassLoader::findClass (jstring name)
if (! klass)
{
- // Turn `gnu.pkg.quux' into `gnu-pkg-quux'. Then search for a
- // module named (eg, on Linux) `gnu-pkg-quux.so', followed by
- // `gnu-pkg.so' and `gnu.so'. If loading one of these causes
- // the class to appear in the cache, then use it.
- jstring so_base_name = name->replace ('.', '-');
+ // Turn `gnu.pkg.quux' into `lib-gnu-pkg-quux'. Then search for
+ // a module named (eg, on Linux) `lib-gnu-pkg-quux.so', followed
+ // by `lib-gnu-pkg.so' and `lib-gnu.so'. If loading one of
+ // these causes the class to appear in the cache, then use it.
+ java::lang::StringBuffer *sb = new java::lang::StringBuffer (JvNewStringLatin1("lib-"));
+ jstring so_base_name = (sb->append (name)->toString ())->replace ('.', '-');
while (! klass && so_base_name && so_base_name->length() > 0)
{