diff options
-rw-r--r-- | gdb/ChangeLog | 5 | ||||
-rw-r--r-- | gdb/ppc-linux-nat.c | 10 |
2 files changed, 10 insertions, 5 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 90301cb..50bafa3 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,5 +1,10 @@ 2008-01-16 Markus Deuling <deuling@de.ibm.com> + * ppc-linux-nat.c (ppc_register_u_addr): Add gdbarch as parameter. + Replace current_gdbarch by gdbarch. Update caller. + +2008-01-16 Markus Deuling <deuling@de.ibm.com> + * dbxread.c (repeated_header_complaint, dbx_symfile_init) (read_dbx_dynamic_symtab, function_outside_compilation_unit_complaint) (read_dbx_symtab, end_psymtab, dbx_psymtab_to_symtab_1) diff --git a/gdb/ppc-linux-nat.c b/gdb/ppc-linux-nat.c index 80c5298..53bc4ae 100644 --- a/gdb/ppc-linux-nat.c +++ b/gdb/ppc-linux-nat.c @@ -162,10 +162,10 @@ PT_NIP, PT_MSR, PT_CCR, PT_LNK, PT_CTR, PT_XER, PT_MQ */ /* *INDENT_ON * */ static int -ppc_register_u_addr (int regno) +ppc_register_u_addr (struct gdbarch *gdbarch, int regno) { int u_addr = -1; - struct gdbarch_tdep *tdep = gdbarch_tdep (current_gdbarch); + struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch); /* NOTE: cagney/2003-11-25: This is the word size used by the ptrace interface, and not the wordsize of the program's ABI. */ int wordsize = sizeof (long); @@ -184,7 +184,7 @@ ppc_register_u_addr (int regno) u_addr = (PT_FPR0 * wordsize) + ((regno - tdep->ppc_fp0_regnum) * 8); /* UISA special purpose registers: 1 slot each */ - if (regno == gdbarch_pc_regnum (current_gdbarch)) + if (regno == gdbarch_pc_regnum (gdbarch)) u_addr = PT_NIP * wordsize; if (regno == tdep->ppc_lr_regnum) u_addr = PT_LNK * wordsize; @@ -332,7 +332,7 @@ fetch_register (struct regcache *regcache, int tid, int regno) struct gdbarch *gdbarch = get_regcache_arch (regcache); struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch); /* This isn't really an address. But ptrace thinks of it as one. */ - CORE_ADDR regaddr = ppc_register_u_addr (regno); + CORE_ADDR regaddr = ppc_register_u_addr (gdbarch, regno); int bytes_transferred; unsigned int offset; /* Offset of registers within the u area. */ char buf[MAX_REGISTER_SIZE]; @@ -632,7 +632,7 @@ store_register (const struct regcache *regcache, int tid, int regno) struct gdbarch *gdbarch = get_regcache_arch (regcache); struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch); /* This isn't really an address. But ptrace thinks of it as one. */ - CORE_ADDR regaddr = ppc_register_u_addr (regno); + CORE_ADDR regaddr = ppc_register_u_addr (gdbarch, regno); int i; size_t bytes_to_transfer; char buf[MAX_REGISTER_SIZE]; |