aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYao Qi <yao@codesourcery.com>2010-12-20 06:19:05 +0000
committerYao Qi <yao@codesourcery.com>2010-12-20 06:19:05 +0000
commit544838827cd5c8da5c67c1617a50ae08ec7661ff (patch)
treefc9e0536cfbe604d712506e89e3c8f369775db5d
parent7d8cb6628195812390787f33162a677f13272dec (diff)
downloadfsf-binutils-gdb-544838827cd5c8da5c67c1617a50ae08ec7661ff.zip
fsf-binutils-gdb-544838827cd5c8da5c67c1617a50ae08ec7661ff.tar.gz
fsf-binutils-gdb-544838827cd5c8da5c67c1617a50ae08ec7661ff.tar.bz2
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.
-rw-r--r--gdb/ChangeLog6
-rw-r--r--gdb/arm-tdep.c13
2 files changed, 19 insertions, 0 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index e2f996b..bc58b94 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -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.
diff --git a/gdb/arm-tdep.c b/gdb/arm-tdep.c
index 636c1de..0f38b6b 100644
--- a/gdb/arm-tdep.c
+++ b/gdb/arm-tdep.c
@@ -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);
+}
+
/* 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. */