diff --git a/ChangeLog b/ChangeLog index 29a4dbac..43e1fc67 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2013-11-06 Mark Kettenis + + * src/x86/freebsd.S (ffi_call_SYSV): Align the stack pointer to + 16-bytes. + 2013-11-06 Konstantin Belousov * src/x86/freebsd.S (ffi_closure_raw_SYSV): Mark the assembler diff --git a/src/x86/freebsd.S b/src/x86/freebsd.S index 504349a8..97e0b4eb 100644 --- a/src/x86/freebsd.S +++ b/src/x86/freebsd.S @@ -49,6 +49,9 @@ ffi_call_SYSV: movl 16(%ebp),%ecx subl %ecx,%esp + /* Align the stack pointer to 16-bytes */ + andl $0xfffffff0, %esp + movl %esp,%eax /* Place all of the ffi_prep_args in position */