解释ELF符号表

时间:2015-04-10 05:56:04

标签: c symbols

我编写了一个名为a.c的简单程序来理解x86机器上的符号表:

extern int foo;

int function(void){
  return foo;
}

我编译它和readelf

$ gcc -c -m32 a.c

$ readelf -a a.o> a.log

a.log中的符号表如下所示:

Symbol table '.symtab' contains 10 entries:
   Num:    Value  Size Type    Bind   Vis      Ndx Name
     0: 00000000     0 NOTYPE  LOCAL  DEFAULT  UND
     1: 00000000     0 FILE    LOCAL  DEFAULT  ABS a.c
     2: 00000000     0 SECTION LOCAL  DEFAULT    1
     3: 00000000     0 SECTION LOCAL  DEFAULT    3
     4: 00000000     0 SECTION LOCAL  DEFAULT    4
     5: 00000000     0 SECTION LOCAL  DEFAULT    6
     6: 00000000     0 SECTION LOCAL  DEFAULT    7
     7: 00000000     0 SECTION LOCAL  DEFAULT    5
     8: 00000000    10 FUNC    GLOBAL DEFAULT    1 function
     9: 00000000     0 NOTYPE  GLOBAL DEFAULT  UND foo

符号表条目0的目的是什么,2到7的条目是什么?

0 个答案:

没有答案