aboutsummaryrefslogtreecommitdiff
path: root/gdb
diff options
context:
space:
mode:
authorDaniel Jacobowitz <drow@false.org>2007-09-10 21:27:23 +0000
committerDaniel Jacobowitz <drow@false.org>2007-09-10 21:27:23 +0000
commit4d8453a549892438b635947ed681729674f3566d (patch)
tree9e350219f99977a2592ea077fbfc0549cd8fe8f5 /gdb
parent4eb0ad19f379a411b76d7adf2664c46f79402878 (diff)
downloadgdb-4d8453a549892438b635947ed681729674f3566d.zip
gdb-4d8453a549892438b635947ed681729674f3566d.tar.gz
gdb-4d8453a549892438b635947ed681729674f3566d.tar.bz2
* thread.c (free_thread): Do not delete the step resume breakpoint
right away.
Diffstat (limited to 'gdb')
-rw-r--r--gdb/ChangeLog5
-rw-r--r--gdb/thread.c6
2 files changed, 9 insertions, 2 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 1d6d014..17023ec 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,5 +1,10 @@
2007-09-10 Daniel Jacobowitz <dan@codesourcery.com>
+ * thread.c (free_thread): Do not delete the step resume breakpoint
+ right away.
+
+2007-09-10 Daniel Jacobowitz <dan@codesourcery.com>
+
* arch-utils.c (gdbarch_info_fill): Also try core_bfd.
* corelow.c (core_read_description): New.
(init_core_ops): Set to_read_description.
diff --git a/gdb/thread.c b/gdb/thread.c
index 563d18a..b6762e1 100644
--- a/gdb/thread.c
+++ b/gdb/thread.c
@@ -84,9 +84,11 @@ static void
free_thread (struct thread_info *tp)
{
/* NOTE: this will take care of any left-over step_resume breakpoints,
- but not any user-specified thread-specific breakpoints. */
+ but not any user-specified thread-specific breakpoints. We can not
+ delete the breakpoint straight-off, because the inferior might not
+ be stopped at the moment. */
if (tp->step_resume_breakpoint)
- delete_breakpoint (tp->step_resume_breakpoint);
+ tp->step_resume_breakpoint->disposition = disp_del_at_next_stop;
/* FIXME: do I ever need to call the back-end to give it a
chance at this private data before deleting the thread? */