760 lines
36 KiB
Plaintext
760 lines
36 KiB
Plaintext
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.
|
||
|
||
|