Subject: Re: Build issue with linux next. duplicate member _count in mm_types.h

From: Steven Newbury <[email-masked]>
Date: Thu, 07 Jul 2011 23:56:46 +0100

On Wed, 2011-07-06 at 09:46 -0500, Christoph Lameter wrote:
> On Wed, 6 Jul 2011, Jonathan Cameron wrote:
> 
> > Getting:
> >
> >   CHK     include/linux/version.h
> >   CHK     include/generated/utsrelease.h
> > make[1]: `include/generated/mach-types.h' is up to date.
> >   CC      arch/arm/kernel/asm-offsets.s
> > In file included from include/linux/sched.h:64:0,
> >                  from arch/arm/kernel/asm-offsets.c:13:
> > include/linux/mm_types.h:74:15: error: duplicate member '_count'
> > make[1]: *** [arch/arm/kernel/asm-offsets.s] Error 1
> > make: *** [prepare0] Error 2
> >
> > Issue looks to have been introduced by
> >
> >     mm: Rearrange struct page
> >
> > fc9bb8c768abe7ae10861c3510e01a95f98d5933
> >
> > Guessing it's a known issue, but just thought I'd flag it up in case
> > it's something very specific about my build.
> >
> > gcc-2.6 armv7a
> >
> > Reverting that patch works, but given I don't know the history, I'm
> > not proposing doing that in general!
> 
> Well _count exists in two unionized structs but always has the same offset
> within the larger struct. Maybe ARM creates different offsets there for
> some reason?

This is due to this fix hitting gcc-4.6:
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4784