diff options
Diffstat (limited to 'arch')
-rw-r--r-- | arch/x86/syscalls/syscallhdr.sh | 19 |
1 files changed, 3 insertions, 16 deletions
diff --git a/arch/x86/syscalls/syscallhdr.sh b/arch/x86/syscalls/syscallhdr.sh index 0d473ff12eaf..b3c593072785 100644 --- a/arch/x86/syscalls/syscallhdr.sh +++ b/arch/x86/syscalls/syscallhdr.sh | |||
@@ -2,33 +2,20 @@ | |||
2 | 2 | ||
3 | in="$1" | 3 | in="$1" |
4 | out="$2" | 4 | out="$2" |
5 | my_abis=`echo "$3" | tr ',' ' '` | 5 | my_abis=`echo "($3)" | tr ',' '|'` |
6 | prefix="$4" | 6 | prefix="$4" |
7 | offset="$5" | 7 | offset="$5" |
8 | 8 | ||
9 | fileguard=_ASM_X86_`basename "$out" | sed \ | 9 | fileguard=_ASM_X86_`basename "$out" | sed \ |
10 | -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/' \ | 10 | -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/' \ |
11 | -e 's/[^A-Z0-9_]/_/g' -e 's/__/_/g'` | 11 | -e 's/[^A-Z0-9_]/_/g' -e 's/__/_/g'` |
12 | 12 | grep -E "^[0-9A-Fa-fXx]+[[:space:]]+${my_abis}" "$in" | sort -n | ( | |
13 | in_list () { | ||
14 | local x | ||
15 | for x in $1; do | ||
16 | if [ x"$x" = x"$2" ]; then | ||
17 | return 0 | ||
18 | fi | ||
19 | done | ||
20 | return 1 | ||
21 | } | ||
22 | |||
23 | grep '^[0-9]' "$in" | sort -n | ( | ||
24 | echo "#ifndef ${fileguard}" | 13 | echo "#ifndef ${fileguard}" |
25 | echo "#define ${fileguard} 1" | 14 | echo "#define ${fileguard} 1" |
26 | echo "" | 15 | echo "" |
27 | 16 | ||
28 | while read nr abi name entry ; do | 17 | while read nr abi name entry ; do |
29 | if in_list "$my_abis" "$abi"; then | 18 | echo "#define __NR_${prefix}${name}" $((nr+offset)) |
30 | echo "#define __NR_${prefix}${name}" $((nr+offset)) | ||
31 | fi | ||
32 | done | 19 | done |
33 | 20 | ||
34 | echo "" | 21 | echo "" |