From owner-freebsd-arch Sat Feb 24 12:57:53 2001 Delivered-To: freebsd-arch@freebsd.org Received: from winston.osd.bsdi.com (winston.osd.bsdi.com [204.216.27.229]) by hub.freebsd.org (Postfix) with ESMTP id 8111137B67D; Sat, 24 Feb 2001 12:57:49 -0800 (PST) (envelope-from jkh@osd.bsdi.com) Received: from localhost (jkh@localhost [127.0.0.1]) by winston.osd.bsdi.com (8.11.2/8.11.1) with ESMTP id f1OKoiH68116; Sat, 24 Feb 2001 12:50:45 -0800 (PST) (envelope-from jkh@osd.bsdi.com) To: brooks@one-eyed-alien.net Cc: tlambert@primenet.com, marcel@cup.hp.com, jhb@FreeBSD.ORG, arch@FreeBSD.ORG Subject: Re: ELF, OS and ABI [was: Re: sysctl kern.fallback_elf_brand] In-Reply-To: <20010223162903.A7882@Odin.AC.HMC.Edu> References: <3A96F984.7233C733@cup.hp.com> <200102240016.RAA02409@usr05.primenet.com> <20010223162903.A7882@Odin.AC.HMC.Edu> X-Mailer: Mew version 1.94.1 on Emacs 20.7 / Mule 4.0 (HANANOEN) Mime-Version: 1.0 Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit Message-Id: <20010224125044P.jkh@osd.bsdi.com> Date: Sat, 24 Feb 2001 12:50:44 -0800 From: Jordan Hubbard X-Dispatcher: imput version 20000228(IM140) Lines: 38 Sender: owner-freebsd-arch@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG From: Brooks Davis Subject: Re: ELF, OS and ABI [was: Re: sysctl kern.fallback_elf_brand] Date: Fri, 23 Feb 2001 16:29:03 -0800 > Darwin uses this or similar support. The people from Apple has stated > that they want fat binary support in openpackages. It's also been I might also note that you don't need to play ELF games to get "fat binary support" in a package system, the idea of a permuted name space inside a package being something I've suggested several times in our PackageToolsNG discussions. Basically, the idea is that if you have a random-access package archive format (or even if you don't, it just being a little more painful then) then you can frob the package directory information in such a way that you encode names and property information into each physical directory entry, similar to the way C++ mangles type/function information into a global symbol space. That way a "fat package" for, say, GNU bash might have a directory which looks something like this: bin/bash@arch=i386 bin/bash@arch=alpha man/man1/bash.1.gz@* info/bash.info@* Where, in this highly contrived example, we assume that everything following an un-escaped @ is the start of the property list information which has to be matched in order for that item to be extracted under its real name. Things with *'s in the example match all extraction criteria. Obviously, one could further extend this to have version-specific properties in order to support multiple versions (perhaps one "stable" and one "development") in a package or option-specific properties, like "no man pages please". A canonical base set of property names and values would obviously have to be agreed upon in order for this to work, but it's a lot easier and far more flexible than using ELF binaries with multiple personalities. :) - Jordan To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-arch" in the body of the message