This is the mail archive of the gdb-patches@sources.redhat.com mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[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));


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]