summaryrefslogtreecommitdiff
path: root/libffi
diff options
context:
space:
mode:
authordje <dje@138bc75d-0d04-0410-961f-82ee72b054a4>2009-12-04 03:43:40 +0000
committerdje <dje@138bc75d-0d04-0410-961f-82ee72b054a4>2009-12-04 03:43:40 +0000
commit3a95c696f0a782f29f98c8a4cde5df52ea15b4af (patch)
tree8ab4d5d242b560ae133091cb102cb0185789ced5 /libffi
parent35b5bba18d2d02af170644bbfe76a1bb9925cf0c (diff)
downloadgcc-3a95c696f0a782f29f98c8a4cde5df52ea15b4af.tar.gz
* src/powerpc/ffi_darwin.c (ffi_prep_args): Increment next_arg and
fparg_count twice for long double. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@154967 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libffi')
-rw-r--r--libffi/ChangeLog5
-rw-r--r--libffi/src/powerpc/ffi_darwin.c2
2 files changed, 7 insertions, 0 deletions
diff --git a/libffi/ChangeLog b/libffi/ChangeLog
index cddc1035495..2d875a38c73 100644
--- a/libffi/ChangeLog
+++ b/libffi/ChangeLog
@@ -1,5 +1,10 @@
2009-12-03 David Edelsohn <edelsohn@gnu.org>
+ * src/powerpc/ffi_darwin.c (ffi_prep_args): Increment next_arg and
+ fparg_count twice for long double.
+
+2009-12-03 David Edelsohn <edelsohn@gnu.org>
+
PR libffi/42243
* src/powerpc/ffi_darwin.c (ffi_prep_args): Remove extra parentheses.
diff --git a/libffi/src/powerpc/ffi_darwin.c b/libffi/src/powerpc/ffi_darwin.c
index 4c3f834b3d8..ff480b0413f 100644
--- a/libffi/src/powerpc/ffi_darwin.c
+++ b/libffi/src/powerpc/ffi_darwin.c
@@ -167,6 +167,8 @@ void ffi_prep_args(extended_cif *ecif, unsigned long *const stack)
*fpr_base++ = double_tmp;
else
*(double *) next_arg = double_tmp;
+ next_arg += 2;
+ fparg_count++;
double_tmp = ((double *) *p_argv)[1];
if (fparg_count < NUM_FPR_ARG_REGISTERS)