Describe AT option of SECTIONS command, at long last.
[deliverable/binutils-gdb.git] / ld / ld.1
diff --git a/ld/ld.1 b/ld/ld.1
index b9e8f3f5139545b3cb98dee22b2e9f7ca3f72264..965e79116396c05660339e3d790d117cb23d3157 100644 (file)
--- a/ld/ld.1
+++ b/ld/ld.1
@@ -18,7 +18,7 @@ ld \- the GNU linker
 .RB "[\|" \-o "
 .I output\c
 \&\|] \c
-.I objfiles\c
+.I objfile\c
 \&.\|.\|.
 .br
 .RB "[\|" \-A\c
@@ -50,6 +50,10 @@ ld \- the GNU linker
 .I input-format\c
 \&\|] 
 .RB "[\|" \-g "\|]" 
+.RB "[\|" \-G\c
+.I size\c
+\&\|]
+.RB "[\|" \-\-help "\|]"
 .RB "[\|" \-i "\|]"
 .RB "[\|" \-l\c
 .I ar\c
@@ -57,9 +61,18 @@ ld \- the GNU linker
 .RB "[\|" \-L\c
 .I searchdir\c
 \&\|] 
-.RB "[\|" \-M | \-m "\|]"  
+.RB "[\|" \-M "\|]" 
+.RB "[\|" \-Map\c
+.I mapfile\c
+\&\|] 
+.RB "[\|" \-m\c
+.I emulation\c
+\&\|] 
 .RB "[\|" \-n | \-N "\|]" 
 .RB "[\|" \-noinhibit-exec "\|]" 
+.RB "[\|" "\-oformat\ "\c
+.I output-format\c
+\&\|] 
 .RB "[\|" "\-R\ "\c
 .I filename\c
 \&\|]
@@ -67,6 +80,7 @@ ld \- the GNU linker
 .RB "[\|" \-r | \-Ur "\|]" 
 .RB "[\|" \-S "\|]" 
 .RB "[\|" \-s "\|]" 
+.RB "[\|" \-sort\-common "\|]" 
 .RB "[\|" "\-T\ "\c
 .I commandfile\c
 \&\|]  
@@ -83,12 +97,12 @@ ld \- the GNU linker
 .RB "[\|" "\-u\ "\c
 .I sym\c
 \&]
+.RB "[\|" \-V "\|]"
 .RB "[\|" \-v "\|]"
+.RB "[\|" \-\-version "\|]"
+.RB "[\|" \-warn\-common "\|]" 
 .RB "[\|" \-X "\|]" 
 .RB "[\|" \-x "\|]" 
-.RB "[\|" { \c
-.I script\c
-.BR } "\|]" 
 .ad b
 .hy 1
 .SH DESCRIPTION
