Skip to content
Snippets Groups Projects
Commit be9b2806 authored by toy's avatar toy
Browse files

o Define \cmucl{} and use it everywhere

o Fix a dangling ref.
parent 9ac6b555
No related branches found
No related tags found
No related merge requests found
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
\section{Source Tree Structure} \section{Source Tree Structure}
The CMUCL source tree has subdirectories for each major subsystem: The \cmucl{} source tree has subdirectories for each major subsystem:
\begin{description} \begin{description}
\item[{\tt assembly/}] Holds the CMU CL source-file assembler, and has machine \item[{\tt assembly/}] Holds the CMU CL source-file assembler, and has machine
...@@ -23,7 +23,7 @@ subdirectory holds code that is shared across most backends. ...@@ -23,7 +23,7 @@ subdirectory holds code that is shared across most backends.
\item[{\tt lisp/}] 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/}] CMUCL version of the PCL implementation of CLOS. \item[{\tt pcl/}] \cmucl{} version of the PCL implementation of CLOS.
\item[{\tt tools/}] System building command files and source management tools. \item[{\tt tools/}] System building command files and source management tools.
\end{description} \end{description}
...@@ -126,23 +126,23 @@ causes bootstrapping problems. The easiest way to get around this problem ...@@ -126,23 +126,23 @@ causes bootstrapping problems. The easiest way to get around this problem
is to make a fake lisp.nm file that has nothing in it but a version number: is to make a fake lisp.nm file that has nothing in it but a version number:
\begin{verbatim} \begin{verbatim}
% echo "Map file for lisp version 0" > lisp.nm % 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/new-genesis") ; compile before loading * (load ".../compiler/generic/new-genesis") ; compile before loading
* (lisp::genesis nil ".../lisp/lisp.nm" "/dev/null" * (lisp::genesis nil ".../lisp/lisp.nm" "/dev/null"
".../lisp/lisp.map" ".../lisp/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 lisp producing a correct lisp.map: compile lisp producing a correct lisp.map:
\begin{verbatim} \begin{verbatim}
% make % make
\end{verbatim} \end{verbatim}
and then use \verb|tools/do-worldbuild| and \verb|tools/mk-lisp| to build and then use \verb|tools/do-worldbuild| and \verb|tools/mk-lisp| to build
\verb|kernel.core| and \verb|lisp.core| (see section \ref[building-cores].) \verb|kernel.core| and \verb|lisp.core| (see section \ref{building-cores}.)
\section{Compiling the Lisp Code} \section{Compiling the Lisp Code}
......
...@@ -67,6 +67,9 @@ ...@@ -67,6 +67,9 @@
\def\bottomfraction{.9} % was .3 \def\bottomfraction{.9} % was .3
\def\topfraction{.9} \def\topfraction{.9}
%% Some common abbreviations
\newcommand{\cmucl}{\textsc{cmucl}}
%% Set up margins %% Set up margins
\setlength{\oddsidemargin}{-10pt} \setlength{\oddsidemargin}{-10pt}
\setlength{\evensidemargin}{-10pt} \setlength{\evensidemargin}{-10pt}
...@@ -87,7 +90,7 @@ compiler and run-time system. CMU Common Lisp is a public domain ...@@ -87,7 +90,7 @@ compiler and run-time system. CMU Common Lisp is a public domain
implementation of Common Lisp that runs on various Unix workstations. implementation of Common Lisp that runs on various Unix workstations.
This document is a work in progress: neither the contents nor the This document is a work in progress: neither the contents nor the
presentation are completed. Nevertheless, it provides some useful presentation are completed. Nevertheless, it provides some useful
background information, in particular regarding the CMUCL compiler.} background information, in particular regarding the \cmucl{} compiler.}
\tableofcontents \tableofcontents
\include{architecture} \include{architecture}
......
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
\chapter{The Info Database} \chapter{The Info Database}
The info database provides a functional interface to global The info database provides a functional interface to global
information about named things in CMUCL. Information is considered to information about named things in \cmucl{}. Information is considered to
be global if it must persist between invocations of the compiler. The be global if it must persist between invocations of the compiler. The
use of a functional interface eliminates the need for the compiler to use of a functional interface eliminates the need for the compiler to
worry about the details of the representation. The info database also worry about the details of the representation. The info database also
......
...@@ -15,7 +15,7 @@ The linkage table feature is based on how dynamic libraries dispatch. ...@@ -15,7 +15,7 @@ The linkage table feature is based on how dynamic libraries dispatch.
A table of functions is used which is filled in with the appropriate A table of functions is used which is filled in with the appropriate
code to jump to the correct address. code to jump to the correct address.
For CMUCL, this table is stored at For \cmucl{}, this table is stored at
\verb|target-foreign-linkage-space-start|. Each entry is \verb|target-foreign-linkage-space-start|. Each entry is
\verb|target-foreign-linkage-entry-size| bytes long. \verb|target-foreign-linkage-entry-size| bytes long.
......
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