issues
search
yaobinwen
/
robin_on_rails
Robin on Rails: my notes about technology and some other knowledge.
1
stars
0
forks
source link
Read book: Linkers and Loaders by John Levine
#235
Open
yaobinwen
opened
8 months ago
yaobinwen
commented
8 months ago
[ ] #236
[x] 1.1 What do Linkers and Loaders Do?
[x] 1.2 Address Binding: A Historical Perspective
[x] 1.3 Linking vs. Loading
[x] 1.4 Compiler Drivers
[ ] 1.5 Linking: A True Life Example
[ ] 2 Architectural Issues
[ ] 2.1 Application Binary Interfaces
[ ] 2.2 Memory Addresses
[ ] 2.3 Address Formation
[ ] 2.4 Instruction Formats
[ ] 2.5 Procedure Calls and Accessibility
[ ] 2.6 Data and Instruction References
[ ] 2.7 Paging and Virtual Memory
[ ] 2.8 Intel 386 Segmentation
[ ] 2.9 Embedded Architectures
[ ] 3 Object Files
[ ] 3.1 What Goes Into an Object File?
[ ] 3.2 The Null Object Format: DOS COM Files
[ ] 3.3 Code Sections: UNIX a.out Files
[ ] 3.4 Relocation: DOS EXE Files
[ ] 3.5 Symbols and Relocation
[ ] 3.6 Relocatalble a.out
[ ] 3.7 UNIX ELF
[ ] 3.8 IBM 360 Object Format
[ ] 3.9 Microsoft Portable Executable Format
[ ] 3.10 Intel/Microsoft OMF Files
[ ] 3.11 Comparison of Object Formats
[ ] 4 Storage Allocation
[ ] 4.1 Segments and Addresses
[ ] 4.2 Simple Storage Layout
[ ] 4.3 Multiple-Segement Types
[ ] 4.4 Segment and Page Alignment
[ ] 4.5 Common Blocks and Other Special Segments
[ ] 4.6 Linker Control Scripts
[ ] 4.7 Storage Allocation in Practice
[ ] 5 Symbol Management
[ ] 5.1 Binding and Name Resolution
[ ] 5.2 Symbol Table Formats
[ ] 5.3 Name Mangling
[ ] 5.4 Weak External and Other Kinds of Symbols
[ ] 5.5 Maintaining Debugging Information
[ ] 6 Libraries
[ ] 6.1 Purpose of Libraries
[ ] 6.2 Library Formats
[ ] 6.3 Creating Libraries
[ ] 6.4 Searching Libraries
[ ] 6.5 Performance Issues
[ ] 6.6 Weak External Symbols
[ ] 7 Relocation
[ ] 7.1 Hardware and Software Relocation
[ ] 7.2 Link-Time and Load-Time Relocation
[ ] 7.3 Symbol and Segment Relocation
[ ] 7.4 Basic Relocation Techniques
[ ] 7.5 Relinkable and Relocatable Output Formats
[ ] 7.6 Other Relocation Formats
[ ] 7.7 Relocation Special Cases
[ ] 8 Loading and Overlays
[ ] 8.1 Basic Loading
[ ] 8.2 Basic Loading, with Relocation
[ ] 8.3 Position-Independent Code
[ ] 8.4 Bootstrap Loading
[ ] 8.5 Tree-Structured Overlays
[ ] 9 Shared Libraries
[ ] 9.1 Binding Time
[ ] 9.2 Shared Libraries in Practice
[ ] 9.3 Address Space Management
[ ] 9.4 Structure of Shared Libraries
[ ] 9.5 Creating Shared Libraries
[ ] 9.6 Linking With Shared Libraries
[ ] 9.7 Running With Shared Libraries
[ ] 9.8 The
malloc
Hack and Other Shared-Library Problems
[ ] 10 Dynamic Linking and Loading
[ ] 10.1 ELF Dynamic Linking
[ ] 10.2 Contents of an ELF File
[ ] 10.3 Loading a Dynamically Linked Program
[ ] 10.4 Lazy Procedure Linking with the PLT
[ ] 10.5 Other Peculiarities of Dynamic Linking
[ ] 10.6 Dynamic Loading of Run Time
[ ] 10.7 Microsoft Dynamic-Link Libraries
[ ] 10.8 OSF/1 Pseudo-Static Shared Libraries
[ ] 10.9 Making Shared Libraries Fast
[ ] 10.10 Comparison of Dynamic Linking Approaches
[ ] 11 - Advanced Techniques
[ ] 11.1 Techniques for C++
[ ] 11.2 Incremental Linking and Relinking
[ ] 11.3 Link-Time Garbage Collection
[ ] 11.4 Link-Time Optimization
[ ] 11.5 Link-Time Code Generation
[ ] 11.6 The Java Linking Model
malloc
Hack and Other Shared-Library Problems