* value.c (value_primitive_field): Fetch lazy register values.
This commit is contained in:
parent
b4aa76f032
commit
a4e2ee12f0
2 changed files with 16 additions and 2 deletions
|
@ -1,3 +1,7 @@
|
||||||
|
2008-06-11 Daniel Jacobowitz <dan@codesourcery.com>
|
||||||
|
|
||||||
|
* value.c (value_primitive_field): Fetch lazy register values.
|
||||||
|
|
||||||
2008-06-11 Pedro Alves <pedro@codesourcery.com>
|
2008-06-11 Pedro Alves <pedro@codesourcery.com>
|
||||||
|
|
||||||
* NEWS: Mention support removal of undocumented S AA p PID stop
|
* NEWS: Mention support removal of undocumented S AA p PID stop
|
||||||
|
|
14
gdb/value.c
14
gdb/value.c
|
@ -1354,7 +1354,12 @@ value_primitive_field (struct value *arg1, int offset,
|
||||||
bases, etc. */
|
bases, etc. */
|
||||||
v = allocate_value (value_enclosing_type (arg1));
|
v = allocate_value (value_enclosing_type (arg1));
|
||||||
v->type = type;
|
v->type = type;
|
||||||
if (VALUE_LVAL (arg1) == lval_memory && value_lazy (arg1))
|
|
||||||
|
/* Lazy register values with offsets are not supported. */
|
||||||
|
if (VALUE_LVAL (arg1) == lval_register && value_lazy (arg1))
|
||||||
|
value_fetch_lazy (arg1);
|
||||||
|
|
||||||
|
if (value_lazy (arg1))
|
||||||
set_value_lazy (v, 1);
|
set_value_lazy (v, 1);
|
||||||
else
|
else
|
||||||
memcpy (value_contents_all_raw (v), value_contents_all_raw (arg1),
|
memcpy (value_contents_all_raw (v), value_contents_all_raw (arg1),
|
||||||
|
@ -1368,7 +1373,12 @@ value_primitive_field (struct value *arg1, int offset,
|
||||||
/* Plain old data member */
|
/* Plain old data member */
|
||||||
offset += TYPE_FIELD_BITPOS (arg_type, fieldno) / 8;
|
offset += TYPE_FIELD_BITPOS (arg_type, fieldno) / 8;
|
||||||
v = allocate_value (type);
|
v = allocate_value (type);
|
||||||
if (VALUE_LVAL (arg1) == lval_memory && value_lazy (arg1))
|
|
||||||
|
/* Lazy register values with offsets are not supported. */
|
||||||
|
if (VALUE_LVAL (arg1) == lval_register && value_lazy (arg1))
|
||||||
|
value_fetch_lazy (arg1);
|
||||||
|
|
||||||
|
if (value_lazy (arg1))
|
||||||
set_value_lazy (v, 1);
|
set_value_lazy (v, 1);
|
||||||
else
|
else
|
||||||
memcpy (value_contents_raw (v),
|
memcpy (value_contents_raw (v),
|
||||||
|
|
Loading…
Reference in a new issue