From 5f6cedeb0cfa720ac53c155e43965f4fe2ca7083 Mon Sep 17 00:00:00 2001 From: Douglas Katzman Date: Fri, 13 Oct 2017 15:41:59 -0400 Subject: [PATCH] Provide the :ABORT restart in warm load --- make-target-2.sh | 4 ++-- src/code/target-load.lisp | 6 ++++++ 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/make-target-2.sh b/make-target-2.sh index f20a469e1..24dd3b800 100755 --- a/make-target-2.sh +++ b/make-target-2.sh @@ -43,12 +43,12 @@ if [ "$1" != --load ]; then echo //doing warm init - compilation phase ./src/runtime/sbcl --core output/cold-sbcl.core \ --lose-on-corruption --no-sysinit --no-userinit \ - --load src/cold/warm.lisp --quit + --eval '(sb-fasl::!warm-load "src/cold/warm.lisp")' --quit fi echo //doing warm init - load and dump phase ./src/runtime/sbcl --core output/cold-sbcl.core \ --lose-on-corruption --no-sysinit --no-userinit \ - --load make-target-2-load.lisp \ + --eval '(sb-fasl::!warm-load "make-target-2-load.lisp")' \ --eval '(progn #+gencgc(setf (extern-alien "gc_coalesce_string_literals" char) 2))' \ --eval '(sb-ext:save-lisp-and-die "output/sbcl.core")' diff --git a/src/code/target-load.lisp b/src/code/target-load.lisp index 38223b831..256df4a69 100644 --- a/src/code/target-load.lisp +++ b/src/code/target-load.lisp @@ -272,3 +272,9 @@ (destructuring-bind (name code offset) routine (setf (gethash name *assembler-routines*) (sap-int (sap+ (code-instructions code) offset)))))) + +(defun !warm-load (file) + (restart-case (load file) + (abort () + :report "Abort building SBCL." + (sb!ext:exit :code 1)))) -- 2.11.4.GIT