This is the mail archive of the elfutils-devel@sourceware.org mailing list for the elfutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]