This is the mail archive of the
mailing list for the Archer project.
Re: Interpretation of DW_AT_external
On Mon, Aug 25, 2008 at 11:50:14AM -0400, Sami Wagiaalla wrote:
>> The name in GDB's symbol table will be "A::a".
> Is this because the linkage_name is used ?.. I am trying to not depend on
> linkage_name. There are situations where A::a is visible as just a, or if
> it was enclosed in another namespace B it would be B::A::a.
Yes, this is because linkage names are used in the symbol table. As I
said last week (the week before?) I have patches to avoid relying on
DW_AT_MIPS_linkage_name; they also happen to work around the GCC bug
that causes namespace.exp failures. I hope I can post them tonight
unless they end up depending on something in our internal tree.
But after the patch we still use it if it's available and still store
symbols with fully qualified names; we just build up the names
ourselves instead of by the demangler. I agree that doing it
block-wise would be superior.
> Btw I should have mention on this earlier on this list but I am
> investigation test failures that I am getting with the namespace test in
> gdb test suit.
Yes, they're caused by a bug in GCC that causes it to omit
DW_AT_MIPS_linkage_name. I think there's a GCC PR open for it, but
I'm not sure.