skip to content
Linkers and loaders Preview this item
ClosePreview this item
Checking...

Linkers and loaders

Author: John R Levine
Publisher: San Francisco : Morgan Kaufmann, ©2000.
Edition/Format:   Print book : EnglishView all editions and formats
Summary:

Whatever your programming language, whatever your platform, you probably tap into linker and loader functions. This book deals with these deep-seated compile-time and run-time processes. It begins  Read more...

Rating:

(not yet rated) 0 with reviews - Be the first.

Subjects
More like this

 

Find a copy online

Links to this item

Find a copy in the library

&AllPage.SpinnerRetrieving; Finding libraries that hold this item...

Details

Additional Physical Format: Online version:
Levine, John R.
Linkers and loaders.
San Francisco : Morgan Kaufmann, ©2000
(OCoLC)607367662
Material Type: Internet resource
Document Type: Book, Internet Resource
All Authors / Contributors: John R Levine
ISBN: 1558604960 9781558604964
OCLC Number: 42413382
Description: xv, 256 pages : illustrations ; 24 cm
Contents: 1 Linking and Loading 1 --
1.1 What Do Linkers and Loaders Do? 1 --
1.2 Address Binding: A Historical Perspective 1 --
1.3 Linking vs. Loading 5 --
1.4 Compiler Drivers 10 --
1.5 Linking: A True-Life Example 12 --
2 Architectural Issues 19 --
2.1 Application Binary Interfaces 20 --
2.2 Memory Addresses 20 --
2.3 Address Formation 22 --
2.4 Instruction Formats 23 --
2.5 Procedure Calls and Addressability 24 --
2.6 Data and Instruction References 28 --
2.7 Paging and Virtual Memory 34 --
2.8 Intel 386 Segmentation 41 --
2.9 Embedded Architectures 43 --
3 Object Files 47 --
3.1 What Goes into an Object File? 47 --
3.2 Null Object Format: DOS COM Files 49 --
3.3 Code Sections: UNIX a.out Files 50 --
3.4 Relocation: DOS EXE Files 56 --
3.5 Symbols and Relocation 58 --
3.6 Relocatable a.out 58 --
3.7 UNIX ELF 62 --
3.8 IBM 360 Object Format 71 --
3.9 Microsoft Portable Executable Format 75 --
3.10 Intel/Microsoft OMF Files 84 --
3.11 Comparison of Object Formats 90 --
4 Storage Allocation 93 --
4.1 Segments and Addresses 93 --
4.2 Simple Storage Layout 94 --
4.3 Multiple-Segment Types 96 --
4.4 Segment and Page Alignment 96 --
4.5 Common Blocks and Other Special Segments 98 --
4.6 Linker Control Scripts 107 --
4.7 Storage Allocation in Practice 108 --
5 Symbol Management 117 --
5.1 Binding and Name Resolution 117 --
5.2 Symbol Table Formats 118 --
5.3 Name Mangling 124 --
5.4 Weak External and Other Kinds of Symbols 129 --
5.5 Maintaining Debugging Information 129 --
6 Libraries 135 --
6.1 Purpose of Libraries 135 --
6.2 Library Formats 136 --
6.3 Creating Libraries 141 --
6.4 Searching Libraries 142 --
6.5 Performance Issues 144 --
6.6 Weak External Symbols 144 --
7 Relocation 149 --
7.1 Hardware and Software Relocation 150 --
7.2 Link-Time and Load-Time Relocation 151 --
7.3 Symbol and Segment Relocation 151 --
7.4 Basic Relocation Techniques 153 --
7.5 Relinkable and Relocatable Output Formats 159 --
7.6 Other Relocation Formats 160 --
7.7 Relocation Special Cases 162 --
8 Loading and Overlays 167 --
8.1 Basic Loading 167 --
8.2 Basic Loading, with Relocation 168 --
8.3 Position-Independent Code 169 --
8.4 Bootstrap Loading 176 --
8.5 Tree-Structured Overlays 177 --
9 Shared Libraries 187 --
9.1 Binding Time 188 --
9.2 Shared Libraries in Practice 190 --
9.3 Address Space Management 190 --
9.4 Structure of Shared Libraries 192 --
9.5 Creating Shared Libraries 192 --
9.6 Linking with Shared Libraries 197 --
9.7 Running with Shared Libraries 197 --
9.8 Malloc Hack and Other Shared-Library Problems 199 --
10 Dynamic Linking and Loading 205 --
10.1 ELF Dynamic Linking 206 --
10.2 Contents of an ELF File 206 --
10.3 Loading a Dynamically Linked Program 210 --
10.4 Lazy Procedure Linkage with the PLT 213 --
10.5 Other Peculiarities of Dynamic Linking 215 --
10.6 Dynamic Loading at Run Time 216 --
10.7 Microsoft Dynamic-Link Libraries 217 --
10.8 OSF/1 Pseudo-Static Shared Libraries 222 --
10.9 Making Shared Libraries Fast 223 --
10.10 Comparison of Dynamic Linking Approaches 224 --
11 Advanced Techniques 229 --
11.1 Techniques for C++ 229 --
11.2 Incremental Linking and Relinking 233 --
11.3 Link-Time Garbage Collection 235 --
11.4 Link-Time Optimization 237 --
11.5 Link-Time Code Generation 238 --
11.6 Java Linking Model 241.
Other Titles: Linkers & loaders
Responsibility: John R. Levine.
More information:

