--Apple-Mail-5-178605917
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset=US-ASCII; format=flowed
On Dec 7, 2003, at 11:02 AM, Greywolf wrote:
> For what it's worth, it seems to me that the problem could have well
> been
> mitigated by inter-library version consistency checks,
Version checks will not solve the problem. Sigh, I guess I'll have to
repeat the crux of the problem *again*.
Consider this:
program foo depends on libc.13 and libother.0
libother.0 depends on libc.12
*EVEN IF* you have 100% complete inter-library version consistency
checking, you still lose in this situation. What if foo and libother
both call function zap(), and zap() is one of the things that had an
ABI change between the two libc versions?
The only way you could possibly solve this is to encode an ABI version
for *every single symbol in the library*. But at that point, how is
that any different than what we're doing now?
The only thing that our current scheme is missing is the explicit
version encodings that go back to the very first shared libraries we
built, and there's no way we can fix that, unless time travel is
possible (and I can guarantee you that if I knew how to travel
arbitrarily through time, I would not be wasting my time hacking on
NetBSD :-)
-- Jason R. Thorpe <thorpej@wasabisystems.com>
--Apple-Mail-5-178605917
content-type: application/pgp-signature; x-mac-type=70674453;
name=PGP.sig
content-description: This is a digitally signed message part
content-disposition: inline; filename=PGP.sig
content-transfer-encoding: 7bit
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.3 (Darwin)
iD8DBQE/04hTOpVKkaBm8XkRAhNtAJ49iSnxsbUiKoB6fG6p2KwMRr7cGACdE26G
cpLgXVDRhVY4WZK48GiEBQI=
=UnOm
-----END PGP SIGNATURE-----
--Apple-Mail-5-178605917--