e237432
diff -up gdb-6.8/gdb/sparc-tdep.c.BAD gdb-6.8/gdb/sparc-tdep.c
e237432
--- gdb-6.8/gdb/sparc-tdep.c.BAD	2008-05-15 16:12:58.000000000 -0500
e237432
+++ gdb-6.8/gdb/sparc-tdep.c	2008-05-15 16:13:41.000000000 -0500
e237432
@@ -1122,6 +1122,7 @@ sparc32_store_return_value (struct type 
e237432
   if (sparc_floating_p (type))
e237432
     {
e237432
       /* Floating return values.  */
e237432
+      len = (len <= 8) ? len : 8;
e237432
       memcpy (buf, valbuf, len);
e237432
       regcache_cooked_write (regcache, SPARC_F0_REGNUM, buf);
e237432
       if (len > 4)