Reviews

Editorial reviews

Publisher Synopsis

"I enjoyed reading this useful overview of the techniques and challenges of implementing linkers and loaders. While most of the examples are focused on three computer architectures that are widely Read more...

 
User-contributed reviews
Retrieving GoodReads reviews...
Retrieving DOGObooks reviews...

Tags

Be the first.
Confirm this request

You may have already requested this item. Please select Ok if you would like to proceed with this request anyway.

Linked Data


Primary Entity

<http://www.worldcat.org/oclc/42413382> # Linkers and loaders
    a schema:CreativeWork, schema:Book ;
   library:oclcnum "42413382" ;
   library:placeOfPublication <http://experiment.worldcat.org/entity/work/data/27794581#Place/san_francisco> ; # San Francisco
   library:placeOfPublication <http://id.loc.gov/vocabulary/countries/cau> ;
   schema:about <http://id.worldcat.org/fast/819004> ; # Assembling (Electronic computers)
   schema:about <http://id.worldcat.org/fast/1001009> ; # Loaders (Computer programs)
   schema:about <http://experiment.worldcat.org/entity/work/data/27794581#Topic/assemblage_informatique> ; # Assemblage (informatique)
   schema:about <http://experiment.worldcat.org/entity/work/data/27794581#Topic/linking_loaders_computer_programs> ; # Linking loaders (Computer programs)
   schema:about <http://experiment.worldcat.org/entity/work/data/27794581#Topic/systemes_d_exploitation_ordinateurs> ; # Systèmes d'exploitation (ordinateurs)
   schema:about <http://experiment.worldcat.org/entity/work/data/27794581#Topic/editeurs_de_liens_logiciels> ; # Éditeurs de liens (logiciels)
   schema:about <http://experiment.worldcat.org/entity/work/data/27794581#Topic/chargeurs_informatique> ; # Chargeurs (informatique)
   schema:about <http://dewey.info/class/005.456/e21/> ;
   schema:about <http://id.worldcat.org/fast/999263> ; # Linkers (Computer programs)
   schema:about <http://experiment.worldcat.org/entity/work/data/27794581#Topic/logiciels> ; # Logiciels
   schema:alternateName "Linkers & loaders" ;
   schema:bookFormat bgn:PrintBook ;
   schema:copyrightYear "2000" ;
   schema:creator <http://viaf.org/viaf/7478432> ; # John R. Levine
   schema:datePublished "2000" ;
   schema:exampleOfWork <http://worldcat.org/entity/work/id/27794581> ;
   schema:inLanguage "en" ;
   schema:isSimilarTo <http://www.worldcat.org/oclc/607367662> ;
   schema:name "Linkers and loaders"@en ;
   schema:productID "42413382" ;
   schema:publication <http://www.worldcat.org/title/-/oclc/42413382#PublicationEvent/san_francisco_morgan_kaufmann_2000> ;
   schema:publisher <http://experiment.worldcat.org/entity/work/data/27794581#Agent/morgan_kaufmann> ; # Morgan Kaufmann
   schema:url <http://catdir.loc.gov/catdir/toc/els033/99047127.html> ;
   schema:url <http://www.mkp.com/books_catalog/catalog.asp?ISBN=1-55860-496-0> ;
   schema:workExample <http://worldcat.org/isbn/9781558604964> ;
   umbel:isLike <http://bnb.data.bl.uk/id/resource/GB99V4484> ;
   wdrs:describedby <http://www.worldcat.org/title/-/oclc/42413382> ;
    .


