Index: libffi/ChangeLog.libffi
===================================================================
--- libffi.orig/ChangeLog.libffi
+++ libffi/ChangeLog.libffi
@@ -1,3 +1,17 @@
+2009-12-25  Andreas Tobler  <a.tobler@schweiz.org>
+
+	* fficonfig.h.in: Rebuilt again.
+	* src/closures.c: Remove the FFI_MMAP_EXEC_WRIT definition for
+	Solaris/x86.
+
+2009-10-27  Abdulaziz Ghuloum <aghuloum@gmail.com>
+
+	* configure.ac (FFI_MMAP_EXEC_WRIT): Define for snow
+	leopard (i?86-apple-darwin10*).
+	* configure: Rebuilt.
+	* fficonfig.h.in: Rebuilt.
+	* src/closures.c (dlmmap): Define version for snow leopard.
+
 2009-06-16  Andrew Haley  <aph@redhat.com>
 
 	* testsuite/libffi.call/cls_align_sint64.c,
Index: libffi/configure.ac
===================================================================
--- libffi.orig/configure.ac
+++ libffi/configure.ac
@@ -282,6 +282,14 @@ case "$target" in
      ;;
 esac
 
+case "$target" in
+    *-apple-darwin10* | *-*-freebsd* | *-*-openbsd* | *-pc-solaris*)
+	AC_DEFINE(FFI_MMAP_EXEC_WRIT, 1,
+		  [Cannot use malloc on this target, so, we revert to
+		   alternative means])
+    ;;
+esac 
+
 AC_CACHE_CHECK([whether .eh_frame section should be read-only],
     libffi_cv_ro_eh_frame, [
 	libffi_cv_ro_eh_frame=no
Index: libffi/configure
===================================================================
--- libffi.orig/configure
+++ libffi/configure
@@ -14507,6 +14507,16 @@ _ACEOF
      ;;
 esac
 
+case "$target" in
+    *-apple-darwin10* | *-*-freebsd* | *-*-openbsd* | *-pc-solaris*)
+
+cat >>confdefs.h <<\_ACEOF
+#define FFI_MMAP_EXEC_WRIT 1
+_ACEOF
+
+    ;;
+esac
+
 { $as_echo "$as_me:$LINENO: checking whether .eh_frame section should be read-only" >&5
 $as_echo_n "checking whether .eh_frame section should be read-only... " >&6; }
 if test "${libffi_cv_ro_eh_frame+set}" = set; then
