#!/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/errno.h" | sort -nrk3 | awk '{
split($0, a, " ");
if (a[2] !~ "^_"){
	ids[a[2]] = a[3];
	if (a[3] ~ /^[0-9]+$/) val=a[3];
	else val=ids[a[3]];
	print a[2] " " val;
}}' | sort -nk2 > "$OUTDIR/error_table.tbl"
