diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/sim/syscall_desc.cc | 2 | ||||
-rw-r--r-- | src/sim/syscall_emul.hh | 4 |
2 files changed, 2 insertions, 4 deletions
diff --git a/src/sim/syscall_desc.cc b/src/sim/syscall_desc.cc index 345bfa114..bf378fe20 100644 --- a/src/sim/syscall_desc.cc +++ b/src/sim/syscall_desc.cc @@ -81,7 +81,7 @@ SyscallDesc::doSyscall(int callnum, ThreadContext *tc, Fault *fault) } else DPRINTF_SYSCALL(Base, "%s returns %d\n", _name, retval.encodedValue()); - if (!(_flags & SyscallDesc::SuppressReturnValue) && !retval.needsRetry()) + if (!retval.suppressed() && !retval.needsRetry()) process->setSyscallReturn(tc, retval); } diff --git a/src/sim/syscall_emul.hh b/src/sim/syscall_emul.hh index fc6ed62d1..e467b0bff 100644 --- a/src/sim/syscall_emul.hh +++ b/src/sim/syscall_emul.hh @@ -2131,7 +2131,6 @@ template <class OS> SyscallReturn execveFunc(SyscallDesc *desc, int callnum, ThreadContext *tc) { - desc->setFlags(0); auto p = tc->getProcessPtr(); int index = 0; @@ -2215,8 +2214,7 @@ execveFunc(SyscallDesc *desc, int callnum, ThreadContext *tc) TheISA::PCState pcState = tc->pcState(); tc->setNPC(pcState.instAddr()); - desc->setFlags(SyscallDesc::SuppressReturnValue); - return 0; + return SyscallReturn(); } /// Target getrusage() function. |