[prev in list] [next in list] [prev in thread] [next in thread] 

List:       sbcl-commits
Subject:    Re: [Sbcl-commits] master: Fix build under cmucl
From:       Stas Boukarev <stassats () gmail ! com>
Date:       2022-11-30 22:21:24
Message-ID: CAF63=132H8agD7=LQN2+UjL76Ts8VzL=wcSxu+m8Ov8oNBfwgA () mail ! gmail ! com
[Download RAW message or body]

That breaks the build everywhere:

"obj/from-xc/src/code/late-globaldb.lisp-obj"
fatal error encountered in SBCL pid 3081 tid 3081:
Internal error #11 "Object is of the wrong type." at 0x52c1563e
    SC: 0, Offset: 11 $1=   0x1000305ff7: list pointer
internal error too early in init, can't recover

    SC: 3, Offset: 11 $2=   0x50127693: instance pointer
    slot 0: 0x400030201 [raw]
    slot 8: 0xffffffc5 [raw]
    slot 9: 0x0 [raw]
    slot 10: 0x0 [raw]
    slot 11: 0xffffffffffffffff [raw]
   0: fp=0x7fde9d1679e0 pc=0x52c1563e SB-ALIEN-INTERNALS::COMPUTE-LISP-REP-TYPE

On Thu, Dec 1, 2022 at 1:13 AM Douglas Katzman via Sbcl-commits
<sbcl-commits@lists.sourceforge.net> wrote:
>
> The branch "master" has been updated in SBCL:
>        via  e6196f5c107bd471b0329ae1219d777665c01020 (commit)
>       from  3eb9065bb3818f0f6ea890f511f740f36066f99b (commit)
>
> - Log -----------------------------------------------------------------
> commit e6196f5c107bd471b0329ae1219d777665c01020
> Author: Douglas Katzman <dougk@google.com>
> Date:   Wed Nov 30 17:06:32 2022 -0500
>
>     Fix build under cmucl
> ---
>  src/code/alieneval.lisp | 22 +++++++++++++---------
>  1 file changed, 13 insertions(+), 9 deletions(-)
>
> diff --git a/src/code/alieneval.lisp b/src/code/alieneval.lisp
> index 7a01c3944..f744ca53d 100644
> --- a/src/code/alieneval.lisp
> +++ b/src/code/alieneval.lisp
> @@ -785,9 +785,6 @@
>  (define-alien-type-class (single-float :include (float (bits 32))
>                                         :include-args (type)))
>
> -(define-alien-type-translator single-float ()
> -  (load-time-value (make-alien-single-float-type :type 'single-float) t))
> -
>  (define-alien-type-method (single-float :extract-gen) (type sap offset)
>    (declare (ignore type))
>    `(sap-ref-single ,sap (/ ,offset sb-vm:n-byte-bits)))
> @@ -795,9 +792,6 @@
>  (define-alien-type-class (double-float :include (float (bits 64))
>                                         :include-args (type)))
>
> -(define-alien-type-translator double-float ()
> -  (load-time-value (make-alien-double-float-type :type 'double-float) t))
> -
>  (define-alien-type-method (double-float :extract-gen) (type sap offset)
>    (declare (ignore type))
>    `(sap-ref-double ,sap (/ ,offset sb-vm:n-byte-bits)))
> @@ -807,9 +801,6 @@
>
>  (define-alien-type-class (system-area-pointer))
>
> -(define-alien-type-translator system-area-pointer ()
> -  (load-time-value (make-alien-system-area-pointer-type :bits sb-vm:n-machine-word-bits) t))
> -
>  (define-alien-type-method (system-area-pointer :unparse) (type)
>    (declare (ignore type))
>    'system-area-pointer)
> @@ -835,6 +826,19 @@
>    (declare (ignore type))
>    `(sap-ref-sap ,sap (/ ,offset sb-vm:n-byte-bits)))
>
> +;; CMUCL (sometimes/always?) does not permit using a structure constructor from
> +;; earlier in this file within a LOAD-TIME-VALUE form later in the file.
> +(macrolet ((def-singleton-type (type ctor)
> +             #+sb-xc-host
> +             (let ((pseudo-const (symbolicate "*" type "-TYPE*")))
> +               `(progn (defvar ,pseudo-const ,ctor)
> +                       (define-alien-type-translator ,type () ,pseudo-const)))
> +             #-sb-xc-host
> +             `(define-alien-type-translator ,type () '(load-time-value ,ctor t))))
> +  (def-singleton-type single-float (make-alien-single-float-type :type 'single-float))
> +  (def-singleton-type double-float (make-alien-double-float-type :type 'double-float))
> +  (def-singleton-type system-area-pointer
> +      (make-alien-system-area-pointer-type :bits sb-vm:n-machine-word-bits)))
>
>  ;;;; the ALIEN-VALUE type
>
>
> -----------------------------------------------------------------------
>
>
> hooks/post-receive
> --
> SBCL
>
>
> _______________________________________________
> Sbcl-commits mailing list
> Sbcl-commits@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/sbcl-commits


_______________________________________________
Sbcl-commits mailing list
Sbcl-commits@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/sbcl-commits
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic