sbcl.sbcl/make-genesis-2.lisp
Douglas Katzman 7dd2170248 Store all assembler routines in one code object
* Remove :preload-file keyword from genesis, load all asm files up front.

* Resolve :assembly-routine fixups right away rather than deferring.

* Remove *assembler-routines* from static symbols, make its value
  the single code object rather than a hashtable.

* Hang the name->addr table off %code-debug-info for that object
  and store entry points as relative offsets, not addresses.

* Remove magic in coreparse to fix the hashtable on relocation.

* Eliminate potential confusion betweeen FIND-ASSEMBLER-ROUTINE and
  FIND-ASSEMBLY-ROUTINE by removing the latter.
2017-11-30 15:13:17 -05:00

25 lines
1,010 B
Common Lisp

(setf *print-level* 5 *print-length* 5)
(load "src/cold/shared.lisp")
(in-package "SB-COLD")
(setf *host-obj-prefix* "obj/from-host/"
*target-obj-prefix* "obj/from-xc/")
(load "src/cold/set-up-cold-packages.lisp")
(load "src/cold/defun-load-or-cload-xcompiler.lisp")
(load-or-cload-xcompiler #'host-load-stem)
(defparameter *target-object-file-names*
(with-open-file (s "output/object-filenames-for-genesis.lisp-expr"
:direction :input)
(read s)))
(host-cload-stem "src/compiler/generic/genesis" nil)
(sb-cold:genesis :object-file-names *target-object-file-names*
:c-header-dir-name "output/genesis-2"
:symbol-table-file-name "src/runtime/sbcl.nm"
:core-file-name "output/cold-sbcl.core"
;; The map file is not needed by the system, but can be
;; very handy when debugging cold init problems.
:map-file-name "output/cold-sbcl.map")
#+cmu (ext:quit)
#+clisp (ext:quit)
#+abcl (ext:quit)