This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug libffi/29152] 64-bit darwin ppc port needed for libffi
- From: "howarth at nitro dot med dot uc dot edu" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 18 Dec 2007 17:14:20 -0000
- Subject: [Bug libffi/29152] 64-bit darwin ppc port needed for libffi
- References: <bug-29152-11113@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #4 from howarth at nitro dot med dot uc dot edu 2007-12-18 17:14 -------
Andreas,
Can't we duplicate the existing code in darwin.S, darwin_closure.S,
ffi_darwin.c and sysv.S and wrapper it with a test for __powerpc64__ as a
starting point. I think if we at least get discussion going about what needs
changed we might slowly progress this PR. Looking at...
http://developer.apple.com/documentation/DeveloperTools/Conceptual/LowLevelABI/Articles/32bitPowerPC.html#//apple_ref/doc/uid/TP40002438
http://developer.apple.com/documentation/DeveloperTools/Conceptual/LowLevelABI/Articles/64bitPowerPC.html#//apple_ref/doc/uid/TP40002471
I see that in the Size and natural alignment of the scalar data types table the
main differences between 32-bit and 64-bit are...
32-bit 64-bit
Bool 4 1
unsigned long 4 8
signed long 4 8
pointer 4 8
Parameter area to general-purpose register mapping
32-bit 64-bit
GPR3 SP+24 SP+48
GPR4 SP+28 SP+56
GPR5 SP+32 SP+64
GPR6 SP+36 SP+72
GRP7 SP+40 SP+80
GPR8 SP+44 SP+88
GPR9 SP+48 SP+96
GPR10 SP+52 SP+104
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29152