From: Gabe Black Date: Thu, 2 Aug 2007 01:19:23 +0000 (-0700) Subject: Fix how the "cmd" parameter is set in se.py and remove hack in x86 process initializa... X-Git-Tag: m5_2.0_beta4~209 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=e719a3e4c058920fb5913a38fbe4976d53a0e6e2;p=gem5.git Fix how the "cmd" parameter is set in se.py and remove hack in x86 process initialization code. --HG-- extra : convert_revision : 1fc741eea956ebfa4cef488eef4333d1f50617a6 --- diff --git a/configs/example/se.py b/configs/example/se.py index b294480f6..20fe75a21 100644 --- a/configs/example/se.py +++ b/configs/example/se.py @@ -64,7 +64,7 @@ if args: process = LiveProcess() process.executable = options.cmd -process.cmd = options.cmd + " " + options.options +process.cmd = [options.cmd] + options.options.split() if options.input != "": process.input = options.input 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