This is the mail archive of the binutils@sources.redhat.com mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Shared library question


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.

This is incorrect assumption. How do you think glibc 2.0 binaries/libraries
can be run at all (note that glibc 2.0 had no symbol versioning)?
If you'll do:
VER_1.0 { global: foo; bar; baz; local: *; };
VER_1.1 { } VER_1.0;
and .symver __real_foo, foo@VER_1.0
then program/libs linked against non-versioned foo will resolve to
foo@VER_1.0, while ld won't use foo.

	Jakub


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]