a13c48
diff -ur ocaml-3.10.0.orig/byterun/unix.c ocaml-3.10.0/byterun/unix.c
a13c48
--- ocaml-3.10.0.orig/byterun/unix.c	2007-02-12 07:57:25.000000000 +0000
a13c48
+++ ocaml-3.10.0/byterun/unix.c	2008-07-13 21:44:06.000000000 +0100
a13c48
@@ -346,13 +346,17 @@
a13c48
 
a13c48
 #include <sys/mman.h>
a13c48
 
a13c48
+#ifndef MAP_32BIT /* Fedora bug 445545 */
a13c48
+#define MAP_32BIT 0
a13c48
+#endif
a13c48
+
a13c48
 char *caml_aligned_mmap (asize_t size, int modulo, void **block)
a13c48
 {
a13c48
   char *raw_mem;
a13c48
   uintnat aligned_mem;
a13c48
   Assert (modulo < Page_size);
a13c48
   raw_mem = (char *) mmap(NULL, size + Page_size, PROT_READ | PROT_WRITE,
a13c48
-                          MAP_PRIVATE | MAP_ANONYMOUS, -1, 0);
a13c48
+                          MAP_32BIT | MAP_PRIVATE | MAP_ANONYMOUS, -1, 0);
a13c48
   if (raw_mem == MAP_FAILED) return NULL;
a13c48
   *block = raw_mem;
a13c48
   raw_mem += modulo;                /* Address to be aligned */
a13c48
Only in ocaml-3.10.0/byterun: unix.c.orig