On Tue, 16 Jul 2024 at 21:57, Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> wrote: > > Note, it really might be just 'allmodconfig'. We've had things that > depend on config entries in the past, eg the whole > CONFIG_HEADERS_INSTALL etc could affect things. Oh, and my "find" line was bogus, because it turns out ".config" itself is only updated if it changed, which explains my confusion about some of the other header files. So it turns out that to get the real list of rewritten headers, you need to do something like make allmodconfig touch .config make and then to make it faster, you just ^C after five seconds, and do that find . -newer .config -name '*.h' and _now_ it's meaningful, and on arm64 I see ./arch/arm64/include/generated/uapi/asm/unistd_64.h ./arch/arm64/include/generated/asm/syscall_table_32.h ./arch/arm64/include/generated/asm/syscall_table_64.h ./arch/arm64/include/generated/asm/unistd_32.h ./arch/arm64/include/generated/asm/unistd_compat_32.h ./include/generated/autoconf.h ./usr/include/asm/unistd_64.h while on x86, the only header that changes as part of the build is ./include/generated/autoconf.h and all the other files I listed were just because I hadn't noticed that "make allmodconfig" itself avoids the write of ".config". So that "touch .config" is needed. Or just use another file entirely to flag the "this is the state before I actually started the build". Which I probably should have done instead of thinking that "hey, I have this .config file that I can just use as a marker". Linus