SLAA534A June 2013 – June 2020
OFBA_MSPABI_Tag_ISA (=4), ULEB128
This tag specifies the MSP430 ISA(s) that can execute the instructions encoded in the file. The following values are defined:
0 | No ISA specified | |
1 | MSP430 | |
2 | MSP430X |
In order to link, all the object files in a build must have the same ISA tag.
OFBA_MSPABI_Tag_Code_Model, (=6), ULEB128
0 | None | |
1 | Small code model | |
2 | Large code model |
This tag specifies the code model used.
In order to link, all the object files in a build must have the same code model. The small code model requires the use of the small data model. The MSP430 supports only the small code model.
OFBA_MSPABI_Tag_Data_Model, (=8), ULEB128
0 | None | |
1 | Small data model | |
2 | Large data model | |
3 | Restricted large data model |
This tag specifies the data model used. The small code model requires the use of the small data model. The MSP430 supports only the small data model.
In order to link, all the object files in a build must have the same data model.
OFBA_MSPABI_Tag_enum_size, (=10), ULEB128
0 | None | |
1 | Small (char/short) | |
2 | Integer (default) | |
3 | Don't care |
This tag specifies the minimum container size used for enum types. In order to link, all the object files in a build must specify compatible enum size attributes.
Table 13-1 summarizes the build attribute tags defined by the ABI.
Tag | Tag Value | Parameter Type | Compatibility Rules |
---|---|---|---|
Tag_File | 1 | uint32 | |
Tag_Section | 2 | uint32 | |
Tag_Symbol | 3 | uint32 | |
OFBA_MSPABI_Tag_ISA | 4 | ULEB128 | The ISA, code model, and data model tags cannot be mixed across object files. |
OFBA_MSPABI_Tag_Code_Model | 6 | ULEB128 | The ISA, code model, and data model tags cannot be mixed across object files. |
OFBA_MSPABI_Tag_Data_Model | 8 | ULEB128 | The ISA, code model, and data model tags cannot be mixed across object files. |
OFBA_MSPABI_Tag_enum_size | 10 | ULEB128 | See attribute description. |