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 | 2685572f6e11fbd387d4c6a3317373e65f42e7ff (patch) | |
tree | e1000cffe3d63692de765a37962c2641d9491e20 /gdb/ia64-linux-nat.c | |
parent | e041f13d5ac555c7485633dcd8288ebb6a67bf53 (diff) | |
download | gdb-2685572f6e11fbd387d4c6a3317373e65f42e7ff.zip gdb-2685572f6e11fbd387d4c6a3317373e65f42e7ff.tar.gz gdb-2685572f6e11fbd387d4c6a3317373e65f42e7ff.tar.bz2 |
* 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 e4f1f7d..6f308c0 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); |