如何确定为什么已编译的Rust二进制文件需要特定符号?

时间:2019-06-04 15:34:31

标签: rust dynamic-linking

我用Rust编写了一个程序。编译时,它需要glibc符号以及secure_getenv

objdump -T ~/Downloads/redisql_v1.0.1_x86_64.so | grep secure -C 3
0000000000000000      DF *UND*  0000000000000000  GLIBC_2.2.5 rewind
0000000000000000      DF *UND*  0000000000000000  GLIBC_2.2.5 bind
0000000000000000      D  *UND*  0000000000000000              secure_getenv ### <--- here
0000000000000000      DF *UND*  0000000000000000  GLIBC_2.2.5 socket
0000000000000000      DF *UND*  0000000000000000  GLIBC_2.2.5 pthread_mutex_trylock

如何确定哪些依赖项需要此特定功能?

1 个答案:

答案 0 :(得分:1)

  

如何确定哪些依赖项需要此特定功能?

您可以通过在链接行中添加-Wl,-y,secure_getenv来找出引用了的代码。