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
59       Target i960 options:
60          [-ACA|-ACA_A|-ACB|-ACC|-AKA|-AKB|
61           -AKC|-AMC]
62          [-b] [-no-relax]
63
64       Target IA-64 options:
65          [-mconstant-gp|-mauto-pic]
66          [-milp32|-milp64|-mlp64|-mp64]
67          [-mle|mbe]
68          [-mtune=itanium1|-mtune=itanium2]
69          [-munwind-check=warning|-munwind-check=error]
70          [-mhint.b=ok|-mhint.b=warning|-mhint.b=error]
71          [-x|-xexplicit] [-xauto] [-xdebug]
72
73       Target IP2K options:
74          [-mip2022|-mip2022ext]
75
76       Target M32C options:
77          [-m32c|-m16c]
78
79       Target M32R options:
80          [--m32rx|--[no-]warn-explicit-parallel-conflicts|
81          --W[n]p]
82
83       Target M680X0 options:
84          [-l] [-m68000|-m68010|-m68020|...]
85
86       Target M68HC11 options:
87          [-m68hc11|-m68hc12|-m68hcs12]
88          [-mshort|-mlong]
89          [-mshort-double|-mlong-double]
90          [--force-long-branchs] [--short-branchs]
91          [--strict-direct-mode] [--print-insn-syntax]
92          [--print-opcodes] [--generate-example]
93
94       Target MCORE options:
95          [-jsri2bsr] [-sifilter] [-relax]
96          [-mcpu=[210|340]]
97
98       Target MIPS options:
99          [-nocpp] [-EL] [-EB] [-O[optimization level]]
100          [-g[debug level]] [-G num] [-KPIC] [-call_shared]
101          [-non_shared] [-xgot]
102          [-mabi=ABI] [-32] [-n32] [-64] [-mfp32] [-mgp32]
103          [-march=CPU] [-mtune=CPU] [-mips1] [-mips2]
104          [-mips3] [-mips4] [-mips5] [-mips32] [-mips32r2]
105          [-mips64] [-mips64r2]
106          [-construct-floats] [-no-construct-floats]
107          [-trap] [-no-break] [-break] [-no-trap]
108          [-mfix7000] [-mno-fix7000]
109          [-mips16] [-no-mips16]
110          [-mips3d] [-no-mips3d]
111          [-mdmx] [-no-mdmx]
112          [-mdsp] [-mno-dsp]
113          [-mmt] [-mno-mt]
114          [-mdebug] [-no-mdebug]
115          [-mpdr] [-mno-pdr]
116
117       Target MMIX options:
118          [--fixed-special-register-names] [--globalize-symbols]
119          [--gnu-syntax] [--relax] [--no-predefined-symbols]
120          [--no-expand] [--no-merge-gregs] [-x]
121          [--linker-allocated-gregs]
122
123       Target PDP11 options:
124          [-mpic|-mno-pic] [-mall] [-mno-extensions]
125          [-mextension|-mno-extension]
126          [-mcpu] [-mmachine]
127
128       Target picoJava options:
129          [-mb|-me]
130
131       Target PowerPC options:
132          [-mpwrx|-mpwr2|-mpwr|-m601|-mppc|-mppc32|-m603|-m604|
133           -m403|-m405|-mppc64|-m620|-mppc64bridge|-mbooke|
134           -mbooke32|-mbooke64]
135          [-mcom|-many|-maltivec] [-memb]
136          [-mregnames|-mno-regnames]
137          [-mrelocatable|-mrelocatable-lib]
138          [-mlittle|-mlittle-endian|-mbig|-mbig-endian]
139          [-msolaris|-mno-solaris]
140
141       Target SPARC options:
142          [-Av6|-Av7|-Av8|-Asparclet|-Asparclite
143           -Av8plus|-Av8plusa|-Av9|-Av9a]
144          [-xarch=v8plus|-xarch=v8plusa] [-bump]
145          [-32|-64]
146
147       Target TIC54X options:
148        [-mcpu=54[123589]|-mcpu=54[56]lp] [-mfar-mode|-mf]
149        [-merrors-to-file <filename>|-me <filename>]
150
151       Target Z80 options:
152         [-z80] [-r800]
153         [ -ignore-undocumented-instructions] [-Wnud]
154         [ -ignore-unportable-instructions] [-Wnup]
155         [ -warn-undocumented-instructions] [-Wud]
156         [ -warn-unportable-instructions] [-Wup]
157         [ -forbid-undocumented-instructions] [-Fud]
158         [ -forbid-unportable-instructions] [-Fup]
159
160       Target Xtensa options:
161        [--[no-]text-section-literals] [--[no-]absolute-literals]
162        [--[no-]target-align] [--[no-]longcalls]
163        [--[no-]transform]
164        [--rename-section oldname=newname]
165

DESCRIPTION

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

OPTIONS

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

SEE ALSO

856       gcc(1), ld(1), and the Info entries for binutils and ld.
857
859       Copyright (C) 1991, 92, 93, 94, 95, 96, 97, 98, 99,  2000,  2001,  2002
860       Free Software Foundation, Inc.
861
862       Permission  is  granted to copy, distribute and/or modify this document
863       under the terms of the GNU Free Documentation License, Version  1.1  or
864       any  later  version  published by the Free Software Foundation; with no
865       Invariant Sections, with no Front-Cover Texts, and with  no  Back-Cover
866       Texts.   A copy of the license is included in the section entitled "GNU
867       Free Documentation License".
868
869
870
871binutils-2.17                     2006-06-23                             AS(1)
Impressum