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

DESCRIPTION

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

OPTIONS

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

SEE ALSO

755       gcc(1), ld(1), and the Info entries for binutils and ld.
756
758       Copyright (C) 1991, 92, 93, 94, 95, 96, 97, 98, 99,  2000,  2001,  2002
759       Free Software Foundation, Inc.
760
761       Permission  is  granted to copy, distribute and/or modify this document
762       under the terms of the GNU Free Documentation License, Version  1.1  or
763       any  later  version  published by the Free Software Foundation; with no
764       Invariant Sections, with no Front-Cover Texts, and with  no  Back-Cover
765       Texts.  A copy of the license is included in the section entitled ``GNU
766       Free Documentation License''.
767
768
769
770binutils-2.16.1                   2005-06-12                             AS(1)
Impressum