as: GNU Object Attributes
1
1 8.1 GNU Object Attributes
1 =========================
1
1 The '.gnu_attribute' directive records an object attribute with vendor
1 'gnu'.
1
1 Except for 'Tag_compatibility', which has both an integer and a
1 string for its value, GNU attributes have a string value if the tag
1 number is odd and an integer value if the tag number is even. The
1 second bit ('TAG & 2' is set for architecture-independent attributes and
1 clear for architecture-dependent ones.
1
1 8.1.1 Common GNU attributes
1 ---------------------------
1
1 These attributes are valid on all architectures.
1
1 Tag_compatibility (32)
1 The compatibility attribute takes an integer flag value and a
1 vendor name. If the flag value is 0, the file is compatible with
1 other toolchains. If it is 1, then the file is only compatible
1 with the named toolchain. If it is greater than 1, the file can
1 only be processed by other toolchains under some private
1 arrangement indicated by the flag value and the vendor name.
1
1 8.1.2 MIPS Attributes
1 ---------------------
1
1 Tag_GNU_MIPS_ABI_FP (4)
1 The floating-point ABI used by this object file. The value will
1 be:
1
1 * 0 for files not affected by the floating-point ABI.
1 * 1 for files using the hardware floating-point ABI with a
1 standard double-precision FPU.
1 * 2 for files using the hardware floating-point ABI with a
1 single-precision FPU.
1 * 3 for files using the software floating-point ABI.
1 * 4 for files using the deprecated hardware floating-point ABI
1 which used 64-bit floating-point registers, 32-bit
1 general-purpose registers and increased the number of
1 callee-saved floating-point registers.
1 * 5 for files using the hardware floating-point ABI with a
1 double-precision FPU with either 32-bit or 64-bit
1 floating-point registers and 32-bit general-purpose registers.
1 * 6 for files using the hardware floating-point ABI with 64-bit
1 floating-point registers and 32-bit general-purpose registers.
1 * 7 for files using the hardware floating-point ABI with 64-bit
1 floating-point registers, 32-bit general-purpose registers and
1 a rule that forbids the direct use of odd-numbered
1 single-precision floating-point registers.
1
1 8.1.3 PowerPC Attributes
1 ------------------------
1
1 Tag_GNU_Power_ABI_FP (4)
1 The floating-point ABI used by this object file. The value will
1 be:
1
1 * 0 for files not affected by the floating-point ABI.
1 * 1 for files using double-precision hardware floating-point
1 ABI.
1 * 2 for files using the software floating-point ABI.
1 * 3 for files using single-precision hardware floating-point
1 ABI.
1
1 Tag_GNU_Power_ABI_Vector (8)
1 The vector ABI used by this object file. The value will be:
1
1 * 0 for files not affected by the vector ABI.
1 * 1 for files using general purpose registers to pass vectors.
1 * 2 for files using AltiVec registers to pass vectors.
1 * 3 for files using SPE registers to pass vectors.
1
1 8.1.4 IBM z Systems Attributes
1 ------------------------------
1
1 Tag_GNU_S390_ABI_Vector (8)
1 The vector ABI used by this object file. The value will be:
1
1 * 0 for files not affected by the vector ABI.
1 * 1 for files using software vector ABI.
1 * 2 for files using hardware vector ABI.
1