Bring 2.6 headers back from linux26-headers.
authorMike Frysinger <vapier@gentoo.org>
Wed, 12 Jan 2005 02:09:16 +0000 (02:09 +0000)
committerMike Frysinger <vapier@gentoo.org>
Wed, 12 Jan 2005 02:09:16 +0000 (02:09 +0000)
21 files changed:
sys-kernel/linux-headers/ChangeLog
sys-kernel/linux-headers/Manifest
sys-kernel/linux-headers/files/digest-linux-headers-2.6.8.1-r2 [new file with mode: 0644]
sys-kernel/linux-headers/files/linux-headers-2.6.0-fb.patch [new file with mode: 0644]
sys-kernel/linux-headers/files/linux-headers-2.6.0-sysctl_h-compat.patch [new file with mode: 0644]
sys-kernel/linux-headers/files/linux-headers-2.6.7-generic-arm-prepare.patch [new file with mode: 0644]
sys-kernel/linux-headers/files/linux-headers-2.6.8.1-appCompat.patch [new file with mode: 0644]
sys-kernel/linux-headers/files/linux-headers-2.6.8.1-arm-float.patch [new file with mode: 0644]
sys-kernel/linux-headers/files/linux-headers-2.6.8.1-parisc-syscall.patch [new file with mode: 0644]
sys-kernel/linux-headers/files/linux-headers-2.6.8.1-sparc-glibcsafe.patch [new file with mode: 0644]
sys-kernel/linux-headers/files/linux-headers-2.6.8.1-strict-ansi-fix.patch [new file with mode: 0644]
sys-kernel/linux-headers/linux-headers-2.0.40.ebuild
sys-kernel/linux-headers/linux-headers-2.2.26.ebuild
sys-kernel/linux-headers/linux-headers-2.4.21-r1.ebuild
sys-kernel/linux-headers/linux-headers-2.4.21.ebuild
sys-kernel/linux-headers/linux-headers-2.4.22.ebuild
sys-kernel/linux-headers/linux-headers-2.4.23.ebuild
sys-kernel/linux-headers/linux-headers-2.4.25.ebuild
sys-kernel/linux-headers/linux-headers-2.4.26.ebuild
sys-kernel/linux-headers/linux-headers-2.6.8.1-r2.ebuild [new file with mode: 0644]
sys-kernel/linux-headers/linux-headers-2.6.99.ebuild

index 81adb0b78409bc4455bf15ad411cc229fc8240df..bfe1e58ebe58b632e25de6f78107dc599b571442 100644 (file)
@@ -1,6 +1,20 @@
 # ChangeLog for sys-kernel/linux-headers
-# Copyright 2002-2004 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sys-kernel/linux-headers/ChangeLog,v 1.90 2004/11/14 08:19:00 corsair Exp $
+# Copyright 2002-2005 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/sys-kernel/linux-headers/ChangeLog,v 1.91 2005/01/12 02:09:16 vapier Exp $
+
+*linux-headers-2.6.8.1-r2 (11 Jan 2005)
+
+  11 Jan 2005; Mike Frysinger <vapier@gentoo.org>
+  +files/linux-headers-2.6.0-fb.patch,
+  +files/linux-headers-2.6.0-sysctl_h-compat.patch,
+  +files/linux-headers-2.6.7-generic-arm-prepare.patch,
+  +files/linux-headers-2.6.8.1-appCompat.patch,
+  +files/linux-headers-2.6.8.1-arm-float.patch,
+  +files/linux-headers-2.6.8.1-parisc-syscall.patch,
+  +files/linux-headers-2.6.8.1-sparc-glibcsafe.patch,
+  +files/linux-headers-2.6.8.1-strict-ansi-fix.patch,
+  +linux-headers-2.6.8.1-r2.ebuild:
+  Bring 2.6 headers back from linux26-headers.
 
   14 Nov 2004; Markus Rothe <corsair@gentoo.org> linux-headers-2.4.22.ebuild:
   Added a ppc64 patch for soundcard support.
index 741d4888993971c3558d0d02cf3e73b9cbb8085a..868b69919676a2ddaf3d991f774bc594d0391363 100644 (file)
@@ -1,17 +1,18 @@
 -----BEGIN PGP SIGNED MESSAGE-----
 Hash: SHA1
 
-MD5 50bf9542b66c7bb2b21adbdb89b8690d ChangeLog 20989
-MD5 826425b4c4432a47d6686d294271748e linux-headers-2.2.26.ebuild 2511
-MD5 5eab58638d3a1f2097d6c3b1528935d8 linux-headers-2.4.26.ebuild 3349
-MD5 af75a13578cc988212f4d316d0236bde linux-headers-2.6.99.ebuild 544
-MD5 0cb657bfd439d06cc7863b4fad40d09c linux-headers-2.4.21-r1.ebuild 3947
-MD5 9459145c704a2257f333fbd0ba9b9d04 linux-headers-2.4.21.ebuild 3733
-MD5 a2629b115b7d7c1224be0145560a7046 linux-headers-2.4.22.ebuild 4030
-MD5 5268e68794285312efe26b24251d254d linux-headers-2.4.23.ebuild 3484
+MD5 ab16415962398579f03d5d1c0eb64acd ChangeLog 21567
+MD5 b3099588e509bea5bf8c12f2b3882f58 linux-headers-2.2.26.ebuild 2509
+MD5 c28313e23ce24b05e25738a685a00cd4 linux-headers-2.4.26.ebuild 3351
+MD5 1a47c7786b20fefd4a8557957966f347 linux-headers-2.6.99.ebuild 544
+MD5 93d61e502d62b73d3340cb8837b6d6b2 linux-headers-2.4.21-r1.ebuild 3945
+MD5 abc5561a3a28d6614bd2235022eaadce linux-headers-2.4.21.ebuild 3731
+MD5 213c9243211da20b5a7611507539e99b linux-headers-2.4.22.ebuild 4029
+MD5 c2c4eec01b604c30d0826e73ac02cac4 linux-headers-2.4.23.ebuild 3482
 MD5 608fe99985244b0445f76cee44c9ae14 metadata.xml 290
-MD5 518df1e040f4e16a400374d9b4cfacdc linux-headers-2.4.25.ebuild 3424
-MD5 140781a4e077aa6a54fc1508cdf15928 linux-headers-2.0.40.ebuild 1822
+MD5 ac78a2e51f08f5e6a70691b7684eb3da linux-headers-2.4.25.ebuild 3422
+MD5 681c761c0afe60e1022ac44d37d3370a linux-headers-2.0.40.ebuild 1820
+MD5 4ed296103811c13515dd18af2c384764 linux-headers-2.6.8.1-r2.ebuild 1251
 MD5 06eb1588f23861450f2d8b2e8379352b linux-headers-2.4.23_p3.ebuild 1267
 MD5 e300a3e148a7dcc38a0e099494fb6cb3 files/bigendian-byteorder-fix.patch 1557
 MD5 556c7008fbfdf81750bbd4ab2beb111e files/digest-linux-headers-2.2.26 67
@@ -27,10 +28,19 @@ MD5 df6b4c19f4a4cb2b3d3a2a0107d7853d files/digest-linux-headers-2.4.25 67
 MD5 33d51532d0f696fefa15593b2cf2f6de files/digest-linux-headers-2.0.40 66
 MD5 14c583e9ea29b2a3fc88349685cce2f4 files/linux-headers-soundcard-ppc64.patch 722
 MD5 545a151ce959e51f4e528e3c27cb5a65 files/digest-linux-headers-2.4.23_p3 131
+MD5 8a065c0dc3b8fac8747de35f1af75a2c files/linux-headers-2.6.0-fb.patch 386
+MD5 fb33a0ba21375f190137b9f478ad9799 files/digest-linux-headers-2.6.8.1-r2 146
+MD5 6dd79a655f006aebb7206203f3654976 files/linux-headers-2.6.7-generic-arm-prepare.patch 978
+MD5 57e8b81485f8a1ba10d41dd7949d40a8 files/linux-headers-2.6.8.1-strict-ansi-fix.patch 4132
+MD5 8f3a515e5e309495343a3eef4721ddd6 files/linux-headers-2.6.8.1-appCompat.patch 56603
+MD5 602f7309c0163c018627f06b5f1ace3a files/linux-headers-2.6.8.1-arm-float.patch 640
+MD5 5258c64bed51646ee05cde4fbc40ae03 files/linux-headers-2.6.8.1-sparc-glibcsafe.patch 2886
+MD5 9101139b0720280f338a1823c281ee84 files/linux-headers-2.6.8.1-parisc-syscall.patch 413
+MD5 a73786f0b9dda7e9ebacb91a192384f9 files/linux-headers-2.6.0-sysctl_h-compat.patch 352
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.9.14 (GNU/Linux)
 
-iD8DBQFB5G00roRuSHgZdywRAtN4AJ9vYMKqvkMZ5AYjzKo+4932VXQWHwCfaJOq
-oeSQCC62GgXdfHFYF95uEcI=
-=dmnB
+iD8DBQFB5IbzroRuSHgZdywRAsgwAJ9cSZP4K5TBhjWaJ2lhg51WtX7XEgCfa5Z+
+/xsBgvWWPAWvZNE0cxwk+mM=
+=sbE7
 -----END PGP SIGNATURE-----
