From owner-freebsd-current Mon Feb 20 11:56:41 1995 Return-Path: current-owner Received: (from majordom@localhost) by freefall.cdrom.com (8.6.9/8.6.6) id LAA05148 for current-outgoing; Mon, 20 Feb 1995 11:56:41 -0800 Received: from trout.sri.MT.net (trout.sri.MT.net [204.182.243.12]) by freefall.cdrom.com (8.6.9/8.6.6) with ESMTP id LAA05142 for ; Mon, 20 Feb 1995 11:56:36 -0800 Received: (from nate@localhost) by trout.sri.MT.net (8.6.9/8.6.9) id NAA07147; Mon, 20 Feb 1995 13:00:10 -0700 Date: Mon, 20 Feb 1995 13:00:10 -0700 From: Nate Williams Message-Id: <199502202000.NAA07147@trout.sri.MT.net> In-Reply-To: "Andrey A. Chernov, Black Mage" "Re: libcompat and shlib conflict" (Feb 20, 10:37pm) X-Mailer: Mail User's Shell (7.2.5 10/14/92) To: "Andrey A. Chernov, Black Mage" Subject: Re: libcompat and shlib conflict Cc: current@freefall.cdrom.com Sender: current-owner@FreeBSD.org Precedence: bulk > >A program compiled with a static libcompat as opposed to a dynamic > >libcompat is more likely to correctly match another platforms ABI > >in any case. Not only are we not guaranteed that the external > >globals linked into your program and referenced by the libcompat > >routines will be the same on another platform (causing their shared > >libcompat to fail), but the cruft in libcompat is likely as not > >going to be different from vendor to vendor anyway. > > If you look in, you can see, that other platforms do just the same thing, > only one condition needs to be present: regerror module itself > must be placed before regex module, as already done. You didn't understand what Terry was saying. There is no guarantee that the same modules exist in a different vendor's libcompat. > >The cost of the cruft should be bourne by the crufty program. > > Too many crufty pgms in the world. You don't have enough power > to teach whole world which functions to use. So, does that mean we shouldn't at least try? We continue to provide libcompat, just not a shared version. This means that binaries compiled with -lcompat will be *more* portable across multiple vendors and releases than version relying on the shlib providing the old interfaces. Nate