llvm-project/lldb/source
Pavel Labath 95e72765c1 RegisterContextLLDB: Push CFA value on DWARF stack when evaluating register expressions
Summary:
This behavior is specified in the Section 6.4.2.3 (Register Rule
instructions) of the DWARF4 spec. We were not doing that, which meant
that any register rule which was relying on the cfa value being there
was not evaluated correctly (it was aborted due to "out of bounds"
access).

I'm not sure how come this wasn't noticed before, but I guess this has
something to do with the fact that dwarf unwind expressions are not used
very often, and when they are, the situation is so complicated that the
CFA is of no use. I noticed this when I started emitting dwarf
expressions for the unwind information present in breakpad symbol files.

Reviewers: jasonmolenda, clayborg

Subscribers: aprantl, lldb-commits

Differential Revision: https://reviews.llvm.org/D61018

llvm-svn: 360158
2019-05-07 15:27:35 +00:00
..
API Initialization: move InstructionEmulation to full initialization 2019-05-06 19:38:24 +00:00
Breakpoint [Breakpoint] Remove unused dependency 2019-05-07 01:03:40 +00:00
Commands [Reproducers] Improve reproducer help 2019-05-03 00:10:31 +00:00
Core Include inlined functions when figuring out a contiguous address range 2019-05-06 20:01:21 +00:00
DataFormatters [ScriptInterpreter] Move ownership into debugger (NFC) 2019-04-26 22:43:16 +00:00
Expression DWARFExpression: Fix implementation of DW_OP_pick 2019-04-29 10:55:22 +00:00
Host Editline: Fix an msan error 2019-04-29 13:54:12 +00:00
Initialization Initialization: move InstructionEmulation to full initialization 2019-05-06 19:38:24 +00:00
Interpreter [Driver] Change the way we deal with local lldbinit files. 2019-05-06 20:45:31 +00:00
Plugins RegisterContextLLDB: Push CFA value on DWARF stack when evaluating register expressions 2019-05-07 15:27:35 +00:00
Symbol [lldb] Add MacroQualified switch cases for r360109 2019-05-07 13:59:30 +00:00
Target Include inlined functions when figuring out a contiguous address range 2019-05-06 20:01:21 +00:00
Utility DWARFExpression: Fix implementation of DW_OP_pick 2019-04-29 10:55:22 +00:00
CMakeLists.txt [CMake] Remove Apple-specific version logic. 2019-04-17 18:23:22 +00:00
lldb.cpp [CMake] Remove Apple-specific version logic. 2019-04-17 18:23:22 +00:00