From 473347adb38b22170f1f0fb2a39c9c47ccf8164e Mon Sep 17 00:00:00 2001 From: "Maciej W. Rozycki" Date: Mon, 27 Feb 2012 21:36:47 +0000 Subject: [PATCH] * infrun.c (handle_inferior_event): Don't proceed through shared library trampolines if stepping at the machine instruction level. --- gdb/ChangeLog | 7 +++++++ gdb/infrun.c | 3 ++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 9533556..a784f7e 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,10 @@ +2012-02-27 Maciej W. Rozycki + Maciej W. Rozycki + + * infrun.c (handle_inferior_event): Don't proceed through + shared library trampolines if stepping at the machine + instruction level. + 2012-02-27 Maciej W. Rozycki * mips-linux-tdep.c (mips_linux_init_abi): Set num_pseudo_regs diff --git a/gdb/infrun.c b/gdb/infrun.c index 1b2da67..89f9362 100644 --- a/gdb/infrun.c +++ b/gdb/infrun.c @@ -5008,7 +5008,8 @@ process_event_stop_test: /* If we're in the return path from a shared library trampoline, we want to proceed through the trampoline when stepping. */ if (gdbarch_in_solib_return_trampoline (gdbarch, - stop_pc, ecs->stop_func_name)) + stop_pc, ecs->stop_func_name) + && ecs->event_thread->control.step_over_calls != STEP_OVER_NONE) { /* Determine where this trampoline returns. */ CORE_ADDR real_stop_pc; -- 2.7.4