Du kan inte välja fler än 25 ämnen Ämnen måste starta med en bokstav eller siffra, kan innehålla bindestreck ('-') och vara max 35 tecken långa.

Xtensa-Options.html 9.3KB

3 år sedan
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  2. <html>
  3. <!-- This file documents the GNU Assembler "as".
  4. Copyright (C) 1991-2020 Free Software Foundation, Inc.
  5. Permission is granted to copy, distribute and/or modify this document
  6. under the terms of the GNU Free Documentation License, Version 1.3
  7. or any later version published by the Free Software Foundation;
  8. with no Invariant Sections, with no Front-Cover Texts, and with no
  9. Back-Cover Texts. A copy of the license is included in the
  10. section entitled "GNU Free Documentation License".
  11. -->
  12. <!-- Created by GNU Texinfo 6.5, http://www.gnu.org/software/texinfo/ -->
  13. <head>
  14. <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  15. <title>Xtensa Options (Using as)</title>
  16. <meta name="description" content="Xtensa Options (Using as)">
  17. <meta name="keywords" content="Xtensa Options (Using as)">
  18. <meta name="resource-type" content="document">
  19. <meta name="distribution" content="global">
  20. <meta name="Generator" content="makeinfo">
  21. <link href="index.html#Top" rel="start" title="Top">
  22. <link href="AS-Index.html#AS-Index" rel="index" title="AS Index">
  23. <link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
  24. <link href="Xtensa_002dDependent.html#Xtensa_002dDependent" rel="up" title="Xtensa-Dependent">
  25. <link href="Xtensa-Syntax.html#Xtensa-Syntax" rel="next" title="Xtensa Syntax">
  26. <link href="Xtensa_002dDependent.html#Xtensa_002dDependent" rel="prev" title="Xtensa-Dependent">
  27. <style type="text/css">
  28. <!--
  29. a.summary-letter {text-decoration: none}
  30. blockquote.indentedblock {margin-right: 0em}
  31. blockquote.smallindentedblock {margin-right: 0em; font-size: smaller}
  32. blockquote.smallquotation {font-size: smaller}
  33. div.display {margin-left: 3.2em}
  34. div.example {margin-left: 3.2em}
  35. div.lisp {margin-left: 3.2em}
  36. div.smalldisplay {margin-left: 3.2em}
  37. div.smallexample {margin-left: 3.2em}
  38. div.smalllisp {margin-left: 3.2em}
  39. kbd {font-style: oblique}
  40. pre.display {font-family: inherit}
  41. pre.format {font-family: inherit}
  42. pre.menu-comment {font-family: serif}
  43. pre.menu-preformatted {font-family: serif}
  44. pre.smalldisplay {font-family: inherit; font-size: smaller}
  45. pre.smallexample {font-size: smaller}
  46. pre.smallformat {font-family: inherit; font-size: smaller}
  47. pre.smalllisp {font-size: smaller}
  48. span.nolinebreak {white-space: nowrap}
  49. span.roman {font-family: initial; font-weight: normal}
  50. span.sansserif {font-family: sans-serif; font-weight: normal}
  51. ul.no-bullet {list-style: none}
  52. -->
  53. </style>
  54. </head>
  55. <body lang="en">
  56. <a name="Xtensa-Options"></a>
  57. <div class="header">
  58. <p>
  59. Next: <a href="Xtensa-Syntax.html#Xtensa-Syntax" accesskey="n" rel="next">Xtensa Syntax</a>, Up: <a href="Xtensa_002dDependent.html#Xtensa_002dDependent" accesskey="u" rel="up">Xtensa-Dependent</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="AS-Index.html#AS-Index" title="Index" rel="index">Index</a>]</p>
  60. </div>
  61. <hr>
  62. <a name="Command_002dline-Options-2"></a>
  63. <h4 class="subsection">9.55.1 Command-line Options</h4>
  64. <dl compact="compact">
  65. <dt><code>--text-section-literals | --no-text-section-literals</code></dt>
  66. <dd><a name="index-_002d_002dtext_002dsection_002dliterals"></a>
  67. <a name="index-_002d_002dno_002dtext_002dsection_002dliterals"></a>
  68. <p>Control the treatment of literal pools. The default is
  69. &lsquo;<samp>--no-text-section-literals</samp>&rsquo;, which places literals in
  70. separate sections in the output file. This allows the literal pool to be
  71. placed in a data RAM/ROM. With &lsquo;<samp>--text-section-literals</samp>&rsquo;, the
  72. literals are interspersed in the text section in order to keep them as
  73. close as possible to their references. This may be necessary for large
  74. assembly files, where the literals would otherwise be out of range of the
  75. <code>L32R</code> instructions in the text section. Literals are grouped into
  76. pools following <code>.literal_position</code> directives or preceding
  77. <code>ENTRY</code> instructions. These options only affect literals referenced
  78. via PC-relative <code>L32R</code> instructions; literals for absolute mode
  79. <code>L32R</code> instructions are handled separately.
  80. See <a href="Literal-Directive.html#Literal-Directive">literal</a>.
  81. </p>
  82. </dd>
  83. <dt><code>--auto-litpools | --no-auto-litpools</code></dt>
  84. <dd><a name="index-_002d_002dauto_002dlitpools"></a>
  85. <a name="index-_002d_002dno_002dauto_002dlitpools"></a>
  86. <p>Control the treatment of literal pools. The default is
  87. &lsquo;<samp>--no-auto-litpools</samp>&rsquo;, which in the absence of
  88. &lsquo;<samp>--text-section-literals</samp>&rsquo; places literals in separate sections
  89. in the output file. This allows the literal pool to be placed in a data
  90. RAM/ROM. With &lsquo;<samp>--auto-litpools</samp>&rsquo;, the literals are interspersed
  91. in the text section in order to keep them as close as possible to their
  92. references, explicit <code>.literal_position</code> directives are not
  93. required. This may be necessary for very large functions, where single
  94. literal pool at the beginning of the function may not be reachable by
  95. <code>L32R</code> instructions at the end. These options only affect
  96. literals referenced via PC-relative <code>L32R</code> instructions; literals
  97. for absolute mode <code>L32R</code> instructions are handled separately.
  98. When used together with &lsquo;<samp>--text-section-literals</samp>&rsquo;,
  99. &lsquo;<samp>--auto-litpools</samp>&rsquo; takes precedence.
  100. See <a href="Literal-Directive.html#Literal-Directive">literal</a>.
  101. </p>
  102. </dd>
  103. <dt><code>--absolute-literals | --no-absolute-literals</code></dt>
  104. <dd><a name="index-_002d_002dabsolute_002dliterals"></a>
  105. <a name="index-_002d_002dno_002dabsolute_002dliterals"></a>
  106. <p>Indicate to the assembler whether <code>L32R</code> instructions use absolute
  107. or PC-relative addressing. If the processor includes the absolute
  108. addressing option, the default is to use absolute <code>L32R</code>
  109. relocations. Otherwise, only the PC-relative <code>L32R</code> relocations
  110. can be used.
  111. </p>
  112. </dd>
  113. <dt><code>--target-align | --no-target-align</code></dt>
  114. <dd><a name="index-_002d_002dtarget_002dalign"></a>
  115. <a name="index-_002d_002dno_002dtarget_002dalign"></a>
  116. <p>Enable or disable automatic alignment to reduce branch penalties at some
  117. expense in code size. See <a href="Xtensa-Automatic-Alignment.html#Xtensa-Automatic-Alignment">Automatic
  118. Instruction Alignment</a>. This optimization is enabled by default. Note
  119. that the assembler will always align instructions like <code>LOOP</code> that
  120. have fixed alignment requirements.
  121. </p>
  122. </dd>
  123. <dt><code>--longcalls | --no-longcalls</code></dt>
  124. <dd><a name="index-_002d_002dlongcalls"></a>
  125. <a name="index-_002d_002dno_002dlongcalls"></a>
  126. <p>Enable or disable transformation of call instructions to allow calls
  127. across a greater range of addresses. See <a href="Xtensa-Call-Relaxation.html#Xtensa-Call-Relaxation">Function Call Relaxation</a>. This option should be used when call
  128. targets can potentially be out of range. It may degrade both code size
  129. and performance, but the linker can generally optimize away the
  130. unnecessary overhead when a call ends up within range. The default is
  131. &lsquo;<samp>--no-longcalls</samp>&rsquo;.
  132. </p>
  133. </dd>
  134. <dt><code>--transform | --no-transform</code></dt>
  135. <dd><a name="index-_002d_002dtransform"></a>
  136. <a name="index-_002d_002dno_002dtransform"></a>
  137. <p>Enable or disable all assembler transformations of Xtensa instructions,
  138. including both relaxation and optimization. The default is
  139. &lsquo;<samp>--transform</samp>&rsquo;; &lsquo;<samp>--no-transform</samp>&rsquo; should only be used in the
  140. rare cases when the instructions must be exactly as specified in the
  141. assembly source. Using &lsquo;<samp>--no-transform</samp>&rsquo; causes out of range
  142. instruction operands to be errors.
  143. </p>
  144. </dd>
  145. <dt><code>--rename-section <var>oldname</var>=<var>newname</var></code></dt>
  146. <dd><a name="index-_002d_002drename_002dsection"></a>
  147. <p>Rename the <var>oldname</var> section to <var>newname</var>. This option can be used
  148. multiple times to rename multiple sections.
  149. </p>
  150. </dd>
  151. <dt><code>--trampolines | --no-trampolines</code></dt>
  152. <dd><a name="index-_002d_002dtrampolines"></a>
  153. <a name="index-_002d_002dno_002dtrampolines"></a>
  154. <p>Enable or disable transformation of jump instructions to allow jumps
  155. across a greater range of addresses. See <a href="Xtensa-Jump-Relaxation.html#Xtensa-Jump-Relaxation">Jump Trampolines</a>. This option should be used when jump targets can
  156. potentially be out of range. In the absence of such jumps this option
  157. does not affect code size or performance. The default is
  158. &lsquo;<samp>--trampolines</samp>&rsquo;.
  159. </p>
  160. </dd>
  161. <dt><code>--abi-windowed | --abi-call0</code></dt>
  162. <dd><a name="index-_002d_002dabi_002dwindowed"></a>
  163. <a name="index-_002d_002dabi_002dcall0"></a>
  164. <p>Choose ABI tag written to the <code>.xtensa.info</code> section. ABI tag
  165. indicates ABI of the assembly code. A warning is issued by the linker
  166. on an attempt to link object files with inconsistent ABI tags.
  167. Default ABI is chosen by the Xtensa core configuration.
  168. </p></dd>
  169. </dl>
  170. <hr>
  171. <div class="header">
  172. <p>
  173. Next: <a href="Xtensa-Syntax.html#Xtensa-Syntax" accesskey="n" rel="next">Xtensa Syntax</a>, Up: <a href="Xtensa_002dDependent.html#Xtensa_002dDependent" accesskey="u" rel="up">Xtensa-Dependent</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="AS-Index.html#AS-Index" title="Index" rel="index">Index</a>]</p>
  174. </div>
  175. </body>
  176. </html>