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