[cmucl-commit] [git] CMU Common Lisp branch 19c-alpha-osf created. b09351d0b7440f482f40fab0ea24ea2b3a799ad1

Raymond Toy rtoy at common-lisp.net
Mon Sep 15 03:53:29 UTC 2014


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "CMU Common Lisp".

The branch, 19c-alpha-osf has been created
        at  b09351d0b7440f482f40fab0ea24ea2b3a799ad1 (commit)

- Log -----------------------------------------------------------------
commit b09351d0b7440f482f40fab0ea24ea2b3a799ad1
Author: Raymond Toy <toy.raymond at gmail.com>
Date:   Sun Sep 14 20:53:09 2014 -0700

    Cross-compile script from x86 to alpha.
    
    From Fausto Saporito.

diff --git a/tools/cross-scripts/cross-x86-alpha.lisp b/tools/cross-scripts/cross-x86-alpha.lisp
new file mode 100644
index 0000000..b116e19
--- /dev/null
+++ b/tools/cross-scripts/cross-x86-alpha.lisp
@@ -0,0 +1,182 @@
+(in-package :cl-user)
+
+;;; Rename the X86 package and backend so that new-backend does the
+;;; right thing.
+(rename-package "X86" "OLD-X86")
+(setf (c:backend-name c:*native-backend*) "OLD-X86")
+
+(c::new-backend "ALPHA"
+   ;; Features to add here
+   '(:alpha
+     :conservative-float-type
+     :hash-new :random-mt19937
+     :osf1 :bsd :unix
+     :cmu :cmu18 :cmu18e
+     )
+   ;; Features to remove from current *features* here
+   '(:x86-bootstrap :mips :x86 :i486 :pentium :ppro :alien-callback
+     :propagate-fun-type :propagate-float-type :constrain-float-type
+     :modular-arith
+     :openbsd :freebsd :glibc2 :linux :pentium :linkage-table :elf :mp
+     :stack-checking :heap-overflow-check :sparc :ppc :darwin :complex-fp-vops
+     :gencgc :cgc :double-double :long-float :new-random :small))
+   (setf *features* (remove :modular-arith *features*))
+(clrhash kernel::*modular-funs*)
+;;; Extern-alien-name for the new backend.
+(in-package :vm)
+(setf *features* (remove :modular-arith *features*))
+(defun extern-alien-name (name)
+  (declare (type simple-string name))
+  (concatenate 'string "_" name))
+(export 'extern-alien-name)
+(export 'fixup-code-object)
+(export 'sanctify-for-execution)
+
+;;; Compile the new backend.
+(pushnew :bootstrap *features*)
+(pushnew :building-cross-compiler *features*)
+(load "target:tools/comcom")
+
+;;; Load the new backend.
+(setf (search-list "c:")
+      '("target:compiler/"))
+(setf (search-list "vm:")
+      '("c:alpha/" "c:generic/"))
+(setf (search-list "assem:")
+      '("target:assembly/" "target:assembly/alpha/"))
+
+;; Load the backend of the compiler.
+
+(in-package "C")
+
+(load "vm:vm-macs")
+(load "vm:parms")
+(load "vm:objdef")
+(load "vm:interr")
+(load "assem:support")
+
+(load "target:compiler/srctran")
+(load "vm:vm-typetran")
+(load "target:compiler/float-tran")
+(load "target:compiler/saptran")
+
+(load "vm:macros")
+(load "vm:utils")
+
+(load "vm:vm")
+(load "vm:insts")
+(load "vm:primtype")
+(load "vm:move")
+(load "vm:sap")
+(load "vm:system")
+(load "vm:char")
+(load "vm:float")
+
+(load "vm:memory")
+(load "vm:static-fn")
+(load "vm:arith")
+(load "vm:cell")
+(load "vm:subprim")
+(load "vm:debug")
+(load "vm:c-call")
+(load "vm:print")
+(load "vm:alloc")
+(load "vm:call")
+(load "vm:nlx")
+(load "vm:values")
+(load "vm:array")
+(load "vm:pred")
+(load "vm:type-vops")
+
+(load "assem:assem-rtns")
+
+(load "assem:array")
+(load "assem:arith")
+(load "assem:alloc")
+
+(load "c:pseudo-vops")
+
+(check-move-function-consistency)
+
+(load "vm:new-genesis")
+
+;;; OK, the cross compiler backend is loaded.
+
+(setf *features* (remove :building-cross-compiler *features*))
+
+;;; Info environment hacks.
+(macrolet ((frob (&rest syms)
+             `(progn ,@(mapcar #'(lambda (sym)
+                                   `(defconstant ,sym
+                                      (symbol-value
+                                       (find-symbol ,(symbol-name sym)
+                                                    :vm))))
+                               syms))))
+  (frob OLD-X86:BYTE-BITS OLD-X86:WORD-BITS
+        #+long-float OLD-X86:SIMPLE-ARRAY-LONG-FLOAT-TYPE
+        OLD-X86:SIMPLE-ARRAY-DOUBLE-FLOAT-TYPE
+        OLD-X86:SIMPLE-ARRAY-SINGLE-FLOAT-TYPE
+        #+long-float OLD-X86:SIMPLE-ARRAY-COMPLEX-LONG-FLOAT-TYPE
+        OLD-X86:SIMPLE-ARRAY-COMPLEX-DOUBLE-FLOAT-TYPE
+        OLD-X86:SIMPLE-ARRAY-COMPLEX-SINGLE-FLOAT-TYPE
+        OLD-X86:SIMPLE-ARRAY-UNSIGNED-BYTE-2-TYPE
+        OLD-X86:SIMPLE-ARRAY-UNSIGNED-BYTE-4-TYPE
+        OLD-X86:SIMPLE-ARRAY-UNSIGNED-BYTE-8-TYPE
+        OLD-X86:SIMPLE-ARRAY-UNSIGNED-BYTE-16-TYPE
+        OLD-X86:SIMPLE-ARRAY-UNSIGNED-BYTE-32-TYPE
+        OLD-X86:SIMPLE-ARRAY-SIGNED-BYTE-8-TYPE
+        OLD-X86:SIMPLE-ARRAY-SIGNED-BYTE-16-TYPE
+        OLD-X86:SIMPLE-ARRAY-SIGNED-BYTE-30-TYPE
+        OLD-X86:SIMPLE-ARRAY-SIGNED-BYTE-32-TYPE
+        OLD-X86:SIMPLE-BIT-VECTOR-TYPE
+        OLD-X86:SIMPLE-STRING-TYPE OLD-X86:SIMPLE-VECTOR-TYPE
+        OLD-X86:SIMPLE-ARRAY-TYPE OLD-X86:VECTOR-DATA-OFFSET
+        ))
+
+(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)
+    (setf (info function kind 'kernel:error-number-or-lose) :function)
+    (setf (info function where-from 'kernel:error-number-or-lose) :defined)))
+
+(defun fix-class (name)
+  (let* ((new-value (find-class name))
+         (new-layout (kernel::%class-layout new-value))
+         (new-cell (kernel::find-class-cell name))
+         (*info-environment* (c:backend-info-environment c:*target-backend*)))
+    (remhash name kernel::*forward-referenced-layouts*)
+    (kernel::%note-type-defined name)
+    (setf (info type kind name) :instance)
+    (setf (info type class name) new-cell)
+    (setf (info type compiler-layout name) new-layout)
+    new-value))
+(fix-class 'c::vop-parse)
+(fix-class 'c::operand-parse)
+
+#+random-mt19937
+(declaim (notinline kernel:random-chunk))
+
+(setf c:*backend* c:*target-backend*)
+
+;;; Extern-alien-name for the new backend.
+(in-package :vm)
+(defun extern-alien-name (name)
+  (declare (type simple-string name))
+  (concatenate 'string "_" name))
+(export 'extern-alien-name)
+(export 'fixup-code-object)
+(export 'sanctify-for-execution)
+
+(in-package :cl-user)
+
+;;; Don't load compiler parts from the target compilation
+
+(defparameter *load-stuff* nil)
+
+;; hack, hack, hack: Make old-x86::any-reg the same as
+;; x86::any-reg as an SC.  Do this by adding old-x86::any-reg
+;; to the hash table with the same value as x86::any-reg.
+
+(let ((ht (c::backend-sc-names c::*target-backend*)))
+  (setf (gethash 'old-x86::any-reg ht)
+        (gethash 'alpha::any-reg ht)))

commit 16c7e026b7ba8a226d853e84fdf6286b24e329bd
Author: rtoy <rtoy>
Date:   Tue Nov 15 14:50:06 2005 +0000

    Update this to reflect current status.
    
    o Clean up version numbers
    o Remove the part about DEFSYSTEM.
    o Mention we only have UltraSPARC versions.
    o Remove the OpenBSD/x86 section
    o Add a section for Mac OS X/ppc.
    o Remove mention of binaries for Irix/MIPS and Linux/Alpha.

diff --git a/general-info/README b/general-info/README
index f8593fe..44f8f1c 100644
--- a/general-info/README
+++ b/general-info/README
@@ -37,25 +37,25 @@
    example using
 
       cd /usr/local
-      tar xzf /path/to/cmucl-18e-<platform>.tar.gz
+      tar xzf /path/to/cmucl-<ver>-<platform>.tar.gz
 
    or alternatively, install under a directory in /opt, for example
 
-      mkdir /opt/cmucl-18e
-      cd /opt/cmucl-18e
-      tar xzf /path/to/cmucl-18e-<platform>.tar.gz
+      mkdir /opt/cmucl-<ver>
+      cd /opt/cmucl-<ver>
+      tar xzf /path/to/cmucl-<ver>-<platform>.tar.gz
 
    You can now invoke CMUCL: this should display a banner then show a
    prompt (the default prompt is an asterisk).
 
       % lisp
-      CMU Common Lisp 18e, running on orion
-      With core: /prj/cmucl/release-18e/linux/lisp/lisp.core
+      CMU Common Lisp 19c, running on orion
+      With core: /prj/cmucl/release-19c/linux/lisp/lisp.core
       Dumped on: Thu, 2003-04-03 15:47:12+02:00 on orion
       See <http://www.cons.org/cmucl/> for support information.
       Loaded subsystems:
           Python 1.1, target Intel x86
-	 CLOS 18e (based on PCL September 16 92 PCL (f))
+	  CLOS based on Gerd's PCL 2004/04/14 03:32:47
       * (format t "~&Hello, world!~%")
       Hello, world!
       NIL
@@ -65,23 +65,11 @@
    -extra- tarball), just use REQUIRE:
 
       * (require :gray-streams)
+      * (require :simple-streams)
       * (require :clx)
       * (require :clm)
       * (require :hemlock)
 
-   DEFSYSTEM is not included with CMUCL, but can be obtained from
-   <URL:http://clocc.sf.net/>. It may be installed as a subsystem by
-   compiling it (using the function COMPILE-FILE), and moving the
-   resulting defsystem.FASL file to
-      /usr/local/lib/cmucl/lib/subsystems/defsystem-library.FASL
-   (where FASL is the file extension of compiled lisp files on your
-   system, for instance .sparcf or .x86f). You can then say
-
-      * (require :defsystem)
-
-   to load the DEFSYSTEM facility into your running lisp.
-
-
    You may wish to edit your site initialization file (in
    /usr/local/lib/cmucl/site-init.lisp).
 
@@ -92,11 +80,9 @@
    (also known respectively as Solaris 7 and Solaris 8), and should
    work on any later versions.
 
-   If you have an UltraSPARC processor you can get the v9 binaries,
-   which use instructions which are only present on SPARC-v9 (also called
-   v8plus for 32bit binaries) implementations; otherwise you should get
-   the binaries without v9 in the name of the tarball, which only require
-   a SPARC-v8 implementation.
+   Currently, only UltraSPARC binaries are provided, so you need an
+   UltraSPARC machine.  For older machines, you will need a special
+   build.  Please ask on the mailing lists if such builds are available.
 
    If you have an UltraSPARC the command uname -m will say sun4u, if you
    have an older machine such as a SparcStation it will probably say sun4m.
@@ -126,17 +112,18 @@
    4.x releases. 
 
 
-   +++ OpenBSD/x86
-   The release binaries should work with any i486 or better processor.
-   The binaries were built on OpenBSD 3.1.
+   +++ Mac OS X/ppc
+   The release binaries are built on a Mac OS X 10.4.x system.  They
+   are also known to work on 10.3.x.  They may not work on 10.2.x.
+   The binaries should work on any Power PC system, including G3, G4,
+   and G5's.
 
 
    +++ Other platforms
-   Binaries for other platforms supported by 18e sources might be made
+   Binaries for other platforms supported by 19c sources might be made
    available by contributors at later dates, the details of which were
-   not available at release time.  Especially binaries for Irix/MIPS
-   and Linux/Alpha are likely to be available.  Please see the README
-   file distributed with those binaries for details on platform-specific
+   not available at release time.  Please see the README file
+   distributed with those binaries for details on platform-specific
    notes for those platforms.
 
 
@@ -151,4 +138,4 @@
    Enjoy using CMUCL!
 
 
-2003-04-08
+2005-11-15

commit 2564cc4bd9bdcf8b462593f33fd915d85ba75492
Author: rtoy <rtoy>
Date:   Mon Nov 14 16:33:36 2005 +0000

    Update the date of the manual.

diff --git a/docs/cmu-user/cmu-user.tex b/docs/cmu-user/cmu-user.tex
index a2e1981..444da1c 100644
--- a/docs/cmu-user/cmu-user.tex
+++ b/docs/cmu-user/cmu-user.tex
@@ -46,7 +46,7 @@
 \newcommand{\keywords}{lisp, Common Lisp, manual, compiler, programming
 language implementation, programming environment}
 
-\date{CMUCL snapshot 2005-08}
+\date{Nov 2005 \\ Release 19c}
 % \date{May 1, 2004 \\ Release 19a}
 
 

commit 3f3ef1a1c072c1ffae129a6863c4e28fa2acd132
Author: rtoy <rtoy>
Date:   Tue Nov 8 17:32:37 2005 +0000

    Remove the work-in-progress line.

diff --git a/general-info/release-19c.txt b/general-info/release-19c.txt
index cb9769b..e904dc5 100644
--- a/general-info/release-19c.txt
+++ b/general-info/release-19c.txt
@@ -1,7 +1,5 @@
 ========================== C M U C L  19 c =============================
 
-[--- WORK IN PROGRESS --- DO NOT DISTRIBUTE ---]
-
 The CMUCL project is pleased to announce the release of CMUCL 19c.
 This is a major release which contains numerous enhancements and
 bugfixes from the 19b release.

commit 2312a5b1e7bca9ff2fc0c68322c5a336b0c7b9e5
Author: rtoy <rtoy>
Date:   Fri Oct 21 13:49:34 2005 +0000

    Merge:
    
    Fix typo.  It's ":-", not "-:"!

diff --git a/tools/build-world.sh b/tools/build-world.sh
index 5cfe684..9a76e10 100755
--- a/tools/build-world.sh
+++ b/tools/build-world.sh
@@ -43,7 +43,7 @@ $LISP "$@" -noinit -nositeinit <<EOF
 (comf "target:tools/setup" :load t)
 
 (setq *gc-verbose* nil)
-(setq *interactive* ${INTERACTIVE-:nil})
+(setq *interactive* ${INTERACTIVE:-nil})
 (setq debug:*debug-print-level* nil)
 (setq debug:*debug-print-length* nil)
 

commit a5a1acd3bf33594becbb787bd3c2fa34f2d9b917
Merge: ebda738 24d534c
Author: cvs2git <cvs2git>
Date:   Tue Oct 18 13:29:13 2005 +0000

    This commit was manufactured by cvs2svn to create branch 'release-19c-
    branch'.


-----------------------------------------------------------------------


hooks/post-receive
-- 
CMU Common Lisp


More information about the cmucl-commit mailing list