From 01e4b823654bfc22487dd3e81bc90926f420d010 Mon Sep 17 00:00:00 2001 From: Mark Kettenis Date: Sun, 13 Jul 2003 16:31:43 +0000 Subject: [PATCH] * x86-64-tdep.c (x86_64_store_return_value): Use an intermediate buffer when storing double and float varibles into %xmm0. --- gdb/ChangeLog | 3 +++ gdb/x86-64-tdep.c | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) 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 -- 2.30.2