This is the mail archive of the
binutils@sources.redhat.com
mailing list for the binutils project.
RE: Shared library question
- From: "Zagorodnev, Grigory" <Grigory_Zagorodnev at stl dot sarov dot ru>
- To: "'H . J . Lu'" <hjl at lucon dot org>
- Cc: "'binutils at sources dot redhat dot com'" <binutils at sources dot redhat dot com>
- Date: Wed, 19 Jun 2002 18:47:21 +0400
- Subject: RE: Shared library question
>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.
Actually the goal of work I do is: remove symbol foo from the library but
keep backward compatibility. At the same time, the library name should stay
unchanged.