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] [--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 [-mle⎪mbe]
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
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
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
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)