aboutsummaryrefslogtreecommitdiff
path: root/libffi
diff options
context:
space:
mode:
authorJohn David Anglin <dave.anglin@nrc-cnrc.gc.ca>2006-05-19 01:20:22 +0000
committerJohn David Anglin <danglin@gcc.gnu.org>2006-05-19 01:20:22 +0000
commit84e2e37098ecd0a1085501dade4348e33fe5a695 (patch)
treefbeb7ce214b5dff8679736e366acecf42dd34f48 /libffi
parentcc80bbd05f1e84dd2942d626a49d7358f5ea49aa (diff)
downloadgcc-84e2e37098ecd0a1085501dade4348e33fe5a695.zip
gcc-84e2e37098ecd0a1085501dade4348e33fe5a695.tar.gz
gcc-84e2e37098ecd0a1085501dade4348e33fe5a695.tar.bz2
ffi.c (ffi_prep_args_pa32): Load floating point arguments from stack slot.
* pa/ffi.c (ffi_prep_args_pa32): Load floating point arguments from stack slot. From-SVN: r113901
Diffstat (limited to 'libffi')
-rw-r--r--libffi/ChangeLog5
-rw-r--r--libffi/src/pa/ffi.c12
2 files changed, 11 insertions, 6 deletions
diff --git a/libffi/ChangeLog b/libffi/ChangeLog
index f931933..a2730d4 100644
--- a/libffi/ChangeLog
+++ b/libffi/ChangeLog
@@ -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'.
diff --git a/libffi/src/pa/ffi.c b/libffi/src/pa/ffi.c
index 92cc7f2..56f85db 100644
--- a/libffi/src/pa/ffi.c
+++ b/libffi/src/pa/ffi.c
@@ -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;