From 0c694994982b90cdc0b0492cd1b0e775bbe3d40b Mon Sep 17 00:00:00 2001 From: emaste Date: Wed, 19 Mar 2014 13:15:16 +0000 Subject: MFC r258098: Merge upstream LLDB r194487: Log failure to restore thread state in ThreadPlanCallFunction::DoTakedown In order to help track down llvm.org/pr17226. Sponsored by: DARPA, AFRL --- contrib/llvm/tools/lldb/source/Target/Thread.cpp | 3 +-- contrib/llvm/tools/lldb/source/Target/ThreadPlanCallFunction.cpp | 6 +++++- 2 files changed, 6 insertions(+), 3 deletions(-) (limited to 'contrib/llvm/tools') diff --git a/contrib/llvm/tools/lldb/source/Target/Thread.cpp b/contrib/llvm/tools/lldb/source/Target/Thread.cpp index 98c2601..de33145 100644 --- a/contrib/llvm/tools/lldb/source/Target/Thread.cpp +++ b/contrib/llvm/tools/lldb/source/Target/Thread.cpp @@ -511,8 +511,7 @@ Thread::CheckpointThreadState (ThreadStateCheckpoint &saved_state) bool Thread::RestoreRegisterStateFromCheckpoint (ThreadStateCheckpoint &saved_state) { - RestoreSaveFrameZero(saved_state.register_backup); - return true; + return RestoreSaveFrameZero(saved_state.register_backup); } bool diff --git a/contrib/llvm/tools/lldb/source/Target/ThreadPlanCallFunction.cpp b/contrib/llvm/tools/lldb/source/Target/ThreadPlanCallFunction.cpp index c9baaaf..45ff3b4 100644 --- a/contrib/llvm/tools/lldb/source/Target/ThreadPlanCallFunction.cpp +++ b/contrib/llvm/tools/lldb/source/Target/ThreadPlanCallFunction.cpp @@ -299,7 +299,11 @@ ThreadPlanCallFunction::DoTakedown (bool success) m_takedown_done = true; m_stop_address = m_thread.GetStackFrameAtIndex(0)->GetRegisterContext()->GetPC(); m_real_stop_info_sp = GetPrivateStopInfo (); - m_thread.RestoreRegisterStateFromCheckpoint(m_stored_thread_state); + if (!m_thread.RestoreRegisterStateFromCheckpoint(m_stored_thread_state)) + { + if (log) + log->Printf("ThreadPlanCallFunction(%p): DoTakedown failed to restore register state", this); + } SetPlanComplete(success); ClearBreakpoints(); if (log && log->GetVerbose()) -- cgit v1.1