aboutsummaryrefslogtreecommitdiff
path: root/gdb/ia64-linux-nat.c
diff options
context:
space:
mode:
authorUlrich Weigand <uweigand@de.ibm.com>2007-10-13 00:49:15 +0000
committerUlrich Weigand <uweigand@de.ibm.com>2007-10-13 00:49:15 +0000
commit2685572f6e11fbd387d4c6a3317373e65f42e7ff (patch)
treee1000cffe3d63692de765a37962c2641d9491e20 /gdb/ia64-linux-nat.c
parente041f13d5ac555c7485633dcd8288ebb6a67bf53 (diff)
* 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.c20
1 files changed, 10 insertions, 10 deletions
diff --git a/gdb/ia64-linux-nat.c b/gdb/ia64-linux-nat.c
index e4f1f7d3bd..6f308c06b2 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);