Messages in this thread | | | Date | Thu, 16 Sep 2010 10:02:14 +0100 | From | Russell King - ARM Linux <> | Subject | Re: linux-next: build failure after merge of the final tree (tip tree related) |
| |
On Thu, Sep 16, 2010 at 09:34:33AM +0200, Ingo Molnar wrote: > > * Russell King - ARM Linux <linux@arm.linux.org.uk> wrote: > > > On Thu, Sep 16, 2010 at 08:39:22AM +0200, Ingo Molnar wrote: > > > > > > * Stephen Rothwell <sfr@canb.auug.org.au> wrote: > > > > > > > Hi all, > > > > > > > > On Tue, 14 Sep 2010 00:29:32 +1000 Stephen Rothwell <sfr@canb.auug.org.au> wrote: > > > > > > > > > > After merging the final tree, today's linux-next build (arm > > > > > assabet_defconfig and serveral other arm configs) failed like this: > > > > > > > > > > arch/arm/mm/init.c: In function 'arm_memory_present': > > > > > arch/arm/mm/init.c:260: warning: ISO C90 forbids mixed declarations and code > > > > > arch/arm/mm/init.c:338: error: invalid storage class for function 'free_area' > > > > > arch/arm/mm/init.c:357: error: invalid storage class for function 'free_memmap' > > > > > arch/arm/mm/init.c:386: error: invalid storage class for function 'free_unused_memmap' > > > > > arch/arm/mm/init.c:601: error: invalid storage class for function 'keepinitrd_setup' > > > > > arch/arm/mm/init.c:606: error: initializer element is not constant > > > > > arch/arm/mm/init.c:606: error: (near initialization for '__setup_keepinitrd_setup.setup_func') > > > > > arch/arm/mm/init.c:606: error: expected declaration or statement at end of input > > > > > arch/arm/mm/init.c:252: warning: unused variable 'i' > > > > > > > > > > Caused by commit 719c1514f2fef5f01fcfa2bba81b7bb079c7c6a1 ("memblock/arm: > > > > > Use new accessors") which forgot a closing brace on a new > > > > > for_each_memblock() in arm_memory_present(). > > > > > > > > So this commit is back in tip and the error is back in the builds ... > > > > > > The ARM defconfig build doesnt fail here: > > > > > > WARNING: modpost: Found 5 section mismatch(es). > > > To see full details build your kernel with: > > > 'make CONFIG_DEBUG_SECTION_MISMATCH=y' > > > > It probably passes because that configuration doesn't result in the > > failing code being built (maybe the failing code is only used for > > sparsemem ?) > > Yeah. If sparsemem is important then it would be helpful if you could > enable it in the ARM defconfig if possible - that's what most people > build.
But then so is flatmem too - and it's the same story for lots of other combinations. If we had sparsemem enabled then a similar bug could have crept into the !SPARSEMEM code just a few lines above.
There's no correct answer here - the only answer is technologies such as linux-next and kautobuild to build a range of configs to get the build coverage.
| |