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: Matt Helsley <matthltc@us.ibm.com> Link: http://lkml.kernel.org/r/20111118221558.GA6408@count0.beaverton.ibm.com Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
This commit is contained in:
parent
303395ac3b
commit
f14525f9e0
@ -2,33 +2,20 @@
|
||||
|
||||
in="$1"
|
||||
out="$2"
|
||||
my_abis=`echo "$3" | tr ',' ' '`
|
||||
my_abis=`echo "($3)" | tr ',' '|'`
|
||||
prefix="$4"
|
||||
offset="$5"
|
||||
|
||||
fileguard=_ASM_X86_`basename "$out" | sed \
|
||||
-e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/' \
|
||||
-e 's/[^A-Z0-9_]/_/g' -e 's/__/_/g'`
|
||||
|
||||
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 | (
|
||||
grep -E "^[0-9A-Fa-fXx]+[[:space:]]+${my_abis}" "$in" | sort -n | (
|
||||
echo "#ifndef ${fileguard}"
|
||||
echo "#define ${fileguard} 1"
|
||||
echo ""
|
||||
|
||||
while read nr abi name entry ; do
|
||||
if in_list "$my_abis" "$abi"; then
|
||||
echo "#define __NR_${prefix}${name}" $((nr+offset))
|
||||
fi
|
||||
echo "#define __NR_${prefix}${name}" $((nr+offset))
|
||||
done
|
||||
|
||||
echo ""
|
||||
|
Loading…
Reference in New Issue
Block a user