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, arm] Consistent display of registers in corefile


On 12/10/2010 07:37 AM, Yao Qi wrote:
> gdb/
> 	* arm-tdep.c (arm_register_reggroup_p): New.
> 	(arm_gdbarch_init): Set arm_register_reggroup_p for hook
> 	register_reggroup_p.

+static int
+arm_register_reggroup_p (struct gdbarch *gdbarch, int regnum,
+			  struct reggroup *group)
+{
+  /* FPS register's type is INT, but belongs to float_group.  */
+  if (regnum == ARM_FPS_REGNUM)
+    return (group == float_reggroup);

FPS belongs to float_reggroup, save_reggroup, and restore_reggroup, instead of float_reggroup only.


OK to apply?

+  else
+    return default_register_reggroup_p (gdbarch, regnum, group);
+}

-- Yao Qi
gdb/
	* arm-tdep.c (arm_register_reggroup_p): FPS register is in
	save_reggroup and restore_reggroup.

diff --git a/gdb/arm-tdep.c b/gdb/arm-tdep.c
index 9ec410d..d32b685 100644
--- a/gdb/arm-tdep.c
+++ b/gdb/arm-tdep.c
@@ -7234,9 +7234,12 @@ static int
 arm_register_reggroup_p (struct gdbarch *gdbarch, int regnum,
 			  struct reggroup *group)
 {
-  /* FPS register's type is INT, but belongs to float_group.  */
+  /* FPS register's type is INT, but belongs to float_reggroup,
+     save_regroup, and restore_reggroup.  */
   if (regnum == ARM_FPS_REGNUM)
-    return (group == float_reggroup);
+    return (group == float_reggroup
+	    || group == save_reggroup
+	    || group == restore_reggroup);
   else
     return default_register_reggroup_p (gdbarch, regnum, group);
 }

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