Next: Xtensa Syntax, Up: Xtensa-Dependent [Contents][Index]
--text-section-literals | --no-text-section-literalsControl the treatment of literal pools. The default is
‘--no-text-section-literals’, which places literals in
separate sections in the output file. This allows the literal pool to be
placed in a data RAM/ROM. With ‘--text-section-literals’, the
literals are interspersed in the text section in order to keep them as
close as possible to their references. This may be necessary for large
assembly files, where the literals would otherwise be out of range of the
L32R instructions in the text section. Literals are grouped into
pools following .literal_position directives or preceding
ENTRY instructions. These options only affect literals referenced
via PC-relative L32R instructions; literals for absolute mode
L32R instructions are handled separately.
See literal.
--auto-litpools | --no-auto-litpoolsControl the treatment of literal pools. The default is
‘--no-auto-litpools’, which in the absence of
‘--text-section-literals’ places literals in separate sections
in the output file. This allows the literal pool to be placed in a data
RAM/ROM. With ‘--auto-litpools’, the literals are interspersed
in the text section in order to keep them as close as possible to their
references, explicit .literal_position directives are not
required. This may be necessary for very large functions, where single
literal pool at the beginning of the function may not be reachable by
L32R instructions at the end. These options only affect
literals referenced via PC-relative L32R instructions; literals
for absolute mode L32R instructions are handled separately.
When used together with ‘--text-section-literals’,
‘--auto-litpools’ takes precedence.
See literal.
--absolute-literals | --no-absolute-literalsIndicate to the assembler whether L32R instructions use absolute
or PC-relative addressing. If the processor includes the absolute
addressing option, the default is to use absolute L32R
relocations. Otherwise, only the PC-relative L32R relocations
can be used.
--target-align | --no-target-alignEnable or disable automatic alignment to reduce branch penalties at some
expense in code size. See Automatic
Instruction Alignment. This optimization is enabled by default. Note
that the assembler will always align instructions like LOOP that
have fixed alignment requirements.
--longcalls | --no-longcallsEnable or disable transformation of call instructions to allow calls across a greater range of addresses. See Function Call Relaxation. This option should be used when call targets can potentially be out of range. It may degrade both code size and performance, but the linker can generally optimize away the unnecessary overhead when a call ends up within range. The default is ‘--no-longcalls’.
--transform | --no-transformEnable or disable all assembler transformations of Xtensa instructions, including both relaxation and optimization. The default is ‘--transform’; ‘--no-transform’ should only be used in the rare cases when the instructions must be exactly as specified in the assembly source. Using ‘--no-transform’ causes out of range instruction operands to be errors.
--rename-section oldname=newnameRename the oldname section to newname. This option can be used multiple times to rename multiple sections.
--trampolines | --no-trampolinesEnable or disable transformation of jump instructions to allow jumps across a greater range of addresses. See Jump Trampolines. This option should be used when jump targets can potentially be out of range. In the absence of such jumps this option does not affect code size or performance. The default is ‘--trampolines’.
--abi-windowed | --abi-call0Choose ABI tag written to the .xtensa.info section. ABI tag
indicates ABI of the assembly code. A warning is issued by the linker
on an attempt to link object files with inconsistent ABI tags.
Default ABI is chosen by the Xtensa core configuration.
Next: Xtensa Syntax, Up: Xtensa-Dependent [Contents][Index]