[PATCH 00/27] arch: syscalls: unifiy all syscalltbl.sh into scripts/syscalltbl.sh

Masahiro Yamada
2021-01-28T01:10:27Z

As of v5.11-rc1, 12 architectures duplicate similar shell scripts:

$ find arch -name syscalltbl.sh | sort
arch/alpha/kernel/syscalls/syscalltbl.sh
arch/arm/tools/syscalltbl.sh
arch/ia64/kernel/syscalls/syscalltbl.sh
arch/m68k/kernel/syscalls/syscalltbl.sh
arch/microblaze/kernel/syscalls/syscalltbl.sh
arch/mips/kernel/syscalls/syscalltbl.sh
arch/parisc/kernel/syscalls/syscalltbl.sh
arch/powerpc/kernel/syscalls/syscalltbl.sh
arch/sh/kernel/syscalls/syscalltbl.sh
arch/sparc/kernel/syscalls/syscalltbl.sh
arch/x86/entry/syscalls/syscalltbl.sh
arch/xtensa/kernel/syscalls/syscalltbl.sh

This patch set unifies all of them into a single file,
scripts/syscalltbl.sh.

The code-diff is attractive:

51 files changed, 254 insertions(+), 674 deletions(-)
delete mode 100644 arch/alpha/kernel/syscalls/syscalltbl.sh
delete mode 100644 arch/arm/tools/syscalltbl.sh
delete mode 100644 arch/ia64/kernel/syscalls/syscalltbl.sh
delete mode 100644 arch/m68k/kernel/syscalls/syscalltbl.sh
delete mode 100644 arch/microblaze/kernel/syscalls/syscalltbl.sh
delete mode 100644 arch/mips/kernel/syscalls/syscalltbl.sh
delete mode 100644 arch/parisc/kernel/syscalls/syscalltbl.sh
delete mode 100644 arch/powerpc/kernel/syscalls/syscalltbl.sh
delete mode 100644 arch/sh/kernel/syscalls/syscalltbl.sh
delete mode 100644 arch/sparc/kernel/syscalls/syscalltbl.sh
delete mode 100644 arch/x86/entry/syscalls/syscalltbl.sh
delete mode 100644 arch/xtensa/kernel/syscalls/syscalltbl.sh
create mode 100644 scripts/syscalltbl.sh

Also, this includes Makefile fixes, and some x86 fixes and cleanups.

My question is, how to merge this series.

I am touching all architectures, but the first patch is a prerequisite
of the rest of this series.

One possibility is to ask the x86 maintainers to pickup the first 5
patches for v5.12-rc1, and then send the rest for v5.13-rc1,
splitting per-arch.

I want the x86 maintainers to check the first 5 patches because
I cleaned up the x32 code.

I know x32 was considered for deprecation, but my motivation is to
clean-up scripts across the tree without changing the functionality.

Masahiro Yamada (27):
scripts: add generic syscalltbl.sh
x86/syscalls: fix -Wmissing-prototypes warnings from COND_SYSCALL()
x86/build: add missing FORCE and fix 'targets' to make if_changed work
x86/entry/x32: rename __x32_compat_sys_* to __x64_compat_sys_*
x86/syscalls: switch to generic syscalltbl.sh
ARM: syscalls: switch to generic syscalltbl.sh
alpha: add missing FORCE and fix 'targets' to make if_changed work
alpha: syscalls: switch to generic syscalltbl.sh
ia64: add missing FORCE and fix 'targets' to make if_changed work
ia64: syscalls: switch to generic syscalltbl.sh
m68k: add missing FORCE and fix 'targets' to make if_changed work
m68k: syscalls: switch to generic syscalltbl.sh
microblaze: add missing FORCE and fix 'targets' to make if_changed
work
microblaze: syscalls: switch to generic syscalltbl.sh
mips: add missing FORCE and fix 'targets' to make if_changed work
mips: syscalls: switch to generic syscalltbl.sh
parisc: add missing FORCE and fix 'targets' to make if_changed work
parisc: syscalls: switch to generic syscalltbl.sh
sh: add missing FORCE and fix 'targets' to make if_changed work
sh: syscalls: switch to generic syscalltbl.sh
sparc: remove wrong comment from arch/sparc/include/asm/Kbuild
sparc: add missing FORCE and fix 'targets' to make if_changed work
sparc: syscalls: switch to generic syscalltbl.sh
powerpc: add missing FORCE and fix 'targets' to make if_changed work
powerpc: syscalls: switch to generic syscalltbl.sh
xtensa: add missing FORCE and fix 'targets' to make if_changed work
xtensa: syscalls: switch to generic syscalltbl.sh

