Skip to content
Snippets Groups Projects
Commit c17e1ca3 authored by ram's avatar ram
Browse files

Updated startup code bootstrapping section a bit.

parent 1f99541d
No related branches found
No related tags found
No related merge requests found
...@@ -128,7 +128,7 @@ subdirectory holds code that is shared across most backends. ...@@ -128,7 +128,7 @@ subdirectory holds code that is shared across most backends.
\item[{\tt hemlock/}] The Hemlock editor. \item[{\tt hemlock/}] The Hemlock editor.
\item[{\tt ldb/}] The C runtime system code and low-level ``Lisp DeBugger''. \item[{\tt lisp/}] The C runtime system code and low-level Lisp debugger.
\item[{\tt pcl/}] CMU version of the PCL implementation of CLOS. \item[{\tt pcl/}] CMU version of the PCL implementation of CLOS.
...@@ -228,22 +228,23 @@ have to edit them before they will work.} ...@@ -228,22 +228,23 @@ have to edit them before they will work.}
\section{Compiling the C Startup Code} \section{Compiling the C Startup Code}
There is a circular dependancy between ldb/lisp.h and ldb/ldb.map that causes There is a circular dependancy between lisp/internals.h and lisp/lisp.map that
bootstrapping problems. To the easiest way to get around this problem is to causes bootstrapping problems. To the easiest way to get around this problem
make a fake ldb.map file that has nothing in it by a version number: is to make a fake lisp.nm file that has nothing in it by a version number:
\begin{verbatim} \begin{verbatim}
% echo "Map file for ldb version 0" > ldb.map % echo "Map file for lisp version 0" > lisp.nm
\end{verbatim} \end{verbatim}
and then run genesis with NIL for the list of files: and then run genesis with NIL for the list of files:
\begin{verbatim} \begin{verbatim}
* (load ".../compiler/generic/genesis") * (load ".../compiler/generic/genesis")
* (lisp::genesis nil ".../ldb/ldb.map" "/dev/null" * (lisp::genesis nil ".../lisp/lisp.nm" "/dev/null"
".../ldb/lisp.map" ".../ldb/lisp.h") ".../lisp/lisp.map" ".../lisp/lisp.h")
\end{verbatim} \end{verbatim}
It will generate It will generate
a whole bunch of warnings about things being undefined, but ignore a whole bunch of warnings about things being undefined, but ignore
that, because it will also generate a correct lisp.h. You can then that, because it will also generate a correct lisp.h. You can then
compile ldb producing a correct ldb.map: compile lisp producing a correct lisp.map:
\begin{verbatim} \begin{verbatim}
% make % make
\end{verbatim} \end{verbatim}
...@@ -276,7 +277,7 @@ drivers: ...@@ -276,7 +277,7 @@ drivers:
\begin{description} \begin{description}
\item[do-worldbuild*] Builds a kernel core for the current machine. The \item[do-worldbuild*] Builds a kernel core for the current machine. The
version to build is indicated by an optional argument, which defaults to version to build is indicated by an optional argument, which defaults to
``alpha''. The \verb|kernel.core| file is written either in the \verb|ldb/| ``alpha''. The \verb|kernel.core| file is written either in the \verb|lisp/|
directory in the build area, or in \verb|/usr/tmp/|. The directory which directory in the build area, or in \verb|/usr/tmp/|. The directory which
already contains \verb|kernel.core| is chosen. You can create a dummy version already contains \verb|kernel.core| is chosen. You can create a dummy version
with e.g. ``touch'' to select the initial build location. with e.g. ``touch'' to select the initial build location.
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment