(dolist (line
'("This is a machine-generated file. Please do not edit it by hand."
"(As of sbcl-0.8.14, it came from WRITE-CONFIG-H in genesis.lisp.)"
- ""
+ nil
"This file contains low-level information about the"
"internals of a particular version and configuration"
"of SBCL. It is used by the C compiler to create a runtime"
"operating system's native format, which can then be used to"
"load and run 'core' files, which are basically programs"
"in SBCL's own format."))
- (format t " * ~A~%" line))
+ (format t " *~@[ ~A~]~%" line))
(format t " */~%"))
(defun write-config-h ()
((< value cutoff)
"~D")
(t
- "LISPOBJ(~D)")))
+ "LISPOBJ(~DU)")))
value)
(format t " /* 0x~X */~@[ /* ~A */~]~%" value doc))))
(terpri))
(defun write-structure-object (dd)
(flet ((cstring (designator)
- (substitute #\_ #\- (string-downcase (string designator)))))
+ (substitute
+ #\_ #\%
+ (substitute #\_ #\- (string-downcase (string designator))))))
(format t "#ifndef LANGUAGE_ASSEMBLY~2%")
(format t "struct ~A {~%" (cstring (dd-name dd)))
(format t " lispobj header;~%")
(format t "~&#include \"~A.h\"~%"
(string-downcase
(string (sb!vm:primitive-object-name obj)))))))
- (dolist (class '(hash-table layout))
+ (dolist (class '(hash-table
+ layout
+ sb!c::compiled-debug-info
+ sb!c::compiled-debug-fun
+ sb!xc:package))
(out-to
(string-downcase (string class))
(write-structure-object