diff options
author | Daniel Jacobowitz <drow@false.org> | 2007-10-24 20:29:14 +0000 |
---|---|---|
committer | Daniel Jacobowitz <drow@false.org> | 2007-10-24 20:29:14 +0000 |
commit | 83acabca138ee4ef3dcb7072dd1ed797fdfae4e4 (patch) | |
tree | 4d2ecdea61f930b1ee9c7fe7b730129d29dc2384 /gdb/ia64-tdep.c | |
parent | 24bf05ac93c26e876121110acc0cf8911bd7c38f (diff) | |
download | gdb-83acabca138ee4ef3dcb7072dd1ed797fdfae4e4.zip gdb-83acabca138ee4ef3dcb7072dd1ed797fdfae4e4.tar.gz gdb-83acabca138ee4ef3dcb7072dd1ed797fdfae4e4.tar.bz2 |
* 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.
Diffstat (limited to 'gdb/ia64-tdep.c')
-rw-r--r-- | gdb/ia64-tdep.c | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/gdb/ia64-tdep.c b/gdb/ia64-tdep.c index ea030a7..d5bea78 100644 --- a/gdb/ia64-tdep.c +++ b/gdb/ia64-tdep.c @@ -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); } |