diff options
Diffstat (limited to 'lldb/source/Symbol/FuncUnwinders.cpp')
-rw-r--r-- | lldb/source/Symbol/FuncUnwinders.cpp | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/lldb/source/Symbol/FuncUnwinders.cpp b/lldb/source/Symbol/FuncUnwinders.cpp index bbdb5e1bbf7..33b2e295989 100644 --- a/lldb/source/Symbol/FuncUnwinders.cpp +++ b/lldb/source/Symbol/FuncUnwinders.cpp @@ -54,9 +54,12 @@ FuncUnwinders::FuncUnwinders(UnwindTable &unwind_table, AddressRange range) FuncUnwinders::~FuncUnwinders() {} -UnwindPlanSP FuncUnwinders::GetUnwindPlanAtCallSite(Target &target) { +UnwindPlanSP FuncUnwinders::GetUnwindPlanAtCallSite(Target &target, + Thread &thread) { std::lock_guard<std::recursive_mutex> guard(m_mutex); + if (UnwindPlanSP plan_sp = GetSymbolFileUnwindPlan(thread)) + return plan_sp; if (UnwindPlanSP plan_sp = GetEHFrameUnwindPlan(target)) return plan_sp; if (UnwindPlanSP plan_sp = GetDebugFrameUnwindPlan(target)) @@ -357,6 +360,8 @@ UnwindPlanSP FuncUnwinders::GetUnwindPlanAtNonCallSite(Target &target, return eh_frame_sp; } + if (UnwindPlanSP plan_sp = GetSymbolFileUnwindPlan(thread)) + return plan_sp; if (UnwindPlanSP plan_sp = GetEHFrameAugmentedUnwindPlan(target, thread)) return plan_sp; if (UnwindPlanSP plan_sp = GetDebugFrameAugmentedUnwindPlan(target, thread)) |