From bb2d2363d217f41dbe419a7d34acaac943d2cbfe Mon Sep 17 00:00:00 2001
From: aph <aph@138bc75d-0d04-0410-961f-82ee72b054a4>
Date: Tue, 10 Aug 2004 14:24:00 +0000
Subject: [PATCH] 2004-08-10  Andrew Haley  <aph@redhat.com>

	* src/x86/ffi64.c (ffi_prep_args ): 8-align all stack arguments.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@85753 138bc75d-0d04-0410-961f-82ee72b054a4
---
 libffi/ChangeLog       | 4 ++++
 libffi/src/x86/ffi64.c | 2 ++
 2 files changed, 6 insertions(+)

diff --git a/libffi/ChangeLog b/libffi/ChangeLog
index d01a4dd06a2f..61b0b4f43f43 100644
--- a/libffi/ChangeLog
+++ b/libffi/ChangeLog
@@ -1,3 +1,7 @@
+2004-08-10  Andrew Haley  <aph@redhat.com>
+
+	* src/x86/ffi64.c (ffi_prep_args ): 8-align all stack arguments.
+
 2004-08-01  Robert Millan  <robertmh@gnu.org>
 
 	* configure.ac: Detect knetbsd-gnu and kfreebsd-gnu.
diff --git a/libffi/src/x86/ffi64.c b/libffi/src/x86/ffi64.c
index 343ee925fde7..653d45c243a8 100644
--- a/libffi/src/x86/ffi64.c
+++ b/libffi/src/x86/ffi64.c
@@ -341,6 +341,8 @@ ffi_prep_args (stackLayout *stack, extended_cif *ecif)
 	{
 	  /* Pass this argument in memory.  */
 	  argp = (void *)ALIGN(argp, (*p_arg)->alignment);
+	  /* Stack arguments are *always* at least 8 byte aligned.  */
+	  argp = (void *)ALIGN(argp, 8);
 	  memcpy (argp, *p_argv, (*p_arg)->size);
 	  argp += (*p_arg)->size;
 	}
-- 
GitLab