summaryrefslogtreecommitdiff
path: root/gdb/ppcnbsd-nat.c
diff options
context:
space:
mode:
authorMarkus Deuling <deuling@de.ibm.com>2008-02-18 11:00:02 +0000
committerMarkus Deuling <deuling@de.ibm.com>2008-02-18 11:00:02 +0000
commit847a77a4de8124a280a1403bf556ff52f88ed581 (patch)
treea59d3aa8edcf463f2164544a8a784095e1ad9c36 /gdb/ppcnbsd-nat.c
parent0609a9c769e869c44b2dd495fd769302fdb66368 (diff)
downloadgdb-847a77a4de8124a280a1403bf556ff52f88ed581.tar.gz
* rs6000-nat.c (exec_one_dummy_insn, regmap): Add gdbarch as parameter
and replace current_gdbarch by gdbarch. (store_register): Update call for exec_one_dummy_insn. (fetch_register, store_register): Update call of regmap. * ppcnbsd-nat.c (getregs_supplies, getfpregs_supplies): Add gdbarch as parameter and replace current_gdbarch by gdbarch. (ppcnbsd_store_inferior_registers): Use get_regcache_arch to get at the current architecture. Update call for getregs_supplies and getfpregs_supplies. (ppcnbsd_fetch_inferior_registers): Likewise. * ppcobsd-nat.c (getfpregs_supplies): Add gdbarch as parameter and replace current_gdbarch by gdbarch. (ppcobsd_fetch_registers, ppcobsd_store_registers): Use get_regcache_arch to get at the current architecture. Update call for getfpregs_supplies.
Diffstat (limited to 'gdb/ppcnbsd-nat.c')
-rw-r--r--gdb/ppcnbsd-nat.c24
1 files changed, 14 insertions, 10 deletions
diff --git a/gdb/ppcnbsd-nat.c b/gdb/ppcnbsd-nat.c
index c14d8eddb50..9c851810a1c 100644
--- a/gdb/ppcnbsd-nat.c
+++ b/gdb/ppcnbsd-nat.c
@@ -41,9 +41,9 @@
/* Returns true if PT_GETREGS fetches this register. */
static int
-getregs_supplies (int regnum)
+getregs_supplies (struct gdbarch *gdbarch, int regnum)
{
- struct gdbarch_tdep *tdep = gdbarch_tdep (current_gdbarch);
+ struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
return ((regnum >= tdep->ppc_gp0_regnum
&& regnum < tdep->ppc_gp0_regnum + ppc_num_gprs)
@@ -51,15 +51,15 @@ getregs_supplies (int regnum)
|| regnum == tdep->ppc_cr_regnum
|| regnum == tdep->ppc_xer_regnum
|| regnum == tdep->ppc_ctr_regnum
- || regnum == gdbarch_pc_regnum (current_gdbarch));
+ || regnum == gdbarch_pc_regnum (gdbarch));
}
/* Like above, but for PT_GETFPREGS. */
static int
-getfpregs_supplies (int regnum)
+getfpregs_supplies (struct gdbarch *gdbarch, int regnum)
{
- struct gdbarch_tdep *tdep = gdbarch_tdep (current_gdbarch);
+ struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
/* FIXME: jimb/2004-05-05: Some PPC variants don't have floating
point registers. Traditionally, GDB's register set has still
@@ -71,7 +71,7 @@ getfpregs_supplies (int regnum)
It's not clear to me how best to update this code, so this assert
will alert the first person to encounter the NetBSD/E500
combination to the problem. */
- gdb_assert (ppc_floating_point_unit_p (current_gdbarch));
+ gdb_assert (ppc_floating_point_unit_p (gdbarch));
return ((regnum >= tdep->ppc_fp0_regnum
&& regnum < tdep->ppc_fp0_regnum + ppc_num_fprs)
@@ -81,7 +81,9 @@ getfpregs_supplies (int regnum)
static void
ppcnbsd_fetch_inferior_registers (struct regcache *regcache, int regnum)
{
- if (regnum == -1 || getregs_supplies (regnum))
+ struct gdbarch *gdbarch = get_regcache_arch (regcache);
+
+ if (regnum == -1 || getregs_supplies (gdbarch, regnum))
{
struct reg regs;
@@ -93,7 +95,7 @@ ppcnbsd_fetch_inferior_registers (struct regcache *regcache, int regnum)
regnum, &regs, sizeof regs);
}
- if (regnum == -1 || getfpregs_supplies (regnum))
+ if (regnum == -1 || getfpregs_supplies (gdbarch, regnum))
{
struct fpreg fpregs;
@@ -109,7 +111,9 @@ ppcnbsd_fetch_inferior_registers (struct regcache *regcache, int regnum)
static void
ppcnbsd_store_inferior_registers (struct regcache *regcache, int regnum)
{
- if (regnum == -1 || getregs_supplies (regnum))
+ struct gdbarch *gdbarch = get_regcache_arch (regcache);
+
+ if (regnum == -1 || getregs_supplies (gdbarch, regnum))
{
struct reg regs;
@@ -125,7 +129,7 @@ ppcnbsd_store_inferior_registers (struct regcache *regcache, int regnum)
perror_with_name (_("Couldn't write registers"));
}
- if (regnum == -1 || getfpregs_supplies (regnum))
+ if (regnum == -1 || getfpregs_supplies (gdbarch, regnum))
{
struct fpreg fpregs;