#define SIZEOF_ARG SIZEOF_VOID_P
#endif
+#ifdef POWERPC
+#if defined (__powerpc64__)
+#define POWERPC64
+#endif
+#endif
+
#ifdef SPARC
#if defined(__arch64__) || defined(__sparcv9)
#define SPARC64
#endif
#endif
+#ifdef X86_64
+#if defined (__i386__)
+#undef X86_64
+#define X86
+#endif
+#endif
+
#ifndef LIBFFI_ASM
/* ---- Generic type definitions ----------------------------------------- */
#ifdef POWERPC
FFI_SYSV,
FFI_GCC_SYSV,
+ FFI_LINUX64,
+# ifdef POWERPC64
+ FFI_DEFAULT_ABI = FFI_LINUX64,
+# else
FFI_DEFAULT_ABI = FFI_GCC_SYSV,
+# endif
#endif
#ifdef POWERPC_AIX
#elif defined(POWERPC)
#define FFI_CLOSURES 1
+#ifdef POWERPC64
+#define FFI_TRAMPOLINE_SIZE 24
+#else
#define FFI_TRAMPOLINE_SIZE 40
+#endif
#define FFI_NATIVE_RAW_API 0
#elif defined(POWERPC_DARWIN)
#define FFI_TRAMPOLINE_SIZE 16
#define FFI_NATIVE_RAW_API 0
+#elif defined(__x86_64__)
+
+#define FFI_CLOSURES 1
+#define FFI_TRAMPOLINE_SIZE 24
+#define FFI_NATIVE_RAW_API 0
+
#else
#define FFI_CLOSURES 0