gdb: ARM: Adds support for recording system call instructions

gdb/ChangeLog:

2014-01-15  Omair Javaid  <omair.javaid@linaro.org>

	* arm-linux-tdep.c: Include "record-full.h" and "linux-record.h".
	(struct arm_linux_record_tdep): Declare.
	(arm_canonicalize_syscall): New function.
	(arm_all_but_pc_registers_record): New function.
	(arm_linux_syscall_record): New function.
	(arm_linux_init_abi): Add syscall recording constructs.
	* arm-tdep.c (thumb_record_ldm_stm_swi): Update thumb syscall
	decoding.  (arm_record_coproc_data_proc): Update arm syscall
	decoding.
	* arm-tdep.h (struct gdbarch_tdep) <arm_swi_record>: Remove.
	<arm_syscall_record>: New field.
	* configure.tgt (arm*-*-linux*): Add linux-record.o to
	gdb_target_obs.
This commit is contained in:
Omair Javaid
2014-01-09 15:49:27 +05:00
committed by Will Newton
parent 9904a494c1
commit 97dfe20617
5 changed files with 298 additions and 24 deletions

View File

@@ -205,8 +205,8 @@ struct gdbarch_tdep
instruction. */
CORE_ADDR (*syscall_next_pc) (struct frame_info *frame);
/* Parse swi insn args, sycall record. */
int (*arm_swi_record) (struct regcache *regcache);
/* syscall record. */
int (*arm_syscall_record) (struct regcache *regcache, unsigned long svc_number);
};
/* Structures used for displaced stepping. */