Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 20 Feb 2001 22:14:23 -0700
From:      Warner Losh <imp@village.org>
To:        Brian Somers <brian@Awfulhak.org>
Cc:        arch@freebsd.org
Subject:   Re: The whole libc thing. 
Message-ID:  <200102210514.f1L5ENs04902@billy-club.village.org>
In-Reply-To: Your message of "Wed, 21 Feb 2001 01:03:14 GMT." <200102210103.f1L13Ed21835@hak.lan.Awfulhak.org> 
References:  <200102210103.f1L13Ed21835@hak.lan.Awfulhak.org>  

next in thread | previous in thread | raw e-mail | index | archive | help
In message <200102210103.f1L13Ed21835@hak.lan.Awfulhak.org> Brian Somers writes:
: The problem is the libjpeg case.  It has no dependency on libc 
: (this is what I think is a linker bug - the linker should put 
: dependencies in there implicitly) but uses sF.  This is the ``evil'' 
: library.

Right.  This is case 3 that I talked about in an earlier post.

: We need to bump it's version number so that we can have a new 
: (default) one that knows about whatever magic will avoid knowledge 
: of the sizeof FILE, while not breaking old binaries (that know about 
: the old version).

No.  That's not right.  We can just recompile it with the new libc.
With the backwards compatibility shims I put into libc, this will just
work.

: I guess (??!?) that libraries such as libmm.so.11 (which depend on 
: libc.so.4) will refuse to take part in linking a dynamic binary 
: against libc.so.5... ie:

I don't think so.  I've seen the NEEDED stuff routinely ignored.

: The end result still seems to mean that we need new version numbers 
: on all libraries if sizeof FILE changes :-/

Or a revisionist history.  If we want each and every library to always
work, then we do need to bump every single shared library major
version number.  However, we the shims I put in place, we can just
recompile things and the evil dependency on sizeof FILE will
disappear.

I think we are stuck with __sF through the end of life of libc.so.5,
however, so the point is somewhat moot.  By that time, however, all
new libraries will be using __std*, and there will be working
libc.so.3 and libc.so.4 by then that will bridge the gap.

Warner

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-arch" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200102210514.f1L5ENs04902>