Skip to content

Commit

Permalink
x86: Simplify syscallhdr.sh
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
H. Peter Anvin committed Nov 19, 2011
1 parent 303395a commit f14525f
Showing 1 changed file with 3 additions and 16 deletions.
19 changes: 3 additions & 16 deletions arch/x86/syscalls/syscallhdr.sh
Original file line number Diff line number Diff line change
Expand Up @@ -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 ""
Expand Down

0 comments on commit f14525f

Please sign in to comment.