#!/usr/bin/env bash
set -eu

OUTDIR=$1
ABI=$2

INC_DEF=/usr/src/linux
p_include="${LINUX_SRC:-$INC_DEF}"
p_uapi="$p_include/tools/include/uapi"

cpp -D__"$ABI"__ -undef -dM -I"$p_uapi" "$p_uapi/asm-generic/unistd.h" | sort -nrk3 | awk -F' ' '{
if ($2 ~ "__NR") {
	ids[$2]=$3;
	sub("^.*_", "", $2);
	if ($3 ~ /^[0-9]+$/) val=$3;
	else val=ids[$3];
	print val "\tcommon\t" $2}}' | sort -n > "$OUTDIR/system_calls.tbl"
