OSDN Git Service

* x86-64-tdep.c (x86_64_store_return_value): Use an intermediate
authorMark Kettenis <kettenis@gnu.org>
Sun, 13 Jul 2003 16:31:43 +0000 (16:31 +0000)
committerMark Kettenis <kettenis@gnu.org>
Sun, 13 Jul 2003 16:31:43 +0000 (16:31 +0000)
buffer when storing double and float varibles into %xmm0.

gdb/ChangeLog
gdb/x86-64-tdep.c

index 1013883..fbff9fc 100644 (file)
@@ -1,5 +1,8 @@
 2003-07-13  Mark Kettenis  <kettenis@gnu.org>
 
+       * x86-64-tdep.c (x86_64_store_return_value): Use an intermediate
+       buffer when storing double and float varibles into %xmm0.
+
        * configure.host: Add x86_64-*-freebsd*.
        * configure.tgt: Add x86_64-*-freebsd*.
        * Makefile.in (amd64fbsd-nat.o, amd64fbsd-tdep.o): New targets.
index 544f29f..8bb507c 100644 (file)
@@ -788,7 +788,7 @@ x86_64_store_return_value (struct type *type, struct regcache *regcache,
   else if (TYPE_CODE_FLT == TYPE_CODE (type))
     {
       /* Handle double and float variables.  */
-      regcache_cooked_write (regcache,  X86_64_XMM0_REGNUM, valbuf);
+      regcache_cooked_write_part (regcache, X86_64_XMM0_REGNUM, 0, len, buf);
     }
   /* XXX: What about complex floating point types?  */
   else