SPRAB89A September 2011 – March 2014
ELF executable objects and shared libraries contain a program header table. Each entry in the program table describes a single segment. Along with the other metadata, the program table allows limited processor-specific extension of the segment attributes: up to eight OS-specific flags and four processor-specific flags are permitted.
These flags can be used by a processor-specific ABI to represent additional segment properties.
However, there are very few available flags, and they cannot be used to express attributes with parameters. TI anticipates a need to specify additional system/device/application specific segment properties in the ELF program header table. The segment flags are not sufficient to represent all our segment attribute needs, so we have extended the ELF format to include extended program header attributes. A C6000 EABI conforming tool can choose to implement support for extended program header attributes as a quality-of-implentation issue. Support for extended program header attributes is not required to be C6000 EABI compliant.
Extended program header attributes are encoded in a processor specific section of type SHT_TI_PHATTRS (0x7F000004) and name .TI.phattrs. This section is contained in a segment specified by a segment of type PT_TI_PHATTRS (0x70000000).