This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH 2/2] GDB process record and reverse debugging improvements for arm*-linux*


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 (éå)


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]