SPRAC71B February 2019 – October 2023
The ELF specification reserves section types 0x70000000 and higher for processor-specific values. TI has split this space into two parts: values from 0x70000000 through 0x7EFFFFFF are processor-specific, and values from 0x7F000000 through 0xFFFFFFFF are for TI-specific sections common to multiple TI architectures. The combined set is listed in Table 11-3.
Not all these section types are used in the C28x ABI. Some are specific to the TI toolchain but outside the ABI, and some are used by TI toolchains for architectures other than C28x. They are documented here for completeness, and to reserve the tag values.
Name | Value | Comment |
---|---|---|
SHT_C28x_UNWIND | 0x70000001 | Unwind function table for stack unwinding |
SHT_C28x_PREEMPTMAP | 0x70000002 | DLL dynamic linking pre-emption map (not supported by C28x) |
SHT_C28x_ATTRIBUTES | 0x70000003 | Object file compatibility attributes |
SHT_TI_ICODE | 0x7F000000 | Intermediate code for link-time optimization |
SHT_TI_XREF | 0x7F000001 | Symbolic cross reference information |
SHT_TI_HANDLER | 0x7F000002 | Reserved |
SHT_TI_INITINFO | 0x7F000003 | Compressed data for initializing C variables |
SHT_TI_SH_FLAGS | 0x7F000005 | Extended section header attributes |
SHT_TI_SYMALIAS | 0x7F000006 | Symbol alias table |
SHT_TI_SH_PAGE | 0x7F000007 | Per-section memory space table| |
SHT_C28x_UNWIND identifies a section containing unwind function table for stack unwinding. See Chapter 9 for details.
SHT_C28x_ATTRIBUTES identifies a section containing object compatibility attributes. See Chapter 13.
SHT_TI_ICODE identifies a section containing a TI-specific intermediate representation of the source code, used for link-time recompilation and optimization.
SHT_TI_XREF identifies a section containing symbolic cross-reference information.
SHT_TI_HANDLER is not currently used.
SHT_TI_INITINFO identifies a section containing compressed data for initializing C variables. This section contains a table of records indicating source and destination addresses, and the data itself, usually in the compressed form. See Chapter 14.
SHT_TI_SH_FLAGS identifies a section containing a table of TI-specific section header flags.
SHT_TI_SYMALIAS identifies a section containing a table that defines symbols as being equivalent to other, possibly externally defined, symbols. The TI linker uses the table to eliminate trivial functions that simply forward to other functions.
SHT_TI_SH_PAGE is used only on targets that have distinct, possibly overlapping, address spaces (pages). The section contains a table that associates other sections with page numbers. This section type is not used on C28x.