SHT_NULL节的目的是什么ELF?根据ELF规范:
SHT_NULL:此值将节标题标记为无效;它没有关联的部分。节标题的其他成员具有未定义的值。
的一个“用途”SHT_NULL是它对于第一个头表条目(索引 0,named SHN_UNDEF)是强制性的,这很神奇。
这记录在System V ABI 更新(由 LSB推荐)中:
如果节数大于或等于 SHN_LORESERVE (0xff00),则 e_shnum 的值为 SHN_UNDEF (0),节头表条目的实际数包含在索引 0 处的节头的 sh_size 字段中(否则, sh_size 成员的初始条目包含 0)。
和:
保留其他节类型值。如前所述,索引 0 (SHN_UNDEF) 的节头存在,即使该索引标记了未定义的节引用。此条目包含以下内容。
后跟一个表,指定节头的每个条目在这种特殊情况下的含义。特别是,sh_type必须是SHT_NULL。
从上面来看,这第一部分似乎存在以允许对大量部分进行编码,但我还没有测试内核和编译器支持。
| 归档时间: |
|
| 查看次数: |
1525 次 |
| 最近记录: |