# HG changeset patch
# Parent 5e5eb679345b4d13b8e9ee40e253a97fd665dad3
diff --git a/js/src/ctypes/libffi/configure b/js/src/ctypes/libffi/configure
--- a/js/src/ctypes/libffi/configure
+++ b/js/src/ctypes/libffi/configure
@@ -12357,17 +12357,18 @@ fi
     if test "x$libffi_cv_as_string_pseudo_op" = xyes; then
 
 $as_echo "#define HAVE_AS_STRING_PSEUDO_OP 1" >>confdefs.h
 
     fi
 fi
 
 case "$target" in
-     *-apple-darwin10* | *-*-freebsd* | *-*-openbsd* | *-pc-solaris*)
+     # Darwin 10 (OSX 10.6) and beyond allocate non-executable pages
+     *-apple-darwin1* | *-*-freebsd* | *-*-openbsd* | *-pc-solaris*)
 
 $as_echo "#define FFI_MMAP_EXEC_WRIT 1" >>confdefs.h
 
      ;;
 esac
 
 if test x$TARGET = xX86_64; then
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler supports unwind section type" >&5
diff --git a/js/src/ctypes/libffi/configure.ac b/js/src/ctypes/libffi/configure.ac
--- a/js/src/ctypes/libffi/configure.ac
+++ b/js/src/ctypes/libffi/configure.ac
@@ -311,17 +311,18 @@ if test x$TARGET = xX86 || test x$TARGET
     ])
     if test "x$libffi_cv_as_string_pseudo_op" = xyes; then
        AC_DEFINE(HAVE_AS_STRING_PSEUDO_OP, 1,
 	       [Define if your assembler supports .string.])
     fi
 fi
 
 case "$target" in
-     *-apple-darwin10* | *-*-freebsd* | *-*-openbsd* | *-pc-solaris*)
+     # Darwin 10 (OSX 10.6) and beyond allocate non-executable pages
+     *-apple-darwin1* | *-*-freebsd* | *-*-openbsd* | *-pc-solaris*)
        AC_DEFINE(FFI_MMAP_EXEC_WRIT, 1,
                  [Cannot use malloc on this target, so, we revert to
                    alternative means])
      ;;
 esac
 
 if test x$TARGET = xX86_64; then
     AC_CACHE_CHECK([assembler supports unwind section type],
