From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 28285 invoked by alias); 6 Jan 2004 16:33:35 -0000 Mailing-List: contact gdb-help@sources.redhat.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-owner@sources.redhat.com Received: (qmail 28269 invoked from network); 6 Jan 2004 16:33:34 -0000 Received: from unknown (HELO artax.karlin.mff.cuni.cz) (195.113.31.137) by sources.redhat.com with SMTP; 6 Jan 2004 16:33:34 -0000 Received: by artax.karlin.mff.cuni.cz (Postfix, from userid 29129) id B87E33F9F; Tue, 6 Jan 2004 17:33:33 +0100 (CET) Date: Tue, 06 Jan 2004 16:33:00 -0000 From: Josef Zlomek To: gcc@gcc.gnu.org, gdb@sources.redhat.com Subject: Re: GDB does not show variables in inlined function Message-ID: <20040106163333.GE19687@artax.karlin.mff.cuni.cz> References: <20040106144950.GA18492@artax.karlin.mff.cuni.cz> <20040106150203.GA21353@nevyn.them.org> <20040106152719.GA21416@artax.karlin.mff.cuni.cz> <20040106162324.GB28039@nevyn.them.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20040106162324.GB28039@nevyn.them.org> User-Agent: Mutt/1.5.4i X-SW-Source: 2004-01/txt/msg00055.txt.bz2 > > > > with inlining: > > > > > > > > .uleb128 0x2c # (DIE (0x2a5a) DW_TAG_variable) > > > > .long 0x2af2 # DW_AT_abstract_origin > > > > ^^^^^^ > > > > .byte 0x1 # DW_AT_location > > > > .byte 0x56 # DW_OP_reg6 > > > > ... > > > > .long 0x2d # DW_AT_type > > > > .uleb128 0x24 # (DIE (0x2af2) DW_TAG_variable) > > > > ^^^^^^ > > > > .long .LASF850 # DW_AT_name: "incoming" > > > > .byte 0x1 # DW_AT_decl_file > > > > .value 0x3f32 # DW_AT_decl_line > > > > .long 0x2d # DW_AT_type > > > > > > > > The location seems not to be generated for the real variable record > > > > (2nd part after ...) with inlining. > > > > > > > > Should GCC generate the location for the second part (after ...) too, > > > > should GDB be able to link the descriptions through the marked number > > > > or something else? > > > > > > It's the former DIE (0x2a5a) which is in scope. It has the name > > > "incoming" through the abstract origin chain. So this is probably a > > > GDB issue. > > > > > > Up until recently that DW_AT_location in the concrete DIE was missing, > > > I believe. You might want to try this (incredibly lame, untested) GDB > > > patch. Let me know if it does something useful. > > > > Wow, that was fast! > > Yes, it works with your patch :-) > > Um... Josef, what GCC are you using? I didn't check tree-ssa, but > neither 3.3 nor HEAD produces those DW_AT_location entries, which is a > serious (and filed in bugzilla, IIRC?) bug. I used HEAD (maybe few days old) and compiled var-tracking.c from hammer-3_3-branch. I used "-g -O2 -dA" (-funit-at-a-time is default at -O2) Josef