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