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

NAME

6       AS - the portable GNU assembler.
7

SYNOPSIS

9       as [-a[cdhlns][=file]] [--alternate] [-D]
10        [--defsym sym=val] [-f] [-g] [--gstabs]
11        [--gstabs+] [--gdwarf-2] [--help] [-I dir] [-J]
12        [-K] [-L] [--listing-lhs-width=NUM]
13        [--listing-lhs-width2=NUM] [--listing-rhs-width=NUM]
14        [--listing-cont-lines=NUM] [--keep-locals] [-o
15        objfile] [-R] [--reduce-memory-overheads] [--statistics]
16        [-v] [-version] [--version] [-W] [--warn]
17        [--fatal-warnings] [-w] [-x] [-Z] [@FILE]
18        [--target-help] [target-options]
19        [--files ...]
20
21       Target Alpha options:
22          [-mcpu]
23          [-mdebug -no-mdebug]
24          [-relax] [-g] [-Gsize]
25          [-F] [-32addr]
26
27       Target ARC options:
28          [-marc[5⎪6⎪7⎪8]]
29          [-EB-EL]
30
31       Target ARM options:
32          [-mcpu=processor[+extension...]]
33          [-march=architecture[+extension...]]
34          [-mfpu=floating-point-format]
35          [-mfloat-abi=abi]
36          [-meabi=ver]
37          [-mthumb]
38          [-EB-EL]
39          [-mapcs-32-mapcs-26-mapcs-float
40           -mapcs-reentrant]
41          [-mthumb-interwork] [-k]
42
43       Target CRIS options:
44          [--underscore --no-underscore]
45          [--pic] [-N]
46          [--emulation=criself --emulation=crisaout]
47          [--march=v0_v10   --march=v10   --march=v32  --march=com‐
48       mon_v10_v32]
49
50       Target D10V options:
51          [-O]
52
53       Target D30V options:
54          [-O-n-N]
55
56       Target i386 options:
57          [--32--64] [-n]
58          [-march=CPU] [-mtune=CPU]
59
60       Target i960 options:
61          [-ACA-ACA_A-ACB-ACC-AKA-AKB
62           -AKC-AMC]
63          [-b] [-no-relax]
64
65       Target IA-64 options:
66          [-mconstant-gp-mauto-pic]
67          [-milp32-milp64-mlp64-mp64]
68          [-mlembe]
69          [-mtune=itanium1-mtune=itanium2]
70          [-munwind-check=warning-munwind-check=error]
71          [-mhint.b=ok-mhint.b=warning-mhint.b=error]
72          [-x-xexplicit] [-xauto] [-xdebug]
73
74       Target IP2K options:
75          [-mip2022-mip2022ext]
76
77       Target M32C options:
78          [-m32c-m16c]
79
80       Target M32R options:
81          [--m32rx--[no-]warn-explicit-parallel-conflicts
82          --W[n]p]
83
84       Target M680X0 options:
85          [-l] [-m68000-m68010-m68020⎪...]
86
87       Target M68HC11 options:
88          [-m68hc11-m68hc12-m68hcs12]
89          [-mshort-mlong]
90          [-mshort-double-mlong-double]
91          [--force-long-branches] [--short-branches]
92          [--strict-direct-mode] [--print-insn-syntax]
93          [--print-opcodes] [--generate-example]
94
95       Target MCORE options:
96          [-jsri2bsr] [-sifilter] [-relax]
97          [-mcpu=[210⎪340]]
98
99       Target MIPS options:
100          [-nocpp] [-EL] [-EB] [-O[optimization level]]
101          [-g[debug level]] [-G num] [-KPIC] [-call_shared]
102          [-non_shared] [-xgot]
103          [-mabi=ABI] [-32] [-n32] [-64] [-mfp32] [-mgp32]
104          [-march=CPU] [-mtune=CPU] [-mips1] [-mips2]
105          [-mips3] [-mips4] [-mips5] [-mips32] [-mips32r2]
106          [-mips64] [-mips64r2]
107          [-construct-floats] [-no-construct-floats]
108          [-trap] [-no-break] [-break] [-no-trap]
109          [-mfix7000] [-mno-fix7000]
110          [-mips16] [-no-mips16]
111          [-msmartmips] [-mno-smartmips]
112          [-mips3d] [-no-mips3d]
113          [-mdmx] [-no-mdmx]
114          [-mdsp] [-mno-dsp]
115          [-mmt] [-mno-mt]
116          [-mdebug] [-no-mdebug]
117          [-mpdr] [-mno-pdr]
118
119       Target MMIX options:
120          [--fixed-special-register-names] [--globalize-symbols]
121          [--gnu-syntax] [--relax] [--no-predefined-symbols]
122          [--no-expand] [--no-merge-gregs] [-x]
123          [--linker-allocated-gregs]
124
125       Target PDP11 options:
126          [-mpic-mno-pic] [-mall] [-mno-extensions]
127          [-mextension⎪-mno-extension]
128          [-mcpu] [-mmachine]
129
130       Target picoJava options:
131          [-mb-me]
132
133       Target PowerPC options:
134          [-mpwrx-mpwr2-mpwr-m601-mppc-mppc32-m603-m604
135           -m403-m405-mppc64-m620-mppc64bridge-mbooke
136           -mbooke32-mbooke64]
137          [-mcom-many-maltivec] [-memb]
138          [-mregnames-mno-regnames]
139          [-mrelocatable-mrelocatable-lib]
140          [-mlittle-mlittle-endian-mbig-mbig-endian]
141          [-msolaris-mno-solaris]
142
143       Target SPARC options:
144          [-Av6-Av7-Av8-Asparclet-Asparclite
145           -Av8plus-Av8plusa-Av9-Av9a]
146          [-xarch=v8plus-xarch=v8plusa] [-bump]
147          [-32-64]
148
149       Target TIC54X options:
150        [-mcpu=54[123589]-mcpu=54[56]lp] [-mfar-mode-mf]
151        [-merrors-to-file <filename>⎪-me <filename>]
152
153       Target Z80 options:
154         [-z80] [-r800]
155         [ -ignore-undocumented-instructions] [-Wnud]
156         [ -ignore-unportable-instructions] [-Wnup]
157         [ -warn-undocumented-instructions] [-Wud]
158         [ -warn-unportable-instructions] [-Wup]
159         [ -forbid-undocumented-instructions] [-Fud]
160         [ -forbid-unportable-instructions] [-Fup]
161
162       Target Xtensa options:
163        [--[no-]text-section-literals] [--[no-]absolute-literals]
164        [--[no-]target-align] [--[no-]longcalls]
165        [--[no-]transform]
166        [--rename-section oldname=newname]
167

