static int openSpecialFile(std::string path, LiveProcess *process, ThreadContext *tc);
+ static const bool mmapGrowsUp = true;
+
+ static bool mmapGrowsDown() { return false; }
+
}; // class OperatingSystem
}
// pick next address from our "mmap region"
- start = p->mmap_end;
+ if (OS::mmapGrowsDown()) {
+ start = p->mmap_end - length;
+ p->mmap_end = start;
+ } else {
+ start = p->mmap_end;
+ p->mmap_end += length;
+ }
p->pTable->allocate(start, length);
- p->mmap_end += length;
if (!(flags & OS::TGT_MAP_ANONYMOUS)) {
warn("allowing mmap of file @ fd %d. "