diff options
author | Anthony Green <green@redhat.com> | 2001-08-22 23:10:07 +0000 |
---|---|---|
committer | Anthony Green <green@gcc.gnu.org> | 2001-08-22 23:10:07 +0000 |
commit | cb7d9f6769fa51cd09230eda98cf984ea636c826 (patch) | |
tree | a85327366ae992e0d1349dc7d48890fc28cbb60e /libjava | |
parent | 85f3e7480221cc05de4f6d2874c192aeea0bd63a (diff) | |
download | gcc-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')
-rw-r--r-- | libjava/ChangeLog | 5 | ||||
-rw-r--r-- | libjava/java/lang/natClassLoader.cc | 12 |
2 files changed, 12 insertions, 5 deletions
diff --git a/libjava/ChangeLog b/libjava/ChangeLog index b5f0dee..f7092d1 100644 --- a/libjava/ChangeLog +++ b/libjava/ChangeLog @@ -1,3 +1,8 @@ +2001-08-21 Anthony Green <green@redhat.com> + + * java/lang/natClassLoader.cc (findClass): Search for + lib-gnu-pkg-quux.so, not gnu-pkg-quux.so. + 2001-08-21 Jeff Sturm <jsturm@one-point.com> * java/util/IdentityHashMap.java (get): Fix off-by-one error. 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) { |