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