2010-12-20 Yao Qi <yao@codesourcery.com>
authorYao Qi <yao@codesourcery.com>
Mon, 20 Dec 2010 06:19:05 +0000 (06:19 +0000)
committerYao Qi <yao@codesourcery.com>
Mon, 20 Dec 2010 06:19:05 +0000 (06:19 +0000)
* arm-tdep.c (arm_register_reggroup_p): New.
(arm_gdbarch_init): Set arm_register_reggroup_p for hook
register_reggroup_p.

gdb/ChangeLog
gdb/arm-tdep.c

index e2f996b..bc58b94 100644 (file)
@@ -1,5 +1,11 @@
 2010-12-20  Yao Qi  <yao@codesourcery.com>
 
+       * arm-tdep.c (arm_register_reggroup_p): New.
+       (arm_gdbarch_init): Set arm_register_reggroup_p for hook
+       register_reggroup_p.
+
+2010-12-20  Yao Qi  <yao@codesourcery.com>
+
        * features/arm-core.xml:  Add attribute type to reg from r0 to r12.
        * features/arm-with-iwmmxt.c: Regenerate.
        * features/arm-with-neon.c: Regenerate.
index 636c1de..0f38b6b 100644 (file)
@@ -29,6 +29,7 @@
 #include "gdb_string.h"
 #include "dis-asm.h"           /* For register styles. */
 #include "regcache.h"
+#include "reggroups.h"
 #include "doublest.h"
 #include "value.h"
 #include "arch-utils.h"
@@ -6998,6 +6999,17 @@ arm_elf_osabi_sniffer (bfd *abfd)
   return osabi;
 }
 
+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);
+  else
+    return default_register_reggroup_p (gdbarch, regnum, group);
+}
+
 \f
 /* Initialize the current architecture based on INFO.  If possible,
    re-use an architecture from ARCHES, which is a list of
@@ -7462,6 +7474,7 @@ arm_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
   set_gdbarch_pc_regnum (gdbarch, ARM_PC_REGNUM);
   set_gdbarch_num_regs (gdbarch, ARM_NUM_REGS);
   set_gdbarch_register_type (gdbarch, arm_register_type);
+  set_gdbarch_register_reggroup_p (gdbarch, arm_register_reggroup_p);
 
   /* This "info float" is FPA-specific.  Use the generic version if we
      do not have FPA.  */