mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-08-05 21:50:21 +08:00
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.
This commit is contained in:

committed by
Andreas Krebbel

parent
ecc37a5acc
commit
b7195f2786
@ -1,3 +1,15 @@
|
||||
2014-05-21 Andreas Arnez <arnez@linux.vnet.ibm.com>
|
||||
|
||||
* mips-linux-tdep.c (mips_linux_gregset, mips64_linux_gregset)
|
||||
(mips_linux_fpregset, mips64_linux_fpregset): New static regset
|
||||
structures.
|
||||
(mips_linux_regset_from_core_section): Remove dynamic regset
|
||||
allocations.
|
||||
* mips-tdep.h (struct gdbarch_tdep): Remove fields 'gregset',
|
||||
'gregset64', 'fpregset', and 'fpregset64'.
|
||||
* mips-tdep.c (mips_gdbarch_init): Remove initialization of
|
||||
deleted tdep fields.
|
||||
|
||||
2014-05-21 Andreas Arnez <arnez@linux.vnet.ibm.com>
|
||||
|
||||
* amd64-tdep.c (amd64_fpregset, amd64_xstateregset): New static
|
||||
|
@ -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"));
|
||||
|
@ -8327,10 +8327,6 @@ mips_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
|
||||
tdep->mips_fpu_type = fpu_type;
|
||||
tdep->register_size_valid_p = 0;
|
||||
tdep->register_size = 0;
|
||||
tdep->gregset = NULL;
|
||||
tdep->gregset64 = NULL;
|
||||
tdep->fpregset = NULL;
|
||||
tdep->fpregset64 = NULL;
|
||||
|
||||
if (info.target_desc)
|
||||
{
|
||||
|
@ -109,14 +109,6 @@ struct gdbarch_tdep
|
||||
int register_size_valid_p;
|
||||
int register_size;
|
||||
|
||||
/* General-purpose registers. */
|
||||
struct regset *gregset;
|
||||
struct regset *gregset64;
|
||||
|
||||
/* Floating-point registers. */
|
||||
struct regset *fpregset;
|
||||
struct regset *fpregset64;
|
||||
|
||||
/* Return the expected next PC if FRAME is stopped at a syscall
|
||||
instruction. */
|
||||
CORE_ADDR (*syscall_next_pc) (struct frame_info *frame);
|
||||
|
Reference in New Issue
Block a user