跟踪共享库中符号的来源

我有一个共享库(更具体地说是本机python模块),它引用了其他库中的一些符号。ldd -r显示无法在系统上动态解析库的哪些符号。例:

# ldd -r /usr/lib/python3.4/site-packages/_selinux.cpython-34m.so
…
undefined symbol: selabel_digest        (/usr/lib/python3.4/site-packages/_selinux.cpython-34m.so)

现在,我有一个类似的系统,其中的链接似乎有效,ldd不会报告任何未解析的符号。
如何跟踪在该系统上如何解析以及从哪些源(共享库的文件名)解析某些符号?我希望这可以帮助我正确地建立第一个系统上的链接。

受雇于俄罗斯

如何跟踪在该系统上如何解析以及从哪些源(共享库的文件名)解析某些符号?

在“工作”系统上,运行

LD_DEBUG=symbols,bindings ldd -r _selinux.cpython-34m.so |&
grep selabel_digest

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

使用共享库未定义符号的Linux共享库

即使nm指示共享库中存在该符号,也未定义对符号的引用

如何从共享库中删除符号?

如何使dlopen加载的共享库中的gdb打印符号?

共享so库中的nm符号输出t vs T

跟踪对共享库的调用

我如何使用find,nm和grep在许多共享库中查找符号?

为什么Folly的共享库引用了Boost中的错误符号?(OS X上的GCC)

ld检查共享库中未解析的符号不是多余的吗?

Cython:共享库中未定义的符号

在共享库中隐藏符号是否有技术原因?

使用bbappend中的共享库符号链接,bitbake do_rootfs安装失败

提供库的地址时,如何获取共享库中符号的地址?

GCC中带有-O3的共享库编译输出的符号不如-O0

可以在GDB的反向跟踪中显示共享库中的绝对地址吗?

如何符号化已剥离共享库的堆栈跟踪

Fortran共享库中的符号命名是intel还是gcc?

修改已编译共享库中符号的可见性

为什么要将全局偏移表用于共享库本身中定义的符号?

共享库中的符号名称不同于.cpp文件中的功能

仅少数方法(静态或共享库)中无法解析的外部符号

链接到共享库时,不会导出静态库中的符号

在共享库上实现缺少的符号

将共享库中的符号解析为可执行文件

如何从Linux共享库的符号依赖表中剥离符号版本信息?

为什么我的共享库中(似乎)有(似乎)有重复的符号?

与 freeglut 共享库 - 未定义符号

ctype 加载的共享库符号也在 glibc 中定义;如何选择符号?

如何控制从 Bazel 中的共享库导出哪些符号?