aboutsummaryrefslogtreecommitdiff
path: root/gdb/arm-tdep.h
diff options
context:
space:
mode:
authorPawandeep Oza <ozapawandeep@sourceware.org>2012-03-27 15:46:33 +0000
committerPawandeep Oza <ozapawandeep@sourceware.org>2012-03-27 15:46:33 +0000
commit72508ac0bfe7aae764ddce41ea504e2377fecd1d (patch)
tree0b8823e5f04a0212a27e5cf8d622331d07999833 /gdb/arm-tdep.h
parent89e028e2efcfd30d822e94bd8a2b20e6064bdbab (diff)
downloadgdb-72508ac0bfe7aae764ddce41ea504e2377fecd1d.zip
gdb-72508ac0bfe7aae764ddce41ea504e2377fecd1d.tar.gz
gdb-72508ac0bfe7aae764ddce41ea504e2377fecd1d.tar.bz2
* arm-linux-tdep.c (arm_linux_init_abi): Call
set_gdbarch_process_record. Initialize `arm_swi_record' field. * arm-tdep.c (arm_process_record): New function. (deallocate_reg_mem): New function. (decode_insn): New function. (thumb_record_branch): New function. (thumb_record_ldm_stm_swi(): New function. (thumb_record_misc): New function. (thumb_record_ld_st_stack): New function. (thumb_record_ld_st_imm_offset): New function. (thumb_record_ld_st_reg_offset(): New function. (thumb_record_add_sub_cmp_mov): New function. (thumb_record_shift_add_sub): New function. (arm_record_coproc_data_proc): New function. (arm_record_coproc): New function. (arm_record_b_bl): New function. (arm_record_ld_st_multiple): New function. (arm_record_ld_st_reg_offset): New function. (arm_record_ld_st_imm_offset): New function. (arm_record_data_proc_imm): New function. (arm_record_data_proc_misc_ld_str): New function. (arm_record_extension_space): New function. (arm_record_strx): New function. (sbo_sbz): New function. (struct insn_decode_record): New structure for arm insn record. (REG_ALLOC): New macro for reg allocations. (MEM_ALLOC): New macro for memory allocations. * arm-tdep.h (struct gdbarch_tdep): New field 'arm_swi_record'
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 172fe74..8a334fb 100644
--- a/gdb/arm-tdep.h
+++ b/gdb/arm-tdep.h
@@ -200,6 +200,9 @@ struct gdbarch_tdep
/* Return the expected next PC if FRAME is stopped at a syscall
instruction. */
CORE_ADDR (*syscall_next_pc) (struct frame_info *frame);
+
+ /* Parse swi insn args, sycall record. */
+ int (*arm_swi_record) (struct regcache *regcache);
};
/* Structures used for displaced stepping. */
@@ -330,6 +333,8 @@ extern int arm_psr_thumb_bit (struct gdbarch *);
instruction? */
extern int arm_pc_is_thumb (struct gdbarch *, CORE_ADDR);
+extern int arm_process_record (struct gdbarch *gdbarch,
+ struct regcache *regcache, CORE_ADDR addr);
/* Functions exported from armbsd-tdep.h. */
/* Return the appropriate register set for the core section identified