aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Snyder <msnyder@vmware.com>2006-06-19 18:50:09 +0000
committerMichael Snyder <msnyder@vmware.com>2006-06-19 18:50:09 +0000
commit8b07f6d84b0993e484b235db0489af1b43f1c66e (patch)
tree80ff8709676d1506395e5665f70ec08a10c13ed3
parent026dcbd71615523f28dbe0d4efa5c87f0eaadab6 (diff)
downloadgdb-8b07f6d84b0993e484b235db0489af1b43f1c66e.zip
gdb-8b07f6d84b0993e484b235db0489af1b43f1c66e.tar.gz
gdb-8b07f6d84b0993e484b235db0489af1b43f1c66e.tar.bz2
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.
-rw-r--r--gdb/ChangeLog8
-rw-r--r--gdb/mips-tdep.c4
2 files changed, 10 insertions, 2 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index bd1036d..14afc74 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -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.
diff --git a/gdb/mips-tdep.c b/gdb/mips-tdep.c
index 2cdbd70..e0315df 100644
--- a/gdb/mips-tdep.c
+++ b/gdb/mips-tdep.c
@@ -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;