@GLIBC_2.2.5
对glibc中的符号有什么意义?
我正在尝试在64位CLFS系统上构建一个包。我正在解决与/lib64/libc-2.15.so链接的多个符号的未解决的符号问题,但是,未解决的所有内容都有@GLIBC_2.2.5
后缀。
0000000000107910 T xdr_accepted_reply@GLIBC_2.2.5
0000000000112290 T xdr_array@GLIBC_2.2.5
0000000000109650 T xdr_authdes_cred@GLIBC_2.2.5
所以它看起来像libc-2.15中存在的xdr例程,但我不能真正使用它们。我的目标文件中的符号没有该后缀。例如,.o上的nm只显示'xdr_accepted_reply'。
我想首先理解这一点,因为我被引导追逐替换库的路径。 libtirpc获取XDR例程和其他一些库来获取tirpc需要的缺少的加密例程。
答案 0 :(得分:0)
它们看起来像 Versioning Symbols for Shared Libraries (glibc)
由于链接背后的内容会指出,您可以使用:
objdump -x wrapper-linux-x86-32 //and possibly -64
获取有关可执行文件的大量信息......
例如:
...
Version References:
required from libpthread.so.0:
0x0d696912 0x00 05 GLIBC_2.2
0x0d696911 0x00 04 GLIBC_2.1
0x0d696910 0x00 03 GLIBC_2.0
required from libc.so.6:
0x0d696913 0x00 08 GLIBC_2.3
0x0d696911 0x00 07 GLIBC_2.1
0x0d696912 0x00 06 GLIBC_2.2
0x0d696910 0x00 02 GLIBC_2.0
...