lkml.org 
[lkml]   [2012]   [Jun]   [24]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
SubjectRe: 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

\
 
 \ /
  Last update: 2012-06-25 05:41    [W:0.919 / U:0.252 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site