This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
This patch fixes two problems. One, aix.S, darwin.S and "Darwin" ffi_prep_args cooperate to use the stack frame home argument area for the GPR arguments to be loaded. However, this area already contains the arguments to ffi_prep_args itself, so all of the variables referenced through the function arguments should be cached in local variables before the first outgoing argument is loaded. Second, libffi needs to model AIX structure alignment. darwin_adjust_aggregate_sizes() already performs most of this, but was not quite right for AIX. The patch also applies a few more GNU coding style fixes. * src/powerpc/ffi_darwin.c (ffi_prep_args): Copy abi and nargs to local variables. (aix_adjust_aggregate_sizes): New function. (ffi_prep_cif_machdep): Call it. Bootstrapped on powerpc-ibm-aix5.3.0.0 David
Attachment:
aixffi.txt
Description: Text document
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |