This is the mail archive of the
gdb-patches@sources.redhat.com
mailing list for the GDB project.
[RFA] dwarf2loc.c: Add missing DWARF2_REG_TO_REGNUM call
- From: Kevin Buettner <kevinb at redhat dot com>
- To: gdb-patches at sources dot redhat dot com
- Date: Mon, 21 Apr 2003 14:46:53 -0700
- Subject: [RFA] dwarf2loc.c: Add missing DWARF2_REG_TO_REGNUM call
I'm testing on a target for which DWARF2_REG_TO_REGNUM is not the
identity function. I found that gdb was fetching the wrong register
in dwarf2loc.c. The patch below fixes this problem.
Okay?
(This is almost obvious, but there are several choices for where this
call might be placed...)
* dwarf2loc.c (dwarf2_evaluate_loc_desc): Invoke DWARF2_REG_TO_REGNUM
on the DWARF2 register number prior to fetching a register.
Index: dwarf2loc.c
===================================================================
RCS file: /cvs/cvsfiles/devo/gdb/dwarf2loc.c,v
retrieving revision 2.2
diff -u -p -r2.2 dwarf2loc.c
--- dwarf2loc.c 2003/04/16 21:18:45 2.2
+++ dwarf2loc.c 2003/04/21 21:32:40
@@ -223,7 +223,8 @@ dwarf2_evaluate_loc_desc (struct symbol
result = dwarf_expr_fetch (ctx, 0);
if (ctx->in_reg)
- retval = value_from_register (SYMBOL_TYPE (var), result, frame);
+ retval = value_from_register (SYMBOL_TYPE (var),
+ DWARF2_REG_TO_REGNUM (result), frame);
else
{
retval = allocate_value (SYMBOL_TYPE (var));