This is the mail archive of the
binutils@sourceware.cygnus.com
mailing list for the binutils project.
Re: shared libs: is it (whose?) bug?
- To: donn@interix.com
- Subject: Re: shared libs: is it (whose?) bug?
- From: Ian Lance Taylor <ian@zembu.com>
- Date: 9 Sep 1999 13:06:57 -0400
- CC: binutils@sourceware.cygnus.com
- References: <37D7DF7F.72727EA0@interix.com>
Date: Thu, 09 Sep 1999 10:25:35 -0600
From: Donn Terry <donn@interix.com>
When using shared libraries, and using the Solaris linker,
it is possible for a dynamically loaded (using dlopen())
shared library to call back to the main executable, to an
entry point that was not mentioned as a dynamic symbol
at link time (details below). Using the gnu ld, this
is not possible due to dynamic symbol table issues.
From ld/README:
Known problems
==============
The Solaris linker normally exports all dynamic symbols from an
executable. The GNU linker does not do this by default. This is
because the GNU linker tries to present the same interface for all
similar targets (in this case, all native ELF targets). This does not
matter for normal programs, but it can make a difference for programs
which try to dlopen an executable, such as PERL or Tcl. You can make
the GNU linker export all dynamic symbols with the -E or
--export-dynamic command line option.
Ian