forked from OSchip/llvm-project
4abd6eaaa0
Fixed an ARM backtracing issue where if the previous frame was a thumb function and it was a tail call so that the current frame returned to an address that would fall into the next function, we would use the next function as the basis for how we unwound the previous frame's registers and of course get things wrong. We now fix the PC code address using the current ABI plug-in, and the ARM ABI plug-in has been modified to correctly fix the code address. So when we do the symbol context lookup, instead of taking an address like 0x1001 and decrementing 1, and looking up the symbol context for a frame, we now correctly fix 0x1001 to 0x1000, then decrement that by 1 to get the correct symbol context. I added a bunch more logging to "log enable lldb uwnind" to help us in the future. We now log the PC, FP and SP (if they are available), and we also dump the "active_row" that we find for unwinding a frame. llvm-svn: 147747 |
||
---|---|---|
.. | ||
docs | ||
examples | ||
include | ||
lib | ||
lldb.xcodeproj | ||
lldb.xcworkspace | ||
resources | ||
scripts | ||
source | ||
test | ||
tools | ||
utils | ||
www | ||
INSTALL.txt | ||
LICENSE.TXT | ||
Makefile |