查看.so 的函数列表时:
objdump -tT liblapack.so | grep 'gotoblas'
0000000000000000 DO *UND* 0000000000000000 gotoblas
上述阐明 liblapack.so 存在 gotoblas 还是不存在?每一列是什么意思?
第一列:符号的值
第二列:一组字符和空格,示意在符号上设置的标记位。上面列出了七个分组:
- 第一组:(l,g,,!)本地,全局,两者都不是。
- 第二组:(w,) 弱或强符号。
- 第三组:(C,) 符号示意构造函数或一般符号。
- 第四组:(W,)符号为正告或失常符号。
- 第五组:(I,)间接援用另一个符号或失常符号。
- 第六组:(d,D,) 调试符号、动静符号或失常符号。
-
第七组:(F,f,O,) 符号是函数名、文件名、对象名或一般符号。
第三列:符号所在的节。
ABS 示意相对,示意不属于任何局部的符号。UND 内部链接符号,未在本指标文件定义。COM Symbols defined relative to this section are common symbols, 全局未初始化变量
第四列:符号的大小或对齐形式。
第五列:符号的名称。
参考文章:
- man objdump
- objdump