2007-06-12 Markus Deuling <deuling@de.ibm.com>

* gdbarch.sh (REGISTER_TO_VALUE): Replace by gdbarch_register_to_value.
	* findvar.c (value_from_register): Likewise.
	* gdbarch.sh (VALUE_TO_REGISTER): Replace by gdbarch_value_to_register.
	* valops.c (value_assign): Likewise.
	* gdbarch.sh (CONVERT_REGISTER_P): Replace by
	gdbarch_convert_register_p.
	* findvar.c (value_from_register): Likewise.
	* valops.c (value_assign): Likewise.
	* gdbarch.c, gdbarch.h: Regenerate.
This commit is contained in:
Ulrich Weigand
2007-06-12 16:51:13 +00:00
parent 474c166176
commit c1afe53dd0
6 changed files with 24 additions and 45 deletions

View File

@ -624,20 +624,21 @@ value_from_register (struct type *type, int regnum, struct frame_info *frame)
struct type *type1 = check_typedef (type);
struct value *v;
if (CONVERT_REGISTER_P (regnum, type1))
if (gdbarch_convert_register_p (current_gdbarch, regnum, type1))
{
/* The ISA/ABI need to something weird when obtaining the
specified value from this register. It might need to
re-order non-adjacent, starting with REGNUM (see MIPS and
i386). It might need to convert the [float] register into
the corresponding [integer] type (see Alpha). The assumption
is that REGISTER_TO_VALUE populates the entire value
is that gdbarch_register_to_value populates the entire value
including the location. */
v = allocate_value (type);
VALUE_LVAL (v) = lval_register;
VALUE_FRAME_ID (v) = get_frame_id (frame);
VALUE_REGNUM (v) = regnum;
REGISTER_TO_VALUE (frame, regnum, type1, value_contents_raw (v));
gdbarch_register_to_value (current_gdbarch,
frame, regnum, type1, value_contents_raw (v));
}
else
{