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