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 5Copyright (C) 1991-2021 Free Software Foundation, Inc. 6 7Permission is granted to copy, distribute and/or modify this document 8under the terms of the GNU Free Documentation License, Version 1.3 9or any later version published by the Free Software Foundation; 10with no Invariant Sections, with no Front-Cover Texts, and with no 11Back-Cover Texts. A copy of the license is included in the 12section entitled "GNU Free Documentation License". 13 --> 14<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> 15<head> 16<title>Using as: GNU Object Attributes</title> 17 18<meta name="description" content="Using as: GNU Object Attributes"> 19<meta name="keywords" content="Using as: GNU Object Attributes"> 20<meta name="resource-type" content="document"> 21<meta name="distribution" content="global"> 22<meta name="Generator" content="makeinfo"> 23<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> 24<link href="index.html#Top" rel="start" title="Top"> 25<link href="AS-Index.html#AS-Index" rel="index" title="AS Index"> 26<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> 27<link href="Object-Attributes.html#Object-Attributes" rel="up" title="Object Attributes"> 28<link href="Defining-New-Object-Attributes.html#Defining-New-Object-Attributes" rel="next" title="Defining New Object Attributes"> 29<link href="Object-Attributes.html#Object-Attributes" rel="previous" title="Object Attributes"> 30<style type="text/css"> 31<!-- 32a.summary-letter {text-decoration: none} 33blockquote.smallquotation {font-size: smaller} 34div.display {margin-left: 3.2em} 35div.example {margin-left: 3.2em} 36div.indentedblock {margin-left: 3.2em} 37div.lisp {margin-left: 3.2em} 38div.smalldisplay {margin-left: 3.2em} 39div.smallexample {margin-left: 3.2em} 40div.smallindentedblock {margin-left: 3.2em; font-size: smaller} 41div.smalllisp {margin-left: 3.2em} 42kbd {font-style:oblique} 43pre.display {font-family: inherit} 44pre.format {font-family: inherit} 45pre.menu-comment {font-family: serif} 46pre.menu-preformatted {font-family: serif} 47pre.smalldisplay {font-family: inherit; font-size: smaller} 48pre.smallexample {font-size: smaller} 49pre.smallformat {font-family: inherit; font-size: smaller} 50pre.smalllisp {font-size: smaller} 51span.nocodebreak {white-space:nowrap} 52span.nolinebreak {white-space:nowrap} 53span.roman {font-family:serif; font-weight:normal} 54span.sansserif {font-family:sans-serif; font-weight:normal} 55ul.no-bullet {list-style: none} 56--> 57</style> 58 59 60</head> 61 62<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> 63<a name="GNU-Object-Attributes"></a> 64<div class="header"> 65<p> 66Next: <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> [<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> 67</div> 68<hr> 69<a name="GNU-Object-Attributes-1"></a> 70<h3 class="section">8.1 <small>GNU</small> Object Attributes</h3> 71 72<p>The <code>.gnu_attribute</code> directive records an object attribute 73with vendor ‘<samp>gnu</samp>’. 74</p> 75<p>Except for ‘<samp>Tag_compatibility</samp>’, which has both an integer and a string for 76its value, <small>GNU</small> attributes have a string value if the tag number is odd and 77an integer value if the tag number is even. The second bit (<code><var>tag</var> & 782</code> is set for architecture-independent attributes and clear for 79architecture-dependent ones. 80</p> 81<a name="Common-GNU-attributes"></a> 82<h4 class="subsection">8.1.1 Common <small>GNU</small> attributes</h4> 83 84<p>These attributes are valid on all architectures. 85</p> 86<dl compact="compact"> 87<dt><span class="roman">Tag_compatibility (32)</span></dt> 88<dd><p>The compatibility attribute takes an integer flag value and a vendor name. If 89the flag value is 0, the file is compatible with other toolchains. If it is 1, 90then the file is only compatible with the named toolchain. If it is greater 91than 1, the file can only be processed by other toolchains under some private 92arrangement indicated by the flag value and the vendor name. 93</p></dd> 94</dl> 95 96<a name="M680x0-Attributes"></a> 97<h4 class="subsection">8.1.2 M680x0 Attributes</h4> 98 99<dl compact="compact"> 100<dt><span class="roman">Tag_GNU_M68K_ABI_FP (4)</span></dt> 101<dd><p>The floating-point ABI used by this object file. The value will be: 102</p> 103<ul> 104<li> 0 for files not affected by the floating-point ABI. 105</li><li> 1 for files using double-precision hardware floating-point ABI. 106</li><li> 2 for files using the software floating-point ABI. 107</li></ul> 108</dd> 109</dl> 110 111<a name="MIPS-Attributes"></a> 112<h4 class="subsection">8.1.3 MIPS Attributes</h4> 113 114<dl compact="compact"> 115<dt><span class="roman">Tag_GNU_MIPS_ABI_FP (4)</span></dt> 116<dd><p>The floating-point ABI used by this object file. The value will be: 117</p> 118<ul> 119<li> 0 for files not affected by the floating-point ABI. 120</li><li> 1 for files using the hardware floating-point ABI with a standard 121double-precision FPU. 122</li><li> 2 for files using the hardware floating-point ABI with a single-precision FPU. 123</li><li> 3 for files using the software floating-point ABI. 124</li><li> 4 for files using the deprecated hardware floating-point ABI which used 64-bit 125floating-point registers, 32-bit general-purpose registers and increased the 126number of callee-saved floating-point registers. 127</li><li> 5 for files using the hardware floating-point ABI with a double-precision FPU 128with either 32-bit or 64-bit floating-point registers and 32-bit 129general-purpose registers. 130</li><li> 6 for files using the hardware floating-point ABI with 64-bit floating-point 131registers and 32-bit general-purpose registers. 132</li><li> 7 for files using the hardware floating-point ABI with 64-bit floating-point 133registers, 32-bit general-purpose registers and a rule that forbids the 134direct use of odd-numbered single-precision floating-point registers. 135</li></ul> 136</dd> 137</dl> 138 139<a name="PowerPC-Attributes"></a> 140<h4 class="subsection">8.1.4 PowerPC Attributes</h4> 141 142<dl compact="compact"> 143<dt><span class="roman">Tag_GNU_Power_ABI_FP (4)</span></dt> 144<dd><p>The floating-point ABI used by this object file. The value will be: 145</p> 146<ul> 147<li> 0 for files not affected by the floating-point ABI. 148</li><li> 1 for files using double-precision hardware floating-point ABI. 149</li><li> 2 for files using the software floating-point ABI. 150</li><li> 3 for files using single-precision hardware floating-point ABI. 151</li></ul> 152 153</dd> 154<dt><span class="roman">Tag_GNU_Power_ABI_Vector (8)</span></dt> 155<dd><p>The vector ABI used by this object file. The value will be: 156</p> 157<ul> 158<li> 0 for files not affected by the vector ABI. 159</li><li> 1 for files using general purpose registers to pass vectors. 160</li><li> 2 for files using AltiVec registers to pass vectors. 161</li><li> 3 for files using SPE registers to pass vectors. 162</li></ul> 163</dd> 164</dl> 165 166<a name="IBM-z-Systems-Attributes"></a> 167<h4 class="subsection">8.1.5 IBM z Systems Attributes</h4> 168 169<dl compact="compact"> 170<dt><span class="roman">Tag_GNU_S390_ABI_Vector (8)</span></dt> 171<dd><p>The vector ABI used by this object file. The value will be: 172</p> 173<ul> 174<li> 0 for files not affected by the vector ABI. 175</li><li> 1 for files using software vector ABI. 176</li><li> 2 for files using hardware vector ABI. 177</li></ul> 178</dd> 179</dl> 180 181<a name="MSP430-Attributes"></a> 182<h4 class="subsection">8.1.6 MSP430 Attributes</h4> 183 184<dl compact="compact"> 185<dt><span class="roman">Tag_GNU_MSP430_Data_Region (4)</span></dt> 186<dd><p>The data region used by this object file. The value will be: 187</p> 188<ul> 189<li> 0 for files not using the large memory model. 190</li><li> 1 for files which have been compiled with the condition that all 191data is in the lower memory region, i.e. below address 0x10000. 192</li><li> 2 for files which allow data to be placed in the full 20-bit memory range. 193</li></ul> 194</dd> 195</dl> 196 197<hr> 198<div class="header"> 199<p> 200Next: <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> [<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> 201</div> 202 203 204 205</body> 206</html> 207