首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ELF文件版本

ELF文件版本
EN

Stack Overflow用户
提问于 2009-02-17 16:47:00
回答 1查看 290关注 0票数 1

我正在开发elfdump命令的克隆。

当在所有可执行文件上运行elfdump -ecps *file*时,我的程序工作正常。但是,当我在库文件上运行我的程序时,比如libc.so,它为.symtab部分中的所有符号打印出错误的版本号(具体地说,它们都是零)。我已经看了无数次的文档,但我不明白为什么会发生这种情况。

有没有人能提供一些建议?或者可能是如何检测它是否是一个库,这样我就可以在里面硬编码一个0?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2009-02-17 17:51:50

我相信,您可以通过检查e_type字段是否为ET_DYN来确定是否针对共享库运行。(人类精灵(5))

Ulrich Drepper的article介绍了ELF中的glibc每符号版本控制技巧。也许这里有你以前没有遇到过的额外信息。linux上的手册页似乎没有涵盖ELF文档中的每个符号的版本信息。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/557688

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档