* gdbarch.sh (displaced_step_hw_singlestep): New callback.

* gdbarch.c, gdbarch.h: Regenerate.
	* arch-utils.c (default_displaced_step_hw_singlestep): New function.
	* arch-utils.h (default_displaced_step_hw_singlestep): Add prototype.

	* ppc-linux-tdep.c (ppc_displaced_step_hw_singlestep): New function.
	(rs6000_gdbarch_init): Install it.

	* infrun.c (displaced_step_fixup): Use new callback to determine
	whether to "step" or "continue" displaced copy.
	(resume): Likewise.  Do not call maybe_software_singlestep
	for displaced stepping.
	(maybe_software_singlestep): Do not handle displaced stepping.
This commit is contained in:
Ulrich Weigand 2009-09-29 00:53:04 +00:00
parent 69368a60a4
commit 99e4058030
8 changed files with 103 additions and 16 deletions

View file

@ -67,6 +67,12 @@ simple_displaced_step_free_closure (struct gdbarch *gdbarch,
xfree (closure);
}
int
default_displaced_step_hw_singlestep (struct gdbarch *gdbarch,
struct displaced_step_closure *closure)
{
return !gdbarch_software_single_step_p (gdbarch);
}
CORE_ADDR
displaced_step_at_entry_point (struct gdbarch *gdbarch)