SPRAC71B February 2019 – October 2023
OFBA_C28XABI_Tag_C28x (=4), ULEB128
This tag specifies the C28x ISA(s) that can execute the instructions encoded in the file. The following values are defined:
0 | C28x code not present | |
1 | C28x code present |
In order to link, all the object files in a build must have the same ISA tag.
OFBA_C28XABI_Tag_Code_FPU, (=6), ULEB128
0 | FPU code not present | |
1 | FPU32 code present | |
2 | FPU64 code present |
This tag specifies which version of the FPU is supported, if any.
In order to link, all the object files in a build must be compiled with the same FPU support.
OFBA_C28XABI_Tag_CLA, (=8), ULEB128
0 | No CLA. | |
1 | CLA 0 supported | |
2 | CLA 1 supported | |
3 | CLA 2 supported |
This tag specifies the CLA version supported, if any.
In order to link, all the object files in a build must be compiled with the same CLA support.
OFBA_C28XABI_Tag_TMU, (=10), ULEB128
0 | No TMU | |
1 | TMU 0 supported |
This tag specifies the TMU version supported, if any.
In order to link, all the object files in a build must be compiled with the same TMU support.
OFBA_C28XABI_Tag_VCU, (=12), ULEB128
0 | No VCU. | |
1 | VCU 0 supported | |
2 | VCU 2 supported | |
3 | VCU 2.1 supported |
This tag specifies the VCU version supported, if any.
In order to link, all the object files in a build must be compiled with the same VCU support.
OFBA_C28XABI_Tag_float_args, (=14), ULEB128
0 | No float args | |
1 | Float args present |
This tag specifies whether any single-precision float arguments are used.
OFBA_C28XABI_Tag_double_args, (=16), ULEB128
0 | No double args | |
1 | Double args present |
This tag specifies whether any double-precision float arguments are used.
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_C28XABI_Tag_C28x | 4 | ULEB128 | Cannot be mixed across object files. |
OFBA_C28XABI_Tag_FPU | 6 | ULEB128 | Cannot be mixed across object files. |
OFBA_C28XABI_Tag_CLA | 8 | ULEB128 | Cannot be mixed across object files. |
OFBA_C28XABI_Tag_TMU | 10 | ULEB128 | Cannot be mixed across object files. |
OFBA_C28XABI_Tag_VCU | 12 | ULEB128 | Cannot be mixed across object files. |
OFBA_C28XABI_Tag_float_args | 14 | ULEB128 | none (Can be mixed across object files.) |
OFBA_C28XABI_Tag_double_args | 16 | ULEB128 | none (Can be mixed across object files.) |