X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=tests%2Fforeign-stack-alignment.impure.lisp;h=3900f60888cf821b01e8b7331b3887fc75ad2d4b;hb=961c7076f5fba67ddba0e12dd131104834348b1a;hp=9ed1a024536654dafd4b3caef8378d90e33652e1;hpb=2d7acdeb8e8076954522cb9ab14cdd7bb099dab0;p=sbcl.git diff --git a/tests/foreign-stack-alignment.impure.lisp b/tests/foreign-stack-alignment.impure.lisp index 9ed1a02..3900f60 100644 --- a/tests/foreign-stack-alignment.impure.lisp +++ b/tests/foreign-stack-alignment.impure.lisp @@ -32,10 +32,11 @@ (defvar *required-alignment* #+(and ppc darwin) 16 - #+(and ppc linux) 16 + #+(and ppc linux) 8 #+x86-64 16 - #+(or mips) 8 - #+x86 4 + #+mips 8 + #+(and x86 (not darwin)) 4 + #+(and x86 darwin) 16 #-(or x86 x86-64 mips (and ppc (or darwin linux))) (error "Unknown platform")) ;;;; Build the offset-tool as regular excutable, and run it with @@ -43,7 +44,8 @@ ;;;; number. (run "cc" - #+x86-64 "-fPIC" + #+(and (or linux freebsd) (or x86-64 ppc)) "-fPIC" + #+(and x86-64 darwin) "-arch" #+(and x86-64 darwin) "x86_64" "stack-alignment-offset.c" "-o" "stack-alignment-offset") (defparameter *good-offset* @@ -53,7 +55,8 @@ ;;;; Build the tool again, this time as a shared object, and load it (run "cc" "stack-alignment-offset.c" - #+x86-64 "-fPIC" + #+(and (or linux freebsd) (or x86-64 ppc)) "-fPIC" + #+(and x86-64 darwin) "-arch" #+(and x86-64 darwin) "x86_64" #+darwin "-bundle" #-darwin "-shared" "-o" "stack-alignment-offset.so")