Commit f14525f9 authored by H. Peter Anvin's avatar H. Peter Anvin

x86: Simplify syscallhdr.sh

Simplify syscallhdr.sh by letting grep sort out the ABIs that we want,
rather than relying on manual list matching.  This is safe since the
ABI strings already have to consist only of characters which are valid in C
macro names.
Suggested-by: default avatarMatt Helsley <matthltc@us.ibm.com>
Link: http://lkml.kernel.org/r/20111118221558.GA6408@count0.beaverton.ibm.comSigned-off-by: default avatarH. Peter Anvin <hpa@linux.intel.com>
parent 303395ac
...@@ -2,33 +2,20 @@ ...@@ -2,33 +2,20 @@
in="$1" in="$1"
out="$2" out="$2"
my_abis=`echo "$3" | tr ',' ' '` my_abis=`echo "($3)" | tr ',' '|'`
prefix="$4" prefix="$4"
offset="$5" offset="$5"
fileguard=_ASM_X86_`basename "$out" | sed \ fileguard=_ASM_X86_`basename "$out" | sed \
-e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/' \ -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:]]+${my_abis}" "$in" | sort -n | (
in_list () {
local x
for x in $1; do
if [ x"$x" = x"$2" ]; then
return 0
fi
done
return 1
}
grep '^[0-9]' "$in" | sort -n | (
echo "#ifndef ${fileguard}" echo "#ifndef ${fileguard}"
echo "#define ${fileguard} 1" echo "#define ${fileguard} 1"
echo "" echo ""
while read nr abi name entry ; do while read nr abi name entry ; do
if in_list "$my_abis" "$abi"; then
echo "#define __NR_${prefix}${name}" $((nr+offset)) echo "#define __NR_${prefix}${name}" $((nr+offset))
fi
done done
echo "" echo ""
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment