--- libffi-3.0.9/src/x86/ffitarget.h.orig 2009-12-29 23:22:26.000000000 +0800
+++ libffi-3.0.9/src/x86/ffitarget.h 2010-04-28 16:30:53.542909753 +0800
@@ -31,7 +31,7 @@
/* ---- System specific configurations ----------------------------------- */
-#if defined (X86_64) && defined (__i386__)
+#if defined (X86_64) && (defined (__i386__) || defined (__i386))
#undef X86_64
#define X86
#endif
@@ -74,10 +74,10 @@
#else
/* ---- Intel x86 and AMD x86-64 - */
-#if !defined(X86_WIN32) && (defined(__i386__) || defined(__x86_64__))
+#if !defined(X86_WIN32) && (defined(__i386__) || defined(__i386) || defined(__x86_64__))
FFI_SYSV,
FFI_UNIX64, /* Unix variants all use the same ABI for x86-64 */
-#ifdef __i386__
+#if defined(__i386__) || defined(__i386)
FFI_DEFAULT_ABI = FFI_SYSV,
#else
FFI_DEFAULT_ABI = FFI_UNIX64,