diff options
author | David Edelsohn <edelsohn@gnu.org> | 2009-12-04 15:36:50 +0000 |
---|---|---|
committer | David Edelsohn <dje@gcc.gnu.org> | 2009-12-04 10:36:50 -0500 |
commit | 0c5526222ccc8870c9ea1d8fd43efb4ea7e674fa (patch) | |
tree | 8daa0c6a81dd374fbff0bc45491abb1557555374 | |
parent | 246551974690175d93ce481e65ce2a26bdb37958 (diff) | |
download | gcc-0c5526222ccc8870c9ea1d8fd43efb4ea7e674fa.zip gcc-0c5526222ccc8870c9ea1d8fd43efb4ea7e674fa.tar.gz gcc-0c5526222ccc8870c9ea1d8fd43efb4ea7e674fa.tar.bz2 |
ffi_darwin.c (ffi_closure_helper_DARWIN): Increment pfr for long double split between fpr13 and stack.
* src/powerpc/ffi_darwin.c (ffi_closure_helper_DARWIN): Increment
pfr for long double split between fpr13 and stack.
From-SVN: r154983
-rw-r--r-- | libffi/ChangeLog | 5 | ||||
-rw-r--r-- | libffi/src/powerpc/ffi_darwin.c | 3 |
2 files changed, 7 insertions, 1 deletions
diff --git a/libffi/ChangeLog b/libffi/ChangeLog index 2d875a3..b2cef85 100644 --- a/libffi/ChangeLog +++ b/libffi/ChangeLog @@ -1,3 +1,8 @@ +2009-12-04 David Edelsohn <edelsohn@gnu.org> + + * src/powerpc/ffi_darwin.c (ffi_closure_helper_DARWIN): Increment + pfr for long double split between fpr13 and stack. + 2009-12-03 David Edelsohn <edelsohn@gnu.org> * src/powerpc/ffi_darwin.c (ffi_prep_args): Increment next_arg and diff --git a/libffi/src/powerpc/ffi_darwin.c b/libffi/src/powerpc/ffi_darwin.c index ff480b0..def92a5 100644 --- a/libffi/src/powerpc/ffi_darwin.c +++ b/libffi/src/powerpc/ffi_darwin.c @@ -690,7 +690,7 @@ int ffi_closure_helper_DARWIN (ffi_closure* closure, void * rvalue, ffi_type ** arg_types; long i, avn; ffi_cif * cif; - ffi_dblfl *end_pfr = pfr + NUM_FPR_ARG_REGISTERS; + ffi_dblfl * end_pfr = pfr + NUM_FPR_ARG_REGISTERS; unsigned size_al; cif = closure->cif; @@ -856,6 +856,7 @@ int ffi_closure_helper_DARWIN (ffi_closure* closure, void * rvalue, memcpy (&temp_ld.lb[0], pfr, sizeof(ldbits)); memcpy (&temp_ld.lb[1], pgr + 2, sizeof(ldbits)); avalue[i] = &temp_ld.ld; + pfr++; } else { |