This is ld.info, produced by makeinfo version 4.0 from ./ld.texinfo.

START-INFO-DIR-ENTRY
* Ld: (ld).                       The GNU linker.
END-INFO-DIR-ENTRY

   This file documents the GNU linker LD version 2.11.

   Copyright (C) 1991, 92, 93, 94, 95, 96, 97, 98, 99, 2000 Free
Software Foundation, Inc.


File: ld.info,  Node: Top,  Next: Overview,  Up: (dir)

Using ld
********

   This file documents the GNU linker ld version 2.11.

   This document is distributed under the terms of the GNU Free
Documentation License.  A copy of the license is included in the
section entitled "GNU Free Documentation License".

* Menu:

* Overview::                    Overview
* Invocation::                  Invocation
* Scripts::                     Linker Scripts

* Machine Dependent::           Machine Dependent Features

* BFD::                         BFD

* Reporting Bugs::              Reporting Bugs
* MRI::                         MRI Compatible Script Files
* GNU Free Documentation License::  GNU Free Documentation License
* Index::                       Index


File: ld.info,  Node: Overview,  Next: Invocation,  Prev: Top,  Up: Top

Overview
********

   `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'.

   `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.  *Note 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).


File: ld.info,  Node: Invocation,  Next: Scripts,  Prev: Overview,  Up: Top

Invocation
**********

   The GNU linker `ld' is meant to cover a broad range of situations,
and to be as compatible as possible with other linkers.  As a result,
you have many choices to control its behavior.

* Menu:

* Options::                     Command Line Options
* Environment::                 Environment Variables

