dlopen
我的应用程序动态加载自定义代码。对于常用符号,默认使用全局符号表。
但是,我想提供以下功能 - 如果用户已将其 so 与 链接-Bsymbolic-functions
,我会将RTLD_DEEPBIND
标志传递给该dlopen
函数。
有没有一种方法可以通过编程方式知道 .so 是否与-Bsymbolic-functions
C 链接?
答案1
您可以使用标准 ELF 程序转储:
dump -Lv libxxx.so | grep SYMBOLIC
答案2
有一个命令叫纳米
nm - 列出目标文件中的符号
你可以使用命令
nm Absolute_path_of_.so_file_name | grep -i -Bsymbolic-functions