This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

java/6587: gcj generates incorrect debug output



>Number:         6587
>Category:       java
>Synopsis:       gcj generates incorrect debug output
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    unassigned
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Mon May 06 15:36:00 PDT 2002
>Closed-Date:
>Last-Modified:
>Originator:     Tom Tromey
>Release:        current trunk
>Organization:
>Environment:
x86 Red Hat Linux 6.2
>Description:
Try compiling this file with "gcj -g":

public class x
{
  public static void main (String[] args)
  {
    char c = args[0].charAt(0);
    System.out.println(c);
  }
}


Using readelf you can see this:

 <2><184>: Abbrev Number: 4 (DW_TAG_subprogram)
     DW_AT_sibling     : <b4>   
     DW_AT_external    : 1      
     DW_AT_name        : x.main(java.lang.String[])     
     DW_AT_decl_file   : 1      
     DW_AT_decl_line   : 458756 
     DW_AT_MIPS_linkage_name: _ZN1x4mainEP6JArrayIPN4java4lang6StringEE 
     DW_AT_declaration : 1      

This confuses gdb.  If you try: b 'x.main', gdb will
tell you there is no such method.

Also this appears for the constructor:

 <2><1db>: Abbrev Number: 6 (DW_TAG_subprogram)
     DW_AT_external    : 1      
     DW_AT_name        : ()     
     DW_AT_MIPS_linkage_name: _ZN1xC1Ev 
     DW_AT_artificial  : 1      
     DW_AT_declaration : 1      

This is also clearly incorrect.
>How-To-Repeat:

>Fix:

>Release-Note:
>Audit-Trail:
>Unformatted:


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]