aboutsummaryrefslogtreecommitdiff
path: root/gdb/arch-utils.c
diff options
context:
space:
mode:
authorUlrich Weigand <uweigand@de.ibm.com>2009-09-29 00:53:04 +0000
committerUlrich Weigand <uweigand@de.ibm.com>2009-09-29 00:53:04 +0000
commit99e40580307d91e399af1c0293a6676b10efefea (patch)
tree3c951a5f939f575645b767865063ddbc6ddfd0b3 /gdb/arch-utils.c
parent69368a60a4878ec4ef1060732020e9eaf19b32b0 (diff)
downloadgdb-99e40580307d91e399af1c0293a6676b10efefea.zip
gdb-99e40580307d91e399af1c0293a6676b10efefea.tar.gz
gdb-99e40580307d91e399af1c0293a6676b10efefea.tar.bz2
* 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.
Diffstat (limited to 'gdb/arch-utils.c')
-rw-r--r--gdb/arch-utils.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/gdb/arch-utils.c b/gdb/arch-utils.c
index 5cf4afd..b58c562 100644
--- a/gdb/arch-utils.c
+++ b/gdb/arch-utils.c
@@ -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)