nelhage created this revision.
Herald added subscribers: JDevlieghere, aprantl.
When importing C++ methods into clang AST nodes from the DWARF symbol table,
preserve the `DW_AT_linkage_name` and use it as the linker ("asm") name for the
symbol.
Concretely, this enables `expression` to call into
nelhage updated this revision to Diff 124018.
nelhage added a comment.
Add a test case.
Verified that it passes on my machine and fails with this patch
reverted.
https://reviews.llvm.org/D40283
Files:
include/lldb/Symbol/ClangASTContext.h
packages/Python/lldbsuite/test/expression_command/i
nelhage updated this revision to Diff 124019.
nelhage added a comment.
Remove accidentally-added flycheck file.
https://reviews.llvm.org/D40283
Files:
include/lldb/Symbol/ClangASTContext.h
packages/Python/lldbsuite/test/expression_command/issue_35310/
packages/Python/lldbsuite/test/expres
nelhage added a comment.
In https://reviews.llvm.org/D40283#936088, @clayborg wrote:
> Jim will need to ok this. A few concerns follow. Most of the time when we
> don't get the DWARF -> AST conversion right, it can mean that we might code
> gen incorrect code. Is there not enough information fo
nelhage added a comment.
Hey -- Is there anything I can do to move this patch forward? Would it help to
do something like only setting the attribute if the mangled name that *would*
be generated doesn't match the one from the DWARF? Any such symbol is already
broken for lldb, so such a patch fe
nelhage added a comment.
Compiling my test program with g++ and looking at `llvm-dwarfdump -all`, I can
see no reference to the ABI tag other than in the `DW_AT_linkage_name`.
Skimming the gdb source, I see references to it knowing how to *demangle* ABI
tags, but no references in the DWARF code
nelhage added a comment.
Further evidence that the ABI tag is never stored separately:
$ strings -a -n4 test_abi_tag | grep cxx11
helloWorld_cxx11
_ZN1A16helloWorld_cxx11B5cxx11Ev
_ZN1A16helloWorld_cxx11B5cxx11Ev
Those three instances are, I presume, the `DW_AT_name`, and the
`DW_AT_lin
nelhage added a comment.
I did a little bit of looking into performance implications today. It looks
like `DWARFASTParserClang::ParseTypeFromDWARF` is only called lazily as symbols
are needed, which alleviates some of my concerns, and also makes it a bit
trickier to construct a convenient bench
nelhage added a comment.
Yes, I will need someone else to commit on my behalf -- I don't have commit
access.
https://reviews.llvm.org/D40283
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/ll
nelhage added a comment.
> Thanks Greg. I'll wait another day and check this one in. Nelson, does the
> plan make sense to you?
Yep, sounds great. Thanks so much.
I'd prefer to not gate this on !Darwin, since the added complexity seems
unfortunate, and this isn't, strictly-speaking, only about
10 matches
Mail list logo