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

Reply via email to