On 2020-11-18 11:04, Paul Smith wrote:
On Wed, 2020-11-18 at 16:38 +0100, Tommaso Fonda wrote: The best way to do that is first, reduce the problem as much as possible; for example see if you can pass arguments to make so that it builds just one object file (the equivalent of "make foo.o" for example), where when you run that make command it doesn't rebuild with 4.2 but always rebuilds with 4.3.
I suspect it might be complicated. The kernel build system has he feature
of compiling only those source files which are affected in the change of a CONFIG_ flag. That's obviously not an ordinary file system time stamp dependency, since all those CONFIG_ symbols are defined in a single, generated header file, which is often newer than all other sources. In other words, the kernel Makefile has a provision for compiling source files in some situations when they are not touched at all, and are still older than their corresponding .o files. If something were to go wrong in that logic, that could result in lots of unnecessary compilation that has nothing to do with .c and .o file timestamps. I regularly build the kernel as part of my work; I will build GNU Make 4.3 from sources and see if this reproduces.
