Raymond Toy pushed to branch master at cmucl / cmucl

Commits:

4 changed files:

Changes:

  • .gitlab-ci.yml
    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

  • src/bootfiles/21c/boot-21d.lisp
    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
    +

  • src/compiler/byte-comp.lisp
    ... ... @@ -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*
    

  • src/general-info/release-21d.md
    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: