[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