OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-stable/] [binutils-2.20.1/] [gas/] [doc/] [as.1] - Blame information for rev 833

Go to most recent revision | Details | Compare with Previous | View Log

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

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.