llvm-project/lldb/lit
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
..
Breakpoint [LLDB] - Update the test cases after yaml2obj change. 2019-04-03 15:28:35 +00:00
BuildScript [lldb] [lit] Attempt to fix regex in toolchain-clang.test 2019-03-06 14:49:48 +00:00
Commands [test] Make check more strict 2019-05-03 20:58:56 +00:00
Driver [Driver] Change the way we deal with local lldbinit files. 2019-05-06 20:45:31 +00:00
ExecControl/StopHook Pass explicit C++ version to test 2019-04-26 21:16:15 +00:00
Expr [lit] Make sure tests are actually skipped on darwin and windows. 2019-01-17 21:57:33 +00:00
Heap Fix lldb's macosx/heap.py cstr command. 2018-12-17 18:21:51 +00:00
Minidump yamlify lit/Minidump tests 2019-04-24 08:09:36 +00:00
Modules [PECOFF] Implementation of ObjectFilePECOFF:: GetUUID() 2019-04-30 01:41:33 +00:00
Process/Windows [Windows] Dump more information about access violation exception 2019-04-29 07:29:25 +00:00
Python Avoid using -S in combination with "script"; it's unreliable. 2019-03-07 00:46:56 +00:00
Quit [lldb] Update shebang python2 -> python 2019-01-26 01:05:02 +00:00
Register [lldb] [lit] Update constants in write Register tests 2019-05-07 14:35:59 +00:00
Reproducer [Reproducers] Properly handle QEnvironment packets 2019-03-21 04:08:31 +00:00
Settings Refactor the lit configuration files 2018-11-02 17:49:01 +00:00
Suite [lldb] [test] Pass appropriate -L&-Wl,-rpath for libc++ on NetBSD 2019-03-06 14:03:18 +00:00
SymbolFile [NativePDB] Add anonymous namespaces support 2019-04-22 07:14:40 +00:00
Unit [CMake] In standalone builds, LLVM_BINARY_DIR should point to LLVM's binary directory 2019-01-09 16:25:37 +00:00
Unwind RegisterContextLLDB: Push CFA value on DWARF stack when evaluating register expressions 2019-05-07 15:27:35 +00:00
Watchpoint [test] Convert TestWatchpointSetErrorCases.py to lit 2019-05-02 01:54:05 +00:00
helper [Driver] Change the way we deal with local lldbinit files. 2019-05-06 20:45:31 +00:00
tools Make lldb-mi optional and change how we deal with missing tools in lit 2019-05-03 20:33:58 +00:00
CMakeLists.txt Make lldb-mi optional and change how we deal with missing tools in lit 2019-05-03 20:33:58 +00:00
lit-lldb-init Add EchoCommentCommands to CommandInterpreterRunOptions in addition to the existing EchoCommands and expose both as interpreter settings. 2018-10-05 16:49:47 +00:00
lit.cfg.py [lit] Check for the psutil module when setting a timeout 2019-04-29 21:03:39 +00:00
lit.site.cfg.py.in Make lldb-mi optional and change how we deal with missing tools in lit 2019-05-03 20:33:58 +00:00