llvm-project/lldb/packages/Python/lldbsuite/test/expression_command
Abhishek Aggarwal be994649b4 Fix to solve Bug 23139 & Bug 23560
Summary:
 - Reason of both bugs:

   1. For the very first frame, Unwinder doesn't check the validity
      of Full UnwindPlan before creating StackFrame from it:

        When 'process launch' command is run after setting a breakpoint
        in inferior, the Unwinder runs and saves only Frame 0 (the frame
        in which breakpoint was set) in thread's StackFrameList i.e.
        m_curr_frames_sp. However, it doesn't check the validity of the
        Full UnwindPlan for this frame by unwinding 2 more frames further.

   2. Unwinder doesn't update the CFA value of Cursor when Full UnwindPlan
      fails and FallBack UnwindPlan succeeds in providing valid CFA values
      for frames:

        Sometimes during unwinding of stack frames, the Full UnwindPlan
        inside the RegisterContextLLDB object may fail to provide valid
        CFA values for these frames. Then the Fallback UnwindPlan is used
        to unwind the frames.

        If the Fallback UnwindPlan succeeds, then it provides a valid new
        CFA value. The RegisterContextLLDB::m_cfa field of Cursor object
        is updated during the Fallback UnwindPlan execution. However,
        UnwindLLDB misses the implementation to update the 'cfa' field
        of this Cursor with this valid new CFA value.

 - This patch fixes both these issues.

 - Remove XFAIL in test files corresponding to these 2 Bugs

Change-Id: I932ea407545ceee2d628f946ecc61a4806d4cc86
Signed-off-by: Abhishek Aggarwal <abhishek.a.aggarwal@intel.com>

Reviewers: jingham, lldb-commits, jasonmolenda

Subscribers: lldb-commits, ovyalov, tberghammer

Differential Revision: http://reviews.llvm.org/D14226

llvm-svn: 253026
2015-11-13 10:47:49 +00:00
..
call-function Remove `use_lldb_suite` from the package, and don't import it anymore. 2015-11-03 19:20:39 +00:00
call-restarts Remove `use_lldb_suite` from the package, and don't import it anymore. 2015-11-03 19:20:39 +00:00
call-throws Remove `use_lldb_suite` from the package, and don't import it anymore. 2015-11-03 19:20:39 +00:00
char Remove `use_lldb_suite` from the package, and don't import it anymore. 2015-11-03 19:20:39 +00:00
expr-in-syscall Remove `use_lldb_suite` from the package, and don't import it anymore. 2015-11-03 19:20:39 +00:00
formatters Remove `use_lldb_suite` from the package, and don't import it anymore. 2015-11-03 19:20:39 +00:00
issue_11588 Remove `use_lldb_suite` from the package, and don't import it anymore. 2015-11-03 19:20:39 +00:00
options [test] Fix comment. 2015-11-12 00:43:22 +00:00
persist_objc_pointeetype Remove `use_lldb_suite` from the package, and don't import it anymore. 2015-11-03 19:20:39 +00:00
persistent_ptr_update Remove `use_lldb_suite` from the package, and don't import it anymore. 2015-11-03 19:20:39 +00:00
persistent_types Remove `use_lldb_suite` from the package, and don't import it anymore. 2015-11-03 19:20:39 +00:00
persistent_variables Remove `use_lldb_suite` from the package, and don't import it anymore. 2015-11-03 19:20:39 +00:00
po_verbosity Remove `use_lldb_suite` from the package, and don't import it anymore. 2015-11-03 19:20:39 +00:00
radar_8638051 Remove `use_lldb_suite` from the package, and don't import it anymore. 2015-11-03 19:20:39 +00:00
radar_9531204 Remove `use_lldb_suite` from the package, and don't import it anymore. 2015-11-03 19:20:39 +00:00
radar_9673664 Remove `use_lldb_suite` from the package, and don't import it anymore. 2015-11-03 19:20:39 +00:00
test Fix to solve Bug 23139 & Bug 23560 2015-11-13 10:47:49 +00:00
timeout Remove `use_lldb_suite` from the package, and don't import it anymore. 2015-11-03 19:20:39 +00:00
two-files Remove `use_lldb_suite` from the package, and don't import it anymore. 2015-11-03 19:20:39 +00:00
.categories