This is the mail archive of the gdb-patches@sources.redhat.com mailing list for the GDB 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]

Re: [RFA] Fix problems with 2001-12-07 stabsread.c change


On Fri, Mar 15, 2002 at 11:43:19AM +0100, Peter.Schauer wrote:
> Apart from the STABS_CONTINUE problem mentioned in
> http://sources.redhat.com/ml/gdb-patches/2002-02/msg00629.html
> (and I suspect that we would need some more STABS_CONTINUE stuff during the
> skipping), I found another problem with this patch, where e.g.
> __deleting_dtor::(0,254):_ZNSdD0Ev;2A*1;(80,10);
> is not skipped correctly.
> 
> You should be able to reproduce the problem by compiling
> 
> #include <iostream>
> int main () { return 0; }
> 
> with gcc-3.0.4, stabs debugging and the following gdb commands on the
> resulting a.out executable
> 
> set complaints 20
> symbol-file -readnow a.out
> 
> and you will see a bunch of
> couldn't parse type; debugger out of date?
> messages, caused by the incorrect skipping.
> 
> 
> Instead of duplicating all the logic in the skip code, I'd suggest that we
> just suppress the addition of the duplicates to the member function vector,
> which might be a little bit slower, but much easier to maintain.
> 
> Here is a patch:
> 
> 2002-03-15  Peter Schauer  <pes@regent.e-technik.tu-muenchen.de>
> 
> 	* stabsread.c (read_member_functions): Remove skip code for duplicate
> 	constructor/destructor methods.  Use standard parsing for these
> 	methods and just do not chain them to the list of methods after
> 	parsing.

After convincing myself again that there is no memory leak in this
patch, I like it.  Elena?  C++-specific stabs again :)


-- 
Daniel Jacobowitz                           Carnegie Mellon University
MontaVista Software                         Debian GNU/Linux Developer


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