[book cover]

Linkers and Loaders

This is the web site for Linkers and Loaders by John R. Levine, published by Morgan-Kauffman in October 1999, ISBN 1-55860-496-0.

It contains errata as well as code and data for the exercises.

The source code

The source code and data for the project exercises are partially complete. Join the announcement mailing list on the beta site, to get messages when updates to the code are released.

Reading or buying the book

You can read unedited draft chapters at the beta site. They are similar to the published book, but without all of the improvements and corrections made in the editorial process, and with my hand-drawn sketches instead of the real figures.

You can order the book from the usual on-line bookstores:

If you'd like an autographed copy, send me a note at the address below.


Page 26: second paragraph, delete "using the table pointer register as a base register:
Page 33: last paragraph, first line, delete "addresses"
Page 98: the table of segment locations is incorrect. Corrected version:
main1000 - 20165000 - 531f6a4c - 6a9b
calif2018 - 29375320 - 55376a9c - 6b9b
mass2938 - 2f4c5538 - 58376b9c - 73db
newyork2f50 - 42df5838 - 6a4a73dc - 87db

Page 104: third paragraph, sixth line, "assignment" should be "alignment"
Page 146: project, fourth line, "exported files" should be "exported symbols"
Page 147: project 6.3, first line, "directory" should be "file"
Page 170: first line, "the data" should be "the data address"
Page 180: second paragraph, last line, "decimals" should be "decimal"
Page 181: Figure 8.7, "3000 andy" should be "5000 andy"
Page 215: second line, "offset The" should be "offset, the"
Page 216: fourth line, replace sentence starting "This is a" with "The linker uses the symbol size to determine how much data to copy."
Page 226: Exercise 10.2, fourth line, "calls" should be "names"
Page 241: last paragraph, second line "into logically" should be "into a logically"

PO Box 727
Trumansburg, N.Y. 14886
Email: linker@iecc.com