* infrun.c (handle_inferior_event): Don't proceed through
authorMaciej W. Rozycki <macro@linux-mips.org>
Mon, 27 Feb 2012 21:36:47 +0000 (21:36 +0000)
committerMaciej W. Rozycki <macro@linux-mips.org>
Mon, 27 Feb 2012 21:36:47 +0000 (21:36 +0000)
shared library trampolines if stepping at the machine
instruction level.

gdb/ChangeLog
gdb/infrun.c

index 9533556ec6bc8fd8049af3a902d9f9c16f3b4c2f..a784f7e5e5ad43cc2313f9d1e6e5c5f772f2e2be 100644 (file)
@@ -1,3 +1,10 @@
+2012-02-27  Maciej W. Rozycki  <macro@mips.com>
+            Maciej W. Rozycki  <macro@codesourcery.com>
+
+       * 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  <macro@codesourcery.com>
 
        * mips-linux-tdep.c (mips_linux_init_abi): Set num_pseudo_regs
index 1b2da67fff3e86725ddc744c5c754d16f96edb7f..89f9362bec138a030ecc5f99cf35cd821f6de56e 100644 (file)
@@ -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;