D Symbol Demangling

Daniel Jacobowitz drow@false.org
Fri Apr 8 21:11:00 GMT 2005


On Fri, Apr 08, 2005 at 04:51:03PM -0400, John Demme wrote:
> 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?

See: http://dwarf.freestandards.org/

> 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?

I have no idea.

> > 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?

I'll send it to you.

-- 
Daniel Jacobowitz
CodeSourcery, LLC



More information about the Gdb-patches mailing list