mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-08-06 14:49:38 +08:00
* 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:
@ -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,
|
||||
|
Reference in New Issue
Block a user