]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
natVMStackWalker.cc: Call InitClass everywhere.
authorAndrew Haley <aph@redhat.com>
Wed, 24 Jan 2007 17:13:50 +0000 (17:13 +0000)
committerAndrew Haley <aph@gcc.gnu.org>
Wed, 24 Jan 2007 17:13:50 +0000 (17:13 +0000)
2007-01-24  Andrew Haley  <aph@redhat.com>

        * gnu/classpath/natVMStackWalker.cc: Call InitClass everywhere.
        (getClassContext) Add a barrier to prevent GetStackWalkerStack()
        from being sibcalled.

2007-01-24  Andrew Haley  <aph@redhat.com>

        * scripts/makemake.tcl (emit_bc_rule): Set the source filename.
        * sources.am: Rebuild.

From-SVN: r121119

libjava/ChangeLog
libjava/Makefile.in
libjava/gnu/classpath/natVMStackWalker.cc
libjava/sources.am

index 63b3f01a982dac8ebce931a991e7ec7e051177a4..18720f4f003f40c814b4f1e0d7c265f1a934c9e0 100644 (file)
@@ -1,3 +1,14 @@
+2007-01-24  Andrew Haley  <aph@redhat.com>
+
+       * gnu/classpath/natVMStackWalker.cc: Call InitClass everywhere.
+       (getClassContext) Add a barrier to prevent GetStackWalkerStack()
+       from being sibcalled.
+
+2007-01-24  Andrew Haley  <aph@redhat.com>
+
+       * scripts/makemake.tcl (emit_bc_rule): Set the source filename.
+       * sources.am: Rebuild.
+
 2007-01-24  Andreas Krebbel  <krebbel1@de.ibm.com>
 
        * exception.cc (parse_lsda_header, PERSONALITY_FUNCTION): Replaced
index c674a6773085b599b65d964240fcbaf182f7a091..566702c649139fcc5c18a26be57bfdd0385e0884 100644 (file)
@@ -9934,7 +9934,7 @@ java/lang/Class.lo: classpath/lib/java/lang/Class.class
 
 gnu-CORBA.lo: $(gnu_CORBA_source_files)
        @find $(srcdir)/classpath/lib/gnu/CORBA -name '*.class' > gnu-CORBA.list
-       $(LTGCJCOMPILE) -fjni -findirect-dispatch -fno-indirect-classes -c -o gnu-CORBA.lo @gnu-CORBA.list
+       $(LTGCJCOMPILE) -fsource-filename=$(here)/classpath/lib/classes -fjni -findirect-dispatch -fno-indirect-classes -c -o gnu-CORBA.lo @gnu-CORBA.list
        @rm -f gnu-CORBA.list
 
 gnu/awt.list: $(gnu_awt_source_files)
@@ -10083,7 +10083,7 @@ gnu/java/awt/dnd.list: $(gnu_java_awt_dnd_source_files)
 
 gnu-java-awt-dnd-peer-gtk.lo: $(gnu_java_awt_dnd_peer_gtk_source_files)
        @find $(srcdir)/classpath/lib/gnu/java/awt/dnd/peer/gtk -name '*.class' > gnu-java-awt-dnd-peer-gtk.list
-       $(LTGCJCOMPILE) -fjni -findirect-dispatch -fno-indirect-classes -c -o gnu-java-awt-dnd-peer-gtk.lo @gnu-java-awt-dnd-peer-gtk.list
+       $(LTGCJCOMPILE) -fsource-filename=$(here)/classpath/lib/classes -fjni -findirect-dispatch -fno-indirect-classes -c -o gnu-java-awt-dnd-peer-gtk.lo @gnu-java-awt-dnd-peer-gtk.list
        @rm -f gnu-java-awt-dnd-peer-gtk.list
 
 gnu/java/awt/font.list: $(gnu_java_awt_font_source_files)
@@ -10130,7 +10130,7 @@ gnu/java/awt/peer.list: $(gnu_java_awt_peer_source_files)
 
 gnu-java-awt-peer-gtk.lo: $(gnu_java_awt_peer_gtk_source_files)
        @find $(srcdir)/classpath/lib/gnu/java/awt/peer/gtk -name '*.class' > gnu-java-awt-peer-gtk.list
