diff options
Diffstat (limited to 'gdb/go32-nat.c')
-rw-r--r-- | gdb/go32-nat.c | 10 |
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); } |