From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 1016 invoked by alias); 21 May 2011 20:37:33 -0000 Received: (qmail 1007 invoked by uid 22791); 21 May 2011 20:37:32 -0000 X-SWARE-Spam-Status: No, hits=-1.9 required=5.0 tests=AWL,BAYES_00,T_RP_MATCHES_RCVD X-Spam-Check-By: sourceware.org Received: from NaN.false.org (HELO nan.false.org) (208.75.86.248) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Sat, 21 May 2011 20:37:19 +0000 Received: from nan.false.org (localhost [127.0.0.1]) by nan.false.org (Postfix) with ESMTP id 92AEC10E3C; Sat, 21 May 2011 20:37:18 +0000 (GMT) Received: from caradoc.them.org (pool-173-75-31-51.pitbpa.fios.verizon.net [173.75.31.51]) by nan.false.org (Postfix) with ESMTP id 338FD1080E; Sat, 21 May 2011 20:37:18 +0000 (GMT) Received: from drow by caradoc.them.org with local (Exim 4.76) (envelope-from ) id 1QNsvF-00076Y-FU; Sat, 21 May 2011 16:37:17 -0400 Date: Sat, 21 May 2011 20:37:00 -0000 From: Daniel Jacobowitz To: Tom Tromey Cc: Keith Seitz , Jan Kratochvil , gdb-patches@sourceware.org Subject: Re: The future of dwarf2_physname Message-ID: <20110521203717.GB26717@caradoc.them.org> Mail-Followup-To: Tom Tromey , Keith Seitz , Jan Kratochvil , gdb-patches@sourceware.org References: <4DD44983.7060406@redhat.com> <20110519192316.GA7075@host1.jankratochvil.net> <4DD6C6B4.7060406@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.20 (2009-06-14) X-IsSubscribed: yes Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org X-SW-Source: 2011-05/txt/msg00504.txt.bz2 On Fri, May 20, 2011 at 02:38:51PM -0600, Tom Tromey wrote: > Also even if you strip down the class' DW_AT_name, you probably have > trouble reconstructing the template argument: > > <2><51>: Abbrev Number: 5 (DW_TAG_template_value_param) > <52> DW_AT_name : V > <54> DW_AT_type : <0xaf> > <58> DW_AT_location : 6 byte block: 3 0 0 0 0 9f (DW_OP_addr: 0; DW_OP_stack_value) > > ... since that is just the address of 'name', which IIUC may appear > elsewhere, perhaps without debuginfo. I guess it ought to always appear > in minimal symbols in that case... maybe it isn't as bad as I thought. You can never make this conversion from address to name reliably; e.g. __attribute__((alias)), ICF [Identical Code Folding] in the linker, et cetera. > > > I get this from my patch branch: > > opsy. ../gdb -readnow -batch -ex 'set complaint 10000' -ex 'file /tmp/q.o' > During symbol reading...Computed physname ::foo()> does not match demangled ::foo()> (from linkage <_ZN3QuxIXadL_Z4nameEEE3fooEv>) - DIE at 0x31 [in module /tmp/q.o]... What I think would be extraordinarily useful would be to put this feature together with GCC's quality testsuite and actually get all the names right... but that really begs the question of which component we're testing here and where the test should live! -- Daniel Jacobowitz