From owner-freebsd-current Sun Sep 20 10:56:59 1998 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id KAA03310 for freebsd-current-outgoing; Sun, 20 Sep 1998 10:56:59 -0700 (PDT) (envelope-from owner-freebsd-current@FreeBSD.ORG) Received: from yonge.cs.toronto.edu (yonge.cs.toronto.edu [128.100.2.11]) by hub.freebsd.org (8.8.8/8.8.8) with SMTP id KAA03283 for ; Sun, 20 Sep 1998 10:56:44 -0700 (PDT) (envelope-from dholland@cs.toronto.edu) Received: from qew.cs.toronto.edu ([128.100.2.15]) by yonge.cs.toronto.edu with SMTP id <86522-12114>; Sun, 20 Sep 1998 13:55:54 -0400 Received: by qew.cs.toronto.edu id <37911-17305>; Sun, 20 Sep 1998 13:55:45 -0400 Subject: Re: ELF ldconfig From: David Holland To: peter@netplex.com.au (Peter Wemm) Date: Sun, 20 Sep 1998 13:55:43 -0400 Cc: jabley@clear.co.nz, dholland@cs.toronto.edu, freebsd@xaa.iae.nl, freebsd-current@FreeBSD.ORG In-Reply-To: <199809200750.PAA17687@spinner.netplex.com.au> from "Peter Wemm" at Sep 20, 98 03:50:28 am X-Mailer: ELM [version 2.4 PL25] MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Message-Id: <98Sep20.135545edt.37911-17305@qew.cs.toronto.edu> Sender: owner-freebsd-current@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG > > > Standard ELF doesn't allow this, or support minor version numbers. > > a.out doesn't allow this either. If you have libc.so.3.0 and libc.so.3.1 > on the system, *everything* will use libc.so.3.1, regardless of which one > it was linked against originally. > > ELF doesn't loose anthing important there. Well, not quite - because ELF doesn't have minor versions at all, if you come across a binary, you can't tell if it was built with libc.so.3.1 or 3.0, which under some circumstances can be significant. > However, once we blow away a.out support in the libs, we can do nice > things like symbol versioning. This is *really* nice because you do > versioning on a symbol-by-symbol basis rather than at the entire library > level. I'm glad all those years of flaming on linux-gcc paid off. I didn't code it, or even design any of the details of it, but I instigated it. :-) > > > Even worse things happen when you have two builds of (say) > > > libslang.so.1 that were compiled against different libcs and are thus > > > not interchangeable... > > > > So remind me why ELF is a good idea? :) > > a.out can't do this either. We would have to bump all major library > numbers in a.out because things like the errno -> __error() change in libc > and libtermcap calling issetugid() etc. Well, true, but the ultimate shared library format would address this... -- - David A. Holland | (please continue to send non-list mail to dholland@cs.utoronto.ca | dholland@hcs.harvard.edu. yes, I moved.) To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message