Subject: Re: NetBSD 2.0 release date
To: Greywolf <>
From: Jason Thorpe <>
List: tech-kern
Date: 12/07/2003 12:06:42
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 <>

content-type: application/pgp-signature; x-mac-type=70674453;
content-description: This is a digitally signed message part
content-disposition: inline; filename=PGP.sig
content-transfer-encoding: 7bit

Version: GnuPG v1.2.3 (Darwin)