[llvm] r176120 - Debug Info: for static member variables, move AT_MIPS_linkage_name from
Manman Ren
mren at apple.com
Tue Feb 26 15:01:54 PST 2013
On Feb 26, 2013, at 2:50 PM, "Robinson, Paul" <Paul.Robinson at am.sony.com> wrote:
> On Tue, Feb 26, 2013 at 12:48 PM, Manman Ren <mren at apple.com> wrote:
>> Debug Info: for static member variables, move AT_MIPS_linkage_name from
>> TAG_member inside a class to the specification DIE.
>
> The declaration would be the "specification DIE" (i.e., the DIE referred
> to by the DW_AT_specification attribute) and that's where it was.
> You moved it to the definition DIE.
Thanks for the clarification, from the comments in the source code
// Create specification DIE.
VariableSpecDIE = new DIE(dwarf::DW_TAG_variable);
we seem to call the TAG_variable DIE as specification DIE.
>
>> Having AT_MIPS_linkage_name on TAG_member caused old gdb (GNU 6.3.50) to
>> error out.
>
> It is more likely that old GDB errored out because Clang now uses DW_TAG_member
> to declare static members inside a class, instead of DW_TAG_variable.
Yes, this is a regression for the old GDB, it used to work when we declare static members using DW_TAG_variable.
I am trying to fix this regression.
-Manman
>
>> Also gcc 4.7 has AT_MIPS_linkage_name on the specification DIE.
>
> GCC 4.4.3 has it on the declaration DIE.
>
> --paulr
>
More information about the llvm-commits
mailing list