diff options
author | Andreas Arnez <arnez@linux.vnet.ibm.com> | 2014-03-28 17:21:39 +0000 |
---|---|---|
committer | Andreas Krebbel <krebbel@linux.vnet.ibm.com> | 2014-05-21 17:49:16 +0200 |
commit | b7611c43bf5dcdc84b4432fccef22247af11449e (patch) | |
tree | abf3db97aa7c9223314c5e3b56d7d206b0543fcb /gdb/arm-linux-tdep.c | |
parent | a069a2bdaba95561f9d930ff4ae4b4f60a43283e (diff) | |
download | gdb-b7611c43bf5dcdc84b4432fccef22247af11449e.zip gdb-b7611c43bf5dcdc84b4432fccef22247af11449e.tar.gz gdb-b7611c43bf5dcdc84b4432fccef22247af11449e.tar.bz2 |
ARM: Replace regset_alloc() invocations by static regset structures.
After removal of the regset_alloc invocations, the appropriate tdep
fields become obsolete and are thus removed.
Diffstat (limited to 'gdb/arm-linux-tdep.c')
-rw-r--r-- | gdb/arm-linux-tdep.c | 38 |
1 files changed, 18 insertions, 20 deletions
diff --git a/gdb/arm-linux-tdep.c b/gdb/arm-linux-tdep.c index 98b912b..028a95b 100644 --- a/gdb/arm-linux-tdep.c +++ b/gdb/arm-linux-tdep.c @@ -686,6 +686,21 @@ arm_linux_collect_vfp (const struct regset *regset, regs + (regno - ARM_D0_REGNUM) * 8); } +static const struct regset arm_linux_gregset = + { + NULL, arm_linux_supply_gregset, arm_linux_collect_gregset + }; + +static const struct regset arm_linux_fpregset = + { + NULL, arm_linux_supply_nwfpe, arm_linux_collect_nwfpe + }; + +static const struct regset arm_linux_vfpregset = + { + NULL, arm_linux_supply_vfp, arm_linux_collect_vfp + }; + /* Return the appropriate register set for the core section identified by SECT_NAME and SECT_SIZE. */ @@ -693,34 +708,17 @@ static const struct regset * arm_linux_regset_from_core_section (struct gdbarch *gdbarch, const char *sect_name, size_t sect_size) { - struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch); - if (strcmp (sect_name, ".reg") == 0 && sect_size == ARM_LINUX_SIZEOF_GREGSET) - { - if (tdep->gregset == NULL) - tdep->gregset = regset_alloc (gdbarch, arm_linux_supply_gregset, - arm_linux_collect_gregset); - return tdep->gregset; - } + return &arm_linux_gregset; if (strcmp (sect_name, ".reg2") == 0 && sect_size == ARM_LINUX_SIZEOF_NWFPE) - { - if (tdep->fpregset == NULL) - tdep->fpregset = regset_alloc (gdbarch, arm_linux_supply_nwfpe, - arm_linux_collect_nwfpe); - return tdep->fpregset; - } + return &arm_linux_fpregset; if (strcmp (sect_name, ".reg-arm-vfp") == 0 && sect_size == ARM_LINUX_SIZEOF_VFP) - { - if (tdep->vfpregset == NULL) - tdep->vfpregset = regset_alloc (gdbarch, arm_linux_supply_vfp, - arm_linux_collect_vfp); - return tdep->vfpregset; - } + return &arm_linux_vfpregset; return NULL; } |