gpt4 book ai didi

linux - 是否有任何工具可以检查交叉编译的 .so 文件中的符号?

转载 作者:太空狗 更新时间:2023-10-29 11:06:38 24 4
gpt4 key购买 nike

我有一个应用程序在启动时加载 .so 文件作为插件,使用 dlopen()

构建环境在 x86 硬件上运行,但应用程序正在为另一个平台交叉编译。

如果我可以(作为自动构建过程的一部分)进行检查以确保 .so 文件和应用程序的组合中没有任何未解析的符号,而不必实际部署,那就太好了应用程序。

在我使用 nm 的输出编写测试符号的脚本之前,我想知道是否有人知道已经这样做的实用程序?


编辑 1:稍微更改了描述 - 我不只是尝试测试 .so 中的符号,而是测试几个 .so 和应用程序本身的组合 - 即。在应用程序加载所有 .so 之后,是否仍然存在未解析的符号。

正如答案中所建议的(感谢 Martin v. Löwis 和 tgamblin),nm 将很容易识别单个文件中丢失的符号,但不会轻易识别其中哪些符号已在其他加载的模块之一。

最佳答案

理想情况下,交叉 nm 工具是交叉编译器套件的一部分。例如,如果您构建用于交叉编译的 GNU binutils,那么也会提供一个 cross-nm(连同一个 cross-objdump)。

关于linux - 是否有任何工具可以检查交叉编译的 .so 文件中的符号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/270598/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com