Skip to content
GitLab
Explore
Sign in
Register
Primary navigation
Search or go to…
Project
cmucl
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Package registry
Model registry
Operate
Environments
Terraform modules
Monitor
Incidents
Service Desk
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Terms and privacy
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
Carl Shapiro
cmucl
Commits
c17e1ca3
Commit
c17e1ca3
authored
31 years ago
by
ram
Browse files
Options
Downloads
Patches
Plain Diff
Updated startup code bootstrapping section a bit.
parent
1f99541d
No related branches found
No related tags found
No related merge requests found
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
docs/internals/architecture.tex
+10
-9
10 additions, 9 deletions
docs/internals/architecture.tex
with
10 additions
and
9 deletions
docs/internals/architecture.tex
+
10
−
9
View file @
c17e1ca3
...
...
@@ -128,7 +128,7 @@ subdirectory holds code that is shared across most backends.
\item
[{\tt hemlock/}]
The Hemlock editor.
\item
[{\tt l
db
/}]
The C runtime system code and low-level
``
Lisp
DeB
ugger
''
.
\item
[{\tt l
isp
/}]
The C runtime system code and low-level Lisp
deb
ugger.
\item
[{\tt pcl/}]
CMU version of the PCL implementation of CLOS.
...
...
@@ -228,22 +228,23 @@ have to edit them before they will work.}
\section
{
Compiling the C Startup Code
}
There is a circular dependancy between ldb/lisp.h and ldb/ldb.map that causes
bootstrapping problems. To the easiest way to get around this problem is to
make a fake ldb.map file that has nothing in it by a version number:
There is a circular dependancy between lisp/internals.h and lisp/lisp.map that
causes bootstrapping problems. To the easiest way to get around this problem
is to make a fake lisp.nm file that has nothing in it by a version number:
\begin{verbatim}
% echo "Map file for l
db
version 0" > l
db.map
% echo "Map file for l
isp
version 0" > l
isp.nm
\end{verbatim}
and then run genesis with NIL for the list of files:
\begin{verbatim}
* (load ".../compiler/generic/genesis")
* (lisp::genesis nil ".../l
db/ldb.map
" "/dev/null"
".../l
db
/lisp.map" ".../l
db
/lisp.h")
* (lisp::genesis nil ".../l
isp/lisp.nm
" "/dev/null"
".../l
isp
/lisp.map" ".../l
isp
/lisp.h")
\end{verbatim}
It will generate
a whole bunch of warnings about things being undefined, but ignore
that, because it will also generate a correct lisp.h. You can then
compile l
db
producing a correct l
db
.map:
compile l
isp
producing a correct l
isp
.map:
\begin{verbatim}
% make
\end{verbatim}
...
...
@@ -276,7 +277,7 @@ drivers:
\begin{description}
\item
[do-worldbuild*]
Builds a kernel core for the current machine. The
version to build is indicated by an optional argument, which defaults to
``alpha''. The
\verb
|
kernel.core
|
file is written either in the
\verb
|
l
db
/
|
``alpha''. The
\verb
|
kernel.core
|
file is written either in the
\verb
|
l
isp
/
|
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
with e.g. ``touch'' to select the initial build location.
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment