mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2024-11-27 03:54:41 +08:00
Remove 'arch' field from regset structure.
Removes the 'arch' field from the regset structure, since it represents the only "dynamic" data in a regset. It was referenced in some regset supply- and collect routines, to get access to the gdbarch associated with the regset. Naturally, the affected routines always have access to the regcache to be supplied to or collected from. Thus the gdbarch associated with that regcache can be used instead.
This commit is contained in:
parent
3ca7dae4dd
commit
09424cff8c
@ -1,3 +1,21 @@
|
||||
2014-05-21 Andreas Arnez <arnez@linux.vnet.ibm.com>
|
||||
|
||||
* regset.h (struct regset): Remove gdbarch field.
|
||||
* regset.c (regset_alloc): Drop initialization of gdbarch field.
|
||||
* nios2-linux-tdep.c (nios2_core_regset): Likewise.
|
||||
* ppcfbsd-tdep.c (ppc32_fbsd_gregset, ppc64_fbsd_gregset):
|
||||
Likewise.
|
||||
* ppc-linux-tdep.c (ppc32_linux_gregset, ppc64_linux_gregset)
|
||||
(ppc32_linux_fpregset, ppc32_linux_vrregset)
|
||||
(ppc32_linux_vsxregset): Likewise.
|
||||
* i386obsd-tdep.c (i386obsd_aout_supply_regset): Get the gdbarch
|
||||
via the regcache instead of the regset.
|
||||
* i386-tdep.c (i386_supply_gregset, i386_collect_gregset)
|
||||
(i386_supply_fpregset, i386_collect_fpregset): Likewise.
|
||||
* amd64obsd-tdep.c (amd64obsd_supply_regset): Likewise.
|
||||
* amd64-tdep.c (amd64_supply_fpregset, amd64_collect_fpregset):
|
||||
Likewise.
|
||||
|
||||
2014-05-21 Andreas Arnez <arnez@linux.vnet.ibm.com>
|
||||
|
||||
* alpha-linux-tdep.c (alpha_linux_gregset, alpha_linux_fpregset):
|
||||
|
@ -2842,7 +2842,8 @@ static void
|
||||
amd64_supply_fpregset (const struct regset *regset, struct regcache *regcache,
|
||||
int regnum, const void *fpregs, size_t len)
|
||||
{
|
||||
const struct gdbarch_tdep *tdep = gdbarch_tdep (regset->arch);
|
||||
struct gdbarch *gdbarch = get_regcache_arch (regcache);
|
||||
const struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
|
||||
|
||||
gdb_assert (len == tdep->sizeof_fpregset);
|
||||
amd64_supply_fxsave (regcache, regnum, fpregs);
|
||||
@ -2858,7 +2859,8 @@ amd64_collect_fpregset (const struct regset *regset,
|
||||
const struct regcache *regcache,
|
||||
int regnum, void *fpregs, size_t len)
|
||||
{
|
||||
const struct gdbarch_tdep *tdep = gdbarch_tdep (regset->arch);
|
||||
struct gdbarch *gdbarch = get_regcache_arch (regcache);
|
||||
const struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
|
||||
|
||||
gdb_assert (len == tdep->sizeof_fpregset);
|
||||
amd64_collect_fxsave (regcache, regnum, fpregs);
|
||||
|
@ -45,7 +45,8 @@ amd64obsd_supply_regset (const struct regset *regset,
|
||||
struct regcache *regcache, int regnum,
|
||||
const void *regs, size_t len)
|
||||
{
|
||||
const struct gdbarch_tdep *tdep = gdbarch_tdep (regset->arch);
|
||||
struct gdbarch *gdbarch = get_regcache_arch (regcache);
|
||||
const struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
|
||||
|
||||
gdb_assert (len >= tdep->sizeof_gregset + I387_SIZEOF_FXSAVE);
|
||||
|
||||
|
@ -3724,7 +3724,8 @@ void
|
||||
i386_supply_gregset (const struct regset *regset, struct regcache *regcache,
|
||||
int regnum, const void *gregs, size_t len)
|
||||
{
|
||||
const struct gdbarch_tdep *tdep = gdbarch_tdep (regset->arch);
|
||||
struct gdbarch *gdbarch = get_regcache_arch (regcache);
|
||||
const struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
|
||||
const gdb_byte *regs = gregs;
|
||||
int i;
|
||||
|
||||
@ -3748,7 +3749,8 @@ i386_collect_gregset (const struct regset *regset,
|
||||
const struct regcache *regcache,
|
||||
int regnum, void *gregs, size_t len)
|
||||
{
|
||||
const struct gdbarch_tdep *tdep = gdbarch_tdep (regset->arch);
|
||||
struct gdbarch *gdbarch = get_regcache_arch (regcache);
|
||||
const struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
|
||||
gdb_byte *regs = gregs;
|
||||
int i;
|
||||
|
||||
@ -3770,7 +3772,8 @@ static void
|
||||
i386_supply_fpregset (const struct regset *regset, struct regcache *regcache,
|
||||
int regnum, const void *fpregs, size_t len)
|
||||
{
|
||||
const struct gdbarch_tdep *tdep = gdbarch_tdep (regset->arch);
|
||||
struct gdbarch *gdbarch = get_regcache_arch (regcache);
|
||||
const struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
|
||||
|
||||
if (len == I387_SIZEOF_FXSAVE)
|
||||
{
|
||||
@ -3792,7 +3795,8 @@ i386_collect_fpregset (const struct regset *regset,
|
||||
const struct regcache *regcache,
|
||||
int regnum, void *fpregs, size_t len)
|
||||
{
|
||||
const struct gdbarch_tdep *tdep = gdbarch_tdep (regset->arch);
|
||||
struct gdbarch *gdbarch = get_regcache_arch (regcache);
|
||||
const struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
|
||||
|
||||
if (len == I387_SIZEOF_FXSAVE)
|
||||
{
|
||||
|
@ -142,7 +142,8 @@ i386obsd_aout_supply_regset (const struct regset *regset,
|
||||
struct regcache *regcache, int regnum,
|
||||
const void *regs, size_t len)
|
||||
{
|
||||
const struct gdbarch_tdep *tdep = gdbarch_tdep (regset->arch);
|
||||
struct gdbarch *gdbarch = get_regcache_arch (regcache);
|
||||
const struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
|
||||
const gdb_byte *gregs = regs;
|
||||
|
||||
gdb_assert (len >= tdep->sizeof_gregset + I387_SIZEOF_FSAVE);
|
||||
|
@ -78,7 +78,6 @@ static const struct regset nios2_core_regset =
|
||||
NULL,
|
||||
nios2_supply_gregset,
|
||||
NULL,
|
||||
NULL
|
||||
};
|
||||
|
||||
/* Implement the regset_from_core_section gdbarch method. */
|
||||
|
@ -498,36 +498,31 @@ static const struct ppc_reg_offsets ppc64_linux_reg_offsets =
|
||||
static const struct regset ppc32_linux_gregset = {
|
||||
&ppc32_linux_reg_offsets,
|
||||
ppc_linux_supply_gregset,
|
||||
ppc_linux_collect_gregset,
|
||||
NULL
|
||||
ppc_linux_collect_gregset
|
||||
};
|
||||
|
||||
static const struct regset ppc64_linux_gregset = {
|
||||
&ppc64_linux_reg_offsets,
|
||||
ppc_linux_supply_gregset,
|
||||
ppc_linux_collect_gregset,
|
||||
NULL
|
||||
ppc_linux_collect_gregset
|
||||
};
|
||||
|
||||
static const struct regset ppc32_linux_fpregset = {
|
||||
&ppc32_linux_reg_offsets,
|
||||
ppc_supply_fpregset,
|
||||
ppc_collect_fpregset,
|
||||
NULL
|
||||
ppc_collect_fpregset
|
||||
};
|
||||
|
||||
static const struct regset ppc32_linux_vrregset = {
|
||||
&ppc32_linux_reg_offsets,
|
||||
ppc_supply_vrregset,
|
||||
ppc_collect_vrregset,
|
||||
NULL
|
||||
ppc_collect_vrregset
|
||||
};
|
||||
|
||||
static const struct regset ppc32_linux_vsxregset = {
|
||||
&ppc32_linux_reg_offsets,
|
||||
ppc_supply_vsxregset,
|
||||
ppc_collect_vsxregset,
|
||||
NULL
|
||||
ppc_collect_vsxregset
|
||||
};
|
||||
|
||||
const struct regset *
|
||||
|
@ -100,8 +100,7 @@ static const struct ppc_reg_offsets ppc64_fbsd_reg_offsets =
|
||||
static const struct regset ppc32_fbsd_gregset = {
|
||||
&ppc32_fbsd_reg_offsets,
|
||||
ppc_supply_gregset,
|
||||
ppc_collect_gregset,
|
||||
NULL
|
||||
ppc_collect_gregset
|
||||
};
|
||||
|
||||
/* 64-bit general-purpose register set. */
|
||||
@ -109,8 +108,7 @@ static const struct regset ppc32_fbsd_gregset = {
|
||||
static const struct regset ppc64_fbsd_gregset = {
|
||||
&ppc64_fbsd_reg_offsets,
|
||||
ppc_supply_gregset,
|
||||
ppc_collect_gregset,
|
||||
NULL
|
||||
ppc_collect_gregset
|
||||
};
|
||||
|
||||
/* 32-/64-bit floating-point register set. */
|
||||
|
@ -36,7 +36,6 @@ regset_alloc (struct gdbarch *arch,
|
||||
{
|
||||
struct regset *regset = GDBARCH_OBSTACK_ZALLOC (arch, struct regset);
|
||||
|
||||
regset->arch = arch;
|
||||
regset->supply_regset = supply_regset;
|
||||
regset->collect_regset = collect_regset;
|
||||
|
||||
|
@ -50,9 +50,6 @@ struct regset
|
||||
|
||||
/* Function collecting values in a register set from a register cache. */
|
||||
collect_regset_ftype *collect_regset;
|
||||
|
||||
/* Architecture associated with the register set. */
|
||||
struct gdbarch *arch;
|
||||
};
|
||||
|
||||
/* Allocate a fresh 'struct regset' whose supply_regset function is
|
||||
|
Loading…
Reference in New Issue
Block a user