aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2004-06-28 22:26:19 +0000
committerJakub Jelinek <jakub@redhat.com>2004-06-28 22:26:19 +0000
commit308663700926d07c3bcb5eb41a8a6299d74da25e (patch)
tree51699f900d95e6fb44bf6f40b7b42f40bc3e49f7
parentb981d0925c4579e384a2d4644e3c055900c3aa18 (diff)
* src/ia64/unix.S (ffi_call_unix): Insert group barrier break
fp_done. (ffi_closure_UNIX): Fix f14/f15 adjustment if FLOAT_SZ is ever changed from 8. git-svn-id: https://gcc.gnu.org/svn/gcc/branches/gcc-3_3-rhl-branch@83824 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--libffi/ChangeLog7
-rw-r--r--libffi/src/ia64/unix.S5
2 files changed, 10 insertions, 2 deletions
diff --git a/libffi/ChangeLog b/libffi/ChangeLog
index 9e806ac8f65..41f45a232d5 100644
--- a/libffi/ChangeLog
+++ b/libffi/ChangeLog
@@ -1,3 +1,10 @@
+2004-05-28 Jakub Jelinek <jakub@redhat.com>
+
+ * src/ia64/unix.S (ffi_call_unix): Insert group barrier break
+ fp_done.
+ (ffi_closure_UNIX): Fix f14/f15 adjustment if FLOAT_SZ is ever
+ changed from 8.
+
2004-03-11 Andreas Schwab <schwab@suse.de>
* src/ia64/ffi.c (ffi_prep_incoming_args_UNIX): Get floating point
diff --git a/libffi/src/ia64/unix.S b/libffi/src/ia64/unix.S
index e599268c721..6023c46c517 100644
--- a/libffi/src/ia64/unix.S
+++ b/libffi/src/ia64/unix.S
@@ -90,6 +90,7 @@ ffi_call_unix:
;;
ldfd f14=[loc2],2*FLOAT_SZ
ldfd f15=[loc3]
+ ;;
fp_done:
add r9=16,sp /* Pointer to r8_contents */
/* loc2 points at first integer register value. */
@@ -296,8 +297,8 @@ ffi_closure_UNIX:
stfd [r14]=f12,2*FLOAT_SZ
stfd [r15]=f13,2*FLOAT_SZ
;;
- stfd [r14]=f14,FLOAT_SZ+8
- stfd [r15]=f15,2*8
+ stfd [r14]=f14,2*FLOAT_SZ
+ stfd [r15]=f15,FLOAT_SZ+8
;;
/* r14 points to first parameter register area, r15 to second. */
st8 [r14]=in0,2*8