[PATCH RFC v3 1/8] syscalls: Make --abis parsing more robust
From: André Almeida
Date: Fri Aug 07 2026 - 16:01:35 EST
Some archs Makefile have the something like this as the rule for making the
syscall files:
cmd_systbl = $(CONFIG_SHELL) $(systbl) --abis common,$* $< $@
The $* symbol is evaluated to the variable found at $(uapi)/unistd-%.h,
where % is 32 or 64, resulting in e.g. `--abis common,32`. Sometimes the
rule for the file won't have a %, resulting in a trailing comma e.g.
`--abis common,`.
Currently this input is transformed into (common|). This is problematic
because grep will then match any ABI because of the trailing `|`. Make the
syscalls scripts more robust by removing any trailing comma.
Signed-off-by: André Almeida <andrealmeid@xxxxxxxxxx>
---
scripts/syscallhdr.sh | 2 +-
scripts/syscalltbl.sh | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/scripts/syscallhdr.sh b/scripts/syscallhdr.sh
index 22e34cd46b9b..bad1ab606a0f 100755
--- a/scripts/syscallhdr.sh
+++ b/scripts/syscallhdr.sh
@@ -39,7 +39,7 @@ while [ $# -gt 0 ]
do
case $1 in
--abis)
- abis=$(echo "($2)" | tr ',' '|')
+ abis="($(echo "${2%,}" | tr ',' '|'))"
shift 2;;
--emit-nr)
emit_nr=1
diff --git a/scripts/syscalltbl.sh b/scripts/syscalltbl.sh
index 6a903b87a7c2..c4b1f85c2dd6 100755
--- a/scripts/syscalltbl.sh
+++ b/scripts/syscalltbl.sh
@@ -33,7 +33,7 @@ while [ $# -gt 0 ]
do
case $1 in
--abis)
- abis=$(echo "($2)" | tr ',' '|')
+ abis="($(echo "${2%,}" | tr ',' '|'))"
shift 2;;
-*)
echo "$1: unknown option" >&2
--
2.55.0