From 88dcbacabd085eefcc541e632cb738e66605e253 Mon Sep 17 00:00:00 2001 From: Ben Wiederhake Date: Sat, 23 Jan 2021 13:23:34 +0100 Subject: [PATCH] Meta: Check consistency of various syscall tables --- Meta/check-syscall-lists.sh | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100755 Meta/check-syscall-lists.sh diff --git a/Meta/check-syscall-lists.sh b/Meta/check-syscall-lists.sh new file mode 100755 index 0000000000..95e954a0f2 --- /dev/null +++ b/Meta/check-syscall-lists.sh @@ -0,0 +1,20 @@ +#!/usr/bin/env bash + +set -eo pipefail + +script_path=$(cd -P -- "$(dirname -- "$0")" && pwd -P) +cd "${script_path}/.." + +SYSCALLS_KERNEL="$(echo 'Kernel syscalls'; echo; grep -Pio '(?<=^ S\().*(?=\)( +\\)?$)' Kernel/API/Syscall.h | sort)" +SYSCALLS_UE="$(echo 'Implemented in UserspaceEmulator'; echo; grep -Pio '(?<=^ case SC_).*(?=:$)' Userland/DevTools/UserspaceEmulator/Emulator.cpp | sort)" +SYSCALLS_MAN2="$(echo 'Documented syscalls'; echo; find Base/usr/share/man/man2/ ! -type d -printf '%f\n' | sed -Ee 's,\.md,,' | sort)" + +set +e + +echo "ACTUAL versus UE" +diff --color=always -u <(echo "${SYSCALLS_KERNEL}") <(echo "${SYSCALLS_UE}") +echo +echo "ACTUAL versus UE" +diff --color=always -u <(echo "${SYSCALLS_KERNEL}") <(echo "${SYSCALLS_MAN2}") + +exit 0