【发布时间】:2011-08-06 05:11:19
【问题描述】:
我有一个剥离的 ld.so 我想用未剥离的版本替换(以便 valgrind 工作)。我已确保我拥有相同版本的 glib 和交叉编译器。
我已经编译了共享对象,在其上调用“文件”表明它已正确编译(与原始文件的唯一区别是“未剥离”并且大约大 15%)。不幸的是,它会在启动时导致内核恐慌(无法初始化)。剥离新编译的 .so ,对其进行重新编译并与原始文件进行比较,表明新版本的 .so 中有额外的符号。所有旧符号仍然存在,所以我不明白为什么内核会因为那里的那些额外符号而恐慌。
我希望额外的符号对内核启动没有影响,因为它们永远不应该被调用,那么为什么会出现内核恐慌?
注意:要明确一点 - 我仍然需要调查为什么会有额外的符号,但我的问题是为什么这些未使用的符号会导致问题。
【问题讨论】:
标签: shared-libraries embedded-linux glibc