diff options
author | Ali Saidi <saidi@eecs.umich.edu> | 2006-02-15 01:27:06 -0500 |
---|---|---|
committer | Ali Saidi <saidi@eecs.umich.edu> | 2006-02-15 01:27:06 -0500 |
commit | 7b42d61f13e16afb3b9191f7c7510ebf4c72fd08 (patch) | |
tree | e349e42b269f18f26fb34ffd93e1189afded1ecc /sim/process.cc | |
parent | 085b73fe445f75504ca042135495dfede1d55d45 (diff) | |
parent | 18a0fa3e0c19e1afaf1dedb3d5a3b14a2c3aa3c7 (diff) | |
download | gem5-7b42d61f13e16afb3b9191f7c7510ebf4c72fd08.tar.xz |
Merge zizzer:/bk/m5
into pb15.local:/Users/ali/work/m5.head
sim/byteswap.hh:
SCCS merged
--HG--
extra : convert_revision : 65989fef265ddfafb59a6c96e3cdde76eb3e071d
Diffstat (limited to 'sim/process.cc')
-rw-r--r-- | sim/process.cc | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/sim/process.cc b/sim/process.cc index 395e2eb0a..59d122b48 100644 --- a/sim/process.cc +++ b/sim/process.cc @@ -251,8 +251,10 @@ static void copyStringArray(vector<string> &strings, Addr array_ptr, Addr data_ptr, FunctionalMemory *memory) { + Addr data_ptr_swap; for (int i = 0; i < strings.size(); ++i) { - memory->access(Write, array_ptr, &data_ptr, sizeof(Addr)); + data_ptr_swap = htog(data_ptr); + memory->access(Write, array_ptr, &data_ptr_swap, sizeof(Addr)); memory->writeString(data_ptr, strings[i].c_str()); array_ptr += sizeof(Addr); data_ptr += strings[i].size() + 1; @@ -334,6 +336,7 @@ LiveProcess::LiveProcess(const string &nm, ObjectFile *objFile, // write contents to stack uint64_t argc = argv.size(); + argc = htog(argc); memory->access(Write, stack_min, &argc, sizeof(uint64_t)); copyStringArray(argv, argv_array_base, arg_data_base, memory); |