diff options
-rw-r--r-- | gdb/ChangeLog | 7 | ||||
-rw-r--r-- | gdb/breakpoint.c | 8 |
2 files changed, 11 insertions, 4 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index fb1fb19..f90dd80 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -3,6 +3,13 @@ * procfs.c (proc_set_watchpoint): Declare addr parameter as CORE_ADDR, to match call from procfs_set_watchpoint. + * breakpoint.c (insert_breakpoints, do_enable_breakpoint): + Reselect the saved frame silently after frame selection for + watchpoint evaluation. + (insert_breakpoints): Add missing space in `Hardware watchpoint + deleted' message. Do not reinsert hardware watchpoint if it is + already marked for deletion at next stop. + 2000-03-28 Christopher Faylor <cgf@cygnus.com> * partial-stab.h: Add one more check against corrupted or irregular diff --git a/gdb/breakpoint.c b/gdb/breakpoint.c index 4e0fc67..c5ebf64 100644 --- a/gdb/breakpoint.c +++ b/gdb/breakpoint.c @@ -918,6 +918,7 @@ insert_breakpoints () b->type == bp_read_watchpoint || b->type == bp_access_watchpoint) && b->enable == enabled + && b->disposition != del_at_next_stop && !b->inserted && !b->duplicate) { @@ -1020,7 +1021,7 @@ insert_breakpoints () } else { - printf_filtered ("Hardware watchpoint %d deleted", b->number); + printf_filtered ("Hardware watchpoint %d deleted ", b->number); printf_filtered ("because the program has left the block \n"); printf_filtered ("in which its expression is valid.\n"); if (b->related_breakpoint) @@ -1031,7 +1032,7 @@ insert_breakpoints () /* Restore the frame and level. */ if ((saved_frame != selected_frame) || (saved_level != selected_frame_level)) - select_and_print_frame (saved_frame, saved_level); + select_frame (saved_frame, saved_level); if (val) return_val = val; /* remember failure */ @@ -7587,8 +7588,7 @@ have been allocated for other watchpoints.\n", bpt->number); } if (save_selected_frame_level >= 0) - select_and_print_frame (save_selected_frame, - save_selected_frame_level); + select_frame (save_selected_frame, save_selected_frame_level); value_free_to_mark (mark); } if (modify_breakpoint_hook) |