This is ld.info, produced by makeinfo version 4.3 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.14. Copyright (C) 1991, 92, 93, 94, 95, 96, 97, 98, 99, 2000, 2001, 2002, 2003 Free Software Foundation, Inc.  File: ld.info, Node: Top, Next: Overview, Up: (dir) Using ld ******** This file documents the GNU linker ld version 2.14. 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