summaryrefslogtreecommitdiff
path: root/gdb/i386-linux-nat.c
diff options
context:
space:
mode:
authorUlrich Weigand <uweigand@de.ibm.com>2007-10-09 18:18:50 +0000
committerUlrich Weigand <uweigand@de.ibm.com>2007-10-09 18:18:50 +0000
commit8a82c348884493328ba4b6464dff51e9ca17d21b (patch)
treefa9a9b80ca068195c422de19f2397f2d4b06c995 /gdb/i386-linux-nat.c
parent8e9f181fa3c0c06ff3eba51900cfa4d40785fcc4 (diff)
downloadgdb-8a82c348884493328ba4b6464dff51e9ca17d21b.tar.gz
2007-10-09 Markus Deuling <deuling@de.ibm.com>
* i386-linux-nat.c (fetch_register): Use get_regcache_arch to get at the current architecture by regcache. (store_register, supply_gregset, fill_gregset, i386_linux_resume) (i386_linux_fetch_inferior_registers) (i386_linux_store_inferior_registers): Likewise. * i386gnu-nat.c (gnu_fetch_registers, gnu_store_registers): Likewise. * i386-nto-tdep.c (i386nto_supply_gregset): Likewise. * i386v4-nat.c (supply_fpregset, fill_fpregset): Likewise. * i386-tdep.c (i386_unwind_pc): Replace current_gdbarch by gdbarch. (i386_extract_return_value, i386_store_return_value): Likewise. * i386-tdep.c (i386_frame_prev_register): Use get_frame_arch to get at the current architecture by frame_info. (i386_sigtramp_frame_cache, i386_get_longjmp_target) (i386_register_to_value, i386_value_to_register): Likewise.
Diffstat (limited to 'gdb/i386-linux-nat.c')
-rw-r--r--gdb/i386-linux-nat.c18
1 files changed, 10 insertions, 8 deletions
diff --git a/gdb/i386-linux-nat.c b/gdb/i386-linux-nat.c
index 2447ecb76a2..5a5cf8d328c 100644
--- a/gdb/i386-linux-nat.c
+++ b/gdb/i386-linux-nat.c
@@ -161,7 +161,7 @@ fetch_register (struct regcache *regcache, int regno)
val = ptrace (PTRACE_PEEKUSER, tid, 4 * regmap[regno], 0);
if (errno != 0)
error (_("Couldn't read register %s (#%d): %s."),
- gdbarch_register_name (current_gdbarch, regno),
+ gdbarch_register_name (get_regcache_arch (regcache), regno),
regno, safe_strerror (errno));
regcache_raw_supply (regcache, regno, &val);
@@ -189,7 +189,7 @@ store_register (const struct regcache *regcache, int regno)
ptrace (PTRACE_POKEUSER, tid, 4 * regmap[regno], val);
if (errno != 0)
error (_("Couldn't write register %s (#%d): %s."),
- gdbarch_register_name (current_gdbarch, regno),
+ gdbarch_register_name (get_regcache_arch (regcache), regno),
regno, safe_strerror (errno));
}
@@ -209,7 +209,8 @@ supply_gregset (struct regcache *regcache, const elf_gregset_t *gregsetp)
for (i = 0; i < I386_NUM_GREGS; i++)
regcache_raw_supply (regcache, i, regp + regmap[i]);
- if (I386_LINUX_ORIG_EAX_REGNUM < gdbarch_num_regs (current_gdbarch))
+ if (I386_LINUX_ORIG_EAX_REGNUM
+ < gdbarch_num_regs (get_regcache_arch (regcache)))
regcache_raw_supply (regcache, I386_LINUX_ORIG_EAX_REGNUM,
regp + ORIG_EAX);
}
@@ -230,7 +231,8 @@ fill_gregset (const struct regcache *regcache,
regcache_raw_collect (regcache, i, regp + regmap[i]);
if ((regno == -1 || regno == I386_LINUX_ORIG_EAX_REGNUM)
- && I386_LINUX_ORIG_EAX_REGNUM < gdbarch_num_regs (current_gdbarch))
+ && I386_LINUX_ORIG_EAX_REGNUM
+ < gdbarch_num_regs (get_regcache_arch (regcache)))
regcache_raw_collect (regcache, I386_LINUX_ORIG_EAX_REGNUM,
regp + ORIG_EAX);
}
@@ -458,7 +460,7 @@ i386_linux_fetch_inferior_registers (struct regcache *regcache, int regno)
{
int i;
- for (i = 0; i < gdbarch_num_regs (current_gdbarch); i++)
+ for (i = 0; i < gdbarch_num_regs (get_regcache_arch (regcache)); i++)
if (regno == -1 || regno == i)
fetch_register (regcache, i);
@@ -530,7 +532,7 @@ i386_linux_store_inferior_registers (struct regcache *regcache, int regno)
{
int i;
- for (i = 0; i < gdbarch_num_regs (current_gdbarch); i++)
+ for (i = 0; i < gdbarch_num_regs (get_regcache_arch (regcache)); i++)
if (regno == -1 || regno == i)
store_register (regcache, i);
@@ -756,8 +758,8 @@ i386_linux_resume (ptid_t ptid, int step, enum target_signal signal)
request = PTRACE_SINGLESTEP;
- regcache_cooked_read_unsigned (regcache,
- gdbarch_pc_regnum (current_gdbarch), &pc);
+ regcache_cooked_read_unsigned
+ (regcache, gdbarch_pc_regnum (get_regcache_arch (regcache)), &pc);
/* Returning from a signal trampoline is done by calling a
special system call (sigreturn or rt_sigreturn, see