diff options
author | Pawandeep Oza <ozapawandeep@sourceware.org> | 2012-03-27 15:46:33 +0000 |
---|---|---|
committer | Pawandeep Oza <ozapawandeep@sourceware.org> | 2012-03-27 15:46:33 +0000 |
commit | 72508ac0bfe7aae764ddce41ea504e2377fecd1d (patch) | |
tree | 0b8823e5f04a0212a27e5cf8d622331d07999833 /gdb/arm-tdep.h | |
parent | 89e028e2efcfd30d822e94bd8a2b20e6064bdbab (diff) | |
download | gdb-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.h | 5 |
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 |