* breakpoint.c (remove_breakpoint): Do not remove software

breakpoints in unmapped overlay sections.
This commit is contained in:
Ulrich Weigand 2007-05-11 20:01:31 +00:00
parent 83547f02b7
commit aa67235e6e
2 changed files with 12 additions and 1 deletions

View File

@ -1,3 +1,8 @@
2007-05-11 Ulrich Weigand <uweigand@de.ibm.com>
* breakpoint.c (remove_breakpoint): Do not remove software
breakpoints in unmapped overlay sections.
2007-05-11 Ulrich Weigand <uweigand@de.ibm.com>
* spu-tdep.c: Include "observer.h".

View File

@ -1587,8 +1587,14 @@ remove_breakpoint (struct bp_location *b, insertion_state_t is)
don't know what the overlay manager might do. */
if (b->loc_type == bp_loc_hardware_breakpoint)
val = target_remove_hw_breakpoint (&b->target_info);
else
/* However, we should remove *software* breakpoints only
if the section is still mapped, or else we overwrite
wrong code with the saved shadow contents. */
else if (section_is_mapped (b->section))
val = target_remove_breakpoint (&b->target_info);
else
val = 0;
}
else
{