.RB "[\|" "\-e\ "\c
.I entry\c
\&\|]
+.RB "[\|" \-embedded\-relocs "\|]"
.RB "[\|" \-F "\|]"
.RB "[\|" "\-F\ "\c
.I format\c
\&\|]
.RB "[\|" \-n | \-N "\|]"
.RB "[\|" \-noinhibit-exec "\|]"
+.RB "[\|" \-no\-keep\-memory "\|]"
.RB "[\|" "\-oformat\ "\c
.I output-format\c
\&\|]
.RB "[\|" \-S "\|]"
.RB "[\|" \-s "\|]"
.RB "[\|" \-sort\-common "\|]"
+.RB "[\|" \-split\-by\-reloc\ "\c
+.I count\c
+\&\|]
+.RB "[\|" \-split\-by\-file "\|]"
.RB "[\|" "\-T\ "\c
.I commandfile\c
\&\|]
\&]
.RB "[\|" \-V "\|]"
.RB "[\|" \-v "\|]"
+.RB "[\|" \-\-verbose "\|]"
.RB "[\|" \-\-version "\|]"
.RB "[\|" \-warn\-common "\|]"
.RB "[\|" \-warn\-once "\|]"
+.RB "[\|" \-\-whole\-archive "\|]"
.RB "[\|" \-X "\|]"
.RB "[\|" \-x "\|]"
.ad b
discussion of defaults and other ways of specifying the
entry point.
+.TP
+.B \-embedded\-relocs
+This option is only meaningful when linking MIPS embedded PIC code,
+generated by the
+.B \-membedded\-pic
+option to the GNU compiler and assembler. It causes the linker to
+create a table which may be used at runtime to relocate any data which
+was statically initialized to pointer values. See the code in
+testsuite/ld-empic for details.
+
.TP
.B \-F
.TP
Emulate the
.I emulation
linker. You can list the available emulations with the
+.I \-\-verbose
+or
.I \-V
-option. This option overrides the compiled-in default, which is the
+options. This option overrides the compiled-in default, which is the
system for which you configured
.BR ld .
errors during the link process. With this flag, you can specify that
you wish the output file retained even after non-fatal errors.
+.TP
+.B \-no\-keep\-memory
+The linker normally optimizes for speed over memory usage by caching
+the symbol tables of input files in memory. This option tells the
+linker to instead optimize for memory usage, by rereading the symbol
+tables as necessary. This may be required if the linker runs out of
+memory space while linking a large executable.
+
.TP
.BI "\-o " "output"\c
\&
This is to prevent gaps between symbols due to
alignment constraints. This option disables that sorting.
+.TP
+.B \-split\-by\-reloc\ \fIcount
+Trys to creates extra sections in the output file so that no single
+output section in the file contains more than
+.I count
+relocations.
+This is useful when generating huge relocatable for downloading into
+certain real time kernels with the COFF object file format; since COFF
+cannot represent more than 65535 relocations in a single section.
+Note that this will fail to work with object file formats which do not
+support arbitrary sections. The linker will not split up individual
+input sections for redistribution, so if a single input section
+contains more than
+.I count
+relocations one output section will contain that many relocations.
+
+.TP
+.B \-split\-by\-file
+Similar to
+.B \-split\-by\-reloc
+but creates a new output section for each input file.
+
.TP
.BI "\-Tbss " "org"\c
.TP
\&.
.TP
-.B \-V
+.B \-\-verbose
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
+.B \-v, \-V
Display the version number for \c
.B ld\c
\&.
+The
+.B \-V
+option also lists the supported emulations.
.TP
.B \-\-version
Only warn once for each undefined symbol, rather than once per module
which refers to it.
+.TP
+.B \-\-whole\-archive
+For each archive mentioned on the command line, include every object
+file in the archive in the link, rather than searching the archive for
+the required object files. This is normally used to turn an archive
+file into a shared library, forcing every object to be included in the
+resulting shared library.
+
.TP
.B \-X
-If \c
-.B \-s\c
-\& or \c
-.B \-S\c
-\& is also specified, delete only local symbols
-beginning with `\|\c
+Delete all temporary local symbols. For most targets, this is all local
+symbols whose names begin with `\|\c
.B L\c
\|'.
.TP
.B \-x
-If \c
-.B \-s\c
-\& or \c
-.B \-S\c
-\& is also specified, delete all local symbols,
-not just those beginning with `\|\c
-.B L\c
-\|'.
+Delete all local symbols.
.PP