1AS(1) GNU Development Tools AS(1)
2
3
4
6 AS - the portable GNU assembler.
7
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
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
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
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)