This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
[rfc] [04/15] Add gdbarch to register_name callback in xtensa-tdep.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: Wed, 31 Oct 2007 11:45:43 +0100
- Subject: [rfc] [04/15] Add gdbarch to register_name callback in xtensa-tdep.c
Hi,
this patch adds gdbarch to register_name callback in xtensa-tdep.c
Is this ok to commit?
ChangeLog:
* xtensa-tdep.c (xtensa_register_name): Add gdbarch parameter. Replace
current_gdbarch by gdbarch.
(xtensa_pseudo_register_read, xtensa_pseudo_register_write)
(xtensa_frame_prev_register): Add gdbarch parameter to
xtensa_register_name call
--
Markus Deuling
GNU Toolchain for Linux on Cell BE
deuling@de.ibm.com
diff -urpN src/gdb/xtensa-tdep.c dev/gdb/xtensa-tdep.c
--- src/gdb/xtensa-tdep.c 2007-10-10 19:01:10.000000000 +0200
+++ dev/gdb/xtensa-tdep.c 2007-10-30 11:32:24.000000000 +0100
@@ -181,12 +181,12 @@ extract_call_winsize (CORE_ADDR pc)
/* Returns the name of a register. */
static const char *
-xtensa_register_name (int regnum)
+xtensa_register_name (struct gdbarch *gdbarch, int regnum)
{
/* Return the name stored in the register map. */
- if (regnum >= 0 && regnum < gdbarch_num_regs (current_gdbarch)
- + gdbarch_num_pseudo_regs (current_gdbarch))
- return gdbarch_tdep (current_gdbarch)->regmap[regnum].name;
+ if (regnum >= 0 && regnum < gdbarch_num_regs (gdbarch)
+ + gdbarch_num_pseudo_regs (gdbarch))
+ return gdbarch_tdep (gdbarch)->regmap[regnum].name;
internal_error (__FILE__, __LINE__, _("invalid register %d"), regnum);
return 0;
@@ -500,7 +500,7 @@ xtensa_pseudo_register_read (struct gdba
gdb_byte *buffer)
{
DEBUGTRACE ("xtensa_pseudo_register_read (... regnum = %d (%s) ...)\n",
- regnum, xtensa_register_name (regnum));
+ regnum, xtensa_register_name (gdbarch, regnum));
if (regnum == gdbarch_num_regs (gdbarch)
+ gdbarch_num_pseudo_regs (gdbarch))
@@ -536,7 +536,7 @@ xtensa_pseudo_register_read (struct gdba
if ((flags & xtTargetFlagsNonVisibleRegs) == 0)
{
warning (_("cannot read register %s"),
- xtensa_register_name (regnum));
+ xtensa_register_name (gdbarch, regnum));
return;
}
}
@@ -584,7 +584,7 @@ xtensa_pseudo_register_write (struct gdb
const gdb_byte *buffer)
{
DEBUGTRACE ("xtensa_pseudo_register_write (... regnum = %d (%s) ...)\n",
- regnum, xtensa_register_name (regnum));
+ regnum, xtensa_register_name (gdbarch, regnum));
if (regnum == gdbarch_num_regs (gdbarch)
+ gdbarch_num_pseudo_regs (gdbarch))
@@ -624,7 +624,7 @@ xtensa_pseudo_register_write (struct gdb
if ((flags & xtTargetFlagsNonVisibleRegs) == 0)
{
warning (_("cannot write register %s"),
- xtensa_register_name (regnum));
+ xtensa_register_name (gdbarch, regnum));
return;
}
}
@@ -1248,7 +1248,7 @@ xtensa_frame_prev_register (struct frame
"*this 0x%08x, regnum %d (%s), ...)\n",
(unsigned int) next_frame,
*this_cache ? (unsigned int) *this_cache : 0, regnum,
- xtensa_register_name (regnum));
+ xtensa_register_name (gdbarch, regnum));
if (regnum ==gdbarch_pc_regnum (gdbarch))
saved_reg = cache->ra;