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
