From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 28232 invoked by alias); 8 Apr 2005 20:50:59 -0000 Mailing-List: contact gdb-patches-help@sources.redhat.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sources.redhat.com Received: (qmail 28141 invoked from network); 8 Apr 2005 20:50:47 -0000 Received: from unknown (HELO po1.wam.umd.edu) (128.8.10.163) by sourceware.org with SMTP; 8 Apr 2005 20:50:47 -0000 Received: from teqdruid.student.umd.edu (teqdruid.student.umd.edu [129.2.222.235]) by po1.wam.umd.edu (8.12.10/8.12.10) with ESMTP id j38KojeE019057; Fri, 8 Apr 2005 16:50:45 -0400 (EDT) Subject: Re: D Symbol Demangling From: John Demme To: Daniel Jacobowitz Cc: gdb-patches@sources.redhat.com In-Reply-To: <20050408165243.GA7898@nevyn.them.org> References: <1112582221.14153.32.camel@localhost.localdomain> <425185A9.8090104@redhat.com> <1112647505.14153.46.camel@localhost.localdomain> <4251B646.7010801@redhat.com> <1112654359.14153.50.camel@localhost.localdomain> <4251CF00.5080002@redhat.com> <1112978871.32374.45.camel@localhost.localdomain> <20050408165243.GA7898@nevyn.them.org> Content-Type: text/plain Date: Fri, 08 Apr 2005 20:50:00 -0000 Message-Id: <1112993463.32374.81.camel@localhost.localdomain> Mime-Version: 1.0 Content-Transfer-Encoding: 7bit X-SW-Source: 2005-04/txt/msg00074.txt.bz2 On Fri, 2005-04-08 at 12:52 -0400, Daniel Jacobowitz wrote: > On Fri, Apr 08, 2005 at 12:47:51PM -0400, John Demme wrote: > > I finally had time to play firefighter, and I found the fire as well. > > If you compile a D application without DWARF2 information, my gdb > > patches work just fine... how do ya like that? > > > > Now I REALLY have an excuse to yell at the compiler programmer. > > > > I don't really understand why bad DWARF2 information would screw up GDB > > like that, considering that I call my function at the point where GDB > > tries to demangle a symbol, but I don't really understand how GDB works. > > > > Thanks for your help... Expect to hear more from me in the future > > concerning this. > > Presumably because you don't have a DWARF language code for D. What's > it labelling the language as in the DW_TAG_compile_unit DIE? > According to the compiler programmer, "The DW_TAG_compile_unit is not the right thing. What it does do is write into the prolog DW_LANG_C89, masquerading as C. When GDB gets a DW_LANG_D, I'll switch to that." I assume this is correct... so does anyone know what is involved in getting DW_LANG_D? Where might one find contact information for the DWARF working group? > You can define one temporarily for now, but you'll need to request from > the DWARF working group eventually. > > > BTW... assuming I can get a decent patch together to bring D support to > > GDB, would it stand a good chance of being put in the main GDB tree? > > Perhaps. Are there multiple implementations of D? How inconsistent > are they in ways that would affect GDB? There are currently two. DMD, the reference implementation, has an open source front-end, and a closed-source backend. GDC, the other compiler, uses the front-end from DMD, and GCC's backend. I'm not sure what this means for operation with GDB. It would be nice to have possible inconsistencies in the D language spec, so as to avoid them. Since I'm currently working on it, I'm going to suggest the DMD's method of symbol mangling become part of the spec. Keeping in mind that D is very similar to C, is there anything else I should suggest? > > If you want to do this, you will eventually need a GDB copyright > assignment with the FSF. > I assume this is to assign copyrights to the FSF... I have no problem with that. Where do I sign up? Thanks John Demme