OSDN Git Service

* pa/ffi.c (ffi_prep_args_pa32): Load floating point arguments from
authordanglin <danglin@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 19 May 2006 01:20:22 +0000 (01:20 +0000)
committerdanglin <danglin@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 19 May 2006 01:20:22 +0000 (01:20 +0000)
stack slot.

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

libffi/ChangeLog
libffi/src/pa/ffi.c

index f931933..a2730d4 100644 (file)
@@ -1,3 +1,8 @@
+2006-05-18  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+
+       * pa/ffi.c (ffi_prep_args_pa32): Load floating point arguments from
+       stack slot.
+
 2006-04-22  Andreas Tobler  <a.tobler@schweiz.ch>
 
        * README: Remove notice about 'Crazy Comments'.
index 92cc7f2..56f85db 100644 (file)
@@ -194,10 +194,10 @@ void ffi_prep_args_pa32(UINT32 *stack, extended_cif *ecif, unsigned bytes)
          switch (slot - FIRST_ARG_SLOT)
            {
            /* First 4 args go in fr4L - fr7L.  */
-           case 0: fldw(*p_argv, fr4); break;
-           case 1: fldw(*p_argv, fr5); break;
-           case 2: fldw(*p_argv, fr6); break;
-           case 3: fldw(*p_argv, fr7); break;
+           case 0: fldw(stack - slot, fr4); break;
+           case 1: fldw(stack - slot, fr5); break;
+           case 2: fldw(stack - slot, fr6); break;
+           case 3: fldw(stack - slot, fr7); break;
            }
          break;
 
@@ -209,8 +209,8 @@ void ffi_prep_args_pa32(UINT32 *stack, extended_cif *ecif, unsigned bytes)
          switch (slot - FIRST_ARG_SLOT)
            {
              /* First 2 args go in fr5, fr7.  */
-             case 1: fldd(*p_argv, fr5); break;
-             case 3: fldd(*p_argv, fr7); break;
+             case 1: fldd(stack - slot, fr5); break;
+             case 3: fldd(stack - slot, fr7); break;
            }
          break;