30 #ifndef LIBFFI_TARGET_H
31 #define LIBFFI_TARGET_H
34 #error "Please do not include ffitarget.h directly into your source. Use ffi.h instead."
39 #if defined (POWERPC) && defined (__powerpc64__)
43 #elif defined (POWERPC_DARWIN) && defined (__ppc64__)
47 #ifndef POWERPC_DARWIN64
48 #define POWERPC_DARWIN64
50 #elif defined (POWERPC_AIX) && defined (__64BIT__)
63 #if defined (POWERPC_AIX)
69 #elif defined (POWERPC_DARWIN)
85 # if defined (POWERPC64)
92 FFI_LINUX_STRUCT_ALIGN = 1,
93 FFI_LINUX_LONG_DOUBLE_128 = 2,
95 # ifdef __STRUCT_PARM_ALIGN__
96 | FFI_LINUX_STRUCT_ALIGN
98 # ifdef __LONG_DOUBLE_128__
99 | FFI_LINUX_LONG_DOUBLE_128
118 #
if (defined (__SVR4_STRUCT_RETURN) \
119 || defined (POWERPC_FREEBSD) && !defined (__AIX_STRUCT_RETURN))
122 # if __LDBL_MANT_DIG__ == 106
125 # ifdef __LONG_DOUBLE_128__
138 #define FFI_CLOSURES 1
139 #define FFI_NATIVE_RAW_API 0
140 #if defined (POWERPC) || defined (POWERPC_FREEBSD)
141 # define FFI_TARGET_SPECIFIC_VARIADIC 1
142 # define FFI_EXTRA_CIF_FIELDS unsigned nfixedargs
149 #define FFI_TYPE_UINT128 (FFI_TYPE_LAST + 1)
152 #define FFI_SYSV_TYPE_SMALL_STRUCT (FFI_TYPE_LAST + 2)
155 #define FFI_V2_TYPE_FLOAT_HOMOG (FFI_TYPE_LAST + 1)
156 #define FFI_V2_TYPE_DOUBLE_HOMOG (FFI_TYPE_LAST + 2)
157 #define FFI_V2_TYPE_SMALL_STRUCT (FFI_TYPE_LAST + 3)
160 # define FFI_TRAMPOLINE_SIZE 32
162 # if defined(POWERPC64) || defined(POWERPC_AIX)
163 # if defined(POWERPC_DARWIN64)
164 # define FFI_TRAMPOLINE_SIZE 48
166 # define FFI_TRAMPOLINE_SIZE 24
169 # define FFI_TRAMPOLINE_SIZE 40
174 #if defined(POWERPC_DARWIN) || defined(POWERPC_AIX)
175 struct ffi_aix_trampoline_struct {