diff options
-rw-r--r-- | src/kern/linux/linux.hh | 2 | ||||
-rw-r--r-- | src/sim/syscall_emul.cc | 12 | ||||
-rw-r--r-- | src/sim/syscall_emul.hh | 2 |
3 files changed, 12 insertions, 4 deletions
diff --git a/src/kern/linux/linux.hh b/src/kern/linux/linux.hh index 736213762..7fe107139 100644 --- a/src/kern/linux/linux.hh +++ b/src/kern/linux/linux.hh @@ -138,7 +138,7 @@ class Linux : public OperatingSystem }; /// Clock ticks per second, for times(). - static const int _SC_CLK_TCK = 100; + static const int M5_SC_CLK_TCK = 100; /// For times(). struct tms { diff --git a/src/sim/syscall_emul.cc b/src/sim/syscall_emul.cc index 4461e8b52..4726decc5 100644 --- a/src/sim/syscall_emul.cc +++ b/src/sim/syscall_emul.cc @@ -461,12 +461,16 @@ truncate64Func(SyscallDesc *desc, int num, if (!tc->getMemPort()->tryReadString(path, process->getSyscallArg(tc, index))) return -EFAULT; - loff_t length = process->getSyscallArg(tc, index, 64); + int64_t length = process->getSyscallArg(tc, index, 64); // Adjust path for current working directory path = process->fullPath(path); +#if NO_STAT64 + int result = truncate(path.c_str(), length); +#else int result = truncate64(path.c_str(), length); +#endif return (result == -1) ? -errno : result; } @@ -480,9 +484,13 @@ ftruncate64Func(SyscallDesc *desc, int num, if (fd < 0) return -EBADF; - loff_t length = process->getSyscallArg(tc, index, 64); + int64_t length = process->getSyscallArg(tc, index, 64); +#if NO_STAT64 + int result = ftruncate(fd, length); +#else int result = ftruncate64(fd, length); +#endif return (result == -1) ? -errno : result; } diff --git a/src/sim/syscall_emul.hh b/src/sim/syscall_emul.hh index 27c26afb0..66e800183 100644 --- a/src/sim/syscall_emul.hh +++ b/src/sim/syscall_emul.hh @@ -1187,7 +1187,7 @@ timesFunc(SyscallDesc *desc, int callnum, LiveProcess *process, TypedBufferArg<typename OS::tms> bufp(process->getSyscallArg(tc, index)); // Fill in the time structure (in clocks) - int64_t clocks = curTick * OS::_SC_CLK_TCK / Clock::Int::s; + int64_t clocks = curTick * OS::M5_SC_CLK_TCK / Clock::Int::s; bufp->tms_utime = clocks; bufp->tms_stime = 0; bufp->tms_cutime = 0; |