Re: CMUCL 18c building on tru64 5.1
Raymond Toy <[email protected]> Tue, 2 Sep 2014 19:17:26 -0700
| Newsgroups | gmane.lisp.cmucl.general |
|---|---|
| Message-ID | <CAG14z1GHOprwy59Y94BT4=eLJ_+00ZXvnUfD6YhjufvvWpN8OQ@mail.gmail.com> |
On Tue, Sep 2, 2014 at 4:53 PM, Fausto Saporito <[email protected]> wrote: > Hello Raymond, > > thanks for these hints about cross.lisp > I put in the proper section the unwanted feature. > > So, if I force the redefinition of those symbols at the end of > alpha-cross compiling phase, alpha-target starts but I noticed this > error among the others: > > ; File: /home/fausap/CMUCL/git-ver/cmucl/src/code/lispinit.lisp > > ; In: DEFUN SLEEP > > ; (ERROR 'SIMPLE-TYPE-ERROR > ; :FORMAT-CONTROL "Invalid argument to SLEEP: ~S.~%~ > ; Must be a non-negative, non-complex number." > ; :FORMAT-ARGUMENTS ...) > ; Note: Deleting unreachable code. > ; > > DOUBLE-DOUBLE-FLOAT fell through ECASE expression. > Wanted one of (REAL FLOAT OR SINGLE-FLOAT DOUBLE-FLOAT RATIONAL INTEGER). > > it's very strange... I disabled double-double... why I have this error ? > I think it's a mismatch between what the cross compiler has and what the host compiler has. I've never figured this out. So, I think it's best to start with a lisp without double-double support. Support for double-double was apparently done by 19e, so your best bet is to do a checkout from 19d. I think everything that you've done up to now still applies. Once that is done, we can consider adding double-double for alpha. It's relatively easy, but you'll have to write a bunch of vops. They can probably be copied almost verbatim from the sparc or ppc ports with small changes in the actual instructions. > > This is my features list in cross.lisp (I removed extern-alien-name, > fixup, etc... I don't know what they are doing... so maybe I can put > back later) > > ;;; Cross-compile script to build a alpha core using x86 as the > ;;; compiling system. This needs work! > > (in-package :cl-user) > > ;;; Rename the X86 package and backend so that new-backend does the > ;;; right thing. > (rename-package "X86" "OLD-X86" '("OLD-VM")) > (setf (c:backend-name c:*native-backend*) "OLD-X86") > > (c::new-backend "ALPHA" > ;; Features to add here > '(:alpha > :relative-package-names ; Relative package names from > Allegro > :conservative-float-type > :hash-new > :random-mt19937 ; MT-19937 generator > :cmu ; Announce this is CMUCL > :cmu20 :cmu20b ; Current version identifier > :osf1 > :bsd > :unix > ) > ;; Features to remove from current *features* here > '(:sparc-v8 :sparc-v7 :sparc-v9 :sparc > ;; 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. > :x86 :x86-bootstrap :sse2 :x87 :i486 > :mips :complex-fp-vops > ;; Really old stuff that should have been removed long ago. > :propagate-fun-type :propagate-float-type :constrain-float-type > :double-double > :linkage-table > :stack-checking ; Throw error if we run out of > stack > :heap-overflow-check ; Throw error if we run out of > ; heap (This requires gencgc!) > :gencgc ; Generational GC > :modular-arith ; Modular arithmetic > :executable > ;; Other OSes were not using > :openbsd :freebsd :glibc2 :linux :mach-o :darwin :sunos :svr4 > :solaris :sun4 > :pentium > :long-float > :new-random > :small > :mp)) > One last thing: remove :alien-callback too. Alpha doesn't support that. Hopefully this will get us farther along.... -- Ray _______________________________________________ cmucl-help mailing list [email protected] http://lists.zs64.net/mailman/listinfo/cmucl-help