linux-next: build failure after merge of the tip tree

From: Stephen Rothwell
Date: Wed Apr 23 2014 - 23:52:09 EST


Hi all,

After merging the tip tree, today's linux-next build (arm
multi_v7_defconfig) failed like this:

In file included from arch/arm/include/asm/outercache.h:24:0,
from arch/arm/include/asm/barrier.h:5,
from arch/arm/include/asm/bitops.h:28,
from include/linux/bitops.h:33,
from include/linux/kernel.h:10,
from include/asm-generic/bug.h:13,
from arch/arm/include/asm/bug.h:61,
from arch/arm/include/asm/div64.h:63,
from include/linux/math64.h:5,
from include/linux/jiffies.h:4,
from init/calibrate.c:7:
include/linux/bug.h:91:47: warning: 'struct bug_entry' declared inside parameter list [enabled by default]
include/linux/bug.h:91:47: warning: its scope is only this definition or declaration, which is probably not what you want [enabled by default]
include/linux/bug.h: In function 'is_warning_bug':
include/linux/bug.h:93:12: error: dereferencing pointer to incomplete type
In file included from include/linux/kernel.h:11:0,
from include/asm-generic/bug.h:13,
from arch/arm/include/asm/bug.h:61,
from include/linux/bug.h:4,
from arch/arm/include/asm/outercache.h:24,
from arch/arm/include/asm/barrier.h:5,
from arch/arm/include/asm/bitops.h:28,
from include/linux/bitops.h:33,
from include/linux/signal.h:35,
from arch/arm/kernel/signal.c:12:
include/linux/log2.h: In function '__ilog2_u32':
include/linux/log2.h:34:2: error: implicit declaration of function 'fls' [-Werror=implicit-function-declaration]
include/linux/log2.h: In function '__ilog2_u64':
include/linux/log2.h:42:2: error: implicit declaration of function 'fls64' [-Werror=implicit-function-declaration]
include/linux/log2.h: In function '__roundup_pow_of_two':
include/linux/log2.h:63:2: error: implicit declaration of function 'fls_long' [-Werror=implicit-function-declaration]
In file included from include/linux/bitops.h:33:0,
from include/linux/signal.h:35,
from arch/arm/kernel/signal.c:12:
arch/arm/include/asm/bitops.h: At top level:
arch/arm/include/asm/bitops.h:273:19: error: static declaration of 'fls' follows non-static declaration
include/linux/log2.h:34:9: note: previous implicit declaration of 'fls' was here

And many more ...

Guessing ... caused by commit febdbfe8a91c ("arch: Prepare for smp_mb__
{before,after}_atomic()") and following interacting with commit
735e532e0f25 ("ARM: outer cache: add WARN_ON() to outer_disable()") from
the arm tree?

I applied this fix patch for today:

From: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx>
Date: Thu, 24 Apr 2014 13:46:08 +1000
Subject: [PATCH] ARM: outer cache: remove include of linux/bug.h from outercache.h

It causes a circular inclusion and looks like it is not necessary anyway.

Signed-off-by: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx>
---
arch/arm/include/asm/outercache.h | 1 -
1 file changed, 1 deletion(-)

diff --git a/arch/arm/include/asm/outercache.h b/arch/arm/include/asm/outercache.h
index eaa8a28c6871..891a56b35bcf 100644
--- a/arch/arm/include/asm/outercache.h
+++ b/arch/arm/include/asm/outercache.h
@@ -21,7 +21,6 @@
#ifndef __ASM_OUTERCACHE_H
#define __ASM_OUTERCACHE_H

-#include <linux/bug.h>
#include <linux/types.h>

struct outer_cache_fns {
--
2.0.0.rc0

--
Cheers,
Stephen Rothwell sfr@xxxxxxxxxxxxxxxx

Attachment: pgp_rE0zTI8iN.pgp
Description: PGP signature