-       $(LTGCJCOMPILE) -fjni -findirect-dispatch -fno-indirect-classes -c -o gnu-java-awt-peer-gtk.lo @gnu-java-awt-peer-gtk.list
+       $(LTGCJCOMPILE) -fsource-filename=$(here)/classpath/lib/classes -fjni -findirect-dispatch -fno-indirect-classes -c -o gnu-java-awt-peer-gtk.lo @gnu-java-awt-peer-gtk.list
        @rm -f gnu-java-awt-peer-gtk.list
 
 gnu/java/awt/peer/headless.list: $(gnu_java_awt_peer_headless_source_files)
@@ -10141,17 +10141,17 @@ gnu/java/awt/peer/headless.list: $(gnu_java_awt_peer_headless_source_files)
 
 gnu-java-awt-peer-qt.lo: $(gnu_java_awt_peer_qt_source_files)
        @find $(srcdir)/classpath/lib/gnu/java/awt/peer/qt -name '*.class' > gnu-java-awt-peer-qt.list
-       $(LTGCJCOMPILE) -fjni -findirect-dispatch -fno-indirect-classes -c -o gnu-java-awt-peer-qt.lo @gnu-java-awt-peer-qt.list
+       $(LTGCJCOMPILE) -fsource-filename=$(here)/classpath/lib/classes -fjni -findirect-dispatch -fno-indirect-classes -c -o gnu-java-awt-peer-qt.lo @gnu-java-awt-peer-qt.list
        @rm -f gnu-java-awt-peer-qt.list
 
 gnu-java-awt-peer-swing.lo: $(gnu_java_awt_peer_swing_source_files)
        @find $(srcdir)/classpath/lib/gnu/java/awt/peer/swing -name '*.class' > gnu-java-awt-peer-swing.list
-       $(LTGCJCOMPILE) -fjni -findirect-dispatch -fno-indirect-classes -c -o gnu-java-awt-peer-swing.lo @gnu-java-awt-peer-swing.list
+       $(LTGCJCOMPILE) -fsource-filename=$(here)/classpath/lib/classes -fjni -findirect-dispatch -fno-indirect-classes -c -o gnu-java-awt-peer-swing.lo @gnu-java-awt-peer-swing.list
        @rm -f gnu-java-awt-peer-swing.list
 
 gnu-java-awt-peer-x.lo: $(gnu_java_awt_peer_x_source_files)
        @find $(srcdir)/classpath/lib/gnu/java/awt/peer/x -name '*.class' > gnu-java-awt-peer-x.list
-       $(LTGCJCOMPILE) -fjni -findirect-dispatch -fno-indirect-classes -c -o gnu-java-awt-peer-x.lo @gnu-java-awt-peer-x.list
+       $(LTGCJCOMPILE) -fsource-filename=$(here)/classpath/lib/classes -fjni -findirect-dispatch -fno-indirect-classes -c -o gnu-java-awt-peer-x.lo @gnu-java-awt-peer-x.list
        @rm -f gnu-java-awt-peer-x.list
 
 gnu/java/awt/print.list: $(gnu_java_awt_print_source_files)
@@ -10162,7 +10162,7 @@ gnu/java/awt/print.list: $(gnu_java_awt_print_source_files)
 
 gnu-java-beans.lo: $(gnu_java_beans_source_files)
        @find $(srcdir)/classpath/lib/gnu/java/beans -name '*.class' > gnu-java-beans.list
-       $(LTGCJCOMPILE) -fjni -findirect-dispatch -fno-indirect-classes -c -o gnu-java-beans.lo @gnu-java-beans.list
+       $(LTGCJCOMPILE) -fsource-filename=$(here)/classpath/lib/classes -fjni -findirect-dispatch -fno-indirect-classes -c -o gnu-java-beans.lo @gnu-java-beans.list
        @rm -f gnu-java-beans.list
 
 gnu/java/io.list: $(gnu_java_io_source_files)
@@ -10455,7 +10455,7 @@ gnu/java/util/prefs.list: $(gnu_java_util_prefs_source_files)
 
 gnu-java-util-prefs-gconf.lo: $(gnu_java_util_prefs_gconf_source_files)
        @find $(srcdir)/classpath/lib/gnu/java/util/prefs/gconf -name '*.class' > gnu-java-util-prefs-gconf.list
