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