ABI convention for structs <=8 bytes?

Andreas Tobler toa at pop.agri.ch
Tue Jun 14 20:28:49 GMT 2005


Hello all,

I play around with gdb and libffi. And also gcc.

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?

Thanks for comments,
Andreas


More information about the freebsd-ppc mailing list