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