Re: Build breakage ...

From: Ralf Baechle
Date: Sun Nov 26 2006 - 19:09:26 EST


On Sun, Nov 26, 2006 at 03:06:10PM -0800, Linus Torvalds wrote:

> That said, Alexey did check it more than most patches like this get
> checked (ie checking allmodconfig on i386, x86_64, alpha, arm), so it's a
> bit unlucky that MIPS got bitten by this - it was not a badly tested
> patch per se.
>
> Does the obvious fix (to include <linux/kernel.h> in irqflags.h) fix it
> for you?

It changes the sympthoms:

CC arch/mips/kernel/asm-offsets.s
In file included from include/linux/irqflags.h:14,
from include/asm/bitops.h:34,
from include/linux/bitops.h:9,
from include/linux/thread_info.h:20,
from include/linux/preempt.h:9,
from include/linux/spinlock.h:49,
from include/linux/capability.h:45,
from include/linux/sched.h:46,
from arch/mips/kernel/asm-offsets.c:13:
include/linux/kernel.h: In function âroundup_pow_of_twoâ:
include/linux/kernel.h:169: warning: implicit declaration of function âfls_longâ
In file included from include/linux/thread_info.h:20,
from include/linux/preempt.h:9,
from include/linux/spinlock.h:49,
from include/linux/capability.h:45,
from include/linux/sched.h:46,
from arch/mips/kernel/asm-offsets.c:13:
include/linux/bitops.h: At top level:
include/linux/bitops.h:57: error: conflicting types for âfls_longâ
include/linux/kernel.h:169: error: previous implicit declaration of âfls_longâ was here

So the new problem is circular includes:

... <linux/bitops.h> -> <asm/bitops.h> -> <linux/irqflags.h> ->
<linux/kernel.h> -> <linux/bitops.h> ...

include/asm-mips/bitops.h needs to include irqflags because some older
MIPS variants do not have any atomic instructions. So the fix needs to
to break that loop.

Ralf
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/