lkml.org 
[lkml]   [2012]   [Jun]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
SubjectRe: linux-next: build failure in Linus' tree
(adding Arnd to Cc, who I forgot to include previously)

On Thu, Jun 14, 2012 at 12:06:06PM +0900, Paul Mundt wrote:
> On Thu, Jun 14, 2012 at 11:47:22AM +1000, Stephen Rothwell wrote:
> > While building Linus' tree, today's linux-next build (powerpc
> > ppc64_defconfig) failed like this:
> >
> > In file included from include/asm-generic/bug.h:5:0,
> > from arch/powerpc/include/asm/bug.h:127,
> > from arch/powerpc/kernel/head_64.S:31:
> > include/linux/kernel.h:44:0: warning: "ALIGN" redefined [enabled by default]
> > include/linux/linkage.h:57:0: note: this is the location of the previous definition
> > include/linux/sysinfo.h: Assembler messages:
> > include/linux/sysinfo.h:7: Error: Unrecognized opcode: `struct'
> > include/linux/sysinfo.h:8: Error: Unrecognized opcode: `__kernel_long_t'
> >
> > And it went downhill from there :-(
> >
> > Caused by commit 3777808873b0 ("bug.h: need linux/kernel.h for
> > TAINT_WARN") which, unfortunately never made it into linux-next.
> >
> > I have reverted that commit for today (which presumably means that sh
> > builds will be broken again).
>
> I'm still unsure as to the best way to fix this, and there was no
> response to the original mail I posted about it either:
>
> http://marc.info/?l=linux-kernel&m=133879579014853&w=2
>
> I'll fetch a powerpc cross compiler and see if I can figure out what went
> wrong.
>
Ok, it's because the asm-generic/bug.h __ASSEMBLY__ guarding is
completely bogus. This should hopefully fix it once and for all.
Sorry for the trouble.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>

---

include/asm-generic/bug.h | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/include/asm-generic/bug.h b/include/asm-generic/bug.h
index 9f02005..506ec19 100644
--- a/include/asm-generic/bug.h
+++ b/include/asm-generic/bug.h
@@ -2,7 +2,6 @@
#define _ASM_GENERIC_BUG_H

#include <linux/compiler.h>
-#include <linux/kernel.h>

#ifdef CONFIG_BUG

@@ -32,6 +31,9 @@ struct bug_entry {

#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
@@ -61,7 +63,6 @@ struct bug_entry {
* to provide better diagnostics.
*/
#ifndef __WARN_TAINT
-#ifndef __ASSEMBLY__
extern __printf(3, 4)
void warn_slowpath_fmt(const char *file, const int line,
const char *fmt, ...);
@@ -70,7 +71,6 @@ void warn_slowpath_fmt_taint(const char *file, const int line, unsigned taint,
const char *fmt, ...);
extern void warn_slowpath_null(const char *file, const int line);
#define WANT_WARN_ON_SLOWPATH
-#endif
#define __WARN() warn_slowpath_null(__FILE__, __LINE__)
#define __WARN_printf(arg...) warn_slowpath_fmt(__FILE__, __LINE__, arg)
#define __WARN_printf_taint(taint, arg...) \
@@ -203,4 +203,6 @@ extern void warn_slowpath_null(const char *file, const int line);
# define WARN_ON_SMP(x) ({0;})
#endif

+#endif /* __ASSEMBLY__ */
+
#endif

\
 
 \ /
  Last update: 2012-06-14 06:21    [W:0.670 / U:0.140 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site