diff --git a/src/sim/syscall_emul.cc b/src/sim/syscall_emul.cc index 4ab472aaf0..731cf247e4 100644 --- a/src/sim/syscall_emul.cc +++ b/src/sim/syscall_emul.cc @@ -613,12 +613,10 @@ truncate64Func(SyscallDesc *desc, int num, ThreadContext *tc, } SyscallReturn -ftruncate64Func(SyscallDesc *desc, int num, ThreadContext *tc) +ftruncate64Func(SyscallDesc *desc, int num, ThreadContext *tc, + int tgt_fd, int64_t length) { - int index = 0; auto p = tc->getProcessPtr(); - int tgt_fd = p->getSyscallArg(tc, index); - int64_t length = p->getSyscallArg(tc, index, 64); auto ffdp = std::dynamic_pointer_cast((*p->fds)[tgt_fd]); if (!ffdp) diff --git a/src/sim/syscall_emul.hh b/src/sim/syscall_emul.hh index 6be574ac88..74ffd761fc 100644 --- a/src/sim/syscall_emul.hh +++ b/src/sim/syscall_emul.hh @@ -235,8 +235,8 @@ SyscallReturn truncate64Func(SyscallDesc *desc, int num, ThreadContext *tc, Addr pathname, int64_t length); /// Target ftruncate64() handler. -SyscallReturn ftruncate64Func(SyscallDesc *desc, int num, ThreadContext *tc); - +SyscallReturn ftruncate64Func(SyscallDesc *desc, int num, ThreadContext *tc, + int tgt_fd, int64_t length); /// Target umask() handler. SyscallReturn umaskFunc(SyscallDesc *desc, int num, ThreadContext *tc);