arch/alpha/kernel/syscalls/Makefile | 18 +++----
arch/alpha/kernel/syscalls/syscalltbl.sh | 32 -----------
arch/alpha/kernel/systbls.S | 3 +-
arch/arm/kernel/entry-common.S | 8 +--
arch/arm/tools/Makefile | 9 ++--
arch/arm/tools/syscalltbl.sh | 22 --------
arch/ia64/kernel/entry.S | 3 +-
arch/ia64/kernel/syscalls/Makefile | 19 +++----
arch/ia64/kernel/syscalls/syscalltbl.sh | 32 -----------
arch/m68k/kernel/syscalls/Makefile | 18 +++----
arch/m68k/kernel/syscalls/syscalltbl.sh | 32 -----------
arch/m68k/kernel/syscalltable.S | 3 +-
arch/microblaze/kernel/syscall_table.S | 3 +-
arch/microblaze/kernel/syscalls/Makefile | 18 +++----
arch/microblaze/kernel/syscalls/syscalltbl.sh | 32 -----------
arch/mips/include/asm/Kbuild | 7 ++-
arch/mips/kernel/scall32-o32.S | 4 +-
arch/mips/kernel/scall64-n32.S | 3 +-
arch/mips/kernel/scall64-n64.S | 3 +-
arch/mips/kernel/scall64-o32.S | 4 +-
arch/mips/kernel/syscalls/Makefile | 53 ++++++++-----------
arch/mips/kernel/syscalls/syscalltbl.sh | 36 -------------
arch/parisc/include/asm/Kbuild | 1 -
arch/parisc/kernel/syscall.S | 16 +++---
arch/parisc/kernel/syscalls/Makefile | 34 +++++-------
arch/parisc/kernel/syscalls/syscalltbl.sh | 36 -------------
arch/powerpc/include/asm/Kbuild | 1 -
arch/powerpc/kernel/syscalls/Makefile | 39 +++++---------
arch/powerpc/kernel/syscalls/syscalltbl.sh | 36 -------------
arch/powerpc/kernel/systbl.S | 5 +-
arch/powerpc/platforms/cell/spu_callbacks.c | 2 +-
arch/sh/kernel/syscalls/Makefile | 18 +++----
arch/sh/kernel/syscalls/syscalltbl.sh | 32 -----------
arch/sparc/include/asm/Kbuild | 3 --
arch/sparc/kernel/syscalls/Makefile | 34 +++++-------
arch/sparc/kernel/syscalls/syscalltbl.sh | 36 -------------
arch/sparc/kernel/systbls_32.S | 4 +-
arch/sparc/kernel/systbls_64.S | 8 +--
arch/x86/entry/syscall_32.c | 12 +++--
arch/x86/entry/syscall_64.c | 9 ++--
arch/x86/entry/syscall_x32.c | 27 ++--------
arch/x86/entry/syscalls/Makefile | 33 +++++++-----
arch/x86/entry/syscalls/syscalltbl.sh | 46 ----------------
arch/x86/include/asm/Kbuild | 1 +
arch/x86/include/asm/syscall_wrapper.h | 11 ++--
arch/x86/um/sys_call_table_32.c | 8 +--
arch/x86/um/sys_call_table_64.c | 9 ++--
arch/xtensa/kernel/syscall.c | 3 +-
arch/xtensa/kernel/syscalls/Makefile | 18 +++----
arch/xtensa/kernel/syscalls/syscalltbl.sh | 32 -----------
scripts/syscalltbl.sh | 52 ++++++++++++++++++
51 files changed, 254 insertions(+), 674 deletions(-)
delete mode 100644 arch/alpha/kernel/syscalls/syscalltbl.sh
delete mode 100644 arch/arm/tools/syscalltbl.sh
delete mode 100644 arch/ia64/kernel/syscalls/syscalltbl.sh
delete mode 100644 arch/m68k/kernel/syscalls/syscalltbl.sh
delete mode 100644 arch/microblaze/kernel/syscalls/syscalltbl.sh
delete mode 100644 arch/mips/kernel/syscalls/syscalltbl.sh
delete mode 100644 arch/parisc/kernel/syscalls/syscalltbl.sh
delete mode 100644 arch/powerpc/kernel/syscalls/syscalltbl.sh
delete mode 100644 arch/sh/kernel/syscalls/syscalltbl.sh
delete mode 100644 arch/sparc/kernel/syscalls/syscalltbl.sh
delete mode 100644 arch/x86/entry/syscalls/syscalltbl.sh
delete mode 100644 arch/xtensa/kernel/syscalls/syscalltbl.sh
create mode 100644 scripts/syscalltbl.sh

--
2.27.0