SPRAB89A September 2011 – March 2014
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 13-3.
Not all these section types are used in the C6000 ABI. Some are specific to the TI toolchain but outside the ABI, and some are used by TI toolchains for architectures other than C6000. They are documented here for completeness, and to reserve the tag values.
Name | Value | Comment |
---|---|---|
SHT_C6000_UNWIND | 0x70000001 | Unwind function table for stack unwinding |
SHT_C6000_PREEMPTMAP | 0x70000002 | DLL dynamic linking pre-emption map |
SHT_C6000_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_PHATTRS | 0x7F000004 | Extended program header attributes |
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_C6000_UNWIND identifies a section containing unwind function table for stack unwinding. See Chapter 11 for details.
SHT_C6000_PREEMPTMAP identifies a section containing a C6000 DLL dynamic linking preemption map.
SHT_C6000_ATTRIBUTES identifies a section containing object compatibility attributes. See Chapter 17.
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 18.
SHT_TI_PHATTRS identifies a section containing additional properties for program segments in an executable or shared object file. See Chapter 19.
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 C6000.