scripts: check duplicated syscall number in syscall table
Currently, syscall{hdr,tbl}.sh sorts the entire syscall table, but you can assume it is already sorted by the syscall number. The generated syscall table does not work if the same syscall number appears twice. Check it in the script. Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
This commit is contained in:
parent
a0e781a2a3
commit
c6a3a81d19
|
@ -69,7 +69,7 @@ guard=_UAPI_ASM_$(basename "$outfile" |
|
||||||
sed -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/' \
|
sed -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/' \
|
||||||
-e 's/[^A-Z0-9_]/_/g' -e 's/__/_/g')
|
-e 's/[^A-Z0-9_]/_/g' -e 's/__/_/g')
|
||||||
|
|
||||||
grep -E "^[0-9A-Fa-fXx]+[[:space:]]+$abis" "$infile" | sort -n | {
|
grep -E "^[0-9A-Fa-fXx]+[[:space:]]+$abis" "$infile" | {
|
||||||
echo "#ifndef $guard"
|
echo "#ifndef $guard"
|
||||||
echo "#define $guard"
|
echo "#define $guard"
|
||||||
echo
|
echo
|
||||||
|
|
|
@ -52,10 +52,15 @@ outfile="$2"
|
||||||
|
|
||||||
nxt=0
|
nxt=0
|
||||||
|
|
||||||
grep -E "^[0-9]+[[:space:]]+$abis" "$infile" | sort -n | {
|
grep -E "^[0-9]+[[:space:]]+$abis" "$infile" | {
|
||||||
|
|
||||||
while read nr abi name native compat ; do
|
while read nr abi name native compat ; do
|
||||||
|
|
||||||
|
if [ $nxt -gt $nr ]; then
|
||||||
|
echo "error: $infile: syscall table is not sorted or duplicates the same syscall number" >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
while [ $nxt -lt $nr ]; do
|
while [ $nxt -lt $nr ]; do
|
||||||
echo "__SYSCALL($nxt, sys_ni_syscall)"
|
echo "__SYSCALL($nxt, sys_ni_syscall)"
|
||||||
nxt=$((nxt + 1))
|
nxt=$((nxt + 1))
|
||||||
|
|
Loading…
Reference in New Issue