Shared library question
H . J . Lu
hjl@lucon.org
Wed Jun 19 07:54:00 GMT 2002
On Wed, Jun 19, 2002 at 06:47:21PM +0400, Zagorodnev, Grigory wrote:
> >It is very trivial. Just give "foo", a none-default version so that
> >ld won't use it, but ld.so will.
>
> Well... It's not so easy.
>
> If I change the version of symbol 'foo', no previously biult application
> will run, since they are referencing foo_with_no_version. But any next
> application I link against new library could reference
> foo_with_some_version, since it's not hided from the linking.
>
> So I think it looks like "ld.so won't use it, but ld will".
>
> But I'm looking for the solution of diametrically opposite task: old apps
> still able to see symbol foo, new apps - not.
>
That is exactly what we did to atexit in glibc. I can show you how to
do it if/when I can find time :-(.
H.J.
More information about the Binutils
mailing list