summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGabe Black <gblack@eecs.umich.edu>2009-07-29 00:35:49 -0700
committerGabe Black <gblack@eecs.umich.edu>2009-07-29 00:35:49 -0700
commite09ae149af4e97392a3ae7f8633c1bd18fe64e2d (patch)
tree3b393e26a19618189554230a9b3207364dbbf390
parentb066e717f4301bd5b882319d7d52e8bbd9c0b6c2 (diff)
downloadgem5-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.cc2
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))