mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-29 15:14:18 +08:00
6b1200facc
The __SYSCALL macro's arguments are system call number, system call entry name and number of arguments for the system call. Argument- nargs in __SYSCALL(nr, entry, nargs) is neither calculated nor used anywhere. So it would be better to keep the implementaion as __SYSCALL(nr, entry). This will unifies the implementation with some other architetures too. Signed-off-by: Firoz Khan <firoz.khan@linaro.org> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
37 lines
691 B
Bash
37 lines
691 B
Bash
#!/bin/sh
|
|
# SPDX-License-Identifier: GPL-2.0
|
|
|
|
in="$1"
|
|
out="$2"
|
|
my_abis=`echo "($3)" | tr ',' '|'`
|
|
my_abi="$4"
|
|
offset="$5"
|
|
|
|
emit() {
|
|
t_nxt="$1"
|
|
t_nr="$2"
|
|
t_entry="$3"
|
|
|
|
while [ $t_nxt -lt $t_nr ]; do
|
|
printf "__SYSCALL(%s,sys_ni_syscall)\n" "${t_nxt}"
|
|
t_nxt=$((t_nxt+1))
|
|
done
|
|
printf "__SYSCALL(%s,%s)\n" "${t_nxt}" "${t_entry}"
|
|
}
|
|
|
|
grep -E "^[0-9A-Fa-fXx]+[[:space:]]+${my_abis}" "$in" | sort -n | (
|
|
nxt=0
|
|
if [ -z "$offset" ]; then
|
|
offset=0
|
|
fi
|
|
|
|
while read nr abi name entry compat ; do
|
|
if [ "$my_abi" = "c32" ] && [ ! -z "$compat" ]; then
|
|
emit $((nxt+offset)) $((nr+offset)) $compat
|
|
else
|
|
emit $((nxt+offset)) $((nr+offset)) $entry
|
|
fi
|
|
nxt=$((nr+1))
|
|
done
|
|
) > "$out"
|