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>