So it seems to be something with exception handling.  In the two cases
below I had to take care to avoid class-lookup failures.  Avoiding
those failures, the gcj shared object loads and runs fine.

retrieving revision 1.1
Index: libraries/javalib/java/lang/ClassLoader.java
===================================================================
RCS file: /cvs/kaffe/kaffe/libraries/javalib/java/lang/ClassLoader.java,v
retrieving revision 1.19
diff -c -r1.19 ClassLoader.java
*** libraries/javalib/java/lang/ClassLoader.java        1999/09/21 20:47:15     1.19
--- libraries/javalib/java/lang/ClassLoader.java        2000/02/03 00:36:41
***************
*** 146,152 ****
  
  public URL getResource(String name) {
        try {
!               return (URL)getResources(name).nextElement();
        } catch (IOException e) {
        } catch (NoSuchElementException e) {
        }
--- 146,155 ----
  
  public URL getResource(String name) {
        try {
!           Enumeration vec = getResources (name);
!           
!           if (vec.hasMoreElements ())
!           return (URL)vec.nextElement();
        } catch (IOException e) {
        } catch (NoSuchElementException e) {
        }
Index: libraries/javalib/kaffe/net/DefaultURLStreamHandlerFactory.java
===================================================================
RCS file: 
/cvs/kaffe/kaffe/libraries/javalib/kaffe/net/DefaultURLStreamHandlerFactory.java,v
retrieving revision 1.4
diff -c -r1.4 DefaultURLStreamHandlerFactory.java
*** libraries/javalib/kaffe/net/DefaultURLStreamHandlerFactory.java     1999/07/24 
00:56:36     1.4
--- libraries/javalib/kaffe/net/DefaultURLStreamHandlerFactory.java     2000/02/03 
00:36:43
***************
*** 46,58 ****
                }
        }
  
        /* Try the TVT default name */
!       String classPath = tvtName + protocol + ".Handler";
        handler = tryClass(classPath);
        if (handler != null) {
                cache.put(protocol, handler);
                return (handler);
        }
  
        /* Try the default name */
        classPath = defaultName + protocol + ".Handler";
--- 46,61 ----
                }
        }
  
+       String classPath;
        /* Try the TVT default name */
! /*
!         classPath = tvtName + protocol + ".Handler";
        handler = tryClass(classPath);
        if (handler != null) {
                cache.put(protocol, handler);
                return (handler);
        }
+ */
  
        /* Try the default name */
        classPath = defaultName + protocol + ".Handler";

Reply via email to