This is the mail archive of the
binutils@sourceware.cygnus.com
mailing list for the binutils project.
Re: A glibc dynamic linker or gld bug?
Date: Thu, 8 Jul 1999 12:27:36 +1000
From: Geoff Keating <geoffk@ozemail.com.au>
> As far as I know, the only way you can get a DSO to see a different
> value from the main executable is to use -Bsymbolic or version
> scripts. Also, you have just reported a case in which it happens due
> to the use of weak defined symbols in the executable. But there
> definitely should not be any way to make the DSO and the executable
> see a different value for a strong defined symbol.
If the DSO that is linked with does not reference the symbol, but the
actual DSO used at runtime does, then the executable will not export
the symbol value.
Yes, I did forget that case.
I don't think you would want to 'fix' that, it would mean exporting
every global symbol the executable defines.
That is exactly what the Solaris linker does, as it happens. The
Solaris linker defaults to the behaviour which in the GNU linker can
be invoked with the --export-dynamic option.
Ian