[PATCH 2/2] GDB process record and reverse debugging improvements for arm*-linux*
Yao Qi
yao@codesourcery.com
Thu Oct 24 02:32:00 GMT 2013
On 10/24/2013 08:09 AM, Omair Javaid wrote:
> +/* Record all registers but PC register for process-record. */
> +
> +static int
> +arm_all_but_pc_registers_record (struct regcache *regcache)
> +{
> + if (record_full_arch_list_add_reg (regcache, ARM_R0_REGNUM))
> + return -1;
> + if (record_full_arch_list_add_reg (regcache, ARM_R1_REGNUM))
> + return -1;
> + if (record_full_arch_list_add_reg (regcache, ARM_R2_REGNUM))
> + return -1;
> + if (record_full_arch_list_add_reg (regcache, ARM_R3_REGNUM))
> + return -1;
> + if (record_full_arch_list_add_reg (regcache, ARM_R4_REGNUM))
> + return -1;
> + if (record_full_arch_list_add_reg (regcache, ARM_R5_REGNUM))
> + return -1;
> + if (record_full_arch_list_add_reg (regcache, ARM_R6_REGNUM))
> + return -1;
> + if (record_full_arch_list_add_reg (regcache, ARM_R7_REGNUM))
> + return -1;
> + if (record_full_arch_list_add_reg (regcache, ARM_R8_REGNUM))
> + return -1;
> + if (record_full_arch_list_add_reg (regcache, ARM_R9_REGNUM))
> + return -1;
> + if (record_full_arch_list_add_reg (regcache, ARM_R10_REGNUM))
> + return -1;
> + if (record_full_arch_list_add_reg (regcache, ARM_R11_REGNUM))
> + return -1;
> + if (record_full_arch_list_add_reg (regcache, ARM_R12_REGNUM))
> + return -1;
> + if (record_full_arch_list_add_reg (regcache, ARM_R13_REGNUM))
> + return -1;
> + if (record_full_arch_list_add_reg (regcache, ARM_R14_REGNUM))
> + return -1;
> + if (record_full_arch_list_add_reg (regcache, ARM_PS_REGNUM))
> + return -1;
> +
> + return 0;
> +}
> +
Can't we use loop?
>
> /* Provide a prototype to silence -Wmissing-prototypes. */
> Index: gdb/arm-tdep.h
> ===================================================================
> RCS file: /cvs/src/src/gdb/arm-tdep.h,v
> retrieving revision 1.59
> diff -u -p -r1.59 arm-tdep.h
> --- gdb/arm-tdep.h 19 Apr 2013 15:09:45 -0000 1.59
> +++ gdb/arm-tdep.h 23 Oct 2013 23:10:11 -0000
> @@ -60,7 +60,24 @@ enum gdb_regnum {
> ARM_NUM_ARG_REGS = 4,
> ARM_LAST_ARG_REGNUM = ARM_A4_REGNUM,
> ARM_NUM_FP_ARG_REGS = 4,
> - ARM_LAST_FP_ARG_REGNUM = ARM_F3_REGNUM
> + ARM_LAST_FP_ARG_REGNUM = ARM_F3_REGNUM,
> +
> + /* GPRs register numbers in sequence. */
> + ARM_R0_REGNUM = ARM_A1_REGNUM,
> + ARM_R1_REGNUM = ARM_R0_REGNUM + 1,
> + ARM_R2_REGNUM = ARM_R1_REGNUM + 1,
> + ARM_R3_REGNUM = ARM_R2_REGNUM + 1,
> + ARM_R4_REGNUM = ARM_R3_REGNUM + 1,
> + ARM_R5_REGNUM = ARM_R4_REGNUM + 1,
> + ARM_R6_REGNUM = ARM_R5_REGNUM + 1,
> + ARM_R7_REGNUM = ARM_R6_REGNUM + 1,
> + ARM_R8_REGNUM = ARM_R7_REGNUM + 1,
> + ARM_R9_REGNUM = ARM_R8_REGNUM + 1,
> + ARM_R10_REGNUM = ARM_R9_REGNUM + 1,
> + ARM_R11_REGNUM = ARM_R10_REGNUM + 1,
> + ARM_R12_REGNUM = ARM_R11_REGNUM + 1,
> + ARM_R13_REGNUM = ARM_R12_REGNUM + 1,
> + ARM_R14_REGNUM = ARM_R13_REGNUM + 1
> };
... then these macro are not needed.
--
Yao (é½å°§)
More information about the Gdb-patches
mailing list