mirror of
https://github.com/darlinghq/darling-gdb.git
synced 2025-02-03 15:42:52 +00:00
* 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'
This commit is contained in:
parent
89e028e2ef
commit
72508ac0bf
@ -1,3 +1,37 @@
|
||||
2012-03-27 Oza Pawandeep <oza.pawandeep@gmail.com>
|
||||
|
||||
* 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'
|
||||
|
||||
2012-03-27 Andreas Schwab <schwab@linux-m68k.org>
|
||||
|
||||
* m68klinux-nat.c (fetch_register): Fix strict-aliasing violation.
|
||||
|
4
gdb/NEWS
4
gdb/NEWS
@ -3,6 +3,10 @@
|
||||
|
||||
*** Changes since GDB 7.4
|
||||
|
||||
* GDB now supports reversible debugging on ARM, it allows you to
|
||||
debug basic ARM and THUMB instructions, and provides
|
||||
record/replay support.
|
||||
|
||||
* The option "symbol-reloading" has been deleted as it is no longer used.
|
||||
|
||||
* Python scripting
|
||||
|
@ -1155,8 +1155,13 @@ arm_linux_init_abi (struct gdbarch_info info,
|
||||
simple_displaced_step_free_closure);
|
||||
set_gdbarch_displaced_step_location (gdbarch, displaced_step_at_entry_point);
|
||||
|
||||
/* Reversible debugging, process record. */
|
||||
set_gdbarch_process_record (gdbarch, arm_process_record);
|
||||
|
||||
tdep->syscall_next_pc = arm_linux_syscall_next_pc;
|
||||
|
||||
/* Syscall record. */
|
||||
tdep->arm_swi_record = NULL;
|
||||
}
|
||||
|
||||
/* Provide a prototype to silence -Wmissing-prototypes. */
|
||||
|
2061
gdb/arm-tdep.c
2061
gdb/arm-tdep.c
File diff suppressed because it is too large
Load Diff
@ -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
|
||||
|
Loading…
x
Reference in New Issue
Block a user