X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=tests%2Fforeign-stack-alignment.impure.lisp;h=069c5e8172141ba53aaebbe4be54ad9891253ae1;hb=6d36f2d6954cb79e3c88fef33fe0c3ad63deaea8;hp=128d21f161053f45a0d3be7ca51962a7b8c520df;hpb=801730762f17302c33b70398b632aa1393c6722a;p=sbcl.git diff --git a/tests/foreign-stack-alignment.impure.lisp b/tests/foreign-stack-alignment.impure.lisp index 128d21f..069c5e8 100644 --- a/tests/foreign-stack-alignment.impure.lisp +++ b/tests/foreign-stack-alignment.impure.lisp @@ -22,7 +22,7 @@ (output (with-output-to-string (s) (setf proc (run-program program arguments - :search (not (eql #\. (char program 0))) + :environment (test-util::test-env) :output s))))) (unless (zerop (process-exit-code proc)) (error "Bad exit code: ~S~%Output:~% ~S" @@ -32,20 +32,18 @@ (defvar *required-alignment* #+(and ppc darwin) 16 - #+(and ppc linux) 8 + #+(and ppc (not darwin)) 8 #+x86-64 16 #+mips 8 #+(and x86 (not darwin)) 4 #+(and x86 darwin) 16 - #-(or x86 x86-64 mips (and ppc (or darwin linux))) (error "Unknown platform")) + #-(or x86 x86-64 mips ppc) (error "Unknown platform")) ;;;; Build the offset-tool as regular excutable, and run it with ;;;; fork/exec, so that no lisp is on the stack. This is our known-good ;;;; number. -(run "cc" - #+(and (or linux freebsd) (or x86-64 ppc mips)) "-fPIC" - #+(and x86-64 darwin) "-arch" #+(and x86-64 darwin) "x86_64" +(run "/bin/sh" "run-compiler.sh" "-sbcl-pic" "stack-alignment-offset.c" "-o" "stack-alignment-offset") (defparameter *good-offset* @@ -54,11 +52,8 @@ ;;;; Build the tool again, this time as a shared object, and load it -(run "cc" "stack-alignment-offset.c" - #+(and (or linux freebsd) (or x86-64 ppc mips)) "-fPIC" - #+(and x86-64 darwin) "-arch" #+(and x86-64 darwin) "x86_64" - #+darwin "-bundle" #-darwin "-shared" - "-o" "stack-alignment-offset.so") +(run "/bin/sh" "run-compiler.sh" "-sbcl-pic" "-sbcl-shared" + "stack-alignment-offset.c" "-o" "stack-alignment-offset.so") (load-shared-object (truename "stack-alignment-offset.so"))