diff options
author | Jan Kratochvil <jan.kratochvil@redhat.com> | 2010-11-28 04:33:47 +0000 |
---|---|---|
committer | Jan Kratochvil <jan.kratochvil@redhat.com> | 2010-11-28 04:33:47 +0000 |
commit | 8358c15c55744630cf69baf9acd134b8cc04e7c7 (patch) | |
tree | e7a982a8c87c619e6ac8542864159b7bc5c30936 /gdb/arm-linux-tdep.c | |
parent | 16c381f0589cead48e7e707c6584ec8629601aad (diff) | |
download | gdb-8358c15c55744630cf69baf9acd134b8cc04e7c7.zip gdb-8358c15c55744630cf69baf9acd134b8cc04e7c7.tar.gz gdb-8358c15c55744630cf69baf9acd134b8cc04e7c7.tar.bz2 |
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/arm-linux-tdep.c')
-rw-r--r-- | gdb/arm-linux-tdep.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/gdb/arm-linux-tdep.c b/gdb/arm-linux-tdep.c index aa7d0af..4758ded 100644 --- a/gdb/arm-linux-tdep.c +++ b/gdb/arm-linux-tdep.c @@ -791,7 +791,8 @@ arm_linux_copy_svc (struct gdbarch *gdbarch, uint32_t insn, CORE_ADDR to, fprintf_unfiltered (gdb_stdlog, "displaced: unwind pc = %lx. " "Setting momentary breakpoint.\n", (unsigned long) return_to); - gdb_assert (inferior_thread ()->step_resume_breakpoint == NULL); + gdb_assert (inferior_thread ()->control.step_resume_breakpoint + == NULL); sal = find_pc_line (return_to, 0); sal.pc = return_to; @@ -802,7 +803,7 @@ arm_linux_copy_svc (struct gdbarch *gdbarch, uint32_t insn, CORE_ADDR to, if (frame) { - inferior_thread ()->step_resume_breakpoint + inferior_thread ()->control.step_resume_breakpoint = set_momentary_breakpoint (gdbarch, sal, get_frame_id (frame), bp_step_resume); |