summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Hromatka <tom.hromatka@oracle.com>2020-03-10 12:32:37 -0600
committerPaul Moore <paul@paul-moore.com>2020-03-10 18:08:22 -0400
commit00afcffb77141f8416ca156065c50eae471b8ad1 (patch)
tree3380315b7168bd0aebf1dee66d03464861491d12
parent5b03588343426c85f282f311d4247e6b17cfbacb (diff)
downloadlibseccomp-00afcffb77141f8416ca156065c50eae471b8ad1.tar.gz
arch: Add riscv64 support to syscall validate script
This patch adds riscv64 support to arch-syscall-validate. Signed-off-by: Tom Hromatka <tom.hromatka@oracle.com> Signed-off-by: Paul Moore <paul@paul-moore.com>
-rwxr-xr-xsrc/arch-syscall-validate45
1 files changed, 45 insertions, 0 deletions
diff --git a/src/arch-syscall-validate b/src/arch-syscall-validate
index b9e0bce..a47eb63 100755
--- a/src/arch-syscall-validate
+++ b/src/arch-syscall-validate
@@ -393,6 +393,45 @@ function dump_lib_ppc64() {
}
#
+# Dump the riscv64 system syscall table
+#
+# Arguments:
+# 1 path to the kernel source
+#
+# Dump the architecture's syscall table to stdout.
+#
+function dump_sys_riscv64() {
+ gcc -E -dM -I$1/include/uapi \
+ -D__BITS_PER_LONG=64 -D__ARCH_WANT_NEW_STAT \
+ $1/include/uapi/asm-generic/unistd.h | \
+ grep "^#define __NR_" | \
+ sed -e '/__NR_syscalls/d' | \
+ sed -e '/__NR_arch_specific_syscall/d' | \
+ sed -e 's/#define[ \t]\+__NR_\([^ \t]\+\)[ \t]\+\(.*\)/\1\t\2/' | \
+ sed -e 's/__NR3264_fadvise64/223/' | \
+ sed -e 's/__NR3264_fcntl/25/' | \
+ sed -e 's/__NR3264_fstatat/79/' | \
+ sed -e 's/__NR3264_fstatfs/44/' | \
+ sed -e 's/__NR3264_ftruncate/46/' | \
+ sed -e 's/__NR3264_lseek/62/' | \
+ sed -e 's/__NR3264_mmap/222/' | \
+ sed -e 's/__NR3264_sendfile/71/' | \
+ sed -e 's/__NR3264_statfs/43/' | \
+ sed -e 's/__NR3264_truncate/45/' | \
+ sed -e 's/__NR3264_fstat/80/' | \
+ sort
+}
+
+#
+# Dump the riscv64 library syscall table
+#
+# Dump the library's syscall table to stdout.
+#
+function dump_lib_riscv64() {
+ dump_lib_arch riscv64
+}
+
+#
# Dump the s390 system syscall table
#
# Arguments:
@@ -487,6 +526,9 @@ function dump_sys() {
ppc64)
dump_sys_ppc64 "$2"
;;
+ riscv64)
+ dump_sys_riscv64 "$2"
+ ;;
s390)
dump_sys_s390 "$2"
;;
@@ -542,6 +584,9 @@ function dump_lib() {
ppc64)
dump_lib_ppc64 "$2"
;;
+ riscv64)
+ dump_lib_riscv64 "$2"
+ ;;
s390)
dump_lib_s390 "$2"
;;