diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 38cd57c5783..d329143898d 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,21 @@ +2014-05-21 Andreas Arnez + + * 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 * alpha-linux-tdep.c (alpha_linux_gregset, alpha_linux_fpregset): diff --git a/gdb/amd64-tdep.c b/gdb/amd64-tdep.c index 035b460afa1..1b9797a29a5 100644 --- a/gdb/amd64-tdep.c +++ b/gdb/amd64-tdep.c @@ -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); diff --git a/gdb/amd64obsd-tdep.c b/gdb/amd64obsd-tdep.c index 94463180b48..2cc0a0f2542 100644 --- a/gdb/amd64obsd-tdep.c +++ b/gdb/amd64obsd-tdep.c @@ -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); diff --git a/gdb/i386-tdep.c b/gdb/i386-tdep.c index ecbf7305d7a..7d2363fd9b6 100644 --- a/gdb/i386-tdep.c +++ b/gdb/i386-tdep.c @@ -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) { diff --git a/gdb/i386obsd-tdep.c b/gdb/i386obsd-tdep.c index cf19c5007b1..7d9ba930ec0 100644 --- a/gdb/i386obsd-tdep.c +++ b/gdb/i386obsd-tdep.c @@ -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); diff --git a/gdb/nios2-linux-tdep.c b/gdb/nios2-linux-tdep.c index d9a51a85494..84ab576205b 100644 --- a/gdb/nios2-linux-tdep.c +++ b/gdb/nios2-linux-tdep.c @@ -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. */ diff --git a/gdb/ppc-linux-tdep.c b/gdb/ppc-linux-tdep.c index 5278a24fd0f..54105545373 100644 --- a/gdb/ppc-linux-tdep.c +++ b/gdb/ppc-linux-tdep.c @@ -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 * diff --git a/gdb/ppcfbsd-tdep.c b/gdb/ppcfbsd-tdep.c index 77292f375e4..28f5b7bf82b 100644 --- a/gdb/ppcfbsd-tdep.c +++ b/gdb/ppcfbsd-tdep.c @@ -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. */ diff --git a/gdb/regset.c b/gdb/regset.c index a56641f1ca0..1d19d3431a4 100644 --- a/gdb/regset.c +++ b/gdb/regset.c @@ -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; diff --git a/gdb/regset.h b/gdb/regset.h index fe804cc295d..f1a6e241d96 100644 --- a/gdb/regset.h +++ b/gdb/regset.h @@ -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