[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