* mips-tdep.c (mips_register_virtual_type): Use architecture
authorKevin Buettner <kevinb@redhat.com>
Thu, 1 Aug 2002 23:10:34 +0000 (23:10 +0000)
committerKevin Buettner <kevinb@redhat.com>
Thu, 1 Aug 2002 23:10:34 +0000 (23:10 +0000)
invariant return values.

gdb/ChangeLog
gdb/mips-tdep.c

index 97b01e313e347181563e98065d56fbe619a6b685..347b4bf2eeb9eb52165f37dcb753dd08ce03fcff 100644 (file)
@@ -1,3 +1,8 @@
+2002-08-01  Kevin Buettner  <kevinb@redhat.com>
+
+       * mips-tdep.c (mips_register_virtual_type): Use architecture
+       invariant return values.
+
 2002-08-01  Andrew Cagney  <cagney@redhat.com>
 
        * linux-proc.c: Include "gdb_string.h".
index de7946e8e850f5d3d5b3c87d904994878c98bba8..45b5813e747f70a16c12787d12b568a1a1eed5e4 100644 (file)
@@ -497,19 +497,25 @@ static struct type *
 mips_register_virtual_type (int reg)
 {
   if (FP0_REGNUM <= reg && reg < FP0_REGNUM + 32)
-    return builtin_type_double;
+    {
+      /* Floating point registers...  */
+      if (TARGET_BYTE_ORDER == BFD_ENDIAN_BIG)
+       return builtin_type_ieee_double_big;
+      else
+       return builtin_type_ieee_double_little;
+    }
   else if (reg == PS_REGNUM /* CR */)
     return builtin_type_uint32;
   else if (FCRCS_REGNUM <= reg && reg <= LAST_EMBED_REGNUM)
     return builtin_type_uint32;
   else
     {
-      /* Everything else... return ``long long'' when registers
-         are 64-bits wide, ``int'' otherwise.  */
-      if (MIPS_REGSIZE == TYPE_LENGTH (builtin_type_long_long))
-       return builtin_type_long_long;
+      /* Everything else...
+         Return type appropriate for width of register.  */
+      if (MIPS_REGSIZE == TYPE_LENGTH (builtin_type_uint64))
+       return builtin_type_uint64;
       else
-       return builtin_type_int;
+       return builtin_type_uint32;
     }
 }