summaryrefslogtreecommitdiff
path: root/src/arch/x86/process.cc
diff options
context:
space:
mode:
authorAli Saidi <saidi@eecs.umich.edu>2007-08-02 15:38:06 -0400
committerAli Saidi <saidi@eecs.umich.edu>2007-08-02 15:38:06 -0400
commit31a9114a3d449c41a796bc26cce5dce86a4d1b15 (patch)
treee98c2fbbd384fb95c68c2867677363e1639509a6 /src/arch/x86/process.cc
parentda5f62af7bdc4a0a6c8da1eee61b0ecb1a7212b4 (diff)
parentdfa147a70ac87cdc5804993a0b39dfb8bb4cfa1b (diff)
downloadgem5-31a9114a3d449c41a796bc26cce5dce86a4d1b15.tar.xz
merge, no manual changes
--HG-- extra : convert_revision : 8504bddf1f73a4186cebc03c3e52e42ea38361fc
Diffstat (limited to 'src/arch/x86/process.cc')
-rw-r--r--src/arch/x86/process.cc7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/arch/x86/process.cc b/src/arch/x86/process.cc
index 17904cb33..afe41cdeb 100644
--- a/src/arch/x86/process.cc
+++ b/src/arch/x86/process.cc
@@ -290,18 +290,19 @@ X86LiveProcess::argsInit(int intSize, int pageSize)
//This is the name of the file which is present on the initial stack
//It's purpose is to let the user space linker examine the original file.
- int file_name_size = filename.size();
+ int file_name_size = filename.size() + 1;
string platform = "x86_64";
int aux_data_size = platform.size() + 1;
int env_data_size = 0;
for (int i = 0; i < envp.size(); ++i) {
- env_data_size += envp[i].size();
+ env_data_size += envp[i].size() + 1;
}
int arg_data_size = 0;
for (int i = 0; i < argv.size(); ++i) {
- arg_data_size += argv[i].size();
+ warn("Argv[%d] size is %d\n", i, argv[i].size() + 1);
+ arg_data_size += argv[i].size() + 1;
}
//The auxiliary vector data needs to be padded so it's size is a multiple