[ia64] Add a big-endian version of the ia64-ext floatformat
authorJoel Brobecker <brobecker@gnat.com>
Thu, 13 Jan 2011 16:22:48 +0000 (16:22 +0000)
committerJoel Brobecker <brobecker@gnat.com>
Thu, 13 Jan 2011 16:22:48 +0000 (16:22 +0000)
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.

gdb/ChangeLog
gdb/ia64-tdep.c

index 4e2d120a182ad4c465c076dc4625238865ed8273..c548a19f9e18e5600b1df2c0c6a3e7821078e811 100644 (file)
@@ -1,3 +1,10 @@
+2011-01-13  Joel Brobecker  <brobecker@adacore.com>
+
+       * 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.
+
 2011-01-12  Tom Tromey  <tromey@redhat.com>
 
        * mi/mi-symbol-cmds.c (mi_cmd_symbol_list_lines): Fix error
index 3e31a96348f38a784e167c114ce6546dc49845f3..81d42b6dbc57ae8590ea7e60e430a6b877cc4a64 100644 (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 *