summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--rts/Linker.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/rts/Linker.c b/rts/Linker.c
index 6d86e2b1a7..bf0045616e 100644
--- a/rts/Linker.c
+++ b/rts/Linker.c
@@ -6177,8 +6177,13 @@ ocGetNames_MachO(ObjectCode* oc)
if((sections[i].flags & SECTION_TYPE) == S_ZEROFILL)
{
+#ifdef USE_MMAP
+ char * zeroFillArea = mmapForLinker(sections[i].size, MAP_ANONYMOUS, -1);
+ memset(zeroFillArea, 0, sections[i].size);
+#else
char * zeroFillArea = stgCallocBytes(1,sections[i].size,
"ocGetNames_MachO(common symbols)");
+#endif
sections[i].offset = zeroFillArea - image;
}