Results 1 to 5 of 5
I need a definiton of what a symbol is in (symbol table) and or object file context.
Thanks in advance!...
- 05-05-2011 #1
What is a symbol in object file context?
I need a definiton of what a symbol is in (symbol table) and or object file context.
Thanks in advance!
- 05-06-2011 #2
When a program is compiled, variable names are replaced by their (virtual) addresses. The names aren't necessary for the program to run, but they are essential for debugging. So the compiler stores them and their corresponding addresses in the symbol table.
"I'm just a little old lady; don't try to dazzle me with jargon!"
- 05-06-2011 #3
This also applies to shared libraries. Imagine that I have a library (we'll call it libfoo.so) and I am writing a program that dynamically links with it. Suppose that my program wants to call the bar() function defined in libfoo.so. The linker needs to know where the bar() function is actually defined inside libfoo.so. So the symbol table maps the "bar" symbol to some address.
The way that a modern program might work, then, would be that the first time my program calls the bar() function, it actually jumps to a fake address inside of ld.so (a shared library that acts as the linker). At this point, ld.so looks at the symbol tables of the libraries that I've linked with, finds the bar() function, and replaces the fake address with the actual address. Then, in the future, my program will go to bar() directly, and not go through ld.so.
I hope this helps.DISTRO=Arch
Registered Linux User #388732
- 05-06-2011 #4
Thank you both for the great replies.
So it would seem that "symbol" is used as a synonym for the name of a variable function or types. I did eventually find this web page that has an indirect definition on "symbol". As far as term usage I would say that this one is one of the most elusive to find and I image symbol was used because aliases was already taken , still absurd though. A word is not a symbol. Word !=Symbol.
Thanks again for your help!
Symbols
- 05-07-2011 #5Linux Guru
- Join Date
- Apr 2009
- Location
- I can be found either 40 miles west of Chicago, or in a galaxy far, far away.
- Posts
- 8,970
Yeah. You got two great answers from Hazel and Cabhan. A symbol is related to some address, either variable or function or other discrete chunk of memory in the program, such as string literals and whatnot.
Sometimes, real fast is almost as good as real time.
Just remember, Semper Gumbi - always be flexible!


Reply With Quote