ABI convention for structs <=8 bytes?
David O'Brien
obrien at freebsd.org
Wed Jun 15 17:21:07 GMT 2005
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 ABI.
>
> 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.
--
-- David (obrien at FreeBSD.org)
More information about the freebsd-ppc
mailing list