diff options
author | Andreas Arnez <arnez@linux.vnet.ibm.com> | 2013-11-22 18:40:06 +0000 |
---|---|---|
committer | Andreas Krebbel <krebbel@linux.vnet.ibm.com> | 2014-05-21 17:49:16 +0200 |
commit | b7195f2786ccb2b9aaa5a0f0232b1f6d43060aed (patch) | |
tree | 9ce64e76fc9134e10061ae62568b677723d98ce5 /gdb/mips-linux-tdep.c | |
parent | ecc37a5acc8ff504d62487149f61955343d35fcf (diff) | |
download | gdb-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.c | 53 |
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")); |