12 lines
446 B
Diff
12 lines
446 B
Diff
|
|
diff --git a/gdb/sparc-tdep.c b/gdb/sparc-tdep.c
|
||
|
|
--- a/gdb/sparc-tdep.c
|
||
|
|
+++ b/gdb/sparc-tdep.c
|
||
|
|
@@ -1462,6 +1462,7 @@ sparc32_store_return_value (struct type *type, struct regcache *regcache,
|
||
|
|
if (sparc_floating_p (type) || sparc_complex_floating_p (type))
|
||
|
|
{
|
||
|
|
/* Floating return values. */
|
||
|
|
+ len = (len <= 8) ? len : 8;
|
||
|
|
memcpy (buf, valbuf, len);
|
||
|
|
regcache->cooked_write (SPARC_F0_REGNUM, buf);
|
||
|
|
if (len > 4)
|