infrun: step through indirect branch thunks
[deliverable/binutils-gdb.git] / gdb / infrun.c
index c1db689c1ccce68ca54b15faa749c1cd2f06b532..9e5e0639ceb6561490c594654d166116a81d6f20 100644 (file)
@@ -6565,6 +6565,17 @@ process_event_stop_test (struct execution_control_state *ecs)
       return;
     }
 
+  /* Step through an indirect branch thunk.  */
+  if (ecs->event_thread->control.step_over_calls != STEP_OVER_NONE
+      && gdbarch_in_indirect_branch_thunk (gdbarch, stop_pc))
+    {
+      if (debug_infrun)
+        fprintf_unfiltered (gdb_stdlog,
+                            "infrun: stepped into indirect branch thunk\n");
+      keep_going (ecs);
+      return;
+    }
+
   if (ecs->event_thread->control.step_range_end != 1
       && (ecs->event_thread->control.step_over_calls == STEP_OVER_UNDEBUGGABLE
          || ecs->event_thread->control.step_over_calls == STEP_OVER_ALL)
This page took 0.024051 seconds and 4 git commands to generate.