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: Object Attributes</title>
17
18<meta name="description" content="Using as: Object Attributes">
19<meta name="keywords" content="Using as: 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="index.html#Top" rel="up" title="Top">
28<link href="GNU-Object-Attributes.html#GNU-Object-Attributes" rel="next" title="GNU Object Attributes">
29<link href="Deprecated.html#Deprecated" rel="previous" title="Deprecated">
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="Object-Attributes"></a>
64<div class="header">
65<p>
66Next: <a href="Machine-Dependencies.html#Machine-Dependencies" accesskey="n" rel="next">Machine Dependencies</a>, Previous: <a href="Pseudo-Ops.html#Pseudo-Ops" accesskey="p" rel="previous">Pseudo Ops</a>, Up: <a href="index.html#Top" accesskey="u" rel="up">Top</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>
67</div>
68<hr>
69<a name="Object-Attributes-1"></a>
70<h2 class="chapter">8 Object Attributes</h2>
71<a name="index-object-attributes"></a>
72
73<p><code>as</code> assembles source files written for a specific architecture
74into object files for that architecture.  But not all object files are alike.
75Many architectures support incompatible variations.  For instance, floating
76point arguments might be passed in floating point registers if the object file
77requires hardware floating point support&mdash;or floating point arguments might be
78passed in integer registers if the object file supports processors with no
79hardware floating point unit.  Or, if two objects are built for different
80generations of the same architecture, the combination may require the
81newer generation at run-time.
82</p>
83<p>This information is useful during and after linking.  At link time,
84<code>ld</code> can warn about incompatible object files.  After link
85time, tools like <code>gdb</code> can use it to process the linked file
86correctly.
87</p>
88<p>Compatibility information is recorded as a series of object attributes.  Each
89attribute has a <em>vendor</em>, <em>tag</em>, and <em>value</em>.  The vendor is a
90string, and indicates who sets the meaning of the tag.  The tag is an integer,
91and indicates what property the attribute describes.  The value may be a string
92or an integer, and indicates how the property affects this object.  Missing
93attributes are the same as attributes with a zero value or empty string value.
94</p>
95<p>Object attributes were developed as part of the ABI for the ARM Architecture.
96The file format is documented in <cite>ELF for the ARM Architecture</cite>.
97</p>
98<table class="menu" border="0" cellspacing="0">
99<tr><td align="left" valign="top">&bull; <a href="GNU-Object-Attributes.html#GNU-Object-Attributes" accesskey="1">GNU Object Attributes</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top"><small>GNU</small> Object Attributes
100</td></tr>
101<tr><td align="left" valign="top">&bull; <a href="Defining-New-Object-Attributes.html#Defining-New-Object-Attributes" accesskey="2">Defining New Object Attributes</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">Defining New Object Attributes
102</td></tr>
103</table>
104
105<hr>
106<div class="header">
107<p>
108Next: <a href="Machine-Dependencies.html#Machine-Dependencies" accesskey="n" rel="next">Machine Dependencies</a>, Previous: <a href="Pseudo-Ops.html#Pseudo-Ops" accesskey="p" rel="previous">Pseudo Ops</a>, Up: <a href="index.html#Top" accesskey="u" rel="up">Top</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>
109</div>
110
111
112
113</body>
114</html>
115