| gdb User: guest Access: viewconf
|
gnatsweb
|
|
|
|
View Problem Report: 483
Audit Trail:
From: Daniel Jacobowitz <drow@mvista.com>
To: mec@shout.net
Cc: gdb-gnats@sources.redhat.com
Subject: Re: gdb/483: gdb.c++/local.exp: ptype Local
Date: Fri, 12 Apr 2002 20:30:46 -0400
On Fri, Apr 12, 2002 at 06:38:45PM -0000, mec@shout.net wrote:
>
> >Number: 483
> >Category: gdb
> >Synopsis: gdb.c++/local.exp: ptype Local
> >Confidential: no
> >Severity: serious
> >Priority: medium
> >Responsible: unassigned
> >State: open
> >Class: sw-bug
> >Submitter-Id: net
> >Arrival-Date: Fri Apr 12 11:48:00 PDT 2002
> >Closed-Date:
> >Last-Modified:
> >Originator: mec@shout.net
> >Release: gdb HEAD%20020411
> >Organization:
> >Environment:
> target = native, host = i686-pc-linux-gnu%rh-7.2, gdb = HEAD%20020411, gcc = 3.0.4, goption = -gdwarf-2
> >Description:
> Excerpt from gdb.log:
>
> ptype Local^M
> type = class Local {^M
> public:^M
> int loc1;^M
> ^M
> char loc_foo(const char);^M
> char loc_foo(const char);^M
> }^M
> (gdb) FAIL: gdb.c++/local.exp: ptype Local (double loc_foo)
>
> Note the double occurrence of method "loc_foo".
>
> This happens with -gdwarf-2 with gcc 2.96-rh, gcc 3.0.4, gcc gcc-3_1-branch%20020411, gcc HEAD%20020411. This does not happen with -gdwarf-2 with gcc 2.95.3. This does not happen with -gstabs+ with any of the five compilers listed.
>
> See also:
>
>
ftp://ftp.shout.net/pub/users/mec/gdb/2002-04-11,native,i686-pc-linux-gnu%rh-7.2,HEAD,3.0.4,g-dwarf-2.tar.gz
>
ftp://ftp.shout.net/pub/users/mec/gdb/2002-04-11,HEAD,testsuite-src.tar.gz
> >How-To-Repeat:
> Run test script gdb.c++/local.exp on native i686-pc-linux-gnu.
Could you check (via readelf) if one of the loc_foo copies has
DW_AT_artificial set?
--
Daniel Jacobowitz Carnegie Mellon University
MontaVista Software Debian GNU/Linux Developer
From: Daniel Jacobowitz <drow@mvista.com>
To: gdb-gnats@sources.redhat.com
Cc:
Subject: Re: gdb/483: gdb.c++/local.exp: ptype Local
Date: Sat, 21 Jun 2003 18:19:04 -0400
On Fri, Apr 12, 2002 at 08:31:34PM -0500, Michael Elizabeth Chastain wrote:
> readelf on gdb.c++/local says:
>
> <3><12f>: Abbrev Number: 11 (DW_TAG_subprogram)
> DW_AT_sibling : <158>
> DW_AT_name : loc_foo
> DW_AT_decl_file : 1
> DW_AT_decl_line : 14
> DW_AT_type : <1bf>
> DW_AT_inline : 2 (declared as inline but ignored)
>
> That is the only loc_foo in the whole listing.
>
> By the way, you can grab the binary yourself. It's in the first tarball
> mentioned in the bug report.
This is caused by the second reference to loc_foo, via a
DW_AT_abstract_origin. Methods with an abstract_origin should not be
added to the class's methods list. This goes with the collection of
things to fix in dwarf2read.
--
Daniel Jacobowitz
MontaVista Software Debian GNU/Linux Developer
From: Michael Elizabeth Chastain <mec@shout.net>
To: gdb-gnats@sources.redhat.com
Cc:
Subject: Re: gdb/483
Date: Tue, 28 Oct 2003 14:07:05 -0500
This bug no longer happens with gcc HEAD 2003-10-21.
It was fixed some time between gcc HEAD 2003-20-21 and gcc HEAD 2003-10-26.
So now it works with:
gcc 2.95.3
gcc HEAD 2003-10-26
So after gcc 3.4 is released (projected April 2004),
this PR can revisited and probably closed.
Michael C