diff options
author | green <green@138bc75d-0d04-0410-961f-82ee72b054a4> | 2001-08-22 23:10:07 +0000 |
---|---|---|
committer | green <green@138bc75d-0d04-0410-961f-82ee72b054a4> | 2001-08-22 23:10:07 +0000 |
commit | 312e7efeba36d506da621bf9e8be19eedf5028fd (patch) | |
tree | a85327366ae992e0d1349dc7d48890fc28cbb60e /libjava/java | |
parent | 73e0b9d23aca1304658175608ffbc198e5263e90 (diff) | |
download | ppe42-gcc-312e7efeba36d506da621bf9e8be19eedf5028fd.tar.gz ppe42-gcc-312e7efeba36d506da621bf9e8be19eedf5028fd.zip |
Look for lib-gnu-pkg-quux.so, not gnu-pkg-quux.so.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@45115 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libjava/java')
-rw-r--r-- | libjava/java/lang/natClassLoader.cc | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/libjava/java/lang/natClassLoader.cc b/libjava/java/lang/natClassLoader.cc index 81e2206b114..0a82ee9c84d 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) { |