summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorH. Peter Anvin <hpa@linux.intel.com>2011-11-18 16:03:27 -0800
committerH. Peter Anvin <hpa@linux.intel.com>2011-11-18 16:03:27 -0800
commitf14525f9e033f344996905744f41680ea2b877ce (patch)
treed0032eff3c737dd93264d5a1ef24bdc6c6a85db2
parent303395ac3bf3e2cb488435537d416bc840438fcb (diff)
downloadop-kernel-dev-f14525f9e033f344996905744f41680ea2b877ce.zip
op-kernel-dev-f14525f9e033f344996905744f41680ea2b877ce.tar.gz
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>
-rw-r--r--arch/x86/syscalls/syscallhdr.sh19
1 files changed, 3 insertions, 16 deletions
diff --git a/arch/x86/syscalls/syscallhdr.sh b/arch/x86/syscalls/syscallhdr.sh
index 0d473ff..b3c5930 100644
--- a/arch/x86/syscalls/syscallhdr.sh
+++ b/arch/x86/syscalls/syscallhdr.sh
@@ -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 ""
OpenPOWER on IntegriCloud