【发布时间】:2021-12-05 04:08:08
【问题描述】:
根据oracles documentation on the ELF file format,一个 64 位 elf 符号大小为 30 个字节(8 + 1 + 1 + 4 + 8 + 8),但是当我使用 readelf 打印出 elf 文件的节标题时,然后检查符号表部分标题的“EntSize”(条目大小)成员,它读取符号条目实际上只有十六进制 0x18(dec 24)大小。
我在 oracle 文档旁边附上了一张 readelfs 输出的图片。 “SYMTAB”下突出显示的字符是“EntSize”成员。
当我即将编写一个 ELF 解析器时,我很好奇我应该相信哪个? EntSize 成员或文档的读取值?
我也尝试在 this ELF 文档中寻找答案,但它似乎没有涉及 64 位 ELF 结构的任何细节。
需要注意的是,上图中我运行readelf的ELF文件是64位的可执行文件
【问题讨论】:
标签: executable elf object-files ldd readelf