java/6587: gcj generates incorrect debug output
tromey@redhat.com
tromey@redhat.com
Mon May 6 15:36:00 GMT 2002
>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:
More information about the Gcc-bugs
mailing list