[lldb-dev] Anonymous Namespace - Bug 15302
Alex Pepper
apepper at blueshiftinc.com
Wed Jul 30 15:48:35 PDT 2014
Thanks for information and the suggestions guys. I am looking into another issue right now but I may come back to this later and will followup at that time.
- Alex
On Jul 29, 2014, at 11:33 AM, Reid Kleckner <rnk at google.com> wrote:
> On Mon, Jul 28, 2014 at 5:08 PM, Greg Clayton <gclayton at apple.com> wrote:
>
> > On Jul 28, 2014, at 2:26 PM, Alex Pepper <apepper at 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.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/lldb-dev/attachments/20140730/0a96a832/attachment.html>
More information about the lldb-dev
mailing list