trap handler patch/ zero pc
commit
5939801a26e7d9979522bd69addfe7bca010c561
Author: Konstantin Baladurin <k.baladurin@partner.samsung.com>
Date: Wed Jul 26 16:37:20 2017 +0300
Fix stack unwinding through zero pc on arm.
Introduce m_sigtramp_frame flag in RegisterContextLLDB to determine
whether zero is valid value for frame's pc because m_frame_type
not always equals eTrapHandlerFrame whe frame's pc points to
sigreturn or rt_sigreturn.
Also use FunctionEntryUnwindPlan for frame with zero pc.
commit
b393c09fc41eb59dcb99c7a9efcf254dbc5d785a
Author: Konstantin Baladurin <k.baladurin@partner.samsung.com>
Date: Tue Jul 25 17:21:36 2017 +0300
Check whether pc points to trap handler using opcodes comparision.
Gdb uses similarly approach to determine trap handlers.
Without it lldb cannot unwind stack after handler if pc is zero
(for example, if signal handler is called due to calling zero).
commit
097a95a4cd53ef8be81ff3601fc8e50f9d853ac1
Author: Konstantin Baladurin <k.baladurin@partner.samsung.com>
Date: Thu Jul 20 17:59:05 2017 +0300
Address::SetOpcodeLoadAddress: always fix m_offset value if
target is not null.
Method is used to fix frame code address before printing it.
In some cases SetLoadAddress returns false and lldb prints
incorrect address in this case (for example for arm in thumb mode
lldb prints address + 1).
Change-Id: I124290cfc92bc635a2e1ac51cb33b61ffba7bad0
Signed-off-by: CHUNSEOK LEE <chunseok.lee@samsung.com>