Raymond Toy pushed to branch master at cmucl / cmucl
Commits: 6167e353 by Raymond Toy at 2018-12-08T16:58:15Z Update version numbers for 21d.
- - - - - b664e46d by Raymond Toy at 2018-12-08T16:58:15Z Merge branch '21d-branch' into 'master'
Update version numbers for 21d.
See merge request cmucl/cmucl!43 - - - - -
4 changed files:
- .gitlab-ci.yml - + src/bootfiles/21c/boot-21d.lisp - src/compiler/byte-comp.lisp - src/general-info/release-21d.md
Changes:
===================================== .gitlab-ci.yml ===================================== @@ -1,6 +1,7 @@ variables: - download_url: "https://common-lisp.net/project/cmucl/downloads/snapshots/2018/03" - version: "2018-03-x86" + download_url: "https://common-lisp.net/project/cmucl/downloads/snapshots/2018/10" + version: "2018-10-x86" + bootstrap: "-B boot-21d.lisp"
linux-runner: image: ubuntu:16.04 @@ -13,7 +14,7 @@ linux-runner: - mkdir snapshot - (cd snapshot; tar xjf ../cmucl-$version-linux.tar.bz2; tar xjf ../cmucl-$version-linux.extra.tar.bz2) script: - - bin/build.sh -C "" -o snapshot/bin/lisp + - bin/build.sh $bootstrap -C "" -o snapshot/bin/lisp - bin/make-dist.sh -I dist linux-4 - bin/run-tests.sh -l dist/bin/lisp 2>&1 | tee test.log
@@ -25,6 +26,6 @@ osx-runner: - mkdir snapshot - (cd snapshot; tar xjf ../cmucl-$version-darwin.tar.bz2) script: - - bin/build.sh -C "" -o snapshot/bin/lisp + - bin/build.sh $bootstrap -C "" -o snapshot/bin/lisp - bin/make-dist.sh -I dist darwin-4 - bin/run-tests.sh -l dist/bin/lisp 2>&1 | tee test.log
===================================== src/bootfiles/21c/boot-21d.lisp ===================================== @@ -0,0 +1,68 @@ +;;;; +;;;; Boot file for changing the fasl file version numbers to 21d. +;;;; + +(in-package :c) + +(setf lisp::*enable-package-locked-errors* nil) + +;;; +;;; Note that BYTE-FASL-FILE-VERSION is a constant. +;;; +;;; (Be sure to change BYTE-FASL-FILE-VERSION in +;;; compiler/byte-comp.lisp to the correct value too!) +;;; +#-cmu21d +(setf (symbol-value 'byte-fasl-file-version) #x21d) +#-cmu21d +(setf (backend-fasl-file-version *target-backend*) #x21d) + +;;; +;;; Don't check fasl versions in the compiling Lisp because we'll +;;; load files compiled with the new version numbers. +;;; +#-cmu21d +(setq lisp::*skip-fasl-file-version-check* t) + +;;; +;;; This is here because BYTE-FASL-FILE-VERSION is constant-folded in +;;; OPEN-FASL-FILE. To make the new version number take effect, we +;;; have to redefine the function. +;;; +#-cmu21d +(defun open-fasl-file (name where &optional byte-p) + (declare (type pathname name)) + (let* ((stream (open name :direction :output + :if-exists :new-version + :element-type '(unsigned-byte 8) + :class 'binary-text-stream)) + (res (make-fasl-file :stream stream))) + (multiple-value-bind + (version f-vers f-imp) + (if byte-p + (values "Byte code" + byte-fasl-file-version + (backend-byte-fasl-file-implementation *backend*)) + (values (backend-version *backend*) + (backend-fasl-file-version *backend*) + (backend-fasl-file-implementation *backend*))) + (format stream + "FASL FILE output from ~A.~@ + Compiled ~A on ~A~@ + Compiler ~A, Lisp ~A~@ + Targeted for ~A, FASL version ~X~%" + where + (ext:format-universal-time nil (get-universal-time)) + (machine-instance) compiler-version + (lisp-implementation-version) + version f-vers) + ;; + ;; Terminate header. + (dump-byte 255 res) + ;; + ;; Specify code format. + (dump-fop 'lisp::fop-long-code-format res) + (dump-byte f-imp res) + (dump-unsigned-32 f-vers res)) + res)) +
===================================== src/compiler/byte-comp.lisp ===================================== @@ -38,7 +38,7 @@ ;; 0-9 followed by a single hex digit in the range a-f. Then the ;; version looks like a decimal number followed by a minor release ;; letter of a to f. -(defconstant byte-fasl-file-version #x21c) +(defconstant byte-fasl-file-version #x21d)
(let* ((version-string (format nil "~X" byte-fasl-file-version))) ;; Add :cmu<n> to *features*
===================================== src/general-info/release-21d.md ===================================== @@ -1,4 +1,3 @@ -** Work in Progress ** # CMUCL 21d
The CMUCL project is pleased to announce the release of CMUCL 21c. @@ -31,6 +30,8 @@ public domain. * ANSI compliance fixes: * Bug fixes: * Gitlab tickets: + * ~~#48~~ Update RNG from MT19937 to xoroshiro128+ + * ~~#45~~ Handling of relative paths in `EXT:RUN-PROGRAM` * ~~#50~~ CLX (Hemlock) fails to run. * ~~#49~~ CLM crashes * ~~#47~~ Backquate and multiple splices @@ -40,6 +41,7 @@ public domain. * ~~#61~~ Segfault when compiling call to `ARRAY-HAS-FILL-POINTER-P` on bit vector constant * ~~#62~~ Segfault when compiling `ARRAY-DISPLACEMENT` on a string constant * ~~#69~~ GC assertions compiled in and allow user to enable them. + * ~~#71~~ More info for `MACHINE-TYPE` and `MACHINE-VERSION` for x86 * Other changes: * Improvements to the PCL implementation of CLOS: * Changes to building procedure:
View it on GitLab: https://gitlab.common-lisp.net/cmucl/cmucl/compare/3843a50c6aea367e8a16ff217...