Linkers & Loaders, books & article references sought

neil@wcc.oz.au (Neil Murray)
23 Jan 91 16:20:45 +1100 (Wed)

          From comp.compilers

Related articles
Linkers & Loaders, books & article references sought neil@wcc.oz.au (1991-01-23)
Re: Linkers & Loaders, books & article references sought mwette@mr-ed.Jpl.Nasa.Gov (1991-01-24)
Re: Linkers & Loaders, books & article references sought wrc@cs.rit.edu (1991-01-24)
Re: Linkers & Loaders, books & article references sought clc5q@shamash.cs.Virginia.EDU (1991-01-25)
Re: Linkers & Loaders, books & article references sought jones@pyrite.cs.uiowa.edu (1991-01-25)
Re: Linkers & Loaders, books & article references sought Christian.Collberg@DNA.LTH.Se (Christian S. Collberg) (1991-01-27)
| List of all articles for this month |

Newsgroups: comp.compilers
From: neil@wcc.oz.au (Neil Murray)
Keywords: linker, bibliography, question
Organization: Compilers Central
Date: 23 Jan 91 16:20:45 +1100 (Wed)

On recent perusal of my bookshelf I noticed a goodly number of
books on compiler theory but very little on linkers & loaders.


After a little searching I did find a piece on dynamic linking
contained in gnu sources "dld-3.2.1.tar.Z" on a local archive. There
is a research report available from the archive-server@decwrl.dec.com
_Link-Time Code Modification_ report 89/17.


The problem is both these reports deal with advanced techniques or
extensions to a standard linker. I'm after a text that covers linkers
from simple ones through overlay linkers to dynamic linkers. I've seem
loaders as simple as an absolute load and run to the vax/vms image
activator but little on the internal data structures used and algorithms
employed? What are the trade-offs in various techniques? Do linkers'
and loaders' capabilities affect compiler writers in non-obvious ways?


Speaking of capabilities what about capability architectures,
the requirements of the linker/loader must be quite different.


Does anyone know of some decent books on the subject?


---
Neil Murray (R&D Dept) Phone: +61 3 764-1100 Fax: +61 3 764-1179
Webster Computer Corporation, Email: neil@wcc.oz.au
PO Box 195, Ferntree Gully UUCP: {...,uunet}!munnari!wcc.oz.au!neil
Victoria, Australia, 3156.


[An excellent question. Linking is an important topic that is very poorly
treated in the literature. And yes, what you can ask the linker to do can
have significant effects on languages. For example, the fact that traditional
C allows you to have many different uninitialized definitions of a variable
is definitely related to the fact that Unix linkers handle the situation
well. (In many linkers "common" is a special case and there is a low limit
on the number of common areas allowed.) -John]
--


Post a followup to this message

Return to the comp.compilers page.
Search the comp.compilers archives again.