ZHCADC5A June 2013 – June 2020
ELF 规范为处理器特定的值保留了段类型 0x70000000 及更高的段。TI 将该范围分为了两部分:0x70000000 到 0x7EFFFFFF 的值为处理器特定值,而 0x7F000000 到 0xFFFFFFFF 的值对应多个 TI 架构共用的 TI 特定段。表 11-3 中列出了组合集。
并非所有这些段类型都在 MSP430 ABI 中使用。一些特定于 TI 工具链,但超出 ABI;一些则由 TI 工具链用于除 MSP430 之外的架构。本文档对其进行了介绍以保证完整性,同时保留标记值。
名称 | 值 | 注释 |
---|---|---|
SHT_MSP430_UNWIND | 0x70000001 | 用于栈回溯的回溯函数表 |
SHT_MSP430_PREEMPTMAP | 0x70000002 | DLL 动态链接抢占映射(MSP430 不支持) |
SHT_MSP430_ATTRIBUTES | 0x70000003 | 目标文件兼容性属性 |
SHT_TI_ICODE | 0x7F000000 | 用于链接时优化的中间代码 |
SHT_TI_XREF | 0x7F000001 | 符号交叉参考信息 |
SHT_TI_HANDLER | 0x7F000002 | 保留 |
SHT_TI_INITINFO | 0x7F000003 | 用于初始化 C 变量的压缩数据 |
SHT_TI_SH_FLAGS | 0x7F000005 | 扩展段标头属性 |
SHT_TI_SYMALIAS | 0x7F000006 | 符号别名表 |
SHT_TI_SH_PAGE | 0x7F000007 | 每段存储器空间表| |
SHT_MSP430_UNWIND 识别包含用于栈回溯的回溯函数表的段。有关详细信息,请参阅Chapter9。
SHT_MSP430_ATTRIBUTES 识别包含对象兼容性属性的段。请参阅Chapter13。
SHT_TI_ICODE 识别包含 TI 特定源代码中间表示的段,该代码用于链接时重新编译和优化。
SHT_TI_XREF 识别包含符号交叉参考信息的段。
SHT_TI_HANDLER 当前未使用。
SHT_TI_INSTINFO 识别包含用于初始化 C 变量的压缩数据的段。此段包含一个指示源地址和目标地址的记录表,以及通常为压缩格式的数据本身。请参阅Chapter14。
SHT_TI_SH_FLAGS 识别包含 TI 特定段标头标志表的段。
SHT_TI_SYMALIAS 识别包含一个用于将符号定义为等同于其他符号(可能是外部定义的符号)的表的段。TI 链接器使用该表来消除仅转发给其他函数的平凡函数。
SHT_TI_SH_PAGE 仅在具有不同(可能重叠)地址空间(页)的目标上使用。段中包含一个将其他段与页码相关联的表。此段类型不在 MSP430 上使用。