Use MAP_NORESERVE for potentially large mappings.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2674 a5019735-40e9-0310-863c-91ae7b9d1cf9
diff --git a/coregrind/vg_main.c b/coregrind/vg_main.c
index 8ef52cc..dcafb15 100644
--- a/coregrind/vg_main.c
+++ b/coregrind/vg_main.c
@@ -441,7 +441,7 @@
 
    // Ban redzone
    vres = mmap((void *)VG_(client_end), REDZONE_SIZE, PROT_NONE,
-               MAP_FIXED|MAP_ANON|MAP_PRIVATE, -1, 0);
+               MAP_FIXED|MAP_ANON|MAP_PRIVATE|MAP_NORESERVE, -1, 0);
    vg_assert((void*)-1 != vres);
 
    // Make client hole
@@ -452,7 +452,7 @@
    // Initially all inaccessible, incrementally initialized as it is used
    if (shadow_size != 0) {
       vres = mmap((char *)VG_(shadow_base), shadow_size, PROT_NONE,
-                  MAP_PRIVATE|MAP_ANON|MAP_FIXED, -1, 0);
+                  MAP_PRIVATE|MAP_ANON|MAP_FIXED|MAP_NORESERVE, -1, 0);
       if ((void*)-1 == vres) {
          fprintf(stderr, 
           "valgrind: Couldn't allocate address space for shadow memory\n"