as: Xtensa Options

 
 9.54.1 Command-line Options
 ---------------------------
 
 '--text-section-literals | --no-text-section-literals'
      Control 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 Literal Directive.
 
 '--auto-litpools | --no-auto-litpools'
      Control 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.  Seeliteral Literal
      Directive.
 
 '--absolute-literals | --no-absolute-literals'
      Indicate 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-align'
      Enable or disable automatic alignment to reduce branch penalties at
      some expense in code size.  SeeAutomatic Instruction Alignment
      Xtensa Automatic Alignment.  This optimization is enabled by
      default.  Note that the assembler will always align instructions
      like 'LOOP' that have fixed alignment requirements.
 
 '--longcalls | --no-longcalls'
      Enable or disable transformation of call instructions to allow
      calls across a greater range of addresses.  SeeFunction Call
      Relaxation Xtensa 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-transform'
      Enable 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=NEWNAME'
      Rename the OLDNAME section to NEWNAME.  This option can be used
      multiple times to rename multiple sections.
 
 '--trampolines | --no-trampolines'
      Enable or disable transformation of jump instructions to allow
      jumps across a greater range of addresses.  SeeJump Trampolines
      Xtensa Jump Relaxation.  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'.