aboutsummaryrefslogtreecommitdiff
path: root/gdb/go32-nat.c
diff options
context:
space:
mode:
Diffstat (limited to 'gdb/go32-nat.c')
-rw-r--r--gdb/go32-nat.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/gdb/go32-nat.c b/gdb/go32-nat.c
index 6196ed7..095ff66 100644
--- a/gdb/go32-nat.c
+++ b/gdb/go32-nat.c
@@ -465,7 +465,7 @@ go32_wait (ptid_t ptid, struct target_waitstatus *status)
static void
fetch_register (struct regcache *regcache, int regno)
{
- if (regno < gdbarch_fp0_regnum (current_gdbarch))
+ if (regno < gdbarch_fp0_regnum (get_regcache_arch (regcache)))
regcache_raw_supply (regcache, regno,
(char *) &a_tss + regno_mapping[regno].tss_ofs);
else if (i386_fp_regnum_p (regno) || i386_fpc_regnum_p (regno))
@@ -482,7 +482,9 @@ go32_fetch_registers (struct regcache *regcache, int regno)
fetch_register (regcache, regno);
else
{
- for (regno = 0; regno < gdbarch_fp0_regnum (current_gdbarch); regno++)
+ for (regno = 0;
+ regno < gdbarch_fp0_regnum (get_regcache_arch (regcache));
+ regno++)
fetch_register (regcache, regno);
i387_supply_fsave (regcache, -1, &npx);
}
@@ -491,7 +493,7 @@ go32_fetch_registers (struct regcache *regcache, int regno)
static void
store_register (const struct regcache *regcache, int regno)
{
- if (regno < gdbarch_fp0_regnum (current_gdbarch))
+ if (regno < gdbarch_fp0_regnum (get_regcache_arch (regcache)))
regcache_raw_collect (regcache, regno,
(char *) &a_tss + regno_mapping[regno].tss_ofs);
else if (i386_fp_regnum_p (regno) || i386_fpc_regnum_p (regno))
@@ -510,7 +512,7 @@ go32_store_registers (struct regcache *regcache, int regno)
store_register (regcache, regno);
else
{
- for (r = 0; r < gdbarch_fp0_regnum (current_gdbarch); r++)
+ for (r = 0; r < gdbarch_fp0_regnum (get_regcache_arch (regcache)); r++)
store_register (regcache, r);
i387_collect_fsave (regcache, -1, &npx);
}