Raymond Toy pushed to branch sparc64-dev at cmucl / cmucl
Commits: 19bb3ddb by Raymond Toy at 2016-12-24T11:09:33-08:00 Add solaris64-features.lisp
For now solairs64-features.lisp is the same as solaris-features.lisp, excepti it adds :sparc64 to *features*.
Update create-target.sh to use solaris64-features.lisp when hte config is sparc64.
- - - - -
2 changed files:
- bin/create-target.sh - + src/tools/setenv-scripts/solaris64-features.lisp
Changes:
===================================== bin/create-target.sh ===================================== --- a/bin/create-target.sh +++ b/bin/create-target.sh @@ -63,6 +63,7 @@ uname_m=`uname -m 2>/dev/null` case $lisp_variant in *linux*) lvshort=linux;; *freebsd*) lvshort=freebsd;; + *sparc64*) lvshort=solaris64;; *solaris*|sparc*) lvshort=solaris;; *) lvshort=unknown;; esac @@ -118,7 +119,8 @@ echo '#error You need to run genesis (via build-world.sh) before compiling the s cat $setenv_dir/base-features.lisp case $lvshort in linux|freebsd) gcname=":gencgc"; sed "s;@@gcname@@;$gcname;" $setenv_dir/$lvshort-features.lisp >> setenv.lisp;; + solaris64) cat $setenv_dir/solaris64-features.lisp;; solaris) cat $setenv_dir/solaris-features.lisp;; *) sed "s;@@LISP@@;$lisp_variant;" $setenv_dir/unknown.lisp;; - esac + esac2 ) > ../setenv.lisp || quit "Can't create setenv.lisp"
===================================== src/tools/setenv-scripts/solaris64-features.lisp ===================================== --- /dev/null +++ b/src/tools/setenv-scripts/solaris64-features.lisp @@ -0,0 +1,24 @@ +;; e.g. for Solaris on sparc you probably want some of these: +;;(pushnew :sparc *features*) +;;(pushnew :svr4 *features*) + +;; Solaris supports linkage-table +;;(pushnew :linkage-table *features*) + +;; CPU selection: +;; Sparc-v7 gives us fsqrt instruction +;;(pushnew :sparc-v7 *features*) +;;(setf *features* (remove :sparc-v7 *features*)) +;; Sparc-v8 gives us an integer multiply and divide instruction +;;(pushnew :sparc-v8 *features*) +;;(setf *features* (remove :sparc-v8 *features*)) +;; Sparc-v9 gives us the extra FP registers, fast bignum multiply and +;; floor, other float operations available on the Sparc V9, and other +;; assorted V9 features. +;;(pushnew :sparc-v9 *features*) +;;(setf *features* (remove :sparc-v9 *features*)) + +;; This enables some hand-written vops for complex float arithmetic. +;; +;;(pushnew :complex-fp-vops *features*) +(pushnew :sparc64 *features*)
View it on GitLab: https://gitlab.common-lisp.net/cmucl/cmucl/commit/19bb3ddb0dbee98c8be7f8ef6c...