Re: D Symbol Demangling

John Demme
2005-04-04T22:39:54Z

On Mon, 2005-04-04 at 14:48 -0700, Michael Snyder wrote:
> John Demme wrote:
> > By link compatible, I mean that I'll compile a D file with a D compiler
> > to a .o file, then I can link it with another .o file compiled with,
> > say, gcc. So a source file can be either C or D, but not both (barring
> > some sort of bizarre scripting situations.) An important note here,
> > however, is that because D can call C functions, some of the symbols in
> > a D object file won't be mangled.
> >
> > I've been having trouble figuring out what differentiates the functions.
> > On the surface, the more complex ones don't work, but in my test,
> > there's only simple one.
> >
> > Do I appear to be interfacing with GDB correctly? If so, I'll triple
> > check my code.
>
> Looks ok at first glance. Do I understand that the D compiler
> is not gcc or gcc-derived? That raises the question of whether
> the debug info in the D-compiled .o file is "correct" as far as
> gdb is concerned. Something unexpected about that info might
> cause gdb to "lose its place", eg. in determining which functions
> belong to the D-compiled module.
>
>

That's correct. It uses Walter Bright's C backend. In fact, the DWARF2
information that it generates it total crap, as in just plain wrong in
some/most cases. There is a gcc-derived version of it. I'll give that
a try.

Thanks
John