aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Edelsohn <edelsohn@gnu.org>2009-12-04 03:43:40 +0000
committerDavid Edelsohn <dje@gcc.gnu.org>2009-12-03 22:43:40 -0500
commitafb5e6229724113b8b07f48be0e494b704a784be (patch)
tree8ab4d5d242b560ae133091cb102cb0185789ced5
parentb83f1f569dba60dd23f3f472e00ff60b4c6d1af9 (diff)
downloadgcc-afb5e6229724113b8b07f48be0e494b704a784be.zip
gcc-afb5e6229724113b8b07f48be0e494b704a784be.tar.gz
gcc-afb5e6229724113b8b07f48be0e494b704a784be.tar.bz2
ffi_darwin.c (ffi_prep_args): Increment next_arg and fparg_count twice for long double.
* src/powerpc/ffi_darwin.c (ffi_prep_args): Increment next_arg and fparg_count twice for long double. From-SVN: r154967
-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 cddc103..2d875a3 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 4c3f834..ff480b0 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)