From: Mark Kettenis Date: Sun, 13 Jul 2003 16:31:43 +0000 (+0000) Subject: * x86-64-tdep.c (x86_64_store_return_value): Use an intermediate X-Git-Tag: ezannoni_pie-20030916-branchpoint~772 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=01e4b823654bfc22487dd3e81bc90926f420d010;p=thirdparty%2Fbinutils-gdb.git * x86-64-tdep.c (x86_64_store_return_value): Use an intermediate buffer when storing double and float varibles into %xmm0. --- diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 1013883c5bb..fbff9fcdb66 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,5 +1,8 @@ 2003-07-13 Mark Kettenis + * 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. diff --git a/gdb/x86-64-tdep.c b/gdb/x86-64-tdep.c index 544f29f5b52..8bb507cd48a 100644 --- a/gdb/x86-64-tdep.c +++ b/gdb/x86-64-tdep.c @@ -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