Skip to contentSkip to conversation

fix bash-isms in arch/x86/entry/syscalls/syscalltbl.sh

PATCH In review [email protected] 3 participants 4 messages Sep 29, 2016 – Oct 27, 2016

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

PATCH 1/1 fix bash-isms in arch/x86/entry/syscalls/syscalltbl.sh

Fix the bash-isms in the x86 syscall table generator shell script.

---

arch/x86/entry/syscalls/syscalltbl.sh +9 -6
index cd3d301..751d1f9 100644
@@ -10,8 +10,11 @@ syscall_macro() {
 
     # Entry can be either just a function name or "function/qualifier"
     real_entry="${entry%%/*}"
-    qualifier="${entry:${#real_entry}}"		# Strip the function name
-    qualifier="${qualifier:1}"			# Strip the slash, if any
+    if [ "$entry" = "$real_entry" ]; then
+        qualifier=
+    else
+        qualifier=${entry#*/}
+    fi
 
     echo "__SYSCALL_${abi}($nr, $real_entry, $qualifier)"
 }
@@ -22,7 +25,7 @@ emit() {
     entry="$3"
     compat="$4"
 
-    if [ "$abi" == "64" -a -n "$compat" ]; then
+    if [ "$abi" = "64" -a -n "$compat" ]; then
 	echo "a compat entry for a 64-bit syscall makes no sense" >&2
 	exit 1
     fi
@@ -45,17 +48,17 @@ emit() {
 grep '^[0-9]' "$in" | sort -n | (
     while read nr abi name entry compat; do
 	abi=`echo "$abi" | tr '[a-z]' '[A-Z]'`
-	if [ "$abi" == "COMMON" -o "$abi" == "64" ]; then
+	if [ "$abi" = "COMMON" -o "$abi" = "64" ]; then
 	    # COMMON is the same as 64, except that we don't expect X32
 	    # programs to use it.  Our expectation has nothing to do with
 	    # any generated code, so treat them the same.
 	    emit 64 "$nr" "$entry" "$compat"
-	elif [ "$abi" == "X32" ]; then
+	elif [ "$abi" = "X32" ]; then
 	    # X32 is equivalent to 64 on an X32-compatible kernel.
 	    echo "#ifdef CONFIG_X86_X32_ABI"
 	    emit 64 "$nr" "$entry" "$compat"
 	    echo "#endif"
-	elif [ "$abi" == "I386" ]; then
+	elif [ "$abi" = "I386" ]; then
 	    emit "$abi" "$nr" "$entry" "$compat"
 	else
 	    echo "Unknown abi $abi" >&2
#1 lore raw

[tip:x86/urgent] x86/syscalls: Remove bash-isms in syscall table generator

x86/syscalls: Remove bash-isms in syscall table generator
Commit-ID:  2df0e78b44e2cbbaa1e319cbca34f23599a4daa0
Gitweb:     http://git.kernel.org/tip/2df0e78b44e2cbbaa1e319cbca34f23599a4daa0
Author:     [email protected] <[email protected]>
AuthorDate: Thu, 29 Sep 2016 16:22:34 +0000
Committer:  Thomas Gleixner <[email protected]>
CommitDate: Wed, 5 Oct 2016 11:34:25 +0200

x86/syscalls: Remove bash-isms in syscall table generator

---
 arch/x86/entry/syscalls/syscalltbl.sh | 15 +++++++++------
 1 file changed, 9 insertions(+), 6 deletions(-)
arch/x86/entry/syscalls/syscalltbl.sh +9 -6
index cd3d301..751d1f9 100644
@@ -10,8 +10,11 @@ syscall_macro() {
 
     # Entry can be either just a function name or "function/qualifier"
     real_entry="${entry%%/*}"
-    qualifier="${entry:${#real_entry}}"		# Strip the function name
-    qualifier="${qualifier:1}"			# Strip the slash, if any
+    if [ "$entry" = "$real_entry" ]; then
+        qualifier=
+    else
+        qualifier=${entry#*/}
+    fi
 
     echo "__SYSCALL_${abi}($nr, $real_entry, $qualifier)"
 }
@@ -22,7 +25,7 @@ emit() {
     entry="$3"
     compat="$4"
 
-    if [ "$abi" == "64" -a -n "$compat" ]; then
+    if [ "$abi" = "64" -a -n "$compat" ]; then
 	echo "a compat entry for a 64-bit syscall makes no sense" >&2
 	exit 1
     fi
@@ -45,17 +48,17 @@ emit() {
 grep '^[0-9]' "$in" | sort -n | (
     while read nr abi name entry compat; do
 	abi=`echo "$abi" | tr '[a-z]' '[A-Z]'`
-	if [ "$abi" == "COMMON" -o "$abi" == "64" ]; then
+	if [ "$abi" = "COMMON" -o "$abi" = "64" ]; then
 	    # COMMON is the same as 64, except that we don't expect X32
 	    # programs to use it.  Our expectation has nothing to do with
 	    # any generated code, so treat them the same.
 	    emit 64 "$nr" "$entry" "$compat"
-	elif [ "$abi" == "X32" ]; then
+	elif [ "$abi" = "X32" ]; then
 	    # X32 is equivalent to 64 on an X32-compatible kernel.
 	    echo "#ifdef CONFIG_X86_X32_ABI"
 	    emit 64 "$nr" "$entry" "$compat"
 	    echo "#endif"
-	elif [ "$abi" == "I386" ]; then
+	elif [ "$abi" = "I386" ]; then
 	    emit "$abi" "$nr" "$entry" "$compat"
 	else
 	    echo "Unknown abi $abi" >&2
#3 lore raw
Quoted 4 lines · On Thu, 27 Oct 2016, [email protected] wrote:
Quoted 1 line · On Thu, Sep 29, 2016 at 04:22:34PM +0000, [email protected] wrote:

Fix the bash-isms in the x86 syscall table generator shell script.

What's up with this patch?

You got a mail on Sept 19th, which told you that the patch was queued in the tip tree. It contains the commit id. If you take said commit id and check whether it's in Linus tree, then you should see:

2df0e78b44e2: x86/syscalls: Remove bash-isms in syscall table generator

A simple:

# git log arch/x86/entry/syscalls/syscalltbl.sh

on Linus tree would have told you the same thing.

Thanks,

tglx