diff options
author | Tom Hromatka <tom.hromatka@oracle.com> | 2020-03-10 12:32:37 -0600 |
---|---|---|
committer | Paul Moore <paul@paul-moore.com> | 2020-03-10 18:08:22 -0400 |
commit | 00afcffb77141f8416ca156065c50eae471b8ad1 (patch) | |
tree | 3380315b7168bd0aebf1dee66d03464861491d12 /src/arch-syscall-validate | |
parent | 5b03588343426c85f282f311d4247e6b17cfbacb (diff) | |
download | libseccomp-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>
Diffstat (limited to 'src/arch-syscall-validate')
-rwxr-xr-x | src/arch-syscall-validate | 45 |
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" ;; |