Skip site navigation (1)Skip section navigation (2)
Date:      	Sun, 20 Sep 1998 13:55:43 -0400
From:      David Holland <dholland@cs.toronto.edu>
To:        peter@netplex.com.au (Peter Wemm)
Cc:        jabley@clear.co.nz, dholland@cs.toronto.edu, freebsd@xaa.iae.nl, freebsd-current@FreeBSD.ORG
Subject:   Re: ELF ldconfig
Message-ID:  <98Sep20.135545edt.37911-17305@qew.cs.toronto.edu>
In-Reply-To: <199809200750.PAA17687@spinner.netplex.com.au> from "Peter Wemm" at Sep 20, 98 03:50:28 am

next in thread | previous in thread | raw e-mail | index | archive | help
 > > > 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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?98Sep20.135545edt.37911-17305>