Sophie

Sophie

distrib > Scientific%20Linux > 5x > x86_64 > by-pkgid > 27922b4260f65d317aabda37e42bbbff > files > 406

kernel-2.6.18-238.el5.src.rpm

It's a bad idea to use kernel headers directly.
We have glibc-kernheaders for this purpose.

diff -urNp --exclude-from=/home/davej/.exclude linux-3022/include/linux/config.h linux-10000/include/linux/config.h
--- linux-3022/include/linux/config.h
+++ linux-10000/include/linux/config.h
@@ -2,5 +2,7 @@
 #define _LINUX_CONFIG_H
 
 #include <linux/autoconf.h>
-
+#ifndef __KERNEL__
+#error including kernel header in userspace; use the glibc headers instead!
+#endif
 #endif

In file included from include/asm/cputable.h:18,
                 from include/asm/elf.h:6,
                 from include/linux/elf.h:5,
                 from arch/ppc64/boot/main.c:13:
include/linux/config.h:6:2: error: #error including kernel header in userspace; use the glibc headers instead!
make[1]: *** [arch/ppc64/boot/main.o] Error 1
make[1]: *** Waiting for unfinished jobs....

--- linux-2.6.13/arch/powerpc/boot/main.c~	2005-09-04 16:45:23.000000000 -0400
+++ linux-2.6.13/arch/powerpc/boot/main.c	2005-09-04 16:45:28.000000000 -0400
@@ -8,6 +8,9 @@
  * as published by the Free Software Foundation; either version
  * 2 of the License, or (at your option) any later version.
  */
+
+#define __KERNGLUE__
+
 #include <stdarg.h>
 #include <stddef.h>
 #include "elf.h"
diff -urNp --exclude-from=/home/davej/.exclude linux-10000/include/linux/config.h linux-10001/include/linux/config.h
--- linux-10000/include/linux/config.h
+++ linux-10001/include/linux/config.h
@@ -2,7 +2,7 @@
 #define _LINUX_CONFIG_H
 
 #include <linux/autoconf.h>
-#ifndef __KERNEL__
+#if !defined (__KERNEL__) && !defined(__KERNGLUE__)
 #error including kernel header in userspace; use the glibc headers instead!
 #endif
 #endif