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