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"