0001
0002
0003
0004 in="$1"
0005 arch="$2"
0006
0007 syscall_macro() {
0008 nr="$1"
0009 name="$2"
0010
0011 echo " [$nr] = \"$name\","
0012 }
0013
0014 emit() {
0015 nr="$1"
0016 entry="$2"
0017
0018 syscall_macro "$nr" "$entry"
0019 }
0020
0021 echo "static const char *syscalltbl_${arch}[] = {"
0022
0023 sorted_table=$(mktemp /tmp/syscalltbl.XXXXXX)
0024 grep '^[0-9]' "$in" | sort -n > $sorted_table
0025
0026 max_nr=0
0027 while read nr abi name entry compat; do
0028 if [ $nr -ge 512 ] ; then
0029 break
0030 fi
0031
0032 emit "$nr" "$name"
0033 max_nr=$nr
0034 done < $sorted_table
0035
0036 rm -f $sorted_table
0037
0038 echo "};"
0039
0040 echo "#define SYSCALLTBL_${arch}_MAX_ID ${max_nr}"