Forráskód Böngészése

[PATCH] Fix 'make headers_check' for Alpha

Alpha currently fails 'make headers_check' in the 2.6.18-rc kernels.  This
patch fixes it, by moving the existing #ifdef __KERNEL__ in asm/page.h so that
it covers everything that userspace shouldn't so, and by adding asm/compiler.h
to the list of exported files so that its use within asm/byteorder.h is
successful.

[ Note that at least with GCC 4, <linux/compiler.h> doesn't do the forced
  inlining about which there are nasty comments (and a workaround) in
  <asm/compiler.h>, unless you set CONFIG_FORCED_INLINING.  Rather than keep
  the mess you have in <asm/compiler.h> you could perhaps just make sure
  CONFIG_FORCED_INLINING=n is also honoured with GCC3, and make sure it cannot
  be set for Alpha? ]

Signed-off-by: David Woodhouse <dwmw2@infradead.org>
Cc: Sam Ravnborg <sam@ravnborg.org>
Cc: Ivan Kokshaysky <ink@jurassic.park.msu.ru>
Cc: Richard Henderson <rth@twiddle.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
David Woodhouse 19 éve
szülő
commit
7f9d77d758
3 módosított fájl, 7 hozzáadás és 4 törlés
  1. 1 1
      include/asm-alpha/Kbuild
  2. 3 0
      include/asm-alpha/compiler.h
  3. 3 3
      include/asm-alpha/page.h

+ 1 - 1
include/asm-alpha/Kbuild

@@ -1,5 +1,5 @@
 include include/asm-generic/Kbuild.asm
 
-unifdef-y += console.h fpu.h sysinfo.h
+unifdef-y += console.h fpu.h sysinfo.h compiler.h
 
 header-y += gentrap.h regdef.h pal.h reg.h

+ 3 - 0
include/asm-alpha/compiler.h

@@ -90,6 +90,7 @@
   __asm__("stw %1,%0" : "=m"(mem) : "r"(val))
 #endif
 
+#ifdef __KERNEL__
 /* Some idiots over in <linux/compiler.h> thought inline should imply
    always_inline.  This breaks stuff.  We'll include this file whenever
    we run into such problems.  */
@@ -101,4 +102,6 @@
 #undef __always_inline
 #define __always_inline		inline __attribute__((always_inline))
 
+#endif /* __KERNEL__ */
+
 #endif /* __ALPHA_COMPILER_H */

+ 3 - 3
include/asm-alpha/page.h

@@ -1,6 +1,8 @@
 #ifndef _ALPHA_PAGE_H
 #define _ALPHA_PAGE_H
 
+#ifdef __KERNEL__
+
 #include <asm/pal.h>
 
 /* PAGE_SHIFT determines the page size */
@@ -8,8 +10,6 @@
 #define PAGE_SIZE	(1UL << PAGE_SHIFT)
 #define PAGE_MASK	(~(PAGE_SIZE-1))
 
-#ifdef __KERNEL__
-
 #ifndef __ASSEMBLY__
 
 #define STRICT_MM_TYPECHECKS
@@ -92,9 +92,9 @@ typedef unsigned long pgprot_t;
 
 #define VM_DATA_DEFAULT_FLAGS		(VM_READ | VM_WRITE | VM_EXEC | \
 					 VM_MAYREAD | VM_MAYWRITE | VM_MAYEXEC)
-#endif /* __KERNEL__ */
 
 #include <asm-generic/memory_model.h>
 #include <asm-generic/page.h>
 
+#endif /* __KERNEL__ */
 #endif /* _ALPHA_PAGE_H */