summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/kern/linux/linux.hh2
-rw-r--r--src/sim/syscall_emul.cc12
-rw-r--r--src/sim/syscall_emul.hh2
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;