* findvar.c (address_from_register): New function.

* value.h (address_from_register): Add prototype.
	* dwarf2loc.c (dwarf_expr_read_reg): Use address_from_register.
This commit is contained in:
Ulrich Weigand
2006-11-22 13:44:45 +00:00
parent 765dc01564
commit 0b2b0195d1
4 changed files with 33 additions and 11 deletions

View File

@ -728,6 +728,26 @@ value_from_register (struct type *type, int regnum, struct frame_info *frame)
return v;
}
/* Return contents of register REGNUM in frame FRAME as address,
interpreted as value of type TYPE. Will abort if register
value is not available. */
CORE_ADDR
address_from_register (struct type *type, int regnum, struct frame_info *frame)
{
struct value *value;
CORE_ADDR result;
value = value_from_register (type, regnum, frame);
gdb_assert (value);
result = value_as_address (value);
release_value (value);
value_free (value);
return result;
}
/* Given a struct symbol for a variable or function,
and a stack frame id,