diff options
author | Ulrich Weigand <uweigand@de.ibm.com> | 2007-10-13 00:49:15 +0000 |
---|---|---|
committer | Ulrich Weigand <uweigand@de.ibm.com> | 2007-10-13 00:49:15 +0000 |
commit | 63e75a8373ad6236a4f89c573f7447eea457cf7e (patch) | |
tree | 3fb815d295e9bd93cfdc9effc84afc651dd92fd0 /gdb/ia64-linux-nat.c | |
parent | 777bdf5b968c8033660b0e3670b65355dacc5f4b (diff) | |
download | gdb-63e75a8373ad6236a4f89c573f7447eea457cf7e.tar.gz |
* ia64-linux-nat.c (ia64_register_addr): Add gdbarch parameter,
replacing use of global current_gdbarch.
(ia64_cannot_fetch_register, ia64_cannot_store_register): Likewise.
(ia64_linux_fetch_register, ia64_linux_store_register): Update callers.
* ia64-tdep.c (SIGCONTEXT_REGISTER_ADDRESS): Remove macro.
(ia64_sigtramp_frame_init_saved_regs): Add next_frame parameter,
replace uses of SIGCONTEXT_REGISTER_ADDRESS.
(ia64_sigtramp_frame_cache): Update caller.
Diffstat (limited to 'gdb/ia64-linux-nat.c')
-rw-r--r-- | gdb/ia64-linux-nat.c | 20 |
1 files changed, 10 insertions, 10 deletions
diff --git a/gdb/ia64-linux-nat.c b/gdb/ia64-linux-nat.c index e4f1f7d3bdb..6f308c06b28 100644 --- a/gdb/ia64-linux-nat.c +++ b/gdb/ia64-linux-nat.c @@ -302,11 +302,11 @@ static int u_offsets[] = }; static CORE_ADDR -ia64_register_addr (int regno) +ia64_register_addr (struct gdbarch *gdbarch, int regno) { CORE_ADDR addr; - if (regno < 0 || regno >= gdbarch_num_regs (current_gdbarch)) + if (regno < 0 || regno >= gdbarch_num_regs (gdbarch)) error (_("Invalid register number %d."), regno); if (u_offsets[regno] == -1) @@ -318,15 +318,15 @@ ia64_register_addr (int regno) } static int -ia64_cannot_fetch_register (int regno) +ia64_cannot_fetch_register (struct gdbarch *gdbarch, int regno) { return regno < 0 - || regno >= gdbarch_num_regs (current_gdbarch) + || regno >= gdbarch_num_regs (gdbarch) || u_offsets[regno] == -1; } static int -ia64_cannot_store_register (int regno) +ia64_cannot_store_register (struct gdbarch *gdbarch, int regno) { /* Rationale behind not permitting stores to bspstore... @@ -358,7 +358,7 @@ ia64_cannot_store_register (int regno) back.) */ return regno < 0 - || regno >= gdbarch_num_regs (current_gdbarch) + || regno >= gdbarch_num_regs (gdbarch) || u_offsets[regno] == -1 || regno == IA64_BSPSTORE_REGNUM; } @@ -680,7 +680,7 @@ ia64_linux_fetch_register (struct regcache *regcache, int regnum) PTRACE_TYPE_RET *buf; int pid, i; - if (ia64_cannot_fetch_register (regnum)) + if (ia64_cannot_fetch_register (gdbarch, regnum)) { regcache_raw_supply (regcache, regnum, NULL); return; @@ -693,7 +693,7 @@ ia64_linux_fetch_register (struct regcache *regcache, int regnum) pid = ptid_get_pid (inferior_ptid); /* This isn't really an address, but ptrace thinks of it as one. */ - addr = ia64_register_addr (regnum); + addr = ia64_register_addr (gdbarch, regnum); size = register_size (gdbarch, regnum); gdb_assert ((size % sizeof (PTRACE_TYPE_RET)) == 0); @@ -740,7 +740,7 @@ ia64_linux_store_register (const struct regcache *regcache, int regnum) PTRACE_TYPE_RET *buf; int pid, i; - if (ia64_cannot_store_register (regnum)) + if (ia64_cannot_store_register (gdbarch, regnum)) return; /* Cater for systems like GNU/Linux, that implement threads as @@ -750,7 +750,7 @@ ia64_linux_store_register (const struct regcache *regcache, int regnum) pid = ptid_get_pid (inferior_ptid); /* This isn't really an address, but ptrace thinks of it as one. */ - addr = ia64_register_addr (regnum); + addr = ia64_register_addr (gdbarch, regnum); size = register_size (gdbarch, regnum); gdb_assert ((size % sizeof (PTRACE_TYPE_RET)) == 0); |