diff options
author | Nathan Binkert <nate@binkert.org> | 2007-08-12 09:56:37 -0700 |
---|---|---|
committer | Nathan Binkert <nate@binkert.org> | 2007-08-12 09:56:37 -0700 |
commit | 64295b800fd67e9b9bb3eee0131511a71ddf1fdb (patch) | |
tree | ed1c759f11384dd2c263b43d7842be2922c5c39d /util | |
parent | b92594dd90f54a892771989a8164148e6647c9ab (diff) | |
parent | ec4000e0e284834df0eb1db792074a1b11f21cc8 (diff) | |
download | gem5-64295b800fd67e9b9bb3eee0131511a71ddf1fdb.tar.xz |
merge
--HG--
extra : convert_revision : 5866eaa4008c4fa5da7fbb443132b8326955f71d
Diffstat (limited to 'util')
-rw-r--r-- | util/statetrace/arch/tracechild_amd64.cc | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/util/statetrace/arch/tracechild_amd64.cc b/util/statetrace/arch/tracechild_amd64.cc index 222923972..112ee793e 100644 --- a/util/statetrace/arch/tracechild_amd64.cc +++ b/util/statetrace/arch/tracechild_amd64.cc @@ -317,7 +317,15 @@ bool AMD64TraceChild::step() ptrace(PTRACE_POKEDATA, pid, ripAfterSyscall, buf); } else - ptraceSingleStep(); + { + //Get all the way past repe and repne string instructions in one shot. + uint64_t newPC, origPC = getPC(); + do + { + ptraceSingleStep(); + newPC = getPC(); + } while(newPC == origPC); + } } TraceChild * genTraceChild() |