.\" Automatically generated by Pod::Man v1.37, Pod::Parser v1.32
.\"
.\" Standard preamble:
.\" ========================================================================
.de Sh \" Subsection heading
.br
.if t .Sp
.ne 5
.PP
\fB\\$1\fR
.PP
..
.de Sp \" Vertical space (when we can't use .PP)
.if t .sp .5v
.if n .sp
..
.de Vb \" Begin verbatim text
.ft CW
.nf
.ne \\$1
..
.de Ve \" End verbatim text
.ft R
.fi
..
.\" Set up some character translations and predefined strings.  \*(-- will
.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
.\" double quote, and \*(R" will give a right double quote.  \*(C+ will
.\" give a nicer C++.  Capital omega is used to do unbreakable dashes and
.\" therefore won't be available.  \*(C` and \*(C' expand to `' in nroff,
.\" nothing in troff, for use with C<>.
.tr \(*W-
.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
.ie n \{\
.    ds -- \(*W-
.    ds PI pi
.    if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
.    if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\"  diablo 12 pitch
.    ds L" ""
.    ds R" ""
.    ds C` ""
.    ds C' ""
'br\}
.el\{\
.    ds -- \|\(em\|
.    ds PI \(*p
.    ds L" ``
.    ds R" ''
'br\}
.\"
.\" If the F register is turned on, we'll generate index entries on stderr for
.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
.\" entries marked with X<> in POD.  Of course, you'll have to process the
.\" output yourself in some meaningful fashion.
.if \nF \{\
.    de IX
.    tm Index:\\$1\t\\n%\t"\\$2"
..
.    nr % 0
.    rr F
.\}
.\"
.\" For nroff, turn off justification.  Always turn off hyphenation; it makes
.\" way too many mistakes in technical documents.
.hy 0
.\"
.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
.\" Fear.  Run.  Save yourself.  No user-serviceable parts.
.    \" fudge factors for nroff and troff
.if n \{\
.    ds #H 0
.    ds #V .8m
.    ds #F .3m
.    ds #[ \f1
.    ds #] \fP
.\}
.if t \{\
.    ds #H ((1u-(\\\\n(.fu%2u))*.13m)
.    ds #V .6m
.    ds #F 0
.    ds #[ \&
.    ds #] \&
.\}
.    \" simple accents for nroff and troff
.if n \{\
.    ds ' \&
.    ds ` \&
.    ds ^ \&
.    ds , \&
.    ds ~ ~
.    ds /
.\}
.if t \{\
.    ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
.    ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
.    ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
.    ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
.    ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
.    ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
.\}
.    \" troff and (daisy-wheel) nroff accents
.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
.ds ae a\h'-(\w'a'u*4/10)'e
.ds Ae A\h'-(\w'A'u*4/10)'E
.    \" corrections for vroff
.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
.    \" for low resolution devices (crt and lpr)
.if \n(.H>23 .if \n(.V>19 \
\{\
.    ds : e
.    ds 8 ss
.    ds o a
.    ds d- d\h'-1'\(ga
.    ds D- D\h'-1'\(hy
.    ds th \o'bp'
.    ds Th \o'LP'
.    ds ae ae
.    ds Ae AE
.\}
.rm #[ #] #H #V #F C
.\" ========================================================================
.\"
.IX Title "AS 1"
.TH AS 1 "2007-08-28" "binutils-2.18" "GNU Development Tools"
.SH "NAME"
AS \- the portable GNU assembler.
.SH "SYNOPSIS"
.IX Header "SYNOPSIS"
as [\fB\-a\fR[\fBcdhlns\fR][=\fIfile\fR]] [\fB\-\-alternate\fR] [\fB\-D\fR]
 [\fB\-\-debug\-prefix\-map\fR \fIold\fR=\fInew\fR]
 [\fB\-\-defsym\fR \fIsym\fR=\fIval\fR] [\fB\-f\fR] [\fB\-g\fR] [\fB\-\-gstabs\fR]
 [\fB\-\-gstabs+\fR] [\fB\-\-gdwarf\-2\fR] [\fB\-\-help\fR] [\fB\-I\fR \fIdir\fR] [\fB\-J\fR]
 [\fB\-K\fR] [\fB\-L\fR] [\fB\-\-listing\-lhs\-width\fR=\fI\s-1NUM\s0\fR]
 [\fB\-\-listing\-lhs\-width2\fR=\fI\s-1NUM\s0\fR] [\fB\-\-listing\-rhs\-width\fR=\fI\s-1NUM\s0\fR]
 [\fB\-\-listing\-cont\-lines\fR=\fI\s-1NUM\s0\fR] [\fB\-\-keep\-locals\fR] [\fB\-o\fR
 \fIobjfile\fR] [\fB\-R\fR] [\fB\-\-reduce\-memory\-overheads\fR] [\fB\-\-statistics\fR]
 [\fB\-v\fR] [\fB\-version\fR] [\fB\-\-version\fR] [\fB\-W\fR] [\fB\-\-warn\fR]
 [\fB\-\-fatal\-warnings\fR] [\fB\-w\fR] [\fB\-x\fR] [\fB\-Z\fR] [\fB@\fR\fI\s-1FILE\s0\fR]
 [\fB\-\-target\-help\fR] [\fItarget-options\fR]
 [\fB\-\-\fR|\fIfiles\fR ...]
.PP
\&\fITarget Alpha options:\fR
   [\fB\-m\fR\fIcpu\fR]
   [\fB\-mdebug\fR | \fB\-no\-mdebug\fR]
   [\fB\-relax\fR] [\fB\-g\fR] [\fB\-G\fR\fIsize\fR]
   [\fB\-F\fR] [\fB\-32addr\fR]
.PP
\&\fITarget \s-1ARC\s0 options:\fR
   [\fB\-marc[5|6|7|8]\fR]
   [\fB\-EB\fR|\fB\-EL\fR]
.PP
\&\fITarget \s-1ARM\s0 options:\fR
   [\fB\-mcpu\fR=\fIprocessor\fR[+\fIextension\fR...]]
   [\fB\-march\fR=\fIarchitecture\fR[+\fIextension\fR...]]
   [\fB\-mfpu\fR=\fIfloating-point-format\fR]
   [\fB\-mfloat\-abi\fR=\fIabi\fR]
   [\fB\-meabi\fR=\fIver\fR]
   [\fB\-mthumb\fR]
   [\fB\-EB\fR|\fB\-EL\fR]
   [\fB\-mapcs\-32\fR|\fB\-mapcs\-26\fR|\fB\-mapcs\-float\fR|
    \fB\-mapcs\-reentrant\fR]
   [\fB\-mthumb\-interwork\fR] [\fB\-k\fR]
.PP
\&\fITarget \s-1CRIS\s0 options:\fR
   [\fB\-\-underscore\fR | \fB\-\-no\-underscore\fR]
   [\fB\-\-pic\fR] [\fB\-N\fR]
   [\fB\-\-emulation=criself\fR | \fB\-\-emulation=crisaout\fR]
   [\fB\-\-march=v0_v10\fR | \fB\-\-march=v10\fR | \fB\-\-march=v32\fR | \fB\-\-march=common_v10_v32\fR]
.PP
\&\fITarget D10V options:\fR
   [\fB\-O\fR]
.PP
\&\fITarget D30V options:\fR
   [\fB\-O\fR|\fB\-n\fR|\fB\-N\fR]
.PP
\&\fITarget i386 options:\fR
   [\fB\-\-32\fR|\fB\-\-64\fR] [\fB\-n\fR]
   [\fB\-march\fR=\fI\s-1CPU\s0\fR] [\fB\-mtune\fR=\fI\s-1CPU\s0\fR] 
.PP
\&\fITarget i960 options:\fR
   [\fB\-ACA\fR|\fB\-ACA_A\fR|\fB\-ACB\fR|\fB\-ACC\fR|\fB\-AKA\fR|\fB\-AKB\fR|
    \fB\-AKC\fR|\fB\-AMC\fR]
   [\fB\-b\fR] [\fB\-no\-relax\fR]
.PP
\&\fITarget \s-1IA\-64\s0 options:\fR
   [\fB\-mconstant\-gp\fR|\fB\-mauto\-pic\fR]
   [\fB\-milp32\fR|\fB\-milp64\fR|\fB\-mlp64\fR|\fB\-mp64\fR]
   [\fB\-mle\fR|\fBmbe\fR]
   [\fB\-mtune=itanium1\fR|\fB\-mtune=itanium2\fR]
   [\fB\-munwind\-check=warning\fR|\fB\-munwind\-check=error\fR]
   [\fB\-mhint.b=ok\fR|\fB\-mhint.b=warning\fR|\fB\-mhint.b=error\fR]
   [\fB\-x\fR|\fB\-xexplicit\fR] [\fB\-xauto\fR] [\fB\-xdebug\fR]
.PP
\&\fITarget \s-1IP2K\s0 options:\fR
   [\fB\-mip2022\fR|\fB\-mip2022ext\fR]
.PP
\&\fITarget M32C options:\fR
   [\fB\-m32c\fR|\fB\-m16c\fR]
.PP
\&\fITarget M32R options:\fR
   [\fB\-\-m32rx\fR|\fB\-\-[no\-]warn\-explicit\-parallel\-conflicts\fR|
   \fB\-\-W[n]p\fR]
.PP
\&\fITarget M680X0 options:\fR
   [\fB\-l\fR] [\fB\-m68000\fR|\fB\-m68010\fR|\fB\-m68020\fR|...]
.PP
\&\fITarget M68HC11 options:\fR
   [\fB\-m68hc11\fR|\fB\-m68hc12\fR|\fB\-m68hcs12\fR]
   [\fB\-mshort\fR|\fB\-mlong\fR]
   [\fB\-mshort\-double\fR|\fB\-mlong\-double\fR]
   [\fB\-\-force\-long\-branches\fR] [\fB\-\-short\-branches\fR]
   [\fB\-\-strict\-direct\-mode\fR] [\fB\-\-print\-insn\-syntax\fR]
   [\fB\-\-print\-opcodes\fR] [\fB\-\-generate\-example\fR]
.PP
\&\fITarget \s-1MCORE\s0 options:\fR
   [\fB\-jsri2bsr\fR] [\fB\-sifilter\fR] [\fB\-relax\fR]
   [\fB\-mcpu=[210|340]\fR]
.PP
\&\fITarget \s-1MIPS\s0 options:\fR
   [\fB\-nocpp\fR] [\fB\-EL\fR] [\fB\-EB\fR] [\fB\-O\fR[\fIoptimization level\fR]]
   [\fB\-g\fR[\fIdebug level\fR]] [\fB\-G\fR \fInum\fR] [\fB\-KPIC\fR] [\fB\-call_shared\fR]
   [\fB\-non_shared\fR] [\fB\-xgot\fR [\fB\-mvxworks\-pic\fR]
   [\fB\-mabi\fR=\fI\s-1ABI\s0\fR] [\fB\-32\fR] [\fB\-n32\fR] [\fB\-64\fR] [\fB\-mfp32\fR] [\fB\-mgp32\fR]
   [\fB\-march\fR=\fI\s-1CPU\s0\fR] [\fB\-mtune\fR=\fI\s-1CPU\s0\fR] [\fB\-mips1\fR] [\fB\-mips2\fR]
   [\fB\-mips3\fR] [\fB\-mips4\fR] [\fB\-mips5\fR] [\fB\-mips32\fR] [\fB\-mips32r2\fR]
   [\fB\-mips64\fR] [\fB\-mips64r2\fR]
   [\fB\-construct\-floats\fR] [\fB\-no\-construct\-floats\fR]
   [\fB\-trap\fR] [\fB\-no\-break\fR] [\fB\-break\fR] [\fB\-no\-trap\fR]
   [\fB\-mfix7000\fR] [\fB\-mno\-fix7000\fR]
   [\fB\-mips16\fR] [\fB\-no\-mips16\fR]
   [\fB\-msmartmips\fR] [\fB\-mno\-smartmips\fR]
   [\fB\-mips3d\fR] [\fB\-no\-mips3d\fR]
   [\fB\-mdmx\fR] [\fB\-no\-mdmx\fR]
   [\fB\-mdsp\fR] [\fB\-mno\-dsp\fR]
   [\fB\-mdspr2\fR] [\fB\-mno\-dspr2\fR]
   [\fB\-mmt\fR] [\fB\-mno\-mt\fR]
   [\fB\-mdebug\fR] [\fB\-no\-mdebug\fR]
   [\fB\-mpdr\fR] [\fB\-mno\-pdr\fR]
.PP
\&\fITarget \s-1MMIX\s0 options:\fR
   [\fB\-\-fixed\-special\-register\-names\fR] [\fB\-\-globalize\-symbols\fR]
   [\fB\-\-gnu\-syntax\fR] [\fB\-\-relax\fR] [\fB\-\-no\-predefined\-symbols\fR]
   [\fB\-\-no\-expand\fR] [\fB\-\-no\-merge\-gregs\fR] [\fB\-x\fR]
   [\fB\-\-linker\-allocated\-gregs\fR]
.PP
\&\fITarget \s-1PDP11\s0 options:\fR
   [\fB\-mpic\fR|\fB\-mno\-pic\fR] [\fB\-mall\fR] [\fB\-mno\-extensions\fR]
   [\fB\-m\fR\fIextension\fR|\fB\-mno\-\fR\fIextension\fR]
   [\fB\-m\fR\fIcpu\fR] [\fB\-m\fR\fImachine\fR]  
.PP
\&\fITarget picoJava options:\fR
   [\fB\-mb\fR|\fB\-me\fR]
.PP
\&\fITarget PowerPC options:\fR
   [\fB\-mpwrx\fR|\fB\-mpwr2\fR|\fB\-mpwr\fR|\fB\-m601\fR|\fB\-mppc\fR|\fB\-mppc32\fR|\fB\-m603\fR|\fB\-m604\fR|
    \fB\-m403\fR|\fB\-m405\fR|\fB\-mppc64\fR|\fB\-m620\fR|\fB\-mppc64bridge\fR|\fB\-mbooke\fR|
    \fB\-mbooke32\fR|\fB\-mbooke64\fR]
   [\fB\-mcom\fR|\fB\-many\fR|\fB\-maltivec\fR] [\fB\-memb\fR]
   [\fB\-mregnames\fR|\fB\-mno\-regnames\fR]
   [\fB\-mrelocatable\fR|\fB\-mrelocatable\-lib\fR]
   [\fB\-mlittle\fR|\fB\-mlittle\-endian\fR|\fB\-mbig\fR|\fB\-mbig\-endian\fR]
   [\fB\-msolaris\fR|\fB\-mno\-solaris\fR]
.PP
\&\fITarget \s-1SPARC\s0 options:\fR
   [\fB\-Av6\fR|\fB\-Av7\fR|\fB\-Av8\fR|\fB\-Asparclet\fR|\fB\-Asparclite\fR
    \fB\-Av8plus\fR|\fB\-Av8plusa\fR|\fB\-Av9\fR|\fB\-Av9a\fR]
   [\fB\-xarch=v8plus\fR|\fB\-xarch=v8plusa\fR] [\fB\-bump\fR]
   [\fB\-32\fR|\fB\-64\fR]
.PP
\&\fITarget \s-1TIC54X\s0 options:\fR
 [\fB\-mcpu=54[123589]\fR|\fB\-mcpu=54[56]lp\fR] [\fB\-mfar\-mode\fR|\fB\-mf\fR] 
 [\fB\-merrors\-to\-file\fR \fI<filename>\fR|\fB\-me\fR \fI<filename>\fR]
.PP
\&\fITarget Z80 options:\fR
  [\fB\-z80\fR] [\fB\-r800\fR]
  [ \fB\-ignore\-undocumented\-instructions\fR] [\fB\-Wnud\fR]
  [ \fB\-ignore\-unportable\-instructions\fR] [\fB\-Wnup\fR]
  [ \fB\-warn\-undocumented\-instructions\fR] [\fB\-Wud\fR]
  [ \fB\-warn\-unportable\-instructions\fR] [\fB\-Wup\fR]
  [ \fB\-forbid\-undocumented\-instructions\fR] [\fB\-Fud\fR]
  [ \fB\-forbid\-unportable\-instructions\fR] [\fB\-Fup\fR]
.PP
\&\fITarget Xtensa options:\fR
 [\fB\-\-[no\-]text\-section\-literals\fR] [\fB\-\-[no\-]absolute\-literals\fR]
 [\fB\-\-[no\-]target\-align\fR] [\fB\-\-[no\-]longcalls\fR]
 [\fB\-\-[no\-]transform\fR]
 [\fB\-\-rename\-section\fR \fIoldname\fR=\fInewname\fR]
.SH "DESCRIPTION"
.IX Header "DESCRIPTION"
\&\s-1GNU\s0 \fBas\fR is really a family of assemblers.
If you use (or have used) the \s-1GNU\s0 assembler on one architecture, you
should find a fairly similar environment when you use it on another
architecture.  Each version has much in common with the others,
including object file formats, most assembler directives (often called
\&\fIpseudo-ops\fR) and assembler syntax.
.PP
\&\fBas\fR is primarily intended to assemble the output of the
\&\s-1GNU\s0 C compiler \f(CW\*(C`gcc\*(C'\fR for use by the linker
\&\f(CW\*(C`ld\*(C'\fR.  Nevertheless, we've tried to make \fBas\fR
assemble correctly everything that other assemblers for the same
machine would assemble.
Any exceptions are documented explicitly.
This doesn't mean \fBas\fR always uses the same syntax as another
assembler for the same architecture; for example, we know of several
incompatible versions of 680x0 assembly language syntax.
.PP
Each time you run \fBas\fR it assembles exactly one source
program.  The source program is made up of one or more files.
(The standard input is also a file.)
.PP
You give \fBas\fR 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
is taken to be an input file name.
.PP
If you give \fBas\fR no file names it attempts to read one input file
from the \fBas\fR standard input, which is normally your terminal.  You
may have to type \fBctl-D\fR to tell \fBas\fR there is no more program
to assemble.
.PP
Use \fB\-\-\fR if you need to explicitly name the standard input file
in your command line.
.PP
If the source is empty, \fBas\fR produces a small, empty object
file.
.PP
\&\fBas\fR may write warnings and error messages to the standard error
file (usually your terminal).  This should not happen when  a compiler
runs \fBas\fR automatically.  Warnings report an assumption made so
that \fBas\fR could keep assembling a flawed program; errors report a
grave problem that stops the assembly.
.PP
If you are invoking \fBas\fR via the \s-1GNU\s0 C compiler,
you can use the \fB\-Wa\fR option to pass arguments through to the assembler.
The assembler arguments must be separated from each other (and the \fB\-Wa\fR)
by commas.  For example:
.PP
.Vb 1
\&        gcc \-c \-g \-O \-Wa,\-alh,\-L file.c
.Ve
.PP
This passes two options to the assembler: \fB\-alh\fR (emit a listing to
standard output with high-level and assembly source) and \fB\-L\fR (retain
local symbols in the symbol table).
.PP
Usually you do not need to use this \fB\-Wa\fR mechanism, since many compiler
command-line options are automatically passed to the assembler by the compiler.
(You can call the \s-1GNU\s0 compiler driver with the \fB\-v\fR option to see
precisely what options it passes to each compilation pass, including the
assembler.)
.SH "OPTIONS"
.IX Header "OPTIONS"
.IP "\fB@\fR\fIfile\fR" 4
.IX Item "@file"
Read command-line options from \fIfile\fR.  The options read are
inserted in place of the original @\fIfile\fR option.  If \fIfile\fR
does not exist, or cannot be read, then the option will be treated
literally, and not removed.  
.Sp
Options in \fIfile\fR are separated by whitespace.  A whitespace
character may be included in an option by surrounding the entire
option in either single or double quotes.  Any character (including a
backslash) may be included by prefixing the character to be included
with a backslash.  The \fIfile\fR may itself contain additional
@\fIfile\fR options; any such options will be processed recursively.
.IP "\fB\-a[cdhlmns]\fR" 4
.IX Item "-a[cdhlmns]"
Turn on listings, in any of a variety of ways:
.RS 4
.IP "\fB\-ac\fR" 4
.IX Item "-ac"
omit false conditionals
.IP "\fB\-ad\fR" 4
.IX Item "-ad"
omit debugging directives
.IP "\fB\-ah\fR" 4
.IX Item "-ah"
include high-level source
.IP "\fB\-al\fR" 4
.IX Item "-al"
include assembly
.IP "\fB\-am\fR" 4
.IX Item "-am"
include macro expansions
.IP "\fB\-an\fR" 4
.IX Item "-an"
omit forms processing
.IP "\fB\-as\fR" 4
.IX Item "-as"
include symbols
.IP "\fB=file\fR" 4
.IX Item "=file"
set the name of the listing file
.RE
.RS 4
.Sp
You may combine these options; for example, use \fB\-aln\fR for assembly
listing without forms processing.  The \fB=file\fR option, if used, must be
the last one.  By itself, \fB\-a\fR defaults to \fB\-ahls\fR.
.RE
.IP "\fB\-\-alternate\fR" 4
.IX Item "--alternate"
Begin in alternate macro mode.
.IP "\fB\-D\fR" 4
.IX Item "-D"
Ignored.  This option is accepted for script compatibility with calls to
other assemblers.
.IP "\fB\-\-debug\-prefix\-map\fR \fIold\fR\fB=\fR\fInew\fR" 4
.IX Item "--debug-prefix-map old=new"
When assembling files in directory \fI\fIold\fI\fR, record debugging
information describing them as in \fI\fInew\fI\fR instead.
.IP "\fB\-\-defsym\fR \fIsym\fR\fB=\fR\fIvalue\fR" 4
.IX Item "--defsym sym=value"
Define the symbol \fIsym\fR to be \fIvalue\fR before assembling the input file.
\&\fIvalue\fR must be an integer constant.  As in C, a leading \fB0x\fR
indicates a hexadecimal value, and a leading \fB0\fR indicates an octal
value.  The value of the symbol can be overridden inside a source file via the
use of a \f(CW\*(C`.set\*(C'\fR pseudo\-op.
.IP "\fB\-f\fR" 4
.IX Item "-f"
\&\*(L"fast\*(R"\-\-\-skip whitespace and comment preprocessing (assume source is
compiler output).
.IP "\fB\-g\fR" 4
.IX Item "-g"
.PD 0
.IP "\fB\-\-gen\-debug\fR" 4
.IX Item "--gen-debug"
.PD
Generate debugging information for each assembler source line using whichever
debug format is preferred by the target.  This currently means either \s-1STABS\s0,
\&\s-1ECOFF\s0 or \s-1DWARF2\s0.
.IP "\fB\-\-gstabs\fR" 4
.IX Item "--gstabs"
Generate stabs debugging information for each assembler line.  This
may help debugging assembler code, if the debugger can handle it.
.IP "\fB\-\-gstabs+\fR" 4
.IX Item "--gstabs+"
Generate stabs debugging information for each assembler line, with \s-1GNU\s0
extensions that probably only gdb can handle, and that could make other
debuggers crash or refuse to read your program.  This
may help debugging assembler code.  Currently the only \s-1GNU\s0 extension is
the location of the current working directory at assembling time.
.IP "\fB\-\-gdwarf\-2\fR" 4
.IX Item "--gdwarf-2"
Generate \s-1DWARF2\s0 debugging information for each assembler line.  This
may help debugging assembler code, if the debugger can handle it.  Note\-\-\-this
option is only supported by some targets, not all of them.
.IP "\fB\-\-help\fR" 4
.IX Item "--help"
Print a summary of the command line options and exit.
.IP "\fB\-\-target\-help\fR" 4
.IX Item "--target-help"
Print a summary of all target specific options and exit.
.IP "\fB\-I\fR \fIdir\fR" 4
.IX Item "-I dir"
Add directory \fIdir\fR to the search list for \f(CW\*(C`.include\*(C'\fR directives.
.IP "\fB\-J\fR" 4
.IX Item "-J"
Don't warn about signed overflow.
.IP "\fB\-K\fR" 4
.IX Item "-K"
Issue warnings when difference tables altered for long displacements.
.IP "\fB\-L\fR" 4
.IX Item "-L"
.PD 0
.IP "\fB\-\-keep\-locals\fR" 4
.IX Item "--keep-locals"
.PD
Keep (in the symbol table) local symbols.  These symbols start with
system-specific local label prefixes, typically \fB.L\fR for \s-1ELF\s0 systems
or \fBL\fR for traditional a.out systems.
.IP "\fB\-\-listing\-lhs\-width=\fR\fInumber\fR" 4
.IX Item "--listing-lhs-width=number"
Set the maximum width, in words, of the output data column for an assembler
listing to \fInumber\fR.
.IP "\fB\-\-listing\-lhs\-width2=\fR\fInumber\fR" 4
.IX Item "--listing-lhs-width2=number"
Set the maximum width, in words, of the output data column for continuation
lines in an assembler listing to \fInumber\fR.
.IP "\fB\-\-listing\-rhs\-width=\fR\fInumber\fR" 4
.IX Item "--listing-rhs-width=number"
Set the maximum width of an input source line, as displayed in a listing, to
\&\fInumber\fR bytes.
.IP "\fB\-\-listing\-cont\-lines=\fR\fInumber\fR" 4
.IX Item "--listing-cont-lines=number"
Set the maximum number of lines printed in a listing for a single line of input
to \fInumber\fR + 1.
.IP "\fB\-o\fR \fIobjfile\fR" 4
.IX Item "-o objfile"
Name the object-file output from \fBas\fR \fIobjfile\fR.
.IP "\fB\-R\fR" 4
.IX Item "-R"
Fold the data section into the text section.
.Sp
Set the default size of \s-1GAS\s0's hash tables to a prime number close to
\&\fInumber\fR.  Increasing this value can reduce the length of time it takes the
assembler to perform its tasks, at the expense of increasing the assembler's
memory requirements.  Similarly reducing this value can reduce the memory
requirements at the expense of speed.
.IP "\fB\-\-reduce\-memory\-overheads\fR" 4
.IX Item "--reduce-memory-overheads"
This option reduces \s-1GAS\s0's memory requirements, at the expense of making the
assembly processes slower.  Currently this switch is a synonym for
\&\fB\-\-hash\-size=4051\fR, but in the future it may have other effects as well.
.IP "\fB\-\-statistics\fR" 4
.IX Item "--statistics"
Print the maximum space (in bytes) and total time (in seconds) used by
assembly.
.IP "\fB\-\-strip\-local\-absolute\fR" 4
.IX Item "--strip-local-absolute"
Remove local absolute symbols from the outgoing symbol table.
.IP "\fB\-v\fR" 4
.IX Item "-v"
.PD 0
.IP "\fB\-version\fR" 4
.IX Item "-version"
.PD
Print the \fBas\fR version.
.IP "\fB\-\-version\fR" 4
.IX Item "--version"
Print the \fBas\fR version and exit.
.IP "\fB\-W\fR" 4
.IX Item "-W"
.PD 0
.IP "\fB\-\-no\-warn\fR" 4
.IX Item "--no-warn"
.PD
Suppress warning messages.
.IP "\fB\-\-fatal\-warnings\fR" 4
.IX Item "--fatal-warnings"
Treat warnings as errors.
.IP "\fB\-\-warn\fR" 4
.IX Item "--warn"
Don't suppress warning messages or treat them as errors.
.IP "\fB\-w\fR" 4
.IX Item "-w"
Ignored.
.IP "\fB\-x\fR" 4
.IX Item "-x"
Ignored.
.IP "\fB\-Z\fR" 4
.IX Item "-Z"
Generate an object file even after errors.
.IP "\fB\-\- |\fR \fIfiles\fR \fB...\fR" 4
.IX Item "-- | files ..."
Standard input, or source files to assemble.
.PP
The following options are available when as is configured for
an \s-1ARC\s0 processor.
.IP "\fB\-marc[5|6|7|8]\fR" 4
.IX Item "-marc[5|6|7|8]"
This option selects the core processor variant.
.IP "\fB\-EB | \-EL\fR" 4
.IX Item "-EB | -EL"
Select either big-endian (\-EB) or little-endian (\-EL) output.
.PP
The following options are available when as is configured for the \s-1ARM\s0
processor family.
.IP "\fB\-mcpu=\fR\fIprocessor\fR\fB[+\fR\fIextension\fR\fB...]\fR" 4
.IX Item "-mcpu=processor[+extension...]"
Specify which \s-1ARM\s0 processor variant is the target.
.IP "\fB\-march=\fR\fIarchitecture\fR\fB[+\fR\fIextension\fR\fB...]\fR" 4
.IX Item "-march=architecture[+extension...]"
Specify which \s-1ARM\s0 architecture variant is used by the target.
.IP "\fB\-mfpu=\fR\fIfloating-point-format\fR" 4
.IX Item "-mfpu=floating-point-format"
Select which Floating Point architecture is the target.
.IP "\fB\-mfloat\-abi=\fR\fIabi\fR" 4
.IX Item "-mfloat-abi=abi"
Select which floating point \s-1ABI\s0 is in use.
.IP "\fB\-mthumb\fR" 4
.IX Item "-mthumb"
Enable Thumb only instruction decoding.
.IP "\fB\-mapcs\-32 | \-mapcs\-26 | \-mapcs\-float | \-mapcs\-reentrant\fR" 4
.IX Item "-mapcs-32 | -mapcs-26 | -mapcs-float | -mapcs-reentrant"
Select which procedure calling convention is in use.
.IP "\fB\-EB | \-EL\fR" 4
.IX Item "-EB | -EL"
Select either big-endian (\-EB) or little-endian (\-EL) output.
.IP "\fB\-mthumb\-interwork\fR" 4
.IX Item "-mthumb-interwork"
Specify that the code has been generated with interworking between Thumb and
\&\s-1ARM\s0 code in mind.
.IP "\fB\-k\fR" 4
.IX Item "-k"
Specify that \s-1PIC\s0 code has been generated.
.PP
See the info pages for documentation of the CRIS-specific options.
.PP
The following options are available when as is configured for
a D10V processor.
.IP "\fB\-O\fR" 4
.IX Item "-O"
Optimize output by parallelizing instructions.
.PP
The following options are available when as is configured for a D30V
processor.
.IP "\fB\-O\fR" 4
.IX Item "-O"
Optimize output by parallelizing instructions.
.IP "\fB\-n\fR" 4
.IX Item "-n"
Warn when nops are generated.
.IP "\fB\-N\fR" 4
.IX Item "-N"
Warn when a nop after a 32\-bit multiply instruction is generated.
.PP
The following options are available when as is configured for the
Intel 80960 processor.
.IP "\fB\-ACA | \-ACA_A | \-ACB | \-ACC | \-AKA | \-AKB | \-AKC | \-AMC\fR" 4
.IX Item "-ACA | -ACA_A | -ACB | -ACC | -AKA | -AKB | -AKC | -AMC"
Specify which variant of the 960 architecture is the target.
.IP "\fB\-b\fR" 4
.IX Item "-b"
Add code to collect statistics about branches taken.
.IP "\fB\-no\-relax\fR" 4
.IX Item "-no-relax"
Do not alter compare-and-branch instructions for long displacements;
error if necessary.
.PP
The following options are available when as is configured for the
Ubicom \s-1IP2K\s0 series.
.IP "\fB\-mip2022ext\fR" 4
.IX Item "-mip2022ext"
Specifies that the extended \s-1IP2022\s0 instructions are allowed.
.IP "\fB\-mip2022\fR" 4
.IX Item "-mip2022"
Restores the default behaviour, which restricts the permitted instructions to
just the basic \s-1IP2022\s0 ones.
.PP
The following options are available when as is configured for the
Renesas M32C and M16C processors.
.IP "\fB\-m32c\fR" 4
.IX Item "-m32c"
Assemble M32C instructions.
.IP "\fB\-m16c\fR" 4
.IX Item "-m16c"
Assemble M16C instructions (the default).
.PP
The following options are available when as is configured for the
Renesas M32R (formerly Mitsubishi M32R) series.
.IP "\fB\-\-m32rx\fR" 4
.IX Item "--m32rx"
Specify which processor in the M32R family is the target.  The default
is normally the M32R, but this option changes it to the M32RX.
.IP "\fB\-\-warn\-explicit\-parallel\-conflicts or \-\-Wp\fR" 4
.IX Item "--warn-explicit-parallel-conflicts or --Wp"
Produce warning messages when questionable parallel constructs are
encountered. 
.IP "\fB\-\-no\-warn\-explicit\-parallel\-conflicts or \-\-Wnp\fR" 4
.IX Item "--no-warn-explicit-parallel-conflicts or --Wnp"
Do not produce warning messages when questionable parallel constructs are 
encountered. 
.PP
The following options are available when as is configured for the
Motorola 68000 series.
.IP "\fB\-l\fR" 4
.IX Item "-l"
Shorten references to undefined symbols, to one word instead of two.
.IP "\fB\-m68000 | \-m68008 | \-m68010 | \-m68020 | \-m68030\fR" 4
.IX Item "-m68000 | -m68008 | -m68010 | -m68020 | -m68030"
.PD 0
.IP "\fB| \-m68040 | \-m68060 | \-m68302 | \-m68331 | \-m68332\fR" 4
.IX Item "| -m68040 | -m68060 | -m68302 | -m68331 | -m68332"
.IP "\fB| \-m68333 | \-m68340 | \-mcpu32 | \-m5200\fR" 4
.IX Item "| -m68333 | -m68340 | -mcpu32 | -m5200"
.PD
Specify what processor in the 68000 family is the target.  The default
is normally the 68020, but this can be changed at configuration time.
.IP "\fB\-m68881 | \-m68882 | \-mno\-68881 | \-mno\-68882\fR" 4
.IX Item "-m68881 | -m68882 | -mno-68881 | -mno-68882"
The target machine does (or does not) have a floating-point coprocessor.
The default is to assume a coprocessor for 68020, 68030, and cpu32.  Although
the basic 68000 is not compatible with the 68881, a combination of the
two can be specified, since it's possible to do emulation of the
coprocessor instructions with the main processor.
.IP "\fB\-m68851 | \-mno\-68851\fR" 4
.IX Item "-m68851 | -mno-68851"
The target machine does (or does not) have a memory-management
unit coprocessor.  The default is to assume an \s-1MMU\s0 for 68020 and up.
.PP
For details about the \s-1PDP\-11\s0 machine dependent features options,
see \fBPDP\-11\-Options\fR.
.IP "\fB\-mpic | \-mno\-pic\fR" 4
.IX Item "-mpic | -mno-pic"
Generate position-independent (or position\-dependent) code.  The
default is \fB\-mpic\fR.
.IP "\fB\-mall\fR" 4
.IX Item "-mall"
.PD 0
.IP "\fB\-mall\-extensions\fR" 4
.IX Item "-mall-extensions"
.PD
Enable all instruction set extensions.  This is the default.
.IP "\fB\-mno\-extensions\fR" 4
.IX Item "-mno-extensions"
Disable all instruction set extensions.
.IP "\fB\-m\fR\fIextension\fR \fB| \-mno\-\fR\fIextension\fR" 4
.IX Item "-mextension | -mno-extension"
Enable (or disable) a particular instruction set extension.
.IP "\fB\-m\fR\fIcpu\fR" 4
.IX Item "-mcpu"
Enable the instruction set extensions supported by a particular \s-1CPU\s0, and
disable all other extensions.
.IP "\fB\-m\fR\fImachine\fR" 4
.IX Item "-mmachine"
Enable the instruction set extensions supported by a particular machine
model, and disable all other extensions.
.PP
The following options are available when as is configured for
a picoJava processor.
.IP "\fB\-mb\fR" 4
.IX Item "-mb"
Generate \*(L"big endian\*(R" format output.
.IP "\fB\-ml\fR" 4
.IX Item "-ml"
Generate \*(L"little endian\*(R" format output.
.PP
The following options are available when as is configured for the
Motorola 68HC11 or 68HC12 series.
.IP "\fB\-m68hc11 | \-m68hc12 | \-m68hcs12\fR" 4
.IX Item "-m68hc11 | -m68hc12 | -m68hcs12"
Specify what processor is the target.  The default is
defined by the configuration option when building the assembler.
.IP "\fB\-mshort\fR" 4
.IX Item "-mshort"
Specify to use the 16\-bit integer \s-1ABI\s0.
.IP "\fB\-mlong\fR" 4
.IX Item "-mlong"
Specify to use the 32\-bit integer \s-1ABI\s0.  
.IP "\fB\-mshort\-double\fR" 4
.IX Item "-mshort-double"
Specify to use the 32\-bit double \s-1ABI\s0.  
.IP "\fB\-mlong\-double\fR" 4
.IX Item "-mlong-double"
Specify to use the 64\-bit double \s-1ABI\s0.  
.IP "\fB\-\-force\-long\-branches\fR" 4
.IX Item "--force-long-branches"
Relative branches are turned into absolute ones. This concerns
conditional branches, unconditional branches and branches to a
sub routine.
.IP "\fB\-S | \-\-short\-branches\fR" 4
.IX Item "-S | --short-branches"
Do not turn relative branches into absolute ones
when the offset is out of range.
.IP "\fB\-\-strict\-direct\-mode\fR" 4
.IX Item "--strict-direct-mode"
Do not turn the direct addressing mode into extended addressing mode
when the instruction does not support direct addressing mode.
.IP "\fB\-\-print\-insn\-syntax\fR" 4
.IX Item "--print-insn-syntax"
Print the syntax of instruction in case of error.
.IP "\fB\-\-print\-opcodes\fR" 4
.IX Item "--print-opcodes"
print the list of instructions with syntax and then exit.
.IP "\fB\-\-generate\-example\fR" 4
.IX Item "--generate-example"
print an example of instruction for each possible instruction and then exit.
This option is only useful for testing \fBas\fR.
.PP
The following options are available when \fBas\fR is configured
for the \s-1SPARC\s0 architecture:
.IP "\fB\-Av6 | \-Av7 | \-Av8 | \-Asparclet | \-Asparclite\fR" 4
.IX Item "-Av6 | -Av7 | -Av8 | -Asparclet | -Asparclite"
.PD 0
.IP "\fB\-Av8plus | \-Av8plusa | \-Av9 | \-Av9a\fR" 4
.IX Item "-Av8plus | -Av8plusa | -Av9 | -Av9a"
.PD
Explicitly select a variant of the \s-1SPARC\s0 architecture.
.Sp
\&\fB\-Av8plus\fR and \fB\-Av8plusa\fR select a 32 bit environment.
\&\fB\-Av9\fR and \fB\-Av9a\fR select a 64 bit environment.
.Sp
\&\fB\-Av8plusa\fR and \fB\-Av9a\fR enable the \s-1SPARC\s0 V9 instruction set with
UltraSPARC extensions.
.IP "\fB\-xarch=v8plus | \-xarch=v8plusa\fR" 4
.IX Item "-xarch=v8plus | -xarch=v8plusa"
For compatibility with the Solaris v9 assembler.  These options are
equivalent to \-Av8plus and \-Av8plusa, respectively.
.IP "\fB\-bump\fR" 4
.IX Item "-bump"
Warn when the assembler switches to another architecture.
.PP
The following options are available when as is configured for the 'c54x
architecture. 
.IP "\fB\-mfar\-mode\fR" 4
.IX Item "-mfar-mode"
Enable extended addressing mode.  All addresses and relocations will assume
extended addressing (usually 23 bits).
.IP "\fB\-mcpu=\fR\fI\s-1CPU_VERSION\s0\fR" 4
.IX Item "-mcpu=CPU_VERSION"
Sets the \s-1CPU\s0 version being compiled for.
.IP "\fB\-merrors\-to\-file\fR \fI\s-1FILENAME\s0\fR" 4
.IX Item "-merrors-to-file FILENAME"
Redirect error output to a file, for broken systems which don't support such
behaviour in the shell.
.PP
The following options are available when as is configured for
a \s-1MIPS\s0 processor.
.IP "\fB\-G\fR \fInum\fR" 4
.IX Item "-G num"
This option sets the largest size of an object that can be referenced
implicitly with the \f(CW\*(C`gp\*(C'\fR register.  It is only accepted for targets that
use \s-1ECOFF\s0 format, such as a DECstation running Ultrix.  The default value is 8.
.IP "\fB\-EB\fR" 4
.IX Item "-EB"
Generate \*(L"big endian\*(R" format output.
.IP "\fB\-EL\fR" 4
.IX Item "-EL"
Generate \*(L"little endian\*(R" format output.
.IP "\fB\-mips1\fR" 4
.IX Item "-mips1"
.PD 0
.IP "\fB\-mips2\fR" 4
.IX Item "-mips2"
.IP "\fB\-mips3\fR" 4
.IX Item "-mips3"
.IP "\fB\-mips4\fR" 4
.IX Item "-mips4"
.IP "\fB\-mips5\fR" 4
.IX Item "-mips5"
.IP "\fB\-mips32\fR" 4
.IX Item "-mips32"
.IP "\fB\-mips32r2\fR" 4
.IX Item "-mips32r2"
.IP "\fB\-mips64\fR" 4
.IX Item "-mips64"
.IP "\fB\-mips64r2\fR" 4
.IX Item "-mips64r2"
.PD
Generate code for a particular \s-1MIPS\s0 Instruction Set Architecture level.
\&\fB\-mips1\fR is an alias for \fB\-march=r3000\fR, \fB\-mips2\fR is an
alias for \fB\-march=r6000\fR, \fB\-mips3\fR is an alias for
\&\fB\-march=r4000\fR and \fB\-mips4\fR is an alias for \fB\-march=r8000\fR.
\&\fB\-mips5\fR, \fB\-mips32\fR, \fB\-mips32r2\fR, \fB\-mips64\fR, and
\&\fB\-mips64r2\fR
correspond to generic
\&\fB\s-1MIPS\s0 V\fR, \fB\s-1MIPS32\s0\fR, \fB\s-1MIPS32\s0 Release 2\fR, \fB\s-1MIPS64\s0\fR,
and \fB\s-1MIPS64\s0 Release 2\fR
\&\s-1ISA\s0 processors, respectively.
.IP "\fB\-march=\fR\fI\s-1CPU\s0\fR" 4
.IX Item "-march=CPU"
Generate code for a particular \s-1MIPS\s0 cpu.
.IP "\fB\-mtune=\fR\fIcpu\fR" 4
.IX Item "-mtune=cpu"
Schedule and tune for a particular \s-1MIPS\s0 cpu.
.IP "\fB\-mfix7000\fR" 4
.IX Item "-mfix7000"
.PD 0
.IP "\fB\-mno\-fix7000\fR" 4
.IX Item "-mno-fix7000"
.PD
Cause nops to be inserted if the read of the destination register
of an mfhi or mflo instruction occurs in the following two instructions.
.IP "\fB\-mdebug\fR" 4
.IX Item "-mdebug"
.PD 0
.IP "\fB\-no\-mdebug\fR" 4
.IX Item "-no-mdebug"
.PD
Cause stabs-style debugging output to go into an ECOFF-style .mdebug
section instead of the standard \s-1ELF\s0 .stabs sections.
.IP "\fB\-mpdr\fR" 4
.IX Item "-mpdr"
.PD 0
.IP "\fB\-mno\-pdr\fR" 4
.IX Item "-mno-pdr"
.PD
Control generation of \f(CW\*(C`.pdr\*(C'\fR sections.
.IP "\fB\-mgp32\fR" 4
.IX Item "-mgp32"
.PD 0
.IP "\fB\-mfp32\fR" 4
.IX Item "-mfp32"
.PD
The register sizes are normally inferred from the \s-1ISA\s0 and \s-1ABI\s0, but these
flags force a certain group of registers to be treated as 32 bits wide at
all times.  \fB\-mgp32\fR controls the size of general-purpose registers
and \fB\-mfp32\fR controls the size of floating-point registers.
.IP "\fB\-mips16\fR" 4
.IX Item "-mips16"
.PD 0
.IP "\fB\-no\-mips16\fR" 4
.IX Item "-no-mips16"
.PD
Generate code for the \s-1MIPS\s0 16 processor.  This is equivalent to putting
\&\f(CW\*(C`.set mips16\*(C'\fR at the start of the assembly file.  \fB\-no\-mips16\fR
turns off this option.
.IP "\fB\-msmartmips\fR" 4
.IX Item "-msmartmips"
.PD 0
.IP "\fB\-mno\-smartmips\fR" 4
.IX Item "-mno-smartmips"
.PD
Enables the SmartMIPS extension to the \s-1MIPS32\s0 instruction set. This is
equivalent to putting \f(CW\*(C`.set smartmips\*(C'\fR at the start of the assembly file.
\&\fB\-mno\-smartmips\fR turns off this option.
.IP "\fB\-mips3d\fR" 4
.IX Item "-mips3d"
.PD 0
.IP "\fB\-no\-mips3d\fR" 4
.IX Item "-no-mips3d"
.PD
Generate code for the \s-1MIPS\-3D\s0 Application Specific Extension.
This tells the assembler to accept \s-1MIPS\-3D\s0 instructions.
\&\fB\-no\-mips3d\fR turns off this option.
.IP "\fB\-mdmx\fR" 4
.IX Item "-mdmx"
.PD 0
.IP "\fB\-no\-mdmx\fR" 4
.IX Item "-no-mdmx"
.PD
Generate code for the \s-1MDMX\s0 Application Specific Extension.
This tells the assembler to accept \s-1MDMX\s0 instructions.
\&\fB\-no\-mdmx\fR turns off this option.
.IP "\fB\-mdsp\fR" 4
.IX Item "-mdsp"
.PD 0
.IP "\fB\-mno\-dsp\fR" 4
.IX Item "-mno-dsp"
.PD
Generate code for the \s-1DSP\s0 Release 1 Application Specific Extension.
This tells the assembler to accept \s-1DSP\s0 Release 1 instructions.
\&\fB\-mno\-dsp\fR turns off this option.
.IP "\fB\-mdspr2\fR" 4
.IX Item "-mdspr2"
.PD 0
.IP "\fB\-mno\-dspr2\fR" 4
.IX Item "-mno-dspr2"
.PD
Generate code for the \s-1DSP\s0 Release 2 Application Specific Extension.
This option implies \-mdsp.
This tells the assembler to accept \s-1DSP\s0 Release 2 instructions.
\&\fB\-mno\-dspr2\fR turns off this option.
.IP "\fB\-mmt\fR" 4
.IX Item "-mmt"
.PD 0
.IP "\fB\-mno\-mt\fR" 4
.IX Item "-mno-mt"
.PD
Generate code for the \s-1MT\s0 Application Specific Extension.
This tells the assembler to accept \s-1MT\s0 instructions.
\&\fB\-mno\-mt\fR turns off this option.
.IP "\fB\-\-construct\-floats\fR" 4
.IX Item "--construct-floats"
.PD 0
.IP "\fB\-\-no\-construct\-floats\fR" 4
.IX Item "--no-construct-floats"
.PD
The \fB\-\-no\-construct\-floats\fR option disables the construction of
double width floating point constants by loading the two halves of the
value into the two single width floating point registers that make up
the double width register.  By default \fB\-\-construct\-floats\fR is
selected, allowing construction of these floating point constants.
.IP "\fB\-\-emulation=\fR\fIname\fR" 4
.IX Item "--emulation=name"
This option causes \fBas\fR to emulate \fBas\fR configured
for some other target, in all respects, including output format (choosing
between \s-1ELF\s0 and \s-1ECOFF\s0 only), handling of pseudo-opcodes which may generate
debugging information or store symbol table information, and default
endianness.  The available configuration names are: \fBmipsecoff\fR,
\&\fBmipself\fR, \fBmipslecoff\fR, \fBmipsbecoff\fR, \fBmipslelf\fR,
\&\fBmipsbelf\fR.  The first two do not alter the default endianness from that
of the primary target for which the assembler was configured; the others change
the default to little\- or big-endian as indicated by the \fBb\fR or \fBl\fR
in the name.  Using \fB\-EB\fR or \fB\-EL\fR will override the endianness
selection in any case.
.Sp
This option is currently supported only when the primary target
\&\fBas\fR is configured for is a \s-1MIPS\s0 \s-1ELF\s0 or \s-1ECOFF\s0 target.
Furthermore, the primary target or others specified with
\&\fB\-\-enable\-targets=...\fR at configuration time must include support for
the other format, if both are to be available.  For example, the Irix 5
configuration includes support for both.
.Sp
Eventually, this option will support more configurations, with more
fine-grained control over the assembler's behavior, and will be supported for
more processors.
.IP "\fB\-nocpp\fR" 4
.IX Item "-nocpp"
\&\fBas\fR ignores this option.  It is accepted for compatibility with
the native tools.
.IP "\fB\-\-trap\fR" 4
.IX Item "--trap"
.PD 0
.IP "\fB\-\-no\-trap\fR" 4
.IX Item "--no-trap"
.IP "\fB\-\-break\fR" 4
.IX Item "--break"
.IP "\fB\-\-no\-break\fR" 4
.IX Item "--no-break"
.PD
Control how to deal with multiplication overflow and division by zero.
\&\fB\-\-trap\fR or \fB\-\-no\-break\fR (which are synonyms) take a trap exception
(and only work for Instruction Set Architecture level 2 and higher);
\&\fB\-\-break\fR or \fB\-\-no\-trap\fR (also synonyms, and the default) take a
break exception.
.IP "\fB\-n\fR" 4
.IX Item "-n"
When this option is used, \fBas\fR will issue a warning every
time it generates a nop instruction from a macro.
.PP
The following options are available when as is configured for
an MCore processor.
.IP "\fB\-jsri2bsr\fR" 4
.IX Item "-jsri2bsr"
.PD 0
.IP "\fB\-nojsri2bsr\fR" 4
.IX Item "-nojsri2bsr"
.PD
Enable or disable the \s-1JSRI\s0 to \s-1BSR\s0 transformation.  By default this is enabled.
The command line option \fB\-nojsri2bsr\fR can be used to disable it.
.IP "\fB\-sifilter\fR" 4
.IX Item "-sifilter"
.PD 0
.IP "\fB\-nosifilter\fR" 4
.IX Item "-nosifilter"
.PD
Enable or disable the silicon filter behaviour.  By default this is disabled.
The default can be overridden by the \fB\-sifilter\fR command line option.
.IP "\fB\-relax\fR" 4
.IX Item "-relax"
Alter jump instructions for long displacements.
.IP "\fB\-mcpu=[210|340]\fR" 4
.IX Item "-mcpu=[210|340]"
Select the cpu type on the target hardware.  This controls which instructions
can be assembled.
.IP "\fB\-EB\fR" 4
.IX Item "-EB"
Assemble for a big endian target.
.IP "\fB\-EL\fR" 4
.IX Item "-EL"
Assemble for a little endian target.
.PP
See the info pages for documentation of the MMIX-specific options.
.PP
The following options are available when as is configured for
an Xtensa processor.
.IP "\fB\-\-text\-section\-literals | \-\-no\-text\-section\-literals\fR" 4
.IX Item "--text-section-literals | --no-text-section-literals"
With \fB\-\-text\-section\-literals\fR, literal pools are interspersed
in the text section.  The default is
\&\fB\-\-no\-text\-section\-literals\fR, which places literals in a
separate section in the output file.  These options only affect literals
referenced via PC-relative \f(CW\*(C`L32R\*(C'\fR instructions; literals for
absolute mode \f(CW\*(C`L32R\*(C'\fR instructions are handled separately.
.IP "\fB\-\-absolute\-literals | \-\-no\-absolute\-literals\fR" 4
.IX Item "--absolute-literals | --no-absolute-literals"
Indicate to the assembler whether \f(CW\*(C`L32R\*(C'\fR instructions use absolute
or PC-relative addressing.  The default is to assume absolute addressing
if the Xtensa processor includes the absolute \f(CW\*(C`L32R\*(C'\fR addressing
option.  Otherwise, only the PC-relative \f(CW\*(C`L32R\*(C'\fR mode can be used.
.IP "\fB\-\-target\-align | \-\-no\-target\-align\fR" 4
.IX Item "--target-align | --no-target-align"
Enable or disable automatic alignment to reduce branch penalties at the
expense of some code density.  The default is \fB\-\-target\-align\fR.
.IP "\fB\-\-longcalls | \-\-no\-longcalls\fR" 4
.IX Item "--longcalls | --no-longcalls"
Enable or disable transformation of call instructions to allow calls
across a greater range of addresses.  The default is
\&\fB\-\-no\-longcalls\fR.
.IP "\fB\-\-transform | \-\-no\-transform\fR" 4
.IX Item "--transform | --no-transform"
Enable or disable all assembler transformations of Xtensa instructions.
The default is \fB\-\-transform\fR;
\&\fB\-\-no\-transform\fR should be used only in the rare cases when the
instructions must be exactly as specified in the assembly source.
.PP
The following options are available when as is configured for
a Z80 family processor.
.IP "\fB\-z80\fR" 4
.IX Item "-z80"
Assemble for Z80 processor.
.IP "\fB\-r800\fR" 4
.IX Item "-r800"
Assemble for R800 processor.
.IP "\fB\-ignore\-undocumented\-instructions\fR" 4
.IX Item "-ignore-undocumented-instructions"
.PD 0
.IP "\fB\-Wnud\fR" 4
.IX Item "-Wnud"
.PD
Assemble undocumented Z80 instructions that also work on R800 without warning.
.IP "\fB\-ignore\-unportable\-instructions\fR" 4
.IX Item "-ignore-unportable-instructions"
.PD 0
.IP "\fB\-Wnup\fR" 4
.IX Item "-Wnup"
.PD
Assemble all undocumented Z80 instructions without warning.
.IP "\fB\-warn\-undocumented\-instructions\fR" 4
.IX Item "-warn-undocumented-instructions"
.PD 0
.IP "\fB\-Wud\fR" 4
.IX Item "-Wud"
.PD
Issue a warning for undocumented Z80 instructions that also work on R800.
.IP "\fB\-warn\-unportable\-instructions\fR" 4
.IX Item "-warn-unportable-instructions"
.PD 0
.IP "\fB\-Wup\fR" 4
.IX Item "-Wup"
.PD
Issue a warning for undocumented Z80 instructions that do not work on R800.  
.IP "\fB\-forbid\-undocumented\-instructions\fR" 4
.IX Item "-forbid-undocumented-instructions"
.PD 0
.IP "\fB\-Fud\fR" 4
.IX Item "-Fud"
.PD
Treat all undocumented instructions as errors.
.IP "\fB\-forbid\-unportable\-instructions\fR" 4
.IX Item "-forbid-unportable-instructions"
.PD 0
.IP "\fB\-Fup\fR" 4
.IX Item "-Fup"
.PD
Treat undocumented Z80 instructions that do not work on R800 as errors.
.SH "SEE ALSO"
.IX Header "SEE ALSO"
\&\fIgcc\fR\|(1), \fIld\fR\|(1), and the Info entries for \fIbinutils\fR and \fIld\fR.
.SH "COPYRIGHT"
.IX Header "COPYRIGHT"
Copyright (c) 1991, 92, 93, 94, 95, 96, 97, 98, 99, 2000, 2001, 2002,
2006, 2007 Free Software Foundation, Inc.
.PP
Permission is granted to copy, distribute and/or modify this document
under the terms of the \s-1GNU\s0 Free Documentation License, Version 1.1
or any later version published by the Free Software Foundation;
with no Invariant Sections, with no Front-Cover Texts, and with no
Back-Cover Texts.  A copy of the license is included in the
section entitled \*(L"\s-1GNU\s0 Free Documentation License\*(R".
