[cmucl-help] CMUCL 18c building on tru64 5.1

Raymond Toy toy.raymond at gmail.com
Wed Sep 3 16:15:42 UTC 2014


What patches are you talking about? Are you talking about
cmucl-19c-patch-001a.tar.gz? You don't have to update lisp.core with them,
but you can.  Just load up the patch and (save-lisp "new.core"). You can
copy this new core over the top of lisp.core.


On Wed, Sep 3, 2014 at 2:28 AM, Fausto Saporito <fausto.saporito at gmail.com>
wrote:

> 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 <fausto.saporito at gmail.com>:
> > 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 <fausto.saporito at gmail.com>:
> >> 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 <toy.raymond at gmail.com>:
> >>>
> >>>
> >>>
> >>> On Tue, Sep 2, 2014 at 4:53 PM, Fausto Saporito <
> fausto.saporito at gmail.com>
> >>> 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
> >>>
> >>>
>


More information about the cmucl-help mailing list