5 # The relocation test binary can only be built on linux.
6 # FIXME: This test _should_ work on any architecture, but it doesn't,
7 # so there must have been a regression in the heap relocator.
8 data
=`run_sbcl --eval '(progn #+linux(progn(princ "fakemap") #+64-bit(princ "_64")))' \
12 # shell tests don't have a way of exiting as "not applicable"
16 test_sbcl
=..
/src
/runtime
/heap-reloc-test
21 (cd ..
/src
/runtime
; make heap-reloc-test
)
23 # Exercise all the lines of 'fakemap' by starting up N times in a row.
24 # KLUDGE: assume N = 6
25 # FIXME: don't assume that N = 6
27 export SBCL_FAKE_MMAP_INSTRUCTION_FILE
=`pwd`/heap-reloc
/$data
31 export SBCL_FAKE_MMAP_INSTRUCTION_LINE
=$i
32 $test_sbcl --lose-on-corruption --disable-ldb --noinform --core ..
/output
/sbcl.core \
33 --no-sysinit --no-userinit --noprint --disable-debugger \
34 --eval '(gc :full t)' \
35 --eval '(defun fib (n) (if (<= n 1) 1 (+ (fib (- n 1)) (fib (- n 2)))))' \
36 --eval "(compile 'fib)" -quit