Raymond Toy pushed to branch sparc64-dev at cmucl / cmucl
Commits:
d4418c5f by Raymond Toy at 2016-12-25T08:58:58-08:00
Remove :alien-callback
For some reason alien-callback.lisp causes errors when rebuilding the
world using the x86 cross-compiled result. It's not needed by core
cmucl so lets just not compile it all on sparc64. We'll investigate
that later. Besides, the current code very likely wouldn't work
correctly on sparc64 anyway.
- - - - -
1 changed file:
- src/tools/cross-scripts/cross-x86-sparc64.lisp
Changes:
=====================================
src/tools/cross-scripts/cross-x86-sparc64.lisp
=====================================
--- a/src/tools/cross-scripts/cross-x86-sparc64.lisp
+++ b/src/tools/cross-scripts/cross-x86-sparc64.lisp
@@ -36,7 +36,10 @@
:unix
)
;; Features to remove from current *features* here
- '(:sparc-v8 :sparc-v7 ; Choose only one of :sparc-v7, :sparc-v8, :sparc-v9
+ '(
+ ;; Currently don't support alien callbacks on sparc64.
+ :alien-callback
+ :sparc-v8 :sparc-v7 ; Choose only one of :sparc-v7, :sparc-v8, :sparc-v9
;; Other architectures we aren't using. Particularly important
;; to get rid of sse2 and x87 so we don't accidentally try to
;; compile the x87/sse2 float support on sparc, which won't work.
View it on GitLab: https://gitlab.common-lisp.net/cmucl/cmucl/commit/d4418c5f84b5bcdb61f6bfa32…
Raymond Toy pushed to branch sparc64-dev at cmucl / cmucl
Commits:
afffd171 by Raymond Toy at 2016-12-24T11:14:59-08:00
Fix typo.
- - - - -
1 changed file:
- bin/create-target.sh
Changes:
=====================================
bin/create-target.sh
=====================================
--- a/bin/create-target.sh
+++ b/bin/create-target.sh
@@ -122,5 +122,5 @@ echo '#error You need to run genesis (via build-world.sh) before compiling the s
solaris64) cat $setenv_dir/solaris64-features.lisp;;
solaris) cat $setenv_dir/solaris-features.lisp;;
*) sed "s;@@LISP@@;$lisp_variant;" $setenv_dir/unknown.lisp;;
- esac2
+ esac
) > ../setenv.lisp || quit "Can't create setenv.lisp"
View it on GitLab: https://gitlab.common-lisp.net/cmucl/cmucl/commit/afffd17197b00b38af6458dac…
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/19bb3ddb0dbee98c8be7f8ef6…