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