Subject: error: implicit declarations of BUG/BUG_ON/WARN_ON/WARN_ON_ONCE

From: Fengguang Wu <[email-masked]>
Date: Fri, 15 Jun 2012 14:52:31 +0800

On Fri, Jun 15, 2012 at 02:33:03PM +1000, Stephen Rothwell wrote:
> Hi all,
> 
> Changes since 20120614:
> 
> My fixes tree contains:
> 	fix bug.h's inclusion of kernel.h

I got these errors with the attached randconfig. Not sure which change
triggers them.

  CC      arch/x86/kernel/asm-offsets.s
In file included from /c/kernel-tests/mm/arch/x86/include/asm/atomic.h:6:0,
                 from /c/kernel-tests/mm/include/linux/atomic.h:4,
                 from /c/kernel-tests/mm/include/linux/crypto.h:20,
                 from /c/kernel-tests/mm/arch/x86/kernel/asm-offsets.c:8:
/c/kernel-tests/mm/arch/x86/include/asm/processor.h: In function ‘get_aperfmperf’:
/c/kernel-tests/mm/arch/x86/include/asm/processor.h:937:2: error: implicit declaration of function ‘WARN_ON_ONCE’ [-Werror=implicit-function-declaration]
In file included from /c/kernel-tests/mm/include/linux/thread_info.h:54:0,
                 from /c/kernel-tests/mm/include/linux/preempt.h:9,
                 from /c/kernel-tests/mm/include/linux/spinlock.h:50,
                 from /c/kernel-tests/mm/include/linux/mmzone.h:7,
                 from /c/kernel-tests/mm/include/linux/gfp.h:4,
                 from /c/kernel-tests/mm/include/linux/slab.h:12,
                 from /c/kernel-tests/mm/include/linux/crypto.h:24,
                 from /c/kernel-tests/mm/arch/x86/kernel/asm-offsets.c:8:
/c/kernel-tests/mm/arch/x86/include/asm/thread_info.h: In function ‘set_restore_sigmask’:
/c/kernel-tests/mm/arch/x86/include/asm/thread_info.h:250:2: error: implicit declaration of function ‘WARN_ON’ [-Werror=implicit-function-declaration]
In file included from /c/kernel-tests/mm/include/linux/mmzone.h:717:0,
                 from /c/kernel-tests/mm/include/linux/gfp.h:4,
                 from /c/kernel-tests/mm/include/linux/slab.h:12,
                 from /c/kernel-tests/mm/include/linux/crypto.h:24,
                 from /c/kernel-tests/mm/arch/x86/kernel/asm-offsets.c:8:
/c/kernel-tests/mm/include/linux/memory_hotplug.h: In function ‘generic_alloc_nodedata’:
/c/kernel-tests/mm/include/linux/memory_hotplug.h:152:2: error: implicit declaration of function ‘BUG’ [-Werror=implicit-function-declaration]                                               
In file included from /c/kernel-tests/mm/arch/x86/include/asm/apic.h:12:0,                                                                
                 from /c/kernel-tests/mm/arch/x86/include/asm/smp.h:13,
                 from /c/kernel-tests/mm/include/linux/smp.h:38,
                 from /c/kernel-tests/mm/include/linux/topology.h:33,
                 from /c/kernel-tests/mm/include/linux/gfp.h:7,
                 from /c/kernel-tests/mm/include/linux/slab.h:12,
                 from /c/kernel-tests/mm/include/linux/crypto.h:24,
                 from /c/kernel-tests/mm/arch/x86/kernel/asm-offsets.c:8:
/c/kernel-tests/mm/arch/x86/include/asm/fixmap.h: In function ‘virt_to_fix’:
/c/kernel-tests/mm/arch/x86/include/asm/fixmap.h:220:2: error: implicit declaration of function ‘BUG_ON’ [-Werror=implicit-function-declaration]
  HOSTLD  scripts/genksyms/genksyms
cc1: some warnings being treated as errors
make[2]: *** [arch/x86/kernel/asm-offsets.s] Error 1
make[1]: *** [prepare0] Error 2
make[1]: *** Waiting for unfinished jobs....

Thanks,
Fengguang