2006-06-19 Michael Snyder <msnyder@redhat.com>
authorMichael Snyder <msnyder@vmware.com>
Mon, 19 Jun 2006 18:50:09 +0000 (18:50 +0000)
committerMichael Snyder <msnyder@vmware.com>
Mon, 19 Jun 2006 18:50:09 +0000 (18:50 +0000)
* mips-tdep.c (mips_eabi_push_dummy_call): For 32 bit ABI, to
decide how many registers it takes to pass a floating point
argument, what matters is the size of a floating point register
(not the size of a general purpose register).
(mips_o32_push_dummy_call): Ditto.

gdb/ChangeLog
gdb/mips-tdep.c

index bd1036dffd24d3e4126e9d0455a9db1af374c4af..14afc7490c56675aa0adb16dd83b64c4f4fa6321 100644 (file)
@@ -1,3 +1,11 @@
+2006-06-19  Michael Snyder  <msnyder@redhat.com>
+
+       * mips-tdep.c (mips_eabi_push_dummy_call): For 32 bit ABI, to
+       decide how many registers it takes to pass a floating point
+       argument, what matters is the size of a floating point register
+       (not the size of a general purpose register).
+       (mips_o32_push_dummy_call): Ditto.
+
 2006-06-19  Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
 
        * configure.tgt: Add gdbserver support for m32r-linux.
index 2cdbd70fbcf017f41df09151ee9f0f5baad6ff46..e0315df2638f7d7cc9a7958a17a6f2e0ba083a45 100644 (file)
@@ -2495,7 +2495,7 @@ mips_eabi_push_dummy_call (struct gdbarch *gdbarch, struct value *function,
       if (fp_register_arg_p (typecode, arg_type)
          && float_argreg <= MIPS_LAST_FP_ARG_REGNUM)
        {
-         if (mips_abi_regsize (gdbarch) < 8 && len == 8)
+         if (register_size (gdbarch, float_argreg) < 8 && len == 8)
            {
              int low_offset = TARGET_BYTE_ORDER == BFD_ENDIAN_BIG ? 4 : 0;
              unsigned long regval;
@@ -3119,7 +3119,7 @@ mips_o32_push_dummy_call (struct gdbarch *gdbarch, struct value *function,
       if (fp_register_arg_p (typecode, arg_type)
          && float_argreg <= MIPS_LAST_FP_ARG_REGNUM)
        {
-         if (mips_abi_regsize (gdbarch) < 8 && len == 8)
+         if (register_size (gdbarch, float_argreg) < 8 && len == 8)
            {
              int low_offset = TARGET_BYTE_ORDER == BFD_ENDIAN_BIG ? 4 : 0;
              unsigned long regval;