ZHCADC5A June 2013 – June 2020
重定位类型在两个表中进行了说明。表 11-5 提供了重定位类型的数值,并汇总了重定位值的计算。此表之后描述了重定位类型及其使用示例。表 11-6 描述了每种类型的确切计算,包括重定位字段的提取和插入、溢出检查以及任何缩放或其他调整。
表 11-5 中使用了以下表示法。
S | 与重定位关联的符号的值,由重定位条目的 r_info 字段中包含的符号表索引指定。 |
A | 用于计算可重定位字段的值的加数。对于 ELF32_rel 重定位,A 根据表 11-6 编码到可重定位字段中。对于 Elf32_Rela 重定位,A 由重定位条目的 r_addend 字段提供。 |
PC | 包含字段的容器的地址。这可能与包含重定位的指令的地址不同。 |
名称 | 值 | 运算 | 约束条件 |
---|---|---|---|
R_MSP430_NONE | 0 | ||
R_MSP430_ABS32 | 1 | S + A | |
R_MSP430_ABS16 | 2 | S + A | |
R_MSP430_ABS8 | 3 | S + A | |
R_MSP430_PCR16 | 4 | S + A - PC | |
R_MSP430X_PCR20_EXT_SRC | 5 | S + A - PC | |
R_MSP430X_PCR20_EXT_DST | 6 | S + A - PC | |
R_MSP430X_PCR20_EXT_ODST | 7 | S + A - PC | |
R_MSP430X_ABS20_EXT_SRC | 8 | S + A | |
R_MSP430X_ABS20_EXT_DST | 9 | S + A | |
R_MSP430X_ABS20_EXT_ODST | 10 | S + A | |
R_MSP430X_ABS20_ADR_SRC | 11 | S + A | |
R_MSP430X_ABS20_ADR_DST | 12 | S + A | |
R_MSP430X_PCR16 | 13 | S + A - PC | |
R_MSP430X_PCR20_CALL | 14 | S + A - PC | |
R_MSP430X_ABS16 | 15 | S + A | |
R_MSP430_ABS_HI16 | 16 | S + A | 仅限 Rela |
R_MSP430_PREL31 | 17 | S + A - PC |