From 23a6c72eaa5ccd2ac26228aa5ef5701feffb978f Mon Sep 17 00:00:00 2001 From: cwang <cwang> Date: Tue, 20 Jul 2004 22:39:21 +0000 Subject: [PATCH] for C calls, the stack must be dual word aligned --- compiler/amd64/c-call.lisp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/compiler/amd64/c-call.lisp b/compiler/amd64/c-call.lisp index c15434532..c30c8d8b1 100644 --- a/compiler/amd64/c-call.lisp +++ b/compiler/amd64/c-call.lisp @@ -7,7 +7,7 @@ ;;; Scott Fahlman or slisp-group@cs.cmu.edu. ;;; (ext:file-comment - "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/amd64/c-call.lisp,v 1.2 2004/07/06 20:10:22 cwang Exp $") + "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/amd64/c-call.lisp,v 1.3 2004/07/20 22:39:21 cwang Rel $") ;;; ;;; ********************************************************************** ;;; @@ -261,6 +261,9 @@ (dotimes (i 8) (fp-pop)) + ;; C stack must be 16 byte aligned + (inst mov r11 #xfffffffffffffff0) + (inst and rsp-tn r11) (inst call rbx) ;; To give the debugger a clue. XX not really internal-error? (note-this-location vop :internal-error) -- GitLab