ABI convention for structs <=8 bytes?
toa at pop.agri.ch
Tue Jun 14 20:28:49 GMT 2005
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
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,
More information about the freebsd-ppc