diff options
| author | Thomas Weißschuh <linux@weissschuh.net> | 2026-04-02 16:36:19 +0200 |
|---|---|---|
| committer | Nicolas Schier <nsc@kernel.org> | 2026-04-05 09:21:31 +0200 |
| commit | b34db3fa85c4d34ceee5231cd27e587153bc25ab (patch) | |
| tree | f20eb7b3fa1200322cee3099883d6a079d9f6f0d | |
| parent | e856b6ca14765501a47eb497f7e35dc7efefce5f (diff) | |
checksyscalls: only run when necessary
Currently checksyscalls.sh is unconditionally executed during each build.
Most of these executions are unnecessary.
Only run checksyscalls.sh if one of its inputs have changed.
This new logic does not work for the multiple invocations done for MIPS.
The effect is that checksyscalls.sh is still executed unconditionally.
However this is not worse than before.
Signed-off-by: Thomas Weißschuh <linux@weissschuh.net>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Reviewed-by: Nicolas Schier <nsc@kernel.org>
Link: https://patch.msgid.link/20260402-kbuild-missing-syscalls-v3-2-6641be1de2db@weissschuh.net
Signed-off-by: Nicolas Schier <nsc@kernel.org>
| -rw-r--r-- | Kbuild | 12 | ||||
| -rwxr-xr-x | scripts/checksyscalls.sh | 5 |
2 files changed, 14 insertions, 3 deletions
@@ -47,12 +47,18 @@ $(rq-offsets-file): kernel/sched/rq-offsets.s FORCE # Check for missing system calls +missing-syscalls-file := .tmp_missing-syscalls + +targets += $(missing-syscalls-file) + quiet_cmd_syscalls = CALL $< - cmd_syscalls = $(CONFIG_SHELL) $< $(CC) $(c_flags) $(missing_syscalls_flags) + cmd_syscalls = DEPFILE=$(depfile) $(CONFIG_SHELL) $< $(CC) $(c_flags) $(missing_syscalls_flags); touch $@ + +$(missing-syscalls-file): scripts/checksyscalls.sh $(rq-offsets-file) FORCE + $(call if_changed_dep,syscalls) PHONY += missing-syscalls -missing-syscalls: scripts/checksyscalls.sh $(rq-offsets-file) - $(call cmd,syscalls) +missing-syscalls: $(missing-syscalls-file) # Check the manual modification of atomic headers diff --git a/scripts/checksyscalls.sh b/scripts/checksyscalls.sh index b2ab3b1d76b8..e2970421c1ff 100755 --- a/scripts/checksyscalls.sh +++ b/scripts/checksyscalls.sh @@ -275,3 +275,8 @@ syscall_list() { (ignore_list && syscall_list ${reference_table}) | \ $* -Wno-error -Wno-unused-macros -E -x c - > /dev/null + +# For fixdep +if [ -n "${DEPFILE}" ]; then + echo "${0}: ${0} ${reference_table}" >> "${DEPFILE}" +fi |
