aboutsummaryrefslogtreecommitdiff
path: root/gdb/arm-tdep.h
diff options
context:
space:
mode:
authorYao Qi <yao@codesourcery.com>2010-08-30 15:26:28 +0000
committerYao Qi <yao@codesourcery.com>2010-08-30 15:26:28 +0000
commit25b41d01eaa6f8f68491ef2eb65ca403907269f7 (patch)
treea14669ff0fd05c2310996f7fb51fd2beaa740599 /gdb/arm-tdep.h
parenteb34ac7a77ac46a9ddde8c67914c2f4e584429dc (diff)
downloadgdb-25b41d01eaa6f8f68491ef2eb65ca403907269f7.zip
gdb-25b41d01eaa6f8f68491ef2eb65ca403907269f7.tar.gz
gdb-25b41d01eaa6f8f68491ef2eb65ca403907269f7.tar.bz2
2010-08-30 Yao Qi <yao@codesourcery.com>
* arm-linux-tdep.c (arm_linux_sigreturn_return_addr): New. (arm_linux_syscall_next_pc): New. (arm_linux_copy_svc): Use arm_linux_sigreturn_return_addr instead. (arm_linux_init_abi): Initialize syscall_next_pc. * arm-tdep.c (thumb_get_next_pc_raw): Get next pc of SWI in Thumb mode. (arm_get_next_pc_raw): Get next pc of SWI in ARM mode. * arm-tdep.h (struct gdbarch_tdep): Add a function pointer syscall_next_pc. Declare arm_frame_is_thumb.
Diffstat (limited to 'gdb/arm-tdep.h')
-rw-r--r--gdb/arm-tdep.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/gdb/arm-tdep.h b/gdb/arm-tdep.h
index 87387aa..61cdb5d 100644
--- a/gdb/arm-tdep.h
+++ b/gdb/arm-tdep.h
@@ -196,6 +196,10 @@ struct gdbarch_tdep
struct type *arm_ext_type;
struct type *neon_double_type;
struct type *neon_quad_type;
+
+ /* Return the expected next PC if FRAME is stopped at a syscall
+ instruction. */
+ CORE_ADDR (*syscall_next_pc) (struct frame_info *frame);
};
/* Structures used for displaced stepping. */
@@ -297,6 +301,7 @@ extern void
CORE_ADDR arm_skip_stub (struct frame_info *, CORE_ADDR);
CORE_ADDR arm_get_next_pc (struct frame_info *, CORE_ADDR);
int arm_software_single_step (struct frame_info *);
+int arm_frame_is_thumb (struct frame_info *frame);
extern struct displaced_step_closure *
arm_displaced_step_copy_insn (struct gdbarch *, CORE_ADDR, CORE_ADDR,