Subject: Re: HEADS UP: migration to fully dynamic linked "base" system
To: Johnny Billquist <email@example.com>
From: Jason R Thorpe <firstname.lastname@example.org>
Date: 08/27/2002 08:19:25
On Tue, Aug 27, 2002 at 02:07:45PM +0200, Johnny Billquist wrote:
> Yes, but suppose then that /bin/ls dlopen() some other stuff, which in
> turn wants to access stuff in libc, and the thing dlopen():en is from an
> older build. It can then refer to an older version of libc than the one
> you statically linked in.
This is handled using shlib versioning. You never need an "older" libc
so long as the old one and the new one have the same major number. So,
if "myprog" and "foo.so" both depend on "libc.so", the single instance
of "libc.so" used by "myprog" will always satisfy the needs of "foo.so".
This is why if you change the major number of libc, you have to bump the
major number of ~every other shared object. This is why we go to great
pains to avoid bumping the major number of libc.
-- Jason R. Thorpe <email@example.com>