DESCRIPTION

169       GNU as is really a family of assemblers.  If you use (or have used) the
170       GNU  assembler  on  one  architecture, you should find a fairly similar
171       environment when you use it on another architecture.  Each version  has
172       much  in  common  with  the others, including object file formats, most
173       assembler directives (often called pseudo-ops) and assembler syntax.
174
175       as is primarily intended to assemble the output of the GNU  C  compiler
176       "gcc" for use by the linker "ld".  Nevertheless, we've tried to make as
177       assemble correctly  everything  that  other  assemblers  for  the  same
178       machine  would  assemble.   Any  exceptions  are documented explicitly.
179       This doesn't mean as always uses the same syntax as  another  assembler
180       for the same architecture; for example, we know of several incompatible
181       versions of 680x0 assembly language syntax.
182
183       Each time you run as it assembles  exactly  one  source  program.   The
184       source program is made up of one or more files.  (The standard input is
185       also a file.)
186
187       You give as a command line that has zero or more input file names.  The
188       input  files  are  read (from left file name to right).  A command line
189       argument (in any position) that has no special meaning is taken  to  be
190       an input file name.
191
192       If  you  give  as no file names it attempts to read one input file from
193       the as standard input, which is normally your terminal.  You  may  have
194       to type ctl-D to tell as there is no more program to assemble.
195
196       Use  --  if you need to explicitly name the standard input file in your
197       command line.
198
199       If the source is empty, as produces a small, empty object file.
200
201       as may write warnings and error messages to  the  standard  error  file
202       (usually  your terminal).  This should not happen when  a compiler runs
203       as automatically.  Warnings report an assumption made so that as  could
204       keep  assembling  a  flawed program; errors report a grave problem that
205       stops the assembly.
206
207       If you are invoking as via the GNU C compiler,  you  can  use  the  -Wa
208       option to pass arguments through to the assembler.  The assembler argu‐
209       ments must be separated from each other (and the -Wa) by  commas.   For
210       example:
211
212               gcc -c -g -O -Wa,-alh,-L file.c
213
214       This passes two options to the assembler: -alh (emit a listing to stan‐
215       dard output with high-level and assembly source) and -L  (retain  local
216       symbols in the symbol table).
217
218       Usually  you do not need to use this -Wa mechanism, since many compiler
219       command-line options are automatically passed to the assembler  by  the
220       compiler.   (You can call the GNU compiler driver with the -v option to
221       see precisely what options it passes to each compilation pass,  includ‐
222       ing the assembler.)
223

