If the ObjC Step Through Trampoline plan causes a target crash, properly propagate the error back to
the controlling plans so that they don't lose control.
Also change "ThreadPlanStepThrough" to take the return StackID for its backstop breakpoint as an argument
to the constructor rather than having it try to figure it out itself, since it might get it wrong whereas
the caller always knows where it is coming from.
rdar://problem/11402287
git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@156529 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/source/Target/ThreadPlanStepInRange.cpp b/source/Target/ThreadPlanStepInRange.cpp
index 0db23a1..4fd8254 100644
--- a/source/Target/ThreadPlanStepInRange.cpp
+++ b/source/Target/ThreadPlanStepInRange.cpp
@@ -104,7 +104,7 @@
// A caveat to this is if we think the frame is older but we're actually in a trampoline.
// I'm going to make the assumption that you wouldn't RETURN to a trampoline. So if we are
// in a trampoline we think the frame is older because the trampoline confused the backtracer.
- new_plan = m_thread.QueueThreadPlanForStepThrough (false, stop_others);
+ new_plan = m_thread.QueueThreadPlanForStepThrough (m_stack_id, false, stop_others);
if (new_plan == NULL)
return true;
else if (log)
@@ -140,7 +140,7 @@
// We may have set the plan up above in the FrameIsOlder section:
if (new_plan == NULL)
- new_plan = m_thread.QueueThreadPlanForStepThrough (false, stop_others);
+ new_plan = m_thread.QueueThreadPlanForStepThrough (m_stack_id, false, stop_others);
if (log)
{