Date: Thu, 16 Jun 2005 09:14:18 -0400 From: John Baldwin <jhb@FreeBSD.org> To: freebsd-ppc@FreeBSD.org Cc: David O'Brien <obrien@FreeBSD.org> Subject: Re: ABI convention for structs <=8 bytes? Message-ID: <200506160914.19625.jhb@FreeBSD.org> In-Reply-To: <20050615172106.GA1675@dragon.NUXI.org> References: <42AF3DF7.1080701@pop.agri.ch> <20050615172106.GA1675@dragon.NUXI.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Wednesday 15 June 2005 01:21 pm, David O'Brien wrote: > On Tue, Jun 14, 2005 at 10:28:39PM +0200, Andreas Tobler wrote: > > My situation is the following, there are two implementation of the SYSv4 > > abi for PPC around in gcc. The first one, a draft, passes structs > > smaller or equal to 8 bytes in memory. The second one, the final one, > > passes them in registers. > > So far the fbsd ppc uses the final one. Fine. Except that it is a > > nightmare to build the resulting struct out of registers with alignment > > rules... > > > > OpenBSD, NetBSD and Linux PPC which rely on SYSV4 pass them in memory. > > AIX and Darwin do pass them also in memory but they have a different AB= I. > > > > NetBSD passed it until 1.5 also in registers, according to the comments > > in gdb ppcnbsd-tdep.c. Now they use the 'broken' convention. I do not > > know more about why and how long this will be... > > > > My simple question is, will the fbsd-ppc ABI convention stay with the > > final SYSV4 ABI from Sun, or will there be a switch to the broken one? > > My plans are to stick to the official ELF (we do do the full SVR4 ABI). I > think sticking to Darwin and OpenSolaris/PPC (in-progress) has merit. I don't think you really read his e-mail. Linux, OpenBSD, NetBSD, Linux, A= IX=20 _and_ Darwin all use an ABI that passes these structs in memory rather than= =20 registers. The first three happen to use a specific draft ABI whereas Darw= in=20 and AIX use some other ABI that also passes them in memory. No one but=20 =46reeBSD uses the "final" ABI that tries to pass them in registers except= =20 perhaps for the OpenSolaris/PPC that you just mentioned. It would seem tha= t=20 even if Solaris goes the "final" route, we would still be in the vast=20 majority for ppc ABIs.=20 =2D-=20 John Baldwin <jhb@FreeBSD.org> =A0<>< =A0http://www.FreeBSD.org/~jhb/ "Power Users Use the Power to Serve" =A0=3D =A0http://www.FreeBSD.org
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200506160914.19625.jhb>