summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/sim/syscall_desc.cc2
-rw-r--r--src/sim/syscall_emul.hh4
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.