[Lldb-commits] [PATCH] Improve instruction emulation based stack unwinding on ARM
Tamas Berghammer
tberghammer at google.com
Mon Jun 15 10:36:53 PDT 2015
Hi jasonmolenda,
Improve instruction emulation based stack unwinding on ARM
* Add and fix the emulation of several instruction.
* Disable frame pointer usage on Android.
* Specify return address register for the unwind plan instead of explicit
tracking the value of RA.
* Replace prologue detection heuristics (unreliable in several cases)
with a logic to follow the branch instructions and restore the CFI
value based on them. The target address for a branch should have the
same CFI as the source address (if they are in the same function).
* Handle symbols in ELF files where the symbol size is not specified
with calculating their size based on the next symbol (already done
in MachO files).
* Fix architecture in FuncUnwinders with filling up the information
missing from the object file with the architecture of the target.
* Add code to read register when the value is set to "IsSame" as it
means the value of a register in the parent frame is the same as the
value in the current frame.
http://reviews.llvm.org/D10447
Files:
include/lldb/Symbol/FuncUnwinders.h
source/Commands/CommandObjectTarget.cpp
source/Plugins/Instruction/ARM/EmulateInstructionARM.cpp
source/Plugins/Instruction/ARM64/EmulateInstructionARM64.cpp
source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp
source/Plugins/Process/Utility/RegisterContextLLDB.cpp
source/Plugins/UnwindAssembly/InstEmulation/UnwindAssemblyInstEmulation.cpp
source/Plugins/UnwindAssembly/InstEmulation/UnwindAssemblyInstEmulation.h
source/Symbol/FuncUnwinders.cpp
source/Symbol/UnwindPlan.cpp
EMAIL PREFERENCES
http://reviews.llvm.org/settings/panel/emailpreferences/
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D10447.27686.patch
Type: text/x-patch
Size: 52263 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/lldb-commits/attachments/20150615/f1d3f2f0/attachment.bin>
More information about the lldb-commits
mailing list