Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Newer
Older
100644 47 lines (39 sloc) 1.851 kB
901fd0e @akovalenko Modifications for unix-host and wine-target support.
authored
1 (setf *print-level* 5 *print-length* 5)
2 (load "src/cold/shared.lisp")
3 (in-package "SB-COLD")
0bc38d2 @akovalenko * make-genesis-1a.lisp: skip genesis-1a altogether if #!+sb-dynamic-core
authored
4
901fd0e @akovalenko Modifications for unix-host and wine-target support.
authored
5 (setf *host-obj-prefix* "obj/from-host/"
6 *target-obj-prefix* "obj/from-xc/")
7 (load "src/cold/set-up-cold-packages.lisp")
8 (load "src/cold/defun-load-or-cload-xcompiler.lisp")
9 (load-or-cload-xcompiler #'host-load-stem)
10 (defparameter *target-object-file-names*
11 (with-open-file (s "output/object-filenames-for-genesis.lisp-expr"
12 :direction :input)
13 (read s)))
bdf6303 @akovalenko * make-genesis-1a.lisp: properly conditionalized on #!-sb-dynamic-core
authored
14
15 #!-sb-dynamic-core
6c3faff @akovalenko Global whitespace normalization
authored
16 (progn
bdf6303 @akovalenko * make-genesis-1a.lisp: properly conditionalized on #!-sb-dynamic-core
authored
17 (host-load-stem "src/compiler/generic/genesis" nil)
18 (sb!vm:genesis :object-file-names *target-object-file-names*
6c3faff @akovalenko Global whitespace normalization
authored
19 :c-header-dir-name "output/genesis-1a"
20 :symbol-table-file-name "src/runtime/sbcl-own.nm")
901fd0e @akovalenko Modifications for unix-host and wine-target support.
authored
21
22 ;; The map file is not needed by the system, but can be
23 ;; very handy when debugging cold init problems.
24
bdf6303 @akovalenko * make-genesis-1a.lisp: properly conditionalized on #!-sb-dynamic-core
authored
25 (defparameter *mangled-names* (make-hash-table :test 'equal))
26
27 #!+win32
28 (let ((sb!fasl::*cold-foreign-symbol-table* (make-hash-table :test 'equal)))
29 (sb!fasl::load-cold-foreign-symbol-table "src/runtime/mangled-stuff.nm")
30 (loop for name being each hash-key of sb!fasl::*cold-foreign-symbol-table*
6c3faff @akovalenko Global whitespace normalization
authored
31 for at-pos = (position #\@ name :from-end t)
32 when at-pos
33 do (let ((demangled-name (subseq name 0 at-pos)))
34 (setf (gethash (subseq demangled-name 1) *mangled-names*)
35 (subseq name 1)))))
bdf6303 @akovalenko * make-genesis-1a.lisp: properly conditionalized on #!-sb-dynamic-core
authored
36
37 (with-open-file (undefs "src/runtime/gen1a-undefs" :direction :output
6c3faff @akovalenko Global whitespace normalization
authored
38 :if-does-not-exist :create :if-exists :supersede)
bdf6303 @akovalenko * make-genesis-1a.lisp: properly conditionalized on #!-sb-dynamic-core
authored
39 (let ((n 0))
40 (dolist (symbol sb!fasl::*cold-foreign-undefined-symbols*)
6c3faff @akovalenko Global whitespace normalization
authored
41 (format undefs "FOREIGN_REFERENCE(~A)~%"
42 (gethash symbol *mangled-names* symbol))))))
901fd0e @akovalenko Modifications for unix-host and wine-target support.
authored
43
44 #+cmu (ext:quit)
45 #+clisp (ext:quit)
46 #+abcl (ext:quit)
Something went wrong with that request. Please try again.