+2018-07-02 Thomas Preud'homme <thomas.preudhomme@arm.com>
+
+ * doc/bfdint.texi: Use command-line consistently when used in a
+ compount word.
+ * doc/bfdsumm.texi: Likewise.
+
2018-06-29 Maciej W. Rozycki <macro@mips.com>
* elfxx-mips.c (allocate_dynrelocs): Remove extraneous symbol
@table @samp
@item name
The name of the target vector. This is an arbitrary string. This is
-how the target vector is named in command line options for tools which
+how the target vector is named in command-line options for tools which
use BFD, such as the @samp{--oformat} linker option.
@item flavour
functions and to global, static, and common variables. Some symbol
information is not worth retaining; in @code{a.out}, type information is
stored in the symbol table as long symbol names. This information would
-be useless to most COFF debuggers; the linker has command line switches
+be useless to most COFF debuggers; the linker has command-line switches
to allow users to throw it away.
There is one word of type information within the symbol, so if the
+2018-07-02 Thomas Preud'homme <thomas.preudhomme@arm.com>
+
+ * NEWS: Use command-line consistently when used in a compount word.
+ * doc/binutils.texi: Likewise and fix trailing whitespace on same
+ line.
+
2018-06-26 Nick Clifton <nickc@redhat.com>
* po/sv.po: Updated Swedish translation.
require an ABI update, affecting other assemblers and linkers that
create and process the relocations correctly. It is recommended that
all VLE object files be recompiled, but ld can modify the relocations
- if --vle-reloc-fixup is passed to ld. If the new ld command line
+ if --vle-reloc-fixup is passed to ld. If the new ld command-line
option is not used, ld will ld warn on finding relocations inconsistent
with the instructions being relocated.
-* The nm program has a new command line option (--with-version-strings)
+* The nm program has a new command-line option (--with-version-strings)
which will display a symbol's version information, if any, after the
symbol's name.
Changes in 2.24:
-* Objcopy now supports wildcard characters in command line options that take
+* Objcopy now supports wildcard characters in command-line options that take
section names.
* Add support for Altera Nios II.
* Add to dlltool .def file feature of aliasing PE internal symbol name by
'== <ID>' option.
-* Add a new command line option -a / --addresses to addr2line to display the
+* Add a new command-line option -a / --addresses to addr2line to display the
address before function name or source filename.
-* Add a new command line option -p / --pretty-print to addr2line to have
+* Add a new command-line option -p / --pretty-print to addr2line to have
a more human readable output.
* The hppa/som targets can now be compiled on any host.
from the static delayimp library, which will import LoadLibraryA and
GetProcAddress from kernel32.
-* Add a new command line option, --insn-width=WIDTH, to objdump to specify
+* Add a new command-line option, --insn-width=WIDTH, to objdump to specify
number of bytes to be displayed on a single line when disassembling
instructions.
* Readelf can now display the relocated contents of a section as a sequence
- of bytes via the --relocated-dump=<name|number> command line option.
+ of bytes via the --relocated-dump=<name|number> command-line option.
-* The gprof program has been given a new command line option:
+* The gprof program has been given a new command-line option:
--external-symbols-table=<filename> which reads in symbols from a specified
file.
for objcopy.
* Add --file-alignment, --heap, --image-base, --section-alignment,
- --stack and --subsystem command line options to objcopy, which will
+ --stack and --subsystem command-line options to objcopy, which will
set PE optional header.
* Option --dwarf/-W of objdump is now as flexible as readelf --debug-dump/-w.
re-compiled by windres without lossing resources or compilation errors.
Some problems on dialog resource translations are corrected.
-* Add --extract-symbol command line option to objcopy, which will
+* Add --extract-symbol command-line option to objcopy, which will
strip everything out of an ordinary object file or executable except
for its symbol table. Files containing just symbols can be useful
to some OSes.
* readelf can now display address ranges from .debug_range sections. This
happens automatically when a DW_AT_range attribute is encountered. The
- command line switch --debug-dump=Ranges (or -wR) can also be used to display
+ command-line switch --debug-dump=Ranges (or -wR) can also be used to display
the contents of the .debug_range section.
* nm and objdump now have a switch "--special-syms" to enable the displaying of
* readelf: Support added for DWARF 2.1 extensions. Support added for
displaying the contents of .debug.macinfo sections.
-* New command line switches added to objcopy to allow symbols to be kept as
+* New command-line switches added to objcopy to allow symbols to be kept as
global symbols, and also to specify files containing lists of such symbols.
by Honda Hiroki.
* Support for OpenRISC by Johan Rydberg.
-* New command line switch to objcopy --alt-machine-code which creates a binary
+* New command-line switch to objcopy --alt-machine-code which creates a binary
with an alternate machine code if one is defined in the architecture
description. Only supported for ELF targets. By Alexandre Oliva.
-* New command line switch to objcopy -B (or --binary-architecture) which sets
+* New command-line switch to objcopy -B (or --binary-architecture) which sets
the architecture of the output file to the given argument. This option only
makes sense, if the input target is binary. Otherwise it is ignored.
By Stefan Geuken.
* Add support for ARM v5t and v5te architectures and Intel's XScale ARM
extenstions.
-* Add --srec-len and --srec-forceS3 command line switch to objcopy.
+* Add --srec-len and --srec-forceS3 command-line switch to objcopy.
By Luciano Gemme.
* Support for the MIPS32, by Anders Norlander.
* Support for 64-bit ELF on HPPA.
-* New command line switch to objdump --file-start-context which shows the
+* New command-line switch to objdump --file-start-context which shows the
entire file contents up to the source line first encountered for a given
file.
-* New command line switch to objdump -M (or --disassembler-options) which takes
+* New command-line switch to objdump -M (or --disassembler-options) which takes
a parameter which can then be interpreted on a per-target basis by the
disassembler. Used by ARM targets to select register name sets, ISA, APCS or
raw verions.
This modifier shows the version number of @command{ar}.
@end table
-The @command{ar} program also supports some command line options which
+The @command{ar} program also supports some command-line options which
are neither modifiers nor actions, but which do change its behaviour
in specific ways:
@table @samp
@item --help
-Displays the list of command line options supported by @command{ar}
+Displays the list of command-line options supported by @command{ar}
and then exits.
@item --version
@item --plugin @var{name}
@cindex plugins
-The optional command line switch @option{--plugin @var{name}} causes
+The optional command-line switch @option{--plugin @var{name}} causes
@command{ar} to load the plugin called @var{name} which adds support
for more file formats, including object files with link-time
optimization information.
sufficient to just copy the newest one.
@item --target @var{target}
-The optional command line switch @option{--target @var{bfdname}}
+The optional command-line switch @option{--target @var{bfdname}}
specifies that the archive members are in an object code format
different from your system's default format. See
@xref{Target Selection}, for more information.
@c man begin OPTIONS size
-The command line options have the following meanings:
+The command-line options have the following meanings:
@table @env
@item -A
reading from stdin then it will always display all of the printable
sequences that it can find.
-For backwards compatibility any file that occurs after a command line
+For backwards compatibility any file that occurs after a command-line
option of just @option{-} will also be scanned in full, regardless of
the presence of any @option{-d} option.
names from the standard input instead. All the results are printed on
the standard output. The difference between reading names from the
command line versus reading names from the standard input is that
-command line arguments are expected to be just mangled names and no
+command-line arguments are expected to be just mangled names and no
checking is performed to separate them from surrounding text. Thus
for example:
@item -H
@itemx --help
-Displays a list of command line options and then exits.
+Displays a list of command-line options and then exits.
@item -m @var{characters}
@itemx --maxlength @var{characters}
@command{dlltool} builds the library file by hand, but it builds the
exports file by creating temporary files containing assembler statements
-and then assembling these. The @option{-S} command line option can be
+and then assembling these. The @option{-S} command-line option can be
used to specify the path to the assembler that dlltool will use,
and the @option{-f} option can be used to pass specific flags to that
assembler. The @option{-n} can be used to prevent dlltool from deleting
@c man begin OPTIONS dlltool
-The command line options have the following meanings:
+The command-line options have the following meanings:
@table @env
@item -f @var{options}
@itemx --as-flags @var{options}
-Specifies any specific command line options to be passed to the
+Specifies any specific command-line options to be passed to the
assembler when building the exports file. This option will work even if
the @option{-S} option is not used. This option only takes one argument,
and if it occurs more than once on the command line, then later
@item -h
@itemx --help
-Displays a list of command line options and then exits.
+Displays a list of command-line options and then exits.
@item -V
@itemx --version
@item -H
@itemx --help
-Display the command line options understood by @command{readelf}.
+Display the command-line options understood by @command{readelf}.
@end table
@item -h
@itemx --help
-Display the command line options understood by @command{elfedit}.
+Display the command-line options understood by @command{elfedit}.
@end table
@enumerate
@item
-command line option: @option{-b} or @option{--target}
+command-line option: @option{-b} or @option{--target}
@item
environment variable @code{GNUTARGET}
@enumerate
@item
-command line options: @option{-I} or @option{--input-target}, or @option{-F} or @option{--target}
+command-line options: @option{-I} or @option{--input-target}, or @option{-F} or @option{--target}
@item
environment variable @code{GNUTARGET}
@enumerate
@item
-command line options: @option{-O} or @option{--output-target}, or @option{-F} or @option{--target}
+command-line options: @option{-O} or @option{--output-target}, or @option{-F} or @option{--target}
@item
the input target (see ``@command{objcopy} and @command{strip} Input Target'' above)
@enumerate
@item
-command line option: @option{--target}
+command-line option: @option{--target}
@item
environment variable @code{GNUTARGET}
@enumerate
@item
-command line option: @option{-m} or @option{--architecture}
+command-line option: @option{-m} or @option{--architecture}
@item
deduced from the input file
+2018-07-02 Thomas Preud'homme <thomas.preudhomme@arm.com>
+
+ * NEWS: Use command-line consistently when used in a compount word.
+ * doc/as.texi: Likewise.
+ * doc/c-aarch64.texi: Likewise.
+ * doc/c-alpha.texi: Likewise.
+ * doc/c-arc.texi: Likewise.
+ * doc/c-arm.texi: Likewise.
+ * doc/c-avr.texi: Likewise.
+ * doc/c-bfin.texi: Likewise.
+ * doc/c-cris.texi: Likewise.
+ * doc/c-epiphany.texi: Likewise.
+ * doc/c-i386.texi: Likewise.
+ * doc/c-ia64.texi: Likewise.
+ * doc/c-lm32.texi: Likewise.
+ * doc/c-m32r.texi: Likewise.
+ * doc/c-m68k.texi: Likewise.
+ * doc/c-mips.texi: Likewise.
+ * doc/c-mmix.texi: Likewise.
+ * doc/c-msp430.texi: Likewise.
+ * doc/c-mt.texi: Likewise.
+ * doc/c-nios2.texi: Likewise.
+ * doc/c-ppc.texi: Likewise.
+ * doc/c-pru.texi: Likewise.
+ * doc/c-rl78.texi: Likewise.
+ * doc/c-rx.texi: Likewise.
+ * doc/c-tic6x.texi: Likewise.
+ * doc/c-v850.texi: Likewise.
+ * doc/c-vax.texi: Likewise.
+ * doc/c-visium.texi: Likewise.
+ * doc/c-xstormy16.texi: Likewise.
+ * doc/c-xtensa.texi: Likewise.
+ * doc/c-z80.texi: Likewise.
+ * doc/c-z8k.texi: Likewise.
+ * doc/internals.texi: Likewise.
+
2018-06-29 Jim Wilson <jimw@sifive.com>
* config/tc-riscv.c (md_begin): Call hash_reg_name for "fp".
assembler should generate common symbols with the STT_COMMON type by
default. Default to no.
-* New command line option --elf-stt-common= for ELF targets to control
+* New command-line option --elf-stt-common= for ELF targets to control
whether to generate common symbols with the STT_COMMON type.
* Add ability to set section flags and types via numeric values for ELF
x86 assembler should generate relax relocations by default. Default to
yes, except for x86 Solaris targets older than Solaris 12.
-* New command line option -mrelax-relocations= for x86 target to control
+* New command-line option -mrelax-relocations= for x86 target to control
whether to generate relax relocations.
-* New command line option -mfence-as-lock-add=yes for x86 target to encode
+* New command-line option -mfence-as-lock-add=yes for x86 target to encode
lfence, mfence and sfence as "lock addl $0x0, (%[re]sp)".
* Add assembly-time relaxation option for ARC cpus.
* Replace support for openrisc and or32 with support for or1k.
* Enhanced the ARM port to accept the assembler output from the CodeComposer
- Studio tool. Support is enabled via the new command line option -mccs.
+ Studio tool. Support is enabled via the new command-line option -mccs.
* Add support for the Andes NDS32.
* Add support for the Texas Instruments MSP430X processor.
-* Add -gdwarf-sections command line option to enable per-code-section
+* Add -gdwarf-sections command-line option to enable per-code-section
generation of DWARF .debug_line sections.
* Add support for Altera Nios II.
* Add support for the Renesas RX processor.
-* New command line option, --compress-debug-sections, which requests
+* New command-line option, --compress-debug-sections, which requests
compression of DWARF debug information sections in the relocatable output
file. Compressed debug sections are supported by readelf, objdump, and
gold, but not currently by Gnu ld.
* New pseudo op .cfi_val_encoded_addr, to record constant addresses in unwind
tables without runtime relocation.
-* New command line option, -h-tick-hex, for sh, m32c, and h8/300 targets, which
+* New command-line option, -h-tick-hex, for sh, m32c, and h8/300 targets, which
adds compatibility with H'00 style hex constants.
-* New command line option, -msse-check=[none|error|warning], for x86
+* New command-line option, -msse-check=[none|error|warning], for x86
targets.
-* New sub-option added to the assembler's -a command line switch to
+* New sub-option added to the assembler's -a command-line switch to
generate a listing output. The 'g' sub-option will insert into the listing
various information about the assembly, such as assembler version, the
- command line options used, and a time stamp.
+ command-line options used, and a time stamp.
-* New command line option -msse2avx for x86 target to encode SSE
+* New command-line option -msse2avx for x86 target to encode SSE
instructions with VEX prefix.
* Add Intel XSAVE, EPT, MOVBE, AES, PCLMUL, AVX/FMA support for x86 target.
-* New command line options, -march=CPU[,+EXTENSION...], -mtune=CPU,
+* New command-line options, -march=CPU[,+EXTENSION...], -mtune=CPU,
-mmnemonic=[att|intel], -msyntax=[att|intel], -mindex-reg,
-mnaked-reg and -mold-gcc, for x86 targets.
* Add support for the "@<file>" syntax to the command line, so that extra
switches can be read from <file>.
-* The SH target supports a new command line switch --enable-reg-prefix which,
+* The SH target supports a new command-line switch --enable-reg-prefix which,
if enabled, will allow register names to be optionally prefixed with a $
character. This allows register names to be distinguished from label names.
for the VAX target in order to be more compatible with the VAX MACRO
assembler.
-* New command line option -mtune=[itanium1|itanium2] for IA64 targets.
+* New command-line option -mtune=[itanium1|itanium2] for IA64 targets.
Changes in 2.16:
* Redefinition of macros now results in an error.
-* New command line option -mhint.b=[ok|warning|error] for IA64 targets.
+* New command-line option -mhint.b=[ok|warning|error] for IA64 targets.
-* New command line option -munwind-check=[warning|error] for IA64
+* New command-line option -munwind-check=[warning|error] for IA64
targets.
* The IA64 port now uses automatic dependency violation removal as its default
* Added support for generating unwind tables for ARM ELF targets.
-* Add a -g command line option to generate debug information in the target's
+* Add a -g command-line option to generate debug information in the target's
preferred debug format.
* Support for the crx-elf target added.
* Support for ColdFire EMAC instructions added and Motorola syntax for MAC/EMAC
instrucitons.
-* New command line option -mno-shared for MIPS ELF targets.
+* New command-line option -mno-shared for MIPS ELF targets.
-* New command line option --alternate and pseudo-ops .altmacro and .noaltmacro
+* New command-line option --alternate and pseudo-ops .altmacro and .noaltmacro
added to enter (and leave) alternate macro syntax mode.
Changes in 2.15:
but still works for compatability.
* The MIPS assembler no longer issues a warning by default when it
- generates a nop instruction from a macro. The new command line option
+ generates a nop instruction from a macro. The new command-line option
-n will turn on the warning.
Changes in 2.11:
* x86 gas has a new .arch pseudo op to specify the target CPU architecture.
-* x86 gas -q command line option quietens warnings about register size changes
+* x86 gas -q command-line option quietens warnings about register size changes
due to suffix, indirect jmp/call without `*', stand-alone prefixes, and
translating various deprecated floating point instructions.
@end ifset
@item --help
-Print a summary of the command line options and exit.
+Print a summary of the command-line options and exit.
@item --target-help
Print a summary of all target specific options and exit.
@item -jsri2bsr
@itemx -nojsri2bsr
Enable or disable the JSRI to BSR transformation. By default this is enabled.
-The command line option @samp{-nojsri2bsr} can be used to disable it.
+The command-line option @samp{-nojsri2bsr} can be used to disable it.
@item -sifilter
@itemx -nosifilter
Enable or disable the silicon filter behaviour. By default this is disabled.
-The default can be overridden by the @samp{-sifilter} command line option.
+The default can be overridden by the @samp{-sifilter} command-line option.
@item -relax
Alter jump instructions for long displacements.
explicitly, as one of the files for @command{@value{AS}} to assemble.
@cindex options, command line
-Except for @samp{--} any command line argument that begins with a
+Except for @samp{--} any command-line argument that begins with a
hyphen (@samp{-}) is an option. Each option changes the behavior of
@command{@value{AS}}. No option changes the way another option works. An
option is a @samp{-} followed by one or more letters; the case of
You give @command{@value{AS}} a command line that has zero or more input file
names. The input files are read (from left file name to right). A
-command line argument (in any position) that has no special meaning
+command-line argument (in any position) that has no special meaning
is taken to be an input file name.
If you give @command{@value{AS}} no file names it attempts to read one input file
Note if the assembler source is coming from the standard input (e.g.,
because it
-is being created by @code{@value{GCC}} and the @samp{-pipe} command line switch
+is being created by @code{@value{GCC}} and the @samp{-pipe} command-line switch
is being used) then the listing will not contain any comments or preprocessor
directives. This is because the listing code buffers input source lines from
stdin only after they have been preprocessed by the assembler. This reduces
@node listing
@section Configuring listing output: @option{--listing}
-The listing feature of the assembler can be enabled via the command line switch
+The listing feature of the assembler can be enabled via the command-line switch
@samp{-a} (@pxref{a}). This feature combines the input source file(s) with a
hex dump of the corresponding locations in the output object file, and displays
them as a listing file. The format of this listing can be controlled by
line comment characters that only work if they are the first character on a
line. Some targets use a sequence of two characters to introduce a line
comment. Some targets can also change their line comment characters depending
-upon command line options that have been used. For more details see the
+upon command-line options that have been used. For more details see the
@emph{Syntax} section in the documentation for individual targets.
If the line comment character is the hash sign (@samp{#}) then it still has the
generated whenever the counter is greater than zero.
By default, listings are disabled. When you enable them (with the
-@samp{-a} command line option; @pxref{Invoking,,Command-Line Options}),
+@samp{-a} command-line option; @pxref{Invoking,,Command-Line Options}),
the initial value of the listing counter is one.
@node Ln
@c man begin OPTIONS
@table @gcctabopt
-@cindex @option{-EB} command line option, AArch64
+@cindex @option{-EB} command-line option, AArch64
@item -EB
This option specifies that the output generated by the assembler should
be marked as being encoded for a big-endian processor.
-@cindex @option{-EL} command line option, AArch64
+@cindex @option{-EL} command-line option, AArch64
@item -EL
This option specifies that the output generated by the assembler should
be marked as being encoded for a little-endian processor.
-@cindex @option{-mabi=} command line option, AArch64
+@cindex @option{-mabi=} command-line option, AArch64
@item -mabi=@var{abi}
Specify which ABI the source code uses. The recognized arguments
are: @code{ilp32} and @code{lp64}, which decides the generated object
file in ELF32 and ELF64 format respectively. The default is @code{lp64}.
-@cindex @option{-mcpu=} command line option, AArch64
+@cindex @option{-mcpu=} command-line option, AArch64
@item -mcpu=@var{processor}[+@var{extension}@dots{}]
This option specifies the target processor. The assembler will issue an error
message if an attempt is made to assemble an instruction which will not execute
Consequently, you will not normally have to specify any additional
extensions.
-@cindex @option{-march=} command line option, AArch64
+@cindex @option{-march=} command-line option, AArch64
@item -march=@var{architecture}[+@var{extension}@dots{}]
This option specifies the target architecture. The assembler will
issue an error message if an attempt is made to assemble an
@option{-mcpu}, extensions are not always enabled by default,
@xref{AArch64 Extensions}.
-@cindex @code{-mverbose-error} command line option, AArch64
+@cindex @code{-mverbose-error} command-line option, AArch64
@item -mverbose-error
This option enables verbose error messages for AArch64 gas. This option
is enabled by default.
-@cindex @code{-mno-verbose-error} command line option, AArch64
+@cindex @code{-mno-verbose-error} command-line option, AArch64
@item -mno-verbose-error
This option disables verbose error messages in AArch64 gas.
@cindex @code{.arch} directive, AArch64
@item .arch @var{name}
Select the target architecture. Valid values for @var{name} are the same as
-for the @option{-march} commandline option.
+for the @option{-march} command-line option.
Specifying @code{.arch} clears any previously selected architecture
extensions.
@item .arch_extension @var{name}
Add or remove an architecture extension to the target architecture. Valid
values for @var{name} are the same as those accepted as architectural
-extensions by the @option{-mcpu} commandline option.
+extensions by the @option{-mcpu} command-line option.
@code{.arch_extension} may be used multiple times to add or remove extensions
incrementally to the architecture being compiled for.
@cindex @code{.cpu} directive, AArch64
@item .cpu @var{name}
Set the target processor. Valid values for @var{name} are the same as
-those accepted by the @option{-mcpu=} command line option.
+those accepted by the @option{-mcpu=} command-line option.
@c DDDDDDDDDDDDDDDDDDDDDDDDDD
@c man begin OPTIONS
@table @gcctabopt
-@cindex @code{-m@var{cpu}} command line option, Alpha
+@cindex @code{-m@var{cpu}} command-line option, Alpha
@item -m@var{cpu}
This option specifies the target processor. If an attempt is made to
assemble an instruction which will not execute on the target processor,
numbered processor names (e.g.@: 21064) enable the processor-specific PALcode
instructions, while the ``electro-vlasic'' names (e.g.@: @code{ev4}) do not.
-@cindex @code{-mdebug} command line option, Alpha
-@cindex @code{-no-mdebug} command line option, Alpha
+@cindex @code{-mdebug} command-line option, Alpha
+@cindex @code{-no-mdebug} command-line option, Alpha
@item -mdebug
@itemx -no-mdebug
Enables or disables the generation of @code{.mdebug} encapsulation for
stabs directives and procedure descriptors. The default is to automatically
enable @code{.mdebug} when the first stabs directive is seen.
-@cindex @code{-relax} command line option, Alpha
+@cindex @code{-relax} command-line option, Alpha
@item -relax
This option forces all relocations to be put into the object file, instead
of saving space and resolving some relocations at assembly time. Note that
because not all symbol arithmetic can be represented. However, the option
can still be useful in specific applications.
-@cindex @code{-replace} command line option, Alpha
-@cindex @code{-noreplace} command line option, Alpha
+@cindex @code{-replace} command-line option, Alpha
+@cindex @code{-noreplace} command-line option, Alpha
@item -replace
@itemx -noreplace
Enables or disables the optimization of procedure calls, both at assemblage
@code{-replace} is the default. See section 1.4.1 of the OpenVMS Linker
Utility Manual.
-@cindex @code{-g} command line option, Alpha
+@cindex @code{-g} command-line option, Alpha
@item -g
This option is used when the compiler generates debug information. When
@command{gcc} is using @command{mips-tfile} to generate debug
information for ECOFF, local labels must be passed through to the object
file. Otherwise this option has no effect.
-@cindex @code{-G} command line option, Alpha
+@cindex @code{-G} command-line option, Alpha
@item -G@var{size}
A local common symbol larger than @var{size} is placed in @code{.bss},
while smaller symbols are placed in @code{.sbss}.
-@cindex @code{-F} command line option, Alpha
-@cindex @code{-32addr} command line option, Alpha
+@cindex @code{-F} command-line option, Alpha
+@cindex @code{-32addr} command-line option, Alpha
@item -F
@itemx -32addr
These options are ignored for backward compatibility.
@table @code
@item -mcpu=@var{cpu}
-@cindex @code{-mcpu=@var{cpu}} command line option, ARC
+@cindex @code{-mcpu=@var{cpu}} command-line option, ARC
Set architecture type and register usage for @var{cpu}. There are
also shortcut alias options available for backward compatibility and
convenience. Supported values for @var{cpu} are
@table @code
-@cindex @code{mA6} command line option, ARC
-@cindex @code{marc600} command line option, ARC
+@cindex @code{mA6} command-line option, ARC
+@cindex @code{marc600} command-line option, ARC
@item arc600
Assemble for ARC 600. Aliases: @code{-mA6}, @code{-mARC600}.
Assemble for ARC 600 with mul32x16 instructions.
@item arc601
-@cindex @code{mARC601} command line option, ARC
+@cindex @code{mARC601} command-line option, ARC
Assemble for ARC 601. Alias: @code{-mARC601}.
@item arc601_norm
Assemble for ARC 601 with mul32x16 instructions.
@item arc700
-@cindex @code{mA7} command line option, ARC
-@cindex @code{mARC700} command line option, ARC
+@cindex @code{mA7} command-line option, ARC
+@cindex @code{mARC700} command-line option, ARC
Assemble for ARC 700. Aliases: @code{-mA7}, @code{-mARC700}.
@item arcem
-@cindex @code{mEM} command line option, ARC
+@cindex @code{mEM} command-line option, ARC
Assemble for ARC EM. Aliases: @code{-mEM}
@item em
Assemble for QuarkSE-EM cpu.
@item archs
-@cindex @code{mHS} command line option, ARC
+@cindex @code{mHS} command-line option, ARC
Assemble for ARC HS. Aliases: @code{-mHS}, @code{-mav2hs}.
@item hs
Assemble for ARC HS38 with floating point support on.
@item nps400
-@cindex @code{mnps400} command line option, ARC
+@cindex @code{mnps400} command-line option, ARC
Assemble for ARC 700 with NPS-400 extended instructions.
@end table
Note: the @code{.cpu} directive (@pxref{ARC Directives}) can
to be used to select a core variant from within assembly code.
-@cindex @code{-EB} command line option, ARC
+@cindex @code{-EB} command-line option, ARC
@item -EB
This option specifies that the output generated by the assembler should
be marked as being encoded for a big-endian processor.
-@cindex @code{-EL} command line option, ARC
+@cindex @code{-EL} command-line option, ARC
@item -EL
This option specifies that the output generated by the assembler should
be marked as being encoded for a little-endian processor - this is the
default.
-@cindex @code{-mcode-density} command line option, ARC
+@cindex @code{-mcode-density} command-line option, ARC
@item -mcode-density
This option turns on Code Density instructions. Only valid for ARC EM
processors.
-@cindex @code{-mrelax} command line option, ARC
+@cindex @code{-mrelax} command-line option, ARC
@item -mrelax
Enable support for assembly-time relaxation. The assembler will
replace a longer version of an instruction with a shorter one,
whenever it is possible.
-@cindex @code{-mnps400} command line option, ARC
+@cindex @code{-mnps400} command-line option, ARC
@item -mnps400
Enable support for NPS-400 extended instructions.
-@cindex @code{-mspfp} command line option, ARC
+@cindex @code{-mspfp} command-line option, ARC
@item -mspfp
Enable support for single-precision floating point instructions.
-@cindex @code{-mdpfp} command line option, ARC
+@cindex @code{-mdpfp} command-line option, ARC
@item -mdpfp
Enable support for double-precision floating point instructions.
-@cindex @code{-mfpuda} command line option, ARC
+@cindex @code{-mfpuda} command-line option, ARC
@item -mfpuda
Enable support for double-precision assist floating point instructions.
Only valid for ARC EM processors.
@end table
-Note: the @code{.cpu} directive overrides the command line option
+Note: the @code{.cpu} directive overrides the command-line option
@code{-mcpu=@var{cpu}}; a warning is emitted when the version is not
consistent between the two.
@table @code
-@cindex @code{-mcpu=} command line option, ARM
+@cindex @code{-mcpu=} command-line option, ARM
@item -mcpu=@var{processor}[+@var{extension}@dots{}]
This option specifies the target processor. The assembler will issue an
error message if an attempt is made to assemble an instruction which
and
@code{xscale}.
-@cindex @code{-march=} command line option, ARM
+@cindex @code{-march=} command-line option, ARM
@item -march=@var{architecture}[+@var{extension}@dots{}]
This option specifies the target architecture. The assembler will issue
an error message if an attempt is made to assemble an instruction which
The architecture option can be extended with the same instruction set
extension options as the @code{-mcpu} option.
-@cindex @code{-mfpu=} command line option, ARM
+@cindex @code{-mfpu=} command-line option, ARM
@item -mfpu=@var{floating-point-format}
This option specifies the floating point format to assemble for. The
later, the default is to assemble for VFP instructions; for earlier
architectures the default is to assemble for FPA instructions.
-@cindex @code{-mthumb} command line option, ARM
+@cindex @code{-mthumb} command-line option, ARM
@item -mthumb
This option specifies that the assembler should start assembling Thumb
instructions; that is, it should behave as though the file starts with a
@code{.code 16} directive.
-@cindex @code{-mthumb-interwork} command line option, ARM
+@cindex @code{-mthumb-interwork} command-line option, ARM
@item -mthumb-interwork
This option specifies that the output generated by the assembler should
be marked as supporting interworking. It also affects the behaviour
of the @code{ADR} and @code{ADRL} pseudo opcodes.
-@cindex @code{-mimplicit-it} command line option, ARM
+@cindex @code{-mimplicit-it} command-line option, ARM
@item -mimplicit-it=never
@itemx -mimplicit-it=always
@itemx -mimplicit-it=arm
code and are accepted in Thumb-2 code. If you omit this option, the
behavior is equivalent to @code{-mimplicit-it=arm}.
-@cindex @code{-mapcs-26} command line option, ARM
-@cindex @code{-mapcs-32} command line option, ARM
+@cindex @code{-mapcs-26} command-line option, ARM
+@cindex @code{-mapcs-32} command-line option, ARM
@item -mapcs-26
@itemx -mapcs-32
These options specify that the output generated by the assembler should
be marked as supporting the indicated version of the Arm Procedure.
Calling Standard.
-@cindex @code{-matpcs} command line option, ARM
+@cindex @code{-matpcs} command-line option, ARM
@item -matpcs
This option specifies that the output generated by the assembler should
be marked as supporting the Arm/Thumb Procedure Calling Standard. If
debugging section in the object file called .arm.atpcs. Debuggers can
use this to determine the ABI being used by.
-@cindex @code{-mapcs-float} command line option, ARM
+@cindex @code{-mapcs-float} command-line option, ARM
@item -mapcs-float
This indicates the floating point variant of the APCS should be
used. In this variant floating point arguments are passed in FP
registers rather than integer registers.
-@cindex @code{-mapcs-reentrant} command line option, ARM
+@cindex @code{-mapcs-reentrant} command-line option, ARM
@item -mapcs-reentrant
This indicates that the reentrant variant of the APCS should be used.
This variant supports position independent code.
-@cindex @code{-mfloat-abi=} command line option, ARM
+@cindex @code{-mfloat-abi=} command-line option, ARM
@item -mfloat-abi=@var{abi}
This option specifies that the output generated by the assembler should be
marked as using specified floating point ABI.
and
@code{hard}.
-@cindex @code{-eabi=} command line option, ARM
+@cindex @code{-eabi=} command-line option, ARM
@item -meabi=@var{ver}
This option specifies which EABI version the produced object files should
conform to.
and
@code{5}.
-@cindex @code{-EB} command line option, ARM
+@cindex @code{-EB} command-line option, ARM
@item -EB
This option specifies that the output generated by the assembler should
be marked as being encoded for a big-endian processor.
the @option{--be8} option. This will reverse the endianness of the
instructions back to little-endian, but leave the data as big-endian.
-@cindex @code{-EL} command line option, ARM
+@cindex @code{-EL} command-line option, ARM
@item -EL
This option specifies that the output generated by the assembler should
be marked as being encoded for a little-endian processor.
-@cindex @code{-k} command line option, ARM
+@cindex @code{-k} command-line option, ARM
@cindex PIC code generation for ARM
@item -k
This option specifies that the output of the assembler should be marked
as position-independent code (PIC).
-@cindex @code{--fix-v4bx} command line option, ARM
+@cindex @code{--fix-v4bx} command-line option, ARM
@item --fix-v4bx
Allow @code{BX} instructions in ARMv4 code. This is intended for use with
the linker option of the same name.
-@cindex @code{-mwarn-deprecated} command line option, ARM
+@cindex @code{-mwarn-deprecated} command-line option, ARM
@item -mwarn-deprecated
@itemx -mno-warn-deprecated
Enable or disable warnings about using deprecated options or
features. The default is to warn.
-@cindex @code{-mccs} command line option, ARM
+@cindex @code{-mccs} command-line option, ARM
@item -mccs
Turns on CodeComposer Studio assembly syntax compatibility mode.
-@cindex @code{-mwarn-syms} command line option, ARM
+@cindex @code{-mwarn-syms} command-line option, ARM
@item -mwarn-syms
@itemx -mno-warn-syms
Enable or disable warnings about symbols that match the names of ARM
@cindex @code{.arch} directive, ARM
@item .arch @var{name}
Select the target architecture. Valid values for @var{name} are the same as
-for the @option{-march} commandline option.
+for the @option{-march} command-line option.
Specifying @code{.arch} clears any previously selected architecture
extensions.
@item .arch_extension @var{name}
Add or remove an architecture extension to the target architecture. Valid
values for @var{name} are the same as those accepted as architectural
-extensions by the @option{-mcpu} and @option{-march} commandline options.
+extensions by the @option{-mcpu} and @option{-march} command-line options.
@code{.arch_extension} may be used multiple times to add or remove extensions
incrementally to the architecture being compiled for.
@cindex @code{.cpu} directive, ARM
@item .cpu @var{name}
Select the target processor. Valid values for @var{name} are the same as
-for the @option{-mcpu} commandline option.
+for the @option{-mcpu} command-line option.
Specifying @code{.cpu} clears any previously selected architecture
extensions.
@cindex @code{.fpu} directive, ARM
@item .fpu @var{name}
Select the floating-point unit to assemble for. Valid values for @var{name}
-are the same as for the @option{-mfpu} commandline option.
+are the same as for the @option{-mfpu} command-line option.
@c GGGGGGGGGGGGGGGGGGGGGGGGGG
@c HHHHHHHHHHHHHHHHHHHHHHHHHH
@table @code
-@cindex @code{-mmcu=} command line option, AVR
+@cindex @code{-mmcu=} command-line option, AVR
@item -mmcu=@var{mcu}
Specify ATMEL AVR instruction set or MCU type.
Instruction set avrtiny is for the ATtiny4/5/9/10/20/40
microcontrollers.
-@cindex @code{-mall-opcodes} command line option, AVR
+@cindex @code{-mall-opcodes} command-line option, AVR
@item -mall-opcodes
Accept all AVR opcodes, even if not supported by @code{-mmcu}.
-@cindex @code{-mno-skip-bug} command line option, AVR
+@cindex @code{-mno-skip-bug} command-line option, AVR
@item -mno-skip-bug
This option disable warnings for skipping two-word instructions.
-@cindex @code{-mno-wrap} command line option, AVR
+@cindex @code{-mno-wrap} command-line option, AVR
@item -mno-wrap
This option reject @code{rjmp/rcall} instructions with 8K wrap-around.
-@cindex @code{-mrmw} command line option, AVR
+@cindex @code{-mrmw} command-line option, AVR
@item -mrmw
Accept Read-Modify-Write (@code{XCH,LAC,LAS,LAT}) instructions.
-@cindex @code{-mlink-relax} command line option, AVR
+@cindex @code{-mlink-relax} command-line option, AVR
@item -mlink-relax
Enable support for link-time relaxation. This is now on by default
and this flag no longer has any effect.
-@cindex @code{-mno-link-relax} command line option, AVR
+@cindex @code{-mno-link-relax} command-line option, AVR
@item -mno-link-relax
Disable support for link-time relaxation. The assembler will resolve
relocations when it can, and may be able to better compress some debug
information.
-@cindex @code{-mgcc-isr} command line option, AVR
+@cindex @code{-mgcc-isr} command-line option, AVR
@item -mgcc-isr
Enable the @code{__gcc_isr} pseudo instruction.
@c man begin OPTIONS
@table @gcctabopt
-@cindex @code{-mcpu=} command line option, Blackfin
+@cindex @code{-mcpu=} command-line option, Blackfin
@item -mcpu=@var{processor}@r{[}-@var{sirevision}@r{]}
This option specifies the target processor. The optional @var{sirevision}
is not used in assembler. It's here such that GCC can easily pass down its
and
@code{bf592}.
-@cindex @code{-mfdpic} command line option, Blackfin
+@cindex @code{-mfdpic} command-line option, Blackfin
@item -mfdpic
Assemble for the FDPIC ABI.
-@cindex @code{-mno-fdpic} command line option, Blackfin
-@cindex @code{-mnopic} command line option, Blackfin
+@cindex @code{-mno-fdpic} command-line option, Blackfin
+@cindex @code{-mnopic} command-line option, Blackfin
@item -mno-fdpic
@itemx -mnopic
Disable -mfdpic.
The CRIS version of @code{@value{AS}} has these
machine-dependent command-line options.
-@cindex @option{--emulation=criself} command line option, CRIS
-@cindex @option{--emulation=crisaout} command line option, CRIS
-@cindex CRIS @option{--emulation=criself} command line option
-@cindex CRIS @option{--emulation=crisaout} command line option
+@cindex @option{--emulation=criself} command-line option, CRIS
+@cindex @option{--emulation=crisaout} command-line option, CRIS
+@cindex CRIS @option{--emulation=criself} command-line option
+@cindex CRIS @option{--emulation=crisaout} command-line option
The format of the generated object files can be either ELF or
a.out, specified by the command-line options
configured specifically for a.out by using the configuration
name @code{cris-axis-aout}.
-@cindex @option{--underscore} command line option, CRIS
-@cindex @option{--no-underscore} command line option, CRIS
-@cindex CRIS @option{--underscore} command line option
-@cindex CRIS @option{--no-underscore} command line option
+@cindex @option{--underscore} command-line option, CRIS
+@cindex @option{--no-underscore} command-line option, CRIS
+@cindex CRIS @option{--underscore} command-line option
+@cindex CRIS @option{--no-underscore} command-line option
There are two different link-incompatible ELF object file
variants for CRIS, for use in environments where symbols are
expected to be prefixed by a leading @samp{_} character and for
differently (@pxref{crisnous}). The @option{--no-underscore}
option makes a @samp{$} register prefix mandatory.
-@cindex @option{--pic} command line option, CRIS
-@cindex CRIS @option{--pic} command line option
+@cindex @option{--pic} command-line option, CRIS
+@cindex CRIS @option{--pic} command-line option
@cindex Position-independent code, CRIS
@cindex CRIS position-independent code
The option @option{--pic} must be passed to @code{@value{AS}} in
faster) absolute addresses in those expansions. This option is only
valid when generating ELF format object files.
-@cindex @option{--march=@var{architecture}} command line option, CRIS
-@cindex CRIS @option{--march=@var{architecture}} command line option
+@cindex @option{--march=@var{architecture}} command-line option, CRIS
+@cindex CRIS @option{--march=@var{architecture}} command-line option
@cindex Architecture variant option, CRIS
@cindex CRIS architecture variant option
The option @option{--march=@var{architecture}}
opcodes common to the v10 and v32 are recognized.
@end table
-@cindex @option{-N} command line option, CRIS
-@cindex CRIS @option{-N} command line option
+@cindex @option{-N} command-line option, CRIS
+@cindex CRIS @option{-N} command-line option
When @option{-N} is specified, @code{@value{AS}} will emit a
warning when a 16-bit branch instruction is expanded into a
32-bit multiple-instruction construct (@pxref{CRIS-Expand}).
-@cindex @option{--no-mul-bug-abort} command line option, CRIS
-@cindex @option{--mul-bug-abort} command line option, CRIS
-@cindex CRIS @option{--no-mul-bug-abort} command line option
-@cindex CRIS @option{--mul-bug-abort} command line option
+@cindex @option{--no-mul-bug-abort} command-line option, CRIS
+@cindex @option{--mul-bug-abort} command-line option, CRIS
+@cindex CRIS @option{--no-mul-bug-abort} command-line option
+@cindex CRIS @option{--mul-bug-abort} command-line option
Some versions of the CRIS v10, for example in the Etrax 100 LX,
contain a bug that causes destabilizing memory accesses when a
multiply instruction is executed with certain values in the
first operand just before a cache-miss. When the
-@option{--mul-bug-abort} command line option is active (the
+@option{--mul-bug-abort} command-line option is active (the
default value), @code{@value{AS}} will refuse to assemble a file
containing a multiply instruction at a dangerous offset, one
that could be the last on a cache-line, or is in a section with
insufficient alignment. This placement checking does not catch
any case where the multiply instruction is dangerously placed
because it is located in a delay-slot. The
-@option{--mul-bug-abort} command line option turns off the
+@option{--mul-bug-abort} command-line option turns off the
checking.
@node CRIS-Expand
@c man begin OPTIONS
@table @gcctabopt
-@cindex @code{-mepiphany} command line option, Epiphany
+@cindex @code{-mepiphany} command-line option, Epiphany
@item -mepiphany
Specifies that the both 32 and 16 bit instructions are allowed. This is the
default behavior.
-@cindex @code{-mepiphany16} command line option, Epiphany
+@cindex @code{-mepiphany16} command-line option, Epiphany
@item -mepiphany16
Restricts the permitted instructions to just the 16 bit set.
@end table
logical line number directive (@pxref{Comments}) or a preprocessor
control command (@pxref{Preprocessing}).
-If the @option{--divide} command line option has not been specified
+If the @option{--divide} command-line option has not been specified
then the @samp{/} character appearing anywhere on a line also
introduces a line comment.
@cindex options for IA-64
@table @option
-@cindex @code{-mconstant-gp} command line option, IA-64
+@cindex @code{-mconstant-gp} command-line option, IA-64
@item -mconstant-gp
This option instructs the assembler to mark the resulting object file
@table @code
-@cindex @code{-mmultiply-enabled} command line option, LM32
+@cindex @code{-mmultiply-enabled} command-line option, LM32
@item -mmultiply-enabled
Enable multiply instructions.
-@cindex @code{-mdivide-enabled} command line option, LM32
+@cindex @code{-mdivide-enabled} command-line option, LM32
@item -mdivide-enabled
Enable divide instructions.
-@cindex @code{-mbarrel-shift-enabled} command line option, LM32
+@cindex @code{-mbarrel-shift-enabled} command-line option, LM32
@item -mbarrel-shift-enabled
Enable barrel-shift instructions.
-@cindex @code{-msign-extend-enabled} command line option, LM32
+@cindex @code{-msign-extend-enabled} command-line option, LM32
@item -msign-extend-enabled
Enable sign extend instructions.
-@cindex @code{-muser-enabled} command line option, LM32
+@cindex @code{-muser-enabled} command-line option, LM32
@item -muser-enabled
Enable user defined instructions.
-@cindex @code{-micache-enabled} command line option, LM32
+@cindex @code{-micache-enabled} command-line option, LM32
@item -micache-enabled
Enable instruction cache related CSRs.
-@cindex @code{-mdcache-enabled} command line option, LM32
+@cindex @code{-mdcache-enabled} command-line option, LM32
@item -mdcache-enabled
Enable data cache related CSRs.
-@cindex @code{-mbreak-enabled} command line option, LM32
+@cindex @code{-mbreak-enabled} command-line option, LM32
@item -mbreak-enabled
Enable break instructions.
-@cindex @code{-mall-enabled} command line option, LM32
+@cindex @code{-mall-enabled} command-line option, LM32
@item -mall-enabled
Enable all instructions and CSRs.
@cindex M32R architecture options
This option can be used to restore the assembler's default behaviour of
assembling for the M32R microprocessor. This can be useful if the
-default has been changed by a previous command line option.
+default has been changed by a previous command-line option.
@item -little
@cindex @code{-little} option, M32R
@item instruction @samp{...} is for the M32RX only
This message is produced when the assembler encounters an instruction
which is only supported by the M32Rx processor, and the @samp{-m32rx}
-command line flag has not been specified to allow assembly of such
+command-line flag has not been specified to allow assembly of such
instructions.
@item unknown instruction @samp{...}
@item only the NOP instruction can be issued in parallel on the m32r
This message is produced when the assembler encounters a parallel
instruction which does not involve a NOP instruction and the
-@samp{-m32rx} command line flag has not been specified. Only the M32Rx
+@samp{-m32rx} command-line flag has not been specified. Only the M32Rx
processor is able to execute two instructions in parallel.
@item instruction @samp{...} cannot be executed in parallel.
@table @samp
-@cindex @samp{-march=} command line option, M680x0
+@cindex @samp{-march=} command-line option, M680x0
@item -march=@var{architecture}
This option specifies a target architecture. The following
architectures are recognized:
@code{cfv4e}.
-@cindex @samp{-mcpu=} command line option, M680x0
+@cindex @samp{-mcpu=} command-line option, M680x0
@item -mcpu=@var{cpu}
This option specifies a target cpu. When used in conjunction with the
@option{-march} option, the cpu must be within the specified
architecture. Also, the generic features of the architecture are used
for instruction generation, rather than those of the specific chip.
-@cindex @samp{-m[no-]68851} command line option, M680x0
-@cindex @samp{-m[no-]68881} command line option, M680x0
-@cindex @samp{-m[no-]div} command line option, M680x0
-@cindex @samp{-m[no-]usp} command line option, M680x0
-@cindex @samp{-m[no-]float} command line option, M680x0
-@cindex @samp{-m[no-]mac} command line option, M680x0
-@cindex @samp{-m[no-]emac} command line option, M680x0
+@cindex @samp{-m[no-]68851} command-line option, M680x0
+@cindex @samp{-m[no-]68881} command-line option, M680x0
+@cindex @samp{-m[no-]div} command-line option, M680x0
+@cindex @samp{-m[no-]usp} command-line option, M680x0
+@cindex @samp{-m[no-]float} command-line option, M680x0
+@cindex @samp{-m[no-]mac} command-line option, M680x0
+@cindex @samp{-m[no-]emac} command-line option, M680x0
@item -m[no-]68851
@itemx -m[no-]68881
@itemx -m[no-]div
@cindex @code{arch} directive, M680x0
@item .arch @var{name}
Select the target architecture and extension features. Valid values
-for @var{name} are the same as for the @option{-march} command line
+for @var{name} are the same as for the @option{-march} command-line
option. This directive cannot be specified after
any instructions have been assembled. If it is given multiple times,
or in conjunction with the @option{-march} option, all uses must be for
@cindex @code{cpu} directive, M680x0
@item .cpu @var{name}
Select the target cpu. Valid values
-for @var{name} are the same as for the @option{-mcpu} command line
+for @var{name} are the same as for the @option{-mcpu} command-line
option. This directive cannot be specified after
any instructions have been assembled. If it is given multiple times,
or in conjunction with the @option{-mopt} option, all uses must be for
@cindex line comment character, M680x0
@cindex comments, M680x0
Line comments are introduced by the @samp{|} character appearing
-anywhere on a line, unless the @option{--bitwise-or} command line option
+anywhere on a line, unless the @option{--bitwise-or} command-line option
has been specified.
An asterisk (@samp{*}) as the first character on a line marks the
By default @samp{-mno-ignore-branch-isa} is selected, causing any invalid
branch requiring a transition between ISA modes to produce an error.
-@cindex @option{-mnan=} command line option, MIPS
+@cindex @option{-mnan=} command-line option, MIPS
@item -mnan=@var{encoding}
This option indicates whether the source code uses the IEEE 2008
NaN encoding (@option{-mnan=2008}) or the original MIPS encoding
assembly. @code{.set mips@var{n}} affects not only which instructions
are permitted, but also how certain macros are expanded. @code{.set
mips0} restores the ISA level to its original level: either the
-level you selected with command line options, or the default for your
+level you selected with command-line options, or the default for your
configuration. You can use this feature to permit specific MIPS III
instructions while assembling in 32 bit mode. Use this directive with
care!
The @code{.set arch=@var{cpu}} directive provides even finer control.
It changes the effective CPU target and allows the assembler to use
instructions specific to a particular CPU. All CPUs supported by the
-@samp{-march} command line option are also selectable by this directive.
+@samp{-march} command-line option are also selectable by this directive.
The original value is restored by @code{.set arch=default}.
The directive @code{.set mips16} puts the assembler into MIPS 16 mode,
@node MIPS assembly options
@section Directives to control code generation
-@cindex MIPS directives to override command line options
+@cindex MIPS directives to override command-line options
@kindex @code{.module}
-The @code{.module} directive allows command line options to be set directly
+The @code{.module} directive allows command-line options to be set directly
from assembly. The format of the directive matches the @code{.set}
directive but only those options which are relevant to a whole module are
supported. The effect of a @code{.module} directive is the same as the
-corresponding command line option. Where @code{.set} directives support
+corresponding command-line option. Where @code{.set} directives support
returning to a default then the @code{.module} directives do not as they
define the defaults.
Traditionally the use of an explicit @code{.gnu_attribute 4, @var{n}}
directive is used to indicate which ABI is in use by a specific module.
-It was then left to the user to ensure that command line options and the
+It was then left to the user to ensure that command-line options and the
selected ABI were compatible with some potential for inconsistencies.
@node MIPS FP ABI Variants
@cindex @code{.module fp=@var{nn}} directive, MIPS
In order to simplify and add safety to the process of selecting the
correct floating-point ABI, the assembler will automatically infer the
-correct @code{.gnu_attribute 4, @var{n}} directive based on command line
+correct @code{.gnu_attribute 4, @var{n}} directive based on command-line
options and @code{.module} overrides. Where an explicit
@code{.gnu_attribute 4, @var{n}} directive has been seen then a warning
will be raised if it does not match an inferred setting.
@cindex MMIX options
The MMIX version of @code{@value{AS}} has some machine-dependent options.
-@cindex @samp{--fixed-special-register-names} command line option, MMIX
+@cindex @samp{--fixed-special-register-names} command-line option, MMIX
When @samp{--fixed-special-register-names} is specified, only the register
names specified in @ref{MMIX-Regs} are recognized in the instructions
@code{PUT} and @code{GET}.
-@cindex @samp{--globalize-symbols} command line option, MMIX
+@cindex @samp{--globalize-symbols} command-line option, MMIX
You can use the @samp{--globalize-symbols} to make all symbols global.
This option is useful when splitting up a @code{mmixal} program into
several files.
-@cindex @samp{--gnu-syntax} command line option, MMIX
+@cindex @samp{--gnu-syntax} command-line option, MMIX
The @samp{--gnu-syntax} turns off most syntax compatibility with
@code{mmixal}. Its usability is currently doubtful.
-@cindex @samp{--relax} command line option, MMIX
+@cindex @samp{--relax} command-line option, MMIX
The @samp{--relax} option is not fully supported, but will eventually make
the object file prepared for linker relaxation.
-@cindex @samp{--no-predefined-syms} command line option, MMIX
+@cindex @samp{--no-predefined-syms} command-line option, MMIX
If you want to avoid inadvertently calling a predefined symbol and would
rather get an error, for example when using @code{@value{AS}} with a
compiler or other machine-generated code, specify
``system calls''. It also turns off predefined special-register names,
except when used in @code{PUT} and @code{GET} instructions.
-@cindex @samp{--no-expand} command line option, MMIX
+@cindex @samp{--no-expand} command-line option, MMIX
By default, some instructions are expanded to fit the size of the operand
or an external symbol (@pxref{MMIX-Expand}). By passing
@samp{--no-expand}, no such expansion will be done, instead causing errors
at link time if the operand does not fit.
-@cindex @samp{--no-merge-gregs} command line option, MMIX
+@cindex @samp{--no-merge-gregs} command-line option, MMIX
The @code{mmixal} documentation (@pxref{mmixsite}) specifies that global
registers allocated with the @samp{GREG} directive (@pxref{MMIX-greg}) and
initialized to the same non-zero value, will refer to the same global
unless the @samp{--no-merge-gregs} option is specified. (Register merging
isn't yet implemented in @code{@value{LD}}.)
-@cindex @samp{-x} command line option, MMIX
+@cindex @samp{-x} command-line option, MMIX
@code{@value{AS}} will warn every time it expands an instruction to fit an
operand unless the option @samp{-x} is specified. It is believed that
this behaviour is more useful than just mimicking @code{mmixal}'s
implemented in @code{@value{LD}}.) The option @samp{-x} also implies
@samp{--linker-allocated-gregs}.
-@cindex @samp{--no-pushj-stubs} command line option, MMIX
-@cindex @samp{--no-stubs} command line option, MMIX
+@cindex @samp{--no-pushj-stubs} command-line option, MMIX
+@cindex @samp{--no-stubs} command-line option, MMIX
If instruction expansion is enabled, @code{@value{AS}} can expand a
@samp{PUSHJ} instruction into a series of instructions. The shortest
expansion is to not expand it, but just mark the call as redirectable to a
intended for compatibility with future releases, where generation of stubs
for other instructions may be implemented.
-@cindex @samp{--linker-allocated-gregs} command line option, MMIX
+@cindex @samp{--linker-allocated-gregs} command-line option, MMIX
Usually a two-operand-expression (@pxref{GREG-base}) without a matching
@samp{GREG} directive is treated as an error by @code{@value{AS}}. When
the option @samp{--linker-allocated-gregs} is in effect, they are instead
SR}, @code{BIS #8, SR} or @code{MOV.W <>, SR}) must be
followed by a NOP instruction in order to ensure the correct
processing of interrupts. By default it is up to the programmer to
-supply these NOP instructions, but this command line option enables
+supply these NOP instructions, but this command-line option enables
the automatic insertion by the assembler, if they are missing.
@item -mN
@cindex @code{arch} directive, MSP 430
@item .arch
Sets the target microcontroller in the same way as the @option{-mmcu}
-command line option.
+command-line option.
@cindex @code{cpu} directive, MSP 430
@item .cpu
Sets the target architecture in the same way as the @option{-mcpu}
-command line option.
+command-line option.
@cindex @code{profiler} directive, MSP 430
@item .profiler
@table @code
-@cindex @code{-march=} command line option, MT
+@cindex @code{-march=} command-line option, MT
@item -march=@var{processor}
This option specifies the target processor. The assembler will issue an
error message if an attempt is made to assemble an instruction which
@code{ms1-16-003},
and @code{ms2}.
-@cindex @code{-nosched} command line option, MT
+@cindex @code{-nosched} command-line option, MT
@item -nosched
This option disables scheduling restriction checking.
@c man begin OPTIONS
@table @gcctabopt
-@cindex @code{relax-section} command line option, Nios II
+@cindex @code{relax-section} command-line option, Nios II
@item -relax-section
Replace identified out-of-range branches with PC-relative @code{jmp}
sequences when possible. The generated code sequences are suitable
on the extended branch range because of the length of the sequences.
This option is the default.
-@cindex @code{relax-all} command line option, Nios II
+@cindex @code{relax-all} command-line option, Nios II
@item -relax-all
Replace branch instructions not determinable to be in range
and all call instructions with @code{jmp} and @code{callr} sequences
(respectively). This option generates absolute relocations against the
target symbols and is not appropriate for position-independent code.
-@cindex @code{no-relax} command line option, Nios II
+@cindex @code{no-relax} command-line option, Nios II
@item -no-relax
Do not replace any branches or calls.
-@cindex @code{EB} command line option, Nios II
+@cindex @code{EB} command-line option, Nios II
@item -EB
Generate big-endian output.
-@cindex @code{EL} command line option, Nios II
+@cindex @code{EL} command-line option, Nios II
@item -EL
Generate little-endian output. This is the default.
-@cindex @code{march} command line option, Nios II
+@cindex @code{march} command-line option, Nios II
@item -march=@var{architecture}
This option specifies the target architecture. The assembler issues
an error message if an attempt is made to assemble an instruction which
If the assembler has been configured for the ppc-*-solaris* target
then the @samp{!} character also acts as a line comment character.
-This can be disabled via the @option{-mno-solaris} command line
+This can be disabled via the @option{-mno-solaris} command-line
option.
@cindex line separator, PowerPC
@c man begin OPTIONS
@table @gcctabopt
-@cindex @code{mlink-relax} command line option, PRU
+@cindex @code{mlink-relax} command-line option, PRU
@item -mlink-relax
Assume that LD would optimize LDI32 instructions by checking the upper
16 bits of the @var{expression}. If they are all zeros, then LD would
shorten the LDI32 instruction to a single LDI. In such case @code{@value{AS}}
will output DIFF relocations for diff expressions.
-@cindex @code{mno-link-relax} command line option, PRU
+@cindex @code{mno-link-relax} command-line option, PRU
@item -mno-link-relax
Assume that LD would not optimize LDI32 instructions. As a consequence,
DIFF relocations will not be emitted.
-@cindex @code{mno-warn-regname-label} command line option, PRU
+@cindex @code{mno-warn-regname-label} command-line option, PRU
@item -mno-warn-regname-label
Do not warn if a label name matches a register name. Usually assembler
programmers will want this warning to be emitted. C compilers may want
@cindex @code{set no_warn_regname_label} directive, PRU
@item .set no_warn_regname_label
Do not output warnings when a label name matches a register name. Equivalent
-to passing the @code{-mno-warn-regname-label} command line option.
+to passing the @code{-mno-warn-regname-label} command-line option.
@end table
@cindex RL78 support
@menu
-* RL78-Opts:: RL78 Assembler Command Line Options
+* RL78-Opts:: RL78 Assembler Command-line Options
* RL78-Modifiers:: Symbolic Operand Modifiers
* RL78-Directives:: Assembler Directives
* RL78-Syntax:: Syntax
@item .double
Output a constant in ``double'' format, which is either a 32-bit
or a 64-bit floating point value, depending upon the setting of the
-@option{-m32bit-doubles}|@option{-m64bit-doubles} command line
+@option{-m32bit-doubles}|@option{-m64bit-doubles} command-line
option.
@item .bss
@cindex RX support
@menu
-* RX-Opts:: RX Assembler Command Line Options
+* RX-Opts:: RX Assembler Command-line Options
* RX-Modifiers:: Symbolic Operand Modifiers
* RX-Directives:: Assembler Directives
* RX-Float:: Floating Point
@cindex RX options
The Renesas RX port of @code{@value{AS}} has a few target specific
-command line options:
+command-line options:
@table @code
@cindex @code{double} directive, RX
@item .double
-If the @option{-m64bit-doubles} command line option has been specified
+If the @option{-m64bit-doubles} command-line option has been specified
then then @code{double} directive generates @code{double} precision
(64-bit) floating point constants, otherwise it generates
@code{single} precision (32-bit) floating point constants. To force
@c man begin OPTIONS
@table @gcctabopt
-@cindex @code{-march=} command line option, TIC6X
+@cindex @code{-march=} command-line option, TIC6X
@item -march=@var{arch}
Enable (only) instructions from architecture @var{arch}. By default,
all instructions are permitted.
The following values of @var{arch} are accepted: @code{c62x},
@code{c64x}, @code{c64x+}, @code{c67x}, @code{c67x+}, @code{c674x}.
-@cindex @code{-mdsbt} command line option, TIC6X
-@cindex @code{-mno-dsbt} command line option, TIC6X
+@cindex @code{-mdsbt} command-line option, TIC6X
+@cindex @code{-mno-dsbt} command-line option, TIC6X
@item -mdsbt
@itemx -mno-dsbt
The @option{-mdsbt} option causes the assembler to generate the
does not use DSBT addressing. The linker will emit a warning if
objects of different type (DSBT and non-DSBT) are linked together.
-@cindex @code{-mpid=} command line option, TIC6X
+@cindex @code{-mpid=} command-line option, TIC6X
@item -mpid=no
@itemx -mpid=near
@itemx -mpid=far
emit a warning if objects built with different settings of this option
are linked together.
-@cindex @code{-mpic} command line option, TIC6X
-@cindex @code{-mno-pic} command line option, TIC6X
+@cindex @code{-mpic} command-line option, TIC6X
+@cindex @code{-mno-pic} command-line option, TIC6X
@item -mpic
@itemx -mno-pic
The @option{-mpic} option causes the assembler to generate the
@code{@value{AS}} supports the following additional command-line options
for the V850 processor family:
-@cindex command line options, V850
-@cindex V850 command line options
+@cindex command-line options, V850
+@cindex V850 command-line options
@table @code
-@cindex @code{-wsigned_overflow} command line option, V850
+@cindex @code{-wsigned_overflow} command-line option, V850
@item -wsigned_overflow
Causes warnings to be produced when signed immediate values overflow the
space available for then within their opcodes. By default this option
is disabled as it is possible to receive spurious warnings due to using
exact bit patterns as immediate constants.
-@cindex @code{-wunsigned_overflow} command line option, V850
+@cindex @code{-wunsigned_overflow} command-line option, V850
@item -wunsigned_overflow
Causes warnings to be produced when unsigned immediate values overflow
the space available for then within their opcodes. By default this
option is disabled as it is possible to receive spurious warnings due to
using exact bit patterns as immediate constants.
-@cindex @code{-mv850} command line option, V850
+@cindex @code{-mv850} command-line option, V850
@item -mv850
Specifies that the assembled code should be marked as being targeted at
the V850 processor. This allows the linker to detect attempts to link
such code with code assembled for other processors.
-@cindex @code{-mv850e} command line option, V850
+@cindex @code{-mv850e} command-line option, V850
@item -mv850e
Specifies that the assembled code should be marked as being targeted at
the V850E processor. This allows the linker to detect attempts to link
such code with code assembled for other processors.
-@cindex @code{-mv850e1} command line option, V850
+@cindex @code{-mv850e1} command-line option, V850
@item -mv850e1
Specifies that the assembled code should be marked as being targeted at
the V850E1 processor. This allows the linker to detect attempts to link
such code with code assembled for other processors.
-@cindex @code{-mv850any} command line option, V850
+@cindex @code{-mv850any} command-line option, V850
@item -mv850any
Specifies that the assembled code should be marked as being targeted at
the V850 processor but support instructions that are specific to the
architecture, together with support routines only used by the V850E
architecture.
-@cindex @code{-mv850e2} command line option, V850
+@cindex @code{-mv850e2} command-line option, V850
@item -mv850e2
Specifies that the assembled code should be marked as being targeted at
the V850E2 processor. This allows the linker to detect attempts to link
such code with code assembled for other processors.
-@cindex @code{-mv850e2v3} command line option, V850
+@cindex @code{-mv850e2v3} command-line option, V850
@item -mv850e2v3
Specifies that the assembled code should be marked as being targeted at
the V850E2V3 processor. This allows the linker to detect attempts to link
such code with code assembled for other processors.
-@cindex @code{-mv850e2v4} command line option, V850
+@cindex @code{-mv850e2v4} command-line option, V850
@item -mv850e2v4
This is an alias for @option{-mv850e3v5}.
-@cindex @code{-mv850e3v5} command line option, V850
+@cindex @code{-mv850e3v5} command-line option, V850
@item -mv850e3v5
Specifies that the assembled code should be marked as being targeted at
the V850E3V5 processor. This allows the linker to detect attempts to link
such code with code assembled for other processors.
-@cindex @code{-mrelax} command line option, V850
+@cindex @code{-mrelax} command-line option, V850
@item -mrelax
Enables relaxation. This allows the .longcall and .longjump pseudo
ops to be used in the assembler source code. These ops label sections
assembler will then flag these sections of code and the linker will
attempt to relax them.
-@cindex @code{-mgcc-abi} command line option, V850
+@cindex @code{-mgcc-abi} command-line option, V850
@item -mgcc-abi
Marks the generated object file as supporting the old GCC ABI.
-@cindex @code{-mrh850-abi} command line option, V850
+@cindex @code{-mrh850-abi} command-line option, V850
@item -mrh850-abi
Marks the generated object file as supporting the RH850 ABI. This is
the default.
-@cindex @code{-m8byte-align} command line option, V850
+@cindex @code{-m8byte-align} command-line option, V850
@item -m8byte-align
Marks the generated object file as supporting a maximum 64-bits of
alignment for variables defined in the source code.
-@cindex @code{-m4byte-align} command line option, V850
+@cindex @code{-m4byte-align} command-line option, V850
@item -m4byte-align
Marks the generated object file as supporting a maximum 32-bits of
alignment for variables defined in the source code. This is the
default.
-@cindex @code{-msoft-float} command line option, V850
+@cindex @code{-msoft-float} command-line option, V850
@item -msoft-float
Marks the generated object file as not using any floating point
instructions - and hence can be linked with other V850 binaries
that do or do not use floating point. This is the default for
binaries for architectures earlier than the @code{e2v3}.
-@cindex @code{-mhard-float} command line option, V850
+@cindex @code{-mhard-float} command-line option, V850
@item -mhard-float
Marks the generated object file as one that uses floating point
instructions - and hence can only be linked with other V850 binaries
that the GP register contains a fixed address set to the address of the
label called '__gp'. This can either be set up automatically by the
linker, or specifically set by using the @samp{--defsym __gp=<value>}
-command line option].
+command-line option].
@cindex @code{tdaoff} pseudo-op, V850
@item tdaoff()
that the EP register contains a fixed address set to the address of the
label called '__ep'. This can either be set up automatically by the
linker, or specifically set by using the @samp{--defsym __ep=<value>}
-command line option].
+command-line option].
@cindex @code{zdaoff} pseudo-op, V850
@item zdaoff()
Indicates that the following sequence of instructions is a long call
to function @code{name}. The linker will attempt to shorten this call
sequence if @code{name} is within a 22bit offset of the call. Only
-valid if the @code{-mrelax} command line switch has been enabled.
+valid if the @code{-mrelax} command-line switch has been enabled.
@cindex @code{longjump} pseudo-op, V850
@item .longjump @code{name}
Indicates that the following sequence of instructions is a long jump
to label @code{name}. The linker will attempt to shorten this code
sequence if @code{name} is within a 22bit offset of the jump. Only
-valid if the @code{-mrelax} command line switch has been enabled.
+valid if the @code{-mrelax} command-line switch has been enabled.
@end table
@item @code{-d} (Displacement size for JUMPs)
This option expects a number following the @samp{-d}. Like options
that expect filenames, the number may immediately follow the
-@samp{-d} (old standard) or constitute the whole of the command line
+@samp{-d} (old standard) or constitute the whole of the command-line
argument that follows @samp{-d} (@sc{gnu} standard).
@cindex @code{-V}, redundant on VAX
@c man begin OPTIONS
@table @gcctabopt
-@cindex @code{-mtune=@var{arch}} command line option, Visium
+@cindex @code{-mtune=@var{arch}} command-line option, Visium
@item -mtune=@var{arch}
This option specifies the target architecture. If an attempt is made to
assemble an instruction that will not execute on the target architecture,
@cindex @code{16bit_pointers} directive, XStormy16
@item .16bit_pointers
-Like the @option{--16bit-pointers} command line option this directive
+Like the @option{--16bit-pointers} command-line option this directive
indicates that the assembly code makes use of 16-bit pointers.
@cindex @code{32bit_pointers} directive, XStormy16
@item .32bit_pointers
-Like the @option{--32bit-pointers} command line option this directive
+Like the @option{--32bit-pointers} command-line option this directive
indicates that the assembly code makes use of 32-bit pointers.
@cindex @code{.no_pointers} directive, XStormy16
@item .no_pointers
-Like the @option{--no-pointers} command line option this directive
+Like the @option{--no-pointers} command-line option this directive
indicates that the assembly code does not makes use pointers.
@end table
@end menu
@node Xtensa Options
-@section Command Line Options
+@section Command-line Options
@c man begin OPTIONS
@table @gcctabopt
some expense in code size.
This optimization is enabled by default. You can disable it with the
@samp{--no-target-@-align} command-line option (@pxref{Xtensa Options,
-,Command Line Options}).
+,Command-line Options}).
The target alignment optimization is done without adding instructions
that could increase the execution time of the program. If there are
Branch relaxation is enabled by default. It can be disabled by using
underscore prefixes (@pxref{Xtensa Opcodes, ,Opcode Names}), the
@samp{--no-transform} command-line option (@pxref{Xtensa Options,
-,Command Line Options}), or the @code{no-transform} directive
+,Command-line Options}), or the @code{no-transform} directive
(@pxref{Transform Directive, ,transform}).
@node Xtensa Call Relaxation
Jump relaxation is enabled by default because it does not affect code size
or performance while the code itself is small. This relaxation may be
disabled completely with @samp{--no-trampolines} or @samp{--no-transform}
-command-line options (@pxref{Xtensa Options, ,Command Line Options}).
+command-line options (@pxref{Xtensa Options, ,Command-line Options}).
@node Xtensa Immediate Relaxation
@subsection Other Immediate Field Relaxation
The assembler normally performs the following other relaxations. They
can be disabled by using underscore prefixes (@pxref{Xtensa Opcodes,
,Opcode Names}), the @samp{--no-transform} command-line option
-(@pxref{Xtensa Options, ,Command Line Options}), or the
+(@pxref{Xtensa Options, ,Command-line Options}), or the
@code{no-transform} directive (@pxref{Transform Directive, ,transform}).
@cindex @code{MOVI} instructions, relaxation
Literal pools are placed by default in separate literal sections;
however, when using the @samp{--text-@-section-@-literals}
-option (@pxref{Xtensa Options, ,Command Line Options}), the literal
+option (@pxref{Xtensa Options, ,Command-line Options}), the literal
pools for PC-relative mode @code{L32R} instructions
are placed in the current section.@footnote{Literals for the
@code{.init} and @code{.fini} sections are always placed in separate
argument is omitted, the literal sections revert to the defaults. This
directive has no effect when using the
@samp{--text-@-section-@-literals} option (@pxref{Xtensa Options,
-,Command Line Options}).
+,Command-line Options}).
@node Absolute Literals Directive
@subsection absolute-literals
The Zilog Z80 and Ascii R800 version of @code{@value{AS}} have a few machine
dependent options.
@table @option
-@cindex @code{-z80} command line option, Z80
+@cindex @code{-z80} command-line option, Z80
@item -z80
Produce code for the Z80 processor. There are additional options to
request warnings and error messages for undocumented instructions.
@itemx -Fup
Treat undocumented z80-instructions that do not work on R800 as errors.
-@cindex @code{-r800} command line option, Z80
+@cindex @code{-r800} command-line option, Z80
@item -r800
Produce code for the R800 processor. The assembler does not support
undocumented instructions for the R800.
@cindex Z8000 options
@cindex options, Z8000
@table @option
-@cindex @code{-z8001} command line option, Z8000
+@cindex @code{-z8001} command-line option, Z8000
@item -z8001
Generate segmented code by default.
-@cindex @code{-z8002} command line option, Z8000
+@cindex @code{-z8002} command-line option, Z8000
@item -z8002
Generate unsegmented code by default.
@end table
@item LINKER_RELAXING_SHRINKS_ONLY
@cindex LINKER_RELAXING_SHRINKS_ONLY
If you define this macro, and the global variable @samp{linkrelax} is set
-(because of a command line option, or unconditionally in @code{md_begin}), a
+(because of a command-line option, or unconditionally in @code{md_begin}), a
@samp{.align} directive will cause extra space to be allocated. The linker can
then discard this space when relaxing the section.
@item obj_begin
If you define this macro, GAS will call it at the start of the assembly, after
-the command line arguments have been parsed and all the machine independent
+the command-line arguments have been parsed and all the machine independent
initializations have been completed.
@item obj_app_file
+2018-07-02 Thomas Preud'homme <thomas.preudhomme@arm.com>
+
+ * gprof.texi: Use command-line consistently when used in a compount
+ word.
+
2018-06-24 Nick Clifton <nickc@redhat.com>
* configure: Regenerate.
segmentation fault as soon as it is run. The solution is to link
against a static version of the library containing the profiling
support code, which for @code{gcc} users can be done via the
-@samp{-static} or @samp{-static-libgcc} command line option. For
+@samp{-static} or @samp{-static-libgcc} command-line option. For
example:
@example
@code{gprof}. @xref{Line-by-line, ,Line-by-line Profiling}.
It also worth noting that @code{gcc} implements a
-@samp{-finstrument-functions} command line option which will insert
+@samp{-finstrument-functions} command-line option which will insert
calls to special user supplied instrumentation routines at the entry
and exit of every function in their program. This can be used to
implement an alternative profiling scheme.
compiled with a @samp{-g} option, in addition to @samp{-pg}, in order
to generate debugging symbols for tracking source code lines.
Note, in much older versions of @code{gcc} the program had to be
-compiled with the @samp{-a} command line option as well.
+compiled with the @samp{-a} command-line option as well.
The flat profile is the most useful output table
in line-by-line mode.
+2018-07-02 Thomas Preud'homme <thomas.preudhomme@arm.com>
+
+ * NEWS: Use command-line consistently when used in a compount word.
+ * ld.texinfo: Likewise.
+ * ldint.texinfo: Likewise.
+
2018-06-26 Nick Clifton <nickc@redhat.com>
* po/uk.po: Updated Ukranian translation.
* Add -z separate-code to generate separate code PT_LOAD segment.
-* Add "-z undefs" command line option as the inverse of the "-z defs" option.
+* Add "-z undefs" command-line option as the inverse of the "-z defs" option.
-* Add -z globalaudit command line option to force audit libraries to be run
+* Add -z globalaudit command-line option to force audit libraries to be run
for every dynamic object loaded by an executable - provided that the loader
supports this functionality.
* Add support for the RISC-V architecture.
-* The command line option --no-eh-frame-hdr can now be used in ELF based
+* The command-line option --no-eh-frame-hdr can now be used in ELF based
linkers to disable the automatic generation of .eh_frame_hdr sections.
* Add --in-implib=<infile> to the ARM linker to enable specifying a set of
* Experimental support for linker garbage collection (--gc-sections)
has been enabled for COFF and PE based targets.
-* New command line option for ELF targets to compress DWARF debug
+* New command-line option for ELF targets to compress DWARF debug
sections, --compress-debug-sections=[none|zlib|zlib-gnu|zlib-gabi].
-* New command line option, --orphan-handling=[place|warn|error|discard], to
+* New command-line option, --orphan-handling=[place|warn|error|discard], to
adjust how orphan sections are handled. The default is 'place' which gives
the current behaviour, 'warn' and 'error' issue a warning or error
respectively when orphan sections are found, and 'discard' will discard all
* PE binaries now once again contain real timestamps by default. To disable
the inclusion of a timestamp in a PE binary, use the --no-insert-timestamp
- command line option.
+ command-line option.
* Replace support for openrisc and or32 with support for or1k.
-* Add support for the --build-id command line option to COFF based targets.
+* Add support for the --build-id command-line option to COFF based targets.
* x86/x86_64 pe-coff now supports the --build-id option.
latter case the library is not linked if it is found in a DT_NEEDED
entry of one of the libraries already linked.
-* Add a new command line option, -Ttext-segment ADDR, for ELF targets
+* Add a new command-line option, -Ttext-segment ADDR, for ELF targets
to set the address of the first byte of the text segment.
* Add support for Sunplus score architecture.
direction of sorting.
* The M68K linker now supports multiple GOT generation schemes controlled via
- the --got=<type> command line option.
+ the --got=<type> command-line option.
* The ARM EABI linker will now generate stubs for function calls to symbols
that are too far away. The placement of the stubs is controlled by a new
- linker command line option: --stub-group-size=N.
+ linker command-line option: --stub-group-size=N.
Changes in 2.18:
* -l:foo now searches the library path for a filename called foo,
without converting it to libfoo.a or libfoo.so.
-* Add a new command line option '--default-script=FILE' or '-dT FILE'
+* Add a new command-line option '--default-script=FILE' or '-dT FILE'
which specifies a replacement for the built in, default linker
script.
language to permit sorting sections by section name or section
maximum alignment.
-* Added a new linker command line switch, --sort-section name|alignment,
+* Added a new linker command-line switch, --sort-section name|alignment,
to sort sections by section name or maximum alignment.
* ELF: --add-needed/--no-add-needed options to control if a DT_NEEDED tag
* Support for the sh-symbianelf target added.
-* A new linker command line switch has been added which allows the hash table
+* A new linker command-line switch has been added which allows the hash table
size to be set to a suitable prime value near to its argument. This switch
is --hash-size=<NUMBER>. Also if the switch --reduce-memory-overheads is
used, and --hash-size has not been used, then the default value will be set
* TI C54x support, by Timothy Wall.
-* Added command line switch --section-start to set the start address of any
+* Added command-line switch --section-start to set the start address of any
specified section.
* Added ability to emit full relocation information in linked executables,
@ifset UsesEnvVars
@menu
-* Options:: Command Line Options
+* Options:: Command-line Options
* Environment:: Environment Variables
@end menu
@node Options
-@section Command Line Options
+@section Command-line Options
@end ifset
@cindex command line
accepted.
Note---if the linker is being invoked indirectly, via a compiler driver
-(e.g. @samp{gcc}) then all the linker command line options should be
+(e.g. @samp{gcc}) then all the linker command-line options should be
prefixed by @samp{-Wl,} (or whatever is appropriate for the particular
compiler driver) like this:
gcc foo.o bar.o -Wl,-eENTRY -Wl,-Map=a.map
@end smallexample
-Here is a table of the generic command line switches accepted by the GNU
+Here is a table of the generic command-line switches accepted by the GNU
linker:
@table @gcctabopt
This option marks the executable as requiring global auditing by
setting the @code{DF_1_GLOBAUDIT} bit in the @code{DT_FLAGS_1} dynamic
tag. Global auditing requires that any auditing library defined via
-the @option{--depaudit} or @option{-P} command line options be run for
+the @option{--depaudit} or @option{-P} command-line options be run for
all dynamic objects loaded by the application.
@item ibtplt
perform this check, and if it finds any overlaps it will produce
suitable error messages. The linker does know about, and does make
allowances for sections in overlays. The default behaviour can be
-restored by using the command line switch @option{--check-sections}.
+restored by using the command-line switch @option{--check-sections}.
Section overlap is not usually checked for relocatable links. You can
force checking in that case by using the @option{--check-sections}
option.
object file).
In addition to the options common to all targets, the i386 PE linker
-support additional command line options that are specific to the i386
+support additional command-line options that are specific to the i386
PE target. Options that take values may be separated from their
values by either a space or an equals sign.
The linker always uses a linker script. If you do not supply one
yourself, the linker will use a default script that is compiled into the
-linker executable. You can use the @samp{--verbose} command line option
-to display the default linker script. Certain command line options,
+linker executable. You can use the @samp{--verbose} command-line option
+to display the default linker script. Certain command-line options,
such as @samp{-r} or @samp{-N}, will affect the default linker script.
You may supply your own linker script by using the @samp{-T} command
The @dfn{sysroot prefix} can also be forced by specifying @code{=}
as the first character in the filename path, or prefixing the filename
path with @code{$SYSROOT}. See also the description of @samp{-L} in
-@ref{Options,,Command Line Options}.
+@ref{Options,,Command-line Options}.
If you use @samp{INPUT (-l@var{file})}, @command{ld} will transform the
-name to @code{lib@var{file}.a}, as with the command line argument
+name to @code{lib@var{file}.a}, as with the command-line argument
@samp{-l}.
When you use the @code{INPUT} command in an implicit linker script, the
The @code{GROUP} command is like @code{INPUT}, except that the named
files should all be archives, and they are searched repeatedly until no
new undefined references are created. See the description of @samp{-(}
-in @ref{Options,,Command Line Options}.
+in @ref{Options,,Command-line Options}.
@item AS_NEEDED(@var{file}, @var{file}, @dots{})
@itemx AS_NEEDED(@var{file} @var{file} @dots{})
The @code{OUTPUT} command names the output file. Using
@code{OUTPUT(@var{filename})} in the linker script is exactly like using
@samp{-o @var{filename}} on the command line (@pxref{Options,,Command
-Line Options}). If both are used, the command line option takes
+Line Options}). If both are used, the command-line option takes
precedence.
You can use the @code{OUTPUT} command to define a default name for the
The @code{SEARCH_DIR} command adds @var{path} to the list of paths where
@command{ld} looks for archive libraries. Using
@code{SEARCH_DIR(@var{path})} is exactly like using @samp{-L @var{path}}
-on the command line (@pxref{Options,,Command Line Options}). If both
+on the command line (@pxref{Options,,Command-line Options}). If both
are used, then the linker will search both paths. Paths specified using
-the command line option are searched first.
+the command-line option are searched first.
@item STARTUP(@var{filename})
@kindex STARTUP(@var{filename})
The @code{OUTPUT_FORMAT} command names the BFD format to use for the
output file (@pxref{BFD}). Using @code{OUTPUT_FORMAT(@var{bfdname})} is
exactly like using @samp{--oformat @var{bfdname}} on the command line
-(@pxref{Options,,Command Line Options}). If both are used, the command
+(@pxref{Options,,Command-line Options}). If both are used, the command
line option takes precedence.
You can use @code{OUTPUT_FORMAT} with three arguments to use different
-formats based on the @samp{-EB} and @samp{-EL} command line options.
+formats based on the @samp{-EB} and @samp{-EL} command-line options.
This permits the linker script to set the output format based on the
desired endianness.
OUTPUT_FORMAT(elf32-bigmips, elf32-bigmips, elf32-littlemips)
@end smallexample
This says that the default format for the output file is
-@samp{elf32-bigmips}, but if the user uses the @samp{-EL} command line
+@samp{elf32-bigmips}, but if the user uses the @samp{-EL} command-line
option, the output file will be created in the @samp{elf32-littlemips}
format.
The @code{TARGET} command names the BFD format to use when reading input
files. It affects subsequent @code{INPUT} and @code{GROUP} commands.
This command is like using @samp{-b @var{bfdname}} on the command line
-(@pxref{Options,,Command Line Options}). If the @code{TARGET} command
+(@pxref{Options,,Command-line Options}). If the @code{TARGET} command
is used but @code{OUTPUT_FORMAT} is not, then the last @code{TARGET}
command is also used to set the format for the output file. @xref{BFD}.
@end table
All other nested section sorting commands are invalid.
@end enumerate
-When both command line section sorting option and linker script
+When both command-line section sorting option and linker script
section sorting command are used, section sorting command always
-takes precedence over the command line option.
+takes precedence over the command-line option.
If the section sorting command in linker script isn't nested, the
-command line option will make the section sorting command to be
+command-line option will make the section sorting command to be
treated as nested sorting command.
@enumerate
@end enumerate
If the section sorting command in linker script is nested, the
-command line option will be ignored.
+command-line option will be ignored.
@cindex SORT_NONE
-@code{SORT_NONE} disables section sorting by ignoring the command line
+@code{SORT_NONE} disables section sorting by ignoring the command-line
section sorting option.
If you ever get confused about where input sections are going, use the
sections with matching attributes are found, or your target lacks this
support, the orphan section is placed at the end of the file.
-The command line options @samp{--orphan-handling} and @samp{--unique}
-(@pxref{Options,,Command Line Options}) can be used to control which
+The command-line options @samp{--orphan-handling} and @samp{--unique}
+(@pxref{Options,,Command-line Options}) can be used to control which
output sections an orphan is placed in.
@node Location Counter
been compiled and assembled with the @samp{-mthumb-interwork} command
line option. If it is necessary to link with old ARM object files or
libraries, which have not been compiled with the -mthumb-interwork
-option then the @samp{--support-old-code} command line switch should be
+option then the @samp{--support-old-code} command-line switch should be
given to the linker. This will make it generate larger stub functions
which will work with non-interworking aware ARM code. Note, however,
the linker does not support generating stubs for function calls to
code into a linked ARM ELF executable whenever an attempt is made to
perform a function call to a symbol that is too far away. The
placement of these sequences of instructions - called stubs - is
-controlled by the command line option @option{--stub-group-size=N}.
+controlled by the command-line option @option{--stub-group-size=N}.
The placement is important because a poor choice can create a need for
duplicate stubs, increasing the code size. The linker will try to
group stubs together in order to reduce interruptions to the flow of
@cindex Placement of SG veneers
All SG veneers are placed in the special output section @code{.gnu.sgstubs}.
-Its start address must be set, either with the command line option
+Its start address must be set, either with the command-line option
@samp{--section-start} or in a linker script, to indicate where to place these
veneers in memory.
@section @command{ld} and WIN32 (cygwin/mingw)
This section describes some of the win32 specific @command{ld} issues.
-See @ref{Options,,Command Line Options} for detailed description of the
-command line options mentioned here.
+See @ref{Options,,Command-line Options} for detailed description of the
+command-line options mentioned here.
@table @emph
@cindex import libraries
regular static archives and are handled as any other static
archive. The cygwin and mingw ports of @command{ld} have specific
support for creating such libraries provided with the
-@samp{--out-implib} command line option.
+@samp{--out-implib} command-line option.
@item exporting DLL symbols
@cindex exporting DLL symbols
@item using auto-export functionality
@cindex using auto-export functionality
By default @command{ld} exports symbols with the auto-export functionality,
-which is controlled by the following command line options:
+which is controlled by the following command-line options:
@itemize
@item --export-all-symbols [This is the default]
@cindex creating a DEF file
While linking a shared dll, @command{ld} is able to create a DEF file
-with the @samp{--output-def <file>} command line option.
+with the @samp{--output-def <file>} command-line option.
@item Using decorations
@cindex Using decorations
@end table
Note: using a DEF file disables the default auto-export behavior,
-unless the @samp{--export-all-symbols} command line option is used.
+unless the @samp{--export-all-symbols} command-line option is used.
If, however, you are trying to rename symbols, then you should list
@emph{all} desired exports in the DEF file, including the symbols
that are not being renamed, and do @emph{not} use the
written in the linker command language. The @file{scripttempl} script
will be invoked 5 (or, in some cases, 6) times, with different
assignments to shell variables, to create different default scripts.
-The choice of script is made based on the command line options.
+The choice of script is made based on the command-line options.
After creating the scripts, @file{genscripts.sh} will invoke yet another
shell script, this time in the @file{emultempl} directory. That shell
relate to emulations, like setting up internationalization.
After initialization, @code{main} selects an emulation by pre-scanning
-the command line arguments. It calls @code{ldemul_choose_target} to
+the command-line arguments. It calls @code{ldemul_choose_target} to
choose a target. If you set @code{choose_target} to
@code{ldemul_default_target}, it picks your @code{target_name} by
default.