diff options
Diffstat (limited to 'src/sim')
-rw-r--r-- | src/sim/syscall_emul.hh | 4 |
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(); |