sh: Fixup __cmpxchg() compile breakage with gcc4.
authorPaul Mundt <lethal@linux-sh.org>
Wed, 28 Mar 2007 08:26:19 +0000 (17:26 +0900)
committerPaul Mundt <lethal@linux-sh.org>
Wed, 28 Mar 2007 08:26:19 +0000 (17:26 +0900)
As reported by Manuel:

When I build linux with GCC-4.x and enable
CONFIG_CC_OPTIMIZE_FOR_SIZE linking fails with this error:

  LD      .tmp_vmlinux1
  kernel/built-in.o: In function '__cmpxchg_called_with_bad_pointer'
  make[1]: *** [.tmp_vmlinux1] Error 1
  make: *** [_all] Error 2

This ended up being an inlining problem, fixed by explicitly
including linux/compiler.h and grabbing the definitions from there.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
include/asm-sh/system.h

index b1e42e7f998b5639a41f57281a35d1d89c7c1ab6..4a6a19f4f8a47f291c92fd36ba36aeb8aa400c31 100644 (file)
@@ -7,6 +7,7 @@
  */
 
 #include <linux/irqflags.h>
+#include <linux/compiler.h>
 #include <asm/types.h>
 
 /*