aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gdb/ChangeLog18
-rw-r--r--gdb/amd64-tdep.c6
-rw-r--r--gdb/amd64obsd-tdep.c3
-rw-r--r--gdb/i386-tdep.c12
-rw-r--r--gdb/i386obsd-tdep.c3
-rw-r--r--gdb/nios2-linux-tdep.c1
-rw-r--r--gdb/ppc-linux-tdep.c15
-rw-r--r--gdb/ppcfbsd-tdep.c6
-rw-r--r--gdb/regset.c1
-rw-r--r--gdb/regset.h3
10 files changed, 41 insertions, 27 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 38cd57c..d329143 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,5 +1,23 @@
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):
Constify structures.
* alphanbsd-tdep.c (alphanbsd_gregset, alphanbsd_fpregset)
diff --git a/gdb/amd64-tdep.c b/gdb/amd64-tdep.c
index 035b460..1b9797a 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 9446318..2cc0a0f 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 ecbf730..7d2363f 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 cf19c50..7d9ba93 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 d9a51a8..84ab576 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 5278a24..5410554 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 77292f3..28f5b7b 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 a56641f..1d19d34 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 fe804cc..f1a6e24 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