Messages in this thread Patch in this message | | | Date | Mon, 25 Jun 2012 11:53:02 +0900 | From | Paul Mundt <> | Subject | Re: error: implicit declarations of BUG/BUG_ON/WARN_ON/WARN_ON_ONCE |
| |
On Fri, Jun 22, 2012 at 03:13:05PM +0800, Fengguang Wu wrote: > On Mon, Jun 18, 2012 at 09:54:40AM -0700, Randy Dunlap wrote: > > On 06/15/2012 09:27 AM, Randy Dunlap wrote: > > > > > On 06/14/2012 11:52 PM, Fengguang Wu wrote: > > > > > >> 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. > > > > > > Ditto. When CONFIG_BUG is not enabled. > > > > > > This problem is still in linux-next of 20120618... > > It's now in Linus' tree.. > > Paul, any idea to fix this? The attached .config can reproduce the bug. > 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
| |