summaryrefslogtreecommitdiff
path: root/src/sim/syscall_emul.hh
diff options
context:
space:
mode:
Diffstat (limited to 'src/sim/syscall_emul.hh')
-rw-r--r--src/sim/syscall_emul.hh4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/sim/syscall_emul.hh b/src/sim/syscall_emul.hh
index 1ff046033..8480c7e94 100644
--- a/src/sim/syscall_emul.hh
+++ b/src/sim/syscall_emul.hh
@@ -1402,7 +1402,9 @@ cloneFunc(SyscallDesc *desc, int callnum, Process *p, ThreadContext *tc)
ctc->setIntReg(TheISA::SyscallPseudoReturnReg, 1);
#endif
- ctc->pcState(tc->nextInstAddr());
+ TheISA::PCState cpc = tc->pcState();
+ cpc.advance();
+ ctc->pcState(cpc);
ctc->activate();
return cp->pid();