[Lldb-commits] [lldb] r221239 - Add one extra sanity check to RegisterContextLLDB::TryFallbackUnwindPlan

Jason Molenda jmolenda at apple.com
Mon Nov 3 21:35:33 PST 2014


Author: jmolenda
Date: Mon Nov  3 23:35:32 2014
New Revision: 221239

URL: http://llvm.org/viewvc/llvm-project?rev=221239&view=rev
Log:
Add one extra sanity check to RegisterContextLLDB::TryFallbackUnwindPlan
so it doesn't try the arch default if a comiler-generated (eh_frame,
compact unwind info) based unwind plan has failed.

Modified:
    lldb/trunk/source/Plugins/Process/Utility/RegisterContextLLDB.cpp

Modified: lldb/trunk/source/Plugins/Process/Utility/RegisterContextLLDB.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Plugins/Process/Utility/RegisterContextLLDB.cpp?rev=221239&r1=221238&r2=221239&view=diff
==============================================================================
--- lldb/trunk/source/Plugins/Process/Utility/RegisterContextLLDB.cpp (original)
+++ lldb/trunk/source/Plugins/Process/Utility/RegisterContextLLDB.cpp Mon Nov  3 23:35:32 2014
@@ -1404,6 +1404,14 @@ RegisterContextLLDB::TryFallbackUnwindPl
     if (m_fallback_unwind_plan_sp.get() == NULL)
         return false;
 
+    if (m_full_unwind_plan_sp.get() == NULL)
+        return false;
+
+    // If a compiler generated unwind plan failed, trying the arch default unwindplan
+    // isn't going to do any better.
+    if (m_full_unwind_plan_sp->GetSourcedFromCompiler() == eLazyBoolYes)
+        return false;
+
     UnwindPlanSP original_full_unwind_plan_sp = m_full_unwind_plan_sp;
     UnwindPlan::RowSP active_row = m_fallback_unwind_plan_sp->GetRowForFunctionOffset (m_current_offset);
     





More information about the lldb-commits mailing list