wisconsin
Chapter 7: Linking

Chapter 7: Linking

Content locked

The catalog is public. Reading this content requires approved access.

Sign in to read
Chapter 7: Linking
Linking
7.1 Compiler Drivers
7.2 Static Linking
7.3 Object Files
7.4 Relocatable Object Files
Aside Why is uninitialized data called .bss?
7.5 Symbols and Symbol Tables
New to C? Hiding variable and function names with static
Practice Problem 7.1 (solution page 753)
7.6 Symbol Resolution
Aside Mangling of linker symbols in C++ and Java
7.6.1 How Linkers Resolve Duplicate Symbol Names
Practice Problem 7.2 (solution page 754)
7.6.2 Linking with Static Libraries
7.6.3 How Linkers Use Static Libraries to Resolve References
Practice Problem 7.3 (solution page 754)
7.7 Relocation
7.7.1 Relocation Entries
7.7.2 Relocating Symbol References
Relocating PC-Relative References
Relocating Absolute References
Practice Problem 7.4 (solution page 754)
Practice Problem 7.5 (solution page 754)
7.8 Executable Object Files
7.9 Loading Executable Object Files
7.10 Dynamic Linking with Shared Libraries
Aside How do loaders really work?
7.11 Loading and Linking Shared Libraries from Applications
Aside Shared libraries and the Java Native Interface
7.12 Position-Independent Code (PIC)
PIC Data References
PIC Function Calls
7.13 Library Interpositioning
7.13.1 Compile-Time Interpositioning
7.13.3 Run-Time Interpositioning
7.14 Tools for Manipulating Object Files
7.15 Summary
Bibliographic Notes
Homework Problems
7.6 ◆
7.7 ◆
7.8 ◆
7.9 ◆
7.10 ◆◆
7.11 ◆◆
7.12 ◆◆
7.13 ◆◆
Solutions to Practice Problems
Solution to Problem 7.1 (page 714)
Solution to Problem 7.2 (page 720)
Solution to Problem 7.3 (page 725)
Solution to Problem 7.4 (page 730)
Solution to Problem 7.5 (page 731)
Source footnotes