[Lldb-commits] [PATCH] D40283: lldb: Use the DWARF linkage name when importing C++ methods

2017-11-20 Thread Nelson Elhage via Phabricator via lldb-commits
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

[Lldb-commits] [PATCH] D40283: lldb: Use the DWARF linkage name when importing C++ methods

2017-11-22 Thread Nelson Elhage via Phabricator via lldb-commits
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

[Lldb-commits] [PATCH] D40283: lldb: Use the DWARF linkage name when importing C++ methods

2017-11-22 Thread Nelson Elhage via Phabricator via lldb-commits
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

[Lldb-commits] [PATCH] D40283: lldb: Use the DWARF linkage name when importing C++ methods

2017-11-27 Thread Nelson Elhage via Phabricator via lldb-commits
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

[Lldb-commits] [PATCH] D40283: lldb: Use the DWARF linkage name when importing C++ methods

2018-01-09 Thread Nelson Elhage via Phabricator via lldb-commits
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

[Lldb-commits] [PATCH] D40283: lldb: Use the DWARF linkage name when importing C++ methods

2018-01-10 Thread Nelson Elhage via Phabricator via lldb-commits
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

[Lldb-commits] [PATCH] D40283: lldb: Use the DWARF linkage name when importing C++ methods

2018-01-10 Thread Nelson Elhage via Phabricator via lldb-commits
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

[Lldb-commits] [PATCH] D40283: lldb: Use the DWARF linkage name when importing C++ methods

2018-01-20 Thread Nelson Elhage via Phabricator via lldb-commits
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

[Lldb-commits] [PATCH] D40283: lldb: Use the DWARF linkage name when importing C++ methods

2018-01-20 Thread Nelson Elhage via Phabricator via lldb-commits
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

[Lldb-commits] [PATCH] D40283: lldb: Use the DWARF linkage name when importing C++ methods

2018-01-22 Thread Nelson Elhage via Phabricator via lldb-commits
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