[Lldb-commits] [PATCH] D70100: [DWARF] Handle call sites with indirect call targets
Vedant Kumar via Phabricator via lldb-commits
lldb-commits at lists.llvm.org
Mon Nov 11 14:56:16 PST 2019
vsk created this revision.
vsk added reviewers: aprantl, friss, jingham.
Split CallEdge into DirectCallEdge and IndirectCallEdge. Teach
DWARFExpression how to evaluate entry values in cases where the current
activation was created by an indirect call.
Writing tests for this is challenging, at the moment, because llvm emits
DW_AT_call_targets describing clobbered register values (llvm.org/PR43926).
I found a way to cover the non-tail call case, but would have to resort to
flaky assembly gadgets to test indirect tail-calls. I've left this for later.
rdar://57094085
https://reviews.llvm.org/D70100
Files:
lldb/include/lldb/Symbol/Function.h
lldb/include/lldb/Symbol/SymbolFile.h
lldb/packages/Python/lldbsuite/test/functionalities/param_entry_vals/basic_entry_values_x86_64/main.cpp
lldb/source/Expression/DWARFExpression.cpp
lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.h
lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.cpp
lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.h
lldb/source/Symbol/Function.cpp
lldb/source/Target/StackFrameList.cpp
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D70100.228771.patch
Type: text/x-patch
Size: 27476 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/lldb-commits/attachments/20191111/bf7fa5f6/attachment-0001.bin>
More information about the lldb-commits
mailing list