This is the mail archive of the
mailing list for the Archer project.
On Mon, Aug 11, 2008 at 01:11:38PM -0400, Sami Wagiaalla wrote:
>> I suggest caution - I've spent probably two months total, scattered
>> over several years, on the name / linkage name problem.
>> Coincidentally, I'm about to look at it again; GDB uses linkage names
>> as a crutch, and they are not available with non-GNU compilers.
> This actually brings up a few questions that I have had:
> First, what are linkage names used as a crutch for exactly ? Ie what
> problem can we solve with linkage names that we cant without ?
Two major items.
1. Old versions of GCC, still supported by GDB, emitted broken debug
info in several cases. For instance, GCC 2.95 didn't emit
DW_AT_namespace at all; and there have been various bugs since.
But with proper debug info, this problem goes away.
I've made some progress on this in the last few days.
2. GDB uses physnames to link the implementations of non-virtual
class methods to their containing class. I've got workarounds for
this in my current tree, but they're a little fragile. Search for
> Also, if I say
> (gdb) print SomeNameSpace::SomeClass::SomeSymbol
> (gdb) break SomeNameSpace::SomeClass::SomeSymbol
> does gdb know to search for SomeNameSapce then within that try to find
> SomeClass, then SomeSymbol ?
Sort of, since the symbol table is organized by fully qualified names,
not separated by scopes. In any case, expect both of those commands
to work though in some cases they are certainly buggy.