Browse Source

2004-11-15 Andrew Cagney <cagney@gnu.org>

* findvar.c (value_of_register): Set the frame ID.
	* value.c (value_primitive_field): Copy the frame ID.
	* valops.c (value_assign): Simplify lval_register case, there's
	always a frame.
binutils-csl-arm-2005q1-branch
Andrew Cagney 22 years ago
parent
commit
0c16dd26a8
  1. 7
      gdb/ChangeLog
  2. 1
      gdb/findvar.c
  3. 12
      gdb/valops.c
  4. 1
      gdb/value.c

7
gdb/ChangeLog

@ -1,3 +1,10 @@
2004-11-15 Andrew Cagney <cagney@gnu.org>
* findvar.c (value_of_register): Set the frame ID.
* value.c (value_primitive_field): Copy the frame ID.
* valops.c (value_assign): Simplify lval_register case, there's
always a frame.
2004-11-14 Daniel Jacobowitz <dan@debian.org>
* Makefile.in (mips-linux-tdep.o): Update dependencies.

1
gdb/findvar.c

@ -288,6 +288,7 @@ value_of_register (int regnum, struct frame_info *frame)
VALUE_ADDRESS (reg_val) = addr;
VALUE_REGNUM (reg_val) = regnum;
VALUE_OPTIMIZED_OUT (reg_val) = optim;
VALUE_FRAME_ID (reg_val) = get_frame_id (frame);
return reg_val;
}

12
gdb/valops.c

@ -602,16 +602,8 @@ value_assign (struct value *toval, struct value *fromval)
int value_reg;
/* Figure out which frame this is in currently. */
if (VALUE_LVAL (toval) == lval_register)
{
frame = get_current_frame ();
value_reg = VALUE_REGNUM (toval);
}
else
{
frame = frame_find_by_id (VALUE_FRAME_ID (toval));
value_reg = VALUE_REGNUM (toval);
}
frame = frame_find_by_id (VALUE_FRAME_ID (toval));
value_reg = VALUE_REGNUM (toval);
if (!frame)
error ("Value being assigned to is no longer active.");

1
gdb/value.c

@ -964,6 +964,7 @@ value_primitive_field (struct value *arg1, int offset,
VALUE_LVAL (v) = lval_internalvar_component;
VALUE_ADDRESS (v) = VALUE_ADDRESS (arg1);
VALUE_REGNUM (v) = VALUE_REGNUM (arg1);
VALUE_FRAME_ID (v) = VALUE_FRAME_ID (arg1);
/* VALUE_OFFSET (v) = VALUE_OFFSET (arg1) + offset
+ TYPE_FIELD_BITPOS (arg_type, fieldno) / 8; */
return v;

Loading…
Cancel
Save