10. Linker Description¶
The Arm linker creates executable modules by combining object modules. This chapter describes the linker options, directives, and statements used to create executable modules. Object libraries, command files, and other key concepts are discussed as well.
The concept of sections is basic to linker operation; see the Introduction to Object Modules section for a detailed discussion of sections.
Contents:
- 10.1. Linker Overview
- 10.2. The Linker’s Role in the Software Development Flow
- 10.3. Invoking the Linker
- 10.4. Linker Options
- 10.4.1. Basic Options
- 10.4.2. File Search Path Options
- 10.4.3. Command File Preprocessing Options
- 10.4.4. Diagnostic Options
- 10.4.5. Linker Output Options
- 10.4.6. Symbol Management Options
- 10.4.7. Run-Time Environment Options
- 10.4.8. Link-Time Compression and Specialization Options
- 10.4.9. Miscellaneous Options
- 10.5. Linker Command Files
- 10.5.1. Reserved Names in Linker Command Files
- 10.5.2. Constants in Linker Command Files
- 10.5.3. Accessing Files and Libraries from a Linker Command File
- 10.5.4. The MEMORY Directive
- 10.5.5. The SECTIONS Directive
- 10.5.6. Placing a Section at Different Load and Run Addresses
- 10.5.7. Using GROUP and UNION Statements
- 10.5.8. Special Section Types (DSECT, COPY, NOLOAD, and NOINIT)
- 10.5.9. Configuring Error Correcting Code (ECC) with the Linker
- 10.5.10. Assigning Symbols at Link Time
- 10.5.11. Creating and Filling Holes
- 10.6. Linker Symbols
- 10.7. Default Placement Algorithm
- 10.8. Using Linker-Generated Copy Tables
- 10.9. Linker-Generated CRC Tables and CRC Over Memory Ranges
- 10.10. Partial (Incremental) Linking
- 10.11. Linking C/C++ Code
- 10.12. Linker Example