mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-10-12 10:28:59 +08:00
2011-05-26 Pedro Alves <pedro@codesourcery.com>
gdb/ * breakpoint.h (enum bptype) <bp_hp_step_resume>: New. (enum bpstat_what_main_action): Move BPSTAT_WHAT_STEP_RESUME before BPSTAT_WHAT_STOP_SILENT. Add BPSTAT_WHAT_HP_STEP_RESUME at the end. * breakpoint.c (update_breakpoints_after_exec): Also delete hp step-resume breakpoints. (print_it_typical): Handle bp_hp_step_resume. (bpstat_what): Ditto. (bptype_string): Ditto. (print_one_breakpoint_location): Ditto. (allocate_bp_location): Ditto. (mention): Ditto. (breakpoint_re_set_one): Ditto. * infrun.c (handle_inferior_event): Adjust. Split BPSTAT_WHAT_STEP_RESUME handling in BPSTAT_WHAT_STEP_RESUME and BPSTAT_WHAT_HP_STEP_RESUME. (insert_step_resume_breakpoint_at_sal): Rename to ... (insert_step_resume_breakpoint_at_sal_1): ... this. Add bptype parameter. Handle it. (insert_step_resume_breakpoint_at_sal): Reimplement on top of insert_step_resume_breakpoint_at_sal_1. (insert_step_resume_breakpoint_at_frame): Rename to ... (insert_hp_step_resume_breakpoint_at_frame): ... this. Adjust to set a high-priority step-resume breakpoint. (insert_step_resume_breakpoint_at_frame): Adjust comment. (insert_step_resume_breakpoint_at_caller): Ditto. gdb/testsuite/ * gdb.reverse/next-reverse-bkpt-over-sr.exp: New test.
This commit is contained in:
@ -68,10 +68,13 @@ enum bptype
|
||||
bp_exception_resume,
|
||||
|
||||
/* Used by wait_for_inferior for stepping over subroutine calls,
|
||||
for stepping over signal handlers, and for skipping
|
||||
prologues. */
|
||||
and for skipping prologues. */
|
||||
bp_step_resume,
|
||||
|
||||
/* Used by wait_for_inferior for stepping over signal
|
||||
handlers. */
|
||||
bp_hp_step_resume,
|
||||
|
||||
/* Used to detect when a watchpoint expression has gone out of
|
||||
scope. These breakpoints are usually not visible to the user.
|
||||
|
||||
@ -721,6 +724,9 @@ enum bpstat_what_main_action
|
||||
BPSTAT_WHAT_KEEP_CHECKING. */
|
||||
BPSTAT_WHAT_CLEAR_LONGJMP_RESUME,
|
||||
|
||||
/* Clear step resume breakpoint, and keep checking. */
|
||||
BPSTAT_WHAT_STEP_RESUME,
|
||||
|
||||
/* Rather than distinguish between noisy and silent stops here, it
|
||||
might be cleaner to have bpstat_print make that decision (also
|
||||
taking into account stop_print_frame and source_only). But the
|
||||
@ -733,8 +739,14 @@ enum bpstat_what_main_action
|
||||
/* Stop and print. */
|
||||
BPSTAT_WHAT_STOP_NOISY,
|
||||
|
||||
/* Clear step resume breakpoint, and keep checking. */
|
||||
BPSTAT_WHAT_STEP_RESUME,
|
||||
/* Clear step resume breakpoint, and keep checking. High-priority
|
||||
step-resume breakpoints are used when even if there's a user
|
||||
breakpoint at the current PC when we set the step-resume
|
||||
breakpoint, we don't want to re-handle any breakpoint other
|
||||
than the step-resume when it's hit; instead we want to move
|
||||
past the breakpoint. This is used in the case of skipping
|
||||
signal handlers. */
|
||||
BPSTAT_WHAT_HP_STEP_RESUME,
|
||||
};
|
||||
|
||||
/* An enum indicating the kind of "stack dummy" stop. This is a bit
|
||||
|
Reference in New Issue
Block a user