aboutsummaryrefslogtreecommitdiff
path: root/gdb/mips-linux-tdep.c
diff options
context:
space:
mode:
authorAndreas Arnez <arnez@linux.vnet.ibm.com>2013-11-22 18:40:06 +0000
committerAndreas Krebbel <krebbel@linux.vnet.ibm.com>2014-05-21 17:49:16 +0200
commitb7195f2786ccb2b9aaa5a0f0232b1f6d43060aed (patch)
tree9ce64e76fc9134e10061ae62568b677723d98ce5 /gdb/mips-linux-tdep.c
parentecc37a5acc8ff504d62487149f61955343d35fcf (diff)
downloadgdb-b7195f2786ccb2b9aaa5a0f0232b1f6d43060aed.zip
gdb-b7195f2786ccb2b9aaa5a0f0232b1f6d43060aed.tar.gz
gdb-b7195f2786ccb2b9aaa5a0f0232b1f6d43060aed.tar.bz2
MIPS: 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/mips-linux-tdep.c')
-rw-r--r--gdb/mips-linux-tdep.c53
1 files changed, 24 insertions, 29 deletions
diff --git a/gdb/mips-linux-tdep.c b/gdb/mips-linux-tdep.c
index 61bea6c..a975db6 100644
--- a/gdb/mips-linux-tdep.c
+++ b/gdb/mips-linux-tdep.c
@@ -618,11 +618,30 @@ mips64_fill_fpregset_wrapper (const struct regset *regset,
mips64_fill_fpregset (regcache, (mips64_elf_fpregset_t *)gregs, regnum);
}
+static const struct regset mips_linux_gregset =
+ {
+ NULL, mips_supply_gregset_wrapper, mips_fill_gregset_wrapper
+ };
+
+static const struct regset mips64_linux_gregset =
+ {
+ NULL, mips64_supply_gregset_wrapper, mips64_fill_gregset_wrapper
+ };
+
+static const struct regset mips_linux_fpregset =
+ {
+ NULL, mips_supply_fpregset_wrapper, mips_fill_fpregset_wrapper
+ };
+
+static const struct regset mips64_linux_fpregset =
+ {
+ NULL, mips64_supply_fpregset_wrapper, mips64_fill_fpregset_wrapper
+ };
+
static const struct regset *
mips_linux_regset_from_core_section (struct gdbarch *gdbarch,
const char *sect_name, size_t sect_size)
{
- struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
mips_elf_gregset_t gregset;
mips_elf_fpregset_t fpregset;
mips64_elf_gregset_t gregset64;
@@ -631,21 +650,9 @@ mips_linux_regset_from_core_section (struct gdbarch *gdbarch,
if (strcmp (sect_name, ".reg") == 0)
{
if (sect_size == sizeof (gregset))
- {
- if (tdep->gregset == NULL)
- tdep->gregset = regset_alloc (gdbarch,
- mips_supply_gregset_wrapper,
- mips_fill_gregset_wrapper);
- return tdep->gregset;
- }
+ return &mips_linux_gregset;
else if (sect_size == sizeof (gregset64))
- {
- if (tdep->gregset64 == NULL)
- tdep->gregset64 = regset_alloc (gdbarch,
- mips64_supply_gregset_wrapper,
- mips64_fill_gregset_wrapper);
- return tdep->gregset64;
- }
+ return &mips64_linux_gregset;
else
{
warning (_("wrong size gregset struct in core file"));
@@ -654,21 +661,9 @@ mips_linux_regset_from_core_section (struct gdbarch *gdbarch,
else if (strcmp (sect_name, ".reg2") == 0)
{
if (sect_size == sizeof (fpregset))
- {
- if (tdep->fpregset == NULL)
- tdep->fpregset = regset_alloc (gdbarch,
- mips_supply_fpregset_wrapper,
- mips_fill_fpregset_wrapper);
- return tdep->fpregset;
- }
+ return &mips_linux_fpregset;
else if (sect_size == sizeof (fpregset64))
- {
- if (tdep->fpregset64 == NULL)
- tdep->fpregset64 = regset_alloc (gdbarch,
- mips64_supply_fpregset_wrapper,
- mips64_fill_fpregset_wrapper);
- return tdep->fpregset64;
- }
+ return &mips64_linux_fpregset;
else
{
warning (_("wrong size fpregset struct in core file"));