as: RISC-V-ATTRIBUTE
9.37.4 RISC-V Object Attribute
------------------------------
RISC-V attributes have a string value if the tag number is odd and an
integer value if the tag number is even.
Tag_RISCV_stack_align (4)
Tag_RISCV_strict_align records the N-byte stack alignment for this
object. The default value is 16 for RV32I or RV64I, and 4 for
RV32E.
The smallest value will be used if object files with different
Tag_RISCV_stack_align values are merged.
Tag_RISCV_arch (5)
Tag_RISCV_arch contains a string for the target architecture taken
from the option '-march'. Different architectures will be
integrated into a superset when object files are merged.
Note that the version information of the target architecture must
be presented explicitly in the attribute and abbreviations must be
expanded. The version information, if not given by '-march', must
be in accordance with the default specified by the tool. For
example, the architecture 'RV32I' has to be recorded in the
attribute as 'RV32I2P0' in which '2P0' stands for the default
version of its base ISA. On the other hand, the architecture
'RV32G' has to be presented as 'RV32I2P0_M2P0_A2P0_F2P0_D2P0' in
which the abbreviation 'G' is expanded to the 'IMAFD' combination
with default versions of the standard extensions.
Tag_RISCV_unaligned_access (6)
Tag_RISCV_unaligned_access is 0 for files that do not allow any
unaligned memory accesses, and 1 for files that do allow unaligned
memory accesses.
Tag_RISCV_priv_spec (8)
Tag_RISCV_priv_spec_minor (10)
Tag_RISCV_priv_spec_revision (12)
Tag_RISCV_priv_spec contains the major/minor/revision version
information of the privileged specification. It will report errors
if object files of different privileged specification versions are
merged.