GNU-Object-Attributes.html 7.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175
  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-2017 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 5.2, http://www.gnu.org/software/texinfo/ -->
  13. <head>
  14. <title>Using as: GNU Object Attributes</title>
  15. <meta name="description" content="Using as: GNU Object Attributes">
  16. <meta name="keywords" content="Using as: GNU Object Attributes">
  17. <meta name="resource-type" content="document">
  18. <meta name="distribution" content="global">
  19. <meta name="Generator" content="makeinfo">
  20. <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  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="Object-Attributes.html#Object-Attributes" rel="up" title="Object Attributes">
  25. <link href="Defining-New-Object-Attributes.html#Defining-New-Object-Attributes" rel="next" title="Defining New Object Attributes">
  26. <link href="Object-Attributes.html#Object-Attributes" rel="prev" title="Object Attributes">
  27. <style type="text/css">
  28. <!--
  29. a.summary-letter {text-decoration: none}
  30. blockquote.smallquotation {font-size: smaller}
  31. div.display {margin-left: 3.2em}
  32. div.example {margin-left: 3.2em}
  33. div.indentedblock {margin-left: 3.2em}
  34. div.lisp {margin-left: 3.2em}
  35. div.smalldisplay {margin-left: 3.2em}
  36. div.smallexample {margin-left: 3.2em}
  37. div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
  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.nocodebreak {white-space:nowrap}
  49. span.nolinebreak {white-space:nowrap}
  50. span.roman {font-family:serif; font-weight:normal}
  51. span.sansserif {font-family:sans-serif; font-weight:normal}
  52. ul.no-bullet {list-style: none}
  53. -->
  54. </style>
  55. </head>
  56. <body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
  57. <a name="GNU-Object-Attributes"></a>
  58. <div class="header">
  59. <p>
  60. Next: <a href="Defining-New-Object-Attributes.html#Defining-New-Object-Attributes" accesskey="n" rel="next">Defining New Object Attributes</a>, Up: <a href="Object-Attributes.html#Object-Attributes" accesskey="u" rel="up">Object Attributes</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>
  61. </div>
  62. <hr>
  63. <a name="GNU-Object-Attributes-1"></a>
  64. <h3 class="section">8.1 <small>GNU</small> Object Attributes</h3>
  65. <p>The <code>.gnu_attribute</code> directive records an object attribute
  66. with vendor &lsquo;<samp>gnu</samp>&rsquo;.
  67. </p>
  68. <p>Except for &lsquo;<samp>Tag_compatibility</samp>&rsquo;, which has both an integer and a string for
  69. its value, <small>GNU</small> attributes have a string value if the tag number is odd and
  70. an integer value if the tag number is even. The second bit (<code><var>tag</var> &amp;
  71. 2</code> is set for architecture-independent attributes and clear for
  72. architecture-dependent ones.
  73. </p>
  74. <a name="Common-GNU-attributes"></a>
  75. <h4 class="subsection">8.1.1 Common <small>GNU</small> attributes</h4>
  76. <p>These attributes are valid on all architectures.
  77. </p>
  78. <dl compact="compact">
  79. <dt><span class="roman">Tag_compatibility (32)</span></dt>
  80. <dd><p>The compatibility attribute takes an integer flag value and a vendor name. If
  81. the flag value is 0, the file is compatible with other toolchains. If it is 1,
  82. then the file is only compatible with the named toolchain. If it is greater
  83. than 1, the file can only be processed by other toolchains under some private
  84. arrangement indicated by the flag value and the vendor name.
  85. </p></dd>
  86. </dl>
  87. <a name="MIPS-Attributes"></a>
  88. <h4 class="subsection">8.1.2 MIPS Attributes</h4>
  89. <dl compact="compact">
  90. <dt><span class="roman">Tag_GNU_MIPS_ABI_FP (4)</span></dt>
  91. <dd><p>The floating-point ABI used by this object file. The value will be:
  92. </p>
  93. <ul>
  94. <li> 0 for files not affected by the floating-point ABI.
  95. </li><li> 1 for files using the hardware floating-point ABI with a standard
  96. double-precision FPU.
  97. </li><li> 2 for files using the hardware floating-point ABI with a single-precision FPU.
  98. </li><li> 3 for files using the software floating-point ABI.
  99. </li><li> 4 for files using the deprecated hardware floating-point ABI which used 64-bit
  100. floating-point registers, 32-bit general-purpose registers and increased the
  101. number of callee-saved floating-point registers.
  102. </li><li> 5 for files using the hardware floating-point ABI with a double-precision FPU
  103. with either 32-bit or 64-bit floating-point registers and 32-bit
  104. general-purpose registers.
  105. </li><li> 6 for files using the hardware floating-point ABI with 64-bit floating-point
  106. registers and 32-bit general-purpose registers.
  107. </li><li> 7 for files using the hardware floating-point ABI with 64-bit floating-point
  108. registers, 32-bit general-purpose registers and a rule that forbids the
  109. direct use of odd-numbered single-precision floating-point registers.
  110. </li></ul>
  111. </dd>
  112. </dl>
  113. <a name="PowerPC-Attributes"></a>
  114. <h4 class="subsection">8.1.3 PowerPC Attributes</h4>
  115. <dl compact="compact">
  116. <dt><span class="roman">Tag_GNU_Power_ABI_FP (4)</span></dt>
  117. <dd><p>The floating-point ABI used by this object file. The value will be:
  118. </p>
  119. <ul>
  120. <li> 0 for files not affected by the floating-point ABI.
  121. </li><li> 1 for files using double-precision hardware floating-point ABI.
  122. </li><li> 2 for files using the software floating-point ABI.
  123. </li><li> 3 for files using single-precision hardware floating-point ABI.
  124. </li></ul>
  125. </dd>
  126. <dt><span class="roman">Tag_GNU_Power_ABI_Vector (8)</span></dt>
  127. <dd><p>The vector ABI used by this object file. The value will be:
  128. </p>
  129. <ul>
  130. <li> 0 for files not affected by the vector ABI.
  131. </li><li> 1 for files using general purpose registers to pass vectors.
  132. </li><li> 2 for files using AltiVec registers to pass vectors.
  133. </li><li> 3 for files using SPE registers to pass vectors.
  134. </li></ul>
  135. </dd>
  136. </dl>
  137. <a name="IBM-z-Systems-Attributes"></a>
  138. <h4 class="subsection">8.1.4 IBM z Systems Attributes</h4>
  139. <dl compact="compact">
  140. <dt><span class="roman">Tag_GNU_S390_ABI_Vector (8)</span></dt>
  141. <dd><p>The vector ABI used by this object file. The value will be:
  142. </p>
  143. <ul>
  144. <li> 0 for files not affected by the vector ABI.
  145. </li><li> 1 for files using software vector ABI.
  146. </li><li> 2 for files using hardware vector ABI.
  147. </li></ul>
  148. </dd>
  149. </dl>
  150. <hr>
  151. <div class="header">
  152. <p>
  153. Next: <a href="Defining-New-Object-Attributes.html#Defining-New-Object-Attributes" accesskey="n" rel="next">Defining New Object Attributes</a>, Up: <a href="Object-Attributes.html#Object-Attributes" accesskey="u" rel="up">Object Attributes</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>
  154. </div>
  155. </body>
  156. </html>