From 443b6526156d7ff1702dd587c9e250d421f0d710 Mon Sep 17 00:00:00 2001 From: rtoy <rtoy> Date: Fri, 14 Jul 2006 13:09:33 +0000 Subject: [PATCH] Merge in changes from the cross-compile scripts used for the double-double work. This makes the script a bit more up-to-date. --- tools/cross-scripts/cross-sparc-sparc.lisp | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/tools/cross-scripts/cross-sparc-sparc.lisp b/tools/cross-scripts/cross-sparc-sparc.lisp index a782d4cc3..9650b4c00 100644 --- a/tools/cross-scripts/cross-sparc-sparc.lisp +++ b/tools/cross-scripts/cross-sparc-sparc.lisp @@ -12,15 +12,17 @@ :complex-fp-vops ; Some slightly faster FP vops on complex numbers :linkage-table :stack-checking ; Throw error if we run out of stack - :heap-overflow-check ; Throw error if we run out of heap + :heap-overflow-check ; Throw error if we run out of + ; heap (This requires gencgc!) :gencgc ; Generational GC :relative-package-names ; Relative package names from Allegro :conservative-float-type :hash-new :random-mt19937 ; MT-19937 generator :cmu ; Announce this is CMUCL - :cmu19 :cmu19a ; Current version identifier + :cmu19 :cmu19c ; Current version identifier :modular-arith ; Modular arithmetic + :double-double ; Double-double float support ) ;; Features to remove from current *features* here '(:sparc-v8 :sparc-v7 ; Choose only one of :sparc-v7, :sparc-v8, :sparc-v9 @@ -161,8 +163,23 @@ OLD-SPARC:SIMPLE-BIT-VECTOR-TYPE OLD-SPARC:SIMPLE-STRING-TYPE OLD-SPARC:SIMPLE-VECTOR-TYPE OLD-SPARC:SIMPLE-ARRAY-TYPE OLD-SPARC:VECTOR-DATA-OFFSET + OLD-SPARC:DOUBLE-FLOAT-DIGITS + old-sparc:single-float-digits + OLD-SPARC:DOUBLE-FLOAT-EXPONENT-BYTE + OLD-SPARC:DOUBLE-FLOAT-NORMAL-EXPONENT-MAX + OLD-SPARC:DOUBLE-FLOAT-SIGNIFICAND-BYTE + OLD-SPARC:SINGLE-FLOAT-EXPONENT-BYTE + OLD-SPARC:SINGLE-FLOAT-NORMAL-EXPONENT-MAX + OLD-SPARC:SINGLE-FLOAT-SIGNIFICAND-BYTE )) +;; Modular arith hacks. When cross-compiling, the compiler wants to +;; constant-fold some stuff, and it needs the following functions to +;; do so. This just gets rid of the hundreds of errors that happen. +(setf (fdefinition 'vm::ash-left-mod32) #'old-sparc::ash-left-mod32) +(setf (fdefinition 'vm::lognot-mod32) #'old-sparc::lognot-mod32) +;; End modular arith hacks + (let ((function (symbol-function 'kernel:error-number-or-lose))) (let ((*info-environment* (c:backend-info-environment c:*target-backend*))) (setf (symbol-function 'kernel:error-number-or-lose) function) -- GitLab