On Sat, 21 Jan 2006, Olwe Bottorff wrote:

> When they talk about symbol tables in a book about
> compilers are these the same symbol tables you see
> when you run nm on an object file or executable? Is
> there a connection?

Generally, the symbol tables inside a compiler contain a lot more symbols- 
and more information about those symbols- than the symbol tables left 
inside an object file and reported by nm or objdump or similiar.  For 
example, you had C code like:

void foo (int x, int y) {
     int z;
     ...
}

The compiler's symbol table will include foo, x, y, and z, as well as the 
types (foo is a function that takes two ints and returns void, x, y, and 
z are all ints, etc).  But the only symbol table that will be in the 
object file is foo, and the only information about it will be it's 
location within the object file.  Basically, only that information needed 
by the linker is left in the object file.

Brian