Ohhhh ... BIG NeWS! 19c works! Cross compiling was fine. Now if I understood well, I have to move all the alpha-target directory in Tru64 and recompile... correct ? Using src/tools/build-world.sh script ?
thanks Fausto 2014-09-03 11:28 GMT+02:00 Fausto Saporito <[email protected]>: > Hello all, > > I saw there're some patches for 19c and 19d and I found how to apply them. > The question is: how can I update the lisp.core ? Is it needed ? Or do > I have to load each time those patches ? > > thanks, > Fausto > > > 2014-09-03 8:41 GMT+02:00 Fausto Saporito <[email protected]>: >> Hello Ray, >> >> no luck with 19d. But maybe it has the double-double support too... >> >> I have the same errors, but instead of sigsegv at the end, I got a >> stack overflow: >> >> Control stack overflow >> [Condition of type STACK-OVERFLOW] >> >> Restarts: >> 0: [CONTINUE] Blow this file >> 1: Return NIL from load of "target:tools/worldcom". >> 2: [ABORT ] Return to Top-Level. >> >> Debug (type H for help) >> >> (YELLOW-ZONE-HIT) >> Source: >> ; File: target:code/interr.lisp >> (ERROR 'STACK-OVERFLOW) >> >> and in compile-compiler.log I found again a DOUBLE-DOUBLE reference: >> >> ; Comment: $Header: >> /project/cmucl/cvsroot/src/compiler/new-assem.lisp,v 1.34 2004/08/02 >> 16:04:42 cwang Exp $ >> >> ; Compiling DEFUN SEGMENT-MAP-OUTPUT: >> >> Bound is not *, a DOUBLE-DOUBLE-FLOAT or a list of a DOUBLE-DOUBLE-FLOAT: 0 >> >> Aborting... >> >> I'll try with 19c >> >> 2014-09-03 8:29 GMT+02:00 Fausto Saporito <[email protected]>: >>> Hello Ray, >>> >>> I started with 19d, but I have this strange error: >>> >>> ; Error: (during macroexpansion) >>> ; >>> ; Error in function META-SC-OR-LOSE: >>> ; DOUBLE-DOUBLE-REG is not a defined storage class. >>> ; ; >>> >>> ; Error: (during macroexpansion) >>> ; >>> ; Error in function META-SC-OR-LOSE: >>> ; COMPLEX-DOUBLE-DOUBLE-REG is not a defined storage class. >>> >>> but in 19d there shouldn't be support for DOUBLE-DOUBLE ... correct ? >>> >>> I'm using 19d binaries to cross-build 19d >>> >>> 2014-09-03 4:17 GMT+02:00 Raymond Toy <[email protected]>: >>>> >>>> >>>> >>>> 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
