OSDN Git Service

* src/powerpc/ffi_darwin.c (ffi_closure_helper_DARWIN): Increment
authordje <dje@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 4 Dec 2009 15:36:50 +0000 (15:36 +0000)
committerdje <dje@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 4 Dec 2009 15:36:50 +0000 (15:36 +0000)
        pfr for long double split between fpr13 and stack.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@154983 138bc75d-0d04-0410-961f-82ee72b054a4

libffi/ChangeLog
libffi/src/powerpc/ffi_darwin.c

index 2d875a3..b2cef85 100644 (file)
@@ -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
 2009-12-03  David Edelsohn  <edelsohn@gnu.org>
 
        * src/powerpc/ffi_darwin.c (ffi_prep_args): Increment next_arg and
index ff480b0..def92a5 100644 (file)
@@ -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_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;
   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;
              memcpy (&temp_ld.lb[0], pfr, sizeof(ldbits));
              memcpy (&temp_ld.lb[1], pgr + 2, sizeof(ldbits));
              avalue[i] = &temp_ld.ld;
+             pfr++;
            }
          else
            {
            }
          else
            {