diff --git a/sys-kernel/linux-headers/files/digest-linux-headers-2.6.8.1-r2 b/sys-kernel/linux-headers/files/digest-linux-headers-2.6.8.1-r2
new file mode 100644 (file)
index 0000000..1d222ab
--- /dev/null
@@ -0,0 +1,2 @@
+MD5 9517ca999e822b898fbdc7e72796b1aa linux-2.6.8.1.tar.bz2 35628066
+MD5 4e297074bd9a1c1a1552bc5409f43ea5 linux-2.6.8.1-sh-headers.patch.bz2 79212
diff --git a/sys-kernel/linux-headers/files/linux-headers-2.6.0-fb.patch b/sys-kernel/linux-headers/files/linux-headers-2.6.0-fb.patch
new file mode 100644 (file)
index 0000000..398240a
--- /dev/null
@@ -0,0 +1,11 @@
+diff -Naur linux-2.6.0-orig/include/linux/fb.h linux-2.6.0/include/linux/fb.h
+--- linux-2.6.0-orig/include/linux/fb.h        2003-12-18 03:58:39.000000000 +0100
++++ linux-2.6.0/include/linux/fb.h     2004-01-22 19:12:10.765346576 +0100
+@@ -5,6 +5,7 @@
+ #include <linux/workqueue.h>
+ #include <asm/types.h>
+ #include <asm/io.h>
++#include <asm/atomic.h>
+ 
+ /* Definitions of frame buffers                                               */
+ 
diff --git a/sys-kernel/linux-headers/files/linux-headers-2.6.0-sysctl_h-compat.patch b/sys-kernel/linux-headers/files/linux-headers-2.6.0-sysctl_h-compat.patch
new file mode 100644 (file)
index 0000000..14b248e
--- /dev/null
@@ -0,0 +1,13 @@
+--- 1/include/linux/sysctl.h   2003-05-18 22:12:39.000000000 +0200
++++ 2/include/linux/sysctl.h   2003-05-18 22:13:58.000000000 +0200
+@@ -35,6 +35,10 @@
+                                  the largest acceptable value for the nlen
+                                  member of a struct __sysctl_args to have? */
+ 
++#ifndef __user
++#define __user
++#endif
++
+ struct __sysctl_args {
+       int __user *name;
+       int nlen;
diff --git a/sys-kernel/linux-headers/files/linux-headers-2.6.7-generic-arm-prepare.patch b/sys-kernel/linux-headers/files/linux-headers-2.6.7-generic-arm-prepare.patch
new file mode 100644 (file)
index 0000000..83aa773
--- /dev/null
@@ -0,0 +1,35 @@
+--- linux-2.6.7/include/asm-arm/glue.h 2004-07-19 01:35:04.000000000 -0400
++++ linux-2.6.7/include/asm-arm/glue.h 2004-07-20 10:24:37.812214000 -0400
+@@ -107,8 +107,5 @@
+ # endif
+ #endif
+ 
+-#ifndef CPU_ABORT_HANDLER
+-#error Unknown data abort handler type
+-#endif
+ 
+ #endif
+--- linux-2.6.7/include/asm-arm/cacheflush.h   2004-07-19 01:35:04.000000000 -0400
++++ linux-2.6.7/include/asm-arm/cacheflush.h   2004-07-20 10:29:49.292214000 -0400
+@@ -77,9 +77,6 @@
+ //# endif
+ #endif
+ 
+-#if !defined(_CACHE) && !defined(MULTI_CACHE)
+-#error Unknown cache maintainence model
+-#endif
+ 
+ /*
+  * This flag is used to indicate that the page pointed to by a pte
+--- linux-2.6.7/include/asm-arm/page.h 2004-07-19 01:35:04.000000000 -0400
++++ linux-2.6.7/include/asm-arm/page.h 2004-07-20 10:28:36.542214000 -0400
+@@ -92,9 +92,6 @@
+ # endif
+ #endif
+ 
+-#ifndef _USER
+-#error Unknown user operations model
+-#endif
+ 
+ struct cpu_user_fns {
+       void (*cpu_clear_user_page)(void *p, unsigned long user);
diff --git a/sys-kernel/linux-headers/files/linux-headers-2.6.8.1-appCompat.patch b/sys-kernel/linux-headers/files/linux-headers-2.6.8.1-appCompat.patch
new file mode 100644 (file)
index 0000000..85ece42
--- /dev/null
@@ -0,0 +1,1819 @@
+Authors: Tim Yamin <plasmaroo@gentoo.org>
+         Mike Frysinger <vapier@gentoo.org>
+         Martin Schlemmer <azarah@gentoo.org>
+
+This patch neatens up the 2.6 headers for user-space usage and allows backward
+compatibility on a variety of applications which are designed for 2.4 headers.
+
+diff -ur linux-2.6.0/include/linux/bitmap.h linux-2.6.0/include/linux.gentoo/bitmap.h
+--- linux-2.6.0/include/linux/bitmap.h 2003-12-27 19:22:38.000000000 +0000
++++ linux-2.6.0/include/linux.gentoo/bitmap.h  2003-12-27 19:19:31.000000000 +0000
+@@ -1,6 +1,7 @@
+ #ifndef __LINUX_BITMAP_H
+ #define __LINUX_BITMAP_H
+ 
++#ifdef __KERNEL__
+ #ifndef __ASSEMBLY__
+ 
+ #include <linux/config.h>
+@@ -155,5 +156,5 @@
+ #endif
+ 
+ #endif /* __ASSEMBLY__ */
+-
++#endif /* __KERNEL__ */
+ #endif /* __LINUX_BITMAP_H */
+diff -ur linux-2.6.0/include/linux/buffer_head.h linux-2.6.0/include/linux.gentoo/buffer_head.h
+--- linux-2.6.0/include/linux/buffer_head.h    2003-12-27 19:22:38.000000000 +0000
++++ linux-2.6.0/include/linux.gentoo/buffer_head.h     2003-12-27 19:19:31.000000000 +0000
+@@ -34,6 +34,8 @@
+ 
+ #define MAX_BUF_PER_PAGE (PAGE_CACHE_SIZE / 512)
+ 
++#ifdef __KERNEL__
++
+ struct page;
+ struct buffer_head;
+ struct address_space;
+@@ -283,6 +285,8 @@
+               __wait_on_buffer(bh);
+ }
+ 
++#endif /* __KERNEL__ */
++
+ static inline void lock_buffer(struct buffer_head *bh)
+ {
+       while (test_set_buffer_locked(bh))
+diff -ur linux-2.6.0/include/linux/compiler-gcc2.h linux-2.6.0/include/linux.gentoo/compiler-gcc2.h
+--- linux-2.6.0/include/linux/compiler-gcc2.h  2003-12-27 19:22:38.000000000 +0000
++++ linux-2.6.0/include/linux.gentoo/compiler-gcc2.h   2003-12-27 19:19:31.000000000 +0000
+@@ -12,7 +12,9 @@
+ # define __builtin_expect(x, expected_value) (x)
+ #endif
+ 
++#ifndef __attribute_used__
+ #define __attribute_used__    __attribute__((__unused__))
++#endif
+ 
+ /*
+  * The attribute `pure' is not implemented in GCC versions earlier
+diff -ur linux-2.6.1/include/linux/cpumask.h linux-2.6.1/include/linux.gentoo/cpumask.h
+--- linux-2.6.1/include/linux/cpumask.h        2003-12-27 19:22:38.000000000 +0000
++++ linux-2.6.1/include/linux.gentoo/cpumask.h 2003-12-27 19:19:31.000000000 +0000
+@@ -1,6 +1,8 @@
+ #ifndef __LINUX_CPUMASK_H
+ #define __LINUX_CPUMASK_H
+ 
++#ifdef __KERNEL__
++
+ #include <linux/threads.h>
+ #include <asm/cpumask.h>
+ #include <asm/bug.h>
+@@ -68,4 +70,5 @@
+               cpu < NR_CPUS;                                          \
+               cpu = next_online_cpu(cpu,map))
+ 
++#endif /* __KERNEL__ */
+ #endif /* __LINUX_CPUMASK_H */
+diff -ur linux-2.6.0/include/linux/ext2_fs_sb.h linux-2.6.0/include/linux.gentoo/ext2_fs_sb.h
+--- linux-2.6.0/include/linux/ext2_fs_sb.h     2003-12-27 19:22:38.000000000 +0000
++++ linux-2.6.0/include/linux.gentoo/ext2_fs_sb.h      2003-12-27 19:19:31.000000000 +0000
+@@ -46,9 +46,9 @@
+       int s_inode_size;
+       int s_first_ino;
+       spinlock_t s_next_gen_lock;
+-      u32 s_next_generation;
++      __u32 s_next_generation;
+       unsigned long s_dir_count;
+-      u8 *s_debts;
++      __u8 *s_debts;
+       struct percpu_counter s_freeblocks_counter;
+       struct percpu_counter s_freeinodes_counter;
+       struct percpu_counter s_dirs_counter;
+diff -ur linux-2.6.7/include/linux/mod_devicetable.h linux-2.6.7/include/linux.gentoo/mod_devicetable.h
+--- linux-2.6.7/include/linux/mod_devicetable.h.orig   2004-06-16 01:20:19.000000000 -0400
++++ linux-2.6.7/include/linux/mod_devicetable.h        2004-07-22 14:12:34.707621864 -0400
+@@ -8,6 +8,7 @@
+ #define LINUX_MOD_DEVICETABLE_H
+ 
+ #ifdef __KERNEL__
++#ifndef __KERNEL_ULONG_T__
+ #include <linux/types.h>
+ typedef unsigned long kernel_ulong_t;
+ #endif
+@@ -164,5 +165,5 @@
+       } devs[PNP_MAX_DEVICES];
+ };
+ 
+-
++#endif /* __KERNEL__ */
+ #endif /* LINUX_MOD_DEVICETABLE_H */
+diff -ur linux-2.6.6/include/linux/radix-tree.h linux-2.6.6/include/linux.gentoo/radix-tree.h
+--- linux-2.6.6/include/linux/radix-tree.h     2003-12-27 19:22:38.000000000 +0000
++++ linux-2.6.6/include/linux.gentoo/radix-tree.h      2003-12-27 19:19:31.000000000 +0000
+@@ -44,6 +44,8 @@
+       (root)->rnode = NULL;                                           \
+ } while (0)
+ 
++#ifdef __KERNEL__
++
+ int radix_tree_insert(struct radix_tree_root *, unsigned long, void *);
+ void *radix_tree_lookup(struct radix_tree_root *, unsigned long);
+ void *radix_tree_delete(struct radix_tree_root *, unsigned long);
+@@ -68,4 +70,5 @@
+       preempt_enable();
+ }
+ 
++#endif /* __KERNEL__ */
+ #endif /* _LINUX_RADIX_TREE_H */
+diff -ur linux-2.6.0/include/linux/smp.h linux-2.6.0/include/linux.gentoo/smp.h
+--- linux-2.6.0/include/linux/smp.h    2003-12-27 19:22:38.000000000 +0000
++++ linux-2.6.0/include/linux.gentoo/smp.h     2003-12-27 19:19:31.000000000 +0000
+@@ -6,6 +6,8 @@
+  *            Alan Cox. <alan@redhat.com>
+  */
+ 
++
++#ifdef __KERNEL__
+ #include <linux/config.h>
+ 
+ #ifdef CONFIG_SMP
+@@ -112,4 +114,5 @@
+ #define put_cpu()             preempt_enable()
+ #define put_cpu_no_resched()  preempt_enable_no_resched()
+ 
++#endif /* __KERNEL__ */
+ #endif /* __LINUX_SMP_H */
+diff -ur linux-2.6.0/include/linux/spinlock.h linux-2.6.0/include/linux.gentoo/spinlock.h
+--- linux-2.6.0/include/linux/spinlock.h       2003-12-27 19:22:38.000000000 +0000
++++ linux-2.6.0/include/linux.gentoo/spinlock.h        2003-12-27 19:19:31.000000000 +0000
+@@ -183,6 +183,7 @@
+ #define _raw_write_trylock(lock) ({ (void)(lock); (1); })
+ 
+ #endif /* !SMP */
++#ifdef __KERNEL__
+ 
+ /*
+  * Define the various spin_lock and rw_lock methods.  Note we define these
+@@ -465,4 +466,5 @@
+ #endif
+ }
+ 
++#endif /* __KERNEL__ */
+ #endif /* __LINUX_SPINLOCK_H */
+diff -ur linux-2.6.0/include/linux/time.h linux-2.6.0/include/linux.gentoo/time.h
+--- linux-2.6.0/include/linux/time.h   2003-12-27 19:22:38.000000000 +0000
++++ linux-2.6.0/include/linux.gentoo/time.h    2003-12-27 19:19:31.000000000 +0000
+@@ -4,24 +4,31 @@
+ #include <asm/param.h>
+ #include <linux/types.h>
+ 
++#ifndef _SYS_TIME_H
+ #ifndef _STRUCT_TIMESPEC
++#ifndef __timespec_defined
+ #define _STRUCT_TIMESPEC
+ struct timespec {
+       time_t  tv_sec;         /* seconds */
+       long    tv_nsec;        /* nanoseconds */
+ };
++#endif /* __timespec_defined */
+ #endif /* _STRUCT_TIMESPEC */
+ 
++#ifndef _STRUCT_TIMEVAL
+ struct timeval {
+       time_t          tv_sec;         /* seconds */
+       suseconds_t     tv_usec;        /* microseconds */
+ };
++#endif /* _STRUCT_TIMEVAL */
+ 
+ struct timezone {
+       int     tz_minuteswest; /* minutes west of Greenwich */
+       int     tz_dsttime;     /* type of dst correction */
+ };
+ 
++#endif /* _SYS_TIME_H */
++
+ #ifdef __KERNEL__
+ 
+ #include <linux/spinlock.h>
+@@ -281,6 +281,8 @@
+  * machines were long is 32-bit! (However, as time_t is signed, we
+  * will already get problems at other places on 2038-01-19 03:14:08)
+  */
++
++#ifndef _TIME_H
+ static inline unsigned long
+ mktime (unsigned int year, unsigned int mon,
+       unsigned int day, unsigned int hour,
+@@ -298,6 +300,7 @@
+         )*60 + min /* now have minutes */
+       )*60 + sec; /* finally seconds */
+ }
++#endif
+ 
+ extern struct timespec xtime;
+ extern struct timespec wall_to_monotonic;
+@@ -351,15 +358,19 @@
+ #define       ITIMER_VIRTUAL  1
+ #define       ITIMER_PROF     2
+ 
++#ifndef _TIME_H
+ struct  itimerspec {
+         struct  timespec it_interval;    /* timer period */
+         struct  timespec it_value;       /* timer expiration */
+ };
++#endif /* _TIME_H */
+ 
++#ifndef _SYS_TIME_H
+ struct        itimerval {
+       struct  timeval it_interval;    /* timer interval */
+       struct  timeval it_value;       /* current value */
+ };
++#endif /* _SYS_TIME_H */
+ 
+ 
+ /*
+diff -ur linux-2.6.0/include/linux/workqueue.h linux-2.6.0/include/linux.gentoo/workqueue.h
+--- linux-2.6.0/include/linux/workqueue.h      2003-12-27 19:22:38.000000000 +0000
++++ linux-2.6.0/include/linux.gentoo/workqueue.h       2003-12-27 19:19:31.000000000 +0000
+@@ -5,6 +5,8 @@
+ #ifndef _LINUX_WORKQUEUE_H
+ #define _LINUX_WORKQUEUE_H
+ 
++#ifdef __KERNEL__
++
+ #include <linux/timer.h>
+ #include <linux/linkage.h>
+ 
+@@ -73,5 +75,7 @@
+       return del_timer_sync(&work->timer);
+ }
+ 
++#endif /* __KERNEL__ */
++
+ #endif
+ 
+diff -ur linux-2.6.0/include/asm-i386/mpspec.h linux-2.6.0/include/asm-i386/mpspec.h
+--- linux-2.6.0/include/asm-i386/mpspec.h      2004-01-19 20:18:36.000000000 +0000
++++ linux-2.6.0/include/asm-i386/mpspec.h      2004-01-19 20:01:11.000000000 +0000
+@@ -3,7 +3,7 @@
+ 
+ #include <linux/cpumask.h>
+ #include <asm/mpspec_def.h>
+-#include <mach_mpspec.h>
++#include <asm/mach-generic/mach_mpspec.h>
+ 
+ extern int mp_bus_id_to_type [MAX_MP_BUSSES];
+ extern int mp_bus_id_to_node [MAX_MP_BUSSES];
+diff -ur linux-2.6.0/include/asm-i386/processor.h linux-2.6.0/include/asm-i386/processor.h
+--- linux-2.6.0/include/asm-i386/processor.h   2004-01-19 20:18:36.000000000 +0000
++++ linux-2.6.0/include/asm-i386/processor.h   2004-01-19 20:01:11.000000000 +0000
+@@ -8,7 +8,9 @@
+ #define __ASM_I386_PROCESSOR_H
+ 
+ #include <asm/vm86.h>
++#ifdef __KERNEL__
+ #include <asm/math_emu.h>
++#endif
+ #include <asm/segment.h>
+ #include <asm/page.h>
+ #include <asm/types.h>
+diff -ur linux-2.6.0/include/asm-i386/semaphore.h linux-2.6.0/include/asm-i386/semaphore.h
+--- linux-2.6.0/include/asm-i386/semaphore.h   2004-01-19 20:18:36.000000000 +0000
++++ linux-2.6.0/include/asm-i386/semaphore.h   2004-01-19 20:01:11.000000000 +0000
+@@ -3,8 +3,6 @@
+ 
+ #include <linux/linkage.h>
+ 
+-#ifdef __KERNEL__
+-
+ /*
+  * SMP- and interrupt-safe semaphores..
+  *
+@@ -214,4 +212,3 @@
+ }
+ 
+ #endif
+-#endif
+diff -ur linux-2.6.8.1/include/asm-i386/signal.h linux-2.6.8.1/include/asm-i386/signal.h
+--- linux-2.6.8.1/include/asm-i386/signal.h    2004-01-19 20:18:36.000000000 +0000
++++ linux-2.6.8.1/include/asm-i386/signal.h    2004-01-19 20:01:11.000000000 +0000
+@@ -26,7 +26,9 @@
+ /* Here we must cater to libcs that poke about in kernel headers.  */
+ 
+ #define NSIG          32
++#ifndef __sigset_t_defined
+ typedef unsigned long sigset_t;
++#endif
+ 
+ #endif /* __KERNEL__ */
+ 
+@@ -155,6 +157,7 @@
+ #else
+ /* Here we must cater to libcs that poke about in kernel headers.  */
+ 
++#ifndef _SIGNAL_H
+ struct sigaction {
+       union {
+         __sighandler_t _sa_handler;
+@@ -164,17 +167,20 @@
+       unsigned long sa_flags;
+       void (*sa_restorer)(void);
+ };
++#endif
+ 
+ #define sa_handler    _u._sa_handler
+ #define sa_sigaction  _u._sa_sigaction
+ 
+ #endif /* __KERNEL__ */
+ 
++#ifndef _SIGNAL_H
+ typedef struct sigaltstack {
+       void __user *ss_sp;
+       int ss_flags;
+       size_t ss_size;
+ } stack_t;
++#endif
+ 
+ #ifdef __KERNEL__
+ #include <asm/sigcontext.h>
+diff -ur linux-2.6.0/include/asm-i386/smp.h linux-2.6.0/include/asm-i386/smp.h
+--- linux-2.6.0/include/asm-i386/smp.h 2004-01-19 20:18:36.000000000 +0000
++++ linux-2.6.0/include/asm-i386/smp.h 2004-01-19 20:01:11.000000000 +0000
+@@ -70,7 +70,7 @@
+ #ifdef APIC_DEFINITION
+ extern int hard_smp_processor_id(void);
+ #else
+-#include <mach_apicdef.h>
++#include <asm/mach-generic/mach_apicdef.h>
+ static inline int hard_smp_processor_id(void)
+ {
+       /* we don't want to mark this access volatile - bad code generation */
+diff -ur linux-2.6.0/include/linux/types.h linux-2.6.0/include/linux.gentoo/types.h
+--- linux-2.6.0/include/linux/types.h  2004-01-19 20:18:36.000000000 +0000
++++ linux-2.6.0/include/linux.gentoo/types.h   2004-01-19 20:01:11.000000000 +0000
+@@ -19,12 +19,24 @@
+ 
+ typedef __u32 __kernel_dev_t;
+ 
++#ifndef _SYS_SELECT_H
+ typedef __kernel_fd_set               fd_set;
++#endif
++#ifndef __dev_t_defined
+ typedef __kernel_dev_t                dev_t;
++#endif
++#ifndef __ino_t_defined
+ typedef __kernel_ino_t                ino_t;
++#endif
++#ifndef __mode_t_defined
+ typedef __kernel_mode_t               mode_t;
++#endif
++#ifndef __nlink_t_defined
+ typedef __kernel_nlink_t      nlink_t;
++#endif
++#ifndef __off_t_defined
+ typedef __kernel_off_t                off_t;
++#endif
+ typedef __kernel_pid_t                pid_t;
+ typedef __kernel_daddr_t      daddr_t;
+ typedef __kernel_key_t                key_t;
+@@ -34,7 +46,9 @@
+ 
+ #ifdef __KERNEL__
+ typedef __kernel_uid32_t      uid_t;
++#define __uid_t_defined
+ typedef __kernel_gid32_t      gid_t;
++#define __gid_t_defined
+ typedef __kernel_uid16_t        uid16_t;
+ typedef __kernel_gid16_t        gid16_t;
+ 
+@@ -49,7 +63,9 @@
+  */
+ #else
+ typedef __kernel_uid_t                uid_t;
++#define __uid_t_defined
+ typedef __kernel_gid_t                gid_t;
++#define __gid_t_defined
+ #endif /* __KERNEL__ */
+ 
+ #if defined(__GNUC__) && !defined(__STRICT_ANSI__)
+diff -ur linux-2.6.8.1/include/asm-generic/siginfo.h linux-2.6.8.1-gentoo/include/asm-generic/siginfo.h
+--- linux-2.6.8.1/include/asm-generic/siginfo.h        2004-01-19 20:18:36.000000000 +0000
++++ linux-2.6.8.1-gentoo/include/asm-generic/siginfo.h 2004-01-19 20:01:11.000000000 +0000
+@@ -4,10 +4,12 @@
+ #include <linux/compiler.h>
+ #include <linux/types.h>
+ 
++#ifndef _SIGNAL_H
+ typedef union sigval {
+       int sival_int;
+       void __user *sival_ptr;
+ } sigval_t;
++#endif
+ 
+ /*
+  * This is the size (including padding) of the part of the
+@@ -31,7 +33,7 @@
+ #endif
+ 
+ #ifndef HAVE_ARCH_SIGINFO_T
+-
++#ifndef _SIGNAL_H
+ typedef struct siginfo {
+       int si_signo;
+       int si_errno;
+@@ -86,7 +88,7 @@
+               } _sigpoll;
+       } _sifields;
+ } siginfo_t;
+-
++#endif
+ #endif
+ 
+ /*
+@@ -238,7 +240,7 @@
+ #endif
+ 
+ #ifndef HAVE_ARCH_SIGEVENT_T
+-
++#ifndef _SIGNAL_H
+ typedef struct sigevent {
+       sigval_t sigev_value;
+       int sigev_signo;
+@@ -253,7 +255,7 @@
+               } _sigev_thread;
+       } _sigev_un;
+ } sigevent_t;
+-
++#endif
+ #endif
+ 
+ #define sigev_notify_function _sigev_un._sigev_thread._function
+diff -ur linux-2.6.0/include/linux/jiffies.h linux-2.6.0/include/linux.gentoo/jiffies.h
+--- linux-2.6.0/include/linux/jiffies.h        2004-01-19 20:18:36.000000000 +0000
++++ linux-2.6.0/include/linux.gentoo/jiffies.h 2004-01-19 20:01:11.000000000 +0000
+@@ -13,15 +13,15 @@
+  * without holding read_lock_irq(&xtime_lock).
+  * get_jiffies_64() will do this for you as appropriate.
+  */
+-extern u64 jiffies_64;
++extern __u64 jiffies_64;
+ extern unsigned long volatile jiffies;
+ 
+ #if (BITS_PER_LONG < 64)
+-u64 get_jiffies_64(void);
++__u64 get_jiffies_64(void);
+ #else
+-static inline u64 get_jiffies_64(void)
++static inline __u64 get_jiffies_64(void)
+ {
+-      return (u64)jiffies;
++      return (__u64)jiffies;
+ }
+ #endif
+ 
+diff -ur linux-2.6.7/include/linux/i2c.h linux-2.6.7-gentoo/include/linux/i2c.h
+--- linux-2.6.7/include/linux/i2c.h    2004-02-07 13:29:15.099504640 -0500
++++ linux-2.6.7-gentoo/include/linux/i2c.h     2004-02-07 13:35:53.956869104 -0500
+@@ -28,10 +28,18 @@
+ #ifndef _LINUX_I2C_H
+ #define _LINUX_I2C_H
+ 
+-#include <linux/module.h>
+-#include <linux/types.h>
++#ifdef __KERNEL__
++#     include <linux/module.h>
++#     include <linux/types.h>
++#else
++#     define __KERNEL__
++#     include <linux/types.h>
++#     undef __KERNEL__
++#endif
+ #include <linux/i2c-id.h>
++#ifdef __KERNEL__
+ #include <linux/device.h>     /* for struct device */
+ #include <asm/semaphore.h>
++#endif
+ 
+ /* --- General options ------------------------------------------------       */
+@@ -109,6 +117,7 @@
+  * events.
+  */
+ 
++#ifdef __KERNEL__
+ struct i2c_driver {
+       struct module *owner;
+       char name[32];
+@@ -268,6 +277,7 @@
+ {
+       dev_set_drvdata (&dev->dev, data);
+ }
++#endif
+ 
+ /*flags for the driver struct: */
+ #define I2C_DF_NOTIFY 0x01            /* notify on bus (de/a)ttaches  */
+diff -ur linux-2.6.3/include/linux/usbdevice_fs.h linux-2.6.3/include/linux/usbdevice_fs.h
+--- linux-2.6.3/include/linux/usbdevice_fs.h   2004-02-22 16:52:07.000000000 +0000
++++ linux-2.6.3/include/linux/usbdevice_fs.h   2004-02-22 22:10:45.000000000 +0000
+@@ -31,6 +31,7 @@
+ #ifndef _LINUX_USBDEVICE_FS_H
+ #define _LINUX_USBDEVICE_FS_H
+ 
++#include <linux/compiler.h>
+ #include <linux/types.h>
+ 
+ /* --------------------------------------------------------------------- */
+
+diff -ur linux-2.6.4/include/asm-i386/ipc.h linux-2.6.4-gentoo/include/asm-i386/ipc.h
+--- linux-2.6.4/include/asm-i386/ipc.h 2004-03-13 13:05:04.000026816 +0000
++++ linux-2.6.4-gentoo/include/asm-i386/ipc.h  2004-03-13 13:11:56.486319368 +0000
+@@ -6,6 +6,8 @@
+  *
+  * See arch/i386/kernel/sys_i386.c for ugly details..
+  */
++
++#include <linux/compiler.h>
+ struct ipc_kludge {
+       struct msgbuf __user *msgp;
+       long msgtyp;
+diff -ur linux-2.6.4/include/linux/mroute.h linux-2.6.4-gentoo/include/linux/mroute.h
+--- linux-2.6.4/include/linux/mroute.h 2004-03-13 13:04:54.084534200 +0000
++++ linux-2.6.4-gentoo/include/linux/mroute.h  2004-03-13 13:14:04.356880088 +0000
+@@ -1,6 +1,7 @@
+ #ifndef __LINUX_MROUTE_H
+ #define __LINUX_MROUTE_H
+ 
++#include <linux/types.h>
+ #include <linux/sockios.h>
+ #include <linux/in.h>
+ 
+diff -ur linux-2.6.6/include/asm-ppc/signal.h linux-2.6.6-gentoo/include/asm-ppc/signal.h
+--- linux-2.6.6/include/asm-ppc/signal.h       2004-06-02 18:30:17.329072696 +0100
++++ linux-2.6.6-gentoo/include/asm-ppc/signal.h        2004-06-02 18:35:04.093477880 +0100
+@@ -17,9 +17,11 @@
+ 
+ typedef unsigned long old_sigset_t;           /* at least 32 bits */
+ 
++#ifndef __sigset_t_defined
+ typedef struct {
+       unsigned long sig[_NSIG_WORDS];
+ } sigset_t;
++#endif
+ 
+ #define SIGHUP                 1
+ #define SIGINT                 2
+@@ -125,28 +127,51 @@
+ #define SIG_ERR       ((__sighandler_t)-1)    /* error return from signal */
+ 
+ struct old_sigaction {
++#ifdef __USE_POSIX199309
++#     ifdef sa_handler
++#             undef sa_handler
++#     endif
++#     ifdef sa_sigaction
++#             undef sa_sigaction
++#     endif
++      union
++      {
++              /* Used if SA_SIGINFO is not set.  */
++                      __sighandler_t sa_handler;
++              /* Used if SA_SIGINFO is set.  */
++                      void (*sa_sigaction) (int, siginfo_t *, void *);
++      }
++      __sigaction_handler;
++#     define sa_handler       __sigaction_handler.sa_handler
++#     define sa_sigaction     __sigaction_handler.sa_sigaction
++#else
+       __sighandler_t sa_handler;
++#endif
+       old_sigset_t sa_mask;
+       unsigned long sa_flags;
+       __sigrestore_t sa_restorer;
+ };
+ 
++#ifndef _SIGNAL_H
+ struct sigaction {
+       __sighandler_t sa_handler;
+       unsigned long sa_flags;
+       __sigrestore_t sa_restorer;
+       sigset_t sa_mask;               /* mask last for extensibility */
+ };
++#endif
+ 
+ struct k_sigaction {
+       struct sigaction sa;
+ };
+ 
++#ifndef _SIGNAL_H
+ typedef struct sigaltstack {
+       void __user *ss_sp;
+       int ss_flags;
+       size_t ss_size;
+ } stack_t;
++#endif
+ 
+ #ifdef __KERNEL__
+ #include <asm/sigcontext.h>
+diff -ur linux-2.6.6/include/asm-x86_64/processor.h linux-2.6.6-gentoo/include/asm-x86_64/processor.h
+--- linux-2.6.6/include/asm-x86_64/processor.h 2004-06-02 19:25:24.000000000 +0100
++++ linux-2.6.6-gentoo/include/asm-x86_64/processor.h  2004-06-02 19:24:31.000000000 +0100
+@@ -189,17 +189,17 @@
+ #define INVALID_IO_BITMAP_OFFSET 0x8000
+ 
+ struct i387_fxsave_struct {
+-      u16     cwd;
+-      u16     swd;
+-      u16     twd;
+-      u16     fop;
+-      u64     rip;
+-      u64     rdp; 
+-      u32     mxcsr;
+-      u32     mxcsr_mask;
+-      u32     st_space[32];   /* 8*16 bytes for each FP-reg = 128 bytes */
+-      u32     xmm_space[64];  /* 16*16 bytes for each XMM-reg = 128 bytes */
+-      u32     padding[24];
++      __u16   cwd;
++      __u16   swd;
++      __u16   twd;
++      __u16   fop;
++      __u64   rip;
++      __u64   rdp; 
++      __u32   mxcsr;
++      __u32   mxcsr_mask;
++      __u32   st_space[32];   /* 8*16 bytes for each FP-reg = 128 bytes */
++      __u32   xmm_space[64];  /* 16*16 bytes for each XMM-reg = 128 bytes */
++      __u32   padding[24];
+ } __attribute__ ((aligned (16)));
+ 
+ union i387_union {
+@@ -207,16 +207,16 @@
+ };
+ 
+ struct tss_struct {
+-      u32 reserved1;
+-      u64 rsp0;       
+-      u64 rsp1;
+-      u64 rsp2;
+-      u64 reserved2;
+-      u64 ist[7];
+-      u32 reserved3;
+-      u32 reserved4;
+-      u16 reserved5;
+-      u16 io_bitmap_base;
++      __u32 reserved1;
++      __u64 rsp0;     
++      __u64 rsp1;
++      __u64 rsp2;
++      __u64 reserved2;
++      __u64 ist[7];
++      __u32 reserved3;
++      __u32 reserved4;
++      __u16 reserved5;
++      __u16 io_bitmap_base;
+       /*
+        * The extra 1 is there because the CPU will access an
+        * additional byte beyond the end of the IO permission
+@@ -252,7 +252,7 @@
+       int             ioperm;
+       unsigned long   *io_bitmap_ptr;
+ /* cached TLS descriptors. */
+-      u64 tls_array[GDT_ENTRY_TLS_ENTRIES];
++      __u64 tls_array[GDT_ENTRY_TLS_ENTRIES];
+ } __attribute__((aligned(16)));
+ 
+ #define INIT_THREAD  {}
+diff -ur linux-2.6.7/include/asm-x86_64/system.h linux-2.6.7-gentoo/include/asm-x86_64/system.h
+--- linux-2.6.7/include/asm-x86_64/system.h    2004-06-02 19:25:27.000000000 +0100
++++ linux-2.6.7-gentoo/include/asm-x86_64/system.h     2004-06-02 19:25:17.000000000 +0100
+@@ -4,6 +4,32 @@
+ #include <linux/config.h>
+ #include <linux/kernel.h>
+ #include <asm/segment.h>
++#include <linux/bitops.h> /* for LOCK_PREFIX... */
++
++/*
++ * Alternative inline assembly with input.
++ * 
++ * Pecularities:
++ * No memory clobber here. 
++ * Argument numbers start with 1.
++ * Best is to use constraints that are fixed size (like (%1) ... "r")
++ * If you use variable sized constraints like "m" or "g" in the 
++ * replacement maake sure to pad to the worst case length.
++ */
++
++#define alternative_input(oldinstr, newinstr, feature, input)         \
++      asm volatile ("661:\n\t" oldinstr "\n662:\n"                    \
++                    ".section .altinstructions,\"a\"\n"               \
++                    "  .align 8\n"                                    \
++                    "  .quad 661b\n"            /* label */           \
++                    "  .quad 663f\n"            /* new instruction */ \
++                    "  .byte %c0\n"             /* feature bit */     \
++                    "  .byte 662b-661b\n"       /* sourcelen */       \
++                    "  .byte 664f-663f\n"       /* replacementlen */  \
++                    ".previous\n"                                     \
++                    ".section .altinstr_replacement,\"ax\"\n"         \
++                    "663:\n\t" newinstr "\n664:\n"   /* replacement */ \
++                    ".previous" :: "i" (feature), input)
+ 
+ #ifdef __KERNEL__
+ 
+@@ -114,30 +140,6 @@
+                     ".previous" :: "i" (feature) : "memory")  
+ 
+ /*
+- * Alternative inline assembly with input.
+- * 
+- * Pecularities:
+- * No memory clobber here. 
+- * Argument numbers start with 1.
+- * Best is to use constraints that are fixed size (like (%1) ... "r")
+- * If you use variable sized constraints like "m" or "g" in the 
+- * replacement maake sure to pad to the worst case length.
+- */
+-#define alternative_input(oldinstr, newinstr, feature, input)         \
+-      asm volatile ("661:\n\t" oldinstr "\n662:\n"                    \
+-                    ".section .altinstructions,\"a\"\n"               \
+-                    "  .align 8\n"                                    \
+-                    "  .quad 661b\n"            /* label */           \
+-                    "  .quad 663f\n"            /* new instruction */ \
+-                    "  .byte %c0\n"             /* feature bit */     \
+-                    "  .byte 662b-661b\n"       /* sourcelen */       \
+-                    "  .byte 664f-663f\n"       /* replacementlen */  \
+-                    ".previous\n"                                     \
+-                    ".section .altinstr_replacement,\"ax\"\n"         \
+-                    "663:\n\t" newinstr "\n664:\n"   /* replacement */ \
+-                    ".previous" :: "i" (feature), input)
+-
+-/*
+  * Clear and set 'TS' bit respectively
+  */
+ #define clts() __asm__ __volatile__ ("clts")
+diff -ur linux-2.6.6/include/linux/socket.h linux-2.6.6-gentoo/include/linux/socket.h
+--- linux-2.6.6/include/linux/socket.h 2004-05-25 17:47:07.000000000 +0100
++++ linux-2.6.6-gentoo/include/linux/socket.h  2004-06-02 21:19:49.000000000 +0100
+@@ -16,6 +16,10 @@
+                               /* _SS_MAXSIZE value minus size of ss_family */
+ } __attribute__ ((aligned(_K_SS_ALIGNSIZE))); /* force desired alignment */
+ 
++#ifndef _SYS_SOCKET_H
++typedef unsigned short        sa_family_t;
++#endif
++
+ #if defined(__KERNEL__) || !defined(__GLIBC__) || (__GLIBC__ < 2)
+ 
+ #include <linux/config.h>             /* for CONFIG_COMPAT */
+@@ -26,8 +30,6 @@
+ #include <linux/types.h>              /* pid_t                        */
+ #include <linux/compiler.h>           /* __user                       */
+ 
+-typedef unsigned short        sa_family_t;
+-
+ /*
+  *    1003.1g requires sa_family_t and that sa_data is char.
+  */
+diff -ur linux-2.6.6/include/linux/audit.h linux-2.6.6-gentoo/include/linux/audit.h
+--- linux-2.6.6/include/linux/audit.h  2004-05-25 17:47:07.000000000 +0100
++++ linux-2.6.6-gentoo/include/linux/audit.h   2004-06-02 21:19:21.000000000 +0100
+@@ -97,6 +97,7 @@
+ #define AUDIT_FAIL_PANIC      2
+ 
+ #ifndef __KERNEL__
++#include <linux/netlink.h>
+ struct audit_message {
+       struct nlmsghdr nlh;
+       char            data[1200];
+diff -ur linux-2.6.7/include/asm-x86_64/sigcontext.h linux-2.6.7-gentoo/include/asm-x86_64/sigcontext.h
+--- linux-2.6.7/include/asm-x86_64/sigcontext.h        2004-05-25 17:47:07.000000000 +0100
++++ linux-2.6.7-gentoo/include/asm-x86_64/sigcontext.h 2004-06-02 22:04:52.000000000 +0100
+@@ -7,6 +7,12 @@
+ /* FXSAVE frame */
+ /* Note: reserved1/2 may someday contain valuable data. Always save/restore
+    them when you change signal frames. */
++
++#ifndef __KERNEL__
++#include <signal.h> /* Pulls in <bits/sigcontext.h> which contains both /*
++                    /* of these structures... */
++#else
++#ifndef _SIGNAL_H
+ struct _fpstate {
+       __u16   cwd;
+       __u16   swd;
+@@ -53,3 +59,5 @@
+ };
+ 
+ #endif
++#endif
++#endif
+diff -ur linux-2.6.6/include/linux/gfp.h linux-2.6.6-gentoo/include/linux/gfp.h
+--- linux-2.6.6/include/linux/gfp.h    2004-04-04 04:36:52.000000000 +0100
++++ linux-2.6.6-gentoo/include/linux/gfp.h     2004-05-11 19:51:06.412779200 +0100
+@@ -48,6 +48,7 @@
+ 
+ #define GFP_DMA               __GFP_DMA
+ 
++#ifdef __KERNEL__
+ 
+ /*
+  * There is only one page-allocator function, and two main namespaces to
+@@ -96,4 +97,5 @@
+ 
+ void page_alloc_init(void);
+ 
++#endif /* __KERNEL__ */
+ #endif /* __LINUX_GFP_H */
+diff -ur linux-2.6.6/include/linux/percpu.h linux-2.6.6-gentoo/include/linux/percpu.h
+--- linux-2.6.6/include/linux/percpu.h 2004-04-04 04:38:14.000000000 +0100
++++ linux-2.6.6-gentoo/include/linux/percpu.h  2004-05-11 19:33:00.987788880 +0100
+@@ -1,5 +1,6 @@
+ #ifndef __LINUX_PERCPU_H
+ #define __LINUX_PERCPU_H
++#include <linux/gfp.h>
+ #include <linux/spinlock.h> /* For preempt_disable() */
+ #include <linux/slab.h> /* For kmalloc() */
+ #include <linux/smp.h>
+diff -ur linux-2.6.6/include/linux/percpu_counter.h linux-2.6.6-gentoo/include/linux/percpu_counter.h
+--- linux-2.6.6/include/linux/percpu_counter.h 2004-04-04 04:37:23.000000000 +0100
++++ linux-2.6.6-gentoo/include/linux/percpu_counter.h  2004-05-11 19:46:31.423583912 +0100
+@@ -4,6 +4,7 @@
+  * WARNING: these things are HUGE.  4 kbytes per counter on 32-way P4.
+  */
+ 
++#include <linux/preempt.h>
+ #include <linux/config.h>
+ #include <linux/spinlock.h>
+ #include <linux/smp.h>
+
+diff -ur linux-2.6.7/include/linux/pid.h linux-2.6.7-gentoo/include/linux/pid.h
+--- linux-2.6.7/include/linux/pid.h    2004-06-16 06:19:02.000000000 +0100
++++ linux-2.6.7-gentoo/pid.h   2004-06-18 18:38:37.252859416 +0100
+@@ -1,6 +1,8 @@
+ #ifndef _LINUX_PID_H
+ #define _LINUX_PID_H
+ 
++#include <asm/atomic.h>
++
+ enum pid_type
+ {
+       PIDTYPE_PID,
+@@ -29,6 +31,8 @@
+ #define pid_task(elem, type) \
+       list_entry(elem, struct task_struct, pids[type].pid_chain)
+ 
++#ifdef __KERNEL__
++
+ /*
+  * attach_pid() and link_pid() must be called with the tasklist_lock
+  * write-held.
+@@ -61,4 +64,5 @@
+                       elem = elem->next, prefetch(elem->next),        \
+                       task = pid_task(elem, type))
+ 
++#endif /* __KERNEL__ */
+ #endif /* _LINUX_PID_H */
+diff -ur linux-2.6.8.1/include/linux/wait.h linux-2.6.8.1-gentoo/include/linux/wait.h
+--- linux-2.6.8.1/include/linux/wait.h 2004-06-16 06:19:31.000000000 +0100
++++ linux-2.6.8.1-gentoo/wait.h        2004-06-18 18:35:03.760315216 +0100
+@@ -8,10 +8,9 @@
+ #define __WALL                0x40000000      /* Wait on all children, regardless of type */
+ #define __WCLONE      0x80000000      /* Wait only on non-SIGCHLD children */
+ 
+-#ifdef __KERNEL__
+-
+ #include <linux/config.h>
+ #include <linux/list.h>
++#include <linux/pid.h>
+ #include <linux/stddef.h>
+ #include <linux/spinlock.h>
+ #include <asm/system.h>
+@@ -84,6 +83,8 @@
+ extern void FASTCALL(add_wait_queue_exclusive(wait_queue_head_t *q, wait_queue_t * wait));
+ extern void FASTCALL(remove_wait_queue(wait_queue_head_t *q, wait_queue_t * wait));
+ 
++#ifdef __KERNEL__
++
+ static inline void __add_wait_queue(wait_queue_head_t *head, wait_queue_t *new)
+ {
+       list_add(&new->task_list, &head->task_list);
+@@ -104,6 +105,8 @@
+       list_del(&old->task_list);
+ }
+ 
++#endif /* __KERNEL__ */
++
+ void FASTCALL(__wake_up(wait_queue_head_t *q, unsigned int mode, int nr, void *key));
+ extern void FASTCALL(__wake_up_locked(wait_queue_head_t *q, unsigned int mode));
+ extern void FASTCALL(__wake_up_sync(wait_queue_head_t *q, unsigned int mode, int nr));
+@@ -219,6 +222,8 @@
+       __ret;                                                          \
+ })
+ 
++#ifdef __KERNEL__
++
+ /*
+  * Must be called with the spinlock in the wait_queue_head_t held.
+  */
+@@ -220,6 +225,8 @@
+       __remove_wait_queue(q,  wait);
+ }
+ 
++#endif /* __KERNEL__ */
++
+ /*
+  * These are the old interfaces to sleep waiting for an event.
+  * They are racy.  DO NOT use them, use the wait_event* interfaces above.  
+@@ -258,6 +265,4 @@
+               INIT_LIST_HEAD(&wait->task_list);                       \
+       } while (0)
+       
+-#endif /* __KERNEL__ */
+-
+ #endif
+diff -ur linux-2.6.8.1/include/linux/compiler.h linux-2.6.8.1-gentoo/include/linux/compiler.h
+--- linux-2.6.8.1/include/linux/compiler.h     2004-06-12 12:11:54.000000000 +0100
++++ linux-2.6.8.1-gentoo/include/linux/compiler.h      2004-06-24 09:48:32.478502752 +0100
+@@ -15,8 +15,19 @@
+ # define __chk_user_ptr(x) (void)0
+ #endif
+ 
+-#ifdef __KERNEL__
++#if (__GNUC__ > 3) || (__GNUC__ == 3 && __GNUC_MINOR__ >= 1)
++#define inline          __inline__
++#define __inline__      __inline__
++#define __inline        __inline__
++#ifndef asm
++#  define asm           __asm__
++#endif
++#ifndef volatile
++#  define volatile      __volatile__
++#endif
++#endif
+ 
++#ifdef __KERNEL__
+ #ifndef __ASSEMBLY__
+ #if __GNUC__ > 3
+ # include <linux/compiler-gcc+.h>     /* catch-all for GCC 4, 5, etc. */
+@@ -28,6 +39,7 @@
+ # error Sorry, your compiler is too old/not recognized.
+ #endif
+ #endif
++#endif
+ 
+ /* Intel compiler defines __GNUC__. So we will overwrite implementations
+  * coming from above header files here
+@@ -47,7 +59,11 @@
+ 
+ /* Optimization barrier */
+ #ifndef barrier
+-# define barrier() __memory_barrier()
++# ifdef mb
++#   define barrier() mb()
++# else
++#   define barrier() __asm__ __volatile__ ("" : : : "memory")
++# endif
+ #endif
+ 
+ #ifndef RELOC_HIDE
+@@ -57,8 +74,6 @@
+     (typeof(ptr)) (__ptr + (off)); })
+ #endif
+ 
+-#endif /* __KERNEL__ */
+-
+ /*
+  * Allow us to mark functions as 'deprecated' and have gcc emit a nice
+  * warning for each use, in hopes of speeding the functions removal.
+@@ -124,4 +139,10 @@
+ #define noinline
+ #endif
+ 
++#ifdef __cplusplus
++#define __cast__(_to) (_to)
++#else
++#define __cast__(_to)
++#endif
++
+ #endif /* __LINUX_COMPILER_H */
+diff -ur linux-2.6.6/include/linux/hiddev.h linux-2.6.6-gentoo/include/linux/hiddev.h
+--- linux-2.6.6/include/linux/hiddev.h 2004-06-12 12:11:54.000000000 +0100
++++ linux-2.6.6-gentoo/include/linux/hiddev.h  2004-07-10 00:13:36.584448824 +0100
+@@ -33,6 +33,8 @@
+  * The event structure itself
+  */
+ 
++#define HID_MAX_USAGES 1024 /* From: drivers/usb/input/hid.h */
++
+ struct hiddev_event {
+       unsigned hid;
+       signed int value;
+diff -ur linux-2.6.7/include/asm-i386/cache.h linux-2.6.7-gentoo/include/asm-i386/cache.h
+--- linux-2.6.7/include/asm-i386/cache.h       2004-07-13 16:33:15.000000000 +0200
++++ linux-2.6.7-gentoo/include/asm-i386/cache.h        2004-07-13 16:50:38.384364344 +0200
+@@ -7,7 +7,11 @@
+ #include <linux/config.h>
+ 
+ /* L1 cache line size */
++#ifndef CONFIG_X86_L1_CACHE_SHIFT
++#define L1_CACHE_SHIFT 7  /* 7 is given with X86_GENERIC kernel config */
++#else
+ #define L1_CACHE_SHIFT        (CONFIG_X86_L1_CACHE_SHIFT)
++#endif
+ #define L1_CACHE_BYTES        (1 << L1_CACHE_SHIFT)
+ 
+ #define L1_CACHE_SHIFT_MAX 7  /* largest L1 which this arch supports */
+diff -ur linux-2.6.7/include/asm-i386/system.h linux-2.6.7-gentoo/include/asm-i386/system.h
+--- linux-2.6.7/include/asm-i386/system.h      2004-06-16 07:18:38.000000000 +0200
++++ linux-2.6.7-gentoo/include/asm-i386/system.h       2004-07-13 16:34:50.632444536 +0200
+@@ -244,26 +244,26 @@
+ #endif
+ 
+ static inline unsigned long __cmpxchg(volatile void *ptr, unsigned long old,
+-                                    unsigned long new, int size)
++                                    unsigned long _new, int size)
+ {
+       unsigned long prev;
+       switch (size) {
+       case 1:
+               __asm__ __volatile__(LOCK_PREFIX "cmpxchgb %b1,%2"
+                                    : "=a"(prev)
+-                                   : "q"(new), "m"(*__xg(ptr)), "0"(old)
++                                   : "q"(_new), "m"(*__xg(ptr)), "0"(old)
+                                    : "memory");
+               return prev;
+       case 2:
+               __asm__ __volatile__(LOCK_PREFIX "cmpxchgw %w1,%2"
+                                    : "=a"(prev)
+-                                   : "q"(new), "m"(*__xg(ptr)), "0"(old)
++                                   : "q"(_new), "m"(*__xg(ptr)), "0"(old)
+                                    : "memory");
+               return prev;
+       case 4:
+               __asm__ __volatile__(LOCK_PREFIX "cmpxchgl %1,%2"
+                                    : "=a"(prev)
+-                                   : "q"(new), "m"(*__xg(ptr)), "0"(old)
++                                   : "q"(_new), "m"(*__xg(ptr)), "0"(old)
+                                    : "memory");
+               return prev;
+       }
+diff -ur linux-2.6.7/include/asm-i386/processor.h linux-2.6.7-gentoo/include/asm-i386/processor.h
+--- linux-2.6.7/include/asm-i386/processor.h   2004-07-18 13:09:36.191824280 +0100
++++ linux-2.6.7-gentoo/include/asm-i386/processor.h    2004-07-18 13:14:01.627471928 +0100
+@@ -403,8 +403,10 @@
+       /*
+        * .. and then another 0x100 bytes for emergency kernel stack
+        */
+-      unsigned long stack[64];
+-} __attribute__((packed));
++      #ifndef stack /* LVM2-Userspace defines this as a function... */
++              unsigned long stack[64];
++      #endif
++}  __attribute__((packed));
+ 
+ #define ARCH_MIN_TASKALIGN    16
+ 
+@@ -491,7 +493,9 @@
+ extern int kernel_thread(int (*fn)(void *), void * arg, unsigned long flags);
+ 
+ extern unsigned long thread_saved_pc(struct task_struct *tsk);
++#ifdef __KERNEL__
+ void show_trace(struct task_struct *task, unsigned long *stack);
++#endif
+ 
+ unsigned long get_wchan(struct task_struct *p);
+ 
+diff -ur linux-2.6.8.1/scripts/mod/file2alias.c linux-2.6.8.1-gentoo/scripts/mod/file2alias.c
+--- linux-2.6.8.1/scripts/mod/file2alias.c.orig        2004-07-22 14:10:33.644026328 -0400
++++ linux-2.6.8.1/scripts/mod/file2alias.c     2004-07-22 14:10:53.613990432 -0400
+@@ -10,6 +10,8 @@
+  * of the GNU General Public License, incorporated herein by reference.
+  */
+ 
++#define __KERNEL__
++#define __KERNEL_ULONG_T__
+ #include "modpost.h"
+ 
+ /* We use the ELF typedefs, since we can't rely on stdint.h being present. */
+diff -ur linux-2.6.7/include/asm-x86_64/pda.h linux-2.6.7-gentoo/include/asm-x86_64/pda.h
+--- linux-2.6.7/include/asm-x86_64/pda.h       2004-07-24 21:30:43.213205064 +0100
++++ linux-2.6.7-gentoo/include/asm-x86_64/pda.h        2004-07-24 21:31:24.238968200 +0100
+@@ -36,7 +36,7 @@
+  * have to mention %fs/%gs.  So it needs to be done this Torvaldian way.
+  */ 
+ #define sizeof_field(type,field)  (sizeof(((type *)0)->field))
+-#define typeof_field(type,field)  typeof(((type *)0)->field)
++#define typeof_field(type,field)  __typeof__(((type *)0)->field)
+ 
+ extern void __bad_pda_field(void);
+ 
+diff -ur linux-2.6.7/include/linux/compiler-gcc3.h linux-2.6.7-gentoo/include/linux/compiler-gcc3.h
+--- linux-2.6.7/include/linux/compiler-gcc3.h  2004-07-10 01:47:34.000000000 +0100
++++ linux-2.6.7-gentoo/include/linux/compiler-gcc3.h   2004-07-27 13:09:20.420468272 +0100
+@@ -3,12 +3,6 @@
+ /* These definitions are for GCC v3.x.  */
+ #include <linux/compiler-gcc.h>
+ 
+-#if __GNUC_MINOR__ >= 1  && __GNUC_MINOR__ < 4
+-# define inline               __inline__ __attribute__((always_inline))
+-# define __inline__   __inline__ __attribute__((always_inline))
+-# define __inline     __inline__ __attribute__((always_inline))
+-#endif
+-
+ #if __GNUC_MINOR__ > 0
+ # define __deprecated __attribute__((deprecated))
+ #endif
+diff -ur linux-2.6.7/include/linux/sem.h linux-2.6.7-gentoo/include/linux/sem.h
+--- linux-2.6.7/include/linux/sem.h    2004-07-10 01:47:34.000000000 +0100
++++ linux-2.6.7-gentoo/include/linux/sem.h     2004-07-27 11:48:07.440273000 +0100
+@@ -1,6 +1,7 @@
+ #ifndef _LINUX_SEM_H
+ #define _LINUX_SEM_H
+ 
++#include <linux/compiler.h>
+ #include <linux/ipc.h>
+ #include <asm/atomic.h>
+ 
+diff -ur linux-2.6.7/include/asm-x86_64/bitops.h linux-2.6.7-gentoo/include/asm-x86_64/bitops.h
+--- linux-2.6.7/include/asm-x86_64/bitops.h    2004-07-10 01:47:34.000000000 +0100
++++ linux-2.6.7-gentoo/include/asm-x86_64/bitops.h     2004-07-28 16:08:37.650740208 +0100
+@@ -475,8 +475,6 @@
+ 
+ #endif /* __KERNEL__ */
+ 
+-#ifdef __KERNEL__
+-
+ #define ext2_set_bit(nr,addr) \
+       __test_and_set_bit((nr),(unsigned long*)addr)
+ #define ext2_set_bit_atomic(lock,nr,addr) \
+@@ -504,6 +502,4 @@
+ 
+ #define ARCH_HAS_ATOMIC_UNSIGNED 1
+ 
+-#endif /* __KERNEL__ */
+-
+ #endif /* _X86_64_BITOPS_H */
+diff -ur linux-2.6.7/include/asm-ia64/unistd.h linux-2.6.7-gentoo/include/asm-ia64/unistd.h
+--- linux-2.6.7/include/asm-ia64/unistd.h      2004-07-10 01:47:34.000000000 +0100
++++ linux-2.6.7-gentoo/include/asm-ia64/unistd.h       2004-07-28 08:28:20.000000000 +0100
+@@ -121,7 +121,7 @@
+ #define __NR_setdomainname            1129
+ #define __NR_uname                    1130
+ #define __NR_adjtimex                 1131
+-/* 1132 was __NR_create_module */
++#define __NR_create_module            1132
+ #define __NR_init_module              1133
+ #define __NR_delete_module            1134
+ /* 1135 was __NR_get_kernel_syms */
+diff -ur linux-2.6.7/include/asm-ia64/types.h linux-2.6.7-gentoo/include/asm-ia64/types.h
+--- linux-2.6.7/include/asm-ia64/types.h       2004-07-10 01:47:34.000000000 +0100
++++ linux-2.6.7-gentoo/include/asm-ia64/types.h        2004-07-27 20:13:02.000000000 +0100
+@@ -44,11 +44,6 @@
+ typedef __signed__ long __s64;
+ typedef unsigned long __u64;
+ 
+-/*
+- * These aren't exported outside the kernel to avoid name space clashes
+- */
+-# ifdef __KERNEL__
+-
+ typedef __s8 s8;
+ typedef __u8 u8;
+ 
+@@ -69,7 +64,5 @@
+ 
+ typedef unsigned short kmem_bufctl_t;
+ 
+-# endif /* __KERNEL__ */
+ #endif /* !__ASSEMBLY__ */
+-
+ #endif /* _ASM_IA64_TYPES_H */
+diff -urp linux-2.6.7/include/asm-parisc/bitops.h linux-2.6.7-gentoo/include/asm-parisc/bitops.h
+--- linux-2.6.7/include/asm-parisc/bitops.h    2004-08-24 12:09:23.000000000 -0400
++++ linux-2.6.7-gentoo/include/asm-parisc/bitops.h     2004-08-24 11:59:41.952667176 -0400
+@@ -203,8 +203,6 @@ static __inline__ int test_bit(int nr, c
+       return !!(*addr & mask);
+ }
+ 
+-#ifdef __KERNEL__
+-
+ /**
+  * __ffs - find first bit in word. returns 0 to "BITS_PER_LONG-1".
+  * @word: The word to search
+@@ -224,6 +222,7 @@ static __inline__ int test_bit(int nr, c
+  * cycles for each mispredicted branch.
+  */
+ 
++#ifndef __ffs_X
+ static __inline__ unsigned long __ffs(unsigned long x)
+ {
+       unsigned long ret;
+@@ -254,6 +253,7 @@ static __inline__ unsigned long __ffs(un
+                       : "+r" (x), "=r" (ret) );
+       return ret;
+ }
++#endif
+ 
+ /* Undefined if no bit is zero. */
+ #define ffz(x)        __ffs(~x)
+@@ -345,8 +345,6 @@ static inline int sched_find_first_bit(c
+ #endif
+ }
+ 
+-#endif /* __KERNEL__ */
+-
+ /*
+  * This implementation of find_{first,next}_zero_bit was stolen from
+  * Linus' asm-alpha/bitops.h.
+@@ -486,7 +484,7 @@ extern __inline__ unsigned long ext2_fin
+       size -= result;
+       offset &= 31UL;
+       if (offset) {
+-              tmp = cpu_to_le32p(p++);
++              tmp = __cpu_to_le32p(p++);
+               tmp |= ~0UL >> (32-offset);
+               if (size < 32)
+                       goto found_first;
+@@ -496,14 +494,14 @@ extern __inline__ unsigned long ext2_fin
+               result += 32;
+       }
+       while (size >= 32) {
+-              if ((tmp = cpu_to_le32p(p++)) != ~0U)
++              if ((tmp = __cpu_to_le32p(p++)) != ~0U)
+                       goto found_middle;
+               result += 32;
+               size -= 32;
+       }
+       if (!size)
+               return result;
+-      tmp = cpu_to_le32p(p);
++      tmp = __cpu_to_le32p(p);
+ found_first:
+       tmp |= ~0U << size;
+ found_middle:
+diff -urp linux-2.6.7/include/asm-parisc/hardware.h linux-2.6.7-gentoo/include/asm-parisc/hardware.h
+--- linux-2.6.7/include/asm-parisc/hardware.h  2004-08-24 12:09:23.000000000 -0400
++++ linux-2.6.7-gentoo/include/asm-parisc/hardware.h   2004-08-24 11:59:41.978663224 -0400
+@@ -45,41 +46,41 @@ extern char *cpu_name_version[][2]; /* m
+ struct parisc_driver;
+ 
+ struct io_module {
+-        volatile uint32_t nothing;            /* reg 0 */
+-        volatile uint32_t io_eim;
+-        volatile uint32_t io_dc_adata;
+-        volatile uint32_t io_ii_cdata;
+-        volatile uint32_t io_dma_link;                /* reg 4 */
+-        volatile uint32_t io_dma_command;
+-        volatile uint32_t io_dma_address;
+-        volatile uint32_t io_dma_count;
+-        volatile uint32_t io_flex;            /* reg 8 */
+-        volatile uint32_t io_spa_address;
+-        volatile uint32_t reserved1[2];
+-        volatile uint32_t io_command;         /* reg 12 */
+-        volatile uint32_t io_status;
+-        volatile uint32_t io_control;
+-        volatile uint32_t io_data;
+-        volatile uint32_t reserved2;          /* reg 16 */
+-        volatile uint32_t chain_addr;
+-        volatile uint32_t sub_mask_clr;
+-        volatile uint32_t reserved3[13];
+-        volatile uint32_t undefined[480];
+-        volatile uint32_t unpriv[512];
++        volatile __u32 nothing;               /* reg 0 */
++        volatile __u32 io_eim;
++        volatile __u32 io_dc_adata;
++        volatile __u32 io_ii_cdata;
++        volatile __u32 io_dma_link;           /* reg 4 */
++        volatile __u32 io_dma_command;
++        volatile __u32 io_dma_address;
++        volatile __u32 io_dma_count;
++        volatile __u32 io_flex;               /* reg 8 */
++        volatile __u32 io_spa_address;
++        volatile __u32 reserved1[2];
++        volatile __u32 io_command;            /* reg 12 */
++        volatile __u32 io_status;
++        volatile __u32 io_control;
++        volatile __u32 io_data;
++        volatile __u32 reserved2;             /* reg 16 */
++        volatile __u32 chain_addr;
++        volatile __u32 sub_mask_clr;
++        volatile __u32 reserved3[13];
++        volatile __u32 undefined[480];
++        volatile __u32 unpriv[512];
+ };
+ 
+ struct bc_module {
+-        volatile uint32_t unused1[12];
+-        volatile uint32_t io_command;
+-        volatile uint32_t io_status;
+-        volatile uint32_t io_control;
+-        volatile uint32_t unused2[1];
+-        volatile uint32_t io_err_resp;
+-        volatile uint32_t io_err_info;
+-        volatile uint32_t io_err_req;
+-        volatile uint32_t unused3[11];
+-        volatile uint32_t io_io_low;
+-        volatile uint32_t io_io_high;
++        volatile __u32 unused1[12];
++        volatile __u32 io_command;
++        volatile __u32 io_status;
++        volatile __u32 io_control;
++        volatile __u32 unused2[1];
++        volatile __u32 io_err_resp;
++        volatile __u32 io_err_info;
++        volatile __u32 io_err_req;
++        volatile __u32 unused3[11];
++        volatile __u32 io_io_low;
++        volatile __u32 io_io_high;
+ };
+ 
+ #define HPHW_NPROC     0 
+diff -urp linux-2.6.7/include/asm-parisc/processor.h linux-2.6.7-gentoo/include/asm-parisc/processor.h
+--- linux-2.6.7/include/asm-parisc/processor.h 2004-08-24 12:09:23.000000000 -0400
++++ linux-2.6.7-gentoo/include/asm-parisc/processor.h  2004-08-24 11:59:41.950667480 -0400
+@@ -12,11 +12,11 @@
+ #include <linux/config.h>
+ #include <linux/threads.h>
+ 
++#include <asm/types.h>
+ #include <asm/hardware.h>
+ #include <asm/page.h>
+ #include <asm/pdc.h>
+ #include <asm/ptrace.h>
+-#include <asm/types.h>
+ #include <asm/system.h>
+ #endif /* __ASSEMBLY__ */
+ 
+diff -up linux-2.6.8.1/include/linux/list.h linux-2.6.8.1-gentoo/include/linux/list.h
+--- linux-2.6.8.1/include/linux/list.h 2004-08-20 19:54:37.000000000 +0100
++++ linux-2.6.8.1-gentoo/linux/list.h  2004-08-24 17:52:07.416139368 +0100
+@@ -1,8 +1,6 @@
+ #ifndef _LINUX_LIST_H
+ #define _LINUX_LIST_H
+ 
+-#ifdef __KERNEL__
+-
+ #include <linux/stddef.h>
+ #include <linux/prefetch.h>
+ #include <asm/system.h>
+@@ -38,20 +36,22 @@ struct list_head {
+       (ptr)->next = (ptr); (ptr)->prev = (ptr); \
+ } while (0)
+ 
++#if defined(__KERNEL__) || defined(__LINUX_KEYBOARD_H)
++
+ /*
+  * Insert a new entry between two known consecutive entries.
+  *
+  * This is only for internal list manipulation where we know
+  * the prev/next entries already!
+  */
+-static inline void __list_add(struct list_head *new,
++static inline void __list_add(struct list_head *_new,
+                             struct list_head *prev,
+                             struct list_head *next)
+ {
+-      next->prev = new;
+-      new->next = next;
+-      new->prev = prev;
+-      prev->next = new;
++      next->prev = _new;
++      _new->next = next;
++      _new->prev = prev;
++      prev->next = _new;
+ }
+ 
+ /**
+@@ -62,9 +62,9 @@ static inline void __list_add(struct lis
+  * Insert a new entry after the specified head.
+  * This is good for implementing stacks.
+  */
+-static inline void list_add(struct list_head *new, struct list_head *head)
++static inline void list_add(struct list_head *_new, struct list_head *head)
+ {
+-      __list_add(new, head, head->next);
++      __list_add(_new, head, head->next);
+ }
+ 
+ /**
+@@ -75,9 +75,9 @@ static inline void list_add(struct list_
+  * Insert a new entry before the specified head.
+  * This is useful for implementing queues.
+  */
+-static inline void list_add_tail(struct list_head *new, struct list_head *head)
++static inline void list_add_tail(struct list_head *_new, struct list_head *head)
+ {
+-      __list_add(new, head->prev, head);
++      __list_add(_new, head->prev, head);
+ }
+ 
+ /*
+@@ -86,14 +86,14 @@ static inline void list_add_tail(struct 
+  * This is only for internal list manipulation where we know
+  * the prev/next entries already!
+  */
+-static inline void __list_add_rcu(struct list_head * new,
++static inline void __list_add_rcu(struct list_head * _new,
+               struct list_head * prev, struct list_head * next)
+ {
+-      new->next = next;
+-      new->prev = prev;
++      _new->next = next;
++      _new->prev = prev;
+       smp_wmb();
+-      next->prev = new;
+-      prev->next = new;
++      next->prev = _new;
++      prev->next = _new;
+ }
+ 
+ /**
+@@ -112,9 +112,9 @@ static inline void __list_add_rcu(struct
+  * the _rcu list-traversal primitives, such as
+  * list_for_each_entry_rcu().
+  */
+-static inline void list_add_rcu(struct list_head *new, struct list_head *head)
++static inline void list_add_rcu(struct list_head *_new, struct list_head *head)
+ {
+-      __list_add_rcu(new, head, head->next);
++      __list_add_rcu(_new, head, head->next);
+ }
+ 
+ /**
+@@ -133,10 +133,10 @@ static inline void list_add_rcu(struct l
+  * the _rcu list-traversal primitives, such as
+  * list_for_each_entry_rcu().
+  */
+-static inline void list_add_tail_rcu(struct list_head *new,
++static inline void list_add_tail_rcu(struct list_head *_new,
+                                       struct list_head *head)
+ {
+-      __list_add_rcu(new, head->prev, head);
++      __list_add_rcu(_new, head->prev, head);
+ }
+ 
+ /*
+@@ -161,8 +161,8 @@ static inline void __list_del(struct lis
+ static inline void list_del(struct list_head *entry)
+ {
+       __list_del(entry->prev, entry->next);
+-      entry->next = LIST_POISON1;
+-      entry->prev = LIST_POISON2;
++      entry->next = __cast__(list_head*) LIST_POISON1;
++      entry->prev = __cast__(list_head*) LIST_POISON2;
+ }
+ 
+ /**
+@@ -192,7 +192,7 @@ static inline void list_del(struct list_
+ static inline void list_del_rcu(struct list_head *entry)
+ {
+       __list_del(entry->prev, entry->next);
+-      entry->prev = LIST_POISON2;
++      entry->prev = __cast__(list_head*) LIST_POISON2;
+ }
+ 
+ /**
+@@ -506,8 +506,8 @@ static inline int hlist_empty(const stru
+ 
+ static inline void __hlist_del(struct hlist_node *n)
+ {
+-      struct hlist_node *next = n->next;
+-      struct hlist_node **pprev = n->pprev;
++      struct hlist_node *next = __cast__(hlist_node*) n->next;
++      struct hlist_node **pprev = __cast__(hlist_node**) n->pprev;
+       *pprev = next;
+       if (next)
+               next->pprev = pprev;
+@@ -516,8 +516,8 @@ static inline void __hlist_del(struct hl
+ static inline void hlist_del(struct hlist_node *n)
+ {
+       __hlist_del(n);
+-      n->next = LIST_POISON1;
+-      n->pprev = LIST_POISON2;
++      n->next = __cast__(hlist_node*) LIST_POISON1;
++      n->pprev = __cast__(hlist_node**) LIST_POISON2;
+ }
+ 
+ /**
+@@ -542,7 +542,7 @@ static inline void hlist_del(struct hlis
+ static inline void hlist_del_rcu(struct hlist_node *n)
+ {
+       __hlist_del(n);
+-      n->pprev = LIST_POISON2;
++      n->pprev = __cast__(hlist_node**) LIST_POISON2;
+ }
+ 
+ static inline void hlist_del_init(struct hlist_node *n)
+@@ -694,8 +694,5 @@ static inline void hlist_add_after(struc
+            pos && ({ prefetch(pos->next); 1;}) &&                      \
+               ({ tpos = hlist_entry(pos, typeof(*tpos), member); 1;}); \
+            pos = pos->next, ({ smp_read_barrier_depends(); 0; }) )
+-
+-#else
+-#warning "don't include kernel headers in userspace"
+-#endif /* __KERNEL__ */
++#endif
+ #endif
+diff -ur linux-2.6.8.1/include/linux/prefetch.h linux-2.6.8.1-gentoo/include/linux/prefetch.h
+--- linux-2.6.8.1/include/linux/prefetch.h     2004-07-13 19:00:02.450665496 +0100
++++ linux-2.6.8.1-gentoo/include/linux/prefetch.h      2004-07-13 18:44:43.000000000 +0100
+@@ -10,6 +10,7 @@
+ #ifndef _LINUX_PREFETCH_H
+ #define _LINUX_PREFETCH_H
+ 
++#include <linux/compiler.h>
+ #include <linux/types.h>
+ #include <asm/processor.h>
+ #include <asm/cache.h>
+@@ -59,9 +59,9 @@
+ {
+ #ifdef ARCH_HAS_PREFETCH
+       char *cp;
+-      char *end = addr + len;
++      char *end = __cast__(char *) addr + len;
+ 
+-      for (cp = addr; cp < end; cp += PREFETCH_STRIDE)
++      for (cp = __cast__(char *) addr; cp < end; cp += PREFETCH_STRIDE)
+               prefetch(cp);
+ #endif
+ }
+diff -ur linux-2.6.8.1/include/linux/videodev2.h linux-2.6.8.1-gentoo/include/linux/videodev2.h
+--- linux-2.6.8.1/include/linux/videodev2.h    2004-08-20 19:54:37.000000000 +0100
++++ linux-2.6.8.1-gentoo/include/linux/videodev2.h     2004-08-24 21:20:48.468650056 +0100
+@@ -13,6 +13,8 @@
+  *            Justin Schoeman
+  *            et al.
+  */
++
++#include <linux/compiler.h>
+ #ifdef __KERNEL__
+ #include <linux/time.h> /* need struct timeval */
+ #endif
+diff -ur linux-2.6.8.1/include/linux/crc-ccitt.h linux-2.6.8.1-gentoo/include/linux/crc-ccitt.h
+--- linux-2.6.8.1/include/linux/crc-ccitt.h    2004-08-20 19:54:37.000000000 +0100
++++ linux-2.6.8.1-gentoo/include/linux/crc-ccitt.h     2004-08-25 18:49:57.048297800 +0100
+@@ -3,11 +3,11 @@
+ 
+ #include <linux/types.h>
+ 
+-extern u16 const crc_ccitt_table[256];
++extern __u16 const crc_ccitt_table[256];
+ 
+-extern u16 crc_ccitt(u16 crc, const u8 *buffer, size_t len);
++extern __u16 crc_ccitt(__u16 crc, const __u8 *buffer, size_t len);
+ 
+-static inline u16 crc_ccitt_byte(u16 crc, const u8 c)
++static inline __u16 crc_ccitt_byte(__u16 crc, const __u8 c)
+ {
+       return (crc >> 8) ^ crc_ccitt_table[(crc ^ c) & 0xff];
+ }
+diff -ur linux-2.6.8.1/include/linux/capi.h linux-2.6.8.1-gentoo/include/linux/capi.h
+--- linux-2.6.8.1/include/linux/capi.h 2004-08-20 19:54:37.000000000 +0100
++++ linux-2.6.8.1-gentoo/include/linux/capi.h  2004-08-25 18:49:57.048297800 +0100
+@@ -17,6 +17,7 @@
+ #ifndef __KERNEL__
+ #include <linux/kernelcapi.h>
+ #endif
++#include <linux/compiler.h>
+ 
+ /*
+  * CAPI_REGISTER
+diff -ur linux-2.6.8.1/include/asm-parisc/types.h linux-2.6.8.1-gentoo/include/asm-parisc/types.h
+--- linux-2.6.8.1/include/asm-parisc/types.h   2004-08-20 19:54:37.000000000 +0100
++++ linux-2.6.8.1-gentoo/include/asm-parisc/types.h    2004-08-25 18:49:57.048297800 +0100
+@@ -19,7 +19,7 @@
+ typedef __signed__ int __s32;
+ typedef unsigned int __u32;
+ 
+-#if defined(__GNUC__) && !defined(__STRICT_ANSI__)
++#if defined(__GNUC__)
+ typedef __signed__ long long __s64;
+ typedef unsigned long long __u64;
+ #endif
+diff -ur linux-2.6.8.1/include/asm-ppc/unaligned.h linux-2.6.8.1-gentoo/include/asm-ppc/unaligned.h
+--- linux-2.6.8.1/include/asm-ppc/unaligned.h  2004-07-10 01:47:34.000000000 +0100
++++ linux-2.6.8.1-gentoo/include/asm-ppc/unaligned.h   2004-09-25 19:07:46.956434136 +0100
+@@ -1,4 +1,3 @@
+-#ifdef __KERNEL__
+ #ifndef __PPC_UNALIGNED_H
+ #define __PPC_UNALIGNED_H
+ 
+@@ -15,4 +14,3 @@
+ #define put_unaligned(val, ptr) ((void)( *(ptr) = (val) ))
+ 
+ #endif
+-#endif /* __KERNEL__ */
+diff -ur linux-2.6.8.1/include/asm-ppc64/processor.h linux-2.6.8.1-gentoo/include/asm-ppc64/processor.h
+--- linux-2.6.8.1/include/asm-ppc64/processor.h        2004-09-28 16:56:15.966475184 +0100
++++ linux-2.6.8.1-gentoo/include/asm-ppc64/processor.h 2004-09-28 16:54:55.359729000 +0100
+@@ -547,9 +547,9 @@
+       unsigned long   saved_softe;    /* Ditto for Soft Enable/Disable */
+ #ifdef CONFIG_ALTIVEC
+       /* Complete AltiVec register set */
+-      vector128       vr[32] __attribute((aligned(16)));
++      __vector128     vr[32] __attribute((aligned(16)));
+       /* AltiVec status */
+-      vector128       vscr __attribute((aligned(16)));
++      __vector128     vscr __attribute((aligned(16)));
+       unsigned long   vrsave;
+       int             used_vr;        /* set if process has used altivec */
+ #endif /* CONFIG_ALTIVEC */
+diff -ur linux-2.6.8.1/include/asm-ppc64/spinlock.h linux-2.6.8.1-gentoo/include/asm-ppc64/spinlock.h
+--- linux-2.6.8.1/include/asm-ppc64/spinlock.h 2004-09-28 16:56:15.948477920 +0100
++++ linux-2.6.8.1-gentoo/include/asm-ppc64/spinlock.h  2004-09-28 16:55:30.463392000 +0100
+@@ -20,9 +20,10 @@
+       volatile unsigned int lock;
+ } spinlock_t;
+ 
+-#ifdef __KERNEL__
+ #define SPIN_LOCK_UNLOCKED    (spinlock_t) { 0 }
+ 
++#ifdef __KERNEL__
++
+ #define spin_is_locked(x)     ((x)->lock != 0)
+ #define spin_lock_init(x)     do { *(x) = SPIN_LOCK_UNLOCKED; } while(0)
+ 
+diff -ur linux-2.6.8.1/include/asm-ppc64/page.h linux-2.6.8.1-gentoo/include/asm-ppc64/page.h
+--- linux-2.6.8.1/include/asm-ppc64/page.h     2004-07-10 01:47:34.000000000 +0100
++++ linux-2.6.8.1-gentoo/include/asm-ppc64/page.h      2004-10-03 14:09:31.434460808 +0100
+@@ -91,6 +91,12 @@
+ /* to align the pointer to the (next) page boundary */
+ #define PAGE_ALIGN(addr)      _ALIGN(addr, PAGE_SIZE)
+ 
++#ifdef STRICT_MM_TYPECHECKS
++typedef struct { unsigned long pte; } pte_t;
++#else
++typedef unsigned long pte_t;
++#endif
++
+ #ifdef __KERNEL__
+ #ifndef __ASSEMBLY__
+ #include <asm/naca.h>
+@@ -129,7 +135,6 @@
+  * These are used to make use of C type-checking.  
+  * Entries in the pte table are 64b, while entries in the pgd & pmd are 32b.
+  */
+-typedef struct { unsigned long pte; } pte_t;
+ typedef struct { unsigned int  pmd; } pmd_t;
+ typedef struct { unsigned int  pgd; } pgd_t;
+ typedef struct { unsigned long pgprot; } pgprot_t;
+@@ -148,7 +153,6 @@
+ /*
+  * .. while these make it easier on the compiler
+  */
+-typedef unsigned long pte_t;
+ typedef unsigned int  pmd_t;
+ typedef unsigned int  pgd_t;
+ typedef unsigned long pgprot_t;
+diff -ur linux-2.6.8.1/include/asm-sparc64/signal.h linux-2.6.8.1-gentoo/include/asm-sparc64/signal.h
+--- linux-2.6.8.1/include/asm-sparc64/signal.h 2004-07-10 01:47:34.000000000 +0100
++++ linux-2.6.8.1-gentoo/include/asm-sparc64/signal.h  2004-10-03 14:09:31.434460808 +0100
+@@ -110,7 +110,9 @@
+ 
+ #ifndef __ASSEMBLY__
+ 
++#ifndef __sigset_t_defined
+ typedef unsigned long __old_sigset_t;            /* at least 32 bits */
++#endif
+ 
+ typedef struct {
+        unsigned long sig[_NSIG_WORDS];
+diff -ur linux-2.6.8.1/include/asm-sparc/signal.h linux-2.6.8.1-gentoo/include/asm-sparc/signal.h
+--- linux-2.6.8.1/include/asm-sparc/signal.h   2004-07-10 01:47:34.000000000 +0100
++++ linux-2.6.8.1-gentoo/include/asm-sparc/signal.h    2004-10-03 14:09:31.434460808 +0100
+@@ -105,7 +105,9 @@
+ 
+ #ifndef __ASSEMBLY__
+ 
++#ifndef __sigset_t_defined
+ typedef unsigned long __old_sigset_t;
++#endif
+ 
+ typedef struct {
+       unsigned long   sig[_NSIG_WORDS];
+diff -ur linux-2.6.8.1/include/asm-ia64/fpu.h linux-2.6.8.1-gentoo/include/asm-ia64/fpu.h
+--- linux-2.6.8.1/include/asm-ia64/fpu.h       2004-10-31 14:20:01.000000000 -0700
++++ linux-2.6.8.1-gentoo/include/asm-ia64/fpu.h        2004-11-01 12:04:54.202369190 -0700
+@@ -53,13 +53,20 @@
+                        | FPSR_S3 (FPSF_DEFAULT | FPSF_TD))
+ 
+ # ifndef __ASSEMBLY__
++#   ifndef __KERNEL__
++#     include <dlfcn.h>
++      /* Versioning, newer glibc's declare ia64_fpreg without telling us
++           -- plasmaroo */
++#   endif
+ 
++#   if !defined(RTLD_DEEPBIND) || !defined(_BITS_SIGCONTEXT_H) || defined(__KERNEL__)
+ struct ia64_fpreg {
+       union {
+               unsigned long bits[2];
+               long double __dummy;    /* force 16-byte alignment */
+       } u;
+ };
++#   endif
+ 
+ # endif /* __ASSEMBLY__ */
+ 
+diff -ur linux-2.6.8.1/include/asm-ppc/bitops.h linux-2.6.8.1-gentoo/include/asm-ppc/bitops.h
+--- linux-2.6.8.1/include/asm-ppc/bitops.h     2004-08-14 11:55:32.000000000 +0100
++++ linux-2.6.8.1-gentoo/include/asm-ppc/bitops.h      2004-12-26 19:58:15.881705760 +0000
+@@ -2,9 +2,9 @@
+  * bitops.h: Bit string operations on the ppc
+  */
+ 
+-#ifdef __KERNEL__
+ #ifndef _PPC_BITOPS_H
+ #define _PPC_BITOPS_H
++#ifdef __KERNEL__
+ 
+ #include <linux/config.h>
+ #include <linux/compiler.h>
+@@ -251,6 +251,8 @@
+       return __ilog2(x & -x) + 1;
+ }
+ 
++#endif /* __KERNEL__ */
++
+ /*
+  * fls: find last (most-significant) bit set.
+  * Note fls(0) = 0, fls(1) = 1, fls(0x80000000) = 32.
+@@ -263,6 +265,8 @@
+       return 32 - lz;
+ }
+ 
++#ifdef __KERNEL__
++
+ /*
+  * hweightN: returns the hamming weight (i.e. the number
+  * of bits set) of a N-bit word
+@@ -456,5 +460,6 @@
+ #define minix_test_bit(nr,addr) ext2_test_bit(nr,addr)
+ #define minix_find_first_zero_bit(addr,size) ext2_find_first_zero_bit(addr,size)
+ 
+-#endif /* _PPC_BITOPS_H */
+ #endif /* __KERNEL__ */
++#endif /* _PPC_BITOPS_H */
++
+diff -ur linux-2.6.8.1/include/asm-alpha/signal.h linux-2.6.8.1-gentoo/include/asm-alpha/signal.h
+--- linux-2.6.8.1/include/asm-alpha/signal.h   2004-08-14 11:55:32.000000000 +0100
++++ linux-2.6.8.1-gentoo/include/asm-alpha/signal.h    2004-12-26 19:58:15.881705760 +0000
+@@ -24,7 +24,9 @@
+ /* Here we must cater to libcs that poke about in kernel headers.  */
+ 
+ #define NSIG          32
++#ifndef __sigset_t_defined
+ typedef unsigned long sigset_t;
++#endif
+ 
+ #endif /* __KERNEL__ */
+ 
+@@ -158,6 +160,7 @@
+ #else
+ /* Here we must cater to libcs that poke about in kernel headers.  */
+ 
++#ifndef _SIGNAL_H
+ struct sigaction {
+       union {
+         __sighandler_t        _sa_handler;
+@@ -166,26 +169,31 @@
+       sigset_t        sa_mask;
+       int             sa_flags;
+ };
++#endif
+ 
+ #define sa_handler    _u._sa_handler
+ #define sa_sigaction  _u._sa_sigaction
+ 
+ #endif /* __KERNEL__ */
+ 
++#ifndef _SIGNAL_H
+ typedef struct sigaltstack {
+       void __user *ss_sp;
+       int ss_flags;
+       size_t ss_size;
+ } stack_t;
++#endif
+ 
+ /* sigstack(2) is deprecated, and will be withdrawn in a future version
+    of the X/Open CAE Specification.  Use sigaltstack instead.  It is only
+    implemented here for OSF/1 compatibility.  */
+ 
++#ifndef _SIGNAL_H
+ struct sigstack {
+       void __user *ss_sp;
+       int ss_onstack;
+ };
++#endif
+ 
+ #ifdef __KERNEL__
+ #include <asm/sigcontext.h>
+diff -ur linux-2.6.8.1/include/linux/preempt.h linux-2.6.8.1-gentoo/include/linux/preempt.h
+--- linux-2.6.8.1/include/linux/preempt.h      2004-08-14 11:55:32.000000000 +0100
++++ linux-2.6.8.1-gentoo/include/linux/preempt.h         2004-12-26 19:58:15.881705760 +0000
+@@ -8,6 +8,7 @@
+ 
+ #include <linux/config.h>
+ #include <linux/linkage.h>
++#include <asm/system.h> /* barrier() <--> mb() */
+ 
+ #define preempt_count()        (current_thread_info()->preempt_count)
+ 
diff --git a/sys-kernel/linux-headers/files/linux-headers-2.6.8.1-arm-float.patch b/sys-kernel/linux-headers/files/linux-headers-2.6.8.1-arm-float.patch
new file mode 100644 (file)
index 0000000..c6074f3
--- /dev/null
@@ -0,0 +1,13 @@
+--- linux-2.6.8.1/arch/arm/Makefile.orig       2004-12-07 02:26:36.695053472 -0500
++++ linux-2.6.8.1/arch/arm/Makefile    2004-12-07 02:26:48.792709574 -0500
+@@ -55,8 +55,8 @@
+ tune-$(CONFIG_CPU_V6)         :=-mtune=strongarm
+ 
+ # Need -Uarm for gcc < 3.x
+-CFLAGS                +=-mapcs-32 $(arch-y) $(tune-y) $(call check_gcc,-malignment-traps,-mshort-load-bytes) -msoft-float -Wa,-mno-fpu -Uarm
+-AFLAGS                +=-mapcs-32 $(arch-y) $(tune-y) -msoft-float -Wa,-mno-fpu
++CFLAGS                +=-mapcs-32 $(arch-y) $(tune-y) $(call check_gcc,-malignment-traps,-mshort-load-bytes) -msoft-float -Uarm
++AFLAGS                +=-mapcs-32 $(arch-y) $(tune-y) -msoft-float
+ 
+ CHECK         := $(CHECK) -D__arm__=1
+ 
diff --git a/sys-kernel/linux-headers/files/linux-headers-2.6.8.1-parisc-syscall.patch b/sys-kernel/linux-headers/files/linux-headers-2.6.8.1-parisc-syscall.patch
new file mode 100644 (file)
index 0000000..d6e51e3
--- /dev/null
@@ -0,0 +1,11 @@
+--- linux/include/asm-parisc/unistd.h.orig     2004-12-30 07:15:36.593702944 -0500
++++ linux/include/asm-parisc/unistd.h  2004-12-30 07:16:30.819459376 -0500
+@@ -822,7 +822,7 @@
+               __sys_res = (long)__res;                                \
+       }                                                               \
+       if ( (unsigned long)__sys_res >= (unsigned long)-4095 ){        \
+-              errno = -__sys_res);                                    \
++              errno = -__sys_res;                                     \
+               __sys_res = -1;                                         \
+       }                                                               \
+       __sys_res;                                                      \
diff --git a/sys-kernel/linux-headers/files/linux-headers-2.6.8.1-sparc-glibcsafe.patch b/sys-kernel/linux-headers/files/linux-headers-2.6.8.1-sparc-glibcsafe.patch
new file mode 100644 (file)
index 0000000..9bddffa
--- /dev/null
@@ -0,0 +1,119 @@
+--- linux/include/asm-sparc/processor.h.orig   2004-12-11 22:21:32.889748424 -0800
++++ linux/include/asm-sparc/processor.h        2004-12-11 22:21:21.616462224 -0800
+@@ -43,7 +43,11 @@
+ 
+ struct task_struct;
+ 
+-struct fpq {
++#ifdef __KERNEL__
++#define __fpq fpq
++#endif
++
++struct __fpq {
+       unsigned long *insn_addr;
+       unsigned long insn;
+ };
+@@ -65,13 +69,17 @@ struct thread_struct {
+       unsigned long   float_regs[32] __attribute__ ((aligned (8)));
+       unsigned long   fsr;
+       unsigned long   fpqdepth;
+-      struct fpq      fpqueue[16];
++      struct __fpq    fpqueue[16];
+       unsigned long flags;
+       mm_segment_t current_ds;
+       struct exec core_exec;     /* just what it says. */
+       int new_signal;
+ };
+ 
++#ifdef __KERNEL__
++#undef __fpq
++#endif
++
+ #define SPARC_FLAG_KTHREAD      0x1    /* task is a kernel thread */
+ #define SPARC_FLAG_UNALIGNED    0x2    /* is allowed to do unaligned accesses */
+ 
+--- linux/include/asm-sparc/sigcontext.h.orig  2004-12-11 22:21:32.890748272 -0800
++++ linux/include/asm-sparc/sigcontext.h       2004-12-11 22:21:01.759480944 -0800
+@@ -4,7 +4,6 @@
+ 
+ #ifdef __KERNEL__
+ #include <asm/ptrace.h>
+-#endif
+ 
+ #ifndef __ASSEMBLY__
+ 
+@@ -57,8 +56,6 @@ typedef struct {
+       } si_fpqueue [16];
+ } __siginfo_fpu_t;
+ 
+-#ifdef __KERNEL__
+-
+ /* This magic should be in g_upper[0] for all upper parts
+    to be valid.
+    This is generated by sparc64 only, but for 32bit processes,
+@@ -69,8 +66,9 @@ typedef struct {
+       unsigned   int o_upper[8];
+ } siginfo_extra_v8plus_t;
+ 
+-#endif
+-
+ #endif /* !(__ASSEMBLY__) */
+ 
++#endif /* (__KERNEL__) */
++
+ #endif /* !(__SPARC_SIGCONTEXT_H) */
++
+--- linux/include/asm-sparc/signal.h.orig      2004-12-11 22:21:32.891748120 -0800
++++ linux/include/asm-sparc/signal.h   2004-12-11 22:21:01.768479576 -0800
+@@ -3,6 +3,7 @@
+ #define _ASMSPARC_SIGNAL_H
+ 
+ #include <asm/sigcontext.h>
++#include <linux/compiler.h>
+ 
+ #ifdef __KERNEL__
+ #ifndef __ASSEMBLY__
+@@ -113,11 +114,14 @@ typedef struct {
+       unsigned long   sig[_NSIG_WORDS];
+ } __new_sigset_t;
+ 
++
++#ifdef __KERNEL__
+ /* A SunOS sigstack */
+ struct sigstack {
+       char *the_stack;
+       int   cur_status;
+ };
++#endif
+ 
+ /* Sigvec flags */
+ #define _SV_SSTACK    1u    /* This signal handler should use sig-stack */
+@@ -191,6 +195,7 @@ typedef void (*__sighandler_t)(int);
+ #define SIG_IGN       ((__sighandler_t)1)     /* ignore signal */
+ #define SIG_ERR       ((__sighandler_t)-1)    /* error return from signal */
+ 
++#ifdef __KERNEL__
+ struct __new_sigaction {
+       __sighandler_t  sa_handler;
+       unsigned long   sa_flags;
+@@ -198,12 +203,10 @@ struct __new_sigaction {
+       __new_sigset_t  sa_mask;
+ };
+ 
+-#ifdef __KERNEL__
+ struct k_sigaction {
+       struct __new_sigaction  sa;
+       void                    __user *ka_restorer;
+ };
+-#endif
+ 
+ struct __old_sigaction {
+       __sighandler_t  sa_handler;
+@@ -218,7 +221,6 @@ typedef struct sigaltstack {
+       size_t          ss_size;
+ } stack_t;
+ 
+-#ifdef __KERNEL__
+ struct sparc_deliver_cookie {
+       int restart_syscall;
+       unsigned long orig_i0;
diff --git a/sys-kernel/linux-headers/files/linux-headers-2.6.8.1-strict-ansi-fix.patch b/sys-kernel/linux-headers/files/linux-headers-2.6.8.1-strict-ansi-fix.patch
new file mode 100644 (file)
index 0000000..a0e8dba
--- /dev/null
@@ -0,0 +1,149 @@
+--- linux-2.6.0/include/asm-i386/byteorder.h   2003-07-10 21:11:31.000000000 +0100
++++ linux-2.6.0/include/asm-i386/byteorder.h   2003-12-26 22:58:17.000000000 +0000
+@@ -1,6 +1,8 @@
+ #ifndef _I386_BYTEORDER_H
+ #define _I386_BYTEORDER_H
+ 
++#define __attribute_const__   __attribute__((__const__))
++
+ #include <asm/types.h>
+ #include <linux/compiler.h>
+ 
+@@ -43,13 +43,13 @@
+       } v;
+       v.u = val;
+ #ifdef CONFIG_X86_BSWAP
+-      asm("bswapl %0 ; bswapl %1 ; xchgl %0,%1" 
++      __asm__("bswapl %0 ; bswapl %1 ; xchgl %0,%1" 
+           : "=r" (v.s.a), "=r" (v.s.b) 
+           : "0" (v.s.a), "1" (v.s.b)); 
+ #else
+-   v.s.a = ___arch__swab32(v.s.a); 
++      v.s.a = ___arch__swab32(v.s.a); 
+       v.s.b = ___arch__swab32(v.s.b); 
+-      asm("xchgl %0,%1" : "=r" (v.s.a), "=r" (v.s.b) : "0" (v.s.a), "1" (v.s.b));
++      __asm__("xchgl %0,%1" : "=r" (v.s.a), "=r" (v.s.b) : "0" (v.s.a), "1" (v.s.b));
+ #endif
+       return v.u;     
+ } 
+--- linux-2.6.0/include/asm-i386/types.h       2003-07-10 21:11:00.000000000 +0100
++++ linux-2.6.0/include/asm-i386/types.h       2003-12-26 23:09:38.000000000 +0000
+@@ -19,10 +19,14 @@
+ typedef __signed__ int __s32;
+ typedef unsigned int __u32;
+ 
+-#if defined(__GNUC__) && !defined(__STRICT_ANSI__)
+-typedef __signed__ long long __s64;
+-typedef unsigned long long __u64;
+-#endif
++#ifndef __GNUC__
++# ifndef __extension__
++#  define __extension__
++# endif /* __extension__ */
++#endif /* __GNUC__ */
++
++__extension__ typedef __signed__ long long __s64;
++__extension__ typedef unsigned long long __u64;
+ 
+ #endif /* __ASSEMBLY__ */
+ 
+--- linux-2.6.3/include/linux/byteorder/swab.h 2004-02-20 00:20:05.000000000 +0000
++++ linux-2.6.3/include/linux/byteorder/swab.h 2004-02-22 16:47:24.000000000 +0000
+@@ -15,6 +15,7 @@
+  *
+  */
+ 
++#define __attribute_const__   __attribute__((__const__))
+ #include <linux/compiler.h>
+ 
+ /* casts are necessary for constants, because we never know how for sure
+--- linux-2.6.3/include/asm-x86_64/byteorder.h 2004-02-17 19:58:49.000000000 -0800
++++ linux-2.6.3/include/asm-x86_64/byteorder.h 2004-02-28 18:49:20.000000000 -0800
+@@ -1,6 +1,8 @@
+ #ifndef _X86_64_BYTEORDER_H
+ #define _X86_64_BYTEORDER_H
+ 
++#define __attribute_const__   __attribute__((__const__))
++
+ #include <asm/types.h>
+ #include <linux/compiler.h>
+ 
+--- linux-2.6.3/include/asm-x86_64/semaphore.h 2004-02-17 19:57:11.000000000 -0800
++++ linux-2.6.3/include/asm-x86_64/semaphore.h 2004-02-28 18:49:20.000000000 -0800
+@@ -3,8 +3,6 @@
+ 
+ #include <linux/linkage.h>
+ 
+-#ifdef __KERNEL__
+-
+ /*
+  * SMP- and interrupt-safe semaphores..
+  *
+@@ -215,5 +213,4 @@
+               :"D" (sem)
+               :"memory");
+ }
+-#endif /* __KERNEL__ */
+ #endif
+--- linux-2.6.3/include/asm-x86_64/signal.h    2004-02-17 19:57:12.000000000 -0800
++++ linux-2.6.3/include/asm-x86_64/signal.h    2004-02-28 18:49:20.000000000 -0800
+@@ -32,7 +32,9 @@
+ /* Here we must cater to libcs that poke about in kernel headers.  */
+ 
+ #define NSIG          32
++#ifndef __sigset_t_defined
+ typedef unsigned long sigset_t;
++#endif
+ 
+ #endif /* __KERNEL__ */
+ #endif
+@@ -146,22 +148,26 @@
+ #define SIG_IGN       ((__sighandler_t)1)     /* ignore signal */
+ #define SIG_ERR       ((__sighandler_t)-1)    /* error return from signal */
+ 
++#ifndef _SIGNAL_H
+ struct sigaction {
+       __sighandler_t sa_handler;
+       unsigned long sa_flags;
+       __sigrestore_t sa_restorer;
+       sigset_t sa_mask;               /* mask last for extensibility */
+ };
++#endif
+ 
+ struct k_sigaction {
+       struct sigaction sa;
+ };
+ 
++#ifndef _SIGNAL_H
+ typedef struct sigaltstack {
+       void __user *ss_sp;
+       int ss_flags;
+       size_t ss_size;
+ } stack_t;
++#endif
+ 
+ #ifdef __KERNEL__
+ #include <asm/sigcontext.h>
+--- linux-2.6.3/include/asm-x86_64/types.h     2004-02-17 19:59:16.000000000 -0800
++++ linux-2.6.3/include/asm-x86_64/types.h     2004-02-28 18:49:21.000000000 -0800
+@@ -19,8 +19,18 @@
+ typedef __signed__ int __s32;
+ typedef unsigned int __u32;
+ 
+-typedef __signed__ long long __s64;
+-typedef unsigned long long  __u64;
++#ifndef __GNUC__
++# ifndef __extension__
++#  define __extension__
++# endif /* __extension__ */
++#endif /* __GNUC__ */
++
++#ifndef __s64
++__extension__ typedef __signed__ long long __s64;
++#endif
++#ifndef __u64
++__extension__ typedef unsigned long long  __u64;
++#endif
+ 
+ #endif /* __ASSEMBLY__ */
+ 
index 0ac668835aa849fc172007d8fc5594753831f2b3..ba52e7ba7931ea8ada9fb9432e75aef9485cec8e 100644 (file)
@@ -1,6 +1,6 @@
-# Copyright 1999-2004 Gentoo Foundation
+# Copyright 1999-2005 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sys-kernel/linux-headers/linux-headers-2.0.40.ebuild,v 1.5 2004/07/15 03:52:39 agriffis Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-kernel/linux-headers/linux-headers-2.0.40.ebuild,v 1.6 2005/01/12 02:09:16 vapier Exp $
 
 ETYPE="headers"
 inherit kernel
index f30e54d7fedcfccf4fc12b5aa4141e46d4544436..65f976954f1c7ae4b099cb4bca944e18586233d1 100644 (file)
@@ -1,6 +1,6 @@
-# Copyright 1999-2004 Gentoo Foundation
+# Copyright 1999-2005 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sys-kernel/linux-headers/linux-headers-2.2.26.ebuild,v 1.6 2004/07/15 03:52:39 agriffis Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-kernel/linux-headers/linux-headers-2.2.26.ebuild,v 1.7 2005/01/12 02:09:16 vapier Exp $
 
 ETYPE="headers"
 inherit kernel
index 1083bfb63e7d009c60bca05446db58e188d96fda..e5b9f23e35de105a17a174e5fd73bf611a73bce1 100644 (file)
@@ -1,6 +1,6 @@
-# Copyright 1999-2004 Gentoo Foundation
+# Copyright 1999-2005 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sys-kernel/linux-headers/linux-headers-2.4.21-r1.ebuild,v 1.15 2004/10/06 21:55:50 gustavoz Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-kernel/linux-headers/linux-headers-2.4.21-r1.ebuild,v 1.16 2005/01/12 02:09:16 vapier Exp $
 
 ETYPE="headers"
 inherit kernel eutils
index 25230ca52abe440035f81d4172651820c725d570..1cc6a49426834193b77503a0d0d90ba069e22259 100644 (file)
@@ -1,6 +1,6 @@
-# Copyright 1999-2004 Gentoo Foundation
+# Copyright 1999-2005 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sys-kernel/linux-headers/linux-headers-2.4.21.ebuild,v 1.27 2004/10/06 21:55:50 gustavoz Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-kernel/linux-headers/linux-headers-2.4.21.ebuild,v 1.28 2005/01/12 02:09:16 vapier Exp $
 
 ETYPE="headers"
 inherit kernel eutils
index 88f2b183a9f382057daab51ccaaead64c31a23cd..f44ff39ac8b8c3e129e7ce5c2021d1084c23ea48 100644 (file)
@@ -1,6 +1,6 @@
-# Copyright 1999-2004 Gentoo Foundation
+# Copyright 1999-2005 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sys-kernel/linux-headers/linux-headers-2.4.22.ebuild,v 1.22 2004/11/14 08:19:00 corsair Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-kernel/linux-headers/linux-headers-2.4.22.ebuild,v 1.23 2005/01/12 02:09:16 vapier Exp $
 
 ETYPE="headers"
 inherit kernel eutils
index 4e35da82d78096e268b8a9bf1ef6e077cf27cc8c..06abf4ae1ff5667adfc6fcf260656960e4bf9bc6 100644 (file)
@@ -1,6 +1,6 @@
-# Copyright 1999-2004 Gentoo Foundation
+# Copyright 1999-2005 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sys-kernel/linux-headers/linux-headers-2.4.23.ebuild,v 1.19 2004/10/06 21:55:50 gustavoz Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-kernel/linux-headers/linux-headers-2.4.23.ebuild,v 1.20 2005/01/12 02:09:16 vapier Exp $
 
 ETYPE="headers"
 inherit kernel eutils
index 01e2a036d93471d7f03ec96047cd559373721068..c83e2ba583b148c2807b412939d277e4773a43e0 100644 (file)
@@ -1,6 +1,6 @@
-# Copyright 1999-2004 Gentoo Foundation
+# Copyright 1999-2005 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sys-kernel/linux-headers/linux-headers-2.4.25.ebuild,v 1.10 2004/07/15 03:52:39 agriffis Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-kernel/linux-headers/linux-headers-2.4.25.ebuild,v 1.11 2005/01/12 02:09:16 vapier Exp $
 
 ETYPE="headers"
 inherit kernel eutils
index 92bd468cf5be116a36ccc35988fb6501ec7f4e9f..4d521a2ddd63c767d90c2a0ea1262a7255b73e37 100644 (file)
@@ -1,6 +1,6 @@
-# Copyright 1999-2004 Gentoo Foundation
+# Copyright 1999-2005 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sys-kernel/linux-headers/linux-headers-2.4.26.ebuild,v 1.8 2004/10/04 05:17:09 iggy Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-kernel/linux-headers/linux-headers-2.4.26.ebuild,v 1.9 2005/01/12 02:09:16 vapier Exp $
 
 ETYPE="headers"
 inherit kernel eutils
diff --git a/sys-kernel/linux-headers/linux-headers-2.6.8.1-r2.ebuild b/sys-kernel/linux-headers/linux-headers-2.6.8.1-r2.ebuild
new file mode 100644 (file)
index 0000000..1ae9bc1
--- /dev/null
@@ -0,0 +1,35 @@
+# Copyright 1999-2005 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sys-kernel/linux-headers/linux-headers-2.6.8.1-r2.ebuild,v 1.1 2005/01/12 02:09:16 vapier Exp $
+
+ETYPE="headers"
+H_SUPPORTEDARCH="alpha amd64 arm hppa ia64 ppc ppc64 s390 sparc sh x86"
+inherit kernel-2
+
+SRC_URI="${KERNEL_URI} mirror://gentoo/linux-2.6.8.1-sh-headers.patch.bz2"
+KEYWORDS="~alpha amd64 arm hppa ia64 ~ppc ppc64 ~s390 ~sparc sh x86"
+
+UNIPATCH_LIST="${DISTDIR}/linux-2.6.8.1-sh-headers.patch.bz2
+       ${FILESDIR}/${PN}-2.6.0-sysctl_h-compat.patch
+       ${FILESDIR}/${PN}-2.6.0-fb.patch
+       ${FILESDIR}/${PN}-2.6.7-generic-arm-prepare.patch
+       ${FILESDIR}/${P}-strict-ansi-fix.patch
+       ${FILESDIR}/${P}-appCompat.patch
+       ${FILESDIR}/${P}-sparc-glibcsafe.patch
+       ${FILESDIR}/${PN}-soundcard-ppc64.patch
+       ${FILESDIR}/${P}-arm-float.patch
+       ${FILESDIR}/${P}-parisc-syscall.patch"
+
+src_unpack() {
+       kernel-2_src_unpack
+
+       # Fixes ... all the mv magic is to keep sed from dumping 
+       # ugly warnings about how it can't work on a directory.
+       cd "${S}"/include
+       mv asm-ia64/sn asm-ppc64/iSeries .
+       headers___fix asm-ia64/*
+       mv sn asm-ia64/
+       headers___fix asm-ppc64/*
+       mv iSeries asm-ppc64/
+       headers___fix asm-ppc64/iSeries/*
+}
index 5cef9a7507dc22024c68a54060b79762a31edcf5..f904c98d771efa40e224b964051e504812a6c69f 100644 (file)
@@ -1,6 +1,6 @@
-# Copyright 1999-2004 Gentoo Foundation
+# Copyright 1999-2005 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sys-kernel/linux-headers/linux-headers-2.6.99.ebuild,v 1.6 2004/10/06 15:03:56 vapier Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-kernel/linux-headers/linux-headers-2.6.99.ebuild,v 1.7 2005/01/12 02:09:16 vapier Exp $
 
 DESCRIPTION="ebuild for redirecting old linux-headers-2.6 users to the new linux26-headers"
 HOMEPAGE="http://www.kernel.org/ http://www.gentoo.org/"