This is the mail archive of the
elfutils-devel@sourceware.org
mailing list for the elfutils project.
Re: About dynamic and external symbols
- From: P J P <prasad at redhat dot com>
- To: elfutils-devel at lists dot fedorahosted dot org
- Date: Thu, 11 Mar 2010 15:02:33 +0530
- Subject: Re: About dynamic and external symbols
On Wed, 10 Mar 2010, Roland McGrath wrote:
> .symtab is "the symbol table", it's there for debugging and usually removed
> by strip. It's the same in static executables (e.g. vmlinux), which have
> no .dynsym at all. It's a non-SHF_ALLOC section, so it can be stripped
> (and never appears in memory). .dynsym is "the dynamic symbol table", it's
> there to direct the dynamic linker at run time. Hence it's an SHF_ALLOC
> section that is part of the text no matter how hard you strip the file,
> because it has to appear in memory at run time--DT_SYMTAB points to it.
> When you are debugging with only a stripped executable/DSO, you may have
> .dynsym to work with but no .symtab. Similarly, when you are e.g. the
> backtrace_symbols() function in libc, you have access to .dynsym in memory
> but aren't able to look for .symtab in the file on disk even if it's there.
Thanks so much.
--
Regards
- Prasad