diff options
Diffstat (limited to 'gdb/breakpoint.c')
-rw-r--r-- | gdb/breakpoint.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/gdb/breakpoint.c b/gdb/breakpoint.c index 0d55862..4b2daf0 100644 --- a/gdb/breakpoint.c +++ b/gdb/breakpoint.c @@ -8691,6 +8691,16 @@ delete_breakpoint (struct breakpoint *bpt) if (bpt->type == bp_none) return; + /* At least avoid this stale reference until the reference counting of + breakpoints gets resolved. */ + if (bpt->related_breakpoint != NULL) + { + gdb_assert (bpt->related_breakpoint->related_breakpoint == bpt); + bpt->related_breakpoint->disposition = disp_del_at_next_stop; + bpt->related_breakpoint->related_breakpoint = NULL; + bpt->related_breakpoint = NULL; + } + observer_notify_breakpoint_deleted (bpt->number); if (breakpoint_chain == bpt) |