From owner-freebsd-hackers Mon Feb 27 04:17:33 1995 Return-Path: hackers-owner Received: (from majordom@localhost) by freefall.cdrom.com (8.6.9/8.6.6) id EAA22167 for hackers-outgoing; Mon, 27 Feb 1995 04:17:33 -0800 Received: from minnow.render.com (render.demon.co.uk [158.152.30.118]) by freefall.cdrom.com (8.6.9/8.6.6) with ESMTP id EAA22160; Mon, 27 Feb 1995 04:17:12 -0800 Received: (from dfr@localhost) by minnow.render.com (8.6.9/8.6.9) id MAA07567; Mon, 27 Feb 1995 12:17:59 GMT Date: Mon, 27 Feb 1995 12:17:58 +0000 (GMT) From: Doug Rabson To: "Jordan K. Hubbard" cc: richard@cogsci.edinburgh.ac.uk, freebsd-hackers@freefall.cdrom.com Subject: Re: Binary compatibility with NetBSD In-Reply-To: <29525.793670669@freefall.cdrom.com> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: hackers-owner@FreeBSD.org Precedence: bulk On Fri, 24 Feb 1995, Jordan K. Hubbard wrote: > > The problem of course is shared libraries. As far as I know, at the > > system call level the systems are almost completely compatible (and if > > they aren't, they should be). But there's nothing official to > > distinguish whether a program uses FreeBSD or NetBSD shared libraries. > > I spent a little time talking about this with Mike Karels (BSDI) and > Chris Demetriou (NetBSD). > > The conclusion was that shared library compatability was a false grail > and should not be pursued. It's hard, it's easily broken (meaning you > get stuck in this thankless loop of fixing it over and over again as > the libraries themselvse change) and in the case of BSDI, a rather > difficult target to hit anyway (they will have an entirely different > shared lib strategy). > > I know it would be useful and make the users happy, but neither I nor > anybody else I know is willing to sign up for the work involved so it's > just better to assume it isn't going to happen. I thought that the original suggestion was to detect a NetBSD binary and conditionally use a *different* set of shared libraries (e.g. from /usr/netbsd-compat/lib/*.so). Then to run NetBSD binaries, you must install a NetBSD compatibility kit containing the relavent set of shared libraries. As long as the two systems maintain the same syscall calling conventions (required for static linking compatibility), all that is needed is for ld.so to understand the a.out format and look in the right place for the libraries. -- Doug Rabson, RenderMorphics Ltd. Mail: dfr@render.com Phone: +44 71 251 4411 FAX: +44 71 251 0939