Look for lib-gnu-pkg-quux.so, not gnu-pkg-quux.so.

From-SVN: r45115
This commit is contained in:
Anthony Green 2001-08-22 23:10:07 +00:00 committed by Anthony Green
parent 85f3e74802
commit cb7d9f6769
2 changed files with 12 additions and 5 deletions

View File

@ -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.

View File

@ -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)
{