svn commit: r258098 - head/contrib/llvm/tools/lldb/source/Target

Ed Maste emaste at FreeBSD.org
Wed Nov 13 17:06:27 UTC 2013


Author: emaste
Date: Wed Nov 13 17:06:26 2013
New Revision: 258098
URL: http://svnweb.freebsd.org/changeset/base/258098

Log:
  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

Modified:
  head/contrib/llvm/tools/lldb/source/Target/Thread.cpp
  head/contrib/llvm/tools/lldb/source/Target/ThreadPlanCallFunction.cpp

Modified: head/contrib/llvm/tools/lldb/source/Target/Thread.cpp
==============================================================================
--- head/contrib/llvm/tools/lldb/source/Target/Thread.cpp	Wed Nov 13 16:50:19 2013	(r258097)
+++ head/contrib/llvm/tools/lldb/source/Target/Thread.cpp	Wed Nov 13 17:06:26 2013	(r258098)
@@ -511,8 +511,7 @@ Thread::CheckpointThreadState (ThreadSta
 bool
 Thread::RestoreRegisterStateFromCheckpoint (ThreadStateCheckpoint &saved_state)
 {
-    RestoreSaveFrameZero(saved_state.register_backup);
-    return true;
+    return RestoreSaveFrameZero(saved_state.register_backup);
 }
 
 bool

Modified: head/contrib/llvm/tools/lldb/source/Target/ThreadPlanCallFunction.cpp
==============================================================================
--- head/contrib/llvm/tools/lldb/source/Target/ThreadPlanCallFunction.cpp	Wed Nov 13 16:50:19 2013	(r258097)
+++ head/contrib/llvm/tools/lldb/source/Target/ThreadPlanCallFunction.cpp	Wed Nov 13 17:06:26 2013	(r258098)
@@ -299,7 +299,11 @@ ThreadPlanCallFunction::DoTakedown (bool
         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())


More information about the svn-src-all mailing list