From: uweigand Date: Fri, 31 Jul 2009 14:33:45 +0000 (+0000) Subject: * breakpoint.c (remove_breakpoints): If removing one breakpoint X-Git-Tag: cgen-snapshot-20091101~1384 X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=3b98999527c574573f12c8d3a5339473bb4fa30c;p=pf3gnuchains%2Fpf3gnuchains4x.git * breakpoint.c (remove_breakpoints): If removing one breakpoint location fails, still continue to remove other locations. (remove_hw_watchpoints): Likewise. (detach_breakpoints): Likewise. --- diff --git a/gdb/ChangeLog b/gdb/ChangeLog index cc827123ae..05bddd2514 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,5 +1,12 @@ 2009-07-31 Ulrich Weigand + * breakpoint.c (remove_breakpoints): If removing one breakpoint + location fails, still continue to remove other locations. + (remove_hw_watchpoints): Likewise. + (detach_breakpoints): Likewise. + +2009-07-31 Ulrich Weigand + * breakpoint.h (enum enable_state): Add bp_startup_disabled. (disable_breakpoints_before_startup): Add prototype. (enable_breakpoints_after_startup): Likewise. diff --git a/gdb/breakpoint.c b/gdb/breakpoint.c index 3e324c2dbf..2e598e421e 100644 --- a/gdb/breakpoint.c +++ b/gdb/breakpoint.c @@ -1409,36 +1409,28 @@ int remove_breakpoints (void) { struct bp_location *b; - int val; + int val = 0; ALL_BP_LOCATIONS (b) { if (b->inserted) - { - val = remove_breakpoint (b, mark_uninserted); - if (val != 0) - return val; - } + val |= remove_breakpoint (b, mark_uninserted); } - return 0; + return val; } int remove_hw_watchpoints (void) { struct bp_location *b; - int val; + int val = 0; ALL_BP_LOCATIONS (b) { if (b->inserted && b->loc_type == bp_loc_hardware_watchpoint) - { - val = remove_breakpoint (b, mark_uninserted); - if (val != 0) - return val; - } + val |= remove_breakpoint (b, mark_uninserted); } - return 0; + return val; } int @@ -1663,7 +1655,7 @@ int detach_breakpoints (int pid) { struct bp_location *b; - int val; + int val = 0; struct cleanup *old_chain = save_inferior_ptid (); if (pid == PIDGET (inferior_ptid)) @@ -1674,17 +1666,10 @@ detach_breakpoints (int pid) ALL_BP_LOCATIONS (b) { if (b->inserted) - { - val = remove_breakpoint (b, mark_inserted); - if (val != 0) - { - do_cleanups (old_chain); - return val; - } - } + val |= remove_breakpoint (b, mark_inserted); } do_cleanups (old_chain); - return 0; + return val; } static int