From owner-freebsd-hackers Fri Aug 9 14:40:15 1996 Return-Path: owner-hackers Received: (from root@localhost) by freefall.freebsd.org (8.7.5/8.7.3) id OAA09840 for hackers-outgoing; Fri, 9 Aug 1996 14:40:15 -0700 (PDT) Received: from po1.glue.umd.edu (po1.glue.umd.edu [129.2.128.44]) by freefall.freebsd.org (8.7.5/8.7.3) with ESMTP id OAA09823 for ; Fri, 9 Aug 1996 14:40:10 -0700 (PDT) Received: from modem.eng.umd.edu (modem.eng.umd.edu [129.2.98.187]) by po1.glue.umd.edu (8.7.5/8.7.3) with ESMTP id RAA07311; Fri, 9 Aug 1996 17:40:07 -0400 (EDT) Received: from localhost (chuckr@localhost) by modem.eng.umd.edu (8.7.5/8.7.3) with SMTP id RAA00652; Fri, 9 Aug 1996 17:40:06 -0400 (EDT) X-Authentication-Warning: modem.eng.umd.edu: chuckr owned process doing -bs Date: Fri, 9 Aug 1996 17:40:06 -0400 (EDT) From: Chuck Robey X-Sender: chuckr@modem.eng.umd.edu To: Terry Lambert cc: Robert Withrow , jkh@time.cdrom.com, lada@ws2301.gud.siemens.co.at, markd@Grizzly.COM, hackers@FreeBSD.org Subject: Re: What are the plans for ELF support? In-Reply-To: <199608091728.KAA18991@phaeton.artisoft.com> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-hackers@FreeBSD.org X-Loop: FreeBSD.org Precedence: bulk On Fri, 9 Aug 1996, Terry Lambert wrote: > > > 3) Ability to use site-written and commercial applications that > > are designed around elf (of which we have many). > > This is actually false. The problem is that SVR4, Linux, and FreeBSD > all use different system call entry points, and the ELF format has > no way of tagging the binary by source system type. This is a flaw > in the SVR4 EABI (available for download from the Motorolla site). > > Linux actually uses the name of the ld.so to distinguish the binaries > (which won't work for static binaries). This is actually incorrect > usage, since the ld.so code is designed (by implication in the SVR4 > EABI) to be mapped in by the execution class loader -- in the kernel, > not in a hacked up crt0.o. > > In netnews, I suggested a soloution to this, but it would require > changing the Linux binary format slightly to make it work. The idea > would be to define an ABI interface, hopefully one that was identical > to some existing commercial system, and then standardizing it: Terry, I wonder, because of the fractionalization of the Linux marketplace, if there would be a large rush towards accepting your idea. What about this .... could WE use the idea on FreeBSD in a way that'd make the others jealous? I wonder if it might be possible to make a conversion program that, when the user takes the responsibility of determining (from the user's experience in getting a particular piece of software) that it is 'type x', then this program would make the necessary adjustments in the binary elf structures so that it fully conforms to your spec, and is runnable on FreeBSD. Can you tell me where your spec is? Can I read it? I know we couldn't make such a 'validator' program automatic, because of the problem with the current lack of info, but if we could rely on a user to specify the bona-fides of the program, maybe it could then be tagged that way? Something like this would have to be done only once, because once the program was 'validated' and made to conform to a spec, it would be binarily modified to run without further errors on ONE elf environment. > > 1) produce the spec. > 2) produce a free validation suite under TET/ETET for the thing. > 3) include in the spec a mechanism for restricting the system > to executing *only* the ABI defined in the spec -- no > extentions -- to allow the first real application compliance > testing in the industry. > 4) validate systems through self-validation; the spec would > include mechanisms to uniquely identify builds of the system > from a binary interface (specifically, the validation would > be per release/code-cut, and the spec revision would be part > of the validation). Ship compliance certification results > with the system. > 5) validate applications by doing the normal prerelease validation > of the app with the mechanism in #3 active. Resulting binaries > are guaranteed to run on any compliant system. Ship compliance > certification results with the application. > > I called the ABI "FABIO" for "Free Application Binary Interface Objective". [context snipped] > > Regards, > Terry Lambert > terry@lambert.org > --- > Any opinions in this posting are my own and not those of my present > or previous employers. > ----------------------------+----------------------------------------------- Chuck Robey | Interests include any kind of voice or data chuckr@eng.umd.edu | communications topic, C programming, and Unix. 9120 Edmonston Ct #302 | Greenbelt, MD 20770 | I run Journey2 and n3lxx, both FreeBSD (301) 220-2114 | version 2.2 current -- and great FUN! ----------------------------+-----------------------------------------------