linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Andrew Morton <akpm@linux-foundation.org>
To: Jiri Slaby <jirislaby@gmail.com>
Cc: linux-kernel@vger.kernel.org, cl@linux.com,
	Pekka Enberg <penberg@cs.helsinki.fi>
Subject: Re: page->_count build failure [was: mmotm 2011-07-08-12-50 uploaded]
Date: Mon, 11 Jul 2011 13:41:21 -0700	[thread overview]
Message-ID: <20110711134121.54557e28.akpm@linux-foundation.org> (raw)
In-Reply-To: <4E1B5CAA.7070001@gmail.com>

On Mon, 11 Jul 2011 22:27:22 +0200
Jiri Slaby <jirislaby@gmail.com> wrote:

> On 07/08/2011 09:50 PM, akpm@linux-foundation.org wrote:
> > The mm-of-the-moment snapshot 2011-07-08-12-50 has been uploaded to
> 
> Hi, am I the only one encountering a build failure due to double
> definition of _count in page struct introduced by:
> commit fc9bb8c768abe7ae10861c3510e01a95f98d5933
> Author: Christoph Lameter <cl@linux.com>
> Date:   Wed Jun 1 12:25:48 2011 -0500
> 
>     mm: Rearrange struct page
> 
> in the -next tree?
> 
> $ make
> ...
>   CC      arch/x86/kernel/asm-offsets.s
> In file included from include/linux/sched.h:64:0,
>                  from arch/x86/kernel/asm-offsets.c:9:
> include/linux/mm_types.h:74:15: error: duplicate member ____count___
> make[1]: *** [arch/x86/kernel/asm-offsets.s] Error 1
> make: *** [prepare0] Error 2
> $ gcc --version
> gcc (SUSE Linux) 4.6.0 20110607 [gcc-4_6-branch revision 174741]
> 

Oh dear.  Yes, I would call that an error.  Afacit the two `_count's
end up at the same offset in the page struct.  Perhaps that makes it
legal and your compiler got it wrong.  Or perhaps it is illegal and all
other compilers got it wrong.

Still, we should fix it.  It's daft to have two distinct page->_count's.

To fix it, we could rename one of them.  Which means that we're going
to need to work out which references to page->_count are referring to
which field.  Which demonstrates the problem!


hmm, let's jiggle the offset:

--- a/include/linux/mm_types.h~a
+++ a/include/linux/mm_types.h
@@ -71,6 +71,7 @@ struct page {
 					 * Kernel may make use of this field even when slub
 					 * uses the rest of the double word!
 					 */
+					int foo;
 					atomic_t _count;
 				};
 			};
_

nope, it still compiles OK.  It has to be gcc bustification I think. 
Fixed in gcc-4.6.0.


  reply	other threads:[~2011-07-11 20:41 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-07-08 19:50 mmotm 2011-07-08-12-50 uploaded akpm
2011-07-10 18:44 ` [PATCH -mmotm] misc: fix eeprom printk format Randy Dunlap
2011-07-11 20:27 ` page->_count build failure [was: mmotm 2011-07-08-12-50 uploaded] Jiri Slaby
2011-07-11 20:41   ` Andrew Morton [this message]
2011-07-11 20:45     ` Pekka Enberg
2011-07-11 20:47       ` Jiri Slaby
2011-07-11 20:51         ` Pekka Enberg
2011-07-11 21:00           ` Andrew Morton
2011-07-11 21:04       ` Jiri Slaby

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20110711134121.54557e28.akpm@linux-foundation.org \
    --to=akpm@linux-foundation.org \
    --cc=cl@linux.com \
    --cc=jirislaby@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=penberg@cs.helsinki.fi \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).