Stop using RWX memory for closures.
This switches libffi to the use of two different mappings per closure,
one with RW access, the other with RX access.  Even if not perfect it is
already an improvement (RWX memory is unavailable by default).

Index: src/closures.c
--- src/closures.c.orig
+++ src/closures.c
@@ -906,6 +906,7 @@ dlmmap (void *start, size_t length, int prot,
       return ptr;
     }
 
+#if 0
   /* -1 != execfd hints that we already decided to use dlmmap_locked
      last time.  */
   if (execfd == -1 && is_mprotect_enabled ())
@@ -934,6 +935,7 @@ dlmmap (void *start, size_t length, int prot,
 	 with ((prot & ~PROT_WRITE) | PROT_EXEC) and mremap with
 	 MREMAP_DUP and prot at this point.  */
     }
+#endif
 
   pthread_mutex_lock (&open_temp_exec_file_mutex);
   ptr = dlmmap_locked (start, length, prot, flags, offset);
