[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <91b10591-1554-4860-8843-01c6cfd7de13@app.fastmail.com>
Date: Wed, 17 Jul 2024 12:54:46 +0200
From: "Arnd Bergmann" <arnd@...db.de>
To: "Johan Hovold" <johan@...nel.org>
Cc: "Linus Torvalds" <torvalds@...ux-foundation.org>,
"Masahiro Yamada" <masahiroy@...nel.org>, linux-kernel@...r.kernel.org,
Linux-Arch <linux-arch@...r.kernel.org>,
linux-arm-kernel@...ts.infradead.org,
"linux-csky@...r.kernel.org" <linux-csky@...r.kernel.org>,
linux-hexagon@...r.kernel.org, loongarch@...ts.linux.dev,
"linux-openrisc@...r.kernel.org" <linux-openrisc@...r.kernel.org>,
linux-snps-arc@...ts.infradead.org
Subject: Re: [GIT PULL] asm-generic updates for 6.11
On Wed, Jul 17, 2024, at 11:36, Arnd Bergmann wrote:
> On Wed, Jul 17, 2024, at 10:17, Johan Hovold wrote:
>> On Wed, Jul 17, 2024 at 10:01:10AM +0200, Arnd Bergmann wrote:
>>
>> Yeah, that's not something I noticed at least (and I assume I would
>> have). And I only did aarch64 builds on a 6.9 x86_64 host (make 4.4.1).
>
> Ok, I can reproduce the problem now: I installed a Fedora
> VM guest and chroot mount and I see the same issue in there.
>
> My normal Debian host has make 4.3, so I'll see if I can figure
> if a specific change in make does it.
I see that there is a version check in scripts/Makefile.include
from commit 875ef1a57f32 ("kbuild: use .NOTINTERMEDIATE for
future GNU Make versions") that detects Fedora's make 4.4.1
as newer than 4.4, so for the first time enables this
logic that I did not see on Debian.
In my scripts/Makefile.asm-headers, I had copied the 'FORCE'
from the existing rules in arch/x86/entry/syscalls/Makefile
etc without fully understanding what that does.
It looks like this does not make a difference for make-4.3
but is actually wrong for make-4.4 on the generic rule.
This makes it work for me with both versions of make:
--- a/scripts/Makefile.asm-headers
+++ b/scripts/Makefile.asm-headers
@@ -77,14 +77,14 @@ all: $(generic-y) $(syscall-y)
$(obj)/%.h: $(srctree)/$(generic)/%.h
$(call cmd,wrap)
-$(obj)/unistd_%.h: $(syscalltbl) $(syshdr) FORCE
+$(obj)/unistd_%.h: $(syscalltbl) $(syshdr)
$(call if_changed,syshdr)
$(obj)/unistd_compat_%.h: syscall_compat:=1
-$(obj)/unistd_compat_%.h: $(syscalltbl) $(syshdr) FORCE
+$(obj)/unistd_compat_%.h: $(syscalltbl) $(syshdr)
$(call if_changed,syshdr)
-$(obj)/syscall_table_%.h: $(syscalltbl) $(systbl) FORCE
+$(obj)/syscall_table_%.h: $(syscalltbl) $(systbl)
$(call if_changed,systbl)
# Create output directory. Skip it if at least one old header exists
Masahiro, does that make sense to you? I assume you can
explain this properly, but I'll already send a patch with
this version.
Arnd
Powered by blists - more mailing lists