1AS(1) GNU Development Tools AS(1)
2
3
4
6 AS - the portable GNU assembler.
7
9 as [-a[cdghlns][=file]] [--alternate] [-D]
10 [--debug-prefix-map old=new]
11 [--defsym sym=val] [-f] [-g] [--gstabs]
12 [--gstabs+] [--gdwarf-2] [--help] [-I dir] [-J]
13 [-K] [-L] [--listing-lhs-width=NUM]
14 [--listing-lhs-width2=NUM] [--listing-rhs-width=NUM]
15 [--listing-cont-lines=NUM] [--keep-locals] [-o
16 objfile] [-R] [--reduce-memory-overheads] [--statistics]
17 [-v] [-version] [--version] [-W] [--warn]
18 [--fatal-warnings] [-w] [-x] [-Z] [@FILE]
19 [--target-help] [target-options]
20 [--|files ...]
21
22 Target Alpha options:
23 [-mcpu]
24 [-mdebug | -no-mdebug]
25 [-replace | -noreplace]
26 [-relax] [-g] [-Gsize]
27 [-F] [-32addr]
28
29 Target ARC options:
30 [-marc[5|6|7|8]]
31 [-EB|-EL]
32
33 Target ARM options:
34 [-mcpu=processor[+extension...]]
35 [-march=architecture[+extension...]]
36 [-mfpu=floating-point-format]
37 [-mfloat-abi=abi]
38 [-meabi=ver]
39 [-mthumb]
40 [-EB|-EL]
41 [-mapcs-32|-mapcs-26|-mapcs-float|
42 -mapcs-reentrant]
43 [-mthumb-interwork] [-k]
44
45 Target CRIS options:
46 [--underscore | --no-underscore]
47 [--pic] [-N]
48 [--emulation=criself | --emulation=crisaout]
49 [--march=v0_v10 | --march=v10 | --march=v32 |
50 --march=common_v10_v32]
51
52 Target D10V options:
53 [-O]
54
55 Target D30V options:
56 [-O|-n|-N]
57
58 Target H8/300 options:
59 [-h-tick-hex]
60
61 Target i386 options:
62 [--32|--64] [-n]
63 [-march=CPU[+EXTENSION...]] [-mtune=CPU]
64
65 Target i960 options:
66 [-ACA|-ACA_A|-ACB|-ACC|-AKA|-AKB|
67 -AKC|-AMC]
68 [-b] [-no-relax]
69
70 Target IA-64 options:
71 [-mconstant-gp|-mauto-pic]
72 [-milp32|-milp64|-mlp64|-mp64]
73 [-mle|mbe]
74 [-mtune=itanium1|-mtune=itanium2]
75 [-munwind-check=warning|-munwind-check=error]
76 [-mhint.b=ok|-mhint.b=warning|-mhint.b=error]
77 [-x|-xexplicit] [-xauto] [-xdebug]
78
79 Target IP2K options:
80 [-mip2022|-mip2022ext]
81
82 Target M32C options:
83 [-m32c|-m16c] [-relax] [-h-tick-hex]
84
85 Target M32R options:
86 [--m32rx|--[no-]warn-explicit-parallel-conflicts|
87 --W[n]p]
88
89 Target M680X0 options:
90 [-l] [-m68000|-m68010|-m68020|...]
91
92 Target M68HC11 options:
93 [-m68hc11|-m68hc12|-m68hcs12]
94 [-mshort|-mlong]
95 [-mshort-double|-mlong-double]
96 [--force-long-branches] [--short-branches]
97 [--strict-direct-mode] [--print-insn-syntax]
98 [--print-opcodes] [--generate-example]
99
100 Target MCORE options:
101 [-jsri2bsr] [-sifilter] [-relax]
102 [-mcpu=[210|340]] Target MICROBLAZE options:
103
104 Target MIPS options:
105 [-nocpp] [-EL] [-EB] [-O[optimization level]]
106 [-g[debug level]] [-G num] [-KPIC] [-call_shared]
107 [-non_shared] [-xgot [-mvxworks-pic]
108 [-mabi=ABI] [-32] [-n32] [-64] [-mfp32] [-mgp32]
109 [-march=CPU] [-mtune=CPU] [-mips1] [-mips2]
110 [-mips3] [-mips4] [-mips5] [-mips32] [-mips32r2]
111 [-mips64] [-mips64r2]
112 [-construct-floats] [-no-construct-floats]
113 [-trap] [-no-break] [-break] [-no-trap]
114 [-mfix7000] [-mno-fix7000]
115 [-mips16] [-no-mips16]
116 [-msmartmips] [-mno-smartmips]
117 [-mips3d] [-no-mips3d]
118 [-mdmx] [-no-mdmx]
119 [-mdsp] [-mno-dsp]
120 [-mdspr2] [-mno-dspr2]
121 [-mmt] [-mno-mt]
122 [-mdebug] [-no-mdebug]
123 [-mpdr] [-mno-pdr]
124
125 Target MMIX options:
126 [--fixed-special-register-names] [--globalize-symbols]
127 [--gnu-syntax] [--relax] [--no-predefined-symbols]
128 [--no-expand] [--no-merge-gregs] [-x]
129 [--linker-allocated-gregs]
130
131 Target PDP11 options:
132 [-mpic|-mno-pic] [-mall] [-mno-extensions]
133 [-mextension|-mno-extension]
134 [-mcpu] [-mmachine]
135
136 Target picoJava options:
137 [-mb|-me]
138
139 Target PowerPC options:
140 [-mpwrx|-mpwr2|-mpwr|-m601|-mppc|-mppc32|-m603|-m604|
141 -m403|-m405|-mppc64|-m620|-mppc64bridge|-mbooke]
142 [-mcom|-many|-maltivec|-mvsx] [-memb]
143 [-mregnames|-mno-regnames]
144 [-mrelocatable|-mrelocatable-lib]
145 [-mlittle|-mlittle-endian|-mbig|-mbig-endian]
146 [-msolaris|-mno-solaris]
147
148 Target s390 options:
149 [-m31|-m64] [-mesa|-mzarch] [-march=CPU]
150 [-mregnames|-mno-regnames]
151 [-mwarn-areg-zero]
152
153 Target SCORE options:
154 [-EB][-EL][-FIXDD][-NWARN]
155 [-SCORE5][-SCORE5U][-SCORE7][-SCORE3]
156 [-march=score7][-march=score3]
157 [-USE_R1][-KPIC][-O0][-G num][-V]
158
159 Target SPARC options:
160 [-Av6|-Av7|-Av8|-Asparclet|-Asparclite
161 -Av8plus|-Av8plusa|-Av9|-Av9a]
162 [-xarch=v8plus|-xarch=v8plusa] [-bump]
163 [-32|-64]
164
165 Target TIC54X options:
166 [-mcpu=54[123589]|-mcpu=54[56]lp] [-mfar-mode|-mf]
167 [-merrors-to-file <filename>|-me <filename>]
168
169 Target Z80 options:
170 [-z80] [-r800]
171 [ -ignore-undocumented-instructions] [-Wnud]
172 [ -ignore-unportable-instructions] [-Wnup]
173 [ -warn-undocumented-instructions] [-Wud]
174 [ -warn-unportable-instructions] [-Wup]
175 [ -forbid-undocumented-instructions] [-Fud]
176 [ -forbid-unportable-instructions] [-Fup]
177
178 Target Xtensa options:
179 [--[no-]text-section-literals] [--[no-]absolute-literals]
180 [--[no-]target-align] [--[no-]longcalls]
181 [--[no-]transform]
182 [--rename-section oldname=newname]
183
185 GNU as is really a family of assemblers. If you use (or have used) the
186 GNU assembler on one architecture, you should find a fairly similar
187 environment when you use it on another architecture. Each version has
188 much in common with the others, including object file formats, most
189 assembler directives (often called pseudo-ops) and assembler syntax.
190
191 as is primarily intended to assemble the output of the GNU C compiler
192 "gcc" for use by the linker "ld". Nevertheless, we've tried to make as
193 assemble correctly everything that other assemblers for the same
194 machine would assemble. Any exceptions are documented explicitly.
195 This doesn't mean as always uses the same syntax as another assembler
196 for the same architecture; for example, we know of several incompatible
197 versions of 680x0 assembly language syntax.
198
199 Each time you run as it assembles exactly one source program. The
200 source program is made up of one or more files. (The standard input is
201 also a file.)
202
203 You give as a command line that has zero or more input file names. The
204 input files are read (from left file name to right). A command line
205 argument (in any position) that has no special meaning is taken to be
206 an input file name.
207
208 If you give as no file names it attempts to read one input file from
209 the as standard input, which is normally your terminal. You may have
210 to type ctl-D to tell as there is no more program to assemble.
211
212 Use -- if you need to explicitly name the standard input file in your
213 command line.
214
215 If the source is empty, as produces a small, empty object file.
216
217 as may write warnings and error messages to the standard error file
218 (usually your terminal). This should not happen when a compiler runs
219 as automatically. Warnings report an assumption made so that as could
220 keep assembling a flawed program; errors report a grave problem that
221 stops the assembly.
222
223 If you are invoking as via the GNU C compiler, you can use the -Wa
224 option to pass arguments through to the assembler. The assembler
225 arguments must be separated from each other (and the -Wa) by commas.
226 For example:
227
228 gcc -c -g -O -Wa,-alh,-L file.c
229
230 This passes two options to the assembler: -alh (emit a listing to
231 standard output with high-level and assembly source) and -L (retain
232 local symbols in the symbol table).
233
234 Usually you do not need to use this -Wa mechanism, since many compiler
235 command-line options are automatically passed to the assembler by the
236 compiler. (You can call the GNU compiler driver with the -v option to
237 see precisely what options it passes to each compilation pass,
238 including the assembler.)
239
241 @file
242 Read command-line options from file. The options read are inserted
243 in place of the original @file option. If file does not exist, or
244 cannot be read, then the option will be treated literally, and not
245 removed.
246
247 Options in file are separated by whitespace. A whitespace
248 character may be included in an option by surrounding the entire
249 option in either single or double quotes. Any character (including
250 a backslash) may be included by prefixing the character to be
251 included with a backslash. The file may itself contain additional
252 @file options; any such options will be processed recursively.
253
254 -a[cdghlmns]
255 Turn on listings, in any of a variety of ways:
256
257 -ac omit false conditionals
258
259 -ad omit debugging directives
260
261 -ag include general information, like as version and options passed
262
263 -ah include high-level source
264
265 -al include assembly
266
267 -am include macro expansions
268
269 -an omit forms processing
270
271 -as include symbols
272
273 =file
274 set the name of the listing file
275
276 You may combine these options; for example, use -aln for assembly
277 listing without forms processing. The =file option, if used, must
278 be the last one. By itself, -a defaults to -ahls.
279
280 --alternate
281 Begin in alternate macro mode.
282
283 -D Ignored. This option is accepted for script compatibility with
284 calls to other assemblers.
285
286 --debug-prefix-map old=new
287 When assembling files in directory old, record debugging
288 information describing them as in new instead.
289
290 --defsym sym=value
291 Define the symbol sym to be value before assembling the input file.
292 value must be an integer constant. As in C, a leading 0x indicates
293 a hexadecimal value, and a leading 0 indicates an octal value. The
294 value of the symbol can be overridden inside a source file via the
295 use of a ".set" pseudo-op.
296
297 -f "fast"---skip whitespace and comment preprocessing (assume source
298 is compiler output).
299
300 -g
301 --gen-debug
302 Generate debugging information for each assembler source line using
303 whichever debug format is preferred by the target. This currently
304 means either STABS, ECOFF or DWARF2.
305
306 --gstabs
307 Generate stabs debugging information for each assembler line. This
308 may help debugging assembler code, if the debugger can handle it.
309
310 --gstabs+
311 Generate stabs debugging information for each assembler line, with
312 GNU extensions that probably only gdb can handle, and that could
313 make other debuggers crash or refuse to read your program. This
314 may help debugging assembler code. Currently the only GNU
315 extension is the location of the current working directory at
316 assembling time.
317
318 --gdwarf-2
319 Generate DWARF2 debugging information for each assembler line.
320 This may help debugging assembler code, if the debugger can handle
321 it. Note---this option is only supported by some targets, not all
322 of them.
323
324 --help
325 Print a summary of the command line options and exit.
326
327 --target-help
328 Print a summary of all target specific options and exit.
329
330 -I dir
331 Add directory dir to the search list for ".include" directives.
332
333 -J Don't warn about signed overflow.
334
335 -K Issue warnings when difference tables altered for long
336 displacements.
337
338 -L
339 --keep-locals
340 Keep (in the symbol table) local symbols. These symbols start with
341 system-specific local label prefixes, typically .L for ELF systems
342 or L for traditional a.out systems.
343
344 --listing-lhs-width=number
345 Set the maximum width, in words, of the output data column for an
346 assembler listing to number.
347
348 --listing-lhs-width2=number
349 Set the maximum width, in words, of the output data column for
350 continuation lines in an assembler listing to number.
351
352 --listing-rhs-width=number
353 Set the maximum width of an input source line, as displayed in a
354 listing, to number bytes.
355
356 --listing-cont-lines=number
357 Set the maximum number of lines printed in a listing for a single
358 line of input to number + 1.
359
360 -o objfile
361 Name the object-file output from as objfile.
362
363 -R Fold the data section into the text section.
364
365 Set the default size of GAS's hash tables to a prime number close
366 to number. Increasing this value can reduce the length of time it
367 takes the assembler to perform its tasks, at the expense of
368 increasing the assembler's memory requirements. Similarly reducing
369 this value can reduce the memory requirements at the expense of
370 speed.
371
372 --reduce-memory-overheads
373 This option reduces GAS's memory requirements, at the expense of
374 making the assembly processes slower. Currently this switch is a
375 synonym for --hash-size=4051, but in the future it may have other
376 effects as well.
377
378 --statistics
379 Print the maximum space (in bytes) and total time (in seconds) used
380 by assembly.
381
382 --strip-local-absolute
383 Remove local absolute symbols from the outgoing symbol table.
384
385 -v
386 -version
387 Print the as version.
388
389 --version
390 Print the as version and exit.
391
392 -W
393 --no-warn
394 Suppress warning messages.
395
396 --fatal-warnings
397 Treat warnings as errors.
398
399 --warn
400 Don't suppress warning messages or treat them as errors.
401
402 -w Ignored.
403
404 -x Ignored.
405
406 -Z Generate an object file even after errors.
407
408 -- | files ...
409 Standard input, or source files to assemble.
410
411 The following options are available when as is configured for an ARC
412 processor.
413
414 -marc[5|6|7|8]
415 This option selects the core processor variant.
416
417 -EB | -EL
418 Select either big-endian (-EB) or little-endian (-EL) output.
419
420 The following options are available when as is configured for the ARM
421 processor family.
422
423 -mcpu=processor[+extension...]
424 Specify which ARM processor variant is the target.
425
426 -march=architecture[+extension...]
427 Specify which ARM architecture variant is used by the target.
428
429 -mfpu=floating-point-format
430 Select which Floating Point architecture is the target.
431
432 -mfloat-abi=abi
433 Select which floating point ABI is in use.
434
435 -mthumb
436 Enable Thumb only instruction decoding.
437
438 -mapcs-32 | -mapcs-26 | -mapcs-float | -mapcs-reentrant
439 Select which procedure calling convention is in use.
440
441 -EB | -EL
442 Select either big-endian (-EB) or little-endian (-EL) output.
443
444 -mthumb-interwork
445 Specify that the code has been generated with interworking between
446 Thumb and ARM code in mind.
447
448 -k Specify that PIC code has been generated.
449
450 See the info pages for documentation of the CRIS-specific options.
451
452 The following options are available when as is configured for a D10V
453 processor.
454
455 -O Optimize output by parallelizing instructions.
456
457 The following options are available when as is configured for a D30V
458 processor.
459
460 -O Optimize output by parallelizing instructions.
461
462 -n Warn when nops are generated.
463
464 -N Warn when a nop after a 32-bit multiply instruction is generated.
465
466 The following options are available when as is configured for the Intel
467 80960 processor.
468
469 -ACA | -ACA_A | -ACB | -ACC | -AKA | -AKB | -AKC | -AMC
470 Specify which variant of the 960 architecture is the target.
471
472 -b Add code to collect statistics about branches taken.
473
474 -no-relax
475 Do not alter compare-and-branch instructions for long
476 displacements; error if necessary.
477
478 The following options are available when as is configured for the
479 Ubicom IP2K series.
480
481 -mip2022ext
482 Specifies that the extended IP2022 instructions are allowed.
483
484 -mip2022
485 Restores the default behaviour, which restricts the permitted
486 instructions to just the basic IP2022 ones.
487
488 The following options are available when as is configured for the
489 Renesas M32C and M16C processors.
490
491 -m32c
492 Assemble M32C instructions.
493
494 -m16c
495 Assemble M16C instructions (the default).
496
497 -relax
498 Enable support for link-time relaxations.
499
500 -h-tick-hex
501 Support H'00 style hex constants in addition to 0x00 style.
502
503 The following options are available when as is configured for the
504 Renesas M32R (formerly Mitsubishi M32R) series.
505
506 --m32rx
507 Specify which processor in the M32R family is the target. The
508 default is normally the M32R, but this option changes it to the
509 M32RX.
510
511 --warn-explicit-parallel-conflicts or --Wp
512 Produce warning messages when questionable parallel constructs are
513 encountered.
514
515 --no-warn-explicit-parallel-conflicts or --Wnp
516 Do not produce warning messages when questionable parallel
517 constructs are encountered.
518
519 The following options are available when as is configured for the
520 Motorola 68000 series.
521
522 -l Shorten references to undefined symbols, to one word instead of
523 two.
524
525 -m68000 | -m68008 | -m68010 | -m68020 | -m68030
526 | -m68040 | -m68060 | -m68302 | -m68331 | -m68332
527 | -m68333 | -m68340 | -mcpu32 | -m5200
528 Specify what processor in the 68000 family is the target. The
529 default is normally the 68020, but this can be changed at
530 configuration time.
531
532 -m68881 | -m68882 | -mno-68881 | -mno-68882
533 The target machine does (or does not) have a floating-point
534 coprocessor. The default is to assume a coprocessor for 68020,
535 68030, and cpu32. Although the basic 68000 is not compatible with
536 the 68881, a combination of the two can be specified, since it's
537 possible to do emulation of the coprocessor instructions with the
538 main processor.
539
540 -m68851 | -mno-68851
541 The target machine does (or does not) have a memory-management unit
542 coprocessor. The default is to assume an MMU for 68020 and up.
543
544 For details about the PDP-11 machine dependent features options, see
545 PDP-11-Options.
546
547 -mpic | -mno-pic
548 Generate position-independent (or position-dependent) code. The
549 default is -mpic.
550
551 -mall
552 -mall-extensions
553 Enable all instruction set extensions. This is the default.
554
555 -mno-extensions
556 Disable all instruction set extensions.
557
558 -mextension | -mno-extension
559 Enable (or disable) a particular instruction set extension.
560
561 -mcpu
562 Enable the instruction set extensions supported by a particular
563 CPU, and disable all other extensions.
564
565 -mmachine
566 Enable the instruction set extensions supported by a particular
567 machine model, and disable all other extensions.
568
569 The following options are available when as is configured for a
570 picoJava processor.
571
572 -mb Generate "big endian" format output.
573
574 -ml Generate "little endian" format output.
575
576 The following options are available when as is configured for the
577 Motorola 68HC11 or 68HC12 series.
578
579 -m68hc11 | -m68hc12 | -m68hcs12
580 Specify what processor is the target. The default is defined by
581 the configuration option when building the assembler.
582
583 -mshort
584 Specify to use the 16-bit integer ABI.
585
586 -mlong
587 Specify to use the 32-bit integer ABI.
588
589 -mshort-double
590 Specify to use the 32-bit double ABI.
591
592 -mlong-double
593 Specify to use the 64-bit double ABI.
594
595 --force-long-branches
596 Relative branches are turned into absolute ones. This concerns
597 conditional branches, unconditional branches and branches to a sub
598 routine.
599
600 -S | --short-branches
601 Do not turn relative branches into absolute ones when the offset is
602 out of range.
603
604 --strict-direct-mode
605 Do not turn the direct addressing mode into extended addressing
606 mode when the instruction does not support direct addressing mode.
607
608 --print-insn-syntax
609 Print the syntax of instruction in case of error.
610
611 --print-opcodes
612 print the list of instructions with syntax and then exit.
613
614 --generate-example
615 print an example of instruction for each possible instruction and
616 then exit. This option is only useful for testing as.
617
618 The following options are available when as is configured for the SPARC
619 architecture:
620
621 -Av6 | -Av7 | -Av8 | -Asparclet | -Asparclite
622 -Av8plus | -Av8plusa | -Av9 | -Av9a
623 Explicitly select a variant of the SPARC architecture.
624
625 -Av8plus and -Av8plusa select a 32 bit environment. -Av9 and -Av9a
626 select a 64 bit environment.
627
628 -Av8plusa and -Av9a enable the SPARC V9 instruction set with
629 UltraSPARC extensions.
630
631 -xarch=v8plus | -xarch=v8plusa
632 For compatibility with the Solaris v9 assembler. These options are
633 equivalent to -Av8plus and -Av8plusa, respectively.
634
635 -bump
636 Warn when the assembler switches to another architecture.
637
638 The following options are available when as is configured for the 'c54x
639 architecture.
640
641 -mfar-mode
642 Enable extended addressing mode. All addresses and relocations
643 will assume extended addressing (usually 23 bits).
644
645 -mcpu=CPU_VERSION
646 Sets the CPU version being compiled for.
647
648 -merrors-to-file FILENAME
649 Redirect error output to a file, for broken systems which don't
650 support such behaviour in the shell.
651
652 The following options are available when as is configured for a MIPS
653 processor.
654
655 -G num
656 This option sets the largest size of an object that can be
657 referenced implicitly with the "gp" register. It is only accepted
658 for targets that use ECOFF format, such as a DECstation running
659 Ultrix. The default value is 8.
660
661 -EB Generate "big endian" format output.
662
663 -EL Generate "little endian" format output.
664
665 -mips1
666 -mips2
667 -mips3
668 -mips4
669 -mips5
670 -mips32
671 -mips32r2
672 -mips64
673 -mips64r2
674 Generate code for a particular MIPS Instruction Set Architecture
675 level. -mips1 is an alias for -march=r3000, -mips2 is an alias for
676 -march=r6000, -mips3 is an alias for -march=r4000 and -mips4 is an
677 alias for -march=r8000. -mips5, -mips32, -mips32r2, -mips64, and
678 -mips64r2 correspond to generic MIPS V, MIPS32, MIPS32 Release 2,
679 MIPS64, and MIPS64 Release 2 ISA processors, respectively.
680
681 -march=CPU
682 Generate code for a particular MIPS cpu.
683
684 -mtune=cpu
685 Schedule and tune for a particular MIPS cpu.
686
687 -mfix7000
688 -mno-fix7000
689 Cause nops to be inserted if the read of the destination register
690 of an mfhi or mflo instruction occurs in the following two
691 instructions.
692
693 -mdebug
694 -no-mdebug
695 Cause stabs-style debugging output to go into an ECOFF-style
696 .mdebug section instead of the standard ELF .stabs sections.
697
698 -mpdr
699 -mno-pdr
700 Control generation of ".pdr" sections.
701
702 -mgp32
703 -mfp32
704 The register sizes are normally inferred from the ISA and ABI, but
705 these flags force a certain group of registers to be treated as 32
706 bits wide at all times. -mgp32 controls the size of general-
707 purpose registers and -mfp32 controls the size of floating-point
708 registers.
709
710 -mips16
711 -no-mips16
712 Generate code for the MIPS 16 processor. This is equivalent to
713 putting ".set mips16" at the start of the assembly file.
714 -no-mips16 turns off this option.
715
716 -msmartmips
717 -mno-smartmips
718 Enables the SmartMIPS extension to the MIPS32 instruction set. This
719 is equivalent to putting ".set smartmips" at the start of the
720 assembly file. -mno-smartmips turns off this option.
721
722 -mips3d
723 -no-mips3d
724 Generate code for the MIPS-3D Application Specific Extension. This
725 tells the assembler to accept MIPS-3D instructions. -no-mips3d
726 turns off this option.
727
728 -mdmx
729 -no-mdmx
730 Generate code for the MDMX Application Specific Extension. This
731 tells the assembler to accept MDMX instructions. -no-mdmx turns
732 off this option.
733
734 -mdsp
735 -mno-dsp
736 Generate code for the DSP Release 1 Application Specific Extension.
737 This tells the assembler to accept DSP Release 1 instructions.
738 -mno-dsp turns off this option.
739
740 -mdspr2
741 -mno-dspr2
742 Generate code for the DSP Release 2 Application Specific Extension.
743 This option implies -mdsp. This tells the assembler to accept DSP
744 Release 2 instructions. -mno-dspr2 turns off this option.
745
746 -mmt
747 -mno-mt
748 Generate code for the MT Application Specific Extension. This
749 tells the assembler to accept MT instructions. -mno-mt turns off
750 this option.
751
752 --construct-floats
753 --no-construct-floats
754 The --no-construct-floats option disables the construction of
755 double width floating point constants by loading the two halves of
756 the value into the two single width floating point registers that
757 make up the double width register. By default --construct-floats
758 is selected, allowing construction of these floating point
759 constants.
760
761 --emulation=name
762 This option causes as to emulate as configured for some other
763 target, in all respects, including output format (choosing between
764 ELF and ECOFF only), handling of pseudo-opcodes which may generate
765 debugging information or store symbol table information, and
766 default endianness. The available configuration names are:
767 mipsecoff, mipself, mipslecoff, mipsbecoff, mipslelf, mipsbelf.
768 The first two do not alter the default endianness from that of the
769 primary target for which the assembler was configured; the others
770 change the default to little- or big-endian as indicated by the b
771 or l in the name. Using -EB or -EL will override the endianness
772 selection in any case.
773
774 This option is currently supported only when the primary target as
775 is configured for is a MIPS ELF or ECOFF target. Furthermore, the
776 primary target or others specified with --enable-targets=... at
777 configuration time must include support for the other format, if
778 both are to be available. For example, the Irix 5 configuration
779 includes support for both.
780
781 Eventually, this option will support more configurations, with more
782 fine-grained control over the assembler's behavior, and will be
783 supported for more processors.
784
785 -nocpp
786 as ignores this option. It is accepted for compatibility with the
787 native tools.
788
789 --trap
790 --no-trap
791 --break
792 --no-break
793 Control how to deal with multiplication overflow and division by
794 zero. --trap or --no-break (which are synonyms) take a trap
795 exception (and only work for Instruction Set Architecture level 2
796 and higher); --break or --no-trap (also synonyms, and the default)
797 take a break exception.
798
799 -n When this option is used, as will issue a warning every time it
800 generates a nop instruction from a macro.
801
802 The following options are available when as is configured for an MCore
803 processor.
804
805 -jsri2bsr
806 -nojsri2bsr
807 Enable or disable the JSRI to BSR transformation. By default this
808 is enabled. The command line option -nojsri2bsr can be used to
809 disable it.
810
811 -sifilter
812 -nosifilter
813 Enable or disable the silicon filter behaviour. By default this is
814 disabled. The default can be overridden by the -sifilter command
815 line option.
816
817 -relax
818 Alter jump instructions for long displacements.
819
820 -mcpu=[210|340]
821 Select the cpu type on the target hardware. This controls which
822 instructions can be assembled.
823
824 -EB Assemble for a big endian target.
825
826 -EL Assemble for a little endian target.
827
828 See the info pages for documentation of the MMIX-specific options.
829
830 The following options are available when as is configured for the s390
831 processor family.
832
833 -m31
834 -m64
835 Select the word size, either 31/32 bits or 64 bits.
836
837 -mesa
838 -mzarch
839 Select the architecture mode, either the Enterprise System
840 Architecture (esa) or the z/Architecture mode (zarch).
841
842 -march=processor
843 Specify which s390 processor variant is the target, g6, g6, z900,
844 z990, z9-109, z9-ec, or z10.
845
846 -mregnames
847 -mno-regnames
848 Allow or disallow symbolic names for registers.
849
850 -mwarn-areg-zero
851 Warn whenever the operand for a base or index register has been
852 specified but evaluates to zero.
853
854 The following options are available when as is configured for an Xtensa
855 processor.
856
857 --text-section-literals | --no-text-section-literals
858 With --text-section-literals, literal pools are interspersed in the
859 text section. The default is --no-text-section-literals, which
860 places literals in a separate section in the output file. These
861 options only affect literals referenced via PC-relative "L32R"
862 instructions; literals for absolute mode "L32R" instructions are
863 handled separately.
864
865 --absolute-literals | --no-absolute-literals
866 Indicate to the assembler whether "L32R" instructions use absolute
867 or PC-relative addressing. The default is to assume absolute
868 addressing if the Xtensa processor includes the absolute "L32R"
869 addressing option. Otherwise, only the PC-relative "L32R" mode can
870 be used.
871
872 --target-align | --no-target-align
873 Enable or disable automatic alignment to reduce branch penalties at
874 the expense of some code density. The default is --target-align.
875
876 --longcalls | --no-longcalls
877 Enable or disable transformation of call instructions to allow
878 calls across a greater range of addresses. The default is
879 --no-longcalls.
880
881 --transform | --no-transform
882 Enable or disable all assembler transformations of Xtensa
883 instructions. The default is --transform; --no-transform should be
884 used only in the rare cases when the instructions must be exactly
885 as specified in the assembly source.
886
887 --rename-section oldname=newname
888 When generating output sections, rename the oldname section to
889 newname.
890
891 The following options are available when as is configured for a Z80
892 family processor.
893
894 -z80
895 Assemble for Z80 processor.
896
897 -r800
898 Assemble for R800 processor.
899
900 -ignore-undocumented-instructions
901 -Wnud
902 Assemble undocumented Z80 instructions that also work on R800
903 without warning.
904
905 -ignore-unportable-instructions
906 -Wnup
907 Assemble all undocumented Z80 instructions without warning.
908
909 -warn-undocumented-instructions
910 -Wud
911 Issue a warning for undocumented Z80 instructions that also work on
912 R800.
913
914 -warn-unportable-instructions
915 -Wup
916 Issue a warning for undocumented Z80 instructions that do not work
917 on R800.
918
919 -forbid-undocumented-instructions
920 -Fud
921 Treat all undocumented instructions as errors.
922
923 -forbid-unportable-instructions
924 -Fup
925 Treat undocumented Z80 instructions that do not work on R800 as
926 errors.
927
929 gcc(1), ld(1), and the Info entries for binutils and ld.
930
932 Copyright (c) 1991, 92, 93, 94, 95, 96, 97, 98, 99, 2000, 2001, 2002,
933 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
934
935 Permission is granted to copy, distribute and/or modify this document
936 under the terms of the GNU Free Documentation License, Version 1.3 or
937 any later version published by the Free Software Foundation; with no
938 Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
939 Texts. A copy of the license is included in the section entitled "GNU
940 Free Documentation License".
941
942
943
944binutils-2.20.1 2010-03-01 AS(1)