1AS(1)                        GNU Development Tools                       AS(1)
2
3
4

NAME

6       AS - the portable GNU assembler.
7

SYNOPSIS

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

DESCRIPTION

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

OPTIONS

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

SEE ALSO

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)
Impressum