about summary refs log tree commit diff stats
path: root/src
diff options
context:
space:
mode:
authorptitSeb <sebastien.chev@gmail.com>2022-03-07 16:23:08 +0100
committerptitSeb <sebastien.chev@gmail.com>2022-03-08 17:37:09 +0100
commit652e8318e66d3a7eea6257aca4b3fadf27c0522c (patch)
tree89e6300eebcca2f29deb93481270d800bed167ed /src
parente05796674bd7648faa4bbb4d61de2e641bed34b9 (diff)
downloadbox64-652e8318e66d3a7eea6257aca4b3fadf27c0522c.tar.gz
box64-652e8318e66d3a7eea6257aca4b3fadf27c0522c.zip
Added [stack] to the generated maps file
Diffstat (limited to 'src')
-rwxr-xr-xsrc/elfs/elfloader.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/elfs/elfloader.c b/src/elfs/elfloader.c
index c5f59375..fd869ddf 100755
--- a/src/elfs/elfloader.c
+++ b/src/elfs/elfloader.c
@@ -1545,6 +1545,8 @@ void CreateMemorymapFile(box64context_t* context, int fd)
         st.st_ino = 0;
     }
 
+    // TODO: create heap entry?
+
     for (size_t i=0; i<h->numPHEntries; ++i) {
         if (h->PHEntries[i].p_memsz == 0) continue;
 
@@ -1557,6 +1559,11 @@ void CreateMemorymapFile(box64context_t* context, int fd)
         
         dummy = write(fd, buff, strlen(buff));
     }
+    // create stack entry
+    sprintf(buff, "%16lx-%16lx %c%c%c%c %16lx %02x:%02x %ld %s\n", 
+        (uintptr_t)context->stack, (uintptr_t)context->stack+context->stacksz,
+        'r','w','-','p', 0, 0, 0, 0, "[stack]");
+    dummy = write(fd, buff, strlen(buff));
 }
 
 void ElfAttachLib(elfheader_t* head, library_t* lib)