* [PATCH] kbuild: fix rebuild of generic syscall headers
@ 2024-07-17 16:24 Masahiro Yamada
2024-07-17 18:51 ` Arnd Bergmann
2024-07-18 17:03 ` Linus Torvalds
0 siblings, 2 replies; 3+ messages in thread
From: Masahiro Yamada @ 2024-07-17 16:24 UTC (permalink / raw)
To: Linus Torvalds
Cc: linux-kernel, linux-kbuild, Arnd Bergmann, Masahiro Yamada,
Nathan Chancellor, Nicolas Schier
Commit fbb5c0606fa4 ("kbuild: add syscall table generation to
scripts/Makefile.asm-headers") started to generate syscall headers
for architectures using generic syscalls.
However, these headers are always rebuilt using GNU Make 4.4.1 or newer.
When using GNU Make 4.4 or older, these headers are not rebuilt when the
command to generate them is changed, despite the use of the if_changed
macro.
scripts/Makefile.asm-headers now uses FORCE, but it is not marked as
.PHONY. To handle the command line change correctly, .*.cmd files must
be included.
Fixes: fbb5c0606fa4 ("kbuild: add syscall table generation to scripts/Makefile.asm-headers")
Reported-by: Linus Torvalds <torvalds@linux-foundation.org>
Closes: https://lore.kernel.org/lkml/CAHk-=wibB7SvXnUftBgAt+4-3vEKRpvEgBeDEH=i=j2GvDitoA@mail.gmail.com/
Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
---
| 8 ++++++++
1 file changed, 8 insertions(+)
--git a/scripts/Makefile.asm-headers b/scripts/Makefile.asm-headers
index 6b8e8318e810..8a4856e74180 100644
--- a/scripts/Makefile.asm-headers
+++ b/scripts/Makefile.asm-headers
@@ -87,12 +87,20 @@ $(obj)/unistd_compat_%.h: $(syscalltbl) $(syshdr) FORCE
$(obj)/syscall_table_%.h: $(syscalltbl) $(systbl) FORCE
$(call if_changed,systbl)
+targets := $(syscall-y)
+
# Create output directory. Skip it if at least one old header exists
# since we know the output directory already exists.
ifeq ($(old-headers),)
$(shell mkdir -p $(obj))
endif
+PHONY += FORCE
+
FORCE:
+existing-targets := $(wildcard $(sort $(targets)))
+
+-include $(foreach f,$(existing-targets),$(dir $(f)).$(notdir $(f)).cmd)
+
.PHONY: $(PHONY)
--
2.43.0
^ permalink raw reply related [flat|nested] 3+ messages in thread* Re: [PATCH] kbuild: fix rebuild of generic syscall headers
2024-07-17 16:24 [PATCH] kbuild: fix rebuild of generic syscall headers Masahiro Yamada
@ 2024-07-17 18:51 ` Arnd Bergmann
2024-07-18 17:03 ` Linus Torvalds
1 sibling, 0 replies; 3+ messages in thread
From: Arnd Bergmann @ 2024-07-17 18:51 UTC (permalink / raw)
To: Masahiro Yamada, Linus Torvalds
Cc: linux-kernel, linux-kbuild, Nathan Chancellor, Nicolas Schier
On Wed, Jul 17, 2024, at 18:24, Masahiro Yamada wrote:
> Commit fbb5c0606fa4 ("kbuild: add syscall table generation to
> scripts/Makefile.asm-headers") started to generate syscall headers
> for architectures using generic syscalls.
>
> However, these headers are always rebuilt using GNU Make 4.4.1 or newer.
>
> When using GNU Make 4.4 or older, these headers are not rebuilt when the
> command to generate them is changed, despite the use of the if_changed
> macro.
>
> scripts/Makefile.asm-headers now uses FORCE, but it is not marked as
> .PHONY. To handle the command line change correctly, .*.cmd files must
> be included.
>
> Fixes: fbb5c0606fa4 ("kbuild: add syscall table generation to
> scripts/Makefile.asm-headers")
> Reported-by: Linus Torvalds <torvalds@linux-foundation.org>
> Closes:
> https://lore.kernel.org/lkml/CAHk-=wibB7SvXnUftBgAt+4-3vEKRpvEgBeDEH=i=j2GvDitoA@mail.gmail.com/
> Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
Thanks a lot for the fix!
Tested-by: Arnd Bergmann <arnd@arndb.de>
^ permalink raw reply [flat|nested] 3+ messages in thread* Re: [PATCH] kbuild: fix rebuild of generic syscall headers
2024-07-17 16:24 [PATCH] kbuild: fix rebuild of generic syscall headers Masahiro Yamada
2024-07-17 18:51 ` Arnd Bergmann
@ 2024-07-18 17:03 ` Linus Torvalds
1 sibling, 0 replies; 3+ messages in thread
From: Linus Torvalds @ 2024-07-18 17:03 UTC (permalink / raw)
To: Masahiro Yamada
Cc: linux-kernel, linux-kbuild, Arnd Bergmann, Nathan Chancellor,
Nicolas Schier
On Wed, 17 Jul 2024 at 09:24, Masahiro Yamada <masahiroy@kernel.org> wrote:
>
> Commit fbb5c0606fa4 ("kbuild: add syscall table generation to
> scripts/Makefile.asm-headers") started to generate syscall headers
> for architectures using generic syscalls.
>
> However, these headers are always rebuilt using GNU Make 4.4.1 or newer.
Thanks, applied directly to make the rest of my merge window go more
smoothly when doing my arm64 build testing,
Linus
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2024-07-18 17:03 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-07-17 16:24 [PATCH] kbuild: fix rebuild of generic syscall headers Masahiro Yamada
2024-07-17 18:51 ` Arnd Bergmann
2024-07-18 17:03 ` Linus Torvalds
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox