If you compile a .class file for an inner class with gcj, e.g. gcj -o foo.so [... other options ...] Foo\$1.class
then the source filename is stored as Foo$1.java (see it with e.g. eu-readelf --debug-dump=line foo.so), which is wrong. gcj should use the SourceFile attribute instead, which probably contains the correct source filename. (This problem causes rpmbuild to spew lots of errors when it tries to build the -debuginfo package for a Java package.) -- Summary: gcj writes bogus source filenames for inner classes read from .class files Product: gcc Version: 4.0.0 Status: UNCONFIRMED Severity: minor Priority: P2 Component: java AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: greenrd at greenrd dot org CC: gcc-bugs at gcc dot gnu dot org,java-prs at gcc dot gnu dot org GCC build triplet: athlon-redhat-linux GCC host triplet: i386-redhat-linux GCC target triplet: athlon-redhat-linux http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20735