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

From: Randy Dunlap <[email-masked]>
Date: Sun, 24 Jun 2012 21:23:38 -0700

On 06/24/2012 09:20 PM, Fengguang Wu wrote:

> Hi Paul,
> 
> The patch builds fine, thank you!
> 
> Tested-by: Fengguang Wu <[email-masked]>

You clearly have better build hardware than I do (a simple Core i5
laptop).  ;)

Acked-by: Randy Dunlap <[email-masked]>

Thanks.

> 
> 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