我想列出程序从特定库加载的符号。您可以使用 ldd 列出所需的库:
ldd -v myExecutable
这给出了类似于以下输出的内容:
libgcc_s.so.1 (GCC_3.0) => /lib/i386-linux-gnu/libgcc_s.so.1
libc.so.6 (GLIBC_2.1) => /lib/i386-linux-gnu/libc.so.6
libc.so.6 (GLIBC_2.11) => /lib/i386-linux-gnu/libc.so.6
libc.so.6 (GLIBC_2.1.3) => /lib/i386-linux-gnu/libc.so.6
libc.so.6 (GLIBC_2.0) => /lib/i386-linux-gnu/libc.so.6
现在我想知道从哪个库加载了哪些符号。具体来说,就我而言,我想找到从 GLIBC_2.11 加载的那些并最终摆脱它们。
(我已经在使用ligcc来避免链接新符号 - 现在我想看看哪些符号在 2.11 之前不可用)