diff options
author | Gabe Black <gblack@eecs.umich.edu> | 2009-07-29 00:35:49 -0700 |
---|---|---|
committer | Gabe Black <gblack@eecs.umich.edu> | 2009-07-29 00:35:49 -0700 |
commit | e09ae149af4e97392a3ae7f8633c1bd18fe64e2d (patch) | |
tree | 3b393e26a19618189554230a9b3207364dbbf390 | |
parent | b066e717f4301bd5b882319d7d52e8bbd9c0b6c2 (diff) | |
download | gem5-e09ae149af4e97392a3ae7f8633c1bd18fe64e2d.tar.xz |
Statetrace: Make sure the current state is loaded to print the initial stack frame.
The early call to child->step() was removed earlier because it confused the
new differences-only protocol ARM sendState() was using. It's necessary that
that gets called at least once before attempting to print the initial stack
frame, though, because otherwise statetrace doesn't know what the stack
pointer is. By putting the first call to child->step() in a common spot, both
needs are met.
-rw-r--r-- | util/statetrace/statetrace.cc | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/util/statetrace/statetrace.cc b/util/statetrace/statetrace.cc index 2861bb29c..e2762ac2c 100644 --- a/util/statetrace/statetrace.cc +++ b/util/statetrace/statetrace.cc @@ -123,6 +123,7 @@ int main(int argc, char * argv[], char * envp[]) cerr << "Couldn't start target program" << endl; return 1; } + child->step(); if(printInitial) { child->outputStartState(cout); @@ -157,7 +158,6 @@ int main(int argc, char * argv[], char * envp[]) cerr << "Couldn't connect to server! " << strerror(errno) << endl; return 1; } - child->step(); while(child->isTracing()) { if(!child->sendState(sock)) |