summaryrefslogtreecommitdiff
path: root/src/arch/x86/linux/process.cc
diff options
context:
space:
mode:
authorCiro Santilli <ciro.santilli@arm.com>2018-11-20 16:45:07 +0000
committerCiro Santilli <ciro.santilli@arm.com>2018-11-27 11:46:36 +0000
commita66d12c23517a010f5a05efbc2e47d61fba705c9 (patch)
tree798e527a62dcbb15594b9e35e455ea8801e7054b /src/arch/x86/linux/process.cc
parent90dfafa2c4333a4d9aff7e296554c68752880825 (diff)
downloadgem5-a66d12c23517a010f5a05efbc2e47d61fba705c9.tar.xz
sim-se: only implement getdentsFunc on supported hosts
The implementation of the getdents syscall relies on SYS_getdents, which is not available on all archs, because the getdents syscall has been superseded by getdents64, and does not exist on newer archs such as aarch64. This leads the build to break on aarch64 hosts with error: error: 'SYS_getdents' was not declared in this scope Change-Id: I8701fb5b61c0418b14a9463ef135a391a7f7a9ba Reviewed-on: https://gem5-review.googlesource.com/c/14596 Reviewed-by: Brandon Potter <Brandon.Potter@amd.com> Maintainer: Brandon Potter <Brandon.Potter@amd.com>
Diffstat (limited to 'src/arch/x86/linux/process.cc')
-rw-r--r--src/arch/x86/linux/process.cc8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/arch/x86/linux/process.cc b/src/arch/x86/linux/process.cc
index 9ec4ca040..22fe0026c 100644
--- a/src/arch/x86/linux/process.cc
+++ b/src/arch/x86/linux/process.cc
@@ -298,7 +298,11 @@ static SyscallDesc syscallDescs64[] = {
/* 75 */ SyscallDesc("fdatasync", unimplementedFunc),
/* 76 */ SyscallDesc("truncate", truncateFunc),
/* 77 */ SyscallDesc("ftruncate", ftruncateFunc),
+#if defined(SYS_getdents)
/* 78 */ SyscallDesc("getdents", getdentsFunc),
+#else
+ /* 78 */ SyscallDesc("getdents", unimplementedFunc),
+#endif
/* 79 */ SyscallDesc("getcwd", getcwdFunc),
/* 80 */ SyscallDesc("chdir", chdirFunc),
/* 81 */ SyscallDesc("fchdir", unimplementedFunc),
@@ -690,7 +694,11 @@ static SyscallDesc syscallDescs32[] = {
/* 138 */ SyscallDesc("setfsuid", unimplementedFunc),
/* 139 */ SyscallDesc("setfsgid", unimplementedFunc),
/* 140 */ SyscallDesc("_llseek", _llseekFunc),
+#if defined(SYS_getdents)
/* 141 */ SyscallDesc("getdents", getdentsFunc),
+#else
+ /* 141 */ SyscallDesc("getdents", unimplementedFunc),
+#endif
/* 142 */ SyscallDesc("_newselect", unimplementedFunc),
/* 143 */ SyscallDesc("flock", unimplementedFunc),
/* 144 */ SyscallDesc("msync", unimplementedFunc),