From 544838827cd5c8da5c67c1617a50ae08ec7661ff Mon Sep 17 00:00:00 2001 From: Yao Qi Date: Mon, 20 Dec 2010 06:19:05 +0000 Subject: [PATCH] 2010-12-20 Yao Qi * arm-tdep.c (arm_register_reggroup_p): New. (arm_gdbarch_init): Set arm_register_reggroup_p for hook register_reggroup_p. --- gdb/ChangeLog | 6 ++++++ gdb/arm-tdep.c | 13 +++++++++++++ 2 files changed, 19 insertions(+) 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 + * 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 + * 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. */ -- 2.7.4