Could someone explain the columns shown of the symbol table using readelf
?
Consider the following:
Symbol table .symtab
contains 1203 entries:
Num: Value Size Type Bind Vis Ndx Name
310: a0008120 0 NOTYPE GLOBAL DEFAULT ABS _gp
734: a0000010 32 OBJECT GLOBAL DEFAULT 77 v
818: 9d000018 496 FUNC GLOBAL DEFAULT 71 main
849: a0000124 4 OBJECT GLOBAL DEFAULT 78 phrase
955: a0000000 9 OBJECT GLOBAL DEFAULT 77 peppers
1020: a000023c 192 OBJECT GLOBAL DEFAULT 80 bins
Num:
= The symbol number Value
= The address of the Symbol Size
= The size of the symbol Type
= symbol type: Func
= Function, Object
, File
(source file name), Section
= memory section, Notype
= untyped absolute symbol or undefinedBind
= GLOBAL
binding means the symbol is visible outside the file. LOCAL
binding is visible only in the file. WEAK
is like global, the symbol can be overridden. Vis
= Symbols can be default, protected, hidden or internal. Ndx
= The section number the symbol is in. ABS means absolute: not adjusted to any section address's relocationName
= symbol name