diff options
author | Jan Kratochvil <jan.kratochvil@redhat.com> | 2010-11-28 04:33:45 +0000 |
---|---|---|
committer | Jan Kratochvil <jan.kratochvil@redhat.com> | 2010-11-28 04:33:45 +0000 |
commit | 3d2e431c087213db1819fd1f79ec6f1615bb11b2 (patch) | |
tree | 12bca944608006454307b03c8db96c5b3c301a0f /gdb/thread.c | |
parent | 7c77df928722862f8a421fa01d7d130536fcda28 (diff) | |
download | gdb-3d2e431c087213db1819fd1f79ec6f1615bb11b2.tar.gz |
gdb/
Fix step_resume_breakpoint unsaved during an infcall.
* gdbthread.h (struct thread_control_state): Move here field
step_resume_breakpoint ...
(struct thread_info): ... from here.
* infrun.c (save_infcall_control_state): Reset
control.step_resume_breakpoint to NULL.
(restore_infcall_control_state, discard_infcall_control_state): Delete
control.step_resume_breakpoint.
* arm-linux-tdep.c, infrun.c, thread.c: Update all the references to
the moved field.
gdb/testsuite/
Fix step_resume_breakpoint unsaved during an infcall.
* gdb.base/step-resume-infcall.exp: New file.
* gdb.base/step-resume-infcall.c: New file.
Diffstat (limited to 'gdb/thread.c')
-rw-r--r-- | gdb/thread.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/gdb/thread.c b/gdb/thread.c index 10c12318f2b..e23a784fc5c 100644 --- a/gdb/thread.c +++ b/gdb/thread.c @@ -83,10 +83,10 @@ inferior_thread (void) void delete_step_resume_breakpoint (struct thread_info *tp) { - if (tp && tp->step_resume_breakpoint) + if (tp && tp->control.step_resume_breakpoint) { - delete_breakpoint (tp->step_resume_breakpoint); - tp->step_resume_breakpoint = NULL; + delete_breakpoint (tp->control.step_resume_breakpoint); + tp->control.step_resume_breakpoint = NULL; } } @@ -97,10 +97,10 @@ clear_thread_inferior_resources (struct thread_info *tp) 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) + if (tp->control.step_resume_breakpoint) { - tp->step_resume_breakpoint->disposition = disp_del_at_next_stop; - tp->step_resume_breakpoint = NULL; + tp->control.step_resume_breakpoint->disposition = disp_del_at_next_stop; + tp->control.step_resume_breakpoint = NULL; } bpstat_clear (&tp->control.stop_bpstat); |