diff options
-rw-r--r-- | rts/Linker.c | 5 |
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; } |