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