This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
[rfc] [05/20] Get rid of current_gdbarch in armnbsd-nat.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:54:16 +0100
- Subject: [rfc] [05/20] Get rid of current_gdbarch in armnbsd-nat.c
Hi,
this patch gets rid of some of the current_gdbarch's in armnbsd-nat.c
Is this ok to commit?
ChangeLog:
* armnbsd-nat.c (arm_supply_gregset, fetch_register, store_register)
(store_regs): 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/armnbsd-nat.c dev/gdb/armnbsd-nat.c
--- src/gdb/armnbsd-nat.c 2007-08-23 20:08:26.000000000 +0200
+++ dev/gdb/armnbsd-nat.c 2007-10-30 06:11:21.000000000 +0100
@@ -50,7 +50,7 @@ arm_supply_gregset (struct regcache *reg
regcache_raw_supply (regcache, ARM_LR_REGNUM,
(char *) &gregset->r_lr);
/* This is ok: we're running native... */
- r_pc = gdbarch_addr_bits_remove (current_gdbarch, gregset->r_pc);
+ r_pc = gdbarch_addr_bits_remove (get_regcache_arch (regcache), gregset->r_pc);
regcache_raw_supply (regcache, ARM_PC_REGNUM, (char *) &r_pc);
if (arm_apcs_32)
@@ -104,7 +104,8 @@ fetch_register (struct regcache *regcach
case ARM_PC_REGNUM:
/* This is ok: we're running native... */
inferior_registers.r_pc = gdbarch_addr_bits_remove
- (current_gdbarch, inferior_registers.r_pc);
+ (get_regcache_arch (regcache),
+ inferior_registers.r_pc);
regcache_raw_supply (regcache, ARM_PC_REGNUM,
(char *) &inferior_registers.r_pc);
break;
@@ -213,6 +214,7 @@ armnbsd_fetch_registers (struct regcache
static void
store_register (const struct regcache *regcache, int regno)
{
+ struct gdbarch *gdbarch = get_regcache_arch (regcache);
struct reg inferior_registers;
int ret;
@@ -248,10 +250,9 @@ store_register (const struct regcache *r
regcache_raw_collect (regcache, ARM_PC_REGNUM,
(char *) &pc_val);
- pc_val = gdbarch_addr_bits_remove (current_gdbarch, pc_val);
+ pc_val = gdbarch_addr_bits_remove (gdbarch, pc_val);
inferior_registers.r_pc ^= gdbarch_addr_bits_remove
- (current_gdbarch,
- inferior_registers.r_pc);
+ (gdbarch, inferior_registers.r_pc);
inferior_registers.r_pc |= pc_val;
}
break;
@@ -267,10 +268,9 @@ store_register (const struct regcache *r
regcache_raw_collect (regcache, ARM_PS_REGNUM,
(char *) &psr_val);
- psr_val ^= gdbarch_addr_bits_remove (current_gdbarch, psr_val);
+ psr_val ^= gdbarch_addr_bits_remove (gdbarch, psr_val);
inferior_registers.r_pc = gdbarch_addr_bits_remove
- (current_gdbarch,
- inferior_registers.r_pc);
+ (gdbarch, inferior_registers.r_pc);
inferior_registers.r_pc |= psr_val;
}
break;
@@ -291,6 +291,7 @@ store_register (const struct regcache *r
static void
store_regs (const struct regcache *regcache)
{
+ struct gdbarch *gdbarch = get_regcache_arch (regcache);
struct reg inferior_registers;
int ret;
int regno;
@@ -322,8 +323,8 @@ store_regs (const struct regcache *regca
regcache_raw_collect (regcache, ARM_PS_REGNUM,
(char *) &psr_val);
- pc_val = gdbarch_addr_bits_remove (current_gdbarch, pc_val);
- psr_val ^= gdbarch_addr_bits_remove (current_gdbarch, psr_val);
+ pc_val = gdbarch_addr_bits_remove (gdbarch, pc_val);
+ psr_val ^= gdbarch_addr_bits_remove (gdbarch, psr_val);
inferior_registers.r_pc = pc_val | psr_val;
}