From: Daniel Jacobowitz <drow@mvista.com>
To: Gdb List <gdb@sources.redhat.com>
Subject: Re: question about method naming
Date: Mon, 06 May 2002 12:33:00 -0000 [thread overview]
Message-ID: <20020506193356.GA25574@nevyn.them.org> (raw)
In-Reply-To: <87u1pl6u33.fsf@creche.redhat.com>
On Mon, May 06, 2002 at 11:53:52AM -0600, Tom Tromey wrote:
> I compiled the appended code with `gcj -g'. I'm using the trunk cvs
> gcj. Then I ran gdb on the program.
>
> If I type:
>
> b x.main
>
> gdb tells me that there is no such method.
Are you working on a very current gcj? I.E. one that defaults to
DWARF-2 output? I observe the same thing in 3.0.4 with -gdwarf-2, but
not with -gstabs+.
In this version, the stabs debug info claims that 'class x' has a
member function 'main'. In DWARF-2 it claims that 'class x' has a
member function 'x.main(java.lang.String[])'. If this is still the
case in your compiler (check readelf -w output, search for a
DW_TAG_subprogram whose name contains main) then I believe it is
a gcj bug.
<2><16d>: Abbrev Number: 4 (DW_TAG_subprogram)
DW_AT_sibling : <1c4>
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
Also amusing:
<2><1c4>: 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
The constructor's name is obviously wrong...
>
> I tracked the problem down to linespec.c:find_methods().
>
> Here we end up in the loop, and method_name for the 0th method is:
>
> (gdb) p method_name
> $27 = 0x83e9a52 "x.main(java.lang.String[])"
>
> So of course we fail to match this against "main".
>
> Is this a gdb bug or a gcj bug? Or just a disagreement?
>
> I'm guessing that method_name should not be fully qualified.
> Is that correct?
I believe so.
>
> Tom
>
> public class x
> {
> public static void main (String[] args)
> {
> char c = args[0].charAt(0);
> System.out.println(c);
> }
> }
>
--
Daniel Jacobowitz Carnegie Mellon University
MontaVista Software Debian GNU/Linux Developer
next prev parent reply other threads:[~2002-05-06 19:33 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-05-06 10:44 Tom Tromey
2002-05-06 12:33 ` Daniel Jacobowitz [this message]
2002-05-06 15:53 ` Tom Tromey
2002-05-06 16:07 ` Daniel Jacobowitz
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20020506193356.GA25574@nevyn.them.org \
--to=drow@mvista.com \
--cc=gdb@sources.redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox