LinuxQuestions.org
Visit Jeremy's Blog.
Home Forums Tutorials Articles Register
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Software
User Name
Password
Linux - Software This forum is for Software issues.
Having a problem installing a new program? Want to know which application is best for the job? Post your question in this forum.

Notices


Reply
  Search this Thread
Old 10-20-2016, 12:22 PM   #1
watchintv
Member
 
Registered: Oct 2016
Posts: 57

Rep: Reputation: Disabled
What are the differences between the normal symbol table, the dynamic symbol table, and the debugging symbol table?


I've always been confused by symbols and what their exact meanings are. So what are they? Just function names and variables? And further, what are the exact differences between the normal symbol table, the dynamic symbol table, and the debugging symbol table

Please explain and elaborate.

Thank you.
 
Old 10-21-2016, 09:29 AM   #2
rtmistler
Moderator
 
Registered: Mar 2011
Location: USA
Distribution: MINT Debian, Angstrom, SUSE, Ubuntu, Debian
Posts: 9,882
Blog Entries: 13

Rep: Reputation: 4930Reputation: 4930Reputation: 4930Reputation: 4930Reputation: 4930Reputation: 4930Reputation: 4930Reputation: 4930Reputation: 4930Reputation: 4930Reputation: 4930
Where are you getting this information about normal, dynamic, and debugging tables? A symbol table is merely a cross reference between high level code and assembly language so that when you observe the code in mixed source/assembly or in the debugger, you use the symbol table to tell you where the references are.

Yes it is function names and variables, macros are not included because they are expanded in the pre-processor and substituted to become code segments.

The only differences are choosing to add debug symbols or strip symbols completely. The first way being verbose to include as much detail as possible, for debugging purposes, and the second way to make the executable small and efficient.
 
Old 10-21-2016, 01:15 PM   #3
watchintv
Member
 
Registered: Oct 2016
Posts: 57

Original Poster
Rep: Reputation: Disabled
I was under the impression these tables existed in the binary somewhere? Am I wrong?
 
Old 10-21-2016, 01:26 PM   #4
rtmistler
Moderator
 
Registered: Mar 2011
Location: USA
Distribution: MINT Debian, Angstrom, SUSE, Ubuntu, Debian
Posts: 9,882
Blog Entries: 13

Rep: Reputation: 4930Reputation: 4930Reputation: 4930Reputation: 4930Reputation: 4930Reputation: 4930Reputation: 4930Reputation: 4930Reputation: 4930Reputation: 4930Reputation: 4930
Quote:
Originally Posted by watchintv View Post
I was under the impression these tables existed in the binary somewhere? Am I wrong?
When the compiler is directed to provide debugging output it typically creates it using standard formats such as STABS, or DWARF, or something else. For instance Microsoft uses their own and generates PDB files. If you use GDB to compile a simple C file you'll see that it adds more information to the binary output file when you specify -g options for dwarf or gdb.
 
Old 10-22-2016, 01:56 AM   #5
Jjanel
Member
 
Registered: Jun 2016
Distribution: any&all, in VBox; Ol'UnixCLI; NO GUI resources
Posts: 999
Blog Entries: 12

Rep: Reputation: 364Reputation: 364Reputation: 364Reputation: 364
`man objdump` (in binutils optional pkg) mentions these (in case you want to dig into .o)
http://www.linuxdevcenter.com/cmd/cm...path=o/objdump
https://sourceware.org/binutils/docs...s/objdump.html
 
Old 10-22-2016, 08:38 AM   #6
BW-userx
LQ Guru
 
Registered: Sep 2013
Location: Somewhere in my head.
Distribution: Slackware (15 current), Slack15, Ubuntu studio, MX Linux, FreeBSD 13.1, WIn10
Posts: 10,342

Rep: Reputation: 2242Reputation: 2242Reputation: 2242Reputation: 2242Reputation: 2242Reputation: 2242Reputation: 2242Reputation: 2242Reputation: 2242Reputation: 2242Reputation: 2242
normal, dynamic, and debugging tables?
NORMAL: something most people are not.
it is what is used at all times.
DYNAMIC: created on the fly to be used in a normal manner
DEBUGGING: has symbols in it for use in debugging the table. raid is this case will not work.
 
  


Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
symbol table..... shariefbe Linux - Newbie 2 12-28-2008 12:34 AM
i have some questions on symbol table siddharthaswaroop Programming 3 03-21-2008 07:44 PM
"No symbol table is loaded." when ddd is remote debugging with gdbserver powah Linux - Software 1 01-18-2008 09:54 AM
Symbol-table for debugging while using make? JZL240I-U Programming 2 04-27-2006 04:17 AM
symbol table Filipe Linux - Newbie 1 01-04-2006 01:15 PM

LinuxQuestions.org > Forums > Linux Forums > Linux - Software

All times are GMT -5. The time now is 12:07 AM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration