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