mirror of
git://git.code.sf.net/p/sbcl/sbcl
synced 2026-09-10 07:26:40 -04:00
error handling The MAKE-SPECIALIZABLE-ARRAY call in DEFUN INTERNAL-ERROR-ARGUMENTS can become MAKE-ARRAY, since M-S-A is something to make it easier to build parts of the cross-compiler under the cross-compilation host, and DEFUN INTERNAL-ERROR-ARGUMENTS is in x86-vm.lisp, which is not part of the cross-compiler, and so is never compiled by the cross-compilation host. changed MAKE-VALID-LISP-OBJ from a MACROLET macro to a global function, for clarity and easier debugging deleted unused SET-VALUE macro from MACROLET in DEFERR deleted code marked REMOVEME, accidentally left over from previous debugging exercises changed CONTEXT-PC-ADDR, CONTEXT-PC, CONTEXT-REGISTER-ADDR, and CONTEXT-REGISTER functions to use unsigned representations instead of signed representations, to conform to implicit assumptions in the debug-int code inherited from CMU CL. (Without this, new type errors are generated in infinite regress when we try to handle errors involving negative fixnums, e.g. (BUTLAST NIL -1).) tweaked stuff in test/ directory a little bit in anticipation of setting up real regression tests
43 lines
1.8 KiB
Bash
43 lines
1.8 KiB
Bash
#!/bin/sh
|
|
|
|
# This is a script to be run as part of make.sh. The only time you'd
|
|
# want to run it by itself is if you're trying to cross-compile the
|
|
# system or if you're doing some kind of troubleshooting.
|
|
|
|
# This software is part of the SBCL system. See the README file for
|
|
# more information.
|
|
#
|
|
# This software is derived from the CMU CL system, which was
|
|
# written at Carnegie Mellon University and released into the
|
|
# public domain. The software is in the public domain and is
|
|
# provided with absolutely no warranty. See the COPYING and CREDITS
|
|
# files for more information.
|
|
|
|
echo //entering make-host-2.sh
|
|
|
|
# Do warm init stuff, e.g. building and loading CLOS, and stuff which
|
|
# can't be done until CLOS is running.
|
|
#
|
|
# Note that it's normal for the newborn system to think rather hard at
|
|
# the beginning of this process (e.g. using nearly 100Mb of virtual memory
|
|
# and >30 seconds of CPU time on a 450MHz CPU), and unless you built the
|
|
# system with the :SB-SHOW feature enabled, it does it rather silently,
|
|
# without trying to tell you about what it's doing. So unless it hangs
|
|
# for much longer than that, don't worry, it's likely to be normal.
|
|
echo //doing warm init
|
|
./src/runtime/sbcl \
|
|
--core output/cold-sbcl.core \
|
|
--sysinit /dev/null --userinit /dev/null <<-'EOF' || exit 1
|
|
(sb!int:/show "hello, world!")
|
|
(let ((*print-length* 5)
|
|
(*print-level* 5))
|
|
(sb!int:/show "about to LOAD warm.lisp")
|
|
(load "src/cold/warm.lisp"))
|
|
(sb-int:/show "done with warm.lisp, about to SAVE-LISP-AND-DIE")
|
|
;; Even if /SHOW output was wanted during build, it's probably
|
|
;; not wanted by default after build is complete. (And if it's
|
|
;; wanted, it can easily be turned back on.)
|
|
#+sb-show (setf sb-int:*/show* nil)
|
|
(sb-ext:save-lisp-and-die "output/sbcl.core" :purify t)
|
|
EOF
|