diff options
author | Jeff Johnston <jjohnstn@redhat.com> | 2003-12-06 00:17:04 +0000 |
---|---|---|
committer | Jeff Johnston <jjohnstn@redhat.com> | 2003-12-06 00:17:04 +0000 |
commit | 79c4d98db72e08bc9e94af3430ebff6b03874d0e (patch) | |
tree | 8282b66f0a46bbacbb921619449843b3305b70df /gdb | |
parent | 25ca7d5535e0bd08efbdf7602e6cacf29103a07d (diff) | |
download | gdb-79c4d98db72e08bc9e94af3430ebff6b03874d0e.tar.gz |
2003-12-05 Jeff Johnston <jjohnstn@redhat.com>
* ia64-tdep.c (ia64_gdbarch_init): Set up the gdbarch long double
format to be the i387 extended float format which is used for
long doubles stored in memory.
Diffstat (limited to 'gdb')
-rw-r--r-- | gdb/ChangeLog | 6 | ||||
-rw-r--r-- | gdb/ia64-tdep.c | 8 |
2 files changed, 14 insertions, 0 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index a898867a25a..1e747bc26c1 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,9 @@ +2003-12-05 Jeff Johnston <jjohnstn@redhat.com> + + * ia64-tdep.c (ia64_gdbarch_init): Set up the gdbarch long double + format to be the i387 extended float format which is used for + long doubles stored in memory. + 2003-12-05 Mark Kettenis <kettenis@gnu.org> From Ulrich Weigand <weigand@informatik.uni-erlangen.de>: diff --git a/gdb/ia64-tdep.c b/gdb/ia64-tdep.c index d3c86fda506..19f18b7faa1 100644 --- a/gdb/ia64-tdep.c +++ b/gdb/ia64-tdep.c @@ -3361,6 +3361,14 @@ ia64_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches) 0, "builtin_type_ia64_ext", NULL); TYPE_FLOATFORMAT (builtin_type_ia64_ext) = &floatformat_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 x86 extended float format which is + 80 bits. An OS may choose to use this format (e.g. Linux) or choose to use + a different format for storing long doubles (e.g. HPUX). In the latter case, + the setting of the format may be moved/overridden in an OS-specific tdep file. */ + set_gdbarch_long_double_format (gdbarch, &floatformat_i387_ext); + set_gdbarch_short_bit (gdbarch, 16); set_gdbarch_int_bit (gdbarch, 32); set_gdbarch_long_bit (gdbarch, 64); |