SYMTAB and DYNSYM tables relationship question
Wed Jun 30 10:29:00 GMT 2010
I have ELF executable (EXE) dynamically linked with DSO (SO) on
some dos-like OS with ELF support. Some symbol A (FUNC GLOBAL DEFAULT)
is referenced only from SO(not from EXE itself). After link
(by ld, binutils 2.20.1) EXE contains info about symbol A only
in DYNSYM table. There is nothing about A in SYMTAB and .rel.text.
As result our runtime linker is unable to find symbol A during SO
loading. If I reference A from EXE, A appears in SYMTAB, DYNSYM
and .rel.text and runtime works OK.
1. Must symbol A be in SYMTAB and .rel.text if it is not
referenced from EXE directly? By other words, is the problem
in ld or in runtime linker?
2. If the problem is in runtime linker, then is it possible
to force such records creation without explicit reference on A
from EXE sources? Via ld's version-script, may be options...
Thanks in advance
More information about the Binutils