Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 13 Nov 2013 17:06:26 +0000 (UTC)
From:      Ed Maste <emaste@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r258098 - head/contrib/llvm/tools/lldb/source/Target
Message-ID:  <201311131706.rADH6QuZ013840@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
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())



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201311131706.rADH6QuZ013840>