[ia64] Add a big-endian version of the ia64-ext floatformat

ia64-tdep.c defines a floatformats_ia64_ext that should contain
both the little-endian and the big-endian version of the float
format used in the ia64 registers (an 82bit float format).
Right now, both entries point to the same little-endian definition.

A big-endian definition is now necessary for the ia64-hpux port.

gdb/ChangeLog:

        * ia64-tdep.c (floatformat_ia64_ext_little): Renames
        floatformat_ia64_ext.
        (floatformat_ia64_ext_big): New static const.
        (floatformats_ia64_ext): Set first entry to &floatformat_ia64_ext_big.
This commit is contained in:
Joel Brobecker
2011-01-13 16:22:48 +00:00
parent e235872c41
commit 7458e66756
2 changed files with 17 additions and 4 deletions

View File

@@ -290,16 +290,22 @@ floatformat_valid (const struct floatformat *fmt, const void *from)
return 1;
}
static const struct floatformat floatformat_ia64_ext =
static const struct floatformat floatformat_ia64_ext_little =
{
floatformat_little, 82, 0, 1, 17, 65535, 0x1ffff, 18, 64,
floatformat_intbit_yes, "floatformat_ia64_ext", floatformat_valid, NULL
floatformat_intbit_yes, "floatformat_ia64_ext_little", floatformat_valid, NULL
};
static const struct floatformat floatformat_ia64_ext_big =
{
floatformat_big, 82, 46, 47, 17, 65535, 0x1ffff, 64, 64,
floatformat_intbit_yes, "floatformat_ia64_ext_big", floatformat_valid
};
static const struct floatformat *floatformats_ia64_ext[2] =
{
&floatformat_ia64_ext,
&floatformat_ia64_ext
&floatformat_ia64_ext_big,
&floatformat_ia64_ext_little
};
static struct type *