OPTIONS

225       @file
226           Read command-line options from file.  The options read are inserted
227           in place of the original @file option.  If file does not exist,  or
228           cannot  be read, then the option will be treated literally, and not
229           removed.
230
231           Options in file are separated by whitespace.  A whitespace  charac‐
232           ter  may  be included in an option by surrounding the entire option
233           in either single or double  quotes.   Any  character  (including  a
234           backslash)  may  be  included  by  prefixing  the  character  to be
235           included with a backslash.  The file may itself contain  additional
236           @file options; any such options will be processed recursively.
237
238       -a[cdhlmns]
239           Turn on listings, in any of a variety of ways:
240
241           -ac omit false conditionals
242
243           -ad omit debugging directives
244
245           -ah include high-level source
246
247           -al include assembly
248
249           -am include macro expansions
250
251           -an omit forms processing
252
253           -as include symbols
254
255           =file
256               set the name of the listing file
257
258           You  may  combine these options; for example, use -aln for assembly
259           listing without forms processing.  The =file option, if used,  must
260           be the last one.  By itself, -a defaults to -ahls.
261
262       --alternate
263           Begin in alternate macro mode.
264
265       -D  Ignored.   This  option  is  accepted for script compatibility with
266           calls to other assemblers.
267
268       --defsym sym=value
269           Define the symbol sym to be value before assembling the input file.
270           value must be an integer constant.  As in C, a leading 0x indicates
271           a hexadecimal value, and a leading 0 indicates an octal value.
272
273       -f  "fast"---skip whitespace and comment preprocessing  (assume  source
274           is compiler output).
275
276       -g
277       --gen-debug
278           Generate debugging information for each assembler source line using
279           whichever debug format is preferred by the target.  This  currently
280           means either STABS, ECOFF or DWARF2.
281
282       --gstabs
283           Generate stabs debugging information for each assembler line.  This
284           may help debugging assembler code, if the debugger can handle it.
285
286       --gstabs+
287           Generate stabs debugging information for each assembler line,  with
288           GNU  extensions  that  probably only gdb can handle, and that could
289           make other debuggers crash or refuse to read  your  program.   This
290           may  help  debugging assembler code.  Currently the only GNU exten‐
291           sion is the location of the current working directory at assembling
292           time.
293
294       --gdwarf-2
295           Generate  DWARF2  debugging  information  for  each assembler line.
296           This may help debugging assembler code, if the debugger can  handle
297           it.   Note---this option is only supported by some targets, not all
298           of them.
299
300       --help
301           Print a summary of the command line options and exit.
302
303       --target-help
304           Print a summary of all target specific options and exit.
305
306       -I dir
307           Add directory dir to the search list for ".include" directives.
308
309       -J  Don't warn about signed overflow.
310
311       -K  Issue warnings when difference tables altered  for  long  displace‐
312           ments.
313
314       -L
315       --keep-locals
316           Keep (in the symbol table) local symbols.  These symbols start with
317           system-specific local label prefixes, typically .L for ELF  systems
318           or L for traditional a.out systems.
319
320       --listing-lhs-width=number
321           Set  the  maximum width, in words, of the output data column for an
322           assembler listing to number.
323
324       --listing-lhs-width2=number
325           Set the maximum width, in words, of the output data column for con‐
326           tinuation lines in an assembler listing to number.
327
328       --listing-rhs-width=number
329           Set  the  maximum  width of an input source line, as displayed in a
330           listing, to number bytes.
331
332       --listing-cont-lines=number
333           Set the maximum number of lines printed in a listing for  a  single
334           line of input to number + 1.
335
336       -o objfile
337           Name the object-file output from as objfile.
338
339       -R  Fold the data section into the text section.
340
341           Set  the  default size of GAS's hash tables to a prime number close
342           to number.  Increasing this value can reduce the length of time  it
343           takes  the  assembler  to  perform  its  tasks,  at  the expense of
344           increasing the assembler's memory requirements.  Similarly reducing
345           this  value  can  reduce  the memory requirements at the expense of
346           speed.
347
348       --reduce-memory-overheads
349           This option reduces GAS's memory requirements, at  the  expense  of
350           making  the  assembly processes slower.  Currently this switch is a
351           synonym for --hash-size=4051, but in the future it may  have  other
352           effects as well.
353
354       --statistics
355           Print the maximum space (in bytes) and total time (in seconds) used
356           by assembly.
357
358       --strip-local-absolute
359           Remove local absolute symbols from the outgoing symbol table.
360
361       -v
362       -version
363           Print the as version.
364
365       --version
366           Print the as version and exit.
367
368       -W
369       --no-warn
370           Suppress warning messages.
371
372       --fatal-warnings
373           Treat warnings as errors.
374
375       --warn
376           Don't suppress warning messages or treat them as errors.
377
378       -w  Ignored.
379
380       -x  Ignored.
381
382       -Z  Generate an object file even after errors.
383
384       -- ⎪ files ...
385           Standard input, or source files to assemble.
386
387       The following options are available when as is configured  for  an  ARC
388       processor.
389
390       -marc[5⎪6⎪7⎪8]
391           This option selects the core processor variant.
392
393       -EB ⎪ -EL
394           Select either big-endian (-EB) or little-endian (-EL) output.
395
396       The  following  options are available when as is configured for the ARM
397       processor family.
398
399       -mcpu=processor[+extension...]
400           Specify which ARM processor variant is the target.
401
402       -march=architecture[+extension...]
403           Specify which ARM architecture variant is used by the target.
404
405       -mfpu=floating-point-format
406           Select which Floating Point architecture is the target.
407
408       -mfloat-abi=abi
409           Select which floating point ABI is in use.
410
411       -mthumb
412           Enable Thumb only instruction decoding.
413
414       -mapcs-32 ⎪ -mapcs-26 ⎪ -mapcs-float ⎪ -mapcs-reentrant
415           Select which procedure calling convention is in use.
416
417       -EB ⎪ -EL
418           Select either big-endian (-EB) or little-endian (-EL) output.
419
420       -mthumb-interwork
421           Specify that the code has been generated with interworking  between
422           Thumb and ARM code in mind.
423
424       -k  Specify that PIC code has been generated.
425
426       See the info pages for documentation of the CRIS-specific options.
427
428       The  following  options  are available when as is configured for a D10V
429       processor.
430
431       -O  Optimize output by parallelizing instructions.
432
433       The following options are available when as is configured  for  a  D30V
434       processor.
435
436       -O  Optimize output by parallelizing instructions.
437
438       -n  Warn when nops are generated.
439
440       -N  Warn when a nop after a 32-bit multiply instruction is generated.
441
442       The following options are available when as is configured for the Intel
443       80960 processor.
444
445       -ACA ⎪ -ACA_A ⎪ -ACB ⎪ -ACC ⎪ -AKA ⎪ -AKB ⎪ -AKC ⎪ -AMC
446           Specify which variant of the 960 architecture is the target.
447
448       -b  Add code to collect statistics about branches taken.
449
450       -no-relax
451           Do not alter compare-and-branch  instructions  for  long  displace‐
452           ments; error if necessary.
453
454       The  following options are available when as is configured for the Ubi‐
455       com IP2K series.
456
457       -mip2022ext
458           Specifies that the extended IP2022 instructions are allowed.
459
460       -mip2022
461           Restores the  default  behaviour,  which  restricts  the  permitted
462           instructions to just the basic IP2022 ones.
463
464       The following options are available when as is configured for the Rene‐
465       sas M32C and M16C processors.
466
467       -m32c
468           Assemble M32C instructions.
469
470       -m16c
471           Assemble M16C instructions (the default).
472
473       The following options are available when as is configured for the Rene‐
474       sas M32R (formerly Mitsubishi M32R) series.
475
476       --m32rx
477           Specify  which  processor  in  the  M32R family is the target.  The
478           default is normally the M32R, but this option  changes  it  to  the
479           M32RX.
480
481       --warn-explicit-parallel-conflicts or --Wp
482           Produce  warning messages when questionable parallel constructs are
483           encountered.
484
485       --no-warn-explicit-parallel-conflicts or --Wnp
486           Do not produce warning messages  when  questionable  parallel  con‐
487           structs are encountered.
488
489       The  following  options  are  available  when  as is configured for the
490       Motorola 68000 series.
491
492       -l  Shorten references to undefined symbols, to  one  word  instead  of
493           two.
494
495       -m68000 ⎪ -m68008 ⎪ -m68010 ⎪ -m68020 ⎪ -m68030
496       ⎪ -m68040 ⎪ -m68060 ⎪ -m68302 ⎪ -m68331 ⎪ -m68332
497       ⎪ -m68333 ⎪ -m68340 ⎪ -mcpu32 ⎪ -m5200
498           Specify  what  processor  in  the  68000 family is the target.  The
499           default is normally the 68020, but this can be changed at  configu‐
500           ration time.
501
502       -m68881 ⎪ -m68882 ⎪ -mno-68881 ⎪ -mno-68882
503           The  target machine does (or does not) have a floating-point copro‐
504           cessor.  The default is to assume a coprocessor for  68020,  68030,
505           and  cpu32.   Although  the  basic 68000 is not compatible with the
506           68881, a combination of the two can be specified, since it's possi‐
507           ble  to  do emulation of the coprocessor instructions with the main
508           processor.
509
510       -m68851 ⎪ -mno-68851
511           The target machine does (or does not) have a memory-management unit
512           coprocessor.  The default is to assume an MMU for 68020 and up.
513
514       For  details  about  the PDP-11 machine dependent features options, see
515       PDP-11-Options.
516
517       -mpic ⎪ -mno-pic
518           Generate position-independent (or  position-dependent)  code.   The
519           default is -mpic.
520
521       -mall
522       -mall-extensions
523           Enable all instruction set extensions.  This is the default.
524
525       -mno-extensions
526           Disable all instruction set extensions.
527
528       -mextension ⎪ -mno-extension
529           Enable (or disable) a particular instruction set extension.
530
531       -mcpu
532           Enable  the  instruction  set  extensions supported by a particular
533           CPU, and disable all other extensions.
534
535       -mmachine
536           Enable the instruction set extensions  supported  by  a  particular
537           machine model, and disable all other extensions.
538
539       The  following  options are available when as is configured for a pico‐
540       Java processor.
541
542       -mb Generate "big endian" format output.
543
544       -ml Generate "little endian" format output.
545
546       The following options are available  when  as  is  configured  for  the
547       Motorola 68HC11 or 68HC12 series.
548
549       -m68hc11 ⎪ -m68hc12 ⎪ -m68hcs12
550           Specify  what  processor  is the target.  The default is defined by
551           the configuration option when building the assembler.
552
553       -mshort
554           Specify to use the 16-bit integer ABI.
555
556       -mlong
557           Specify to use the 32-bit integer ABI.
558
559       -mshort-double
560           Specify to use the 32-bit double ABI.
561
562       -mlong-double
563           Specify to use the 64-bit double ABI.
564
565       --force-long-branches
566           Relative branches are turned into absolute ones. This concerns con‐
567           ditional  branches,  unconditional  branches  and branches to a sub
568           routine.
569
570       -S ⎪ --short-branches
571           Do not turn relative branches into absolute ones when the offset is
572           out of range.
573
574       --strict-direct-mode
575           Do  not  turn  the  direct addressing mode into extended addressing
576           mode when the instruction does not support direct addressing mode.
577
578       --print-insn-syntax
579           Print the syntax of instruction in case of error.
580
581       --print-opcodes
582           print the list of instructions with syntax and then exit.
583
584       --generate-example
585           print an example of instruction for each possible  instruction  and
586           then exit.  This option is only useful for testing as.
587
588       The following options are available when as is configured for the SPARC
589       architecture:
590
591       -Av6 ⎪ -Av7 ⎪ -Av8 ⎪ -Asparclet ⎪ -Asparclite
592       -Av8plus ⎪ -Av8plusa ⎪ -Av9 ⎪ -Av9a
593           Explicitly select a variant of the SPARC architecture.
594
595           -Av8plus and -Av8plusa select a 32 bit environment.  -Av9 and -Av9a
596           select a 64 bit environment.
597
598           -Av8plusa and -Av9a enable the SPARC V9 instruction set with Ultra‐
599           SPARC extensions.
600
601       -xarch=v8plus ⎪ -xarch=v8plusa
602           For compatibility with the Solaris v9 assembler.  These options are
603           equivalent to -Av8plus and -Av8plusa, respectively.
604
605       -bump
606           Warn when the assembler switches to another architecture.
607
608       The following options are available when as is configured for the 'c54x
609       architecture.
610
611       -mfar-mode
612           Enable extended addressing mode.   All  addresses  and  relocations
613           will assume extended addressing (usually 23 bits).
614
615       -mcpu=CPU_VERSION
616           Sets the CPU version being compiled for.
617
618       -merrors-to-file FILENAME
619           Redirect  error  output  to  a file, for broken systems which don't
620           support such behaviour in the shell.
621
622       The following options are available when as is configured  for  a  MIPS
623       processor.
624
625       -G num
626           This  option  sets the largest size of an object that can be refer‐
627           enced implicitly with the "gp" register.  It is only  accepted  for
628           targets that use ECOFF format, such as a DECstation running Ultrix.
629           The default value is 8.
630
631       -EB Generate "big endian" format output.
632
633       -EL Generate "little endian" format output.
634
635       -mips1
636       -mips2
637       -mips3
638       -mips4
639       -mips5
640       -mips32
641       -mips32r2
642       -mips64
643       -mips64r2
644           Generate code for a particular MIPS  Instruction  Set  Architecture
645           level.  -mips1 is an alias for -march=r3000, -mips2 is an alias for
646           -march=r6000, -mips3 is an alias for -march=r4000 and -mips4 is  an
647           alias  for  -march=r8000.  -mips5, -mips32, -mips32r2, -mips64, and
648           -mips64r2 correspond to generic MIPS V, MIPS32, MIPS32  Release  2,
649           MIPS64, and MIPS64 Release 2 ISA processors, respectively.
650
651       -march=CPU
652           Generate code for a particular MIPS cpu.
653
654       -mtune=cpu
655           Schedule and tune for a particular MIPS cpu.
656
657       -mfix7000
658       -mno-fix7000
659           Cause  nops  to be inserted if the read of the destination register
660           of an mfhi or mflo instruction occurs in the following two instruc‐
661           tions.
662
663       -mdebug
664       -no-mdebug
665           Cause  stabs-style debugging output to go into an ECOFF-style .mde‐
666           bug section instead of the standard ELF .stabs sections.
667
668       -mpdr
669       -mno-pdr
670           Control generation of ".pdr" sections.
671
672       -mgp32
673       -mfp32
674           The register sizes are normally inferred from the ISA and ABI,  but
675           these  flags force a certain group of registers to be treated as 32
676           bits wide at all times.  -mgp32 controls the size  of  general-pur‐
677           pose  registers and -mfp32 controls the size of floating-point reg‐
678           isters.
679
680       -mips16
681       -no-mips16
682           Generate code for the MIPS 16 processor.   This  is  equivalent  to
683           putting   ".set   mips16"  at  the  start  of  the  assembly  file.
684           -no-mips16 turns off this option.
685
686       -msmartmips
687       -mno-smartmips
688           Enables the SmartMIPS extension to the MIPS32 instruction set. This
689           is  equivalent  to  putting  ".set  smartmips"  at the start of the
690           assembly file.  -mno-smartmips turns off this option.
691
692       -mips3d
693       -no-mips3d
694           Generate code for the MIPS-3D Application Specific Extension.  This
695           tells  the  assembler  to  accept MIPS-3D instructions.  -no-mips3d
696           turns off this option.
697
698       -mdmx
699       -no-mdmx
700           Generate code for the MDMX Application  Specific  Extension.   This
701           tells  the  assembler  to accept MDMX instructions.  -no-mdmx turns
702           off this option.
703
704       -mdsp
705       -mno-dsp
706           Generate code for the DSP  Application  Specific  Extension.   This
707           tells the assembler to accept DSP instructions.  -mno-dsp turns off
708           this option.
709
710       -mmt
711       -mno-mt
712           Generate code for the  MT  Application  Specific  Extension.   This
713           tells  the  assembler to accept MT instructions.  -mno-mt turns off
714           this option.
715
716       --construct-floats
717       --no-construct-floats
718           The --no-construct-floats option disables the construction of  dou‐
719           ble width floating point constants by loading the two halves of the
720           value into the two single width floating point registers that  make
721           up  the  double  width  register.  By default --construct-floats is
722           selected, allowing construction of these floating point constants.
723
724       --emulation=name
725           This option causes as to emulate as configured for some other  tar‐
726           get, in all respects, including output format (choosing between ELF
727           and ECOFF only), handling  of  pseudo-opcodes  which  may  generate
728           debugging  information  or  store  symbol  table  information,  and
729           default endianness.  The available configuration names are: mipsec‐
730           off,  mipself,  mipslecoff,  mipsbecoff,  mipslelf,  mipsbelf.  The
731           first two do not alter the default endianness from that of the pri‐
732           mary  target  for  which  the  assembler was configured; the others
733           change the default to little- or big-endian as indicated by  the  b
734           or  l  in  the name.  Using -EB or -EL will override the endianness
735           selection in any case.
736
737           This option is currently supported only when the primary target  as
738           is  configured for is a MIPS ELF or ECOFF target.  Furthermore, the
739           primary target or others  specified  with  --enable-targets=...  at
740           configuration  time  must  include support for the other format, if
741           both are to be available.  For example, the  Irix  5  configuration
742           includes support for both.
743
744           Eventually, this option will support more configurations, with more
745           fine-grained control over the assembler's  behavior,  and  will  be
746           supported for more processors.
747
748       -nocpp
749           as  ignores this option.  It is accepted for compatibility with the
750           native tools.
751
752       --trap
753       --no-trap
754       --break
755       --no-break
756           Control how to deal with multiplication overflow  and  division  by
757           zero.  --trap or --no-break (which are synonyms) take a trap excep‐
758           tion (and only work for Instruction Set Architecture  level  2  and
759           higher); --break or --no-trap (also synonyms, and the default) take
760           a break exception.
761
762       -n  When this option is used, as will issue a  warning  every  time  it
763           generates a nop instruction from a macro.
764
765       The  following options are available when as is configured for an MCore
766       processor.
767
768       -jsri2bsr
769       -nojsri2bsr
770           Enable or disable the JSRI to BSR transformation.  By default  this
771           is  enabled.   The  command  line option -nojsri2bsr can be used to
772           disable it.
773
774       -sifilter
775       -nosifilter
776           Enable or disable the silicon filter behaviour.  By default this is
777           disabled.   The  default can be overridden by the -sifilter command
778           line option.
779
780       -relax
781           Alter jump instructions for long displacements.
782
783       -mcpu=[210⎪340]
784           Select the cpu type on the target hardware.   This  controls  which
785           instructions can be assembled.
786
787       -EB Assemble for a big endian target.
788
789       -EL Assemble for a little endian target.
790
791       See the info pages for documentation of the MMIX-specific options.
792
793       The following options are available when as is configured for an Xtensa
794       processor.
795
796       --text-section-literals ⎪ --no-text-section-literals
797           With --text-section-literals, literal pools are interspersed in the
798           text  section.   The  default  is --no-text-section-literals, which
799           places literals in a separate section in the  output  file.   These
800           options  only  affect  literals  referenced  via PC-relative "L32R"
801           instructions; literals for absolute mode  "L32R"  instructions  are
802           handled separately.
803
804       --absolute-literals ⎪ --no-absolute-literals
805           Indicate  to the assembler whether "L32R" instructions use absolute
806           or PC-relative addressing.   The  default  is  to  assume  absolute
807           addressing  if  the  Xtensa  processor includes the absolute "L32R"
808           addressing option.  Otherwise, only the PC-relative "L32R" mode can
809           be used.
810
811       --target-align ⎪ --no-target-align
812           Enable or disable automatic alignment to reduce branch penalties at
813           the expense of some code density.  The default is --target-align.
814
815       --longcalls ⎪ --no-longcalls
816           Enable or disable transformation  of  call  instructions  to  allow
817           calls  across  a  greater  range  of  addresses.   The  default  is
818           --no-longcalls.
819
820       --transform ⎪ --no-transform
821           Enable or disable all assembler transformations of Xtensa  instruc‐
822           tions.   The  default is --transform; --no-transform should be used
823           only in the rare cases when the instructions  must  be  exactly  as
824           specified in the assembly source.
825
826       The  following  options  are  available when as is configured for a Z80
827       family processor.
828
829       -z80
830           Assemble for Z80 processor.
831
832       -r800
833           Assemble for R800 processor.
834
835       -ignore-undocumented-instructions
836       -Wnud
837           Assemble undocumented Z80 instructions that also work on R800 with‐
838           out warning.
839
840       -ignore-unportable-instructions
841       -Wnup
842           Assemble all undocumented Z80 instructions without warning.
843
844       -warn-undocumented-instructions
845       -Wud
846           Issue a warning for undocumented Z80 instructions that also work on
847           R800.
848
849       -warn-unportable-instructions
850       -Wup
851           Issue a warning for undocumented Z80 instructions that do not  work
852           on R800.
853
854       -forbid-undocumented-instructions
855       -Fud
856           Treat all undocumented instructions as errors.
857
858       -forbid-unportable-instructions
859       -Fup
860           Treat  undocumented  Z80  instructions  that do not work on R800 as
861           errors.
862

SEE ALSO

864       gcc(1), ld(1), and the Info entries for binutils and ld.
865
867       Copyright (C) 1991, 92, 93, 94, 95, 96, 97, 98, 99, 2000,  2001,  2002,
868       2006 Free Software Foundation, Inc.
869
870       Permission  is  granted to copy, distribute and/or modify this document
871       under the terms of the GNU Free Documentation License, Version  1.1  or
872       any  later  version  published by the Free Software Foundation; with no
873       Invariant Sections, with no Front-Cover Texts, and with  no  Back-Cover
874       Texts.   A copy of the license is included in the section entitled "GNU
875       Free Documentation License".
876
877
878
879binutils-2.17.50.0.12-4           2007-04-14                             AS(1)
Impressum