From owner-freebsd-arch Tue Feb 20 21:17: 6 2001 Delivered-To: freebsd-arch@freebsd.org Received: from rover.village.org (rover.bsdimp.com [204.144.255.66]) by hub.freebsd.org (Postfix) with ESMTP id 6725937B684 for ; Tue, 20 Feb 2001 21:17:02 -0800 (PST) (envelope-from imp@billy-club.village.org) Received: from billy-club.village.org (billy-club.village.org [10.0.0.3]) by rover.village.org (8.11.2/8.11.0) with ESMTP id f1L5H0h60720; Tue, 20 Feb 2001 22:17:01 -0700 (MST) (envelope-from imp@billy-club.village.org) Received: from billy-club.village.org (localhost [127.0.0.1]) by billy-club.village.org (8.11.2/8.8.3) with ESMTP id f1L5ENs04902; Tue, 20 Feb 2001 22:14:23 -0700 (MST) Message-Id: <200102210514.f1L5ENs04902@billy-club.village.org> To: Brian Somers Subject: Re: The whole libc thing. Cc: arch@freebsd.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> Date: Tue, 20 Feb 2001 22:14:23 -0700 From: Warner Losh Sender: owner-freebsd-arch@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG 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