* sparc64-tdep.c (sparc64_store_arguments): Fix handling of
authorMark Kettenis <kettenis@gnu.org>
Sun, 4 Jan 2004 12:18:25 +0000 (12:18 +0000)
committerMark Kettenis <kettenis@gnu.org>
Sun, 4 Jan 2004 12:18:25 +0000 (12:18 +0000)
`float' arguments.

gdb/ChangeLog
gdb/sparc64-tdep.c

index a2bbed5..016e7cc 100644 (file)
@@ -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.
index 7e70791..2e56ec9 100644 (file)
@@ -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