mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2024-11-27 03:54:41 +08:00
gdb/
* arm-linux-tdep.c (arm_linux_copy_svc): Reset stale FRAME. * breakpoint.c (until_break_command): Likewise. * elfread.c (elf_gnu_ifunc_resolver_stop): Likewise. * infcall.c (call_function_by_hand): Likewise. * infcmd.c (finish_forward): Likewise. * infrun.c (insert_exception_resume_breakpoint): Likewise.
This commit is contained in:
parent
c03e6ccce2
commit
c70a6932bb
@ -1,3 +1,12 @@
|
||||
2012-02-29 Jan Kratochvil <jan.kratochvil@redhat.com>
|
||||
|
||||
* arm-linux-tdep.c (arm_linux_copy_svc): Reset stale FRAME.
|
||||
* breakpoint.c (until_break_command): Likewise.
|
||||
* elfread.c (elf_gnu_ifunc_resolver_stop): Likewise.
|
||||
* infcall.c (call_function_by_hand): Likewise.
|
||||
* infcmd.c (finish_forward): Likewise.
|
||||
* infrun.c (insert_exception_resume_breakpoint): Likewise.
|
||||
|
||||
2012-02-28 Joel Brobecker <brobecker@adacore.com>
|
||||
|
||||
From Tristan Gingold <gingold@adacore.com>.
|
||||
|
@ -937,6 +937,9 @@ arm_linux_copy_svc (struct gdbarch *gdbarch, struct regcache *regs,
|
||||
= set_momentary_breakpoint (gdbarch, sal, get_frame_id (frame),
|
||||
bp_step_resume);
|
||||
|
||||
/* set_momentary_breakpoint invalidates FRAME. */
|
||||
frame = NULL;
|
||||
|
||||
/* We need to make sure we actually insert the momentary
|
||||
breakpoint set above. */
|
||||
insert_breakpoints ();
|
||||
|
@ -10478,6 +10478,9 @@ until_break_command (char *arg, int from_tty, int anywhere)
|
||||
make_cleanup (delete_longjmp_breakpoint_cleanup, &thread);
|
||||
}
|
||||
|
||||
/* set_momentary_breakpoint could invalidate FRAME. */
|
||||
frame = NULL;
|
||||
|
||||
if (anywhere)
|
||||
/* If the user told us to continue until a specified location,
|
||||
we don't specify a frame at which we need to stop. */
|
||||
|
@ -995,6 +995,9 @@ elf_gnu_ifunc_resolver_stop (struct breakpoint *b)
|
||||
prev_frame_id,
|
||||
bp_gnu_ifunc_resolver_return);
|
||||
|
||||
/* set_momentary_breakpoint invalidates PREV_FRAME. */
|
||||
prev_frame = NULL;
|
||||
|
||||
/* Add new b_return to the ring list b->related_breakpoint. */
|
||||
gdb_assert (b_return->related_breakpoint == b_return);
|
||||
b_return->related_breakpoint = b->related_breakpoint;
|
||||
|
@ -783,6 +783,10 @@ call_function_by_hand (struct value *function, int nargs, struct value **args)
|
||||
PUSH_DUMMY_CALL, saved as the dummy-frame TOS, and used by
|
||||
dummy_id to form the frame ID's stack address. */
|
||||
bpt = set_momentary_breakpoint (gdbarch, sal, dummy_id, bp_call_dummy);
|
||||
|
||||
/* set_momentary_breakpoint invalidates FRAME. */
|
||||
frame = NULL;
|
||||
|
||||
bpt->disposition = disp_del;
|
||||
}
|
||||
|
||||
|
@ -1652,6 +1652,9 @@ finish_forward (struct symbol *function, struct frame_info *frame)
|
||||
get_stack_frame_id (frame),
|
||||
bp_finish);
|
||||
|
||||
/* set_momentary_breakpoint invalidates FRAME. */
|
||||
frame = NULL;
|
||||
|
||||
old_chain = make_cleanup_delete_breakpoint (breakpoint);
|
||||
|
||||
set_longjmp_breakpoint (tp, frame_id);
|
||||
|
@ -5520,6 +5520,10 @@ insert_exception_resume_breakpoint (struct thread_info *tp,
|
||||
|
||||
bp = set_momentary_breakpoint_at_pc (get_frame_arch (frame),
|
||||
handler, bp_exception_resume);
|
||||
|
||||
/* set_momentary_breakpoint_at_pc invalidates FRAME. */
|
||||
frame = NULL;
|
||||
|
||||
bp->thread = tp->num;
|
||||
inferior_thread ()->control.exception_resume_breakpoint = bp;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user