------- Comment #7 from jan dot kratochvil at redhat dot com 2008-11-29 00:23 ------- (In reply to comment #6) > I ran into this issue because gdb was only reading die 0x86 for variable > 'elsewhere' (I have not looked into why). The problem is that without proper > scoping on an abstract_origin attribute, so the correct canonical name for > this variable cannot be constructed (without relying > on DW_AT_MIPS_linkage_name that is). Therefore a 'print A::elsewhere' command > fails
DW_AT_MIPS_linkage_name should be removed from GCC only after the DW_AT_name scoping/qualification will get fully fixed. GDB currently already contains the DW_AT_MIPS_linkage_name reader and there is probably no need to disable it (except for testing purposes). On GDB CVS HEAD for gdb.cp/m-static.exp a command `print gnu_obj_4::elsewhere' works for me as it can find (presumably) the corrent .symtab mangled symbol. Sure it would be good to get DW_AT_name fixed in GCC. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37982