From owner-freebsd-ppc Thu Jul 27 2:54: 0 2000 Delivered-To: freebsd-ppc@freebsd.org Received: from dragon.nuxi.com (trang.nuxi.com [209.152.133.57]) by hub.freebsd.org (Postfix) with ESMTP id 1554E37B9F2 for ; Thu, 27 Jul 2000 02:53:57 -0700 (PDT) (envelope-from obrien@dragon.nuxi.com) Received: (from obrien@localhost) by dragon.nuxi.com (8.9.3/8.9.1) id CAA45295; Thu, 27 Jul 2000 02:53:41 -0700 (PDT) (envelope-from obrien) Date: Thu, 27 Jul 2000 02:53:40 -0700 From: "David O'Brien" To: Narvi Cc: freebsd-ppc@FreeBSD.ORG Subject: Re: the abi Message-ID: <20000727025340.A45272@dragon.nuxi.com> Reply-To: obrien@FreeBSD.ORG References: <200006081840.LAA45708@server.manson.net> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.2i In-Reply-To: ; from narvi@haldjas.folklore.ee on Thu, Jun 08, 2000 at 08:57:46PM +0200 X-Operating-System: FreeBSD 5.0-CURRENT Organization: The NUXI BSD group X-Pgp-Rsa-Fingerprint: B7 4D 3E E9 11 39 5F A3 90 76 5D 69 58 D9 98 7A X-Pgp-Rsa-Keyid: 1024/34F9F9D5 Sender: owner-freebsd-ppc@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG > For FreeBSD/ppc, I vote for whatever Linux/ppc uses (SVR4, I believe). I will only support (ie. as toolchain maintainer) a PPC ABI that is as close to what we do on the i386 and Alpha as possible. > Not only is this going to provide the most solid (and relevant to our > needs) toolchain, but it makes Linux ABI emulation in the kernel a little > easier. The ABI we use does not have to match the Linux/ppc one to do Linux emulation. -- -- David (obrien@FreeBSD.org) To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-ppc" in the body of the message From owner-freebsd-ppc Thu Jul 27 9:39:22 2000 Delivered-To: freebsd-ppc@freebsd.org Received: from haldjas.folklore.ee (Haldjas.folklore.ee [193.40.6.121]) by hub.freebsd.org (Postfix) with ESMTP id 35EB637BB9A; Thu, 27 Jul 2000 09:39:16 -0700 (PDT) (envelope-from narvi@haldjas.folklore.ee) Received: from localhost (narvi@localhost) by haldjas.folklore.ee (8.9.3/8.9.3) with SMTP id SAA03583; Thu, 27 Jul 2000 18:39:13 +0200 (EET) (envelope-from narvi@haldjas.folklore.ee) Date: Thu, 27 Jul 2000 18:39:13 +0200 (EET) From: Narvi To: "David O'Brien" Cc: freebsd-ppc@FreeBSD.ORG Subject: Re: the abi In-Reply-To: <20000727025340.A45272@dragon.nuxi.com> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-freebsd-ppc@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG On Thu, 27 Jul 2000, David O'Brien wrote: > > For FreeBSD/ppc, I vote for whatever Linux/ppc uses (SVR4, I believe). > > I will only support (ie. as toolchain maintainer) a PPC ABI that is as > close to what we do on the i386 and Alpha as possible. > I'm not entirely sure what we do on alpha. http://www.esofta.com/pdfs/SVR4abippc.pdf is one of the many on-web copies of the svr4 abi spec (all i have seen similarily have pages in reverse order). eabi is slightly different from that (mandates only 8 byte alignment of stack, different number of callee/caller save registers (iirc) etc). PowerOpen, AIX, etc. abis differ in the details. The worst (imho) "feature" in the case of the ppc abi-s is the TOC. Neither am i a particular fan of the 'small data area'. > > Not only is this going to provide the most solid (and relevant to our > > needs) toolchain, but it makes Linux ABI emulation in the kernel a little > > easier. > > The ABI we use does not have to match the Linux/ppc one to do Linux > emulation. > > -- > -- David (obrien@FreeBSD.org) > To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-ppc" in the body of the message From owner-freebsd-ppc Thu Jul 27 11: 4:47 2000 Delivered-To: freebsd-ppc@freebsd.org Received: from igw8.watson.ibm.com (igw8.watson.ibm.com [198.81.209.20]) by hub.freebsd.org (Postfix) with ESMTP id 498D037C124; Thu, 27 Jul 2000 11:04:40 -0700 (PDT) (envelope-from dje@watson.ibm.com) Received: from sp1n189at0.watson.ibm.com (sp1n189at0.watson.ibm.com [9.2.104.62]) by igw8.watson.ibm.com (8.9.3/8.9.3/05-14-1999) with ESMTP id OAA04686; Thu, 27 Jul 2000 14:04:35 -0400 Received: from mal-ach.watson.ibm.com (mal-ach.watson.ibm.com [9.2.223.70]) by sp1n189at0.watson.ibm.com (8.9.3/Feb-20-98) with ESMTP id OAA19440; Thu, 27 Jul 2000 14:04:35 -0400 Received: from watson.ibm.com (localhost [127.0.0.1]) by mal-ach.watson.ibm.com (AIX4.3/8.9.3/8.9.3/01-10-2000) with ESMTP id OAA28782; Thu, 27 Jul 2000 14:04:35 -0400 Message-Id: <200007271804.OAA28782@mal-ach.watson.ibm.com> To: Narvi , "David O'Brien" Cc: freebsd-ppc@FreeBSD.ORG Subject: Re: the abi In-Reply-To: Message from Narvi of "Thu, 27 Jul 2000 18:39:13 +0200." Date: Thu, 27 Jul 2000 14:04:34 -0400 From: David Edelsohn Sender: owner-freebsd-ppc@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG I am the PowerPC port maintainer of GCC and I am involved in a number of PowerPC, IA-64, and Sledgehammer ABI issues. I strongly recommend that you use the PowerPC SVR4/ELF ABI for the PowerPC FreeBSD port for a number of reasons: 1) GCC and binutils only support PowerOpen/XCOFF and SVR4/ELF. You receive little or no benefit from developing and maintaining your own toolchain. Apple is having enough problems maintaining and re-integrating their Mach-O changes. 2) SystemV/Solaris/Linux-style assembly language is well known and understood throughout the Open Source development community. 3) Many programs and libraries now rely on ELF file format features and the standard toolchain combines ELF with SVR4 ABI. 4) It is much more efficient to run non-FreeBSD PowerPC applications with a similar ABI than translating calling conventions, addressing ranges, etc. PowerPC Linux, which uses PowerPC SVR4/ELF ABI, has the collection of applications that would be of most interest to the PowerPC FreeBSD user community. 5) SVR4/ELF ABI is prevalent throughout the open source operating system community, allowing for more cooperation, and SVR4/ELF ABI is prevalent throughout the PowerPC development community. The PowerPC ABI used by FreeBSD is not the area that developers should spend their time trying to re-invent the wheel. There are many other, more important decisions where FreeBSD can develop and implement a better kernel design than the current open source PowerPC operating systems. David P.S. As far as optimal ABIs, AIX PowerOpen has some poor decisions (FP alignment, optional tag table in text section, etc.) because it was defined over ten years ago, but it is a makes slightly more efficient use of the PowerPC architecture than SVR4 (load addreses alignment, structure passing, etc.). P.P.S. The SVR4/ELF ABI for IA-64 defined by HP and Intel also uses function descriptors and TOC addressing. There are a number of issues that make function descriptors a very efficient design choice although most developers are not accustomed to them. =============================================================================== David Edelsohn T.J. Watson Research Center dje@watson.ibm.com P.O. Box 218 +1 914 945 4364 (TL 862) Yorktown Heights, NY 10598 To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-ppc" in the body of the message