From owner-freebsd-hackers Mon Nov 20 12:43:56 1995 Return-Path: owner-hackers Received: (from root@localhost) by freefall.freebsd.org (8.6.12/8.6.6) id MAA04223 for hackers-outgoing; Mon, 20 Nov 1995 12:43:56 -0800 Received: from phaeton.artisoft.com (phaeton.Artisoft.COM [198.17.250.211]) by freefall.freebsd.org (8.6.12/8.6.6) with ESMTP id MAA04214 for ; Mon, 20 Nov 1995 12:43:47 -0800 Received: (from terry@localhost) by phaeton.artisoft.com (8.6.11/8.6.9) id NAA01944; Mon, 20 Nov 1995 13:42:25 -0700 From: Terry Lambert Message-Id: <199511202042.NAA01944@phaeton.artisoft.com> Subject: Re: elm problem - "solved" To: grog@lemis.de Date: Mon, 20 Nov 1995 13:42:25 -0700 (MST) Cc: terry@lambert.org, hackers@FreeBSD.ORG In-Reply-To: <199511201707.SAA22662@allegro.lemis.de> from "Greg Lehey" at Nov 20, 95 06:07:24 pm X-Mailer: ELM [version 2.4 PL24] MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Content-Length: 2261 Sender: owner-hackers@FreeBSD.ORG Precedence: bulk > > > It's not voodoo, it's grotesque. Every time you change crt0.o, you > > > need to change your object file recognition routines? What do you do > > > if you're playing with crt0.o? > > > > Well, if you are smart, you aren't in this position in the first place > > because you picked a different magic number when you changed the ABI > > that the binaries use. > > > > If you're not smart, then you become grotesque as a damage control > > mechanism. > > If I understand you, to be "smart" you need to have control over the > development of both systems. In that case, you could be smarter and > not perpetrate this kind of thing at all. > > I thought you were lucky at one point, since the FreeBSD format is > different from the BSD/386 format, but then BSDI didn't change their > format between 1.1 and 2.0, so we have the rather amusing fact that > BSD/OS 2.0 will run the FreeBSD version of elm and not the BSD/386 1.1 > version. I don't know how FreeBSD can distinguish between the 1.1 > version, which needs the emulator, and the 2.0 version, which doesn't. > You can't even rely on the crt0.o to have changed. BSDI wasn't smart going from 1.1 to 2.0 because they didn't change the magic number. FreeBSD wasn't smart similarly. NetBSD is smart, but their approach is not widely used, probably because they try to do byte order magic that they shouldn't (well, maybe they should for MIPS and PPC, both of which are programmable byte order). To be "smart" for a particular ABI, it nedds a particular magic number. Since you can't make someone else (BSDI?) be smart for you, you have to trade you being grotesque for them being smart. Yes, I agree that it's inconvenient when people aren't smart. The problems that this cause *can* be worked around. Look at real mode memory managers under DOS because IBM and Microsoft weren't smart. How many people are running DOS 1.0 and 2.0 programs on new hardware today? Practically none. And those who are are running old code which means they aren't buying new code which means you aren't making money by making them happy at the expense of everyone else. Terry Lambert terry@lambert.org --- Any opinions in this posting are my own and not those of my present or previous employers.