Add the DragonFly cvs id and perform general cleanups on cvs/rcs/sccs ids. Most
[dragonfly.git] / contrib / binutils / gas / doc / as.1
1 .\" $FreeBSD: src/contrib/binutils/gas/doc/as.1,v 1.2.6.4 2002/09/01 23:44:06 obrien Exp $
2 .\" $DragonFly: src/contrib/binutils/gas/doc/Attic/as.1,v 1.2 2003/06/17 04:23:58 dillon Exp $
3 .\"
4 .\"
5 .\" Automatically generated by Pod::Man v1.3, Pod::Parser v1.13
6 .\"
7 .\" Standard preamble:
8 .\" ========================================================================
9 .de Sh \" Subsection heading
10 .br
11 .if t .Sp
12 .ne 5
13 .PP
14 \fB\\$1\fR
15 .PP
16 ..
17 .de Sp \" Vertical space (when we can't use .PP)
18 .if t .sp .5v
19 .if n .sp
20 ..
21 .de Vb \" Begin verbatim text
22 .ft CW
23 .nf
24 .ne \\$1
25 ..
26 .de Ve \" End verbatim text
27 .ft R
28
29 .fi
30 ..
31 .\" Set up some character translations and predefined strings.  \*(-- will
32 .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
33 .\" double quote, and \*(R" will give a right double quote.  | will give a
34 .\" real vertical bar.  \*(C+ will give a nicer C++.  Capital omega is used to
35 .\" do unbreakable dashes and therefore won't be available.  \*(C` and \*(C'
36 .\" expand to `' in nroff, nothing in troff, for use with C<>.
37 .tr \(*W-|\(bv\*(Tr
38 .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
39 .ie n \{\
40 .    ds -- \(*W-
41 .    ds PI pi
42 .    if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
43 .    if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\"  diablo 12 pitch
44 .    ds L" ""
45 .    ds R" ""
46 .    ds C` ""
47 .    ds C' ""
48 'br\}
49 .el\{\
50 .    ds -- \|\(em\|
51 .    ds PI \(*p
52 .    ds L" ``
53 .    ds R" ''
54 'br\}
55 .\"
56 .\" If the F register is turned on, we'll generate index entries on stderr for
57 .\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
58 .\" entries marked with X<> in POD.  Of course, you'll have to process the
59 .\" output yourself in some meaningful fashion.
60 .if \nF \{\
61 .    de IX
62 .    tm Index:\\$1\t\\n%\t"\\$2"
63 ..
64 .    nr % 0
65 .    rr F
66 .\}
67 .\"
68 .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
69 .\" way too many mistakes in technical documents.
70 .hy 0
71 .\"
72 .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
73 .\" Fear.  Run.  Save yourself.  No user-serviceable parts.
74 .    \" fudge factors for nroff and troff
75 .if n \{\
76 .    ds #H 0
77 .    ds #V .8m
78 .    ds #F .3m
79 .    ds #[ \f1
80 .    ds #] \fP
81 .\}
82 .if t \{\
83 .    ds #H ((1u-(\\\\n(.fu%2u))*.13m)
84 .    ds #V .6m
85 .    ds #F 0
86 .    ds #[ \&
87 .    ds #] \&
88 .\}
89 .    \" simple accents for nroff and troff
90 .if n \{\
91 .    ds ' \&
92 .    ds ` \&
93 .    ds ^ \&
94 .    ds , \&
95 .    ds ~ ~
96 .    ds /
97 .\}
98 .if t \{\
99 .    ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
100 .    ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
101 .    ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
102 .    ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
103 .    ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
104 .    ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
105 .\}
106 .    \" troff and (daisy-wheel) nroff accents
107 .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
108 .ds 8 \h'\*(#H'\(*b\h'-\*(#H'
109 .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
110 .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
111 .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
112 .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
113 .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
114 .ds ae a\h'-(\w'a'u*4/10)'e
115 .ds Ae A\h'-(\w'A'u*4/10)'E
116 .    \" corrections for vroff
117 .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
118 .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
119 .    \" for low resolution devices (crt and lpr)
120 .if \n(.H>23 .if \n(.V>19 \
121 \{\
122 .    ds : e
123 .    ds 8 ss
124 .    ds o a
125 .    ds d- d\h'-1'\(ga
126 .    ds D- D\h'-1'\(hy
127 .    ds th \o'bp'
128 .    ds Th \o'LP'
129 .    ds ae ae
130 .    ds Ae AE
131 .\}
132 .rm #[ #] #H #V #F C
133 .\" ========================================================================
134 .\"
135 .IX Title "AS 1"
136 .TH AS 1 "2002-05-14" "binutils-2.12.1" "GNU Development Tools"
137 .UC
138 .SH "NAME"
139 \&\s-1AS\s0 \- the portable \s-1GNU\s0 assembler.
140 .SH "SYNOPSIS"
141 .IX Header "SYNOPSIS"
142 as [\fB\-a\fR[\fBcdhlns\fR][=\fIfile\fR]] [\fB\-D\fR] [\fB\-\-defsym\fR \fIsym\fR=\fIval\fR]
143  [\fB\-f\fR] [\fB\-\-gstabs\fR] [\fB\-\-gdwarf2\fR] [\fB\-\-help\fR] [\fB\-I\fR \fIdir\fR] 
144  [\fB\-J\fR] [\fB\-K\fR] [\fB\-L\fR]
145  [\fB\-\-listing\-lhs\-width\fR=\fI\s-1NUM\s0\fR] [\fB\-\-listing\-lhs\-width2\fR=\fI\s-1NUM\s0\fR]
146  [\fB\-\-listing\-rhs\-width\fR=\fI\s-1NUM\s0\fR] [\fB\-\-listing\-cont\-lines\fR=\fI\s-1NUM\s0\fR]
147  [\fB\-\-keep\-locals\fR] [\fB\-o\fR \fIobjfile\fR] [\fB\-R\fR] [\fB\-\-statistics\fR] [\fB\-v\fR]
148  [\fB\-version\fR] [\fB\-\-version\fR] [\fB\-W\fR] [\fB\-\-warn\fR] [\fB\-\-fatal\-warnings\fR] 
149  [\fB\-w\fR] [\fB\-x\fR] [\fB\-Z\fR] [\fB\-\-target\-help\fR] [\fItarget-options\fR] 
150  [\fB\-\-\fR|\fIfiles\fR ...]
151 .PP
152 \&\fITarget Alpha options:\fR
153    [\fB\-m\fR\fIcpu\fR]
154    [\fB\-mdebug\fR | \fB\-no\-mdebug\fR]
155    [\fB\-relax\fR] [\fB\-g\fR] [\fB\-G\fR\fIsize\fR]
156    [\fB\-F\fR] [\fB\-32addr\fR]
157 .PP
158 \&\fITarget \s-1ARC\s0 options:\fR
159    [\fB\-marc[5|6|7|8]\fR]
160    [\fB\-EB\fR|\fB\-EL\fR]
161 .PP
162 \&\fITarget \s-1ARM\s0 options:\fR
163    [\fB\-mcpu\fR=\fIprocessor\fR[+\fIextension\fR...]]
164    [\fB\-march\fR=\fIarchitecture\fR[+\fIextension\fR...]]
165    [\fB\-mfpu\fR=\fIfloating-point-fromat\fR]
166    [\fB\-mthumb\fR]
167    [\fB\-EB\fR|\fB\-EL\fR]
168    [\fB\-mapcs\-32\fR|\fB\-mapcs\-26\fR|\fB\-mapcs\-float\fR|
169     \fB\-mapcs\-reentrant\fR]
170    [\fB\-mthumb\-interwork\fR] [\fB\-moabi\fR] [\fB\-k\fR]
171 .PP
172 \&\fITarget \s-1CRIS\s0 options:\fR
173    [\fB\-\-underscore\fR | \fB\-\-no\-underscore\fR]
174    [\fB\-\-pic\fR] [\fB\-N\fR]
175    [\fB\-\-emulation=criself\fR | \fB\-\-emulation=crisaout\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]
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 M32R options:\fR
192    [\fB\-\-m32rx\fR|\fB\-\-[no\-]warn\-explicit\-parallel\-conflicts\fR|
193     \fB\-\-W[n]p\fR]
194 .PP
195 \&\fITarget M680X0 options:\fR
196    [\fB\-l\fR] [\fB\-m68000\fR|\fB\-m68010\fR|\fB\-m68020\fR|...]
197 .PP
198 \&\fITarget M68HC11 options:\fR
199    [\fB\-m68hc11\fR|\fB\-m68hc12\fR]
200    [\fB\-\-force\-long\-branchs\fR] [\fB\-\-short\-branchs\fR]
201    [\fB\-\-strict\-direct\-mode\fR] [\fB\-\-print\-insn\-syntax\fR]
202    [\fB\-\-print\-opcodes\fR] [\fB\-\-generate\-example\fR]
203 .PP
204 \&\fITarget \s-1MCORE\s0 options:\fR
205    [\fB\-jsri2bsr\fR] [\fB\-sifilter\fR] [\fB\-relax\fR]
206    [\fB\-mcpu=[210|340]\fR]
207 .PP
208 \&\fITarget \s-1MIPS\s0 options:\fR
209    [\fB\-nocpp\fR] [\fB\-EL\fR] [\fB\-EB\fR] [\fB\-G\fR \fInum\fR] [\fB\-mcpu\fR=\fI\s-1CPU\s0\fR ]
210    [\fB\-mips1\fR] [\fB\-mips2\fR] [\fB\-mips3\fR] [\fB\-mips4\fR] [\fB\-mips5\fR]
211    [\fB\-mips32\fR] [\fB\-mips64\fR]
212    [\fB\-m4650\fR] [\fB\-no\-m4650\fR]
213    [\fB\-\-trap\fR] [\fB\-\-break\fR] [\fB\-n\fR]
214    [\fB\-\-emulation\fR=\fIname\fR ]
215 .PP
216 \&\fITarget \s-1MMIX\s0 options:\fR
217    [\fB\-\-fixed\-special\-register\-names\fR] [\fB\-\-globalize\-symbols\fR]
218    [\fB\-\-gnu\-syntax\fR] [\fB\-\-relax\fR] [\fB\-\-no\-predefined\-symbols\fR]
219    [\fB\-\-no\-expand\fR] [\fB\-\-no\-merge\-gregs\fR] [\fB\-x\fR]
220    [\fB\-\-linker\-allocated\-gregs\fR]
221 .PP
222 \&\fITarget \s-1PDP11\s0 options:\fR
223    [\fB\-mpic\fR|\fB\-mno\-pic\fR] [\fB\-mall\fR] [\fB\-mno\-extensions\fR]
224    [\fB\-m\fR\fIextension\fR|\fB\-mno\-\fR\fIextension\fR]
225    [\fB\-m\fR\fIcpu\fR] [\fB\-m\fR\fImachine\fR]  
226 .PP
227 \&\fITarget picoJava options:\fR
228    [\fB\-mb\fR|\fB\-me\fR]
229 .PP
230 \&\fITarget PowerPC options:\fR
231    [\fB\-mpwrx\fR|\fB\-mpwr2\fR|\fB\-mpwr\fR|\fB\-m601\fR|\fB\-mppc\fR|\fB\-mppc32\fR|\fB\-m603\fR|\fB\-m604\fR|
232     \fB\-m403\fR|\fB\-m405\fR|\fB\-mppc64\fR|\fB\-m620\fR|\fB\-mppc64bridge\fR|\fB\-mbooke\fR|
233     \fB\-mbooke32\fR|\fB\-mbooke64\fR]
234    [\fB\-mcom\fR|\fB\-many\fR|\fB\-maltivec\fR] [\fB\-memb\fR]
235    [\fB\-mregnames\fR|\fB\-mno\-regnames\fR]
236    [\fB\-mrelocatable\fR|\fB\-mrelocatable\-lib\fR]
237    [\fB\-mlittle\fR|\fB\-mlittle\-endian\fR|\fB\-mbig\fR|\fB\-mbig\-endian\fR]
238    [\fB\-msolaris\fR|\fB\-mno\-solaris\fR]
239 .PP
240 \&\fITarget \s-1SPARC\s0 options:\fR
241    [\fB\-Av6\fR|\fB\-Av7\fR|\fB\-Av8\fR|\fB\-Asparclet\fR|\fB\-Asparclite\fR
242     \fB\-Av8plus\fR|\fB\-Av8plusa\fR|\fB\-Av9\fR|\fB\-Av9a\fR]
243    [\fB\-xarch=v8plus\fR|\fB\-xarch=v8plusa\fR] [\fB\-bump\fR]
244    [\fB\-32\fR|\fB\-64\fR]
245 .SH "DESCRIPTION"
246 .IX Header "DESCRIPTION"
247 \&\s-1GNU\s0 \fBas\fR is really a family of assemblers.
248 If you use (or have used) the \s-1GNU\s0 assembler on one architecture, you
249 should find a fairly similar environment when you use it on another
250 architecture.  Each version has much in common with the others,
251 including object file formats, most assembler directives (often called
252 \&\fIpseudo-ops\fR) and assembler syntax.
253 .PP
254 \&\fBas\fR is primarily intended to assemble the output of the
255 \&\s-1GNU\s0 C compiler  for use by the linker
256 \&.  Nevertheless, we've tried to make \fBas\fR
257 assemble correctly everything that other assemblers for the same
258 machine would assemble.
259 Any exceptions are documented explicitly.
260 This doesn't mean \fBas\fR always uses the same syntax as another
261 assembler for the same architecture; for example, we know of several
262 incompatible versions of 680x0 assembly language syntax.
263 .PP
264 Each time you run \fBas\fR it assembles exactly one source
265 program.  The source program is made up of one or more files.
266 (The standard input is also a file.)
267 .PP
268 You give \fBas\fR a command line that has zero or more input file
269 names.  The input files are read (from left file name to right).  A
270 command line argument (in any position) that has no special meaning
271 is taken to be an input file name.
272 .PP
273 If you give \fBas\fR no file names it attempts to read one input file
274 from the \fBas\fR standard input, which is normally your terminal.  You
275 may have to type \fBctl-D\fR to tell \fBas\fR there is no more program
276 to assemble.
277 .PP
278 Use \fB\-\-\fR if you need to explicitly name the standard input file
279 in your command line.
280 .PP
281 If the source is empty, \fBas\fR produces a small, empty object
282 file.
283 .PP
284 \&\fBas\fR may write warnings and error messages to the standard error
285 file (usually your terminal).  This should not happen when  a compiler
286 runs \fBas\fR automatically.  Warnings report an assumption made so
287 that \fBas\fR could keep assembling a flawed program; errors report a
288 grave problem that stops the assembly.
289 .PP
290 If you are invoking \fBas\fR via the \s-1GNU\s0 C compiler (version 2),
291 you can use the \fB\-Wa\fR option to pass arguments through to the assembler.
292 The assembler arguments must be separated from each other (and the \fB\-Wa\fR)
293 by commas.  For example:
294 .PP
295 .Vb 1
296 \&        gcc -c -g -O -Wa,-alh,-L file.c
297 .Ve
298 This passes two options to the assembler: \fB\-alh\fR (emit a listing to
299 standard output with with high-level and assembly source) and \fB\-L\fR (retain
300 local symbols in the symbol table).
301 .PP
302 Usually you do not need to use this \fB\-Wa\fR mechanism, since many compiler
303 command-line options are automatically passed to the assembler by the compiler.
304 (You can call the \s-1GNU\s0 compiler driver with the \fB\-v\fR option to see
305 precisely what options it passes to each compilation pass, including the
306 assembler.)
307 .SH "OPTIONS"
308 .IX Header "OPTIONS"
309 .IP "\fB\-a[cdhlmns]\fR" 4
310 .IX Item "-a[cdhlmns]"
311 Turn on listings, in any of a variety of ways:
312 .RS 4
313 .IP "\fB\-ac\fR" 4
314 .IX Item "-ac"
315 omit false conditionals
316 .IP "\fB\-ad\fR" 4
317 .IX Item "-ad"
318 omit debugging directives
319 .IP "\fB\-ah\fR" 4
320 .IX Item "-ah"
321 include high-level source
322 .IP "\fB\-al\fR" 4
323 .IX Item "-al"
324 include assembly
325 .IP "\fB\-am\fR" 4
326 .IX Item "-am"
327 include macro expansions
328 .IP "\fB\-an\fR" 4
329 .IX Item "-an"
330 omit forms processing
331 .IP "\fB\-as\fR" 4
332 .IX Item "-as"
333 include symbols
334 .IP "\fB=file\fR" 4
335 .IX Item "=file"
336 set the name of the listing file
337 .RE
338 .RS 4
339 .Sp
340 You may combine these options; for example, use \fB\-aln\fR for assembly
341 listing without forms processing.  The \fB=file\fR option, if used, must be
342 the last one.  By itself, \fB\-a\fR defaults to \fB\-ahls\fR.
343 .RE
344 .IP "\fB\-D\fR" 4
345 .IX Item "-D"
346 Ignored.  This option is accepted for script compatibility with calls to
347 other assemblers.
348 .IP "\fB\-\-defsym\fR \fIsym\fR\fB=\fR\fIvalue\fR" 4
349 .IX Item "--defsym sym=value"
350 Define the symbol \fIsym\fR to be \fIvalue\fR before assembling the input file.
351 \&\fIvalue\fR must be an integer constant.  As in C, a leading \fB0x\fR
352 indicates a hexadecimal value, and a leading \fB0\fR indicates an octal value.
353 .IP "\fB\-f\fR" 4
354 .IX Item "-f"
355 ``fast''\-\-\-skip whitespace and comment preprocessing (assume source is
356 compiler output).
357 .IP "\fB\-\-gstabs\fR" 4
358 .IX Item "--gstabs"
359 Generate stabs debugging information for each assembler line.  This
360 may help debugging assembler code, if the debugger can handle it.
361 .IP "\fB\-\-gdwarf2\fR" 4
362 .IX Item "--gdwarf2"
363 Generate \s-1DWARF2\s0 debugging information for each assembler line.  This
364 may help debugging assembler code, if the debugger can handle it.  Note \- this
365 option is only supported by some targets, not all of them.
366 .IP "\fB\-\-help\fR" 4
367 .IX Item "--help"
368 Print a summary of the command line options and exit.
369 .IP "\fB\-\-target\-help\fR" 4
370 .IX Item "--target-help"
371 Print a summary of all target specific options and exit.
372 .IP "\fB\-I\fR \fIdir\fR" 4
373 .IX Item "-I dir"
374 Add directory \fIdir\fR to the search list for \f(CW\*(C`.include\*(C'\fR directives.
375 .IP "\fB\-J\fR" 4
376 .IX Item "-J"
377 Don't warn about signed overflow.
378 .IP "\fB\-K\fR" 4
379 .IX Item "-K"
380 This option is accepted but has no effect on the \s-1TARGET\s0 family.
381 .IP "\fB\-L\fR" 4
382 .IX Item "-L"
383 .PD 0
384 .IP "\fB\-\-keep\-locals\fR" 4
385 .IX Item "--keep-locals"
386 .PD
387 Keep (in the symbol table) local symbols.  On traditional a.out systems
388 these start with \fBL\fR, but different systems have different local
389 label prefixes.
390 .IP "\fB\-\-listing\-lhs\-width=\fR\fInumber\fR" 4
391 .IX Item "--listing-lhs-width=number"
392 Set the maximum width, in words, of the output data column for an assembler
393 listing to \fInumber\fR.
394 .IP "\fB\-\-listing\-lhs\-width2=\fR\fInumber\fR" 4
395 .IX Item "--listing-lhs-width2=number"
396 Set the maximum width, in words, of the output data column for continuation
397 lines in an assembler listing to \fInumber\fR.
398 .IP "\fB\-\-listing\-rhs\-width=\fR\fInumber\fR" 4
399 .IX Item "--listing-rhs-width=number"
400 Set the maximum width of an input source line, as displayed in a listing, to
401 \&\fInumber\fR bytes.
402 .IP "\fB\-\-listing\-cont\-lines=\fR\fInumber\fR" 4
403 .IX Item "--listing-cont-lines=number"
404 Set the maximum number of lines printed in a listing for a single line of input
405 to \fInumber\fR + 1.
406 .IP "\fB\-o\fR \fIobjfile\fR" 4
407 .IX Item "-o objfile"
408 Name the object-file output from \fBas\fR \fIobjfile\fR.
409 .IP "\fB\-R\fR" 4
410 .IX Item "-R"
411 Fold the data section into the text section.
412 .IP "\fB\-\-statistics\fR" 4
413 .IX Item "--statistics"
414 Print the maximum space (in bytes) and total time (in seconds) used by
415 assembly.
416 .IP "\fB\-\-strip\-local\-absolute\fR" 4
417 .IX Item "--strip-local-absolute"
418 Remove local absolute symbols from the outgoing symbol table.
419 .IP "\fB\-v\fR" 4
420 .IX Item "-v"
421 .PD 0
422 .IP "\fB\-version\fR" 4
423 .IX Item "-version"
424 .PD
425 Print the \fBas\fR version.
426 .IP "\fB\-\-version\fR" 4
427 .IX Item "--version"
428 Print the \fBas\fR version and exit.
429 .IP "\fB\-W\fR" 4
430 .IX Item "-W"
431 .PD 0
432 .IP "\fB\-\-no\-warn\fR" 4
433 .IX Item "--no-warn"
434 .PD
435 Suppress warning messages.
436 .IP "\fB\-\-fatal\-warnings\fR" 4
437 .IX Item "--fatal-warnings"
438 Treat warnings as errors.
439 .IP "\fB\-\-warn\fR" 4
440 .IX Item "--warn"
441 Don't suppress warning messages or treat them as errors.
442 .IP "\fB\-w\fR" 4
443 .IX Item "-w"
444 Ignored.
445 .IP "\fB\-x\fR" 4
446 .IX Item "-x"
447 Ignored.
448 .IP "\fB\-Z\fR" 4
449 .IX Item "-Z"
450 Generate an object file even after errors.
451 .IP "\fB\-\- |\fR \fIfiles\fR \fB...\fR" 4
452 .IX Item "-- | files ..."
453 Standard input, or source files to assemble.
454 .PP
455 The following options are available when as is configured for
456 an \s-1ARC\s0 processor.
457 .IP "\fB\-marc[5|6|7|8]\fR" 4
458 .IX Item "-marc[5|6|7|8]"
459 This option selects the core processor variant.
460 .IP "\fB\-EB | \-EL\fR" 4
461 .IX Item "-EB | -EL"
462 Select either big-endian (\-EB) or little-endian (\-EL) output.
463 .PP
464 The following options are available when as is configured for the \s-1ARM\s0
465 processor family.
466 .IP "\fB\-mcpu=\fR\fIprocessor\fR\fB[+\fR\fIextension\fR\fB...]\fR" 4
467 .IX Item "-mcpu=processor[+extension...]"
468 Specify which \s-1ARM\s0 processor variant is the target.
469 .IP "\fB\-march=\fR\fIarchitecture\fR\fB[+\fR\fIextension\fR\fB...]\fR" 4
470 .IX Item "-march=architecture[+extension...]"
471 Specify which \s-1ARM\s0 architecture variant is used by the target.
472 .IP "\fB\-mfpu=\fR\fIfloating-point-format\fR" 4
473 .IX Item "-mfpu=floating-point-format"
474 Select which Floating Point architecture is the target.
475 .IP "\fB\-mthumb\fR" 4
476 .IX Item "-mthumb"
477 Enable Thumb only instruction decoding.
478 .IP "\fB\-mapcs\-32 | \-mapcs\-26 | \-mapcs\-float | \-mapcs\-reentrant | \-moabi\fR" 4
479 .IX Item "-mapcs-32 | -mapcs-26 | -mapcs-float | -mapcs-reentrant | -moabi"
480 Select which procedure calling convention is in use.
481 .IP "\fB\-EB | \-EL\fR" 4
482 .IX Item "-EB | -EL"
483 Select either big-endian (\-EB) or little-endian (\-EL) output.
484 .IP "\fB\-mthumb\-interwork\fR" 4
485 .IX Item "-mthumb-interwork"
486 Specify that the code has been generated with interworking between Thumb and
487 \&\s-1ARM\s0 code in mind.
488 .IP "\fB\-k\fR" 4
489 .IX Item "-k"
490 Specify that \s-1PIC\s0 code has been generated.
491 .PP
492 See the info pages for documentation of the CRIS-specific options.
493 .PP
494 The following options are available when as is configured for
495 a D10V processor.
496 .IP "\fB\-O\fR" 4
497 .IX Item "-O"
498 Optimize output by parallelizing instructions.
499 .PP
500 The following options are available when as is configured for a D30V
501 processor.
502 .IP "\fB\-O\fR" 4
503 .IX Item "-O"
504 Optimize output by parallelizing instructions.
505 .IP "\fB\-n\fR" 4
506 .IX Item "-n"
507 Warn when nops are generated.
508 .IP "\fB\-N\fR" 4
509 .IX Item "-N"
510 Warn when a nop after a 32\-bit multiply instruction is generated.
511 .PP
512 The following options are available when as is configured for the
513 Intel 80960 processor.
514 .IP "\fB\-ACA | \-ACA_A | \-ACB | \-ACC | \-AKA | \-AKB | \-AKC | \-AMC\fR" 4
515 .IX Item "-ACA | -ACA_A | -ACB | -ACC | -AKA | -AKB | -AKC | -AMC"
516 Specify which variant of the 960 architecture is the target.
517 .IP "\fB\-b\fR" 4
518 .IX Item "-b"
519 Add code to collect statistics about branches taken.
520 .IP "\fB\-no\-relax\fR" 4
521 .IX Item "-no-relax"
522 Do not alter compare-and-branch instructions for long displacements;
523 error if necessary.
524 .PP
525 The following options are available when as is configured for the
526 Mitsubishi M32R series.
527 .IP "\fB\-\-m32rx\fR" 4
528 .IX Item "--m32rx"
529 Specify which processor in the M32R family is the target.  The default
530 is normally the M32R, but this option changes it to the M32RX.
531 .IP "\fB\-\-warn\-explicit\-parallel\-conflicts or \-\-Wp\fR" 4
532 .IX Item "--warn-explicit-parallel-conflicts or --Wp"
533 Produce warning messages when questionable parallel constructs are
534 encountered. 
535 .IP "\fB\-\-no\-warn\-explicit\-parallel\-conflicts or \-\-Wnp\fR" 4
536 .IX Item "--no-warn-explicit-parallel-conflicts or --Wnp"
537 Do not produce warning messages when questionable parallel constructs are 
538 encountered. 
539 .PP
540 The following options are available when as is configured for the
541 Motorola 68000 series.
542 .IP "\fB\-l\fR" 4
543 .IX Item "-l"
544 Shorten references to undefined symbols, to one word instead of two.
545 .IP "\fB\-m68000 | \-m68008 | \-m68010 | \-m68020 | \-m68030\fR" 4
546 .IX Item "-m68000 | -m68008 | -m68010 | -m68020 | -m68030"
547 .PD 0
548 .IP "\fB| \-m68040 | \-m68060 | \-m68302 | \-m68331 | \-m68332\fR" 4
549 .IX Item "| -m68040 | -m68060 | -m68302 | -m68331 | -m68332"
550 .IP "\fB| \-m68333 | \-m68340 | \-mcpu32 | \-m5200\fR" 4
551 .IX Item "| -m68333 | -m68340 | -mcpu32 | -m5200"
552 .PD
553 Specify what processor in the 68000 family is the target.  The default
554 is normally the 68020, but this can be changed at configuration time.
555 .IP "\fB\-m68881 | \-m68882 | \-mno\-68881 | \-mno\-68882\fR" 4
556 .IX Item "-m68881 | -m68882 | -mno-68881 | -mno-68882"
557 The target machine does (or does not) have a floating-point coprocessor.
558 The default is to assume a coprocessor for 68020, 68030, and cpu32.  Although
559 the basic 68000 is not compatible with the 68881, a combination of the
560 two can be specified, since it's possible to do emulation of the
561 coprocessor instructions with the main processor.
562 .IP "\fB\-m68851 | \-mno\-68851\fR" 4
563 .IX Item "-m68851 | -mno-68851"
564 The target machine does (or does not) have a memory-management
565 unit coprocessor.  The default is to assume an \s-1MMU\s0 for 68020 and up.
566 .PP
567 For details about the \s-1PDP\-11\s0 machine dependent features options,
568 see \f(CW@ref\fR{PDP\-11\-Options}.
569 .IP "\fB\-mpic | \-mno\-pic\fR" 4
570 .IX Item "-mpic | -mno-pic"
571 Generate position-independent (or position\-dependent) code.  The
572 default is \fB\-mpic\fR.
573 .IP "\fB\-mall\fR" 4
574 .IX Item "-mall"
575 .PD 0
576 .IP "\fB\-mall\-extensions\fR" 4
577 .IX Item "-mall-extensions"
578 .PD
579 Enable all instruction set extensions.  This is the default.
580 .IP "\fB\-mno\-extensions\fR" 4
581 .IX Item "-mno-extensions"
582 Disable all instruction set extensions.
583 .IP "\fB\-m\fR\fIextension\fR \fB| \-mno\-\fR\fIextension\fR" 4
584 .IX Item "-mextension | -mno-extension"
585 Enable (or disable) a particular instruction set extension.
586 .IP "\fB\-m\fR\fIcpu\fR" 4
587 .IX Item "-mcpu"
588 Enable the instruction set extensions supported by a particular \s-1CPU\s0, and
589 disable all other extensions.
590 .IP "\fB\-m\fR\fImachine\fR" 4
591 .IX Item "-mmachine"
592 Enable the instruction set extensions supported by a particular machine
593 model, and disable all other extensions.
594 .PP
595 The following options are available when as is configured for
596 a picoJava processor.
597 .IP "\fB\-mb\fR" 4
598 .IX Item "-mb"
599 Generate ``big endian'' format output.
600 .IP "\fB\-ml\fR" 4
601 .IX Item "-ml"
602 Generate ``little endian'' format output.
603 .PP
604 The following options are available when as is configured for the
605 Motorola 68HC11 or 68HC12 series.
606 .IP "\fB\-m68hc11 | \-m68hc12\fR" 4
607 .IX Item "-m68hc11 | -m68hc12"
608 Specify what processor is the target.  The default is
609 defined by the configuration option when building the assembler.
610 .IP "\fB\-\-force\-long\-branchs\fR" 4
611 .IX Item "--force-long-branchs"
612 Relative branches are turned into absolute ones. This concerns
613 conditional branches, unconditional branches and branches to a
614 sub routine.
615 .IP "\fB\-S | \-\-short\-branchs\fR" 4
616 .IX Item "-S | --short-branchs"
617 Do not turn relative branchs into absolute ones
618 when the offset is out of range.
619 .IP "\fB\-\-strict\-direct\-mode\fR" 4
620 .IX Item "--strict-direct-mode"
621 Do not turn the direct addressing mode into extended addressing mode
622 when the instruction does not support direct addressing mode.
623 .IP "\fB\-\-print\-insn\-syntax\fR" 4
624 .IX Item "--print-insn-syntax"
625 Print the syntax of instruction in case of error.
626 .IP "\fB\-\-print\-opcodes\fR" 4
627 .IX Item "--print-opcodes"
628 print the list of instructions with syntax and then exit.
629 .IP "\fB\-\-generate\-example\fR" 4
630 .IX Item "--generate-example"
631 print an example of instruction for each possible instruction and then exit.
632 This option is only useful for testing \fBas\fR.
633 .PP
634 The following options are available when \fBas\fR is configured
635 for the \s-1SPARC\s0 architecture:
636 .IP "\fB\-Av6 | \-Av7 | \-Av8 | \-Asparclet | \-Asparclite\fR" 4
637 .IX Item "-Av6 | -Av7 | -Av8 | -Asparclet | -Asparclite"
638 .PD 0
639 .IP "\fB\-Av8plus | \-Av8plusa | \-Av9 | \-Av9a\fR" 4
640 .IX Item "-Av8plus | -Av8plusa | -Av9 | -Av9a"
641 .PD
642 Explicitly select a variant of the \s-1SPARC\s0 architecture.
643 .Sp
644 \&\fB\-Av8plus\fR and \fB\-Av8plusa\fR select a 32 bit environment.
645 \&\fB\-Av9\fR and \fB\-Av9a\fR select a 64 bit environment.
646 .Sp
647 \&\fB\-Av8plusa\fR and \fB\-Av9a\fR enable the \s-1SPARC\s0 V9 instruction set with
648 UltraSPARC extensions.
649 .IP "\fB\-xarch=v8plus | \-xarch=v8plusa\fR" 4
650 .IX Item "-xarch=v8plus | -xarch=v8plusa"
651 For compatibility with the Solaris v9 assembler.  These options are
652 equivalent to \-Av8plus and \-Av8plusa, respectively.
653 .IP "\fB\-bump\fR" 4
654 .IX Item "-bump"
655 Warn when the assembler switches to another architecture.
656 .PP
657 The following options are available when as is configured for
658 a \s-1MIPS\s0 processor.
659 .IP "\fB\-G\fR \fInum\fR" 4
660 .IX Item "-G num"
661 This option sets the largest size of an object that can be referenced
662 implicitly with the \f(CW\*(C`gp\*(C'\fR register.  It is only accepted for targets that
663 use \s-1ECOFF\s0 format, such as a DECstation running Ultrix.  The default value is 8.
664 .IP "\fB\-EB\fR" 4
665 .IX Item "-EB"
666 Generate ``big endian'' format output.
667 .IP "\fB\-EL\fR" 4
668 .IX Item "-EL"
669 Generate ``little endian'' format output.
670 .IP "\fB\-mips1\fR" 4
671 .IX Item "-mips1"
672 .PD 0
673 .IP "\fB\-mips2\fR" 4
674 .IX Item "-mips2"
675 .IP "\fB\-mips3\fR" 4
676 .IX Item "-mips3"
677 .IP "\fB\-mips4\fR" 4
678 .IX Item "-mips4"
679 .IP "\fB\-mips32\fR" 4
680 .IX Item "-mips32"
681 .IP "\fB\-mips64\fR" 4
682 .IX Item "-mips64"
683 .PD
684 Generate code for a particular \s-1MIPS\s0 Instruction Set Architecture level.
685 \&\fB\-mips1\fR corresponds to the R2000 and R3000 processors,
686 \&\fB\-mips2\fR to the R6000 processor, and \fB\-mips3\fR to the R4000
687 processor.
688 \&\fB\-mips5\fR, \fB\-mips32\fR, and \fB\-mips64\fR correspond
689 to generic \s-1MIPS\s0 V, \s-1MIPS32\s0, and \s-1MIPS64\s0 \s-1ISA\s0
690 processors, respectively.
691 .IP "\fB\-m4650\fR" 4
692 .IX Item "-m4650"
693 .PD 0
694 .IP "\fB\-no\-m4650\fR" 4
695 .IX Item "-no-m4650"
696 .PD
697 Generate code for the \s-1MIPS\s0 R4650 chip.  This tells the assembler to accept
698 the \fBmad\fR and \fBmadu\fR instruction, and to not schedule \fBnop\fR
699 instructions around accesses to the \fB\s-1HI\s0\fR and \fB\s-1LO\s0\fR registers.
700 \&\fB\-no\-m4650\fR turns off this option.
701 .IP "\fB\-mcpu=\fR\fI\s-1CPU\s0\fR" 4
702 .IX Item "-mcpu=CPU"
703 Generate code for a particular \s-1MIPS\s0 cpu.  It is exactly equivalent to
704 \&\fB\-m\fR\fIcpu\fR, except that there are more value of \fIcpu\fR
705 understood.
706 .IP "\fB\-\-emulation=\fR\fIname\fR" 4
707 .IX Item "--emulation=name"
708 This option causes \fBas\fR to emulate \fBas\fR configured
709 for some other target, in all respects, including output format (choosing
710 between \s-1ELF\s0 and \s-1ECOFF\s0 only), handling of pseudo-opcodes which may generate
711 debugging information or store symbol table information, and default
712 endianness.  The available configuration names are: \fBmipsecoff\fR,
713 \&\fBmipself\fR, \fBmipslecoff\fR, \fBmipsbecoff\fR, \fBmipslelf\fR,
714 \&\fBmipsbelf\fR.  The first two do not alter the default endianness from that
715 of the primary target for which the assembler was configured; the others change
716 the default to little\- or big-endian as indicated by the \fBb\fR or \fBl\fR
717 in the name.  Using \fB\-EB\fR or \fB\-EL\fR will override the endianness
718 selection in any case.
719 .Sp
720 This option is currently supported only when the primary target
721 \&\fBas\fR is configured for is a \s-1MIPS\s0 \s-1ELF\s0 or \s-1ECOFF\s0 target.
722 Furthermore, the primary target or others specified with
723 \&\fB\-\-enable\-targets=...\fR at configuration time must include support for
724 the other format, if both are to be available.  For example, the Irix 5
725 configuration includes support for both.
726 .Sp
727 Eventually, this option will support more configurations, with more
728 fine-grained control over the assembler's behavior, and will be supported for
729 more processors.
730 .IP "\fB\-nocpp\fR" 4
731 .IX Item "-nocpp"
732 \&\fBas\fR ignores this option.  It is accepted for compatibility with
733 the native tools.
734 .IP "\fB\-\-trap\fR" 4
735 .IX Item "--trap"
736 .PD 0
737 .IP "\fB\-\-no\-trap\fR" 4
738 .IX Item "--no-trap"
739 .IP "\fB\-\-break\fR" 4
740 .IX Item "--break"
741 .IP "\fB\-\-no\-break\fR" 4
742 .IX Item "--no-break"
743 .PD
744 Control how to deal with multiplication overflow and division by zero.
745 \&\fB\-\-trap\fR or \fB\-\-no\-break\fR (which are synonyms) take a trap exception
746 (and only work for Instruction Set Architecture level 2 and higher);
747 \&\fB\-\-break\fR or \fB\-\-no\-trap\fR (also synonyms, and the default) take a
748 break exception.
749 .IP "\fB\-n\fR" 4
750 .IX Item "-n"
751 When this option is used, \fBas\fR will issue a warning every
752 time it generates a nop instruction from a macro.
753 .PP
754 The following options are available when as is configured for
755 an MCore processor.
756 .IP "\fB\-jsri2bsr\fR" 4
757 .IX Item "-jsri2bsr"
758 .PD 0
759 .IP "\fB\-nojsri2bsr\fR" 4
760 .IX Item "-nojsri2bsr"
761 .PD
762 Enable or disable the \s-1JSRI\s0 to \s-1BSR\s0 transformation.  By default this is enabled.
763 The command line option \fB\-nojsri2bsr\fR can be used to disable it.
764 .IP "\fB\-sifilter\fR" 4
765 .IX Item "-sifilter"
766 .PD 0
767 .IP "\fB\-nosifilter\fR" 4
768 .IX Item "-nosifilter"
769 .PD
770 Enable or disable the silicon filter behaviour.  By default this is disabled.
771 The default can be overridden by the \fB\-sifilter\fR command line option.
772 .IP "\fB\-relax\fR" 4
773 .IX Item "-relax"
774 Alter jump instructions for long displacements.
775 .IP "\fB\-mcpu=[210|340]\fR" 4
776 .IX Item "-mcpu=[210|340]"
777 Select the cpu type on the target hardware.  This controls which instructions
778 can be assembled.
779 .IP "\fB\-EB\fR" 4
780 .IX Item "-EB"
781 Assemble for a big endian target.
782 .IP "\fB\-EL\fR" 4
783 .IX Item "-EL"
784 Assemble for a little endian target.
785 .PP
786 See the info pages for documentation of the MMIX-specific options.
787 .SH "SEE ALSO"
788 .IX Header "SEE ALSO"
789 \&\fIgcc\fR\|(1), \fIld\fR\|(1), and the Info entries for \fIbinutils\fR and \fIld\fR.
790 .SH "COPYRIGHT"
791 .IX Header "COPYRIGHT"
792 Copyright (C) 1991, 92, 93, 94, 95, 96, 97, 98, 99, 2000, 2001, 2002 Free Software Foundation, Inc.
793 .PP
794 Permission is granted to copy, distribute and/or modify this document
795 under the terms of the \s-1GNU\s0 Free Documentation License, Version 1.1
796 or any later version published by the Free Software Foundation;
797 with no Invariant Sections, with no Front-Cover Texts, and with no
798 Back-Cover Texts.  A copy of the license is included in the
799 section entitled \*(L"\s-1GNU\s0 Free Documentation License\*(R".