Contents|Index|Next
Overview of ld, the GNU linker
ld combines a number of object and archive files, relocates their data and ties
up symbol references. Usually the last step in compiling a program is to run ld.
For specific discussion on the linker, see the following documentation.
Invocation
Command Line Options
Environment Variables
Command Language
Linker Scripts
Expressions
Integers
Symbol Names
The Location Counter
Operators
Evaluation
Assignment: Defining Symbols
Arithmetic Functions
Memory Layout
Specifying Output Sections
Section Definitions
Section Placement
Section Data Expressions
Optional Section Attributes
The Entry Point
Option Commands
Machine Dependent Features
ld and the H8/300
ld and the Intel 960 family
BFD
How it works: an outline of BFD
Information Loss
The BFD canonical object-file format
MRI Compatible Script Files
ld accepts Linker Command Language files written in a superset of AT&T’s Link
Editor Command Language syntax, to provide explicit and total control over the
linking process.
This version of
ld uses the general purpose BFD libraries to operate on object files. This
allows ld to read, combine, and write object files in many different formats—for
example, COFF or a.out. Different formats may be linked together to produce any available kind of
object file. See BFD for more information.
Aside from its flexibility, the GNU linker is more helpful than other linkers in providing diagnostic
information. Many linkers abandon execution immediately upon encountering an error;
whenever possible,
ld continues executing, allowing you to identify other errors (or, in some
cases, to get an output file in spite of the error).