+2002-08-16 Joel Brobecker <brobecker@gnat.com>
+
+ * infrun.c (handle_inferior_event): When receiving a SIGTRAP
+ signal, check whether we hit a breakpoint before checking for a
+ single step breakpoint. Otherwise, GDB fails to notice that a
+ breakpoint has been hit when stepping onto a breakpoint.
+
2002-08-16 Keith Seitz <keiths@redhat.com>
* gdb-events.sh (clear_gdb_event_hooks): New function.
if (stop_signal == TARGET_SIGNAL_TRAP)
{
- if (SOFTWARE_SINGLE_STEP_P () && singlestep_breakpoints_inserted_p)
- ecs->random_signal = 0;
- else if (breakpoints_inserted
- && breakpoint_here_p (stop_pc - DECR_PC_AFTER_BREAK))
+ /* Check if a regular breakpoint has been hit before checking
+ for a potential single step breakpoint. Otherwise, GDB will
+ not see this breakpoint hit when stepping onto breakpoints. */
+ if (breakpoints_inserted
+ && breakpoint_here_p (stop_pc - DECR_PC_AFTER_BREAK))
{
ecs->random_signal = 0;
if (!breakpoint_thread_match (stop_pc - DECR_PC_AFTER_BREAK,
}
}
}
+ else if (SOFTWARE_SINGLE_STEP_P () && singlestep_breakpoints_inserted_p)
+ {
+ ecs->random_signal = 0;
+ }
}
else
ecs->random_signal = 1;