上下文:我目前正在调试一个问题,即在一台机器上生成的二进制文件(与 lpthread 一样)在另一台机器上尝试时会导致与 pthread 相关的错误。
libtest.so 是一个共享库,它似乎包含多个版本的 GLIBC_ 。这是预期的吗?它是怎么发生的?它是使用“-shared -lpthread -fPIC -soname=xxxx”选项链接的。
$objdump -T libtest.so | grep GLIBC_
...
00000000 DF *UND* 0000008d GLIBC_2.1 popen
...
00000000 DF *UND* 0000002c GLIBC_2.0 syslog
00000000 DF *UND* 00000020 GLIBC_2.0 pthread_exit
00000000 DF *UND* 0000009f GLIBC_2.0 __xstat
00000000 DF *UND* 000000bb GLIBC_2.3.2 pthread_cond_signal
00000000 DF *UND* 000000c9 GLIBC_2.0 vsprintf
...