From 72508ac0bfe7aae764ddce41ea504e2377fecd1d Mon Sep 17 00:00:00 2001 From: Pawandeep Oza Date: Tue, 27 Mar 2012 15:46:33 +0000 Subject: * 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' --- gdb/arm-tdep.h | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'gdb/arm-tdep.h') 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 -- cgit v1.1