There are a few other linker scripts commands.
ASSERT(
exp,
message)
EXTERN(
symbol
symbol ...)
EXTERN
, and you may use EXTERN
multiple times. This
command has the same effect as the -u
command-line option.
FORCE_COMMON_ALLOCATION
-d
command-line option:
to make ld
assign space to common symbols even if a relocatable
output file is specified (-r
).
INHIBIT_COMMON_ALLOCATION
--no-define-common
command-line option: to make ld
omit the assignment of addresses
to common symbols even for a non-relocatable output file.
NOCROSSREFS(
section
section ...)
ld
to issue an error about any
references among certain output sections.
In certain types of programs, particularly on embedded systems when using overlays, when one section is loaded into memory, another section will not be. Any direct references between the two sections would be errors. For example, it would be an error if code in one section called a function defined in the other section.
The NOCROSSREFS
command takes a list of output section names. If
ld
detects any cross references between the sections, it reports
an error and returns a non-zero exit status. Note that the
NOCROSSREFS
command uses output section names, not input section
names.
OUTPUT_ARCH(
bfdarch)
objdump
program with
the -f
option.