diff -Naru qemu-snapshot-2007-07-01_05.orig/linux-user/mmap.c qemu-snapshot-2007-07-01_05/linux-user/mmap.c --- qemu-snapshot-2007-07-01_05.orig/linux-user/mmap.c 2007-06-03 17:31:32.000000000 +0200 +++ qemu-snapshot-2007-07-01_05/linux-user/mmap.c 2007-07-02 14:00:30.000000000 +0200 @@ -234,7 +234,7 @@ host_offset = offset & qemu_host_page_mask; host_len = len + offset - host_offset; host_start = (long)mmap(real_start ? g2h(real_start) : NULL, - host_len, prot, flags, fd, host_offset); + host_len, prot, (flags | MAP_32BIT), fd, host_offset); if (host_start == -1) return host_start; /* update start so that it points to the file position at 'offset' */ @@ -388,7 +388,7 @@ int prot; /* XXX: use 5 args syscall */ - new_addr = (long)mremap(g2h(old_addr), old_size, new_size, flags); + new_addr = (long)mremap(g2h(old_addr), old_size, new_size, (flags | MAP_32BIT)); if (new_addr == -1) return new_addr; new_addr = h2g(new_addr);