================
@@ -470,6 +470,21 @@ CPPLanguageRuntime::GetStepThroughTrampolinePlan(Thread 
&thread,
   StackFrameSP frame = thread.GetStackFrameAtIndex(0);
 
   if (frame) {
+    // Advance past the prologue if we stopped there.
+    Address func_start_address =
+        sc.function ? sc.function->GetAddress() : symbol->GetAddress();
+    lldb::addr_t func_start =
+        func_start_address.GetLoadAddress(target_sp.get());
+    if (func_start != LLDB_INVALID_ADDRESS && func_start == curr_pc) {
----------------
felipepiovezan wrote:

While `func_start == curr_pc` is probably fine, the more accurate check is 
`curr_pc < func_start + prologue_size`.

https://github.com/llvm/llvm-project/pull/209629
_______________________________________________
lldb-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to