as: Object Attributes

 
 8 Object Attributes
 *******************
 
 'as' assembles source files written for a specific architecture into
 object files for that architecture.  But not all object files are alike.
 Many architectures support incompatible variations.  For instance,
 floating point arguments might be passed in floating point registers if
 the object file requires hardware floating point support--or floating
 point arguments might be passed in integer registers if the object file
 supports processors with no hardware floating point unit.  Or, if two
 objects are built for different generations of the same architecture,
 the combination may require the newer generation at run-time.
 
    This information is useful during and after linking.  At link time,
 'ld' can warn about incompatible object files.  After link time, tools
 like 'gdb' can use it to process the linked file correctly.
 
    Compatibility information is recorded as a series of object
 attributes.  Each attribute has a "vendor", "tag", and "value".  The
 vendor is a string, and indicates who sets the meaning of the tag.  The
 tag is an integer, and indicates what property the attribute describes.
 The value may be a string or an integer, and indicates how the property
 affects this object.  Missing attributes are the same as attributes with
 a zero value or empty string value.
 
    Object attributes were developed as part of the ABI for the ARM
 Architecture.  The file format is documented in 'ELF for the ARM
 Architecture'.
 

Menu