-       $(LTGCJCOMPILE) -fjni -findirect-dispatch -fno-indirect-classes -c -o gnu-java-util-prefs-gconf.lo @gnu-java-util-prefs-gconf.list
+       $(LTGCJCOMPILE) -fsource-filename=$(here)/classpath/lib/classes -fjni -findirect-dispatch -fno-indirect-classes -c -o gnu-java-util-prefs-gconf.lo @gnu-java-util-prefs-gconf.list
        @rm -f gnu-java-util-prefs-gconf.list
 
 gnu/java/util/regex.list: $(gnu_java_util_regex_source_files)
@@ -10736,7 +10736,7 @@ gnu/javax/print/ipp/attribute/supported.list: $(gnu_javax_print_ipp_attribute_su
 
 gnu-javax-rmi.lo: $(gnu_javax_rmi_source_files)
        @find $(srcdir)/classpath/lib/gnu/javax/rmi -name '*.class' > gnu-javax-rmi.list
-       $(LTGCJCOMPILE) -fjni -findirect-dispatch -fno-indirect-classes -c -o gnu-javax-rmi.lo @gnu-javax-rmi.list
+       $(LTGCJCOMPILE) -fsource-filename=$(here)/classpath/lib/classes -fjni -findirect-dispatch -fno-indirect-classes -c -o gnu-javax-rmi.lo @gnu-javax-rmi.list
        @rm -f gnu-javax-rmi.list
 
 gnu/javax/security/auth.list: $(gnu_javax_security_auth_source_files)
@@ -10759,7 +10759,7 @@ gnu/javax/security/auth/login.list: $(gnu_javax_security_auth_login_source_files
 
 gnu-javax-sound-midi.lo: $(gnu_javax_sound_midi_source_files)
        @find $(srcdir)/classpath/lib/gnu/javax/sound/midi -name '*.class' > gnu-javax-sound-midi.list
-       $(LTGCJCOMPILE) -fjni -findirect-dispatch -fno-indirect-classes -c -o gnu-javax-sound-midi.lo @gnu-javax-sound-midi.list
+       $(LTGCJCOMPILE) -fsource-filename=$(here)/classpath/lib/classes -fjni -findirect-dispatch -fno-indirect-classes -c -o gnu-javax-sound-midi.lo @gnu-javax-sound-midi.list
        @rm -f gnu-javax-sound-midi.list
 
 gnu/javax/sound/sampled/AU.list: $(gnu_javax_sound_sampled_AU_source_files)
@@ -10830,7 +10830,7 @@ gnu/javax/swing/tree.list: $(gnu_javax_swing_tree_source_files)
 
 gnu-xml.lo: $(gnu_xml_source_files)
        @find $(srcdir)/classpath/lib/gnu/xml -name '*.class' > gnu-xml.list
-       $(LTGCJCOMPILE) -fjni -findirect-dispatch -fno-indirect-classes -c -o gnu-xml.lo @gnu-xml.list
+       $(LTGCJCOMPILE) -fsource-filename=$(here)/classpath/lib/classes -fjni -findirect-dispatch -fno-indirect-classes -c -o gnu-xml.lo @gnu-xml.list
        @rm -f gnu-xml.list
 
 java/applet.list: $(java_applet_source_files)
@@ -11171,7 +11171,7 @@ javax/crypto/spec.list: $(javax_crypto_spec_source_files)
 
 javax-imageio.lo: $(javax_imageio_source_files)
        @find $(srcdir)/classpath/lib/javax/imageio -name '*.class' > javax-imageio.list
-       $(LTGCJCOMPILE) -fjni -findirect-dispatch -fno-indirect-classes -c -o javax-imageio.lo @javax-imageio.list
+       $(LTGCJCOMPILE) -fsource-filename=$(here)/classpath/lib/classes -fjni -findirect-dispatch -fno-indirect-classes -c -o javax-imageio.lo @javax-imageio.list
        @rm -f javax-imageio.list
 
 javax/management.list: $(javax_management_source_files)
@@ -11260,7 +11260,7 @@ javax/print/event.list: $(javax_print_event_source_files)
 
 javax-rmi.lo: $(javax_rmi_source_files)
        @find $(srcdir)/classpath/lib/javax/rmi -name '*.class' > javax-rmi.list
-       $(LTGCJCOMPILE) -fjni -findirect-dispatch -fno-indirect-classes -c -o javax-rmi.lo @javax-rmi.list
+       $(LTGCJCOMPILE) -fsource-filename=$(here)/classpath/lib/classes -fjni -findirect-dispatch -fno-indirect-classes -c -o javax-rmi.lo @javax-rmi.list
        @rm -f javax-rmi.list
 
 javax/security/auth.list: $(javax_security_auth_source_files)
@@ -11457,7 +11457,7 @@ javax/transaction/xa.list: $(javax_transaction_xa_source_files)
 
 javax-xml.lo: $(javax_xml_source_files)
        @find $(srcdir)/classpath/lib/javax/xml -name '*.class' > javax-xml.list
-       $(LTGCJCOMPILE) -fjni -findirect-dispatch -fno-indirect-classes -c -o javax-xml.lo @javax-xml.list
+       $(LTGCJCOMPILE) -fsource-filename=$(here)/classpath/lib/classes -fjni -findirect-dispatch -fno-indirect-classes -c -o javax-xml.lo @javax-xml.list
        @rm -f javax-xml.list
 
 org/ietf/jgss.list: $(org_ietf_jgss_source_files)
@@ -11468,22 +11468,22 @@ org/ietf/jgss.list: $(org_ietf_jgss_source_files)
 
 org-omg.lo: $(org_omg_source_files)
        @find $(srcdir)/classpath/lib/org/omg -name '*.class' > org-omg.list
-       $(LTGCJCOMPILE) -fjni -findirect-dispatch -fno-indirect-classes -c -o org-omg.lo @org-omg.list
+       $(LTGCJCOMPILE) -fsource-filename=$(here)/classpath/lib/classes -fjni -findirect-dispatch -fno-indirect-classes -c -o org-omg.lo @org-omg.list
        @rm -f org-omg.list
 
 org-relaxng.lo: $(org_relaxng_source_files)
        @find $(srcdir)/classpath/lib/org/relaxng -name '*.class' > org-relaxng.list
-       $(LTGCJCOMPILE) -fjni -findirect-dispatch -fno-indirect-classes -c -o org-relaxng.lo @org-relaxng.list
+       $(LTGCJCOMPILE) -fsource-filename=$(here)/classpath/lib/classes -fjni -findirect-dispatch -fno-indirect-classes -c -o org-relaxng.lo @org-relaxng.list
        @rm -f org-relaxng.list
 
 org-w3c.lo: $(org_w3c_source_files)
        @find $(srcdir)/classpath/lib/org/w3c -name '*.class' > org-w3c.list
-       $(LTGCJCOMPILE) -fjni -findirect-dispatch -fno-indirect-classes -c -o org-w3c.lo @org-w3c.list
+       $(LTGCJCOMPILE) -fsource-filename=$(here)/classpath/lib/classes -fjni -findirect-dispatch -fno-indirect-classes -c -o org-w3c.lo @org-w3c.list
        @rm -f org-w3c.list
 
 org-xml.lo: $(org_xml_source_files)
        @find $(srcdir)/classpath/lib/org/xml -name '*.class' > org-xml.list
-       $(LTGCJCOMPILE) -fjni -findirect-dispatch -fno-indirect-classes -c -o org-xml.lo @org-xml.list
+       $(LTGCJCOMPILE) -fsource-filename=$(here)/classpath/lib/classes -fjni -findirect-dispatch -fno-indirect-classes -c -o org-xml.lo @org-xml.list
        @rm -f org-xml.list
 
 sun/misc.list: $(sun_misc_source_files)
index 07ec48c030a3936704312899d1013eef66c1aede..621a95b4cc5e680da12328ce478384b6d0c8c817 100644 (file)
@@ -17,22 +17,29 @@ details.  */
 #include <gnu/classpath/VMStackWalker.h>
 #include <gnu/gcj/RawData.h>
 #include <java/lang/ClassLoader.h>
+#include <java/lang/Class.h>
 
 JArray<jclass> *
 gnu::classpath::VMStackWalker::getClassContext(void)
 {
-  return _Jv_StackTrace::GetStackWalkerStack ();
+  _Jv_InitClass (&::gnu::classpath::VMStackWalker::class$);
+  JArray<jclass> *result = _Jv_StackTrace::GetStackWalkerStack ();
+  // Prevent GetStackWalkerStack() from being sibcalled.
+  __asm__ __volatile__ ("" : : "g" (result));
+  return result;
 }
 
 jclass
 gnu::classpath::VMStackWalker::getCallingClass(void)
 {
+  _Jv_InitClass (&::gnu::classpath::VMStackWalker::class$);
   return _Jv_StackTrace::GetStackWalkerCallingClass ();
 }
 
 jclass
 gnu::classpath::VMStackWalker::getCallingClass(::gnu::gcj::RawData *pc)
 {
+  _Jv_InitClass (&::gnu::classpath::VMStackWalker::class$);
   void *f = _Unwind_FindEnclosingFunction (pc);
 
   // FIXME: it might well be a good idea to cache pc values here in
@@ -57,12 +64,14 @@ gnu::classpath::VMStackWalker::getCallingClass(::gnu::gcj::RawData *pc)
 ::java::lang::ClassLoader *
 gnu::classpath::VMStackWalker::getClassLoader(::java::lang::Class *c)
 {
+  _Jv_InitClass (&::gnu::classpath::VMStackWalker::class$);
   return c->getClassLoaderInternal ();
 }
 
 ::java::lang::ClassLoader *
 gnu::classpath::VMStackWalker::getCallingClassLoader(void)
 {
+  _Jv_InitClass (&::gnu::classpath::VMStackWalker::class$);
   return
     _Jv_StackTrace::GetStackWalkerCallingClass ()->getClassLoaderInternal ();
 }
@@ -70,11 +79,13 @@ gnu::classpath::VMStackWalker::getCallingClassLoader(void)
 ::java::lang::ClassLoader *
 gnu::classpath::VMStackWalker::getCallingClassLoader(::gnu::gcj::RawData *pc)
 {
+  _Jv_InitClass (&::gnu::classpath::VMStackWalker::class$);
   return getCallingClass (pc)->getClassLoaderInternal ();
 }
 
 ::java::lang::ClassLoader *
 gnu::classpath::VMStackWalker::firstNonNullClassLoader(void)
 {
+  _Jv_InitClass (&::gnu::classpath::VMStackWalker::class$);
   return _Jv_StackTrace::GetStackWalkerFirstNonNullLoader ();
 }
index e1fcbf315d9aa0fc10bbe07f6fde3463c6502e7d..b1e99c26d01859aab0433ae3906515210ce486fd 100644 (file)
@@ -166,7 +166,7 @@ classpath/gnu/CORBA/typecodes/StringTypeCode.java
 
 gnu-CORBA.lo: $(gnu_CORBA_source_files)
        @find $(srcdir)/classpath/lib/gnu/CORBA -name '*.class' > gnu-CORBA.list
-       $(LTGCJCOMPILE) -fjni -findirect-dispatch -fno-indirect-classes -c -o gnu-CORBA.lo @gnu-CORBA.list
+       $(LTGCJCOMPILE) -fsource-filename=$(here)/classpath/lib/classes -fjni -findirect-dispatch -fno-indirect-classes -c -o gnu-CORBA.lo @gnu-CORBA.list
        @rm -f gnu-CORBA.list
 
 gnu_awt_source_files = \
@@ -664,7 +664,7 @@ classpath/gnu/java/awt/dnd/peer/gtk/GtkDropTargetPeer.java
 
 gnu-java-awt-dnd-peer-gtk.lo: $(gnu_java_awt_dnd_peer_gtk_source_files)
        @find $(srcdir)/classpath/lib/gnu/java/awt/dnd/peer/gtk -name '*.class' > gnu-java-awt-dnd-peer-gtk.list
-       $(LTGCJCOMPILE) -fjni -findirect-dispatch -fno-indirect-classes -c -o gnu-java-awt-dnd-peer-gtk.lo @gnu-java-awt-dnd-peer-gtk.list
+       $(LTGCJCOMPILE) -fsource-filename=$(here)/classpath/lib/classes -fjni -findirect-dispatch -fno-indirect-classes -c -o gnu-java-awt-dnd-peer-gtk.lo @gnu-java-awt-dnd-peer-gtk.list
        @rm -f gnu-java-awt-dnd-peer-gtk.list
 
 gnu_java_awt_font_source_files = \
@@ -847,7 +847,7 @@ classpath/gnu/java/awt/peer/gtk/VolatileImageGraphics.java
 
 gnu-java-awt-peer-gtk.lo: $(gnu_java_awt_peer_gtk_source_files)
        @find $(srcdir)/classpath/lib/gnu/java/awt/peer/gtk -name '*.class' > gnu-java-awt-peer-gtk.list
-       $(LTGCJCOMPILE) -fjni -findirect-dispatch -fno-indirect-classes -c -o gnu-java-awt-peer-gtk.lo @gnu-java-awt-peer-gtk.list
+       $(LTGCJCOMPILE) -fsource-filename=$(here)/classpath/lib/classes -fjni -findirect-dispatch -fno-indirect-classes -c -o gnu-java-awt-peer-gtk.lo @gnu-java-awt-peer-gtk.list
        @rm -f gnu-java-awt-peer-gtk.list
 
 gnu_java_awt_peer_headless_source_files = \
@@ -910,7 +910,7 @@ classpath/gnu/java/awt/peer/qt/QtWindowPeer.java
 
 gnu-java-awt-peer-qt.lo: $(gnu_java_awt_peer_qt_source_files)
        @find $(srcdir)/classpath/lib/gnu/java/awt/peer/qt -name '*.class' > gnu-java-awt-peer-qt.list
-       $(LTGCJCOMPILE) -fjni -findirect-dispatch -fno-indirect-classes -c -o gnu-java-awt-peer-qt.lo @gnu-java-awt-peer-qt.list
+       $(LTGCJCOMPILE) -fsource-filename=$(here)/classpath/lib/classes -fjni -findirect-dispatch -fno-indirect-classes -c -o gnu-java-awt-peer-qt.lo @gnu-java-awt-peer-qt.list
        @rm -f gnu-java-awt-peer-qt.list
 
 gnu_java_awt_peer_swing_source_files = \
@@ -933,7 +933,7 @@ classpath/gnu/java/awt/peer/swing/SwingWindowPeer.java
 
 gnu-java-awt-peer-swing.lo: $(gnu_java_awt_peer_swing_source_files)
        @find $(srcdir)/classpath/lib/gnu/java/awt/peer/swing -name '*.class' > gnu-java-awt-peer-swing.list
-       $(LTGCJCOMPILE) -fjni -findirect-dispatch -fno-indirect-classes -c -o gnu-java-awt-peer-swing.lo @gnu-java-awt-peer-swing.list
+       $(LTGCJCOMPILE) -fsource-filename=$(here)/classpath/lib/classes -fjni -findirect-dispatch -fno-indirect-classes -c -o gnu-java-awt-peer-swing.lo @gnu-java-awt-peer-swing.list
        @rm -f gnu-java-awt-peer-swing.list
 
 gnu_java_awt_peer_x_source_files = \
@@ -957,7 +957,7 @@ classpath/gnu/java/awt/peer/x/XWindowPeer.java
 
 gnu-java-awt-peer-x.lo: $(gnu_java_awt_peer_x_source_files)
        @find $(srcdir)/classpath/lib/gnu/java/awt/peer/x -name '*.class' > gnu-java-awt-peer-x.list
-       $(LTGCJCOMPILE) -fjni -findirect-dispatch -fno-indirect-classes -c -o gnu-java-awt-peer-x.lo @gnu-java-awt-peer-x.list
+       $(LTGCJCOMPILE) -fsource-filename=$(here)/classpath/lib/classes -fjni -findirect-dispatch -fno-indirect-classes -c -o gnu-java-awt-peer-x.lo @gnu-java-awt-peer-x.list
        @rm -f gnu-java-awt-peer-x.list
 
 gnu_java_awt_print_source_files = \
@@ -1061,7 +1061,7 @@ classpath/gnu/java/beans/encoder/elements/StringReference.java
 
 gnu-java-beans.lo: $(gnu_java_beans_source_files)
        @find $(srcdir)/classpath/lib/gnu/java/beans -name '*.class' > gnu-java-beans.list
-       $(LTGCJCOMPILE) -fjni -findirect-dispatch -fno-indirect-classes -c -o gnu-java-beans.lo @gnu-java-beans.list
+       $(LTGCJCOMPILE) -fsource-filename=$(here)/classpath/lib/classes -fjni -findirect-dispatch -fno-indirect-classes -c -o gnu-java-beans.lo @gnu-java-beans.list
        @rm -f gnu-java-beans.list
 
 gnu_java_io_source_files = \
@@ -2157,7 +2157,7 @@ classpath/gnu/java/util/prefs/gconf/GConfNativePeer.java
 
 gnu-java-util-prefs-gconf.lo: $(gnu_java_util_prefs_gconf_source_files)
        @find $(srcdir)/classpath/lib/gnu/java/util/prefs/gconf -name '*.class' > gnu-java-util-prefs-gconf.list
-       $(LTGCJCOMPILE) -fjni -findirect-dispatch -fno-indirect-classes -c -o gnu-java-util-prefs-gconf.lo @gnu-java-util-prefs-gconf.list
+       $(LTGCJCOMPILE) -fsource-filename=$(here)/classpath/lib/classes -fjni -findirect-dispatch -fno-indirect-classes -c -o gnu-java-util-prefs-gconf.lo @gnu-java-util-prefs-gconf.list
        @rm -f gnu-java-util-prefs-gconf.list
 
 gnu_java_util_regex_source_files = \
@@ -3244,7 +3244,7 @@ classpath/gnu/javax/rmi/CORBA/ValueHandlerDelegateImpl.java
 
 gnu-javax-rmi.lo: $(gnu_javax_rmi_source_files)
        @find $(srcdir)/classpath/lib/gnu/javax/rmi -name '*.class' > gnu-javax-rmi.list
-       $(LTGCJCOMPILE) -fjni -findirect-dispatch -fno-indirect-classes -c -o gnu-javax-rmi.lo @gnu-javax-rmi.list
+       $(LTGCJCOMPILE) -fsource-filename=$(here)/classpath/lib/classes -fjni -findirect-dispatch -fno-indirect-classes -c -o gnu-javax-rmi.lo @gnu-javax-rmi.list
        @rm -f gnu-javax-rmi.list
 
 gnu_javax_security_auth_source_files = \
@@ -3307,7 +3307,7 @@ classpath/gnu/javax/sound/midi/file/MidiFileWriter.java
 
 gnu-javax-sound-midi.lo: $(gnu_javax_sound_midi_source_files)
        @find $(srcdir)/classpath/lib/gnu/javax/sound/midi -name '*.class' > gnu-javax-sound-midi.list
-       $(LTGCJCOMPILE) -fjni -findirect-dispatch -fno-indirect-classes -c -o gnu-javax-sound-midi.lo @gnu-javax-sound-midi.list
+       $(LTGCJCOMPILE) -fsource-filename=$(here)/classpath/lib/classes -fjni -findirect-dispatch -fno-indirect-classes -c -o gnu-javax-sound-midi.lo @gnu-javax-sound-midi.list
        @rm -f gnu-javax-sound-midi.list
 
 gnu_javax_sound_sampled_AU_source_files = \
@@ -3897,7 +3897,7 @@ classpath/gnu/xml/xpath/XPathTokenizer.java
 
 gnu-xml.lo: $(gnu_xml_source_files)
        @find $(srcdir)/classpath/lib/gnu/xml -name '*.class' > gnu-xml.list
-       $(LTGCJCOMPILE) -fjni -findirect-dispatch -fno-indirect-classes -c -o gnu-xml.lo @gnu-xml.list
+       $(LTGCJCOMPILE) -fsource-filename=$(here)/classpath/lib/classes -fjni -findirect-dispatch -fno-indirect-classes -c -o gnu-xml.lo @gnu-xml.list
        @rm -f gnu-xml.list
 
 java_applet_source_files = \
@@ -5878,7 +5878,7 @@ classpath/javax/imageio/stream/MemoryCacheImageOutputStream.java
 
 javax-imageio.lo: $(javax_imageio_source_files)
        @find $(srcdir)/classpath/lib/javax/imageio -name '*.class' > javax-imageio.list
-       $(LTGCJCOMPILE) -fjni -findirect-dispatch -fno-indirect-classes -c -o javax-imageio.lo @javax-imageio.list
+       $(LTGCJCOMPILE) -fsource-filename=$(here)/classpath/lib/classes -fjni -findirect-dispatch -fno-indirect-classes -c -o javax-imageio.lo @javax-imageio.list
        @rm -f javax-imageio.list
 
 javax_management_source_files = \
@@ -6378,7 +6378,7 @@ classpath/javax/rmi/ssl/SslRMIServerSocketFactory.java
 
 javax-rmi.lo: $(javax_rmi_source_files)
        @find $(srcdir)/classpath/lib/javax/rmi -name '*.class' > javax-rmi.list
-       $(LTGCJCOMPILE) -fjni -findirect-dispatch -fno-indirect-classes -c -o javax-rmi.lo @javax-rmi.list
+       $(LTGCJCOMPILE) -fsource-filename=$(here)/classpath/lib/classes -fjni -findirect-dispatch -fno-indirect-classes -c -o javax-rmi.lo @javax-rmi.list
        @rm -f javax-rmi.list
 
 javax_security_auth_source_files = \
@@ -7485,7 +7485,7 @@ classpath/javax/xml/xpath/XPathVariableResolver.java
 
 javax-xml.lo: $(javax_xml_source_files)
        @find $(srcdir)/classpath/lib/javax/xml -name '*.class' > javax-xml.list
-       $(LTGCJCOMPILE) -fjni -findirect-dispatch -fno-indirect-classes -c -o javax-xml.lo @javax-xml.list
+       $(LTGCJCOMPILE) -fsource-filename=$(here)/classpath/lib/classes -fjni -findirect-dispatch -fno-indirect-classes -c -o javax-xml.lo @javax-xml.list
        @rm -f javax-xml.list
 
 org_ietf_jgss_source_files = \
@@ -8044,7 +8044,7 @@ classpath/org/omg/stub/java/rmi/_Remote_Stub.java
 
 org-omg.lo: $(org_omg_source_files)
        @find $(srcdir)/classpath/lib/org/omg -name '*.class' > org-omg.list
-       $(LTGCJCOMPILE) -fjni -findirect-dispatch -fno-indirect-classes -c -o org-omg.lo @org-omg.list
+       $(LTGCJCOMPILE) -fsource-filename=$(here)/classpath/lib/classes -fjni -findirect-dispatch -fno-indirect-classes -c -o org-omg.lo @org-omg.list
        @rm -f org-omg.list
 
 org_relaxng_source_files = \
@@ -8061,7 +8061,7 @@ classpath/external/relaxngDatatype/org/relaxng/datatype/helpers/StreamingValidat
 
 org-relaxng.lo: $(org_relaxng_source_files)
        @find $(srcdir)/classpath/lib/org/relaxng -name '*.class' > org-relaxng.list
-       $(LTGCJCOMPILE) -fjni -findirect-dispatch -fno-indirect-classes -c -o org-relaxng.lo @org-relaxng.list
+       $(LTGCJCOMPILE) -fsource-filename=$(here)/classpath/lib/classes -fjni -findirect-dispatch -fno-indirect-classes -c -o org-relaxng.lo @org-relaxng.list
        @rm -f org-relaxng.list
 
 org_w3c_source_files = \
@@ -8214,7 +8214,7 @@ classpath/external/w3c_dom/org/w3c/dom/xpath/XPathResult.java
 
 org-w3c.lo: $(org_w3c_source_files)
        @find $(srcdir)/classpath/lib/org/w3c -name '*.class' > org-w3c.list
-       $(LTGCJCOMPILE) -fjni -findirect-dispatch -fno-indirect-classes -c -o org-w3c.lo @org-w3c.list
+       $(LTGCJCOMPILE) -fsource-filename=$(here)/classpath/lib/classes -fjni -findirect-dispatch -fno-indirect-classes -c -o org-w3c.lo @org-w3c.list
        @rm -f org-w3c.list
 
 org_xml_source_files = \
@@ -8257,7 +8257,7 @@ classpath/external/sax/org/xml/sax/helpers/XMLReaderFactory.java
 
 org-xml.lo: $(org_xml_source_files)
        @find $(srcdir)/classpath/lib/org/xml -name '*.class' > org-xml.list
-       $(LTGCJCOMPILE) -fjni -findirect-dispatch -fno-indirect-classes -c -o org-xml.lo @org-xml.list
+       $(LTGCJCOMPILE) -fsource-filename=$(here)/classpath/lib/classes -fjni -findirect-dispatch -fno-indirect-classes -c -o org-xml.lo @org-xml.list
        @rm -f org-xml.list
 
 sun_misc_source_files = \