Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What does each column of objdump's Symbol table mean?

Tags:

objdump

SYMBOL TABLE: 0000000000000000  w      *UND*  0000000000000000              __gmon_start__ 

I've man objdump but there's no such info.

Anyone know what the 5 columns mean?

like image 450
Je Rog Avatar asked Jul 12 '11 15:07

Je Rog


People also ask

What does und mean in Objdump?

These characters are described below. Next is the section with which the symbol is associated or ABS if the section is absolute (ie not connected with any section), or UND if the section is referenced in the file being dumped, but not defined there.

What is NDX in Readelf?

Ndx = The section number the symbol is in. ABS means absolute: not adjusted to any section address's relocation.

What is a dynamic symbol table?

dynsym table is used by the dynamic linker (also referred to as the runtime loader or RTLD) at program load time to determine which DLLs to map into the address space of the program being loaded into memory.


2 Answers

COLUMN ONE: the symbol's value

COLUMN TWO: a set of characters and spaces indicating the flag bits that are set on the symbol. There are seven groupings which are listed below:

group one: (l,g,,!) local, global, neither, both.

group two: (w,) weak or strong symbol.

group three: (C,) symbol denotes a constructor or an ordinary symbol.

group four: (W,) symbol is warning or normal symbol.

group five: (I,) indirect reference to another symbol or normal symbol.

group six: (d,D,) debugging symbol, dynamic symbol or normal symbol.

group seven: (F,f,O,) symbol is the name of function, file, object or normal symbol.

COLUMN THREE: the section in which the symbol lives, ABS means not associated with a certain section

COLUMN FOUR: the symbol's size or alignment.

COLUMN FIVE: the symbol's name.

If you want additional information try you man page ;-) or the following links: http://manpages.ubuntu.com/manpages/intrepid/man1/objdump.1.html and http://sourceware.org/binutils/docs/binutils/objdump.html

like image 63
red-E Avatar answered Oct 01 '22 01:10

red-E


Since none of the previous answers seem to be correct, here's what you are actually looking for:

Here's a snippet from this link that might help:

"The other common output format, usually seen with ELF based files, looks like this:

      00000000 l    d  .bss   00000000 .bss       00000000 g       .text  00000000 fred 

Here the first number is the symbol's value (sometimes refered to as its address). The next field is actually a set of characters and spaces indicating the flag bits that are set on the symbol. These characters are described below. Next is the section with which the symbol is associated or ABS if the section is absolute (ie not connected with any section), or UND if the section is referenced in the file being dumped, but not defined there.

After the section name comes another field, a number, which for common symbols is the alignment and for other symbol is the size. Finally the symbol's name is displayed."

like image 27
Scranton Avatar answered Oct 01 '22 02:10

Scranton