From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 28835 invoked by alias); 28 Nov 2001 19:41:15 -0000 Mailing-List: contact gdb-help@sourceware.cygnus.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-owner@sources.redhat.com Received: (qmail 28731 invoked from network); 28 Nov 2001 19:41:11 -0000 Received: from unknown (HELO localhost.localdomain) (62.30.164.150) by hostedprojects.ges.redhat.com with SMTP; 28 Nov 2001 19:41:11 -0000 Received: (from jason@localhost) by localhost.localdomain (8.11.6/8.11.6) id fASJebP01758; Wed, 28 Nov 2001 19:40:37 GMT X-Authentication-Warning: localhost.localdomain: jason set sender to jason@redhat.com using -f To: libstdc++@gcc.gnu.org Cc: gdb@sources.redhat.com Subject: Re: C++ debugging progress References: <20011128020256.A9688@nevyn.them.org> <20011128124118.A23447@nevyn.them.org> From: Jason Merrill In-Reply-To: <20011128124118.A23447@nevyn.them.org> (Daniel Jacobowitz's message of "Wed, 28 Nov 2001 12:41:18 -0500") Date: Wed, 21 Nov 2001 13:21:00 -0000 Message-ID: User-Agent: Gnus/5.090004 (Oort Gnus v0.04) Emacs/21.1 (i686-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-SW-Source: 2001-11/txt/msg00212.txt.bz2 Message-ID: <20011121132100.ADt5B8UMurnOxXL3t0SgE_H7eL09DG8bIbOv-FJeG_w@z> >>>>> "Daniel" == Daniel Jacobowitz writes: > On Wed, Nov 28, 2001 at 09:31:07AM +0000, Jason Merrill wrote: >> So you're using the inheritance information in the RTTI rather than the debug >> info? That seems unfortunate. I'm not sure why you would need to worry >> about ordering; the debug info should tell you exactly where things are. >> If it doesn't, it should probably be fixed. > In that case, the debug info absolutely needs to be fixed. > <1><22e>: Abbrev Number: 15 (DW_TAG_structure_type) > DW_AT_sibling : <2df> > DW_AT_name : Left > DW_AT_byte_size : 12 > DW_AT_decl_file : 1 > DW_AT_decl_line : 2 > DW_AT_containing_type: <22e> > <2><23f>: Abbrev Number: 22 (DW_TAG_inheritance) > DW_AT_type : <56> > DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8; ) > DW_AT_virtuality : 1 (virtual) > DW_AT_accessibility: 1 (public) Yep. Since Base is a virtual base of Left, the DW_AT_data_member_location here should be a complex expression telling the debugger to go through the vtable. I'll get on it. I'll also change the stabs output to give the offset within the vtable rather than the offset of the base in a complete object; gdb will still need to be clever enough to know what to do with it. Jason