From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 2550 invoked by alias); 15 Sep 2009 13:32:19 -0000 Received: (qmail 2541 invoked by uid 22791); 15 Sep 2009 13:32:18 -0000 X-SWARE-Spam-Status: No, hits=-2.5 required=5.0 tests=AWL,BAYES_00 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; Tue, 15 Sep 2009 13:32:13 +0000 Received: from nan.false.org (localhost [127.0.0.1]) by nan.false.org (Postfix) with ESMTP id 904FA10C48; Tue, 15 Sep 2009 13:32:11 +0000 (GMT) Received: from caradoc.them.org (209.195.188.212.nauticom.net [209.195.188.212]) by nan.false.org (Postfix) with ESMTP id 605DD104DF; Tue, 15 Sep 2009 13:32:11 +0000 (GMT) Received: from drow by caradoc.them.org with local (Exim 4.69) (envelope-from ) id 1MnY8d-0004fk-Kh; Tue, 15 Sep 2009 09:32:07 -0400 Date: Tue, 15 Sep 2009 13:32:00 -0000 From: Daniel Jacobowitz To: Keith Seitz Cc: gdb-patches@sourceware.org Subject: Re: [RFA] dwarf2_physname Message-ID: <20090915133207.GA17606@caradoc.them.org> Mail-Followup-To: Keith Seitz , gdb-patches@sourceware.org References: <4A9C358E.2050904@redhat.com> <4A9C54F6.1000909@eagercon.com> <4A9C5A66.7060609@redhat.com> <20090901221122.GA24658@caradoc.them.org> <4A9DADB6.2090508@redhat.com> <20090901234212.GB32355@caradoc.them.org> <4AAE8DDB.3060005@redhat.com> <20090914224754.GA7012@caradoc.them.org> <4AAED830.5080909@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <4AAED830.5080909@redhat.com> 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: 2009-09/txt/msg00478.txt.bz2 On Mon, Sep 14, 2009 at 04:56:32PM -0700, Keith Seitz wrote: > >Ouch. Though, why does this make life difficult for the debugger? > >The problem of THIS not being artificial I've seen before - I think > >RealView has the same problem; I may have a patch to work around it - > >but I'm not sure why we care about the name of the parameter in the > >declaration. > > The problem is that now we are appending the arguments to the > "linkage name" that we are computing. So when the dwarf reader sees > this, it outputs "foo::foo (foo *)" instead of "foo::foo ()". This > messes up symbol searching in some very interesting ways. Oh, I see. Is there any other differentiation in the ICC output between the two relevant cases? Namely bar and baz in: class foo { void bar(); static void baz(foo*); }; >From discussions on the dwarf-discuss list, I've gathered that pretty much every debugger is full of compiler-specific quirking. In practice, to provide a good user experience, we have to interpret the DWARF in our best understanding of each compiler's intentions rather than just through the standard. Of course, that relies on someone wanting to do the work for ICC support. -- Daniel Jacobowitz CodeSourcery