as: Xtensa Options
1
1 9.55.1 Command Line Options
1 ---------------------------
1
1 '--text-section-literals | --no-text-section-literals'
1 Control the treatment of literal pools. The default is
1 '--no-text-section-literals', which places literals in separate
1 sections in the output file. This allows the literal pool to be
1 placed in a data RAM/ROM. With '--text-section-literals', the
1 literals are interspersed in the text section in order to keep them
1 as close as possible to their references. This may be necessary
1 for large assembly files, where the literals would otherwise be out
1 of range of the 'L32R' instructions in the text section. Literals
1 are grouped into pools following '.literal_position' directives or
1 preceding 'ENTRY' instructions. These options only affect literals
1 referenced via PC-relative 'L32R' instructions; literals for
11 absolute mode 'L32R' instructions are handled separately. ⇒
literal Literal Directive.
1
1 '--auto-litpools | --no-auto-litpools'
1 Control the treatment of literal pools. The default is
1 '--no-auto-litpools', which in the absence of
1 '--text-section-literals' places literals in separate sections in
1 the output file. This allows the literal pool to be placed in a
1 data RAM/ROM. With '--auto-litpools', the literals are interspersed
1 in the text section in order to keep them as close as possible to
1 their references, explicit '.literal_position' directives are not
1 required. This may be necessary for very large functions, where
1 single literal pool at the beginning of the function may not be
1 reachable by 'L32R' instructions at the end. These options only
1 affect literals referenced via PC-relative 'L32R' instructions;
1 literals for absolute mode 'L32R' instructions are handled
1 separately. When used together with '--text-section-literals',
11 '--auto-litpools' takes precedence. ⇒literal Literal
Directive.
1
1 '--absolute-literals | --no-absolute-literals'
1 Indicate to the assembler whether 'L32R' instructions use absolute
1 or PC-relative addressing. If the processor includes the absolute
1 addressing option, the default is to use absolute 'L32R'
1 relocations. Otherwise, only the PC-relative 'L32R' relocations
1 can be used.
1
1 '--target-align | --no-target-align'
1 Enable or disable automatic alignment to reduce branch penalties at
11 some expense in code size. ⇒Automatic Instruction Alignment
Xtensa Automatic Alignment. This optimization is enabled by
1 default. Note that the assembler will always align instructions
1 like 'LOOP' that have fixed alignment requirements.
1
1 '--longcalls | --no-longcalls'
1 Enable or disable transformation of call instructions to allow
11 calls across a greater range of addresses. ⇒Function Call
Relaxation Xtensa Call Relaxation. This option should be used
1 when call targets can potentially be out of range. It may degrade
1 both code size and performance, but the linker can generally
1 optimize away the unnecessary overhead when a call ends up within
1 range. The default is '--no-longcalls'.
1
1 '--transform | --no-transform'
1 Enable or disable all assembler transformations of Xtensa
1 instructions, including both relaxation and optimization. The
1 default is '--transform'; '--no-transform' should only be used in
1 the rare cases when the instructions must be exactly as specified
1 in the assembly source. Using '--no-transform' causes out of range
1 instruction operands to be errors.
1
1 '--rename-section OLDNAME=NEWNAME'
1 Rename the OLDNAME section to NEWNAME. This option can be used
1 multiple times to rename multiple sections.
1
1 '--trampolines | --no-trampolines'
1 Enable or disable transformation of jump instructions to allow
11 jumps across a greater range of addresses. ⇒Jump Trampolines
Xtensa Jump Relaxation. This option should be used when jump
1 targets can potentially be out of range. In the absence of such
1 jumps this option does not affect code size or performance. The
1 default is '--trampolines'.
1