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);
     


_______________________________________________
lldb-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/lldb-commits

Reply via email to