Re: D Symbol Demangling

Daniel Jacobowitz
2005-04-08T21:11:36Z

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