Subject: Re: linux-next: build failure after merge of the final tree

From: Sam Ravnborg <[email-masked]>
Date: Mon, 18 Jul 2011 22:52:57 +0200

On Mon, Jul 18, 2011 at 10:58:21AM -0700, David Miller wrote:
> From: Stephen Rothwell <[email-masked]>
> Date: Mon, 18 Jul 2011 19:30:53 +1000
> 
> > After merging the final tree, today's linux-next build (sparc64 defconfig)
> > failed like this:
> > 
> > In file included from arch/sparc/include/asm/pgtable.h:4:0,
> >                  from include/linux/mm.h:41,
> >                  from include/linux/fs.h:395,
> >                  from include/linux/compat.h:15,
> >                  from arch/sparc/include/asm/siginfo.h:19,
> >                  from include/linux/signal.h:5,
> >                  from include/linux/sched.h:73,
> >                  from arch/sparc/kernel/asm-offsets.c:13:
> > arch/sparc/include/asm/pgtable_64.h: In function '__set_pte_at':
> > arch/sparc/include/asm/pgtable_64.h:674:6: error: 'init_mm' undeclared (first use in this function)
> > 
> > I assume some include file changes.  Anyone have any clues how to find
> > this?
> 
> The great irony is that sparc64 doesn't use anything this file
> generates (you won't find a single asm-offsets.h include in any
> sparc64 code).
Today sparc64 code actually uses AOFF_mm_context from asm-offsets.h.
The asm-offsets.h file is likely pulled in by some other header file.

> This asm-offset mechanim is, for whatever reason, enabled on every
> single architecture whether it's needed or not.  Maybe we should
> rethink that.
Most archs uses asm-offsets to some extent - trying to make it optional
would just result in a lot of otherwise pointless ifdefs.

With respect to the bug that triggered the mail....
It looks like another definition stuffed down in sched.h where is does not
belong. mm_types.h looks like the right place.
Then arch/sparc/include/asm/pgtable.h should obviously pull in this header.
But I do not have -next handy to try it out.

	Sam