trap handler patch/ zero pc 52/140652/3 accepted/tizen/4.0/base/20170811.092840 accepted/tizen/4.0/base/20170828.221159 accepted/tizen/base/20170728.205649 submit/tizen_4.0_base/20170811.071500 submit/tizen_4.0_base/20170828.000000 submit/tizen_4.0_base/20170828.000001 submit/tizen_base/20170727.043422
authorCHUNSEOK LEE <chunseok.lee@samsung.com>
Wed, 26 Jul 2017 01:39:10 +0000 (10:39 +0900)
committerDongkyun Son <dongkyun.s@samsung.com>
Thu, 27 Jul 2017 04:33:15 +0000 (04:33 +0000)
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>
packaging/lldb.tar.gz

index c678b64..ea9f4ea 100644 (file)
Binary files a/packaging/lldb.tar.gz and b/packaging/lldb.tar.gz differ