What does the @GLIBC_2.2.5 suffix on symbols do? [duplicate]

情到浓时终转凉″ 提交于 2020-12-06 19:26:22

问题


What does the@GLIBC_2.2.5 do/mean with symbols inside glibc?

I'm attempting to build a package on a 64bit CLFS system. I'm getting unresolved symbol issues with multiple symbols linking against /lib64/libc-2.15.so, however, everything that is unresolved has a @GLIBC_2.2.5 suffix.

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

So it LOOKS like the xdr routines exist in libc-2.15 but I can't really use them. The symbols in my object files do not have that suffix. For example, an nm on the .o shows just 'xdr_accepted_reply'.

I would like to understand this first since I'm being led down a path of chasing replacement libraries otherwise. libtirpc to get the XDR routines and the some other library to get the missing crypto routines that tirpc needs.


回答1:


They look like Versioning Symbols for Shared Libraries (glibc)

As the content behind the link will point out, you can use:

objdump -x wrapper-linux-x86-32  //and possibly -64

To get a lot of information about the executable...

For example:

...
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
...


来源:https://stackoverflow.com/questions/23416442/what-does-the-glibc-2-2-5-suffix-on-symbols-do

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!