aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gdb/ChangeLog5
-rw-r--r--gdb/sparc64-tdep.c5
2 files changed, 8 insertions, 2 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index a2bbed5..016e7cc 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,5 +1,10 @@
2004-01-04 Mark Kettenis <kettenis@gnu.org>
+ * sparc64-tdep.c (sparc64_store_arguments): Fix handling of
+ `float' arguments.
+
+2004-01-04 Mark Kettenis <kettenis@gnu.org>
+
* sparc64-tdep.c (sparc64_store_floating_fields): Update comment
such that it mentions a specific version of GCC that exhibits this
bug.
diff --git a/gdb/sparc64-tdep.c b/gdb/sparc64-tdep.c
index 7e70791..2e56ec9 100644
--- a/gdb/sparc64-tdep.c
+++ b/gdb/sparc64-tdep.c
@@ -911,10 +911,11 @@ sparc64_store_arguments (struct regcache *regcache, int nargs,
undefined." Even though the psABI says that "the
left half is undefined", set it to zero here. */
memset (buf, 0, 4);
- valbuf = memcpy (buf + 4, valbuf, 4);
+ memcpy (buf + 4, valbuf, 4);
+ valbuf = buf;
len = 8;
if (element < 16)
- regnum = SPARC64_D0_REGNUM;
+ regnum = SPARC64_D0_REGNUM + element;
}
}
else