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] [-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

DESCRIPTION

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

OPTIONS

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

SEE ALSO

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                     2009-10-16                             AS(1)
Impressum