blob: f51054d1823fc8c163e4c128d013b58d06f59ed9 [file] [log] [blame]
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.10.
Copyright (C) 1991, 92, 93, 94, 95, 96, 97, 98, 99, 2000 Free
Software Foundation, Inc.
Permission is granted to make and distribute verbatim copies of this
manual provided the copyright notice and this permission notice are
preserved on all copies.
Permission is granted to copy and distribute modified versions of
this manual under the conditions for verbatim copying, provided also
that the entire resulting derived work is distributed under the terms
of a permission notice identical to this one.
Permission is granted to copy and distribute translations of this
manual into another language, under the above conditions for modified
versions.

File: ld.info, Node: Bug Reporting, Prev: Bug Criteria, Up: Reporting Bugs
How to report bugs
==================
A number of companies and individuals offer support for GNU
products. If you obtained `ld' from a support organization, we
recommend you contact that organization first.
You can find contact information for many support companies and
individuals in the file `etc/SERVICE' in the GNU Emacs distribution.
Otherwise, send bug reports for `ld' to `bug-gnu-utils@gnu.org'.
The fundamental principle of reporting bugs usefully is this:
*report all the facts*. If you are not sure whether to state a fact or
leave it out, state it!
Often people omit facts because they think they know what causes the
problem and assume that some details do not matter. Thus, you might
assume that the name of a symbol you use in an example does not matter.
Well, probably it does not, but one cannot be sure. Perhaps the bug is
a stray memory reference which happens to fetch from the location where
that name is stored in memory; perhaps, if the name were different, the
contents of that location would fool the linker into doing the right
thing despite the bug. Play it safe and give a specific, complete
example. That is the easiest thing for you to do, and the most helpful.
Keep in mind that the purpose of a bug report is to enable us to fix
the bug if it is new to us. Therefore, always write your bug reports
on the assumption that the bug has not been reported previously.
Sometimes people give a few sketchy facts and ask, "Does this ring a
bell?" Those bug reports are useless, and we urge everyone to _refuse
to respond to them_ except to chide the sender to report bugs properly.
To enable us to fix the bug, you should include all these things:
* The version of `ld'. `ld' announces it if you start it with the
`--version' argument.
Without this, we will not know whether there is any point in
looking for the bug in the current version of `ld'.
* Any patches you may have applied to the `ld' source, including any
patches made to the `BFD' library.
* The type of machine you are using, and the operating system name
and version number.
* What compiler (and its version) was used to compile `ld'--e.g.
"`gcc-2.7'".
* The command arguments you gave the linker to link your example and
observe the bug. To guarantee you will not omit something
important, list them all. A copy of the Makefile (or the output
from make) is sufficient.
If we were to try to guess the arguments, we would probably guess
wrong and then we might not encounter the bug.
* A complete input file, or set of input files, that will reproduce
the bug. It is generally most helpful to send the actual object
files, uuencoded if necessary to get them through the mail system.
Making them available for anonymous FTP is not as good, but may
be the only reasonable choice for large object files.
If the source files were assembled using `gas' or compiled using
`gcc', then it may be OK to send the source files rather than the
object files. In this case, be sure to say exactly what version of
`gas' or `gcc' was used to produce the object files. Also say how
`gas' or `gcc' were configured.
* A description of what behavior you observe that you believe is
incorrect. For example, "It gets a fatal signal."
Of course, if the bug is that `ld' gets a fatal signal, then we
will certainly notice it. But if the bug is incorrect output, we
might not notice unless it is glaringly wrong. You might as well
not give us a chance to make a mistake.
Even if the problem you experience is a fatal signal, you should
still say so explicitly. Suppose something strange is going on,
such as, your copy of `ld' is out of synch, or you have
encountered a bug in the C library on your system. (This has
happened!) Your copy might crash and ours would not. If you told
us to expect a crash, then when ours fails to crash, we would know
that the bug was not happening for us. If you had not told us to
expect a crash, then we would not be able to draw any conclusion
from our observations.
* If you wish to suggest changes to the `ld' source, send us context
diffs, as generated by `diff' with the `-u', `-c', or `-p' option.
Always send diffs from the old file to the new file. If you even
discuss something in the `ld' source, refer to it by context, not
by line number.
The line numbers in our development sources will not match those
in your sources. Your line numbers would convey no useful
information to us.
Here are some things that are not necessary:
* A description of the envelope of the bug.
Often people who encounter a bug spend a lot of time investigating
which changes to the input file will make the bug go away and which
changes will not affect it.
This is often time consuming and not very useful, because the way
we will find the bug is by running a single example under the
debugger with breakpoints, not by pure deduction from a series of
examples. We recommend that you save your time for something else.
Of course, if you can find a simpler example to report _instead_
of the original one, that is a convenience for us. Errors in the
output will be easier to spot, running under the debugger will take
less time, and so on.
However, simplification is not vital; if you do not want to do
this, report the bug anyway and send us the entire test case you
used.
* A patch for the bug.
A patch for the bug does help us if it is a good one. But do not
omit the necessary information, such as the test case, on the
assumption that a patch is all we need. We might see problems
with your patch and decide to fix the problem another way, or we
might not understand it at all.
Sometimes with a program as complicated as `ld' it is very hard to
construct an example that will make the program follow a certain
path through the code. If you do not send us the example, we will
not be able to construct one, so we will not be able to verify
that the bug is fixed.
And if we cannot understand what bug you are trying to fix, or why
your patch should be an improvement, we will not install it. A
test case will help us to understand.
* A guess about what the bug is or what it depends on.
Such guesses are usually wrong. Even we cannot guess right about
such things without first using the debugger to find the facts.

