diff --git a/tools/cross-scripts/cross-sparc-sparc.lisp b/tools/cross-scripts/cross-sparc-sparc.lisp index 0a6852c0c90bcb784537687367dff7c21aa25704..67d3fb39f4592b4708cf25c082eb43b854e0bc36 100644 --- a/tools/cross-scripts/cross-sparc-sparc.lisp +++ b/tools/cross-scripts/cross-sparc-sparc.lisp @@ -1,25 +1,33 @@ (in-package :cl-user) -;;; Rename the X86 package and backend so that new-backend does the +;;; Rename the SPARC package and backend so that new-backend does the ;;; right thing. (rename-package "SPARC" "OLD-SPARC") (setf (c:backend-name c:*native-backend*) "OLD-SPARC") (c::new-backend "SPARC" ;; Features to add here - '(:sparc :sparc-v8 + '(:sparc :sparc-v9 :complex-fp-vops :linkage-table + :stack-checking + :gencgc :conservative-float-type :hash-new :random-mt19937 - :cmu :cmu18 :cmu18e + :cmu :cmu19 :cmu19a ) ;; Features to remove from current *features* here - '(:sparc-v9 :x86 :x86-bootstrap :alpha :osf1 :mips + '(:sparc-v8 :sparc-v7 :x86 :x86-bootstrap :alpha :osf1 :mips :propagate-fun-type :propagate-float-type :constrain-float-type :openbsd :freebsd :glibc2 :linux :pentium :long-float :new-random :small)) +;;; May need to add some symbols to *features* and +;;; sys::*runtime-features* as well. This might be needed even if we +;;; have those listed above, because of the code checks for things in +;;; *features* and not in the backend-features.. So do that here. + + ;;; Extern-alien-name for the new backend. (in-package :vm) (defun extern-alien-name (name) @@ -183,6 +191,9 @@ (defparameter *load-stuff* nil) +;; Sometimes during cross-compile sparc::any-reg isn't defined during +;; cross-compile. +;; ;; hack, hack, hack: Make old-sparc::any-reg the same as ;; sparc::any-reg as an SC. Do this by adding old-sparc::any-reg ;; to the hash table with the same value as sparc::any-reg.