From 8ada74e3cce2117b3d44c45fc8e941e718529db7 Mon Sep 17 00:00:00 2001 From: Mark Kettenis Date: Sun, 4 Jan 2004 12:18:25 +0000 Subject: [PATCH] * sparc64-tdep.c (sparc64_store_arguments): Fix handling of `float' arguments. --- gdb/ChangeLog | 5 +++++ gdb/sparc64-tdep.c | 5 +++-- 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 + * sparc64-tdep.c (sparc64_store_arguments): Fix handling of + `float' arguments. + +2004-01-04 Mark Kettenis + * 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 -- 2.7.4