File: ld.info, Node: MRI, Next: Index, Prev: Reporting Bugs, Up: Top
MRI Compatible Script Files
***************************
To aid users making the transition to GNU `ld' from the MRI linker,
`ld' can use MRI compatible linker scripts as an alternative to the
more general-purpose linker scripting language described in *Note
Scripts::. MRI compatible linker scripts have a much simpler command
set than the scripting language otherwise used with `ld'. GNU `ld'
supports the most commonly used MRI linker commands; these commands are
described here.
In general, MRI scripts aren't of much use with the `a.out' object
file format, since it only has three sections and MRI scripts lack some
features to make use of them.
You can specify a file containing an MRI-compatible script using the
`-c' command-line option.
Each command in an MRI-compatible script occupies its own line; each
command line starts with the keyword that identifies the command (though
blank lines are also allowed for punctuation). If a line of an
MRI-compatible script begins with an unrecognized keyword, `ld' issues
a warning message, but continues processing the script.
Lines beginning with `*' are comments.
You can write these commands using all upper-case letters, or all
lower case; for example, `chip' is the same as `CHIP'. The following
list shows only the upper-case form of each command.
`ABSOLUTE SECNAME'
`ABSOLUTE SECNAME, SECNAME, ... SECNAME'
Normally, `ld' includes in the output file all sections from all
the input files. However, in an MRI-compatible script, you can
use the `ABSOLUTE' command to restrict the sections that will be
present in your output program. If the `ABSOLUTE' command is used
at all in a script, then only the sections named explicitly in
`ABSOLUTE' commands will appear in the linker output. You can
still use other input sections (whatever you select on the command
line, or using `LOAD') to resolve addresses in the output file.
`ALIAS OUT-SECNAME, IN-SECNAME'
Use this command to place the data from input section IN-SECNAME
in a section called OUT-SECNAME in the linker output file.
IN-SECNAME may be an integer.
`ALIGN SECNAME = EXPRESSION'
Align the section called SECNAME to EXPRESSION. The EXPRESSION
should be a power of two.
`BASE EXPRESSION'
Use the value of EXPRESSION as the lowest address (other than
absolute addresses) in the output file.
`CHIP EXPRESSION'
`CHIP EXPRESSION, EXPRESSION'
This command does nothing; it is accepted only for compatibility.
`END'
This command does nothing whatever; it's only accepted for
compatibility.
`FORMAT OUTPUT-FORMAT'
Similar to the `OUTPUT_FORMAT' command in the more general linker
language, but restricted to one of these output formats:
1. S-records, if OUTPUT-FORMAT is `S'
2. IEEE, if OUTPUT-FORMAT is `IEEE'
3. COFF (the `coff-m68k' variant in BFD), if OUTPUT-FORMAT is
`COFF'
`LIST ANYTHING...'
Print (to the standard output file) a link map, as produced by the
`ld' command-line option `-M'.
The keyword `LIST' may be followed by anything on the same line,
with no change in its effect.
`LOAD FILENAME'
`LOAD FILENAME, FILENAME, ... FILENAME'
Include one or more object file FILENAME in the link; this has the
same effect as specifying FILENAME directly on the `ld' command
line.
`NAME OUTPUT-NAME'
OUTPUT-NAME is the name for the program produced by `ld'; the
MRI-compatible command `NAME' is equivalent to the command-line
option `-o' or the general script language command `OUTPUT'.
`ORDER SECNAME, SECNAME, ... SECNAME'
`ORDER SECNAME SECNAME SECNAME'
Normally, `ld' orders the sections in its output file in the order
in which they first appear in the input files. In an
MRI-compatible script, you can override this ordering with the
`ORDER' command. The sections you list with `ORDER' will appear
first in your output file, in the order specified.
`PUBLIC NAME=EXPRESSION'
`PUBLIC NAME,EXPRESSION'
`PUBLIC NAME EXPRESSION'
Supply a value (EXPRESSION) for external symbol NAME used in the
linker input files.
`SECT SECNAME, EXPRESSION'
`SECT SECNAME=EXPRESSION'
`SECT SECNAME EXPRESSION'
You can use any of these three forms of the `SECT' command to
specify the start address (EXPRESSION) for section SECNAME. If
you have more than one `SECT' statement for the same SECNAME, only
the _first_ sets the start address.

File: ld.info, Node: Index, Prev: MRI, Up: Top
Index
*****
* Menu:
* ": Symbols.
* -(: Options.
* --add-stdcall-alias: Options.
* --architecture=ARCH: Options.
* --auxiliary: Options.
* --base-file: Options.
* --check-sections: Options.
* --cref: Options.
* --defsym SYMBOL=EXP: Options.
* --demangle: Options.
* --disable-stdcall-fixup: Options.
* --discard-all: Options.
* --discard-locals: Options.
* --dll: Options.
* --dynamic-linker FILE: Options.
* --embedded-relocs: Options.
* --enable-stdcall-fixup: Options.
* --entry=ENTRY: Options.
* --exclude-symbols: Options.
* --export-all-symbols: Options.
* --export-dynamic: Options.
* --file-alignment: Options.
* --filter: Options.
* --force-exe-suffix: Options.
* --format=FORMAT: Options.
* --gc-sections: Options.
* --gpsize: Options.
* --heap: Options.
* --help: Options.
* --image-base: Options.
* --just-symbols=FILE: Options.
* --kill-at: Options.
* --library-path=DIR: Options.
* --library=ARCHIVE: Options.
* --major-image-version: Options.
* --major-os-version: Options.
* --major-subsystem-version: Options.
* --minor-image-version: Options.
* --minor-os-version: Options.
* --minor-subsystem-version: Options.
* --mri-script=MRI-CMDFILE: Options.
* --nmagic: Options.
* --no-check-sections: Options.
* --no-demangle: Options.
* --no-gc-sections: Options.
* --no-keep-memory: Options.
* --no-undefined: Options.
* --no-warn-mismatch: Options.
* --no-whole-archive: Options.
* --noinhibit-exec: Options.
* --oformat: Options.
* --omagic: Options.
* --output-def: Options.
* --output=OUTPUT: Options.
* --print-map: Options.
* --relax: Options.
* --relax on i960: i960.
* --relocateable: Options.
* --script=SCRIPT: Options.
* --section-alignment: Options.
* --sort-common: Options.
* --split-by-file: Options.
* --split-by-reloc: Options.
* --stack: Options.
* --stats: Options.
* --strip-all: Options.
* --strip-debug: Options.
* --subsystem: Options.
* --support-old-code: ARM.
* --thumb-entry=ENTRY: ARM.
* --trace: Options.
* --trace-symbol=SYMBOL: Options.
* --traditional-format: Options.
* --undefined=SYMBOL: Options.
* --verbose: Options.
* --version: Options.
* --version-script=VERSION-SCRIPTFILE: Options.
* --warn-comon: Options.
* --warn-constructors: Options.
* --warn-multiple-gp: Options.
* --warn-once: Options.
* --warn-section-align: Options.
* --whole-archive: Options.
* --wrap: Options.
* -AARCH: Options.
* -aKEYWORD: Options.
* -assert KEYWORD: Options.
* -b FORMAT: Options.
* -Bdynamic: Options.
* -Bshareable: Options.
* -Bstatic: Options.
* -Bsymbolic: Options.
* -c MRI-CMDFILE: Options.
* -call_shared: Options.
* -d: Options.
* -dc: Options.
* -dn: Options.
* -dp: Options.
* -dy: Options.
* -E: Options.
* -e ENTRY: Options.
* -EB: Options.
* -EL: Options.
* -F: Options.
* -f: Options.
* -fini: Options.
* -G: Options.
* -g: Options.
* -hNAME: Options.
* -i: Options.
* -init: Options.
* -lARCHIVE: Options.
* -LDIR: Options.
* -M: Options.
* -m EMULATION: Options.
* -Map: Options.
* -N: Options.
* -n: Options.
* -non_shared: Options.
* -O LEVEL: Options.
* -o OUTPUT: Options.
* -qmagic: Options.
* -Qy: Options.
* -r: Options.
* -R FILE: Options.
* -rpath: Options.
* -rpath-link: Options.
* -S: Options.
* -s: Options.
* -shared: Options.
* -soname=NAME: Options.
* -static: Options.
* -t: Options.
* -T SCRIPT: Options.
* -Tbss ORG: Options.
* -Tdata ORG: Options.
* -Ttext ORG: Options.
* -u SYMBOL: Options.
* -Ur: Options.
* -V: Options.
* -v: Options.
* -X: Options.
* -x: Options.
* -Y PATH: Options.
* -y SYMBOL: Options.
* -z KEYWORD: Options.
* .: Location Counter.
* /DISCARD/: Output Section Discarding.
* :PHDR: Output Section Phdr.
* =FILLEXP: Output Section Fill.
* >REGION: Output Section Region.
* [COMMON]: Input Section Common.
* ABSOLUTE (MRI): MRI.
* absolute and relocatable symbols: Expression Section.
* absolute expressions: Expression Section.
* ABSOLUTE(EXP): Builtin Functions.
* ADDR(SECTION): Builtin Functions.
* address, section: Output Section Address.
* ALIAS (MRI): MRI.
* ALIGN (MRI): MRI.
* align location counter: Builtin Functions.
* ALIGN(EXP): Builtin Functions.
* allocating memory: MEMORY.
* architecture: Miscellaneous Commands.
* architectures: Options.
* archive files, from cmd line: Options.
* archive search path in linker script: File Commands.
* arithmetic: Expressions.
* arithmetic operators: Operators.
* ARM interworking support: ARM.
* ASSERT: Miscellaneous Commands.
* assertion in linker script: Miscellaneous Commands.
* assignment in scripts: Assignments.
* AT(LMA): Output Section LMA.
* AT>LMA_REGION: Output Section LMA.
* back end: BFD.
* BASE (MRI): MRI.
* BFD canonical format: Canonical format.
* BFD requirements: BFD.
* big-endian objects: Options.
* binary input format: Options.
* BLOCK(EXP): Builtin Functions.
* bug criteria: Bug Criteria.
* bug reports: Bug Reporting.
* bugs in ld: Reporting Bugs.
* BYTE(EXPRESSION): Output Section Data.
* C++ constructors, arranging in link: Output Section Keywords.
* CHIP (MRI): MRI.
* COLLECT_NO_DEMANGLE: Environment.
* combining symbols, warnings on: Options.
* command files: Scripts.
* command line: Options.
* common allocation: Options.
* common allocation in linker script: Miscellaneous Commands.
* common symbol placement: Input Section Common.
* compatibility, MRI: Options.
* constants in linker scripts: Constants.
* CONSTRUCTORS: Output Section Keywords.
* constructors: Options.
* constructors, arranging in link: Output Section Keywords.
* crash of linker: Bug Criteria.
* CREATE_OBJECT_SYMBOLS: Output Section Keywords.
* cross reference table: Options.
* cross references: Miscellaneous Commands.
* current output location: Location Counter.
* data: Output Section Data.
* dbx: Options.
* DEF files, creating: Options.
* default emulation: Environment.
* default input format: Environment.
* DEFINED(SYMBOL): Builtin Functions.
* deleting local symbols: Options.
* demangling, default: Environment.
* demangling, from command line: Options.
* discarding sections: Output Section Discarding.
* discontinuous memory: MEMORY.
* DLLs, creating: Options.
* dot: Location Counter.
* dot inside sections: Location Counter.
* dynamic linker, from command line: Options.
* dynamic symbol table: Options.
* ELF program headers: PHDRS.
* emulation: Options.
* emulation, default: Environment.
* END (MRI): MRI.
* endianness: Options.
* entry point: Entry Point.
* entry point, from command line: Options.
* entry point, thumb: ARM.
* ENTRY(SYMBOL): Entry Point.
* error on valid input: Bug Criteria.
* example of linker script: Simple Example.
* expression evaluation order: Evaluation.
* expression sections: Expression Section.
* expression, absolute: Builtin Functions.
* expressions: Expressions.
* EXTERN: Miscellaneous Commands.
* fatal signal: Bug Criteria.
* file name wildcard patterns: Input Section Wildcards.
* FILEHDR: PHDRS.
* filename symbols: Output Section Keywords.
* fill pattern, entire section: Output Section Fill.
* FILL(EXPRESSION): Output Section Data.
* finalization function: Options.
* first input file: File Commands.
* first instruction: Entry Point.
* FORCE_COMMON_ALLOCATION: Miscellaneous Commands.
* FORMAT (MRI): MRI.
* functions in expressions: Builtin Functions.
* garbage collection <1>: Input Section Keep.
* garbage collection: Options.
* generating optimized output: Options.
* GNU linker: Overview.
* GNUTARGET: Environment.
* GROUP(FILES): File Commands.
* grouping input files: File Commands.
* groups of archives: Options.
* H8/300 support: H8/300.
* header size: Builtin Functions.
* heap size: Options.
* help: Options.
* holes: Location Counter.
* holes, filling: Output Section Data.
* i960 support: i960.
* image base: Options.
* implicit linker scripts: Implicit Linker Scripts.
* INCLUDE FILENAME: File Commands.
* including a linker script: File Commands.
* including an entire archive: Options.
* incremental link: Options.
* initialization function: Options.
* initialized data in ROM: Output Section LMA.
* input file format in linker script: Format Commands.
* input filename symbols: Output Section Keywords.
* input files in linker scripts: File Commands.
* input files, displaying: Options.
* input format: Options.
* input object files in linker scripts: File Commands.
* input section basics: Input Section Basics.
* input section wildcards: Input Section Wildcards.
* input sections: Input Section.
* INPUT(FILES): File Commands.
* integer notation: Constants.
* integer suffixes: Constants.
* internal object-file format: Canonical format.
* invalid input: Bug Criteria.
* K and M integer suffixes: Constants.
* KEEP: Input Section Keep.
* l =: MEMORY.
* L, deleting symbols beginning: Options.
* lazy evaluation: Evaluation.
* ld bugs, reporting: Bug Reporting.
* LDEMULATION: Environment.
* len =: MEMORY.
* LENGTH =: MEMORY.
* library search path in linker script: File Commands.
* link map: Options.
* link-time runtime library search path: Options.
* linker crash: Bug Criteria.
* linker script concepts: Basic Script Concepts.
* linker script example: Simple Example.
* linker script file commands: File Commands.
* linker script format: Script Format.
* linker script input object files: File Commands.
* linker script simple commands: Simple Commands.
* linker scripts: Scripts.
* LIST (MRI): MRI.
* little-endian objects: Options.
* LOAD (MRI): MRI.
* load address: Output Section LMA.
* LOADADDR(SECTION): Builtin Functions.
* loading, preventing: Output Section Type.
* local symbols, deleting: Options.
* location counter: Location Counter.
* LONG(EXPRESSION): Output Section Data.
* M and K integer suffixes: Constants.
* machine architecture: Miscellaneous Commands.
* machine dependencies: Machine Dependent.
* mapping input sections to output sections: Input Section.
* MAX: Builtin Functions.
* MEMORY: MEMORY.
* memory region attributes: MEMORY.
* memory regions: MEMORY.
* memory regions and sections: Output Section Region.
* memory usage: Options.
* MIN: Builtin Functions.
* MIPS embedded PIC code: Options.
* MRI compatibility: MRI.
* NAME (MRI): MRI.
* name, section: Output Section Name.
* names: Symbols.
* naming the output file: Options.
* NEXT(EXP): Builtin Functions.
* NMAGIC: Options.
* NOCROSSREFS(SECTIONS): Miscellaneous Commands.
* NOLOAD: Output Section Type.
* not enough room for program headers: Builtin Functions.
* o =: MEMORY.
* objdump -i: BFD.
* object file management: BFD.
* object files: Options.
* object formats available: BFD.
* object size: Options.
* OMAGIC: Options.
* opening object files: BFD outline.
* operators for arithmetic: Operators.
* options: Options.
* ORDER (MRI): MRI.
* org =: MEMORY.
* ORIGIN =: MEMORY.
* output file after errors: Options.
* output file format in linker script: Format Commands.
* output file name in linker scripot: File Commands.
* output section attributes: Output Section Attributes.
* output section data: Output Section Data.
* OUTPUT(FILENAME): File Commands.
* OUTPUT_ARCH(BFDARCH): Miscellaneous Commands.
* OUTPUT_FORMAT(BFDNAME): Format Commands.
* OVERLAY: Overlay Description.
* overlays: Overlay Description.
* partial link: Options.
* PHDRS: PHDRS.
* precedence in expressions: Operators.
* prevent unnecessary loading: Output Section Type.
* program headers: PHDRS.
* program headers and sections: Output Section Phdr.
* program headers, not enough room: Builtin Functions.
* program segments: PHDRS.
* PROVIDE: PROVIDE.
* PUBLIC (MRI): MRI.
* QUAD(EXPRESSION): Output Section Data.
* quoted symbol names: Symbols.
* read-only text: Options.
* read/write from cmd line: Options.
* regions of memory: MEMORY.
* relative expressions: Expression Section.
* relaxing addressing modes: Options.
* relaxing on H8/300: H8/300.
* relaxing on i960: i960.
* relocatable and absolute symbols: Expression Section.
* relocatable output: Options.
* removing sections: Output Section Discarding.
* reporting bugs in ld: Reporting Bugs.
* requirements for BFD: BFD.
* retaining specified symbols: Options.
* ROM initialized data: Output Section LMA.
* round up location counter: Builtin Functions.
* runtime library name: Options.
* runtime library search path: Options.
* scaled integers: Constants.
* scommon section: Input Section Common.
* script files: Options.
* scripts: Scripts.
* search directory, from cmd line: Options.
* search path in linker script: File Commands.
* SEARCH_DIR(PATH): File Commands.
* SECT (MRI): MRI.
* section address: Output Section Address.
* section address in expression: Builtin Functions.
* section alignment, warnings on: Options.
* section data: Output Section Data.
* section fill pattern: Output Section Fill.
* section load address: Output Section LMA.
* section load address in expression: Builtin Functions.
* section name: Output Section Name.
* section name wildcard patterns: Input Section Wildcards.
* section size: Builtin Functions.
* section, assigning to memory region: Output Section Region.
* section, assigning to program header: Output Section Phdr.
* SECTIONS: SECTIONS.
* sections, discarding: Output Section Discarding.
* segment origins, cmd line: Options.
* segments, ELF: PHDRS.
* shared libraries: Options.
* SHORT(EXPRESSION): Output Section Data.
* SIZEOF(SECTION): Builtin Functions.
* SIZEOF_HEADERS: Builtin Functions.
* small common symbols: Input Section Common.
* SORT: Input Section Wildcards.
* SQUAD(EXPRESSION): Output Section Data.
* stack size: Options.
* standard Unix system: Options.
* start of execution: Entry Point.
* STARTUP(FILENAME): File Commands.
* strip all symbols: Options.
* strip debugger symbols: Options.
* stripping all but some symbols: Options.
* suffixes for integers: Constants.
* symbol defaults: Builtin Functions.
* symbol definition, scripts: Assignments.
* symbol names: Symbols.
* symbol tracing: Options.
* symbol versions: VERSION.
* symbol-only input: Options.
* symbols, from command line: Options.
* symbols, relocatable and absolute: Expression Section.
* symbols, retaining selectively: Options.
* synthesizing linker: Options.
* synthesizing on H8/300: H8/300.
* TARGET(BFDNAME): Format Commands.
* thumb entry point: ARM.
* traditional format: Options.
* unallocated address, next: Builtin Functions.
* undefined symbol: Options.
* undefined symbol in linker script: Miscellaneous Commands.
* undefined symbols, warnings on: Options.
* uninitialized data placement: Input Section Common.
* unspecified memory: Output Section Data.
* usage: Options.
* variables, defining: Assignments.
* verbose: Options.
* version: Options.
* version script: VERSION.
* version script, symbol versions: Options.
* VERSION {script text}: VERSION.
* versions of symbols: VERSION.
* warnings, on combining symbols: Options.
* warnings, on section alignment: Options.
* warnings, on undefined symbols: Options.
* what is this?: Overview.
* wildcard file name patterns: Input Section Wildcards.