From: daney Date: Tue, 16 Sep 2008 18:54:59 +0000 (+0000) Subject: * breakpoint.c (bpstat_stop_status): Clear breakpoint_at for X-Git-Tag: cgen-snapshot-20091101~5348 X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=03734173af3469ac36674b96d751ecc1ab2b262e;p=pf3gnuchains%2Fpf3gnuchains4x.git * breakpoint.c (bpstat_stop_status): Clear breakpoint_at for all hardware bpstats. --- diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 05788597aa..16d68919f3 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,8 @@ +2008-09-16 David Daney + + * breakpoint.c (bpstat_stop_status): Clear breakpoint_at for + all hardware bpstats. + 2008-09-16 Joel Brobecker * gstdint.h: Delete. diff --git a/gdb/breakpoint.c b/gdb/breakpoint.c index 9454428522..6e863d7f4a 100644 --- a/gdb/breakpoint.c +++ b/gdb/breakpoint.c @@ -3054,6 +3054,7 @@ bpstat_stop_status (CORE_ADDR bp_addr, ptid_t ptid) /* Pointer to the last thing in the chain currently. */ bpstat bs = root_bs; int ix; + int need_remove_insert; ALL_BP_LOCATIONS (bl) { @@ -3146,6 +3147,7 @@ bpstat_stop_status (CORE_ADDR bp_addr, ptid_t ptid) if (bs->stop) break; + need_remove_insert = 0; if (bs == NULL) for (bs = root_bs->next; bs != NULL; bs = bs->next) if (!bs->stop @@ -3158,11 +3160,15 @@ bpstat_stop_status (CORE_ADDR bp_addr, ptid_t ptid) location is no longer used by the watchpoint. Prevent further code from trying to use it. */ bs->breakpoint_at = NULL; - remove_breakpoints (); - insert_breakpoints (); - break; + need_remove_insert = 1; } + if (need_remove_insert) + { + remove_breakpoints (); + insert_breakpoints (); + } + return root_bs->next; }