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

From: Fengguang Wu <[email-masked]>
Date: Mon, 25 Jun 2012 12:38:36 +0800

On Sun, Jun 24, 2012 at 09:23:38PM -0700, Randy Dunlap wrote:
> On 06/24/2012 09:20 PM, Fengguang Wu wrote:
> 
> > Hi Paul,
> > 
> > The patch builds fine, thank you!
> > 
> > Tested-by: Fengguang Wu <[email-masked]>
> 
> Acked-by: Randy Dunlap <[email-masked]>
> 
> You clearly have better build hardware than I do (a simple Core i5
> laptop).  ;)

Thanks, and it's a surprise that you caught so many bugs with a laptop! ;)

Thanks,
Fengguang

> >> I'm really starting to loathe this header. This should take care of it:
> >>
> >> ---
> >>
> >> diff --git a/include/asm-generic/bug.h b/include/asm-generic/bug.h
> >> index 506ec19..7d10f96 100644
> >> --- a/include/asm-generic/bug.h
> >> +++ b/include/asm-generic/bug.h
> >> @@ -3,10 +3,18 @@
> >>  
> >>  #include <linux/compiler.h>
> >>  
> >> +#ifdef CONFIG_GENERIC_BUG
> >> +#define BUGFLAG_WARNING		(1 << 0)
> >> +#define BUGFLAG_TAINT(taint)	(BUGFLAG_WARNING | ((taint) << 8))
> >> +#define BUG_GET_TAINT(bug)	((bug)->flags >> 8)
> >> +#endif
> >> +
> >> +#ifndef __ASSEMBLY__
> >> +#include <linux/kernel.h>
> >> +
> >>  #ifdef CONFIG_BUG
> >>  
> >>  #ifdef CONFIG_GENERIC_BUG
> >> -#ifndef __ASSEMBLY__
> >>  struct bug_entry {
> >>  #ifndef CONFIG_GENERIC_BUG_RELATIVE_POINTERS
> >>  	unsigned long	bug_addr;
> >> @@ -23,17 +31,8 @@ struct bug_entry {
> >>  #endif
> >>  	unsigned short	flags;
> >>  };
> >> -#endif		/* __ASSEMBLY__ */
> >> -
> >> -#define BUGFLAG_WARNING		(1 << 0)
> >> -#define BUGFLAG_TAINT(taint)	(BUGFLAG_WARNING | ((taint) << 8))
> >> -#define BUG_GET_TAINT(bug)	((bug)->flags >> 8)
> >> -
> >>  #endif	/* CONFIG_GENERIC_BUG */
> >>  
> >> -#ifndef __ASSEMBLY__
> >> -#include <linux/kernel.h>
> >> -
> >>  /*
> >>   * Don't use BUG() or BUG_ON() unless there's really no way out; one
> >>   * example might be detecting data structure corruption in the middle
> 
> 
> 
> -- 
> ~Randy