*** empty log message ***
[deliverable/binutils-gdb.git] / gdb / trad-frame.c
index b9ee2e15e8ec81d19dabf4e4ca61c53fcf67a155..339ee34c6ecb57ca3bbc67b3125f88d4f398e6f9 100644 (file)
@@ -97,6 +97,15 @@ trad_frame_set_value (struct trad_frame_saved_reg this_saved_regs[],
   this_saved_regs[regnum].addr = val;
 }
 
+void
+trad_frame_set_reg_value (struct trad_frame_cache *this_trad_cache,
+                         int regnum, LONGEST val)
+{
+  /* External interface for users of trad_frame_cache
+     (who cannot access the prev_regs object directly).  */
+  trad_frame_set_value (this_trad_cache->prev_regs, regnum, val);
+}
+
 void
 trad_frame_set_reg_realreg (struct trad_frame_cache *this_trad_cache,
                            int regnum, int realreg)
@@ -145,9 +154,13 @@ trad_frame_get_prev_register (struct frame_info *next_frame,
     }
   else if (trad_frame_realreg_p (this_saved_regs, regnum))
     {
+      *optimizedp = 0;
+      *lvalp = lval_register;
+      *addrp = 0;
+      *realregp = this_saved_regs[regnum].realreg;
       /* Ask the next frame to return the value of the register.  */
-      frame_register_unwind (next_frame, this_saved_regs[regnum].realreg,
-                            optimizedp, lvalp, addrp, realregp, bufferp);
+      if (bufferp)
+       frame_unwind_register (next_frame, (*realregp), bufferp);
     }
   else if (trad_frame_value_p (this_saved_regs, regnum))
     {
@@ -162,7 +175,7 @@ trad_frame_get_prev_register (struct frame_info *next_frame,
     }
   else
     {
-      error ("Register %s not available",
+      error (_("Register %s not available"),
             gdbarch_register_name (gdbarch, regnum));
     }
 }
This page took 0.024689 seconds and 4 git commands to generate.