On Mon, Jul 28, 2014 at 5:08 PM, Greg Clayton <gclay...@apple.com> wrote:
> > > On Jul 28, 2014, at 2:26 PM, Alex Pepper <apep...@blueshiftinc.com> > wrote: > > > > I investigated bug 15302, which is described as: > > > > "LLDB does not print 'anonymous namespace' prefix for variable names (if > inferior built with GCC on Linux)" > > > > What I found was that the GCC dwarf data does not contain a mangled name > for a variable defined in an anonymous namespace, unlike clang. LLDB > VariableObject depends on the mangled name to identify the anonymous > namespace for a variable, so in the test case it does no print the > (anonymous namespace) prefix. I checked the dwarf data using dwarfdump and > nm. In the case of dwarfdump the variable is a child of the anonymous > namespace but there is no mangled name, but when I use nm to dump the > symbols it displays the mangled name. I am not sure if this means nm is > generating the name or getting the symbol from somewhere else. > > nm only looks at the symbol table and the symbol table will contain only > the mangled name for the variable. Yeah, I would try to solve this by looking at .symtab, which is where nm gets the mangled name. I doubt gcc will start emitting linkage names into dwarf soon enough to be useful. The dwarf linkage name might also be missing due to -gline-tables-only / -gmlt type flags.
_______________________________________________ lldb-dev mailing list lldb-dev@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev