乐趣区

关于linux:linux-objdump-符号表-列说明

查看.so 的函数列表时:

objdump -tT   liblapack.so | grep 'gotoblas'
0000000000000000      DO *UND*    0000000000000000              gotoblas

上述阐明 liblapack.so 存在 gotoblas 还是不存在?每一列是什么意思?

第一列:符号的值
第二列:一组字符和空格,示意在符号上设置的标记位。上面列出了七个分组:
  1. 第一组:(l,g,,!)本地,全局,两者都不是。
  2. 第二组:(w,) 弱或强符号。
  3. 第三组:(C,) 符号示意构造函数或一般符号。
  4. 第四组:(W,)符号为正告或失常符号。
  5. 第五组:(I,)间接援用另一个符号或失常符号。
  6. 第六组:(d,D,) 调试符号、动静符号或失常符号。
  7. 第七组:(F,f,O,) 符号是函数名、文件名、对象名或一般符号。

    第三列:符号所在的节。
    ABS 示意相对,示意不属于任何局部的符号。UND 内部链接符号,未在本指标文件定义。COM Symbols defined relative to this section are common symbols, 全局未初始化变量 
    第四列:符号的大小或对齐形式。
第五列:符号的名称。

参考文章:

  1. man objdump
  2. objdump
退出移动版