This is the mail archive of the
archer@sourceware.org
mailing list for the Archer project.
Re: Tasks
I am looking at fixing this bug as an exercise:
http://sourceware.org/ml/gdb/2007-01/msg00117.html
This exercise worked very well. After a lot gdb code reading it turns
out that this bug is caused by the fact that when the die for this is
read the linkage name is used instead of the name of the variable:
if (die->tag != DW_TAG_namespace)
name = dwarf2_linkage_name (die, cu);
else
name = TYPE_NAME (type);
so this:
(gdb) print _a
No symbol "_a" in current context.
doesnt work but this,
(gdb) print A::inlined()::_a # I dont think this is legal c++ anyway
A syntax error in expression, near `::_a'.
(gdb) print 'A::inlined()::_a'
$1 = 10
(gdb)
works.
My suggestion would be to always use name and never linkage name... I
will try that out.