forked from Imagelibrary/binutils-gdb
* 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:
@@ -920,7 +920,8 @@ ia64_pseudo_register_write (struct gdbarch *gdbarch, struct regcache *regcache,
|
||||
static int
|
||||
ia64_convert_register_p (int regno, struct type *type)
|
||||
{
|
||||
return (regno >= IA64_FR0_REGNUM && regno <= IA64_FR127_REGNUM);
|
||||
return (regno >= IA64_FR0_REGNUM && regno <= IA64_FR127_REGNUM
|
||||
&& type != builtin_type_ia64_ext);
|
||||
}
|
||||
|
||||
static void
|
||||
@@ -3564,12 +3565,6 @@ ia64_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
|
||||
tdep->sigcontext_register_address = 0;
|
||||
tdep->pc_in_sigtramp = 0;
|
||||
|
||||
/* Define the ia64 floating-point format to gdb. */
|
||||
builtin_type_ia64_ext =
|
||||
init_type (TYPE_CODE_FLT, 128 / 8,
|
||||
0, "builtin_type_ia64_ext", NULL);
|
||||
TYPE_FLOATFORMAT (builtin_type_ia64_ext) = floatformats_ia64_ext;
|
||||
|
||||
/* According to the ia64 specs, instructions that store long double
|
||||
floats in memory use a long-double format different than that
|
||||
used in the floating registers. The memory format matches the
|
||||
@@ -3652,5 +3647,11 @@ extern initialize_file_ftype _initialize_ia64_tdep; /* -Wmissing-prototypes */
|
||||
void
|
||||
_initialize_ia64_tdep (void)
|
||||
{
|
||||
/* Define the ia64 floating-point format to gdb. */
|
||||
builtin_type_ia64_ext =
|
||||
init_type (TYPE_CODE_FLT, 128 / 8,
|
||||
0, "builtin_type_ia64_ext", NULL);
|
||||
TYPE_FLOATFORMAT (builtin_type_ia64_ext) = floatformats_ia64_ext;
|
||||
|
||||
gdbarch_register (bfd_arch_ia64, ia64_gdbarch_init, NULL);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user