summaryrefslogtreecommitdiffstats
path: root/lldb/packages/Python/lldbsuite/test/python_api/process/main.cpp
diff options
context:
space:
mode:
authorTamas Berghammer <tberghammer@google.com>2016-02-19 10:59:25 +0000
committerTamas Berghammer <tberghammer@google.com>2016-02-19 10:59:25 +0000
commit73bcca5b3dd8fcd1bb62a256473d559488d6729f (patch)
treea13f50cfd274eeb909791629562b8bd6a49e4b01 /lldb/packages/Python/lldbsuite/test/python_api/process/main.cpp
parentf23b23200d70fae36aaec5db03ec3cebbdc8a064 (diff)
downloadbcm5719-llvm-73bcca5b3dd8fcd1bb62a256473d559488d6729f.tar.gz
bcm5719-llvm-73bcca5b3dd8fcd1bb62a256473d559488d6729f.zip
Stack unwinding emulation: handle adjustment of FP
This change is improving the instruction emulation based unwinding to handle when the frame pointer is adjusted (increment/decrement) after it has been initialized. The situation can occur in the prologue of some function where FP is adjusted before it is copied back to SP. Example code (thumb, generated by gcc 4.8): < +0>: push {r4, r7, lr} < +2>: sub sp, #0x14 < +4>: add r7, sp, #0x0 ... <+50>: adds r7, #0x14 ; The CL fixes the handling of this instruction <+52>: mov sp, r7 ; Previously unwinding from here was broken <+54>: pop {r4, r7, pc} Differential revision: http://reviews.llvm.org/D17295 llvm-svn: 261318
Diffstat (limited to 'lldb/packages/Python/lldbsuite/test/python_api/process/main.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud