Linkers and Loaders

These are the manuscript chapters for my Linkers and Loaders, published by Morgan-Kaufman. See the book's web site for ordering information.

The text in these files is the unedited original manuscript. M-K has fine copy editors, who have fixed all the minor typos, spelling, and grammar errors in the printed book, but if you come across factual errors I'd still appreciate help getting all the details of linking and loading as complete and correct as possible. I will collect errata and fix them in subsequent printings.

The figures here are scans of hand-drawn sketches which have been redrawn for the book. You don't need to tell me I'm a lousy artist. I already know that.

Please send comments and questions to johnl-linker@iecc.com.

Thanks!


Chapters are available in an excessive variety of formats. The troff source is the original. All the rest are mechanically generated and may have glitches due to coding errors.

Postscript versions of these files are available, including the figure sketches. This makes the postscript files quite large, 5MB apiece for chapters 3 and 4. If you want to download and print them, they're available in GZIP compressed form on my FTP server, along with a table of contents.

NumberTitleTroff source Web pageRTF (Microsoft Word)Figures
0Introduction
Warning: filesize(): stat failed for /var/www/iecc/linker/linker00.txt in /usr/home/books/book/linker/index.phtml on line 16

Warning: filesize(): stat failed for /var/www/iecc/linker/linker00.html in /usr/home/books/book/linker/index.phtml on line 25

Warning: filesize(): stat failed for /var/www/iecc/linker/linker00.rtf in /usr/home/books/book/linker/index.phtml on line 34

Warning: filesize(): stat failed for /var/www/iecc/linker/linker00fig.html in /usr/home/books/book/linker/index.phtml on line 43
1Why do we need linkers and loaders?
Warning: filesize(): stat failed for /var/www/iecc/linker/linker01.txt in /usr/home/books/book/linker/index.phtml on line 16

Warning: filesize(): stat failed for /var/www/iecc/linker/linker01.html in /usr/home/books/book/linker/index.phtml on line 25

Warning: filesize(): stat failed for /var/www/iecc/linker/linker01.rtf in /usr/home/books/book/linker/index.phtml on line 34

Warning: filesize(): stat failed for /var/www/iecc/linker/linker01fig.html in /usr/home/books/book/linker/index.phtml on line 43
2Architectural issues
Warning: filesize(): stat failed for /var/www/iecc/linker/linker02.txt in /usr/home/books/book/linker/index.phtml on line 16

Warning: filesize(): stat failed for /var/www/iecc/linker/linker02.html in /usr/home/books/book/linker/index.phtml on line 25

Warning: filesize(): stat failed for /var/www/iecc/linker/linker02.rtf in /usr/home/books/book/linker/index.phtml on line 34

Warning: filesize(): stat failed for /var/www/iecc/linker/linker02fig.html in /usr/home/books/book/linker/index.phtml on line 43
3Object files
Warning: filesize(): stat failed for /var/www/iecc/linker/linker03.txt in /usr/home/books/book/linker/index.phtml on line 16

Warning: filesize(): stat failed for /var/www/iecc/linker/linker03.html in /usr/home/books/book/linker/index.phtml on line 25

Warning: filesize(): stat failed for /var/www/iecc/linker/linker03.rtf in /usr/home/books/book/linker/index.phtml on line 34

Warning: filesize(): stat failed for /var/www/iecc/linker/linker03fig.html in /usr/home/books/book/linker/index.phtml on line 43
4Storage allocation
Warning: filesize(): stat failed for /var/www/iecc/linker/linker04.txt in /usr/home/books/book/linker/index.phtml on line 16

Warning: filesize(): stat failed for /var/www/iecc/linker/linker04.html in /usr/home/books/book/linker/index.phtml on line 25

Warning: filesize(): stat failed for /var/www/iecc/linker/linker04.rtf in /usr/home/books/book/linker/index.phtml on line 34

Warning: filesize(): stat failed for /var/www/iecc/linker/linker04fig.html in /usr/home/books/book/linker/index.phtml on line 43
5Symbol management
Warning: filesize(): stat failed for /var/www/iecc/linker/linker05.txt in /usr/home/books/book/linker/index.phtml on line 16

Warning: filesize(): stat failed for /var/www/iecc/linker/linker05.html in /usr/home/books/book/linker/index.phtml on line 25

Warning: filesize(): stat failed for /var/www/iecc/linker/linker05.rtf in /usr/home/books/book/linker/index.phtml on line 34

Warning: filesize(): stat failed for /var/www/iecc/linker/linker05fig.html in /usr/home/books/book/linker/index.phtml on line 43
6Libraries
Warning: filesize(): stat failed for /var/www/iecc/linker/linker06.txt in /usr/home/books/book/linker/index.phtml on line 16

Warning: filesize(): stat failed for /var/www/iecc/linker/linker06.html in /usr/home/books/book/linker/index.phtml on line 25

Warning: filesize(): stat failed for /var/www/iecc/linker/linker06.rtf in /usr/home/books/book/linker/index.phtml on line 34

Warning: filesize(): stat failed for /var/www/iecc/linker/linker06fig.html in /usr/home/books/book/linker/index.phtml on line 43
7Relocation
Warning: filesize(): stat failed for /var/www/iecc/linker/linker07.txt in /usr/home/books/book/linker/index.phtml on line 16

Warning: filesize(): stat failed for /var/www/iecc/linker/linker07.html in /usr/home/books/book/linker/index.phtml on line 25

Warning: filesize(): stat failed for /var/www/iecc/linker/linker07.rtf in /usr/home/books/book/linker/index.phtml on line 34

Warning: filesize(): stat failed for /var/www/iecc/linker/linker07fig.html in /usr/home/books/book/linker/index.phtml on line 43
8Loading, overlays
Warning: filesize(): stat failed for /var/www/iecc/linker/linker08.txt in /usr/home/books/book/linker/index.phtml on line 16

Warning: filesize(): stat failed for /var/www/iecc/linker/linker08.html in /usr/home/books/book/linker/index.phtml on line 25

Warning: filesize(): stat failed for /var/www/iecc/linker/linker08.rtf in /usr/home/books/book/linker/index.phtml on line 34

Warning: filesize(): stat failed for /var/www/iecc/linker/linker08fig.html in /usr/home/books/book/linker/index.phtml on line 43
9Shared libraries
Warning: filesize(): stat failed for /var/www/iecc/linker/linker09.txt in /usr/home/books/book/linker/index.phtml on line 16

Warning: filesize(): stat failed for /var/www/iecc/linker/linker09.html in /usr/home/books/book/linker/index.phtml on line 25

Warning: filesize(): stat failed for /var/www/iecc/linker/linker09.rtf in /usr/home/books/book/linker/index.phtml on line 34

Warning: filesize(): stat failed for /var/www/iecc/linker/linker09fig.html in /usr/home/books/book/linker/index.phtml on line 43
10Dynamic linking and loading
Warning: filesize(): stat failed for /var/www/iecc/linker/linker10.txt in /usr/home/books/book/linker/index.phtml on line 16

Warning: filesize(): stat failed for /var/www/iecc/linker/linker10.html in /usr/home/books/book/linker/index.phtml on line 25

Warning: filesize(): stat failed for /var/www/iecc/linker/linker10.rtf in /usr/home/books/book/linker/index.phtml on line 34

Warning: filesize(): stat failed for /var/www/iecc/linker/linker10fig.html in /usr/home/books/book/linker/index.phtml on line 43
11Advanced techniques
Warning: filesize(): stat failed for /var/www/iecc/linker/linker11.txt in /usr/home/books/book/linker/index.phtml on line 16

Warning: filesize(): stat failed for /var/www/iecc/linker/linker11.html in /usr/home/books/book/linker/index.phtml on line 25

Warning: filesize(): stat failed for /var/www/iecc/linker/linker11.rtf in /usr/home/books/book/linker/index.phtml on line 34

Warning: filesize(): stat failed for /var/www/iecc/linker/linker11fig.html in /usr/home/books/book/linker/index.phtml on line 43
12References
Warning: filesize(): stat failed for /var/www/iecc/linker/linker12.txt in /usr/home/books/book/linker/index.phtml on line 16

Warning: filesize(): stat failed for /var/www/iecc/linker/linker12.html in /usr/home/books/book/linker/index.phtml on line 25

Warning: filesize(): stat failed for /var/www/iecc/linker/linker12.rtf in /usr/home/books/book/linker/index.phtml on line 34

Warning: filesize(): stat failed for /var/www/iecc/linker/linker12fig.html in /usr/home/books/book/linker/index.phtml on line 43


I have a mailing list to notify people when new chapter drafts are available for review. If you'd like to be on it, enter your address here, or equivalently mail subscribe to update-linker-request@gurus.com. Either way, you'll get a confirmation e-mail to which you'll have to respond to get on the list.
Your e-mail address:

John Levine
$Date: 2001/05/01 05:18:23 $