<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<!-- This file documents the GNU Assembler "as".

Copyright (C) 1991-2014 Free Software Foundation, Inc.

Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3
or any later version published by the Free Software Foundation;
with no Invariant Sections, with no Front-Cover Texts, and with no
Back-Cover Texts.  A copy of the license is included in the
section entitled "GNU Free Documentation License".
 -->
<!-- Created by GNU Texinfo 5.2, http://www.gnu.org/software/texinfo/ -->
<head>
<title>Using as: GNU Object Attributes</title>

<meta name="description" content="Using as: GNU Object Attributes">
<meta name="keywords" content="Using as: GNU Object Attributes">
<meta name="resource-type" content="document">
<meta name="distribution" content="global">
<meta name="Generator" content="makeinfo">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link href="index.html#Top" rel="start" title="Top">
<link href="AS-Index.html#AS-Index" rel="index" title="AS Index">
<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
<link href="Object-Attributes.html#Object-Attributes" rel="up" title="Object Attributes">
<link href="Defining-New-Object-Attributes.html#Defining-New-Object-Attributes" rel="next" title="Defining New Object Attributes">
<link href="Object-Attributes.html#Object-Attributes" rel="prev" title="Object Attributes">
<style type="text/css">
<!--
a.summary-letter {text-decoration: none}
blockquote.smallquotation {font-size: smaller}
div.display {margin-left: 3.2em}
div.example {margin-left: 3.2em}
div.indentedblock {margin-left: 3.2em}
div.lisp {margin-left: 3.2em}
div.smalldisplay {margin-left: 3.2em}
div.smallexample {margin-left: 3.2em}
div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
div.smalllisp {margin-left: 3.2em}
kbd {font-style:oblique}
pre.display {font-family: inherit}
pre.format {font-family: inherit}
pre.menu-comment {font-family: serif}
pre.menu-preformatted {font-family: serif}
pre.smalldisplay {font-family: inherit; font-size: smaller}
pre.smallexample {font-size: smaller}
pre.smallformat {font-family: inherit; font-size: smaller}
pre.smalllisp {font-size: smaller}
span.nocodebreak {white-space:nowrap}
span.nolinebreak {white-space:nowrap}
span.roman {font-family:serif; font-weight:normal}
span.sansserif {font-family:sans-serif; font-weight:normal}
ul.no-bullet {list-style: none}
-->
</style>


</head>

<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
<a name="GNU-Object-Attributes"></a>
<div class="header">
<p>
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>
</div>
<hr>
<a name="GNU-Object-Attributes-1"></a>
<h3 class="section">8.1 <small>GNU</small> Object Attributes</h3>

<p>The <code>.gnu_attribute</code> directive records an object attribute
with vendor &lsquo;<samp>gnu</samp>&rsquo;.
</p>
<p>Except for &lsquo;<samp>Tag_compatibility</samp>&rsquo;, which has both an integer and a string for
its value, <small>GNU</small> attributes have a string value if the tag number is odd and
an integer value if the tag number is even.  The second bit (<code><var>tag</var> &amp;
2</code> is set for architecture-independent attributes and clear for
architecture-dependent ones.
</p>
<a name="Common-GNU-attributes"></a>
<h4 class="subsection">8.1.1 Common <small>GNU</small> attributes</h4>

<p>These attributes are valid on all architectures.
</p>
<dl compact="compact">
<dt><span class="roman">Tag_compatibility (32)</span></dt>
<dd><p>The compatibility attribute takes an integer flag value and a vendor name.  If
the flag value is 0, the file is compatible with other toolchains.  If it is 1,
then the file is only compatible with the named toolchain.  If it is greater
than 1, the file can only be processed by other toolchains under some private
arrangement indicated by the flag value and the vendor name.
</p></dd>
</dl>

<a name="MIPS-Attributes"></a>
<h4 class="subsection">8.1.2 MIPS Attributes</h4>

<dl compact="compact">
<dt><span class="roman">Tag_GNU_MIPS_ABI_FP (4)</span></dt>
<dd><p>The floating-point ABI used by this object file.  The value will be:
</p>
<ul>
<li> 0 for files not affected by the floating-point ABI.
</li><li> 1 for files using the hardware floating-point ABI with a standard
double-precision FPU.
</li><li> 2 for files using the hardware floating-point ABI with a single-precision FPU.
</li><li> 3 for files using the software floating-point ABI.
</li><li> 4 for files using the deprecated hardware floating-point ABI which used 64-bit
floating-point registers, 32-bit general-purpose registers and increased the
number of callee-saved floating-point registers.
</li><li> 5 for files using the hardware floating-point ABI with a double-precision FPU
with either 32-bit or 64-bit floating-point registers and 32-bit
general-purpose registers.
</li><li> 6 for files using the hardware floating-point ABI with 64-bit floating-point
registers and 32-bit general-purpose registers.
</li><li> 7 for files using the hardware floating-point ABI with 64-bit floating-point
registers, 32-bit general-purpose registers and a rule that forbids the
direct use of odd-numbered single-precision floating-point registers.
</li></ul>
</dd>
</dl>

<a name="PowerPC-Attributes"></a>
<h4 class="subsection">8.1.3 PowerPC Attributes</h4>

<dl compact="compact">
<dt><span class="roman">Tag_GNU_Power_ABI_FP (4)</span></dt>
<dd><p>The floating-point ABI used by this object file.  The value will be:
</p>
<ul>
<li> 0 for files not affected by the floating-point ABI.
</li><li> 1 for files using double-precision hardware floating-point ABI.
</li><li> 2 for files using the software floating-point ABI.
</li><li> 3 for files using single-precision hardware floating-point ABI.
</li></ul>

</dd>
<dt><span class="roman">Tag_GNU_Power_ABI_Vector (8)</span></dt>
<dd><p>The vector ABI used by this object file.  The value will be:
</p>
<ul>
<li> 0 for files not affected by the vector ABI.
</li><li> 1 for files using general purpose registers to pass vectors.
</li><li> 2 for files using AltiVec registers to pass vectors.
</li><li> 3 for files using SPE registers to pass vectors.
</li></ul>
</dd>
</dl>

<hr>
<div class="header">
<p>
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>
</div>



</body>
</html>