Related Entities

<http://experiment.worldcat.org/entity/work/data/27794581#Agent/morgan_kaufmann> # Morgan Kaufmann
    a bgn:Agent ;
   schema:name "Morgan Kaufmann" ;
    .

<http://experiment.worldcat.org/entity/work/data/27794581#Topic/assemblage_informatique> # Assemblage (informatique)
    a schema:Intangible ;
   schema:name "Assemblage (informatique)"@en ;
   schema:name "Assemblage (Informatique)"@fr ;
    .

<http://experiment.worldcat.org/entity/work/data/27794581#Topic/chargeurs_informatique> # Chargeurs (informatique)
    a schema:Intangible ;
   schema:name "Chargeurs (informatique)"@en ;
   schema:name "Chargeurs (Informatique)"@fr ;
    .

<http://experiment.worldcat.org/entity/work/data/27794581#Topic/editeurs_de_liens_logiciels> # Éditeurs de liens (logiciels)
    a schema:Intangible ;
   schema:name "Éditeurs de liens (logiciels)"@en ;
   schema:name "Éditeurs de liens (Logiciels)"@fr ;
    .

<http://experiment.worldcat.org/entity/work/data/27794581#Topic/linking_loaders_computer_programs> # Linking loaders (Computer programs)
    a schema:Intangible ;
   schema:name "Linking loaders (Computer programs)"@en ;
    .

<http://experiment.worldcat.org/entity/work/data/27794581#Topic/systemes_d_exploitation_ordinateurs> # Systèmes d'exploitation (ordinateurs)
    a schema:Intangible ;
   schema:name "Systèmes d'exploitation (ordinateurs)"@en ;
    .

<http://id.worldcat.org/fast/1001009> # Loaders (Computer programs)
    a schema:Intangible ;
   schema:name "Loaders (Computer programs)"@en ;
    .

<http://id.worldcat.org/fast/819004> # Assembling (Electronic computers)
    a schema:Intangible ;
   schema:name "Assembling (Electronic computers)"@en ;
    .

<http://id.worldcat.org/fast/999263> # Linkers (Computer programs)
    a schema:Intangible ;
   schema:name "Linkers (Computer programs)"@en ;
    .

<http://viaf.org/viaf/7478432> # John R. Levine
    a schema:Person ;
   schema:familyName "Levine" ;
   schema:givenName "John R." ;
   schema:name "John R. Levine" ;
    .

<http://worldcat.org/isbn/9781558604964>
    a schema:ProductModel ;
   schema:isbn "1558604960" ;
   schema:isbn "9781558604964" ;
    .

<http://www.worldcat.org/oclc/607367662>
    a schema:CreativeWork ;
   rdfs:label "Linkers and loaders." ;
   schema:description "Online version:" ;
   schema:isSimilarTo <http://www.worldcat.org/oclc/42413382> ; # Linkers and loaders
    .


Content-negotiable representations

Close Window

Please sign in to WorldCat 

Don't have an account? You can easily create a free account.