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 [-march=CPU] [-mtune=CPU]
59
60 Target i960 options:
61 [-ACA⎪-ACA_A⎪-ACB⎪-ACC⎪-AKA⎪-AKB⎪
62 -AKC⎪-AMC]
63 [-b] [-no-relax]
64
65 Target IA-64 options:
66 [-mconstant-gp⎪-mauto-pic]
67 [-milp32⎪-milp64⎪-mlp64⎪-mp64]
68 [-mle⎪mbe]
69 [-mtune=itanium1⎪-mtune=itanium2]
70 [-munwind-check=warning⎪-munwind-check=error]
71 [-mhint.b=ok⎪-mhint.b=warning⎪-mhint.b=error]
72 [-x⎪-xexplicit] [-xauto] [-xdebug]
73
74 Target IP2K options:
75 [-mip2022⎪-mip2022ext]
76
77 Target M32C options:
78 [-m32c⎪-m16c]
79
80 Target M32R options:
81 [--m32rx⎪--[no-]warn-explicit-parallel-conflicts⎪
82 --W[n]p]
83
84 Target M680X0 options:
85 [-l] [-m68000⎪-m68010⎪-m68020⎪...]
86
87 Target M68HC11 options:
88 [-m68hc11⎪-m68hc12⎪-m68hcs12]
89 [-mshort⎪-mlong]
90 [-mshort-double⎪-mlong-double]
91 [--force-long-branches] [--short-branches]
92 [--strict-direct-mode] [--print-insn-syntax]
93 [--print-opcodes] [--generate-example]
94
95 Target MCORE options:
96 [-jsri2bsr] [-sifilter] [-relax]
97 [-mcpu=[210⎪340]]
98
99 Target MIPS options:
100 [-nocpp] [-EL] [-EB] [-O[optimization level]]
101 [-g[debug level]] [-G num] [-KPIC] [-call_shared]
102 [-non_shared] [-xgot]
103 [-mabi=ABI] [-32] [-n32] [-64] [-mfp32] [-mgp32]
104 [-march=CPU] [-mtune=CPU] [-mips1] [-mips2]
105 [-mips3] [-mips4] [-mips5] [-mips32] [-mips32r2]
106 [-mips64] [-mips64r2]
107 [-construct-floats] [-no-construct-floats]
108 [-trap] [-no-break] [-break] [-no-trap]
109 [-mfix7000] [-mno-fix7000]
110 [-mips16] [-no-mips16]
111 [-msmartmips] [-mno-smartmips]
112 [-mips3d] [-no-mips3d]
113 [-mdmx] [-no-mdmx]
114 [-mdsp] [-mno-dsp]
115 [-mmt] [-mno-mt]
116 [-mdebug] [-no-mdebug]
117 [-mpdr] [-mno-pdr]
118
119 Target MMIX options:
120 [--fixed-special-register-names] [--globalize-symbols]
121 [--gnu-syntax] [--relax] [--no-predefined-symbols]
122 [--no-expand] [--no-merge-gregs] [-x]
123 [--linker-allocated-gregs]
124
125 Target PDP11 options:
126 [-mpic⎪-mno-pic] [-mall] [-mno-extensions]
127 [-mextension⎪-mno-extension]
128 [-mcpu] [-mmachine]
129
130 Target picoJava options:
131 [-mb⎪-me]
132
133 Target PowerPC options:
134 [-mpwrx⎪-mpwr2⎪-mpwr⎪-m601⎪-mppc⎪-mppc32⎪-m603⎪-m604⎪
135 -m403⎪-m405⎪-mppc64⎪-m620⎪-mppc64bridge⎪-mbooke⎪
136 -mbooke32⎪-mbooke64]
137 [-mcom⎪-many⎪-maltivec] [-memb]
138 [-mregnames⎪-mno-regnames]
139 [-mrelocatable⎪-mrelocatable-lib]
140 [-mlittle⎪-mlittle-endian⎪-mbig⎪-mbig-endian]
141 [-msolaris⎪-mno-solaris]
142
143 Target SPARC options:
144 [-Av6⎪-Av7⎪-Av8⎪-Asparclet⎪-Asparclite
145 -Av8plus⎪-Av8plusa⎪-Av9⎪-Av9a]
146 [-xarch=v8plus⎪-xarch=v8plusa] [-bump]
147 [-32⎪-64]
148
149 Target TIC54X options:
150 [-mcpu=54[123589]⎪-mcpu=54[56]lp] [-mfar-mode⎪-mf]
151 [-merrors-to-file <filename>⎪-me <filename>]
152
153 Target Z80 options:
154 [-z80] [-r800]
155 [ -ignore-undocumented-instructions] [-Wnud]
156 [ -ignore-unportable-instructions] [-Wnup]
157 [ -warn-undocumented-instructions] [-Wud]
158 [ -warn-unportable-instructions] [-Wup]
159 [ -forbid-undocumented-instructions] [-Fud]
160 [ -forbid-unportable-instructions] [-Fup]
161
162 Target Xtensa options:
163 [--[no-]text-section-literals] [--[no-]absolute-literals]
164 [--[no-]target-align] [--[no-]longcalls]
165 [--[no-]transform]
166 [--rename-section oldname=newname]
167
169 GNU as is really a family of assemblers. If you use (or have used) the
170 GNU assembler on one architecture, you should find a fairly similar
171 environment when you use it on another architecture. Each version has
172 much in common with the others, including object file formats, most
173 assembler directives (often called pseudo-ops) and assembler syntax.
174
175 as is primarily intended to assemble the output of the GNU C compiler
176 "gcc" for use by the linker "ld". Nevertheless, we've tried to make as
177 assemble correctly everything that other assemblers for the same
178 machine would assemble. Any exceptions are documented explicitly.
179 This doesn't mean as always uses the same syntax as another assembler
180 for the same architecture; for example, we know of several incompatible
181 versions of 680x0 assembly language syntax.
182
183 Each time you run as it assembles exactly one source program. The
184 source program is made up of one or more files. (The standard input is
185 also a file.)
186
187 You give as a command line that has zero or more input file names. The
188 input files are read (from left file name to right). A command line
189 argument (in any position) that has no special meaning is taken to be
190 an input file name.
191
192 If you give as no file names it attempts to read one input file from
193 the as standard input, which is normally your terminal. You may have
194 to type ctl-D to tell as there is no more program to assemble.
195
196 Use -- if you need to explicitly name the standard input file in your
197 command line.
198
199 If the source is empty, as produces a small, empty object file.
200
201 as may write warnings and error messages to the standard error file
202 (usually your terminal). This should not happen when a compiler runs
203 as automatically. Warnings report an assumption made so that as could
204 keep assembling a flawed program; errors report a grave problem that
205 stops the assembly.
206
207 If you are invoking as via the GNU C compiler, you can use the -Wa
208 option to pass arguments through to the assembler. The assembler argu‐
209 ments must be separated from each other (and the -Wa) by commas. For
210 example:
211
212 gcc -c -g -O -Wa,-alh,-L file.c
213
214 This passes two options to the assembler: -alh (emit a listing to stan‐
215 dard output with high-level and assembly source) and -L (retain local
216 symbols in the symbol table).
217
218 Usually you do not need to use this -Wa mechanism, since many compiler
219 command-line options are automatically passed to the assembler by the
220 compiler. (You can call the GNU compiler driver with the -v option to
221 see precisely what options it passes to each compilation pass, includ‐
222 ing the assembler.)
223
225 @file
226 Read command-line options from file. The options read are inserted
227 in place of the original @file option. If file does not exist, or
228 cannot be read, then the option will be treated literally, and not
229 removed.
230
231 Options in file are separated by whitespace. A whitespace charac‐
232 ter may be included in an option by surrounding the entire option
233 in either single or double quotes. Any character (including a
234 backslash) may be included by prefixing the character to be
235 included with a backslash. The file may itself contain additional
236 @file options; any such options will be processed recursively.
237
238 -a[cdhlmns]
239 Turn on listings, in any of a variety of ways:
240
241 -ac omit false conditionals
242
243 -ad omit debugging directives
244
245 -ah include high-level source
246
247 -al include assembly
248
249 -am include macro expansions
250
251 -an omit forms processing
252
253 -as include symbols
254
255 =file
256 set the name of the listing file
257
258 You may combine these options; for example, use -aln for assembly
259 listing without forms processing. The =file option, if used, must
260 be the last one. By itself, -a defaults to -ahls.
261
262 --alternate
263 Begin in alternate macro mode.
264
265 -D Ignored. This option is accepted for script compatibility with
266 calls to other assemblers.
267
268 --defsym sym=value
269 Define the symbol sym to be value before assembling the input file.
270 value must be an integer constant. As in C, a leading 0x indicates
271 a hexadecimal value, and a leading 0 indicates an octal value.
272
273 -f "fast"---skip whitespace and comment preprocessing (assume source
274 is compiler output).
275
276 -g
277 --gen-debug
278 Generate debugging information for each assembler source line using
279 whichever debug format is preferred by the target. This currently
280 means either STABS, ECOFF or DWARF2.
281
282 --gstabs
283 Generate stabs debugging information for each assembler line. This
284 may help debugging assembler code, if the debugger can handle it.
285
286 --gstabs+
287 Generate stabs debugging information for each assembler line, with
288 GNU extensions that probably only gdb can handle, and that could
289 make other debuggers crash or refuse to read your program. This
290 may help debugging assembler code. Currently the only GNU exten‐
291 sion is the location of the current working directory at assembling
292 time.
293
294 --gdwarf-2
295 Generate DWARF2 debugging information for each assembler line.
296 This may help debugging assembler code, if the debugger can handle
297 it. Note---this option is only supported by some targets, not all
298 of them.
299
300 --help
301 Print a summary of the command line options and exit.
302
303 --target-help
304 Print a summary of all target specific options and exit.
305
306 -I dir
307 Add directory dir to the search list for ".include" directives.
308
309 -J Don't warn about signed overflow.
310
311 -K Issue warnings when difference tables altered for long displace‐
312 ments.
313
314 -L
315 --keep-locals
316 Keep (in the symbol table) local symbols. These symbols start with
317 system-specific local label prefixes, typically .L for ELF systems
318 or L for traditional a.out systems.
319
320 --listing-lhs-width=number
321 Set the maximum width, in words, of the output data column for an
322 assembler listing to number.
323
324 --listing-lhs-width2=number
325 Set the maximum width, in words, of the output data column for con‐
326 tinuation lines in an assembler listing to number.
327
328 --listing-rhs-width=number
329 Set the maximum width of an input source line, as displayed in a
330 listing, to number bytes.
331
332 --listing-cont-lines=number
333 Set the maximum number of lines printed in a listing for a single
334 line of input to number + 1.
335
336 -o objfile
337 Name the object-file output from as objfile.
338
339 -R Fold the data section into the text section.
340
341 Set the default size of GAS's hash tables to a prime number close
342 to number. Increasing this value can reduce the length of time it
343 takes the assembler to perform its tasks, at the expense of
344 increasing the assembler's memory requirements. Similarly reducing
345 this value can reduce the memory requirements at the expense of
346 speed.
347
348 --reduce-memory-overheads
349 This option reduces GAS's memory requirements, at the expense of
350 making the assembly processes slower. Currently this switch is a
351 synonym for --hash-size=4051, but in the future it may have other
352 effects as well.
353
354 --statistics
355 Print the maximum space (in bytes) and total time (in seconds) used
356 by assembly.
357
358 --strip-local-absolute
359 Remove local absolute symbols from the outgoing symbol table.
360
361 -v
362 -version
363 Print the as version.
364
365 --version
366 Print the as version and exit.
367
368 -W
369 --no-warn
370 Suppress warning messages.
371
372 --fatal-warnings
373 Treat warnings as errors.
374
375 --warn
376 Don't suppress warning messages or treat them as errors.
377
378 -w Ignored.
379
380 -x Ignored.
381
382 -Z Generate an object file even after errors.
383
384 -- ⎪ files ...
385 Standard input, or source files to assemble.
386
387 The following options are available when as is configured for an ARC
388 processor.
389
390 -marc[5⎪6⎪7⎪8]
391 This option selects the core processor variant.
392
393 -EB ⎪ -EL
394 Select either big-endian (-EB) or little-endian (-EL) output.
395
396 The following options are available when as is configured for the ARM
397 processor family.
398
399 -mcpu=processor[+extension...]
400 Specify which ARM processor variant is the target.
401
402 -march=architecture[+extension...]
403 Specify which ARM architecture variant is used by the target.
404
405 -mfpu=floating-point-format
406 Select which Floating Point architecture is the target.
407
408 -mfloat-abi=abi
409 Select which floating point ABI is in use.
410
411 -mthumb
412 Enable Thumb only instruction decoding.
413
414 -mapcs-32 ⎪ -mapcs-26 ⎪ -mapcs-float ⎪ -mapcs-reentrant
415 Select which procedure calling convention is in use.
416
417 -EB ⎪ -EL
418 Select either big-endian (-EB) or little-endian (-EL) output.
419
420 -mthumb-interwork
421 Specify that the code has been generated with interworking between
422 Thumb and ARM code in mind.
423
424 -k Specify that PIC code has been generated.
425
426 See the info pages for documentation of the CRIS-specific options.
427
428 The following options are available when as is configured for a D10V
429 processor.
430
431 -O Optimize output by parallelizing instructions.
432
433 The following options are available when as is configured for a D30V
434 processor.
435
436 -O Optimize output by parallelizing instructions.
437
438 -n Warn when nops are generated.
439
440 -N Warn when a nop after a 32-bit multiply instruction is generated.
441
442 The following options are available when as is configured for the Intel
443 80960 processor.
444
445 -ACA ⎪ -ACA_A ⎪ -ACB ⎪ -ACC ⎪ -AKA ⎪ -AKB ⎪ -AKC ⎪ -AMC
446 Specify which variant of the 960 architecture is the target.
447
448 -b Add code to collect statistics about branches taken.
449
450 -no-relax
451 Do not alter compare-and-branch instructions for long displace‐
452 ments; error if necessary.
453
454 The following options are available when as is configured for the Ubi‐
455 com IP2K series.
456
457 -mip2022ext
458 Specifies that the extended IP2022 instructions are allowed.
459
460 -mip2022
461 Restores the default behaviour, which restricts the permitted
462 instructions to just the basic IP2022 ones.
463
464 The following options are available when as is configured for the Rene‐
465 sas M32C and M16C processors.
466
467 -m32c
468 Assemble M32C instructions.
469
470 -m16c
471 Assemble M16C instructions (the default).
472
473 The following options are available when as is configured for the Rene‐
474 sas M32R (formerly Mitsubishi M32R) series.
475
476 --m32rx
477 Specify which processor in the M32R family is the target. The
478 default is normally the M32R, but this option changes it to the
479 M32RX.
480
481 --warn-explicit-parallel-conflicts or --Wp
482 Produce warning messages when questionable parallel constructs are
483 encountered.
484
485 --no-warn-explicit-parallel-conflicts or --Wnp
486 Do not produce warning messages when questionable parallel con‐
487 structs are encountered.
488
489 The following options are available when as is configured for the
490 Motorola 68000 series.
491
492 -l Shorten references to undefined symbols, to one word instead of
493 two.
494
495 -m68000 ⎪ -m68008 ⎪ -m68010 ⎪ -m68020 ⎪ -m68030
496 ⎪ -m68040 ⎪ -m68060 ⎪ -m68302 ⎪ -m68331 ⎪ -m68332
497 ⎪ -m68333 ⎪ -m68340 ⎪ -mcpu32 ⎪ -m5200
498 Specify what processor in the 68000 family is the target. The
499 default is normally the 68020, but this can be changed at configu‐
500 ration time.
501
502 -m68881 ⎪ -m68882 ⎪ -mno-68881 ⎪ -mno-68882
503 The target machine does (or does not) have a floating-point copro‐
504 cessor. The default is to assume a coprocessor for 68020, 68030,
505 and cpu32. Although the basic 68000 is not compatible with the
506 68881, a combination of the two can be specified, since it's possi‐
507 ble to do emulation of the coprocessor instructions with the main
508 processor.
509
510 -m68851 ⎪ -mno-68851
511 The target machine does (or does not) have a memory-management unit
512 coprocessor. The default is to assume an MMU for 68020 and up.
513
514 For details about the PDP-11 machine dependent features options, see
515 PDP-11-Options.
516
517 -mpic ⎪ -mno-pic
518 Generate position-independent (or position-dependent) code. The
519 default is -mpic.
520
521 -mall
522 -mall-extensions
523 Enable all instruction set extensions. This is the default.
524
525 -mno-extensions
526 Disable all instruction set extensions.
527
528 -mextension ⎪ -mno-extension
529 Enable (or disable) a particular instruction set extension.
530
531 -mcpu
532 Enable the instruction set extensions supported by a particular
533 CPU, and disable all other extensions.
534
535 -mmachine
536 Enable the instruction set extensions supported by a particular
537 machine model, and disable all other extensions.
538
539 The following options are available when as is configured for a pico‐
540 Java processor.
541
542 -mb Generate "big endian" format output.
543
544 -ml Generate "little endian" format output.
545
546 The following options are available when as is configured for the
547 Motorola 68HC11 or 68HC12 series.
548
549 -m68hc11 ⎪ -m68hc12 ⎪ -m68hcs12
550 Specify what processor is the target. The default is defined by
551 the configuration option when building the assembler.
552
553 -mshort
554 Specify to use the 16-bit integer ABI.
555
556 -mlong
557 Specify to use the 32-bit integer ABI.
558
559 -mshort-double
560 Specify to use the 32-bit double ABI.
561
562 -mlong-double
563 Specify to use the 64-bit double ABI.
564
565 --force-long-branches
566 Relative branches are turned into absolute ones. This concerns con‐
567 ditional branches, unconditional branches and branches to a sub
568 routine.
569
570 -S ⎪ --short-branches
571 Do not turn relative branches into absolute ones when the offset is
572 out of range.
573
574 --strict-direct-mode
575 Do not turn the direct addressing mode into extended addressing
576 mode when the instruction does not support direct addressing mode.
577
578 --print-insn-syntax
579 Print the syntax of instruction in case of error.
580
581 --print-opcodes
582 print the list of instructions with syntax and then exit.
583
584 --generate-example
585 print an example of instruction for each possible instruction and
586 then exit. This option is only useful for testing as.
587
588 The following options are available when as is configured for the SPARC
589 architecture:
590
591 -Av6 ⎪ -Av7 ⎪ -Av8 ⎪ -Asparclet ⎪ -Asparclite
592 -Av8plus ⎪ -Av8plusa ⎪ -Av9 ⎪ -Av9a
593 Explicitly select a variant of the SPARC architecture.
594
595 -Av8plus and -Av8plusa select a 32 bit environment. -Av9 and -Av9a
596 select a 64 bit environment.
597
598 -Av8plusa and -Av9a enable the SPARC V9 instruction set with Ultra‐
599 SPARC extensions.
600
601 -xarch=v8plus ⎪ -xarch=v8plusa
602 For compatibility with the Solaris v9 assembler. These options are
603 equivalent to -Av8plus and -Av8plusa, respectively.
604
605 -bump
606 Warn when the assembler switches to another architecture.
607
608 The following options are available when as is configured for the 'c54x
609 architecture.
610
611 -mfar-mode
612 Enable extended addressing mode. All addresses and relocations
613 will assume extended addressing (usually 23 bits).
614
615 -mcpu=CPU_VERSION
616 Sets the CPU version being compiled for.
617
618 -merrors-to-file FILENAME
619 Redirect error output to a file, for broken systems which don't
620 support such behaviour in the shell.
621
622 The following options are available when as is configured for a MIPS
623 processor.
624
625 -G num
626 This option sets the largest size of an object that can be refer‐
627 enced implicitly with the "gp" register. It is only accepted for
628 targets that use ECOFF format, such as a DECstation running Ultrix.
629 The default value is 8.
630
631 -EB Generate "big endian" format output.
632
633 -EL Generate "little endian" format output.
634
635 -mips1
636 -mips2
637 -mips3
638 -mips4
639 -mips5
640 -mips32
641 -mips32r2
642 -mips64
643 -mips64r2
644 Generate code for a particular MIPS Instruction Set Architecture
645 level. -mips1 is an alias for -march=r3000, -mips2 is an alias for
646 -march=r6000, -mips3 is an alias for -march=r4000 and -mips4 is an
647 alias for -march=r8000. -mips5, -mips32, -mips32r2, -mips64, and
648 -mips64r2 correspond to generic MIPS V, MIPS32, MIPS32 Release 2,
649 MIPS64, and MIPS64 Release 2 ISA processors, respectively.
650
651 -march=CPU
652 Generate code for a particular MIPS cpu.
653
654 -mtune=cpu
655 Schedule and tune for a particular MIPS cpu.
656
657 -mfix7000
658 -mno-fix7000
659 Cause nops to be inserted if the read of the destination register
660 of an mfhi or mflo instruction occurs in the following two instruc‐
661 tions.
662
663 -mdebug
664 -no-mdebug
665 Cause stabs-style debugging output to go into an ECOFF-style .mde‐
666 bug section instead of the standard ELF .stabs sections.
667
668 -mpdr
669 -mno-pdr
670 Control generation of ".pdr" sections.
671
672 -mgp32
673 -mfp32
674 The register sizes are normally inferred from the ISA and ABI, but
675 these flags force a certain group of registers to be treated as 32
676 bits wide at all times. -mgp32 controls the size of general-pur‐
677 pose registers and -mfp32 controls the size of floating-point reg‐
678 isters.
679
680 -mips16
681 -no-mips16
682 Generate code for the MIPS 16 processor. This is equivalent to
683 putting ".set mips16" at the start of the assembly file.
684 -no-mips16 turns off this option.
685
686 -msmartmips
687 -mno-smartmips
688 Enables the SmartMIPS extension to the MIPS32 instruction set. This
689 is equivalent to putting ".set smartmips" at the start of the
690 assembly file. -mno-smartmips turns off this option.
691
692 -mips3d
693 -no-mips3d
694 Generate code for the MIPS-3D Application Specific Extension. This
695 tells the assembler to accept MIPS-3D instructions. -no-mips3d
696 turns off this option.
697
698 -mdmx
699 -no-mdmx
700 Generate code for the MDMX Application Specific Extension. This
701 tells the assembler to accept MDMX instructions. -no-mdmx turns
702 off this option.
703
704 -mdsp
705 -mno-dsp
706 Generate code for the DSP Application Specific Extension. This
707 tells the assembler to accept DSP instructions. -mno-dsp turns off
708 this option.
709
710 -mmt
711 -mno-mt
712 Generate code for the MT Application Specific Extension. This
713 tells the assembler to accept MT instructions. -mno-mt turns off
714 this option.
715
716 --construct-floats
717 --no-construct-floats
718 The --no-construct-floats option disables the construction of dou‐
719 ble width floating point constants by loading the two halves of the
720 value into the two single width floating point registers that make
721 up the double width register. By default --construct-floats is
722 selected, allowing construction of these floating point constants.
723
724 --emulation=name
725 This option causes as to emulate as configured for some other tar‐
726 get, in all respects, including output format (choosing between ELF
727 and ECOFF only), handling of pseudo-opcodes which may generate
728 debugging information or store symbol table information, and
729 default endianness. The available configuration names are: mipsec‐
730 off, mipself, mipslecoff, mipsbecoff, mipslelf, mipsbelf. The
731 first two do not alter the default endianness from that of the pri‐
732 mary target for which the assembler was configured; the others
733 change the default to little- or big-endian as indicated by the b
734 or l in the name. Using -EB or -EL will override the endianness
735 selection in any case.
736
737 This option is currently supported only when the primary target as
738 is configured for is a MIPS ELF or ECOFF target. Furthermore, the
739 primary target or others specified with --enable-targets=... at
740 configuration time must include support for the other format, if
741 both are to be available. For example, the Irix 5 configuration
742 includes support for both.
743
744 Eventually, this option will support more configurations, with more
745 fine-grained control over the assembler's behavior, and will be
746 supported for more processors.
747
748 -nocpp
749 as ignores this option. It is accepted for compatibility with the
750 native tools.
751
752 --trap
753 --no-trap
754 --break
755 --no-break
756 Control how to deal with multiplication overflow and division by
757 zero. --trap or --no-break (which are synonyms) take a trap excep‐
758 tion (and only work for Instruction Set Architecture level 2 and
759 higher); --break or --no-trap (also synonyms, and the default) take
760 a break exception.
761
762 -n When this option is used, as will issue a warning every time it
763 generates a nop instruction from a macro.
764
765 The following options are available when as is configured for an MCore
766 processor.
767
768 -jsri2bsr
769 -nojsri2bsr
770 Enable or disable the JSRI to BSR transformation. By default this
771 is enabled. The command line option -nojsri2bsr can be used to
772 disable it.
773
774 -sifilter
775 -nosifilter
776 Enable or disable the silicon filter behaviour. By default this is
777 disabled. The default can be overridden by the -sifilter command
778 line option.
779
780 -relax
781 Alter jump instructions for long displacements.
782
783 -mcpu=[210⎪340]
784 Select the cpu type on the target hardware. This controls which
785 instructions can be assembled.
786
787 -EB Assemble for a big endian target.
788
789 -EL Assemble for a little endian target.
790
791 See the info pages for documentation of the MMIX-specific options.
792
793 The following options are available when as is configured for an Xtensa
794 processor.
795
796 --text-section-literals ⎪ --no-text-section-literals
797 With --text-section-literals, literal pools are interspersed in the
798 text section. The default is --no-text-section-literals, which
799 places literals in a separate section in the output file. These
800 options only affect literals referenced via PC-relative "L32R"
801 instructions; literals for absolute mode "L32R" instructions are
802 handled separately.
803
804 --absolute-literals ⎪ --no-absolute-literals
805 Indicate to the assembler whether "L32R" instructions use absolute
806 or PC-relative addressing. The default is to assume absolute
807 addressing if the Xtensa processor includes the absolute "L32R"
808 addressing option. Otherwise, only the PC-relative "L32R" mode can
809 be used.
810
811 --target-align ⎪ --no-target-align
812 Enable or disable automatic alignment to reduce branch penalties at
813 the expense of some code density. The default is --target-align.
814
815 --longcalls ⎪ --no-longcalls
816 Enable or disable transformation of call instructions to allow
817 calls across a greater range of addresses. The default is
818 --no-longcalls.
819
820 --transform ⎪ --no-transform
821 Enable or disable all assembler transformations of Xtensa instruc‐
822 tions. The default is --transform; --no-transform should be used
823 only in the rare cases when the instructions must be exactly as
824 specified in the assembly source.
825
826 The following options are available when as is configured for a Z80
827 family processor.
828
829 -z80
830 Assemble for Z80 processor.
831
832 -r800
833 Assemble for R800 processor.
834
835 -ignore-undocumented-instructions
836 -Wnud
837 Assemble undocumented Z80 instructions that also work on R800 with‐
838 out warning.
839
840 -ignore-unportable-instructions
841 -Wnup
842 Assemble all undocumented Z80 instructions without warning.
843
844 -warn-undocumented-instructions
845 -Wud
846 Issue a warning for undocumented Z80 instructions that also work on
847 R800.
848
849 -warn-unportable-instructions
850 -Wup
851 Issue a warning for undocumented Z80 instructions that do not work
852 on R800.
853
854 -forbid-undocumented-instructions
855 -Fud
856 Treat all undocumented instructions as errors.
857
858 -forbid-unportable-instructions
859 -Fup
860 Treat undocumented Z80 instructions that do not work on R800 as
861 errors.
862
864 gcc(1), ld(1), and the Info entries for binutils and ld.
865
867 Copyright (C) 1991, 92, 93, 94, 95, 96, 97, 98, 99, 2000, 2001, 2002,
868 2006 Free Software Foundation, Inc.
869
870 Permission is granted to copy, distribute and/or modify this document
871 under the terms of the GNU Free Documentation License, Version 1.1 or
872 any later version published by the Free Software Foundation; with no
873 Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
874 Texts. A copy of the license is included in the section entitled "GNU
875 Free Documentation License".
876
877
878
879binutils-2.17.50.0.12-4 2007-04-14 AS(1)