472,127 Members | 1,718 Online
Bytes | Software Development & Data Engineering Community
Post +

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 472,127 software developers and data experts.

Is space for symbol table allocated from heap?

It will be great if some one can explain in detail about structure of
process in memory...where is symbol table etc..located?

Jan 11 '06 #1
4 2476
>It will be great if some one can explain in detail about structure of
process in memory...where is symbol table etc..located?


If the program is static-linked, who says the symbol table is
anywhere in memory? If the program has been stripped, who says
the symbol table exists at all?

Gordon L. Burditt
Jan 11 '06 #2
So, can u please explain the concept of symbol table and when does it
exist and where?

Jan 11 '06 #3
Ico
curious <me********@yahoo.com> wrote:
So, can u please explain the concept of symbol table and when does it
exist and where?


1) Do some searching first (e.g. google), there is a *lot* of info available
about this subject

2) This is mostly off-topic. Please ask the question at an appropriate
newsgroup or mailing list discussing your platform or compiler.
--
:wq
^X^Cy^K^X^C^C^C^C
Jan 11 '06 #4
In article <11*********************@z14g2000cwz.googlegroups. com>,
curious <me********@yahoo.com> wrote:
It will be great if some one can explain in detail about structure of
process in memory...where is symbol table etc..located?


That can vary between two different versions of the same compiler
for the same system. There is no standard other than that which
might happen to be imposed by a particular operating system.

When symbol tables exist, they are usually not kept as part of the
process: they are usually kept as part of the file that stores the
executable. The structure of the files that store executables can
vary from version to version of the same operating system. There is
no one standard.

There are a some on-disk symbol table formats that OS developers tend
to implement so that they do not have to reinvent the functionality
and to make it easier to borrow debuggers such as 'gdb'. One of those
more common on-disk symbol table formats is known as "dwarf".

There are some on-disk executable image formats that OS developers
tend to implement so that they do not have to reinvent functionality
and to make it easier to borrow debuggers and compilers. Some of
the more common on-disk executable image formats are ELF and COFF.

The format of a symbol table on-disk or of an executable image on-disk
might be -very- different than the structure of an executing process.
The entire concept of "symbol table" and "executable image" on-disk
is outside of the C standard. For more information, you need to look
at the documentation for particular systems you are interested in.
--
"law -- it's a commodity"
-- Andrew Ryan (The Globe and Mail, 2005/11/26)
Jan 11 '06 #5

This discussion thread is closed

Replies have been disabled for this discussion.

Similar topics

7 posts views Thread by Ansti | last post: by
reply views Thread by Robert Potthast | last post: by
74 posts views Thread by ballpointpenthief | last post: by
9 posts views Thread by Ajay | last post: by
reply views Thread by leo001 | last post: by

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.