@@ -203,11 +217,11 @@ The exceptions\(em\&which may meaningfully be used more than once\(em\&are
 \&.
 
 The list of object files to be linked together, shown as \c
-.I objfiles\c
+.I objfile\c
 \&,
 may follow, precede, or be mixed in with command-line options; save that
 an \c
-.I objfiles\c
+.I objfile\c
 \& argument may not be placed between an option flag and
 its argument.
 
@@ -229,12 +243,6 @@ Option arguments must either follow the option letter without intervening
 whitespace, or be given as separate arguments immediately following the
 option that requires them.
 
-.TP
-.IR "objfiles" .\|.\|.
-The object files \c
-.I objfiles\c
-\& to be linked.
-
 .TP
 .BI "-A" "architecture"\c
 \&
@@ -298,7 +306,7 @@ use will add another pair of name variants to search for when \c
 specifies a library.
 
 .TP
-.BI "-b " "input-format"\c
+.BI "\-b " "input-format"\c
 \&
 Specify the binary format for input object files that follow this option
 on the command line.  You don't usually need to specify this, as
@@ -313,7 +321,8 @@ name of a particular format supported by the BFD libraries.
 .B \-format \c
 .I input-format\c
 \&\c
-\& has the same effect.
+\& has the same effect, as does the script command
+.BR TARGET .
 
 You may want to use this option if you are linking files with an unusual
 binary format.  You can also use \c
@@ -342,7 +351,7 @@ but has no effect on \c
 \&.
 
 .TP
-.BI "-c " "commandfile"\c
+.BI "\-c " "commandfile"\c
 \&
 Directs \c
 .B ld\c
@@ -441,18 +450,34 @@ but it accepts (and ignores) the \c
 with scripts written to call the old linker.
 
 .TP
-.BI "-format " "input-format"\c
+.BI "\-format " "input\-format"\c
 \&
 Synonym for \c
 .B \-b\c
 \& \c
-.I input-format\c
+.I input\-format\c
 \&.
 
 .TP
 .B \-g
 Accepted, but ignored; provided for compatibility with other tools.
 
+.TP
+.BI "\-G " "size"\c
+Set the maximum size of objects to be optimized using the GP register
+to
+.I size
+under MIPS ECOFF.  Ignored for other object file formats.
+
+.TP
+.B \-\-help
+Print a summary of the command-line options on the standard output and exit.
+This option and
+.B \-\-version
+begin with two dashes instead of one
+for compatibility with other GNU programs.  The other options start with
+only one dash for compatibility with other linkers.
+
 .TP
 .B \-i
 Perform an incremental link (same as option \c
@@ -460,7 +485,7 @@ Perform an incremental link (same as option \c
 \&).
 
 .TP
-.BI "-l" "ar"\c
+.BI "\-l" "ar"\c
 \& 
 Add an archive file \c
 .I ar\c
@@ -478,7 +503,7 @@ path-list for occurrences of \c
 specified.
 
 .TP
-.BI "-L" "searchdir"\c
+.BI "\-L" "searchdir"\c
 \& 
 This command adds path \c
 .I searchdir\c
@@ -502,14 +527,32 @@ command.
 
 .TP
 .B \-M 
-.TP
-.B \-m
 Print (to the standard output file) a link map\(em\&diagnostic information
 about where symbols are mapped by \c
 .B ld\c
 \&, and information on global
 common storage allocation.
 
+.TP
+.BI "\-Map " "mapfile"\c
+Print to the file
+.I mapfile
+a link map\(em\&diagnostic information
+about where symbols are mapped by \c
+.B ld\c
+\&, and information on global
+common storage allocation.
+
+.TP
+.BI "\-m " "emulation"\c
+Emulate the
+.I emulation
+linker.  You can list the available emulations with the
+.I \-V
+option.  This option overrides the compiled-in default, which is the
+system for which you configured
+.BR ld .
+
 .TP
 .B \-N 
 specifies readable and writable \c
@@ -535,13 +578,13 @@ sets the text segment to be read only, and \c
 if possible.
 
 .TP
-.B \-noinhibit-exec
+.B \-noinhibit\-exec
 Normally, the linker will not produce an output file if it encounters
 errors during the link process.  With this flag, you can specify that
 you wish the output file retained even after non-fatal errors.
 
 .TP
-.BI "-o " "output"\c
+.BI "\-o " "output"\c
 \&
 .I output\c
 \&
@@ -558,7 +601,23 @@ script command \c
 \& can also specify the output file name.
 
 .TP
-.BI "-R " "filename"\c
+.BI "\-oformat " "output\-format"\c
+\&
+Specify the binary format for the output object file.
+You don't usually need to specify this, as
+\c
+.B ld\c
+\& is configured to produce as a default output format the most
+usual format on each machine.  \c
+.I output-format\c
+\& is a text string, the
+name of a particular format supported by the BFD libraries.  
+The script command
+.B OUTPUT_FORMAT
+can also specify the output format, but this option overrides it.
+
+.TP
+.BI "\-R " "filename"\c
 \&
 .I file\c
 \&
@@ -617,32 +676,21 @@ Omits debugger symbol information (but not all symbols) from the output file.
 Omits all symbol information from the output file.
 
 .TP
-.BI "{ " "script" " }"
-You can, if you wish, include a script of linker commands directly in
-the command line instead of referring to it via an input file.  When the
-character `\|\c
-.B {\c
-\|' occurs on the command line, the linker switches to
-interpreting the command language until the end of the list of commands
-is reached\(em\&flagged with a closing brace `\|\c
-.B }\c
-\|'.  Other command-line
-options will not be recognized while parsing the script.
-See the `\|\c
-.B ld\c
-\|' entry in `\|\c
-.B info\c
-\|', or the manual
-.I
-ld: the GNU linker
-\&, for a description of the command language.
+.B \-sort\-common
+Normally, when
+.B ld
+places the global common symbols in the appropriate output sections,
+it sorts them by size.  First come all the one byte symbols, then all
+the two bytes, then all the four bytes, and then everything else.
+This is to prevent gaps between symbols due to
+alignment constraints.  This option disables that sorting.
 
 .TP
-.BI "-Tbss " "org"\c
+.BI "\-Tbss " "org"\c
 .TP
-.BI "-Tdata " "org"\c
+.BI "\-Tdata " "org"\c
 .TP
-.BI "-Ttext " "org"\c
+.BI "\-Ttext " "org"\c
 Use \c
 .I org\c
 \& as the starting address for\(em\&respectively\(em\&the
@@ -658,10 +706,10 @@ Use \c
 \& must be a hexadecimal integer.
 
 .TP
-.BI "-T " "commandfile"\c
+.BI "\-T " "commandfile"\c
 \&
 .TP
-.BI "-T" "commandfile"\c
+.BI "\-T" "commandfile"\c
 Equivalent to \c
 .B \-c \c
 .I commandfile\c
@@ -676,7 +724,7 @@ Prints names of input files as \c
 \& processes them.
 
 .TP
-.BI "-u " "sym"
+.BI "\-u " "sym"
 Forces \c
 .I sym\c
 \& to be entered in the output file as an undefined symbol.
@@ -703,12 +751,32 @@ turn serve as input to \c
 .B \-r\c
 \&.
 
+.TP
+.B \-V
+Display the version number for \c
+.B ld
+and list the supported emulations.
+Display which input files can and can not be opened.
+
 .TP
 .B \-v
 Display the version number for \c
 .B ld\c
 \&.
 
+.TP
+.B \-\-version
+Display the version number for \c
+.B ld
+and exit.
+
+.TP
+.B \-warn\-common
+Warn when a common symbol is combined with another common symbol or with
+a symbol definition.  Unix linkers allow this somewhat sloppy practice,
+but linkers on some other operating systems do not.  This option allows
+you to find potential problems from combining global symbols.
+
 .TP
 .B \-X 
 If \c
@@ -735,14 +803,11 @@ not just those beginning with `\|\c
 
 .SH ENVIRONMENT
 \c
+You can change the behavior of
 .B ld\c
-\& always consults two environment variables: \c
+\& with the environment variable \c
 .B GNUTARGET\c
-\&
-and \c
-.B LDEMULATION\c
-\&.  Depending on the setting of the latter, other
-environment variables may be used as well.
+\&.
 
 \c
 .B GNUTARGET\c
@@ -770,247 +835,6 @@ unique.  However, the configuration procedure for BFD on each system
 places the conventional format for that system first in the search-list,
 so ambiguities are resolved in favor of convention.
 
-\c
-.B LDEMULATION\c
-\& controls some aspects of \c
-.B ld\c
-\&'s dominant
-personality.  Although \c
-.B ld\c
-\& is flexible enough to permit its use
-in many contexts regardless of configuration, you can use this variable
-to make it act more like one or another older linker by default.
-
-In particular, the value of \c
-.B LDEMULATION\c
-\& controls what default
-linker script is used (thereby controlling the default input and output
-formats; ; what default paths are searched for
-archive libraries; and in some cases whether additional linker script
-commands are available.
-
-Here is the current set of emulations available:
-
-.TP
-.B LDEMULATION=gld
-Emulate the older GNU linker.  When this emulation is selected, the
-default library search paths are
-.sp
-.br
-/lib
-.br
-/usr/lib
-.br
-/usr/local/lib/lib
-.br
-.sp
-
-The default output format is set to \c
-.B a.out-generic-big\c
-\&, and the
-default machine is the system's configured BFD default.
-
-.TP
-.B LDEMULATION=gld68k
-A variant of the \c
-.B gld\c
-\& emulation; only differs in specifically
-setting the default BFD machine as \c
-.B m68k\c
-\&.
-
-.TP
-.B LDEMULATION=gld960
-Emulate the Intel port of the older \c
-.B gld\c
-\& for the i960
-architectures.  The default library search paths are taken from two
-other environment variables, \c
-.B G960LIB\c
-\& and \c
-.B G960BASE\c
-\&.  The
-default architecture is \c
-.B i960\c
-\&.  The default output format is set
-to \c
-.B b.out.big\c
-\&, and in fact the default output file name (if
-\c
-.B \-o\c
-\& is not specified) is \c
-.B b.out\c
-\&, to reflect this variant
-format, for this emulation.
-
-This emulation can behave slightly differently depending on the setting
-of the \c
-.B ld\c
-\& compile-time switch \c
-.B GNU960\c
-\&.  If \c
-.B ld\c
-\& is
-compiled with \c
-.B GNU960\c
-\& defined, then an additional environment
-variable\(em\&\c
-.B GNUTARGET\c
-\&\(em\&is available; its value, if available,
-specifies some other default output format than \c
-.B b.out.big\c
-\&.
-
-.TP
-.B LDEMULATION=gldm88kbcs
-Sets the output format to \c
-.B m88kbcs\c
-\& and the architecture to
-\c
-.B m88k\c
-\&.  Default library search paths are
-.sp
-.br
-/lib
-.br
-/usr/lib
-.br
-/usr/local/lib
-.br
-.sp
-
-.TP
-.B LDEMULATION=lnk960
-Emulate the Intel linker \c
-.B lnk960\c
-\&.  The default output format is
-\c
-.B coff-Intel-big\c
-\&.  With this emulation, \c
-.B ld\c
-\&
-supports the additional script commands \c
-.B HLL\c
-\& and \c
-.B SYSLIB\c
-\& for
-specification of library archives.  This is the only emulation with
-extensive support for the \c
-.B \-A\c
-\& (architecture) command-line option.
-By default, the architecture \c
-.B CORE\c
-\& is assumed, but you can choose
-additional features from the i960 architecture family by using one of
-the following with \c
-.B \-A\c
-\& (or by using the \c
-.B OUTPUT_ARCH\c
-\& command
-from a script):
-.sp
-.br
-CORE
-.br
-KB
-.br
-SB
-.br
-MC
-.br
-XA
-.br
-CA
-.br
-KA
-.br
-SA
-.br
-.sp
-
-The default libraries are chosen with some attention to the architecture
-selected; the core library `\|\c
-.B cg\c
-\|' is always included, but the library
-\c
-.B fpg\c
-\& is also used if you've specified any of the architectures
-\c
-.B KA\c
-\&, \c
-.B SA\c
-\&, or \c
-.B CA\c
-\&.
-
-Like \c
-.B gld960\c
-\&, this emulation uses additional environment variables
-to set the default library search paths.  Also like \c
-.B gld960\c
-\&, the
-behavior of this emulation is slightly different depending on whether
-\c
-.B ld\c
-\& itself was compiled with \c
-.B GNU960\c
-\& defined.
-
-If your \c
-.B ld\c
-\& was compiled with \c
-.B GNU960\c
-\& defined, the default
-paths are taken from all three of \c
-.B G960LIB\c
-\&, \c
-.B G960BASE\c
-\&, and
-\c
-.B I960BASE\c
-\&.  For the first two, paths you supply are automatically
-suffixed with `\|\c
-.B /lib/libcoff\c
-\|'; for the last, your path is
-automatically suffixed with `\|\c
-.B /lib\c
-\|'.
-
-If your \c
-.B ld\c
-\& was \c
-.I not\c
-\& compiled with \c
-.B GNU960\c
-\& defined,
-the default paths are taken from \c
-.B I960BASE\c
-\&, and \c
-.B G960BASE\c
-\& is
-only consulted if \c
-.B I960BASE\c
-\& is undefined.  In this case
-\c
-.B G960LIB\c
-\& is not used at all.
-
-.TP
-.B LDEMULATION=vanilla
-This is the least specific setting for \c
-.B ld\c
-\&.  You can set
-\c
-.B LDEMULATION=vanilla\c
-\& to disable emulation of other linkers.  This
-setting makes \c
-.B ld\c
-\& take the default machine from the BFD
-configuration on your system; \c
-.B a.out-generic-big\c
-\& is the default
-target.  No other defaults are specified.
-
 .PP
 
 .SH "SEE ALSO"
This page took 0.030251 seconds and 4 git commands to generate.