On Wed, Mar 22, 2023 at 12:42:56AM -0300, Leonardo Bras Soares Passos wrote: > On Tue, Mar 21, 2023 at 4:48 PM Conor Dooley wrote: > > On Tue, Mar 21, 2023 at 02:01:59PM -0300, Leonardo Bras Soares Passos wrote: > > > On Tue, Mar 21, 2023 at 4:49 AM Conor Dooley wrote: > > > > On Tue, Mar 21, 2023 at 03:30:35AM -0300, Leonardo Brás wrote: > > > > > For patch 5/6 it actually adds many more lines, but tracking (some of) the > > > > > errors gave me no idea why. > > > > > > > > Probably just sparse being unhappy with some way the macros were > > > > changed - but some of it ("Should it be static?" bits) look very much > > > > like the patch causing things to be rebuilt only for the "after the > > > > patch" build, but somehow not for the "before" build. > > > > > > Humm, not sure I could understand that last part: > > > What I get is that the patch 5/6 is causing things to be rebuilt, and > > > it was not like that on 1-4/6. > > > Is that what you said? > > > If so, and you are doing it as an incremental build, changing the > > > macros in 5/6 should be triggering rebuilds, but it does not make > > > sense to not be rebuilt in 1-4/6 as they change the same macros. > > > > Right, it is an incremental build. > > First it builds the tree with a patch applied, then it checks out HEAD~1 > > and builds that tree. Then it goes back to the tree with the patch > > applied and builds it again. The output from builds 2 & 3 are compared > > to see if any errors snuck in. > > In theory, that should ensure that, as builds 2 & 3 have had the same > > diff to the previous one just in opposite directions, the same files get > > rebuilt - but I am a little worried that ccache gets involved sometimes > > and leads to the before/after builds not being exactly the same. > > Makes sense to me. Oh, the other thing that I didn't notice until now is that, if, as in your case, HEAD~1 for the patch currently being tested does not build but the HEAD build does, the HEAD build will have more sparse coverage than the HEAD~1 one. Cos of that, sparse is likely to find more issues in the after build, and you end up with +1000 error count like patch 5 in the v1. If you look at your most recent version, that doesn't have build issues, patch 5 gets the all-clear: https://patchwork.kernel.org/project/linux-riscv/list/?series=732217 Not sure why I didn't notice that before, I completely forgot that 4/6 had build issues and it should've been immediately obvious to me why 5/6 had a bunch of extra sparse warnings...