re PR libffi/20104 (gij fails on ppc and not on x86)
2005-02-22 Andrew Haley <aph@redhat.com> PR libffi/20104 * src/powerpc/ffi.c (ffi_prep_cif_machdep): Bump alignment to odd-numbered register pairs for 64-bit integer types. From-SVN: r95455
This commit is contained in:
parent
1b05e8bf3c
commit
962eea0a03
@ -1,3 +1,8 @@
|
||||
2005-02-22 Andrew Haley <aph@redhat.com>
|
||||
|
||||
* src/powerpc/ffi.c (ffi_prep_cif_machdep): Bump alignment to
|
||||
odd-numbered register pairs for 64-bit integer types.
|
||||
|
||||
2005-02-23 Andreas Tobler <a.tobler@schweiz.ch>
|
||||
|
||||
PR libffi/20104
|
||||
|
@ -573,10 +573,14 @@ ffi_status ffi_prep_cif_machdep(ffi_cif *cif)
|
||||
/* 'long long' arguments are passed as two words, but
|
||||
either both words must fit in registers or both go
|
||||
on the stack. If they go on the stack, they must
|
||||
be 8-byte-aligned. */
|
||||
be 8-byte-aligned.
|
||||
|
||||
Also, only certain register pairs can be used for
|
||||
passing long long int -- specifically (r3,r4), (r5,r6),
|
||||
(r7,r8), (r9,r10).
|
||||
*/
|
||||
if (intarg_count == NUM_GPR_ARG_REGISTERS-1
|
||||
|| (intarg_count >= NUM_GPR_ARG_REGISTERS
|
||||
&& intarg_count%2 != 0))
|
||||
|| intarg_count%2 != 0)
|
||||
intarg_count++;
|
||||
intarg_count += 2;
|
||||
break;
|
||||
|
Loading…
Reference in New Issue
Block a user