changeset e47703369039 in /z/repo/gem5
details: http://repo.gem5.org/gem5?cmd=changeset;node=e47703369039
description:
        syscall_emul: #ifdef new system calls to allow builds on OSX and BSD

diffstat:

 src/sim/syscall_emul.cc |   5 ++++-
 src/sim/syscall_emul.hh |  13 ++++++++++++-
 2 files changed, 16 insertions(+), 2 deletions(-)

diffs (67 lines):

diff -r e034a4566653 -r e47703369039 src/sim/syscall_emul.cc
--- a/src/sim/syscall_emul.cc   Thu Jan 19 11:59:34 2017 -0500
+++ b/src/sim/syscall_emul.cc   Fri Jan 20 14:12:58 2017 -0500
@@ -895,6 +895,9 @@
 fallocateFunc(SyscallDesc *desc, int callnum, LiveProcess *process,
               ThreadContext *tc)
 {
+#if NO_FALLOCATE
+    warn("Host OS cannot support calls to fallocate. Ignoring syscall");
+#else
     int index = 0;
     int tgt_fd = process->getSyscallArg(tc, index);
     int mode = process->getSyscallArg(tc, index);
@@ -908,7 +911,7 @@
     int result = fallocate(sim_fd, mode, offset, len);
     if (result < 0)
         return -errno;
-
+#endif
     return 0;
 }
 
diff -r e034a4566653 -r e47703369039 src/sim/syscall_emul.hh
--- a/src/sim/syscall_emul.hh   Thu Jan 19 11:59:34 2017 -0500
+++ b/src/sim/syscall_emul.hh   Fri Jan 20 14:12:58 2017 -0500
@@ -49,6 +49,12 @@
   defined(__FreeBSD__) || defined(__CYGWIN__) || \
   defined(__NetBSD__))
 
+#define NO_STATFS (defined(__APPLE__) || defined(__OpenBSD__) || \
+  defined(__FreeBSD__) || defined(__NetBSD__))
+
+#define NO_FALLOCATE (defined(__APPLE__) || defined(__OpenBSD__) || \
+  defined(__FreeBSD__) || defined(__NetBSD__))
+
 ///
 /// @file syscall_emul.hh
 ///
@@ -62,7 +68,9 @@
 #include <fcntl.h>
 #include <sys/mman.h>
 #include <sys/stat.h>
+#if (NO_STATFS == 0)
 #include <sys/statfs.h>
+#endif
 #include <sys/time.h>
 #include <sys/uio.h>
 #include <unistd.h>
@@ -1123,6 +1131,9 @@
 statfsFunc(SyscallDesc *desc, int callnum, LiveProcess *process,
            ThreadContext *tc)
 {
+#if NO_STATFS
+    warn("Host OS cannot support calls to statfs. Ignoring syscall");
+#else
     std::string path;
 
     int index = 0;
@@ -1142,7 +1153,7 @@
         return -errno;
 
     copyOutStatfsBuf<OS>(tc->getMemProxy(), bufPtr, &hostBuf);
-
+#endif
     return 0;
 }
 
_______________________________________________
gem5-dev mailing list
gem5-dev@gem5.org
http://m5sim.org/mailman/listinfo/gem5-dev

Reply via email to