This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
[rfc] [16/20] Get rid of current_gdbarch in hpux-thread.c
- From: Markus Deuling <deuling at de dot ibm dot com>
- To: GDB Patches <gdb-patches at sourceware dot org>
- Cc: Ulrich Weigand <uweigand at de dot ibm dot com>
- Date: Tue, 30 Oct 2007 10:55:05 +0100
- Subject: [rfc] [16/20] Get rid of current_gdbarch in hpux-thread.c
Hi,
this patch gets rid of some of the current_gdbarch's in hpux-thread.c
Is this ok to commit?
ChangeLog:
* hpux-thread.c (hpux_thread_fetch_registers)
(hpux_thread_store_registers): Use get_regcache_arch to get at the
current architecture by regcache.
--
Markus Deuling
GNU Toolchain for Linux on Cell BE
deuling@de.ibm.com
diff -urpN src/gdb/hpux-thread.c dev2/gdb/hpux-thread.c
--- src/gdb/hpux-thread.c 2007-08-23 20:08:34.000000000 +0200
+++ dev2/gdb/hpux-thread.c 2007-10-30 07:50:40.000000000 +0100
@@ -250,6 +250,7 @@ static char regmap[] =
static void
hpux_thread_fetch_registers (struct regcache *regcache, int regno)
{
+ struct gdbarch *gdbarch = get_regcache_arch (regcache);
cma__t_int_tcb tcb, *tcb_ptr;
struct cleanup *old_chain;
int i;
@@ -273,7 +274,7 @@ hpux_thread_fetch_registers (struct regc
if (regno == -1)
{
first_regno = 0;
- last_regno = gdbarch_num_regs (current_gdbarch) - 1;
+ last_regno = gdbarch_num_regs (gdbarch) - 1;
}
else
{
@@ -294,13 +295,14 @@ hpux_thread_fetch_registers (struct regc
if (regno == HPPA_FLAGS_REGNUM)
/* Flags must be 0 to avoid bogus value for SS_INSYSCALL */
- memset (buf, '\000', register_size (current_gdbarch, regno));
+ memset (buf, '\000', register_size (gdbarch, regno));
else if (regno == HPPA_SP_REGNUM)
store_unsigned_integer (buf, sizeof sp, sp);
else if (regno == HPPA_PCOQ_HEAD_REGNUM)
- read_memory (sp - 20, buf, register_size (current_gdbarch, regno));
+ read_memory (sp - 20, buf, register_size (gdbarch, regno));
else
- read_memory (sp + regmap[regno], buf, register_size (current_gdbarch, regno));
+ read_memory (sp + regmap[regno], buf,
+ register_size (gdbarch, regno));
regcache_raw_supply (regcache, regno, buf);
}
@@ -312,6 +314,7 @@ hpux_thread_fetch_registers (struct regc
static void
hpux_thread_store_registers (struct regcache *regcache, int regno)
{
+ struct gdbarch *gdbarch = get_regcache_arch (regcache);
cma__t_int_tcb tcb, *tcb_ptr;
struct cleanup *old_chain;
int i;
@@ -335,7 +338,7 @@ hpux_thread_store_registers (struct regc
if (regno == -1)
{
first_regno = 0;
- last_regno = gdbarch_num_regs (current_gdbarch) - 1;
+ last_regno = gdbarch_num_regs (gdbarch) - 1;
}
else
{
@@ -360,7 +363,7 @@ hpux_thread_store_registers (struct regc
{
regcache_raw_collect (regcache, regno, buf);
write_memory ((CORE_ADDR) &tcb_ptr->static_ctx.sp, buf,
- register_size (current_gdbarch, regno));
+ register_size (gdbarch, regno));
tcb_ptr->static_ctx.sp
= (cma__t_hppa_regs *) ((CORE_ADDR) buf + 160);
}
@@ -368,13 +371,13 @@ hpux_thread_store_registers (struct regc
{
regcache_raw_collect (regcache, regno, buf);
write_memory (sp - 20, buf,
- register_size (current_gdbarch, regno));
+ register_size (gdbarch, regno));
}
else
{
regcache_raw_collect (regcache, regno, buf);
write_memory (sp + regmap[regno], buf,
- register_size (current_gdbarch, regno));
+ register_size (gdbarch, regno));
}
}
}