2011-05-26 Pedro Alves <pedro@codesourcery.com>

gdb/
	* infcmd.c (finish_backward): Set a step-resume breakpoint at the
	function's entry point instead of a manually managed momentary
	breakpoint, and only ever issue one proceed call.
	* infrun.c (handle_inferior_event) <BPSTAT_WHAT_STEP_RESUME>: If
	doing a reverse-finish, switch to stepi mode, to do another step.
	(insert_step_resume_breakpoint_at_sal): Make public.
	(normal_stop): No need to save function value return registers if
	going reverse.
	* inferior.h (insert_step_resume_breakpoint_at_sal): Declare.

	gdb/testsuite/
	* gdb.reverse/finish-reverse-bkpt.exp: New test.
This commit is contained in:
Pedro Alves
2011-05-26 15:32:38 +00:00
parent 2c03e5bed3
commit 9da8c2a0fa
6 changed files with 106 additions and 30 deletions

View File

@@ -190,6 +190,10 @@ extern void resume (int, enum target_signal);
extern ptid_t user_visible_resume_ptid (int step);
extern void insert_step_resume_breakpoint_at_sal (struct gdbarch *,
struct symtab_and_line ,
struct frame_id);
/* From misc files */
extern void default_print_registers_info (struct gdbarch *gdbarch,