Remove binutils 2.17 remains via 'make upgrade'.
[dragonfly.git] / contrib / binutils-2.17 / gas / doc / as.1
1 .\" Automatically generated by Pod::Man v1.37, Pod::Parser v1.32
2 .\"
3 .\" Standard preamble:
4 .\" ========================================================================
5 .de Sh \" Subsection heading
6 .br
7 .if t .Sp
8 .ne 5
9 .PP
10 \fB\\$1\fR
11 .PP
12 ..
13 .de Sp \" Vertical space (when we can't use .PP)
14 .if t .sp .5v
15 .if n .sp
16 ..
17 .de Vb \" Begin verbatim text
18 .ft CW
19 .nf
20 .ne \\$1
21 ..
22 .de Ve \" End verbatim text
23 .ft R
24 .fi
25 ..
26 .\" Set up some character translations and predefined strings.  \*(-- will
27 .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
28 .\" double quote, and \*(R" will give a right double quote.  \*(C+ will
29 .\" give a nicer C++.  Capital omega is used to do unbreakable dashes and
30 .\" therefore won't be available.  \*(C` and \*(C' expand to `' in nroff,
31 .\" nothing in troff, for use with C<>.
32 .tr \(*W-
33 .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
34 .ie n \{\
35 .    ds -- \(*W-
36 .    ds PI pi
37 .    if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
38 .    if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\"  diablo 12 pitch
39 .    ds L" ""
40 .    ds R" ""
41 .    ds C` ""
42 .    ds C' ""
43 'br\}
44 .el\{\
45 .    ds -- \|\(em\|
46 .    ds PI \(*p
47 .    ds L" ``
48 .    ds R" ''
49 'br\}
50 .\"
51 .\" If the F register is turned on, we'll generate index entries on stderr for
52 .\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
53 .\" entries marked with X<> in POD.  Of course, you'll have to process the
54 .\" output yourself in some meaningful fashion.
55 .if \nF \{\
56 .    de IX
57 .    tm Index:\\$1\t\\n%\t"\\$2"
58 ..
59 .    nr % 0
60 .    rr F
61 .\}
62 .\"
63 .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
64 .\" way too many mistakes in technical documents.
65 .hy 0
66 .\"
67 .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
68 .\" Fear.  Run.  Save yourself.  No user-serviceable parts.
69 .    \" fudge factors for nroff and troff
70 .if n \{\
71 .    ds #H 0
72 .    ds #V .8m
73 .    ds #F .3m
74 .    ds #[ \f1
75 .    ds #] \fP
76 .\}
77 .if t \{\
78 .    ds #H ((1u-(\\\\n(.fu%2u))*.13m)
79 .    ds #V .6m
80 .    ds #F 0
81 .    ds #[ \&
82 .    ds #] \&
83 .\}
84 .    \" simple accents for nroff and troff
85 .if n \{\
86 .    ds ' \&
87 .    ds ` \&
88 .    ds ^ \&
89 .    ds , \&
90 .    ds ~ ~
91 .    ds /
92 .\}
93 .if t \{\
94 .    ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
95 .    ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
96 .    ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
97 .    ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
98 .    ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
99 .    ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
100 .\}
101 .    \" troff and (daisy-wheel) nroff accents
102 .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
103 .ds 8 \h'\*(#H'\(*b\h'-\*(#H'
104 .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
105 .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
106 .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
107 .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
108 .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
109 .ds ae a\h'-(\w'a'u*4/10)'e
110 .ds Ae A\h'-(\w'A'u*4/10)'E
111 .    \" corrections for vroff
112 .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
113 .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
114 .    \" for low resolution devices (crt and lpr)
115 .if \n(.H>23 .if \n(.V>19 \
116 \{\
117 .    ds : e
118 .    ds 8 ss
119 .    ds o a
120 .    ds d- d\h'-1'\(ga
121 .    ds D- D\h'-1'\(hy
122 .    ds th \o'bp'
123 .    ds Th \o'LP'
124 .    ds ae ae
125 .    ds Ae AE
126 .\}
127 .rm #[ #] #H #V #F C
128 .\" ========================================================================
129 .\"
130 .IX Title "AS 1"
131 .TH AS 1 "2006-06-23" "binutils-2.17" "GNU Development Tools"
132 .SH "NAME"
133 AS \- the portable GNU assembler.
134 .SH "SYNOPSIS"
135 .IX Header "SYNOPSIS"
136 as [\fB\-a\fR[\fBcdhlns\fR][=\fIfile\fR]] [\fB\-\-alternate\fR] [\fB\-D\fR]
137  [\fB\-\-defsym\fR \fIsym\fR=\fIval\fR] [\fB\-f\fR] [\fB\-g\fR] [\fB\-\-gstabs\fR]
138  [\fB\-\-gstabs+\fR] [\fB\-\-gdwarf\-2\fR] [\fB\-\-help\fR] [\fB\-I\fR \fIdir\fR] [\fB\-J\fR]
139  [\fB\-K\fR] [\fB\-L\fR] [\fB\-\-listing\-lhs\-width\fR=\fI\s-1NUM\s0\fR]
140  [\fB\-\-listing\-lhs\-width2\fR=\fI\s-1NUM\s0\fR] [\fB\-\-listing\-rhs\-width\fR=\fI\s-1NUM\s0\fR]
141  [\fB\-\-listing\-cont\-lines\fR=\fI\s-1NUM\s0\fR] [\fB\-\-keep\-locals\fR] [\fB\-o\fR
142  \fIobjfile\fR] [\fB\-R\fR] [\fB\-\-reduce\-memory\-overheads\fR] [\fB\-\-statistics\fR]
143  [\fB\-v\fR] [\fB\-version\fR] [\fB\-\-version\fR] [\fB\-W\fR] [\fB\-\-warn\fR]
144  [\fB\-\-fatal\-warnings\fR] [\fB\-w\fR] [\fB\-x\fR] [\fB\-Z\fR] [\fB@\fR\fI\s-1FILE\s0\fR]
145  [\fB\-\-target\-help\fR] [\fItarget-options\fR]
146  [\fB\-\-\fR|\fIfiles\fR ...]
147 .PP
148 \&\fITarget Alpha options:\fR
149    [\fB\-m\fR\fIcpu\fR]
150    [\fB\-mdebug\fR | \fB\-no\-mdebug\fR]
151    [\fB\-relax\fR] [\fB\-g\fR] [\fB\-G\fR\fIsize\fR]
152    [\fB\-F\fR] [\fB\-32addr\fR]
153 .PP
154 \&\fITarget \s-1ARC\s0 options:\fR
155    [\fB\-marc[5|6|7|8]\fR]
156    [\fB\-EB\fR|\fB\-EL\fR]
157 .PP
158 \&\fITarget \s-1ARM\s0 options:\fR
159    [\fB\-mcpu\fR=\fIprocessor\fR[+\fIextension\fR...]]
160    [\fB\-march\fR=\fIarchitecture\fR[+\fIextension\fR...]]
161    [\fB\-mfpu\fR=\fIfloating-point-format\fR]
162    [\fB\-mfloat\-abi\fR=\fIabi\fR]
163    [\fB\-meabi\fR=\fIver\fR]
164    [\fB\-mthumb\fR]
165    [\fB\-EB\fR|\fB\-EL\fR]
166    [\fB\-mapcs\-32\fR|\fB\-mapcs\-26\fR|\fB\-mapcs\-float\fR|
167     \fB\-mapcs\-reentrant\fR]
168    [\fB\-mthumb\-interwork\fR] [\fB\-k\fR]
169 .PP
170 \&\fITarget \s-1CRIS\s0 options:\fR
171    [\fB\-\-underscore\fR | \fB\-\-no\-underscore\fR]
172    [\fB\-\-pic\fR] [\fB\-N\fR]
173    [\fB\-\-emulation=criself\fR | \fB\-\-emulation=crisaout\fR]
174    [\fB\-\-march=v0_v10\fR | \fB\-\-march=v10\fR | \fB\-\-march=v32\fR | \fB\-\-march=common_v10_v32\fR]
175 .PP
176 \&\fITarget D10V options:\fR
177    [\fB\-O\fR]
178 .PP
179 \&\fITarget D30V options:\fR
180    [\fB\-O\fR|\fB\-n\fR|\fB\-N\fR]
181 .PP
182 \&\fITarget i386 options:\fR
183    [\fB\-\-32\fR|\fB\-\-64\fR] [\fB\-n\fR]
184 .PP
185 \&\fITarget i960 options:\fR
186    [\fB\-ACA\fR|\fB\-ACA_A\fR|\fB\-ACB\fR|\fB\-ACC\fR|\fB\-AKA\fR|\fB\-AKB\fR|
187     \fB\-AKC\fR|\fB\-AMC\fR]
188    [\fB\-b\fR] [\fB\-no\-relax\fR]
189 .PP
190 \&\fITarget \s-1IA\-64\s0 options:\fR
191    [\fB\-mconstant\-gp\fR|\fB\-mauto\-pic\fR]
192    [\fB\-milp32\fR|\fB\-milp64\fR|\fB\-mlp64\fR|\fB\-mp64\fR]
193    [\fB\-mle\fR|\fBmbe\fR]
194    [\fB\-mtune=itanium1\fR|\fB\-mtune=itanium2\fR]
195    [\fB\-munwind\-check=warning\fR|\fB\-munwind\-check=error\fR]
196    [\fB\-mhint.b=ok\fR|\fB\-mhint.b=warning\fR|\fB\-mhint.b=error\fR]
197    [\fB\-x\fR|\fB\-xexplicit\fR] [\fB\-xauto\fR] [\fB\-xdebug\fR]
198 .PP
199 \&\fITarget \s-1IP2K\s0 options:\fR
200    [\fB\-mip2022\fR|\fB\-mip2022ext\fR]
201 .PP
202 \&\fITarget M32C options:\fR
203    [\fB\-m32c\fR|\fB\-m16c\fR]
204 .PP
205 \&\fITarget M32R options:\fR
206    [\fB\-\-m32rx\fR|\fB\-\-[no\-]warn\-explicit\-parallel\-conflicts\fR|
207    \fB\-\-W[n]p\fR]
208 .PP
209 \&\fITarget M680X0 options:\fR
210    [\fB\-l\fR] [\fB\-m68000\fR|\fB\-m68010\fR|\fB\-m68020\fR|...]
211 .PP
212 \&\fITarget M68HC11 options:\fR
213    [\fB\-m68hc11\fR|\fB\-m68hc12\fR|\fB\-m68hcs12\fR]
214    [\fB\-mshort\fR|\fB\-mlong\fR]
215    [\fB\-mshort\-double\fR|\fB\-mlong\-double\fR]
216    [\fB\-\-force\-long\-branchs\fR] [\fB\-\-short\-branchs\fR]
217    [\fB\-\-strict\-direct\-mode\fR] [\fB\-\-print\-insn\-syntax\fR]
218    [\fB\-\-print\-opcodes\fR] [\fB\-\-generate\-example\fR]
219 .PP
220 \&\fITarget \s-1MCORE\s0 options:\fR
221    [\fB\-jsri2bsr\fR] [\fB\-sifilter\fR] [\fB\-relax\fR]
222    [\fB\-mcpu=[210|340]\fR]
223 .PP
224 \&\fITarget \s-1MIPS\s0 options:\fR
225    [\fB\-nocpp\fR] [\fB\-EL\fR] [\fB\-EB\fR] [\fB\-O\fR[\fIoptimization level\fR]]
226    [\fB\-g\fR[\fIdebug level\fR]] [\fB\-G\fR \fInum\fR] [\fB\-KPIC\fR] [\fB\-call_shared\fR]
227    [\fB\-non_shared\fR] [\fB\-xgot\fR]
228    [\fB\-mabi\fR=\fI\s-1ABI\s0\fR] [\fB\-32\fR] [\fB\-n32\fR] [\fB\-64\fR] [\fB\-mfp32\fR] [\fB\-mgp32\fR]
229    [\fB\-march\fR=\fI\s-1CPU\s0\fR] [\fB\-mtune\fR=\fI\s-1CPU\s0\fR] [\fB\-mips1\fR] [\fB\-mips2\fR]
230    [\fB\-mips3\fR] [\fB\-mips4\fR] [\fB\-mips5\fR] [\fB\-mips32\fR] [\fB\-mips32r2\fR]
231    [\fB\-mips64\fR] [\fB\-mips64r2\fR]
232    [\fB\-construct\-floats\fR] [\fB\-no\-construct\-floats\fR]
233    [\fB\-trap\fR] [\fB\-no\-break\fR] [\fB\-break\fR] [\fB\-no\-trap\fR]
234    [\fB\-mfix7000\fR] [\fB\-mno\-fix7000\fR]
235    [\fB\-mips16\fR] [\fB\-no\-mips16\fR]
236    [\fB\-mips3d\fR] [\fB\-no\-mips3d\fR]
237    [\fB\-mdmx\fR] [\fB\-no\-mdmx\fR]
238    [\fB\-mdsp\fR] [\fB\-mno\-dsp\fR]
239    [\fB\-mmt\fR] [\fB\-mno\-mt\fR]
240    [\fB\-mdebug\fR] [\fB\-no\-mdebug\fR]
241    [\fB\-mpdr\fR] [\fB\-mno\-pdr\fR]
242 .PP
243 \&\fITarget \s-1MMIX\s0 options:\fR
244    [\fB\-\-fixed\-special\-register\-names\fR] [\fB\-\-globalize\-symbols\fR]
245    [\fB\-\-gnu\-syntax\fR] [\fB\-\-relax\fR] [\fB\-\-no\-predefined\-symbols\fR]
246    [\fB\-\-no\-expand\fR] [\fB\-\-no\-merge\-gregs\fR] [\fB\-x\fR]
247    [\fB\-\-linker\-allocated\-gregs\fR]
248 .PP
249 \&\fITarget \s-1PDP11\s0 options:\fR
250    [\fB\-mpic\fR|\fB\-mno\-pic\fR] [\fB\-mall\fR] [\fB\-mno\-extensions\fR]
251    [\fB\-m\fR\fIextension\fR|\fB\-mno\-\fR\fIextension\fR]
252    [\fB\-m\fR\fIcpu\fR] [\fB\-m\fR\fImachine\fR]  
253 .PP
254 \&\fITarget picoJava options:\fR
255    [\fB\-mb\fR|\fB\-me\fR]
256 .PP
257 \&\fITarget PowerPC options:\fR
258    [\fB\-mpwrx\fR|\fB\-mpwr2\fR|\fB\-mpwr\fR|\fB\-m601\fR|\fB\-mppc\fR|\fB\-mppc32\fR|\fB\-m603\fR|\fB\-m604\fR|
259     \fB\-m403\fR|\fB\-m405\fR|\fB\-mppc64\fR|\fB\-m620\fR|\fB\-mppc64bridge\fR|\fB\-mbooke\fR|
260     \fB\-mbooke32\fR|\fB\-mbooke64\fR]
261    [\fB\-mcom\fR|\fB\-many\fR|\fB\-maltivec\fR] [\fB\-memb\fR]
262    [\fB\-mregnames\fR|\fB\-mno\-regnames\fR]
263    [\fB\-mrelocatable\fR|\fB\-mrelocatable\-lib\fR]
264    [\fB\-mlittle\fR|\fB\-mlittle\-endian\fR|\fB\-mbig\fR|\fB\-mbig\-endian\fR]
265    [\fB\-msolaris\fR|\fB\-mno\-solaris\fR]
266 .PP
267 \&\fITarget \s-1SPARC\s0 options:\fR
268    [\fB\-Av6\fR|\fB\-Av7\fR|\fB\-Av8\fR|\fB\-Asparclet\fR|\fB\-Asparclite\fR
269     \fB\-Av8plus\fR|\fB\-Av8plusa\fR|\fB\-Av9\fR|\fB\-Av9a\fR]
270    [\fB\-xarch=v8plus\fR|\fB\-xarch=v8plusa\fR] [\fB\-bump\fR]
271    [\fB\-32\fR|\fB\-64\fR]
272 .PP
273 \&\fITarget \s-1TIC54X\s0 options:\fR
274  [\fB\-mcpu=54[123589]\fR|\fB\-mcpu=54[56]lp\fR] [\fB\-mfar\-mode\fR|\fB\-mf\fR] 
275  [\fB\-merrors\-to\-file\fR \fI<filename>\fR|\fB\-me\fR \fI<filename>\fR]
276 .PP
277 \&\fITarget Z80 options:\fR
278   [\fB\-z80\fR] [\fB\-r800\fR]
279   [ \fB\-ignore\-undocumented\-instructions\fR] [\fB\-Wnud\fR]
280   [ \fB\-ignore\-unportable\-instructions\fR] [\fB\-Wnup\fR]
281   [ \fB\-warn\-undocumented\-instructions\fR] [\fB\-Wud\fR]
282   [ \fB\-warn\-unportable\-instructions\fR] [\fB\-Wup\fR]
283   [ \fB\-forbid\-undocumented\-instructions\fR] [\fB\-Fud\fR]
284   [ \fB\-forbid\-unportable\-instructions\fR] [\fB\-Fup\fR]
285 .PP
286 \&\fITarget Xtensa options:\fR
287  [\fB\-\-[no\-]text\-section\-literals\fR] [\fB\-\-[no\-]absolute\-literals\fR]
288  [\fB\-\-[no\-]target\-align\fR] [\fB\-\-[no\-]longcalls\fR]
289  [\fB\-\-[no\-]transform\fR]
290  [\fB\-\-rename\-section\fR \fIoldname\fR=\fInewname\fR]
291 .SH "DESCRIPTION"
292 .IX Header "DESCRIPTION"
293 \&\s-1GNU\s0 \fBas\fR is really a family of assemblers.
294 If you use (or have used) the \s-1GNU\s0 assembler on one architecture, you
295 should find a fairly similar environment when you use it on another
296 architecture.  Each version has much in common with the others,
297 including object file formats, most assembler directives (often called
298 \&\fIpseudo-ops\fR) and assembler syntax.
299 .PP
300 \&\fBas\fR is primarily intended to assemble the output of the
301 \&\s-1GNU\s0 C compiler \f(CW\*(C`gcc\*(C'\fR for use by the linker
302 \&\f(CW\*(C`ld\*(C'\fR.  Nevertheless, we've tried to make \fBas\fR
303 assemble correctly everything that other assemblers for the same
304 machine would assemble.
305 Any exceptions are documented explicitly.
306 This doesn't mean \fBas\fR always uses the same syntax as another
307 assembler for the same architecture; for example, we know of several
308 incompatible versions of 680x0 assembly language syntax.
309 .PP
310 Each time you run \fBas\fR it assembles exactly one source
311 program.  The source program is made up of one or more files.
312 (The standard input is also a file.)
313 .PP
314 You give \fBas\fR a command line that has zero or more input file
315 names.  The input files are read (from left file name to right).  A
316 command line argument (in any position) that has no special meaning
317 is taken to be an input file name.
318 .PP
319 If you give \fBas\fR no file names it attempts to read one input file
320 from the \fBas\fR standard input, which is normally your terminal.  You
321 may have to type \fBctl-D\fR to tell \fBas\fR there is no more program
322 to assemble.
323 .PP
324 Use \fB\-\-\fR if you need to explicitly name the standard input file
325 in your command line.
326 .PP
327 If the source is empty, \fBas\fR produces a small, empty object
328 file.
329 .PP
330 \&\fBas\fR may write warnings and error messages to the standard error
331 file (usually your terminal).  This should not happen when  a compiler
332 runs \fBas\fR automatically.  Warnings report an assumption made so
333 that \fBas\fR could keep assembling a flawed program; errors report a
334 grave problem that stops the assembly.
335 .PP
336 If you are invoking \fBas\fR via the \s-1GNU\s0 C compiler,
337 you can use the \fB\-Wa\fR option to pass arguments through to the assembler.
338 The assembler arguments must be separated from each other (and the \fB\-Wa\fR)
339 by commas.  For example:
340 .PP
341 .Vb 1
342 \&        gcc \-c \-g \-O \-Wa,\-alh,\-L file.c
343 .Ve
344 .PP
345 This passes two options to the assembler: \fB\-alh\fR (emit a listing to
346 standard output with high-level and assembly source) and \fB\-L\fR (retain
347 local symbols in the symbol table).
348 .PP
349 Usually you do not need to use this \fB\-Wa\fR mechanism, since many compiler
350 command-line options are automatically passed to the assembler by the compiler.
351 (You can call the \s-1GNU\s0 compiler driver with the \fB\-v\fR option to see
352 precisely what options it passes to each compilation pass, including the
353 assembler.)
354 .SH "OPTIONS"
355 .IX Header "OPTIONS"
356 .IP "\fB@\fR\fIfile\fR" 4
357 .IX Item "@file"
358 Read command-line options from \fIfile\fR.  The options read are
359 inserted in place of the original @\fIfile\fR option.  If \fIfile\fR
360 does not exist, or cannot be read, then the option will be treated
361 literally, and not removed.  
362 .Sp
363 Options in \fIfile\fR are separated by whitespace.  A whitespace
364 character may be included in an option by surrounding the entire
365 option in either single or double quotes.  Any character (including a
366 backslash) may be included by prefixing the character to be included
367 with a backslash.  The \fIfile\fR may itself contain additional
368 @\fIfile\fR options; any such options will be processed recursively.
369 .IP "\fB\-a[cdhlmns]\fR" 4
370 .IX Item "-a[cdhlmns]"
371 Turn on listings, in any of a variety of ways:
372 .RS 4
373 .IP "\fB\-ac\fR" 4
374 .IX Item "-ac"
375 omit false conditionals
376 .IP "\fB\-ad\fR" 4
377 .IX Item "-ad"
378 omit debugging directives
379 .IP "\fB\-ah\fR" 4
380 .IX Item "-ah"
381 include high-level source
382 .IP "\fB\-al\fR" 4
383 .IX Item "-al"
384 include assembly
385 .IP "\fB\-am\fR" 4
386 .IX Item "-am"
387 include macro expansions
388 .IP "\fB\-an\fR" 4
389 .IX Item "-an"
390 omit forms processing
391 .IP "\fB\-as\fR" 4
392 .IX Item "-as"
393 include symbols
394 .IP "\fB=file\fR" 4
395 .IX Item "=file"
396 set the name of the listing file
397 .RE
398 .RS 4
399 .Sp
400 You may combine these options; for example, use \fB\-aln\fR for assembly
401 listing without forms processing.  The \fB=file\fR option, if used, must be
402 the last one.  By itself, \fB\-a\fR defaults to \fB\-ahls\fR.
403 .RE
404 .IP "\fB\-\-alternate\fR" 4
405 .IX Item "--alternate"
406 Begin in alternate macro mode, see \fBAltmacro,,\f(CB\*(C`.altmacro\*(C'\fB\fR.
407 .IP "\fB\-D\fR" 4
408 .IX Item "-D"
409 Ignored.  This option is accepted for script compatibility with calls to
410 other assemblers.
411 .IP "\fB\-\-defsym\fR \fIsym\fR\fB=\fR\fIvalue\fR" 4
412 .IX Item "--defsym sym=value"
413 Define the symbol \fIsym\fR to be \fIvalue\fR before assembling the input file.
414 \&\fIvalue\fR must be an integer constant.  As in C, a leading \fB0x\fR
415 indicates a hexadecimal value, and a leading \fB0\fR indicates an octal value.
416 .IP "\fB\-f\fR" 4
417 .IX Item "-f"
418 \&\*(L"fast\*(R"\-\-\-skip whitespace and comment preprocessing (assume source is
419 compiler output).
420 .IP "\fB\-g\fR" 4
421 .IX Item "-g"
422 .PD 0
423 .IP "\fB\-\-gen\-debug\fR" 4
424 .IX Item "--gen-debug"
425 .PD
426 Generate debugging information for each assembler source line using whichever
427 debug format is preferred by the target.  This currently means either \s-1STABS\s0,
428 \&\s-1ECOFF\s0 or \s-1DWARF2\s0.
429 .IP "\fB\-\-gstabs\fR" 4
430 .IX Item "--gstabs"
431 Generate stabs debugging information for each assembler line.  This
432 may help debugging assembler code, if the debugger can handle it.
433 .IP "\fB\-\-gstabs+\fR" 4
434 .IX Item "--gstabs+"
435 Generate stabs debugging information for each assembler line, with \s-1GNU\s0
436 extensions that probably only gdb can handle, and that could make other
437 debuggers crash or refuse to read your program.  This
438 may help debugging assembler code.  Currently the only \s-1GNU\s0 extension is
439 the location of the current working directory at assembling time.
440 .IP "\fB\-\-gdwarf\-2\fR" 4
441 .IX Item "--gdwarf-2"
442 Generate \s-1DWARF2\s0 debugging information for each assembler line.  This
443 may help debugging assembler code, if the debugger can handle it.  Note\-\-\-this
444 option is only supported by some targets, not all of them.
445 .IP "\fB\-\-help\fR" 4
446 .IX Item "--help"
447 Print a summary of the command line options and exit.
448 .IP "\fB\-\-target\-help\fR" 4
449 .IX Item "--target-help"
450 Print a summary of all target specific options and exit.
451 .IP "\fB\-I\fR \fIdir\fR" 4
452 .IX Item "-I dir"
453 Add directory \fIdir\fR to the search list for \f(CW\*(C`.include\*(C'\fR directives.
454 .IP "\fB\-J\fR" 4
455 .IX Item "-J"
456 Don't warn about signed overflow.
457 .IP "\fB\-K\fR" 4
458 .IX Item "-K"
459 Issue warnings when difference tables altered for long displacements.
460 .IP "\fB\-L\fR" 4
461 .IX Item "-L"
462 .PD 0
463 .IP "\fB\-\-keep\-locals\fR" 4
464 .IX Item "--keep-locals"
465 .PD
466 Keep (in the symbol table) local symbols.  On traditional a.out systems
467 these start with \fBL\fR, but different systems have different local
468 label prefixes.
469 .IP "\fB\-\-listing\-lhs\-width=\fR\fInumber\fR" 4
470 .IX Item "--listing-lhs-width=number"
471 Set the maximum width, in words, of the output data column for an assembler
472 listing to \fInumber\fR.
473 .IP "\fB\-\-listing\-lhs\-width2=\fR\fInumber\fR" 4
474 .IX Item "--listing-lhs-width2=number"
475 Set the maximum width, in words, of the output data column for continuation
476 lines in an assembler listing to \fInumber\fR.
477 .IP "\fB\-\-listing\-rhs\-width=\fR\fInumber\fR" 4
478 .IX Item "--listing-rhs-width=number"
479 Set the maximum width of an input source line, as displayed in a listing, to
480 \&\fInumber\fR bytes.
481 .IP "\fB\-\-listing\-cont\-lines=\fR\fInumber\fR" 4
482 .IX Item "--listing-cont-lines=number"
483 Set the maximum number of lines printed in a listing for a single line of input
484 to \fInumber\fR + 1.
485 .IP "\fB\-o\fR \fIobjfile\fR" 4
486 .IX Item "-o objfile"
487 Name the object-file output from \fBas\fR \fIobjfile\fR.
488 .IP "\fB\-R\fR" 4
489 .IX Item "-R"
490 Fold the data section into the text section.
491 .Sp
492 Set the default size of \s-1GAS\s0's hash tables to a prime number close to
493 \&\fInumber\fR.  Increasing this value can reduce the length of time it takes the
494 assembler to perform its tasks, at the expense of increasing the assembler's
495 memory requirements.  Similarly reducing this value can reduce the memory
496 requirements at the expense of speed.
497 .IP "\fB\-\-reduce\-memory\-overheads\fR" 4
498 .IX Item "--reduce-memory-overheads"
499 This option reduces \s-1GAS\s0's memory requirements, at the expense of making the
500 assembly processes slower.  Currently this switch is a synonym for
501 \&\fB\-\-hash\-size=4051\fR, but in the future it may have other effects as well.
502 .IP "\fB\-\-statistics\fR" 4
503 .IX Item "--statistics"
504 Print the maximum space (in bytes) and total time (in seconds) used by
505 assembly.
506 .IP "\fB\-\-strip\-local\-absolute\fR" 4
507 .IX Item "--strip-local-absolute"
508 Remove local absolute symbols from the outgoing symbol table.
509 .IP "\fB\-v\fR" 4
510 .IX Item "-v"
511 .PD 0
512 .IP "\fB\-version\fR" 4
513 .IX Item "-version"
514 .PD
515 Print the \fBas\fR version.
516 .IP "\fB\-\-version\fR" 4
517 .IX Item "--version"
518 Print the \fBas\fR version and exit.
519 .IP "\fB\-W\fR" 4
520 .IX Item "-W"
521 .PD 0
522 .IP "\fB\-\-no\-warn\fR" 4
523 .IX Item "--no-warn"
524 .PD
525 Suppress warning messages.
526 .IP "\fB\-\-fatal\-warnings\fR" 4
527 .IX Item "--fatal-warnings"
528 Treat warnings as errors.
529 .IP "\fB\-\-warn\fR" 4
530 .IX Item "--warn"
531 Don't suppress warning messages or treat them as errors.
532 .IP "\fB\-w\fR" 4
533 .IX Item "-w"
534 Ignored.
535 .IP "\fB\-x\fR" 4
536 .IX Item "-x"
537 Ignored.
538 .IP "\fB\-Z\fR" 4
539 .IX Item "-Z"
540 Generate an object file even after errors.
541 .IP "\fB\-\- |\fR \fIfiles\fR \fB...\fR" 4
542 .IX Item "-- | files ..."
543 Standard input, or source files to assemble.
544 .PP
545 The following options are available when as is configured for
546 an \s-1ARC\s0 processor.
547 .IP "\fB\-marc[5|6|7|8]\fR" 4
548 .IX Item "-marc[5|6|7|8]"
549 This option selects the core processor variant.
550 .IP "\fB\-EB | \-EL\fR" 4
551 .IX Item "-EB | -EL"
552 Select either big-endian (\-EB) or little-endian (\-EL) output.
553 .PP
554 The following options are available when as is configured for the \s-1ARM\s0
555 processor family.
556 .IP "\fB\-mcpu=\fR\fIprocessor\fR\fB[+\fR\fIextension\fR\fB...]\fR" 4
557 .IX Item "-mcpu=processor[+extension...]"
558 Specify which \s-1ARM\s0 processor variant is the target.
559 .IP "\fB\-march=\fR\fIarchitecture\fR\fB[+\fR\fIextension\fR\fB...]\fR" 4
560 .IX Item "-march=architecture[+extension...]"
561 Specify which \s-1ARM\s0 architecture variant is used by the target.
562 .IP "\fB\-mfpu=\fR\fIfloating-point-format\fR" 4
563 .IX Item "-mfpu=floating-point-format"
564 Select which Floating Point architecture is the target.
565 .IP "\fB\-mfloat\-abi=\fR\fIabi\fR" 4
566 .IX Item "-mfloat-abi=abi"
567 Select which floating point \s-1ABI\s0 is in use.
568 .IP "\fB\-mthumb\fR" 4
569 .IX Item "-mthumb"
570 Enable Thumb only instruction decoding.
571 .IP "\fB\-mapcs\-32 | \-mapcs\-26 | \-mapcs\-float | \-mapcs\-reentrant\fR" 4
572 .IX Item "-mapcs-32 | -mapcs-26 | -mapcs-float | -mapcs-reentrant"
573 Select which procedure calling convention is in use.
574 .IP "\fB\-EB | \-EL\fR" 4
575 .IX Item "-EB | -EL"
576 Select either big-endian (\-EB) or little-endian (\-EL) output.
577 .IP "\fB\-mthumb\-interwork\fR" 4
578 .IX Item "-mthumb-interwork"
579 Specify that the code has been generated with interworking between Thumb and
580 \&\s-1ARM\s0 code in mind.
581 .IP "\fB\-k\fR" 4
582 .IX Item "-k"
583 Specify that \s-1PIC\s0 code has been generated.
584 .PP
585 See the info pages for documentation of the CRIS-specific options.
586 .PP
587 The following options are available when as is configured for
588 a D10V processor.
589 .IP "\fB\-O\fR" 4
590 .IX Item "-O"
591 Optimize output by parallelizing instructions.
592 .PP
593 The following options are available when as is configured for a D30V
594 processor.
595 .IP "\fB\-O\fR" 4
596 .IX Item "-O"
597 Optimize output by parallelizing instructions.
598 .IP "\fB\-n\fR" 4
599 .IX Item "-n"
600 Warn when nops are generated.
601 .IP "\fB\-N\fR" 4
602 .IX Item "-N"
603 Warn when a nop after a 32\-bit multiply instruction is generated.
604 .PP
605 The following options are available when as is configured for the
606 Intel 80960 processor.
607 .IP "\fB\-ACA | \-ACA_A | \-ACB | \-ACC | \-AKA | \-AKB | \-AKC | \-AMC\fR" 4
608 .IX Item "-ACA | -ACA_A | -ACB | -ACC | -AKA | -AKB | -AKC | -AMC"
609 Specify which variant of the 960 architecture is the target.
610 .IP "\fB\-b\fR" 4
611 .IX Item "-b"
612 Add code to collect statistics about branches taken.
613 .IP "\fB\-no\-relax\fR" 4
614 .IX Item "-no-relax"
615 Do not alter compare-and-branch instructions for long displacements;
616 error if necessary.
617 .PP
618 The following options are available when as is configured for the
619 Ubicom \s-1IP2K\s0 series.
620 .IP "\fB\-mip2022ext\fR" 4
621 .IX Item "-mip2022ext"
622 Specifies that the extended \s-1IP2022\s0 instructions are allowed.
623 .IP "\fB\-mip2022\fR" 4
624 .IX Item "-mip2022"
625 Restores the default behaviour, which restricts the permitted instructions to
626 just the basic \s-1IP2022\s0 ones.
627 .PP
628 The following options are available when as is configured for the
629 Renesas M32C and M16C processors.
630 .IP "\fB\-m32c\fR" 4
631 .IX Item "-m32c"
632 Assemble M32C instructions.
633 .IP "\fB\-m16c\fR" 4
634 .IX Item "-m16c"
635 Assemble M16C instructions (the default).
636 .PP
637 The following options are available when as is configured for the
638 Renesas M32R (formerly Mitsubishi M32R) series.
639 .IP "\fB\-\-m32rx\fR" 4
640 .IX Item "--m32rx"
641 Specify which processor in the M32R family is the target.  The default
642 is normally the M32R, but this option changes it to the M32RX.
643 .IP "\fB\-\-warn\-explicit\-parallel\-conflicts or \-\-Wp\fR" 4
644 .IX Item "--warn-explicit-parallel-conflicts or --Wp"
645 Produce warning messages when questionable parallel constructs are
646 encountered. 
647 .IP "\fB\-\-no\-warn\-explicit\-parallel\-conflicts or \-\-Wnp\fR" 4
648 .IX Item "--no-warn-explicit-parallel-conflicts or --Wnp"
649 Do not produce warning messages when questionable parallel constructs are 
650 encountered. 
651 .PP
652 The following options are available when as is configured for the
653 Motorola 68000 series.
654 .IP "\fB\-l\fR" 4
655 .IX Item "-l"
656 Shorten references to undefined symbols, to one word instead of two.
657 .IP "\fB\-m68000 | \-m68008 | \-m68010 | \-m68020 | \-m68030\fR" 4
658 .IX Item "-m68000 | -m68008 | -m68010 | -m68020 | -m68030"
659 .PD 0
660 .IP "\fB| \-m68040 | \-m68060 | \-m68302 | \-m68331 | \-m68332\fR" 4
661 .IX Item "| -m68040 | -m68060 | -m68302 | -m68331 | -m68332"
662 .IP "\fB| \-m68333 | \-m68340 | \-mcpu32 | \-m5200\fR" 4
663 .IX Item "| -m68333 | -m68340 | -mcpu32 | -m5200"
664 .PD
665 Specify what processor in the 68000 family is the target.  The default
666 is normally the 68020, but this can be changed at configuration time.
667 .IP "\fB\-m68881 | \-m68882 | \-mno\-68881 | \-mno\-68882\fR" 4
668 .IX Item "-m68881 | -m68882 | -mno-68881 | -mno-68882"
669 The target machine does (or does not) have a floating-point coprocessor.
670 The default is to assume a coprocessor for 68020, 68030, and cpu32.  Although
671 the basic 68000 is not compatible with the 68881, a combination of the
672 two can be specified, since it's possible to do emulation of the
673 coprocessor instructions with the main processor.
674 .IP "\fB\-m68851 | \-mno\-68851\fR" 4
675 .IX Item "-m68851 | -mno-68851"
676 The target machine does (or does not) have a memory-management
677 unit coprocessor.  The default is to assume an \s-1MMU\s0 for 68020 and up.
678 .PP
679 For details about the \s-1PDP\-11\s0 machine dependent features options,
680 see \fBPDP\-11\-Options\fR.
681 .IP "\fB\-mpic | \-mno\-pic\fR" 4
682 .IX Item "-mpic | -mno-pic"
683 Generate position-independent (or position\-dependent) code.  The
684 default is \fB\-mpic\fR.
685 .IP "\fB\-mall\fR" 4
686 .IX Item "-mall"
687 .PD 0
688 .IP "\fB\-mall\-extensions\fR" 4
689 .IX Item "-mall-extensions"
690 .PD
691 Enable all instruction set extensions.  This is the default.
692 .IP "\fB\-mno\-extensions\fR" 4
693 .IX Item "-mno-extensions"
694 Disable all instruction set extensions.
695 .IP "\fB\-m\fR\fIextension\fR \fB| \-mno\-\fR\fIextension\fR" 4
696 .IX Item "-mextension | -mno-extension"
697 Enable (or disable) a particular instruction set extension.
698 .IP "\fB\-m\fR\fIcpu\fR" 4
699 .IX Item "-mcpu"
700 Enable the instruction set extensions supported by a particular \s-1CPU\s0, and
701 disable all other extensions.
702 .IP "\fB\-m\fR\fImachine\fR" 4
703 .IX Item "-mmachine"
704 Enable the instruction set extensions supported by a particular machine
705 model, and disable all other extensions.
706 .PP
707 The following options are available when as is configured for
708 a picoJava processor.
709 .IP "\fB\-mb\fR" 4
710 .IX Item "-mb"
711 Generate \*(L"big endian\*(R" format output.
712 .IP "\fB\-ml\fR" 4
713 .IX Item "-ml"
714 Generate \*(L"little endian\*(R" format output.
715 .PP
716 The following options are available when as is configured for the
717 Motorola 68HC11 or 68HC12 series.
718 .IP "\fB\-m68hc11 | \-m68hc12 | \-m68hcs12\fR" 4
719 .IX Item "-m68hc11 | -m68hc12 | -m68hcs12"
720 Specify what processor is the target.  The default is
721 defined by the configuration option when building the assembler.
722 .IP "\fB\-mshort\fR" 4
723 .IX Item "-mshort"
724 Specify to use the 16\-bit integer \s-1ABI\s0.
725 .IP "\fB\-mlong\fR" 4
726 .IX Item "-mlong"
727 Specify to use the 32\-bit integer \s-1ABI\s0.  
728 .IP "\fB\-mshort\-double\fR" 4
729 .IX Item "-mshort-double"
730 Specify to use the 32\-bit double \s-1ABI\s0.  
731 .IP "\fB\-mlong\-double\fR" 4
732 .IX Item "-mlong-double"
733 Specify to use the 64\-bit double \s-1ABI\s0.  
734 .IP "\fB\-\-force\-long\-branchs\fR" 4
735 .IX Item "--force-long-branchs"
736 Relative branches are turned into absolute ones. This concerns
737 conditional branches, unconditional branches and branches to a
738 sub routine.
739 .IP "\fB\-S | \-\-short\-branchs\fR" 4
740 .IX Item "-S | --short-branchs"
741 Do not turn relative branchs into absolute ones
742 when the offset is out of range.
743 .IP "\fB\-\-strict\-direct\-mode\fR" 4
744 .IX Item "--strict-direct-mode"
745 Do not turn the direct addressing mode into extended addressing mode
746 when the instruction does not support direct addressing mode.
747 .IP "\fB\-\-print\-insn\-syntax\fR" 4
748 .IX Item "--print-insn-syntax"
749 Print the syntax of instruction in case of error.
750 .IP "\fB\-\-print\-opcodes\fR" 4
751 .IX Item "--print-opcodes"
752 print the list of instructions with syntax and then exit.
753 .IP "\fB\-\-generate\-example\fR" 4
754 .IX Item "--generate-example"
755 print an example of instruction for each possible instruction and then exit.
756 This option is only useful for testing \fBas\fR.
757 .PP
758 The following options are available when \fBas\fR is configured
759 for the \s-1SPARC\s0 architecture:
760 .IP "\fB\-Av6 | \-Av7 | \-Av8 | \-Asparclet | \-Asparclite\fR" 4
761 .IX Item "-Av6 | -Av7 | -Av8 | -Asparclet | -Asparclite"
762 .PD 0
763 .IP "\fB\-Av8plus | \-Av8plusa | \-Av9 | \-Av9a\fR" 4
764 .IX Item "-Av8plus | -Av8plusa | -Av9 | -Av9a"
765 .PD
766 Explicitly select a variant of the \s-1SPARC\s0 architecture.
767 .Sp
768 \&\fB\-Av8plus\fR and \fB\-Av8plusa\fR select a 32 bit environment.
769 \&\fB\-Av9\fR and \fB\-Av9a\fR select a 64 bit environment.
770 .Sp
771 \&\fB\-Av8plusa\fR and \fB\-Av9a\fR enable the \s-1SPARC\s0 V9 instruction set with
772 UltraSPARC extensions.
773 .IP "\fB\-xarch=v8plus | \-xarch=v8plusa\fR" 4
774 .IX Item "-xarch=v8plus | -xarch=v8plusa"
775 For compatibility with the Solaris v9 assembler.  These options are
776 equivalent to \-Av8plus and \-Av8plusa, respectively.
777 .IP "\fB\-bump\fR" 4
778 .IX Item "-bump"
779 Warn when the assembler switches to another architecture.
780 .PP
781 The following options are available when as is configured for the 'c54x
782 architecture. 
783 .IP "\fB\-mfar\-mode\fR" 4
784 .IX Item "-mfar-mode"
785 Enable extended addressing mode.  All addresses and relocations will assume
786 extended addressing (usually 23 bits).
787 .IP "\fB\-mcpu=\fR\fI\s-1CPU_VERSION\s0\fR" 4
788 .IX Item "-mcpu=CPU_VERSION"
789 Sets the \s-1CPU\s0 version being compiled for.
790 .IP "\fB\-merrors\-to\-file\fR \fI\s-1FILENAME\s0\fR" 4
791 .IX Item "-merrors-to-file FILENAME"
792 Redirect error output to a file, for broken systems which don't support such
793 behaviour in the shell.
794 .PP
795 The following options are available when as is configured for
796 a \s-1MIPS\s0 processor.
797 .IP "\fB\-G\fR \fInum\fR" 4
798 .IX Item "-G num"
799 This option sets the largest size of an object that can be referenced
800 implicitly with the \f(CW\*(C`gp\*(C'\fR register.  It is only accepted for targets that
801 use \s-1ECOFF\s0 format, such as a DECstation running Ultrix.  The default value is 8.
802 .IP "\fB\-EB\fR" 4
803 .IX Item "-EB"
804 Generate \*(L"big endian\*(R" format output.
805 .IP "\fB\-EL\fR" 4
806 .IX Item "-EL"
807 Generate \*(L"little endian\*(R" format output.
808 .IP "\fB\-mips1\fR" 4
809 .IX Item "-mips1"
810 .PD 0
811 .IP "\fB\-mips2\fR" 4
812 .IX Item "-mips2"
813 .IP "\fB\-mips3\fR" 4
814 .IX Item "-mips3"
815 .IP "\fB\-mips4\fR" 4
816 .IX Item "-mips4"
817 .IP "\fB\-mips5\fR" 4
818 .IX Item "-mips5"
819 .IP "\fB\-mips32\fR" 4
820 .IX Item "-mips32"
821 .IP "\fB\-mips32r2\fR" 4
822 .IX Item "-mips32r2"
823 .IP "\fB\-mips64\fR" 4
824 .IX Item "-mips64"
825 .IP "\fB\-mips64r2\fR" 4
826 .IX Item "-mips64r2"
827 .PD
828 Generate code for a particular \s-1MIPS\s0 Instruction Set Architecture level.
829 \&\fB\-mips1\fR is an alias for \fB\-march=r3000\fR, \fB\-mips2\fR is an
830 alias for \fB\-march=r6000\fR, \fB\-mips3\fR is an alias for
831 \&\fB\-march=r4000\fR and \fB\-mips4\fR is an alias for \fB\-march=r8000\fR.
832 \&\fB\-mips5\fR, \fB\-mips32\fR, \fB\-mips32r2\fR, \fB\-mips64\fR, and
833 \&\fB\-mips64r2\fR
834 correspond to generic
835 \&\fB\s-1MIPS\s0 V\fR, \fB\s-1MIPS32\s0\fR, \fB\s-1MIPS32\s0 Release 2\fR, \fB\s-1MIPS64\s0\fR,
836 and \fB\s-1MIPS64\s0 Release 2\fR
837 \&\s-1ISA\s0 processors, respectively.
838 .IP "\fB\-march=\fR\fI\s-1CPU\s0\fR" 4
839 .IX Item "-march=CPU"
840 Generate code for a particular \s-1MIPS\s0 cpu.
841 .IP "\fB\-mtune=\fR\fIcpu\fR" 4
842 .IX Item "-mtune=cpu"
843 Schedule and tune for a particular \s-1MIPS\s0 cpu.
844 .IP "\fB\-mfix7000\fR" 4
845 .IX Item "-mfix7000"
846 .PD 0
847 .IP "\fB\-mno\-fix7000\fR" 4
848 .IX Item "-mno-fix7000"
849 .PD
850 Cause nops to be inserted if the read of the destination register
851 of an mfhi or mflo instruction occurs in the following two instructions.
852 .IP "\fB\-mdebug\fR" 4
853 .IX Item "-mdebug"
854 .PD 0
855 .IP "\fB\-no\-mdebug\fR" 4
856 .IX Item "-no-mdebug"
857 .PD
858 Cause stabs-style debugging output to go into an ECOFF-style .mdebug
859 section instead of the standard \s-1ELF\s0 .stabs sections.
860 .IP "\fB\-mpdr\fR" 4
861 .IX Item "-mpdr"
862 .PD 0
863 .IP "\fB\-mno\-pdr\fR" 4
864 .IX Item "-mno-pdr"
865 .PD
866 Control generation of \f(CW\*(C`.pdr\*(C'\fR sections.
867 .IP "\fB\-mgp32\fR" 4
868 .IX Item "-mgp32"
869 .PD 0
870 .IP "\fB\-mfp32\fR" 4
871 .IX Item "-mfp32"
872 .PD
873 The register sizes are normally inferred from the \s-1ISA\s0 and \s-1ABI\s0, but these
874 flags force a certain group of registers to be treated as 32 bits wide at
875 all times.  \fB\-mgp32\fR controls the size of general-purpose registers
876 and \fB\-mfp32\fR controls the size of floating-point registers.
877 .IP "\fB\-mips16\fR" 4
878 .IX Item "-mips16"
879 .PD 0
880 .IP "\fB\-no\-mips16\fR" 4
881 .IX Item "-no-mips16"
882 .PD
883 Generate code for the \s-1MIPS\s0 16 processor.  This is equivalent to putting
884 \&\f(CW\*(C`.set mips16\*(C'\fR at the start of the assembly file.  \fB\-no\-mips16\fR
885 turns off this option.
886 .IP "\fB\-mips3d\fR" 4
887 .IX Item "-mips3d"
888 .PD 0
889 .IP "\fB\-no\-mips3d\fR" 4
890 .IX Item "-no-mips3d"
891 .PD
892 Generate code for the \s-1MIPS\-3D\s0 Application Specific Extension.
893 This tells the assembler to accept \s-1MIPS\-3D\s0 instructions.
894 \&\fB\-no\-mips3d\fR turns off this option.
895 .IP "\fB\-mdmx\fR" 4
896 .IX Item "-mdmx"
897 .PD 0
898 .IP "\fB\-no\-mdmx\fR" 4
899 .IX Item "-no-mdmx"
900 .PD
901 Generate code for the \s-1MDMX\s0 Application Specific Extension.
902 This tells the assembler to accept \s-1MDMX\s0 instructions.
903 \&\fB\-no\-mdmx\fR turns off this option.
904 .IP "\fB\-mdsp\fR" 4
905 .IX Item "-mdsp"
906 .PD 0
907 .IP "\fB\-mno\-dsp\fR" 4
908 .IX Item "-mno-dsp"
909 .PD
910 Generate code for the \s-1DSP\s0 Application Specific Extension.
911 This tells the assembler to accept \s-1DSP\s0 instructions.
912 \&\fB\-mno\-dsp\fR turns off this option.
913 .IP "\fB\-mmt\fR" 4
914 .IX Item "-mmt"
915 .PD 0
916 .IP "\fB\-mno\-mt\fR" 4
917 .IX Item "-mno-mt"
918 .PD
919 Generate code for the \s-1MT\s0 Application Specific Extension.
920 This tells the assembler to accept \s-1MT\s0 instructions.
921 \&\fB\-mno\-mt\fR turns off this option.
922 .IP "\fB\-\-construct\-floats\fR" 4
923 .IX Item "--construct-floats"
924 .PD 0
925 .IP "\fB\-\-no\-construct\-floats\fR" 4
926 .IX Item "--no-construct-floats"
927 .PD
928 The \fB\-\-no\-construct\-floats\fR option disables the construction of
929 double width floating point constants by loading the two halves of the
930 value into the two single width floating point registers that make up
931 the double width register.  By default \fB\-\-construct\-floats\fR is
932 selected, allowing construction of these floating point constants.
933 .IP "\fB\-\-emulation=\fR\fIname\fR" 4
934 .IX Item "--emulation=name"
935 This option causes \fBas\fR to emulate \fBas\fR configured
936 for some other target, in all respects, including output format (choosing
937 between \s-1ELF\s0 and \s-1ECOFF\s0 only), handling of pseudo-opcodes which may generate
938 debugging information or store symbol table information, and default
939 endianness.  The available configuration names are: \fBmipsecoff\fR,
940 \&\fBmipself\fR, \fBmipslecoff\fR, \fBmipsbecoff\fR, \fBmipslelf\fR,
941 \&\fBmipsbelf\fR.  The first two do not alter the default endianness from that
942 of the primary target for which the assembler was configured; the others change
943 the default to little\- or big-endian as indicated by the \fBb\fR or \fBl\fR
944 in the name.  Using \fB\-EB\fR or \fB\-EL\fR will override the endianness
945 selection in any case.
946 .Sp
947 This option is currently supported only when the primary target
948 \&\fBas\fR is configured for is a \s-1MIPS\s0 \s-1ELF\s0 or \s-1ECOFF\s0 target.
949 Furthermore, the primary target or others specified with
950 \&\fB\-\-enable\-targets=...\fR at configuration time must include support for
951 the other format, if both are to be available.  For example, the Irix 5
952 configuration includes support for both.
953 .Sp
954 Eventually, this option will support more configurations, with more
955 fine-grained control over the assembler's behavior, and will be supported for
956 more processors.
957 .IP "\fB\-nocpp\fR" 4
958 .IX Item "-nocpp"
959 \&\fBas\fR ignores this option.  It is accepted for compatibility with
960 the native tools.
961 .IP "\fB\-\-trap\fR" 4
962 .IX Item "--trap"
963 .PD 0
964 .IP "\fB\-\-no\-trap\fR" 4
965 .IX Item "--no-trap"
966 .IP "\fB\-\-break\fR" 4
967 .IX Item "--break"
968 .IP "\fB\-\-no\-break\fR" 4
969 .IX Item "--no-break"
970 .PD
971 Control how to deal with multiplication overflow and division by zero.
972 \&\fB\-\-trap\fR or \fB\-\-no\-break\fR (which are synonyms) take a trap exception
973 (and only work for Instruction Set Architecture level 2 and higher);
974 \&\fB\-\-break\fR or \fB\-\-no\-trap\fR (also synonyms, and the default) take a
975 break exception.
976 .IP "\fB\-n\fR" 4
977 .IX Item "-n"
978 When this option is used, \fBas\fR will issue a warning every
979 time it generates a nop instruction from a macro.
980 .PP
981 The following options are available when as is configured for
982 an MCore processor.
983 .IP "\fB\-jsri2bsr\fR" 4
984 .IX Item "-jsri2bsr"
985 .PD 0
986 .IP "\fB\-nojsri2bsr\fR" 4
987 .IX Item "-nojsri2bsr"
988 .PD
989 Enable or disable the \s-1JSRI\s0 to \s-1BSR\s0 transformation.  By default this is enabled.
990 The command line option \fB\-nojsri2bsr\fR can be used to disable it.
991 .IP "\fB\-sifilter\fR" 4
992 .IX Item "-sifilter"
993 .PD 0
994 .IP "\fB\-nosifilter\fR" 4
995 .IX Item "-nosifilter"
996 .PD
997 Enable or disable the silicon filter behaviour.  By default this is disabled.
998 The default can be overridden by the \fB\-sifilter\fR command line option.
999 .IP "\fB\-relax\fR" 4
1000 .IX Item "-relax"
1001 Alter jump instructions for long displacements.
1002 .IP "\fB\-mcpu=[210|340]\fR" 4
1003 .IX Item "-mcpu=[210|340]"
1004 Select the cpu type on the target hardware.  This controls which instructions
1005 can be assembled.
1006 .IP "\fB\-EB\fR" 4
1007 .IX Item "-EB"
1008 Assemble for a big endian target.
1009 .IP "\fB\-EL\fR" 4
1010 .IX Item "-EL"
1011 Assemble for a little endian target.
1012 .PP
1013 See the info pages for documentation of the MMIX-specific options.
1014 .PP
1015 The following options are available when as is configured for
1016 an Xtensa processor.
1017 .IP "\fB\-\-text\-section\-literals | \-\-no\-text\-section\-literals\fR" 4
1018 .IX Item "--text-section-literals | --no-text-section-literals"
1019 With \fB\-\-text\-section\-literals\fR, literal pools are interspersed
1020 in the text section.  The default is
1021 \&\fB\-\-no\-text\-section\-literals\fR, which places literals in a
1022 separate section in the output file.  These options only affect literals
1023 referenced via PC-relative \f(CW\*(C`L32R\*(C'\fR instructions; literals for
1024 absolute mode \f(CW\*(C`L32R\*(C'\fR instructions are handled separately.
1025 .IP "\fB\-\-absolute\-literals | \-\-no\-absolute\-literals\fR" 4
1026 .IX Item "--absolute-literals | --no-absolute-literals"
1027 Indicate to the assembler whether \f(CW\*(C`L32R\*(C'\fR instructions use absolute
1028 or PC-relative addressing.  The default is to assume absolute addressing
1029 if the Xtensa processor includes the absolute \f(CW\*(C`L32R\*(C'\fR addressing
1030 option.  Otherwise, only the PC-relative \f(CW\*(C`L32R\*(C'\fR mode can be used.
1031 .IP "\fB\-\-target\-align | \-\-no\-target\-align\fR" 4
1032 .IX Item "--target-align | --no-target-align"
1033 Enable or disable automatic alignment to reduce branch penalties at the
1034 expense of some code density.  The default is \fB\-\-target\-align\fR.
1035 .IP "\fB\-\-longcalls | \-\-no\-longcalls\fR" 4
1036 .IX Item "--longcalls | --no-longcalls"
1037 Enable or disable transformation of call instructions to allow calls
1038 across a greater range of addresses.  The default is
1039 \&\fB\-\-no\-longcalls\fR.
1040 .IP "\fB\-\-transform | \-\-no\-transform\fR" 4
1041 .IX Item "--transform | --no-transform"
1042 Enable or disable all assembler transformations of Xtensa instructions.
1043 The default is \fB\-\-transform\fR;
1044 \&\fB\-\-no\-transform\fR should be used only in the rare cases when the
1045 instructions must be exactly as specified in the assembly source.
1046 .PP
1047 The following options are available when as is configured for
1048 a Z80 family processor.
1049 .IP "\fB\-z80\fR" 4
1050 .IX Item "-z80"
1051 Assemble for Z80 processor.
1052 .IP "\fB\-r800\fR" 4
1053 .IX Item "-r800"
1054 Assemble for R800 processor.
1055 .IP "\fB\-ignore\-undocumented\-instructions\fR" 4
1056 .IX Item "-ignore-undocumented-instructions"
1057 .PD 0
1058 .IP "\fB\-Wnud\fR" 4
1059 .IX Item "-Wnud"
1060 .PD
1061 Assemble undocumented Z80 instructions that also work on R800 without warning.
1062 .IP "\fB\-ignore\-unportable\-instructions\fR" 4
1063 .IX Item "-ignore-unportable-instructions"
1064 .PD 0
1065 .IP "\fB\-Wnup\fR" 4
1066 .IX Item "-Wnup"
1067 .PD
1068 Assemble all undocumented Z80 instructions without warning.
1069 .IP "\fB\-warn\-undocumented\-instructions\fR" 4
1070 .IX Item "-warn-undocumented-instructions"
1071 .PD 0
1072 .IP "\fB\-Wud\fR" 4
1073 .IX Item "-Wud"
1074 .PD
1075 Issue a warning for undocumented Z80 instructions that also work on R800.
1076 .IP "\fB\-warn\-unportable\-instructions\fR" 4
1077 .IX Item "-warn-unportable-instructions"
1078 .PD 0
1079 .IP "\fB\-Wup\fR" 4
1080 .IX Item "-Wup"
1081 .PD
1082 Issue a warning for undocumented Z80 instructions that do notwork on R800.  
1083 .IP "\fB\-forbid\-undocumented\-instructions\fR" 4
1084 .IX Item "-forbid-undocumented-instructions"
1085 .PD 0
1086 .IP "\fB\-Fud\fR" 4
1087 .IX Item "-Fud"
1088 .PD
1089 Treat all undocumented instructions as errors.
1090 .IP "\fB\-forbid\-unportable\-instructions\fR" 4
1091 .IX Item "-forbid-unportable-instructions"
1092 .PD 0
1093 .IP "\fB\-Fup\fR" 4
1094 .IX Item "-Fup"
1095 .PD
1096 Treat undocumented Z80 intructions that do notwork on R800 as errors.
1097 .SH "SEE ALSO"
1098 .IX Header "SEE ALSO"
1099 \&\fIgcc\fR\|(1), \fIld\fR\|(1), and the Info entries for \fIbinutils\fR and \fIld\fR.
1100 .SH "COPYRIGHT"
1101 .IX Header "COPYRIGHT"
1102 Copyright (C) 1991, 92, 93, 94, 95, 96, 97, 98, 99, 2000, 2001, 2002 Free Software Foundation, Inc.
1103 .PP
1104 Permission is granted to copy, distribute and/or modify this document
1105 under the terms of the \s-1GNU\s0 Free Documentation License, Version 1.1
1106 or any later version published by the Free Software Foundation;
1107 with no Invariant Sections, with no Front-Cover Texts, and with no
1108 Back-Cover Texts.  A copy of the license is included in the
1109 section entitled \*(L"\s-1GNU\s0 Free Documentation License\*(R".