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