* amd64-tdep.c (amd64_convert_register_p): Delete.

(amd64_init_abi): Use i387_convert_register_p.
	* alpha-tdep.c (alpha_convert_register_p): Return zero for
	eight byte types.
	(alpha_register_to_value, alpha_value_to_register): Do not handle
	eight byte types.
	* i386-tdep.c (i386_convert_register_p): Use i387_convert_register_p.
	* i387-tdep.c (i387_convert_register_p): New.
	(i387_register_to_value, i387_value_to_register): Update comments.
	* i387-tdep.h (i387_convert_register_p): Declare.
	* ia64-tdep.c (ia64_convert_register_p): Return zero for
	builtin_type_ia64_ext.
	(ia64_gdbarch_init): Do not initialize builtin_type_ia64_ext here.
	(_initialize_ia64_tdep): Initialize builtin_type_ia64_ext here.
	* m68k-tdep.c (m68k_convert_register_p): Return zero for
	builtin_type_m68881_ext.
	(m68k_register_to_value, m68k_value_to_register): Update comments.

	* gdbint.texinfo (Register and Memory Data, Target Conditionals):
	Document that gdbarch_convert_register_p should return zero for no-op
	conversions.
This commit is contained in:
Daniel Jacobowitz
2007-10-24 20:29:14 +00:00
parent 24bf05ac93
commit 83acabca13
10 changed files with 75 additions and 37 deletions

View File

@ -200,7 +200,8 @@ alpha_sts (void *out, const void *in)
static int
alpha_convert_register_p (int regno, struct type *type)
{
return (regno >= ALPHA_FP0_REGNUM && regno < ALPHA_FP0_REGNUM + 31);
return (regno >= ALPHA_FP0_REGNUM && regno < ALPHA_FP0_REGNUM + 31
&& TYPE_LENGTH (type) != 8);
}
static void
@ -215,9 +216,6 @@ alpha_register_to_value (struct frame_info *frame, int regnum,
case 4:
alpha_sts (out, in);
break;
case 8:
memcpy (out, in, 8);
break;
default:
error (_("Cannot retrieve value from floating point register"));
}
@ -234,9 +232,6 @@ alpha_value_to_register (struct frame_info *frame, int regnum,
case 4:
alpha_lds (out, in);
break;
case 8:
memcpy (out, in, 8);
break;
default:
error (_("Cannot store value in floating point register"));
}