diff options
author | Travis Tilley <lv@gentoo.org> | 2004-07-09 22:44:48 +0000 |
---|---|---|
committer | Travis Tilley <lv@gentoo.org> | 2004-07-09 22:44:48 +0000 |
commit | dab4a9a2c33a5c557f5d095dddcb48672ed3f47e (patch) | |
tree | cbfc9214babc676ab5448178d4b3508b3b8f25ea /sys-kernel | |
parent | security fix #49534 (diff) | |
download | historical-dab4a9a2c33a5c557f5d095dddcb48672ed3f47e.tar.gz historical-dab4a9a2c33a5c557f5d095dddcb48672ed3f47e.tar.bz2 historical-dab4a9a2c33a5c557f5d095dddcb48672ed3f47e.zip |
new linux26-headers! yaay! now 2.6 headers can be keyworded without forcing users to upgrade and i can unmask the new glibc ebuilds which depend on 2.6 with USE=nptl! ^_^
Diffstat (limited to 'sys-kernel')
29 files changed, 5112 insertions, 0 deletions
diff --git a/sys-kernel/linux26-headers/ChangeLog b/sys-kernel/linux26-headers/ChangeLog new file mode 100644 index 000000000000..bd698f9391e2 --- /dev/null +++ b/sys-kernel/linux26-headers/ChangeLog @@ -0,0 +1,23 @@ +# ChangeLog for sys-kernel/linux26-headers +# Copyright 1999-2004 Gentoo Foundation; Distributed under the GPL v2 +# $Header: /var/cvsroot/gentoo-x86/sys-kernel/linux26-headers/ChangeLog,v 1.1 2004/07/09 22:44:48 lv Exp $ + +*linux26-headers-2.6.6 (09 Jul 2004) + + 09 Jul 2004; Travis Tilley <lv@gentoo.org> +metadata.xml, + +files/generate-asm-sparc, +files/linux26-headers-2.6.0-appCompat.patch, + +files/linux26-headers-2.6.0-fb.patch, + +files/linux26-headers-2.6.0-strict-ansi-fix.patch, + +files/linux26-headers-2.6.0-sysctl_h-compat.patch, + +files/linux26-headers-2.6.3-appCompat.patch, + +files/linux26-headers-2.6.3-strict-ansi-fix.patch, + +files/linux26-headers-2.6.4-appCompat.patch, + +files/linux26-headers-2.6.4-unistd-nptl-fix.patch, + +files/linux26-headers-2.6.6-appCompat.patch, + +files/linux26-headers-2.6.6-tcp_info-DRS-backport.patch, + +files/linux26-headers-2.6.7-appCompat.patch, +linux26-headers-2.6.1.ebuild, + +linux26-headers-2.6.3-r1.ebuild, +linux26-headers-2.6.4.ebuild, + +linux26-headers-2.6.5.ebuild, +linux26-headers-2.6.6-r1.ebuild, + +linux26-headers-2.6.6.ebuild, +linux26-headers-2.6.7-r1.ebuild: + moved all 2.6 headers to linux26-headers + diff --git a/sys-kernel/linux26-headers/Manifest b/sys-kernel/linux26-headers/Manifest new file mode 100644 index 000000000000..f9e7e29f39f5 --- /dev/null +++ b/sys-kernel/linux26-headers/Manifest @@ -0,0 +1,28 @@ +MD5 027d6e270d1193facdf41969331619c8 linux26-headers-2.6.6-r1.ebuild 4320 +MD5 f2b7161be5f027a81c29e43aaa8f5559 linux26-headers-2.6.4.ebuild 4162 +MD5 1a525580f37deabcdb9a9c0a3ca7cc4b linux26-headers-2.6.6.ebuild 4170 +MD5 e19482fa75253c9b1f766dae4b15df50 linux26-headers-2.6.1.ebuild 4097 +MD5 a475bc2e415b9abc174dd2420ce28863 linux26-headers-2.6.7-r1.ebuild 4023 +MD5 783f6e06e49de0761dab1ed62f86faaf linux26-headers-2.6.5.ebuild 4173 +MD5 cf1a426a2ba138f717c83370f6d49c8c linux26-headers-2.6.3-r1.ebuild 4014 +MD5 71418145ab77a3ba16170c0723610868 ChangeLog 1179 +MD5 608fe99985244b0445f76cee44c9ae14 metadata.xml 290 +MD5 830c6d1dcb1b22b9095e6f16f3ebdf85 files/linux26-headers-2.6.6-tcp_info-DRS-backport.patch 288 +MD5 cb8280b584baf48a15e342e96099eeb9 files/linux26-headers-2.6.6-appCompat.patch 26265 +MD5 c33f70f0dc30a6fce5cfea06233defd4 files/linux26-headers-2.6.3-appCompat.patch 17484 +MD5 7f5b6765680735a897bb2fb9e227f6b6 files/linux26-headers-2.6.0-appCompat.patch 17983 +MD5 aa9ba92e8479bdb5f69b03b5c72be866 files/linux26-headers-2.6.4-unistd-nptl-fix.patch 362 +MD5 ebd650d7c2167aa6f3added403d478b0 files/linux26-headers-2.6.7-appCompat.patch 29628 +MD5 ec3d195f7d40d599802d5c0c5ad8f502 files/linux26-headers-2.6.4-appCompat.patch 17240 +MD5 b3e4e51616a061327b46cbd31132c8c8 files/generate-asm-sparc 1654 +MD5 8a065c0dc3b8fac8747de35f1af75a2c files/linux26-headers-2.6.0-fb.patch 386 +MD5 1f7aaa49614b3055b6110518b1ed23ee files/digest-linux26-headers-2.6.1 66 +MD5 53405777e395f5520722f9fb2398ddd8 files/digest-linux26-headers-2.6.4 66 +MD5 a8c4e44a323fbde21b9de3940e2ca5ef files/digest-linux26-headers-2.6.5 66 +MD5 b737234adedfb6dc585af6bbb40bf2d3 files/digest-linux26-headers-2.6.6 66 +MD5 537c756a05fe1a6819277938d570b70a files/linux26-headers-2.6.0-strict-ansi-fix.patch 1484 +MD5 a73786f0b9dda7e9ebacb91a192384f9 files/linux26-headers-2.6.0-sysctl_h-compat.patch 352 +MD5 1a3b49dce5bc80827496967e767a4a04 files/digest-linux26-headers-2.6.3-r1 66 +MD5 b737234adedfb6dc585af6bbb40bf2d3 files/digest-linux26-headers-2.6.6-r1 66 +MD5 b405a908c2cc1e6ed3e25f030c41f4c4 files/digest-linux26-headers-2.6.7-r1 66 +MD5 598136365858338b26557b7587c6725f files/linux26-headers-2.6.3-strict-ansi-fix.patch 4166 diff --git a/sys-kernel/linux26-headers/files/digest-linux26-headers-2.6.1 b/sys-kernel/linux26-headers/files/digest-linux26-headers-2.6.1 new file mode 100644 index 000000000000..e9195605e006 --- /dev/null +++ b/sys-kernel/linux26-headers/files/digest-linux26-headers-2.6.1 @@ -0,0 +1 @@ +MD5 fa82d1e4be518261b2eeb78eabf9cca7 linux-2.6.1.tar.bz2 33240033 diff --git a/sys-kernel/linux26-headers/files/digest-linux26-headers-2.6.3-r1 b/sys-kernel/linux26-headers/files/digest-linux26-headers-2.6.3-r1 new file mode 100644 index 000000000000..3cdc70342a8f --- /dev/null +++ b/sys-kernel/linux26-headers/files/digest-linux26-headers-2.6.3-r1 @@ -0,0 +1 @@ +MD5 6063a7e424355ec52e0cb559fb99034d linux-2.6.3.tar.bz2 34271622 diff --git a/sys-kernel/linux26-headers/files/digest-linux26-headers-2.6.4 b/sys-kernel/linux26-headers/files/digest-linux26-headers-2.6.4 new file mode 100644 index 000000000000..36ca57690dd1 --- /dev/null +++ b/sys-kernel/linux26-headers/files/digest-linux26-headers-2.6.4 @@ -0,0 +1 @@ +MD5 335f06eba1e5372ba38a0d2b253629bd linux-2.6.4.tar.bz2 34386912 diff --git a/sys-kernel/linux26-headers/files/digest-linux26-headers-2.6.5 b/sys-kernel/linux26-headers/files/digest-linux26-headers-2.6.5 new file mode 100644 index 000000000000..2ae7b101da38 --- /dev/null +++ b/sys-kernel/linux26-headers/files/digest-linux26-headers-2.6.5 @@ -0,0 +1 @@ +MD5 9a76bf64c1151369b250f967d83077aa linux-2.6.5.tar.bz2 34684611 diff --git a/sys-kernel/linux26-headers/files/digest-linux26-headers-2.6.6 b/sys-kernel/linux26-headers/files/digest-linux26-headers-2.6.6 new file mode 100644 index 000000000000..fe3698be5a62 --- /dev/null +++ b/sys-kernel/linux26-headers/files/digest-linux26-headers-2.6.6 @@ -0,0 +1 @@ +MD5 5218790bc3db41e77a7422969639a9ad linux-2.6.6.tar.bz2 34896138 diff --git a/sys-kernel/linux26-headers/files/digest-linux26-headers-2.6.6-r1 b/sys-kernel/linux26-headers/files/digest-linux26-headers-2.6.6-r1 new file mode 100644 index 000000000000..fe3698be5a62 --- /dev/null +++ b/sys-kernel/linux26-headers/files/digest-linux26-headers-2.6.6-r1 @@ -0,0 +1 @@ +MD5 5218790bc3db41e77a7422969639a9ad linux-2.6.6.tar.bz2 34896138 diff --git a/sys-kernel/linux26-headers/files/digest-linux26-headers-2.6.7-r1 b/sys-kernel/linux26-headers/files/digest-linux26-headers-2.6.7-r1 new file mode 100644 index 000000000000..fbf6945c9a39 --- /dev/null +++ b/sys-kernel/linux26-headers/files/digest-linux26-headers-2.6.7-r1 @@ -0,0 +1 @@ +MD5 a74671ea68b0e3c609e8785ed8497c14 linux-2.6.7.tar.bz2 35092228 diff --git a/sys-kernel/linux26-headers/files/generate-asm-sparc b/sys-kernel/linux26-headers/files/generate-asm-sparc new file mode 100644 index 000000000000..78171c33e979 --- /dev/null +++ b/sys-kernel/linux26-headers/files/generate-asm-sparc @@ -0,0 +1,80 @@ +#!/bin/sh -e +# +# $Header: /var/cvsroot/gentoo-x86/sys-kernel/linux26-headers/files/generate-asm-sparc,v 1.1 2004/07/09 22:44:48 lv Exp $ +# +# This script generates the files in /usr/include/asm for sparc systems +# during installation of sys-kernel/linux-headers. +# Will no longer be needed when full 64 bit support is used on sparc64 +# systems. +# +# Shamefully ripped from Debian +# ---------------------------------------------------------------------- + +# Idea borrowed from RedHat's kernel package + +if [ -n "$1" ]; then + if [ ! -d "$1" ]; then + echo "$1" does not exist, or is not a directory + exit 1 + fi + cd $1 +else + cd /usr/include +fi + +if [ ! -d asm-sparc -o ! -d asm-sparc64 ] ; then + echo E: asm-sparc and asm-sparc64 must exist, or you will have problems + exit 1 +fi + +rm -rf asm +mkdir asm + +for h in `( ls asm-sparc; ls asm-sparc64 ) | grep '\.h$' | sort -u`; do + name=`echo $h | tr a-z. A-Z_` + # common header + cat > asm/$h << EOF +/* All asm/ files are generated and point to the corresponding + * file in asm-sparc or asm-sparc64. To regenerate, run "generate-asm" + */ + +#ifndef __SPARCSTUB__${name}__ +#define __SPARCSTUB__${name}__ + +EOF + + # common for sparc and sparc64 + if [ -f asm-sparc/$h -a -f asm-sparc64/$h ]; then + cat >> asm/$h <<EOF +#ifdef __arch64__ +#include <asm-sparc64/$h> +#else +#include <asm-sparc/$h> +#endif +EOF + + # sparc only + elif [ -f asm-sparc/$h ]; then + cat >> asm/$h <<EOF +#ifndef __arch64__ +#include <asm-sparc/$h> +#endif +EOF + # sparc64 only + else + cat >> asm/$h <<EOF +#ifdef __arch64__ +#include <asm-sparc64/$h> +#endif +EOF + fi + + # common footer + cat >> asm/$h <<EOF + +#endif /* !__SPARCSTUB__${name}__ */ +EOF + +done + +exit 0 diff --git a/sys-kernel/linux26-headers/files/linux26-headers-2.6.0-appCompat.patch b/sys-kernel/linux26-headers/files/linux26-headers-2.6.0-appCompat.patch new file mode 100644 index 000000000000..9bd2863dbbdc --- /dev/null +++ b/sys-kernel/linux26-headers/files/linux26-headers-2.6.0-appCompat.patch @@ -0,0 +1,622 @@ +Authors: Tim Yamin <plasmaroo@gentoo.org> + Mike Frysinger <vapier@gentoo.org> + Martin Schlemmer <azarah@gentoo.org> + +This patch neatens up the 2.6.0 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.0/include/linux/compiler-gcc3.h linux-2.6.0/include/linux.gentoo/compiler-gcc3.h +--- linux-2.6.0/include/linux/compiler-gcc3.h 2003-12-27 19:22:38.000000000 +0000 ++++ linux-2.6.0/include/linux.gentoo/compiler-gcc3.h 2003-12-30 23:34:55.000000000 +0000 +@@ -3,6 +3,8 @@ + /* These definitions are for GCC v3.x. */ + #include <linux/compiler-gcc.h> + ++#ifdef __KERNEL__ ++ + #if __GNUC_MINOR__ >= 1 + # define inline __inline__ __attribute__((always_inline)) + # define __inline__ __inline__ __attribute__((always_inline)) +@@ -20,3 +22,5 @@ + #endif + + #define __attribute_pure__ __attribute__((pure)) ++ ++#endif /* __KERNEL__ */ +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 +@@ -45,9 +45,9 @@ + int s_desc_per_block_bits; + int s_inode_size; + int s_first_ino; +- 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.0/include/linux/fb.h linux-2.6.0/include/linux.gentoo/fb.h +--- linux-2.6.0/include/linux/fb.h 2003-12-27 19:22:38.000000000 +0000 ++++ linux-2.6.0/include/linux.gentoo/fb.h 2003-12-27 19:19:31.000000000 +0000 +@@ -3,8 +3,8 @@ + + #include <linux/tty.h> + #include <linux/workqueue.h> ++#include <linux/spinlock.h> + #include <asm/types.h> +-#include <asm/io.h> + + /* Definitions of frame buffers */ + +@@ -339,8 +339,8 @@ + __u32 scan_align; /* alignment per scanline */ + __u32 flags; /* see FB_PIXMAP_* */ + /* access methods */ +- void (*outbuf)(u8 *dst, u8 *addr, unsigned int size); +- u8 (*inbuf) (u8 *addr); ++ void (*outbuf)(__u8 *dst, __u8 *addr, unsigned int size); ++ __u8 (*inbuf) (__u8 *addr); + spinlock_t lock; /* spinlock */ + atomic_t count; + }; +@@ -348,6 +348,7 @@ + + #include <linux/fs.h> + #include <linux/init.h> ++#include <asm/io.h> + + struct fb_info; + struct vm_area_struct; +diff -ur linux-2.6.0/include/linux/isdn.h linux-2.6.0/include/linux.gentoo/isdn.h +--- linux-2.6.0/include/linux/isdn.h 2003-12-27 19:22:38.000000000 +0000 ++++ linux-2.6.0/include/linux.gentoo/isdn.h 2003-12-27 19:19:31.000000000 +0000 +@@ -14,7 +14,10 @@ + #define __ISDN_H__ + + #include <linux/ioctl.h> ++ ++#ifdef __KERNEL__ + #include <linux/isdn/fsm.h> ++#endif + + #ifdef CONFIG_COBALT_MICRO_SERVER + /* Save memory */ +diff -ur linux-2.6.0/include/linux/list.h linux-2.6.0/include/linux.gentoo/list.h +--- linux-2.6.0/include/linux/list.h 2003-12-27 19:22:38.000000000 +0000 ++++ linux-2.6.0/include/linux.gentoo/list.h 2003-12-27 19:19:31.000000000 +0000 +@@ -584,7 +584,6 @@ + pos && ({ n = pos->next; 1; }) && \ + ({ tpos = hlist_entry(pos, typeof(*tpos), member); 1;}); \ + pos = n) +-#else +-#warning "don't include kernel headers in userspace" ++ + #endif /* __KERNEL__ */ + #endif +diff -ur linux-2.6.0/include/linux/mod_devicetable.h linux-2.6.0/include/linux.gentoo/mod_devicetable.h +--- linux-2.6.0/include/linux/mod_devicetable.h 2003-12-27 19:22:38.000000000 +0000 ++++ linux-2.6.0/include/linux.gentoo/mod_devicetable.h 2003-12-27 19:19:31.000000000 +0000 +@@ -10,7 +10,6 @@ + #ifdef __KERNEL__ + #include <linux/types.h> + typedef unsigned long kernel_ulong_t; +-#endif + + #define PCI_ANY_ID (~0) + +@@ -147,5 +146,5 @@ + #define CCW_DEVICE_ID_MATCH_DEVICE_TYPE 0x04 + #define CCW_DEVICE_ID_MATCH_DEVICE_MODEL 0x08 + +- ++#endif /* __KERNEL__ */ + #endif /* LINUX_MOD_DEVICETABLE_H */ +diff -ur linux-2.6.0/include/linux/radix-tree.h linux-2.6.0/include/linux.gentoo/radix-tree.h +--- linux-2.6.0/include/linux/radix-tree.h 2003-12-27 19:22:38.000000000 +0000 ++++ linux-2.6.0/include/linux.gentoo/radix-tree.h 2003-12-27 19:19:31.000000000 +0000 +@@ -41,6 +41,8 @@ + (root)->rnode = NULL; \ + } while (0) + ++#ifdef __KERNEL__ ++ + extern int radix_tree_insert(struct radix_tree_root *, unsigned long, void *); + extern void *radix_tree_lookup(struct radix_tree_root *, unsigned long); + extern void *radix_tree_delete(struct radix_tree_root *, unsigned long); +@@ -54,4 +56,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/videodev.h linux-2.6.0/include/linux.gentoo/videodev.h +--- linux-2.6.0/include/linux/videodev.h 2003-12-27 19:22:38.000000000 +0000 ++++ linux-2.6.0/include/linux.gentoo/videodev.h 2003-12-27 19:19:31.000000000 +0000 +@@ -3,13 +3,13 @@ + + #include <linux/types.h> + #include <linux/version.h> +-#include <linux/device.h> + + #define HAVE_V4L2 1 + #include <linux/videodev2.h> + + #ifdef __KERNEL__ + ++#include <linux/device.h> + #include <linux/poll.h> + #include <linux/mm.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.0/include/asm-i386/signal.h linux-2.6.0/include/asm-i386/signal.h +--- linux-2.6.0/include/asm-i386/signal.h 2004-01-19 20:18:36.000000000 +0000 ++++ linux-2.6.0/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 *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.0/include/asm-generic/siginfo.h linux-2.6.0/include/asm-generic/siginfo.h +--- linux-2.6.0/include/asm-generic/siginfo.h 2004-01-19 20:18:36.000000000 +0000 ++++ linux-2.6.0/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 *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.0/include/linux/i2c.h linux-2.6.0/include/linux.gentoo/i2c.h +--- linux-2.6.0/include/linux/i2c.h 2004-02-07 13:29:15.099504640 -0500 ++++ linux-2.6.0/include/linux.gentoo/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 */ ++#endif + #include <asm/semaphore.h> + + /* --- 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 */ +@@ -599,11 +609,13 @@ + #define i2c_is_isa_adapter(adapptr) \ + ((adapptr)->algo->id == I2C_ALGO_ISA) + ++#ifdef __KERNEL__ + /* Tiny delay function used by the i2c bus drivers */ + static inline void i2c_delay(signed long timeout) + { + set_current_state(TASK_INTERRUPTIBLE); + schedule_timeout(timeout); + } ++#endif + + #endif /* _LINUX_I2C_H */ diff --git a/sys-kernel/linux26-headers/files/linux26-headers-2.6.0-fb.patch b/sys-kernel/linux26-headers/files/linux26-headers-2.6.0-fb.patch new file mode 100644 index 000000000000..398240a6390e --- /dev/null +++ b/sys-kernel/linux26-headers/files/linux26-headers-2.6.0-fb.patch @@ -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/linux26-headers/files/linux26-headers-2.6.0-strict-ansi-fix.patch b/sys-kernel/linux26-headers/files/linux26-headers-2.6.0-strict-ansi-fix.patch new file mode 100644 index 000000000000..ee10aeb6c214 --- /dev/null +++ b/sys-kernel/linux26-headers/files/linux26-headers-2.6.0-strict-ansi-fix.patch @@ -0,0 +1,49 @@ +--- 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 +@@ -35,7 +35,7 @@ + } + + +-static inline __u64 ___arch__swab64(__u64 val) ++static __inline__ __u64 ___arch__swab64(__u64 val) + { + union { + struct { __u32 a,b; } s; +@@ -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__ */ + diff --git a/sys-kernel/linux26-headers/files/linux26-headers-2.6.0-sysctl_h-compat.patch b/sys-kernel/linux26-headers/files/linux26-headers-2.6.0-sysctl_h-compat.patch new file mode 100644 index 000000000000..14b248e4f314 --- /dev/null +++ b/sys-kernel/linux26-headers/files/linux26-headers-2.6.0-sysctl_h-compat.patch @@ -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/linux26-headers/files/linux26-headers-2.6.3-appCompat.patch b/sys-kernel/linux26-headers/files/linux26-headers-2.6.3-appCompat.patch new file mode 100644 index 000000000000..e216a686cd23 --- /dev/null +++ b/sys-kernel/linux26-headers/files/linux26-headers-2.6.3-appCompat.patch @@ -0,0 +1,597 @@ +Authors: Tim Yamin <plasmaroo@gentoo.org> + Mike Frysinger <vapier@gentoo.org> + Martin Schlemmer <azarah@gentoo.org> + +This patch neatens up the 2.6.0 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.0/include/linux/compiler-gcc3.h linux-2.6.0/include/linux.gentoo/compiler-gcc3.h +--- linux-2.6.0/include/linux/compiler-gcc3.h 2003-12-27 19:22:38.000000000 +0000 ++++ linux-2.6.0/include/linux.gentoo/compiler-gcc3.h 2003-12-30 23:34:55.000000000 +0000 +@@ -3,6 +3,8 @@ + /* These definitions are for GCC v3.x. */ + #include <linux/compiler-gcc.h> + ++#ifdef __KERNEL__ ++ + #if __GNUC_MINOR__ >= 1 + # define inline __inline__ __attribute__((always_inline)) + # define __inline__ __inline__ __attribute__((always_inline)) +@@ -20,4 +22,6 @@ + #endif + + #define __attribute_pure__ __attribute__((pure)) + #define __attribute_const__ __attribute__((__const__)) ++ ++#endif /* __KERNEL__ */ +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.0/include/linux/fb.h linux-2.6.0/include/linux.gentoo/fb.h +--- linux-2.6.0/include/linux/fb.h 2003-12-27 19:22:38.000000000 +0000 ++++ linux-2.6.0/include/linux.gentoo/fb.h 2003-12-27 19:19:31.000000000 +0000 +@@ -379,8 +379,8 @@ + u32 access_align; /* alignment per read/write */ + u32 flags; /* see FB_PIXMAP_* */ + /* access methods */ +- void (*outbuf)(u8 *dst, u8 *addr, unsigned int size); +- u8 (*inbuf) (u8 *addr); ++ void (*outbuf)(__u8 *dst, __u8 *addr, unsigned int size); ++ __u8 (*inbuf) (__u8 *addr); + }; + + /* +diff -ur linux-2.6.0/include/linux/isdn.h linux-2.6.0/include/linux.gentoo/isdn.h +--- linux-2.6.0/include/linux/isdn.h 2003-12-27 19:22:38.000000000 +0000 ++++ linux-2.6.0/include/linux.gentoo/isdn.h 2003-12-27 19:19:31.000000000 +0000 +@@ -14,7 +14,10 @@ + #define __ISDN_H__ + + #include <linux/ioctl.h> ++ ++#ifdef __KERNEL__ + #include <linux/isdn/fsm.h> ++#endif + + #ifdef CONFIG_COBALT_MICRO_SERVER + /* Save memory */ +diff -ur linux-2.6.0/include/linux/list.h linux-2.6.0/include/linux.gentoo/list.h +--- linux-2.6.0/include/linux/list.h 2003-12-27 19:22:38.000000000 +0000 ++++ linux-2.6.0/include/linux.gentoo/list.h 2003-12-27 19:19:31.000000000 +0000 +@@ -584,7 +584,6 @@ + pos && ({ n = pos->next; 1; }) && \ + ({ tpos = hlist_entry(pos, typeof(*tpos), member); 1;}); \ + pos = n) +-#else +-#warning "don't include kernel headers in userspace" ++ + #endif /* __KERNEL__ */ + #endif +diff -ur linux-2.6.0/include/linux/mod_devicetable.h linux-2.6.0/include/linux.gentoo/mod_devicetable.h +--- linux-2.6.0/include/linux/mod_devicetable.h 2003-12-27 19:22:38.000000000 +0000 ++++ linux-2.6.0/include/linux.gentoo/mod_devicetable.h 2003-12-27 19:19:31.000000000 +0000 +@@ -10,7 +10,6 @@ + #ifdef __KERNEL__ + #include <linux/types.h> + typedef unsigned long kernel_ulong_t; +-#endif + + #define PCI_ANY_ID (~0) + +@@ -147,5 +146,5 @@ + #define CCW_DEVICE_ID_MATCH_DEVICE_TYPE 0x04 + #define CCW_DEVICE_ID_MATCH_DEVICE_MODEL 0x08 + +- ++#endif /* __KERNEL__ */ + #endif /* LINUX_MOD_DEVICETABLE_H */ +diff -ur linux-2.6.0/include/linux/radix-tree.h linux-2.6.0/include/linux.gentoo/radix-tree.h +--- linux-2.6.0/include/linux/radix-tree.h 2003-12-27 19:22:38.000000000 +0000 ++++ linux-2.6.0/include/linux.gentoo/radix-tree.h 2003-12-27 19:19:31.000000000 +0000 +@@ -41,6 +41,8 @@ + (root)->rnode = NULL; \ + } while (0) + ++#ifdef __KERNEL__ ++ + extern int radix_tree_insert(struct radix_tree_root *, unsigned long, void *); + extern void *radix_tree_lookup(struct radix_tree_root *, unsigned long); + extern void *radix_tree_delete(struct radix_tree_root *, unsigned long); +@@ -54,4 +56,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.0/include/asm-i386/signal.h linux-2.6.0/include/asm-i386/signal.h +--- linux-2.6.0/include/asm-i386/signal.h 2004-01-19 20:18:36.000000000 +0000 ++++ linux-2.6.0/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 *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.0/include/asm-generic/siginfo.h linux-2.6.0/include/asm-generic/siginfo.h +--- linux-2.6.0/include/asm-generic/siginfo.h 2004-01-19 20:18:36.000000000 +0000 ++++ linux-2.6.0/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 *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.0/include/linux/i2c.h linux-2.6.0/include/linux.gentoo/i2c.h +--- linux-2.6.0/include/linux/i2c.h 2004-02-07 13:29:15.099504640 -0500 ++++ linux-2.6.0/include/linux.gentoo/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 */ +@@ -599,11 +609,13 @@ + #define i2c_is_isa_adapter(adapptr) \ + ((adapptr)->algo->id == I2C_ALGO_ISA) + ++#ifdef __KERNEL__ + /* Tiny delay function used by the i2c bus drivers */ + static inline void i2c_delay(signed long timeout) + { + set_current_state(TASK_INTERRUPTIBLE); + schedule_timeout(timeout); + } ++#endif + + #endif /* _LINUX_I2C_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 --git a/sys-kernel/linux26-headers/files/linux26-headers-2.6.3-strict-ansi-fix.patch b/sys-kernel/linux26-headers/files/linux26-headers-2.6.3-strict-ansi-fix.patch new file mode 100644 index 000000000000..bfcd7269c1d6 --- /dev/null +++ b/sys-kernel/linux26-headers/files/linux26-headers-2.6.3-strict-ansi-fix.patch @@ -0,0 +1,145 @@ +--- 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 +@@ -142,22 +144,26 @@ + #define SIG_IGN ((__sighandler_t)1) /* ignore signal */ + #define SIG_ERR ((__sighandler_t)-1) /* error return from signal */ + ++#ifndef _SIGNAL_H /* added by KMO */ + struct sigaction { + __sighandler_t sa_handler; + unsigned long sa_flags; + void (*sa_restorer)(void); + sigset_t sa_mask; /* mask last for extensibility */ + }; ++#endif /* added by KMO */ + + struct k_sigaction { + struct sigaction sa; + }; + ++#ifndef _SIGNAL_H /* added by KMO */ + typedef struct sigaltstack { + void *ss_sp; + int ss_flags; + size_t ss_size; + } stack_t; ++#endif /* added by KMO */ + + #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,14 @@ + 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__ */ ++ ++__extension__ typedef __signed__ long long __s64; ++__extension__ typedef unsigned long long __u64; + + #endif /* __ASSEMBLY__ */ + diff --git a/sys-kernel/linux26-headers/files/linux26-headers-2.6.4-appCompat.patch b/sys-kernel/linux26-headers/files/linux26-headers-2.6.4-appCompat.patch new file mode 100644 index 000000000000..907bbd6e6ac5 --- /dev/null +++ b/sys-kernel/linux26-headers/files/linux26-headers-2.6.4-appCompat.patch @@ -0,0 +1,592 @@ +Authors: Tim Yamin <plasmaroo@gentoo.org> + Mike Frysinger <vapier@gentoo.org> + Martin Schlemmer <azarah@gentoo.org> + +This patch neatens up the 2.6.0 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.0/include/linux/list.h linux-2.6.0/include/linux.gentoo/list.h +--- linux-2.6.0/include/linux/list.h 2003-12-27 19:22:38.000000000 +0000 ++++ linux-2.6.0/include/linux.gentoo/list.h 2003-12-27 19:19:31.000000000 +0000 +@@ -584,7 +584,6 @@ + pos && ({ n = pos->next; 1; }) && \ + ({ tpos = hlist_entry(pos, typeof(*tpos), member); 1;}); \ + pos = n) +-#else +-#warning "don't include kernel headers in userspace" ++ + #endif /* __KERNEL__ */ + #endif +diff -ur linux-2.6.0/include/linux/mod_devicetable.h linux-2.6.0/include/linux.gentoo/mod_devicetable.h +--- linux-2.6.0/include/linux/mod_devicetable.h 2003-12-27 19:22:38.000000000 +0000 ++++ linux-2.6.0/include/linux.gentoo/mod_devicetable.h 2003-12-27 19:19:31.000000000 +0000 +@@ -10,7 +10,6 @@ + #ifdef __KERNEL__ + #include <linux/types.h> + typedef unsigned long kernel_ulong_t; +-#endif + + #define PCI_ANY_ID (~0) + +@@ -147,5 +146,5 @@ + #define CCW_DEVICE_ID_MATCH_DEVICE_TYPE 0x04 + #define CCW_DEVICE_ID_MATCH_DEVICE_MODEL 0x08 + +- ++#endif /* __KERNEL__ */ + #endif /* LINUX_MOD_DEVICETABLE_H */ +diff -ur linux-2.6.0/include/linux/radix-tree.h linux-2.6.0/include/linux.gentoo/radix-tree.h +--- linux-2.6.0/include/linux/radix-tree.h 2003-12-27 19:22:38.000000000 +0000 ++++ linux-2.6.0/include/linux.gentoo/radix-tree.h 2003-12-27 19:19:31.000000000 +0000 +@@ -41,6 +41,8 @@ + (root)->rnode = NULL; \ + } while (0) + ++#ifdef __KERNEL__ ++ + extern int radix_tree_insert(struct radix_tree_root *, unsigned long, void *); + extern void *radix_tree_lookup(struct radix_tree_root *, unsigned long); + extern void *radix_tree_delete(struct radix_tree_root *, unsigned long); +@@ -54,4 +56,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.0/include/asm-i386/signal.h linux-2.6.0/include/asm-i386/signal.h +--- linux-2.6.0/include/asm-i386/signal.h 2004-01-19 20:18:36.000000000 +0000 ++++ linux-2.6.0/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 *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.0/include/asm-generic/siginfo.h linux-2.6.0/include/asm-generic/siginfo.h +--- linux-2.6.0/include/asm-generic/siginfo.h 2004-01-19 20:18:36.000000000 +0000 ++++ linux-2.6.0/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 *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.0/include/linux/i2c.h linux-2.6.0/include/linux.gentoo/i2c.h +--- linux-2.6.0/include/linux/i2c.h 2004-02-07 13:29:15.099504640 -0500 ++++ linux-2.6.0/include/linux.gentoo/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 */ +@@ -599,11 +609,13 @@ + #define i2c_is_isa_adapter(adapptr) \ + ((adapptr)->algo->id == I2C_ALGO_ISA) + ++#ifdef __KERNEL__ + /* Tiny delay function used by the i2c bus drivers */ + static inline void i2c_delay(signed long timeout) + { + set_current_state(TASK_INTERRUPTIBLE); + schedule_timeout(timeout); + } ++#endif + + #endif /* _LINUX_I2C_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/compiler-gcc3.h linux-2.6.4-gentoo/include/linux/compiler-gcc3.h +--- linux-2.6.4/include/linux/compiler-gcc3.h 2004-03-13 13:04:57.718981680 +0000 ++++ linux-2.6.4-gentoo/include/linux/compiler-gcc3.h 2004-03-13 13:15:55.937917192 +0000 +@@ -3,6 +3,8 @@ + /* These definitions are for GCC v3.x. */ + #include <linux/compiler-gcc.h> + ++#ifdef __KERNEL__ ++ + #if __GNUC_MINOR__ >= 1 + # define inline __inline__ __attribute__((always_inline)) + # define __inline__ __inline__ __attribute__((always_inline)) +@@ -25,3 +27,5 @@ + #if __GNUC_MINOR__ >= 1 + #define noinline __attribute__((noinline)) + #endif ++ ++#endif /* __KERNEL__ */ +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 --git a/sys-kernel/linux26-headers/files/linux26-headers-2.6.4-unistd-nptl-fix.patch b/sys-kernel/linux26-headers/files/linux26-headers-2.6.4-unistd-nptl-fix.patch new file mode 100644 index 000000000000..8e418666d66d --- /dev/null +++ b/sys-kernel/linux26-headers/files/linux26-headers-2.6.4-unistd-nptl-fix.patch @@ -0,0 +1,19 @@ +--- unistd-2.6.4.h 2004-04-12 08:33:06.000000000 -0400 ++++ unistd.h 2004-08-04 21:58:41.947303328 -0400 +@@ -713,6 +713,8 @@ + + #endif /* __KERNEL_SYSCALLS__ */ + ++ ++#ifdef __KERNEL__ + #ifndef __ASSEMBLY__ + + #include <linux/linkage.h> +@@ -731,6 +733,7 @@ + size_t sigsetsize); + + #endif /* __ASSEMBLY__ */ ++#endif /* __KERNEL */ + + #endif /* __NO_STUBS */ + diff --git a/sys-kernel/linux26-headers/files/linux26-headers-2.6.6-appCompat.patch b/sys-kernel/linux26-headers/files/linux26-headers-2.6.6-appCompat.patch new file mode 100644 index 000000000000..85b8947455eb --- /dev/null +++ b/sys-kernel/linux26-headers/files/linux26-headers-2.6.6-appCompat.patch @@ -0,0 +1,883 @@ +Authors: Tim Yamin <plasmaroo@gentoo.org> + Mike Frysinger <vapier@gentoo.org> + Martin Schlemmer <azarah@gentoo.org> + +This patch neatens up the 2.6.0 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.0/include/linux/list.h linux-2.6.0/include/linux.gentoo/list.h +--- linux-2.6.0/include/linux/list.h 2003-12-27 19:22:38.000000000 +0000 ++++ linux-2.6.0/include/linux.gentoo/list.h 2003-12-27 19:19:31.000000000 +0000 +@@ -584,7 +584,6 @@ + pos && ({ n = pos->next; 1; }) && \ + ({ tpos = hlist_entry(pos, typeof(*tpos), member); 1;}); \ + pos = n) +-#else +-#warning "don't include kernel headers in userspace" ++ + #endif /* __KERNEL__ */ + #endif +diff -ur linux-2.6.0/include/linux/mod_devicetable.h linux-2.6.0/include/linux.gentoo/mod_devicetable.h +--- linux-2.6.0/include/linux/mod_devicetable.h 2003-12-27 19:22:38.000000000 +0000 ++++ linux-2.6.0/include/linux.gentoo/mod_devicetable.h 2003-12-27 19:19:31.000000000 +0000 +@@ -10,7 +10,6 @@ + #ifdef __KERNEL__ + #include <linux/types.h> + typedef unsigned long kernel_ulong_t; +-#endif + + #define PCI_ANY_ID (~0) + +@@ -147,5 +146,5 @@ + #define CCW_DEVICE_ID_MATCH_DEVICE_TYPE 0x04 + #define CCW_DEVICE_ID_MATCH_DEVICE_MODEL 0x08 + +- ++#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.0/include/asm-i386/signal.h linux-2.6.0/include/asm-i386/signal.h +--- linux-2.6.0/include/asm-i386/signal.h 2004-01-19 20:18:36.000000000 +0000 ++++ linux-2.6.0/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 *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.0/include/asm-generic/siginfo.h linux-2.6.0/include/asm-generic/siginfo.h +--- linux-2.6.0/include/asm-generic/siginfo.h 2004-01-19 20:18:36.000000000 +0000 ++++ linux-2.6.0/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 *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.0/include/linux/i2c.h linux-2.6.0/include/linux.gentoo/i2c.h +--- linux-2.6.0/include/linux/i2c.h 2004-02-07 13:29:15.099504640 -0500 ++++ linux-2.6.0/include/linux.gentoo/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 */ +@@ -599,11 +609,13 @@ + #define i2c_is_isa_adapter(adapptr) \ + ((adapptr)->algo->id == I2C_ALGO_ISA) + ++#ifdef __KERNEL__ + /* Tiny delay function used by the i2c bus drivers */ + static inline void i2c_delay(signed long timeout) + { + set_current_state(TASK_INTERRUPTIBLE); + schedule_timeout(timeout); + } ++#endif + + #endif /* _LINUX_I2C_H */ +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/compiler-gcc3.h linux-2.6.4-gentoo/include/linux/compiler-gcc3.h +--- linux-2.6.4/include/linux/compiler-gcc3.h 2004-03-13 13:04:57.718981680 +0000 ++++ linux-2.6.4-gentoo/include/linux/compiler-gcc3.h 2004-03-13 13:15:55.937917192 +0000 +@@ -3,6 +3,8 @@ + /* These definitions are for GCC v3.x. */ + #include <linux/compiler-gcc.h> + ++#ifdef __KERNEL__ ++ + #if __GNUC_MINOR__ >= 1 + # define inline __inline__ __attribute__((always_inline)) + # define __inline__ __inline__ __attribute__((always_inline)) +@@ -25,3 +27,5 @@ + #if __GNUC_MINOR__ >= 1 + #define noinline __attribute__((noinline)) + #endif ++ ++#endif /* __KERNEL__ */ +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; + void (*sa_restorer)(void); + }; + ++#ifndef _SIGNAL_H + struct sigaction { + __sighandler_t sa_handler; + unsigned long sa_flags; + void (*sa_restorer)(void); + sigset_t sa_mask; /* mask last for extensibility */ + }; ++#endif + + struct k_sigaction { + struct sigaction sa; + }; + ++#ifndef _SIGNAL_H + typedef struct sigaltstack { + void *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]; + }; + + #define INIT_THREAD {} +diff -ur linux-2.6.6/include/asm-x86_64/system.h linux-2.6.6-gentoo/include/asm-x86_64/system.h +--- linux-2.6.6/include/asm-x86_64/system.h 2004-06-02 19:25:27.000000000 +0100 ++++ linux-2.6.6-gentoo/include/asm-x86_64/system.h 2004-06-02 19:25:17.000000000 +0100 +@@ -5,6 +5,30 @@ + #include <linux/kernel.h> + #include <asm/segment.h> + ++/* ++ * 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__ + + #ifdef CONFIG_SMP +@@ -114,30 +138,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.6/include/asm-x86_64/sigcontext.h linux-2.6.6-gentoo/include/asm-x86_64/sigcontext.h +--- linux-2.6.6/include/asm-x86_64/sigcontext.h 2004-05-25 17:47:07.000000000 +0100 ++++ linux-2.6.6-gentoo/include/asm-x86_64/sigcontext.h 2004-06-02 22:04:52.000000000 +0100 +@@ -6,6 +6,8 @@ + /* FXSAVE frame */ + /* Note: reserved1/2 may someday contain valuable data. Always save/restore + them when you change signal frames. */ ++ ++#ifndef _SIGNAL_H + struct _fpstate { + __u16 cwd; + __u16 swd; +@@ -52,3 +54,4 @@ + }; + + #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 --git a/sys-kernel/linux26-headers/files/linux26-headers-2.6.6-tcp_info-DRS-backport.patch b/sys-kernel/linux26-headers/files/linux26-headers-2.6.6-tcp_info-DRS-backport.patch new file mode 100644 index 000000000000..de250198d11c --- /dev/null +++ b/sys-kernel/linux26-headers/files/linux26-headers-2.6.6-tcp_info-DRS-backport.patch @@ -0,0 +1,12 @@ +--- linux-2.6.6/include/linux/tcp.h 2004-06-22 10:14:17 -07:00 ++++ linux-2.6.7/include/linux/tcp.h 2004-06-22 10:14:17 -07:00 +@@ -183,6 +183,9 @@ + __u32 tcpi_snd_cwnd; + __u32 tcpi_advmss; + __u32 tcpi_reordering; ++ ++ __u32 tcpi_rcv_rtt; ++ __u32 tcpi_rcv_space; + }; + + #ifdef __KERNEL__ diff --git a/sys-kernel/linux26-headers/files/linux26-headers-2.6.7-appCompat.patch b/sys-kernel/linux26-headers/files/linux26-headers-2.6.7-appCompat.patch new file mode 100644 index 000000000000..6b01dee8f017 --- /dev/null +++ b/sys-kernel/linux26-headers/files/linux26-headers-2.6.7-appCompat.patch @@ -0,0 +1,988 @@ +Authors: Tim Yamin <plasmaroo@gentoo.org> + Mike Frysinger <vapier@gentoo.org> + Martin Schlemmer <azarah@gentoo.org> + +This patch neatens up the 2.6.0 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.0/include/linux/mod_devicetable.h linux-2.6.0/include/linux.gentoo/mod_devicetable.h +--- linux-2.6.0/include/linux/mod_devicetable.h 2003-12-27 19:22:38.000000000 +0000 ++++ linux-2.6.0/include/linux.gentoo/mod_devicetable.h 2003-12-27 19:19:31.000000000 +0000 +@@ -10,7 +10,6 @@ + #ifdef __KERNEL__ + #include <linux/types.h> + typedef unsigned long kernel_ulong_t; +-#endif + + #define PCI_ANY_ID (~0) + +@@ -147,5 +146,5 @@ + #define CCW_DEVICE_ID_MATCH_DEVICE_TYPE 0x04 + #define CCW_DEVICE_ID_MATCH_DEVICE_MODEL 0x08 + +- ++#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.0/include/asm-i386/signal.h linux-2.6.0/include/asm-i386/signal.h +--- linux-2.6.0/include/asm-i386/signal.h 2004-01-19 20:18:36.000000000 +0000 ++++ linux-2.6.0/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 *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.0/include/asm-generic/siginfo.h linux-2.6.0/include/asm-generic/siginfo.h +--- linux-2.6.0/include/asm-generic/siginfo.h 2004-01-19 20:18:36.000000000 +0000 ++++ linux-2.6.0/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 *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/compiler-gcc3.h linux-2.6.4-gentoo/include/linux/compiler-gcc3.h +--- linux-2.6.4/include/linux/compiler-gcc3.h 2004-03-13 13:04:57.718981680 +0000 ++++ linux-2.6.4-gentoo/include/linux/compiler-gcc3.h 2004-03-13 13:15:55.937917192 +0000 +@@ -3,6 +3,8 @@ + /* These definitions are for GCC v3.x. */ + #include <linux/compiler-gcc.h> + ++#ifdef __KERNEL__ ++ + #if __GNUC_MINOR__ >= 1 + # define inline __inline__ __attribute__((always_inline)) + # define __inline__ __inline__ __attribute__((always_inline)) +@@ -25,3 +27,5 @@ + #if __GNUC_MINOR__ >= 1 + #define noinline __attribute__((noinline)) + #endif ++ ++#endif /* __KERNEL__ */ +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; + void (*sa_restorer)(void); + }; + ++#ifndef _SIGNAL_H + struct sigaction { + __sighandler_t sa_handler; + unsigned long sa_flags; + void (*sa_restorer)(void); + sigset_t sa_mask; /* mask last for extensibility */ + }; ++#endif + + struct k_sigaction { + struct sigaction sa; + }; + ++#ifndef _SIGNAL_H + typedef struct sigaltstack { + void *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.6/include/asm-x86_64/system.h linux-2.6.6-gentoo/include/asm-x86_64/system.h +--- linux-2.6.6/include/asm-x86_64/system.h 2004-06-02 19:25:27.000000000 +0100 ++++ linux-2.6.6-gentoo/include/asm-x86_64/system.h 2004-06-02 19:25:17.000000000 +0100 +@@ -5,6 +5,30 @@ + #include <linux/kernel.h> + #include <asm/segment.h> + ++/* ++ * 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__ + + #ifdef CONFIG_SMP +@@ -114,30 +138,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.6/include/asm-x86_64/sigcontext.h linux-2.6.6-gentoo/include/asm-x86_64/sigcontext.h +--- linux-2.6.6/include/asm-x86_64/sigcontext.h 2004-05-25 17:47:07.000000000 +0100 ++++ linux-2.6.6-gentoo/include/asm-x86_64/sigcontext.h 2004-06-02 22:04:52.000000000 +0100 +@@ -6,6 +6,8 @@ + /* FXSAVE frame */ + /* Note: reserved1/2 may someday contain valuable data. Always save/restore + them when you change signal frames. */ ++ ++#ifndef _SIGNAL_H + struct _fpstate { + __u16 cwd; + __u16 swd; +@@ -52,3 +54,4 @@ + }; + + #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/list.h linux-2.6.7-gentoo/include/linux/list.h +--- linux-2.6.7/include/linux/list.h 2004-06-18 18:09:41.000000000 +0100 ++++ linux-2.6.7-gentoo/list.h 2004-06-18 18:35:51.994982432 +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> +@@ -678,7 +676,5 @@ + pos && ({ n = pos->next; 1; }) && \ + ({ tpos = hlist_entry(pos, typeof(*tpos), member); 1;}); \ + pos = n) +-#else +-#warning "don't include kernel headers in userspace" +-#endif /* __KERNEL__ */ ++ + #endif +diff -ur linux-2.6.7/include/linux/netfilter_ipv4/ip_tables.h linux-2.6.7-gentoo/netfilter_ipv4/ip_tables.h +--- linux-2.6.7/include/linux/netfilter_ipv4/ip_tables.h 2004-06-16 06:19:29.000000000 +0100 ++++ linux-2.6.7-gentoo/netfilter_ipv4/ip_tables.h 2004-06-18 18:24:58.310357600 +0100 +@@ -22,6 +22,10 @@ + #include <linux/ip.h> + #include <linux/skbuff.h> + #endif ++#ifndef DECLARE_MUTEX ++# include <asm/semaphore.h> ++#endif ++#include <linux/compiler.h> + #include <linux/netfilter_ipv4.h> + + #define IPT_FUNCTION_MAXNAMELEN 30 +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.7/include/linux/netfilter_ipv6/ip6_tables.h linux-2.6.7/include/linux/netfilter_ipv6/ip6_tables.h +--- linux-2.6.7/include/linux/netfilter_ipv6/ip6_tables.h 2004-06-16 06:20:04.000000000 +0100 ++++ linux-2.6.7-gentoo/netfilter_ipv6/ip6_tables.h 2004-06-18 18:46:47.451337920 +0100 +@@ -22,6 +22,10 @@ + #include <linux/ipv6.h> + #include <linux/skbuff.h> + #endif ++#ifndef DECLARE_MUTEX ++# include <asm/semaphore.h> ++#endif ++#include <linux/compiler.h> + #include <linux/netfilter_ipv6.h> + + #define IP6T_FUNCTION_MAXNAMELEN 30 +diff -ur linux-2.6.7/include/linux/wait.h linux-2.6.7-gentoo/include/linux/wait.h +--- linux-2.6.7/include/linux/wait.h 2004-06-16 06:19:31.000000000 +0100 ++++ linux-2.6.7-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> +@@ -258,6 +257,4 @@ + INIT_LIST_HEAD(&wait->task_list); \ + } while (0) + +-#endif /* __KERNEL__ */ +- + #endif +diff -ur linux-2.6.7/include/linux/fd.h linux-2.6.7-gentoo/include/linux/fd.h +--- linux-2.6.7/include/linux/fd.h 2004-06-12 12:11:54.000000000 +0100 ++++ linux-2.6.7-gentoo/include/linux/fd.h 2004-06-18 20:53:39.000000000 +0100 +@@ -1,6 +1,7 @@ + #ifndef _LINUX_FD_H + #define _LINUX_FD_H + ++#include <linux/compiler.h> + #include <linux/ioctl.h> + + /* New file layout: Now the ioctl definitions immediately follow the +diff -ur linux-2.6.7/include/linux/compiler.h linux-2.6.7-gentoo/include/linux/compiler.h +--- linux-2.6.7/include/linux/compiler.h 2004-06-12 12:11:54.000000000 +0100 ++++ linux-2.6.7-gentoo/include/linux/compiler.h 2004-06-24 09:48:32.478502752 +0100 +@@ -15,6 +15,18 @@ + # define __chk_user_ptr(x) (void)0 + #endif + ++#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__ diff --git a/sys-kernel/linux26-headers/linux26-headers-2.6.1.ebuild b/sys-kernel/linux26-headers/linux26-headers-2.6.1.ebuild new file mode 100644 index 000000000000..bd1850ae1544 --- /dev/null +++ b/sys-kernel/linux26-headers/linux26-headers-2.6.1.ebuild @@ -0,0 +1,149 @@ +# Copyright 1999-2004 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/sys-kernel/linux26-headers/linux26-headers-2.6.1.ebuild,v 1.1 2004/07/09 22:44:48 lv Exp $ + +ETYPE="headers" +inherit kernel eutils + +OKV="${PV/_/-}" +KV="${OKV}" +S=${WORKDIR}/linux-${OKV} +EXTRAVERSION="" + +# What's in this kernel? + +# INCLUDED: +# 1) linux sources from kernel.org + +DESCRIPTION="Linux ${OKV} headers from kernel.org" +SRC_URI="mirror://kernel/linux/kernel/v2.6/linux-${OKV}.tar.bz2" +HOMEPAGE="http://www.kernel.org/ http://www.gentoo.org/" +LICENSE="GPL-2" +SLOT="0" +PROVIDE="virtual/kernel virtual/os-headers" +KEYWORDS="-*" + +DEPEND="!virtual/os-headers" + + +pkg_setup() { + # Figure out what architecture we are, and set ARCH appropriately + ARCH="$(uname -m)" + ARCH="$(echo ${ARCH} | sed -e s/i.86/i386/ -e s/sun4u/sparc64/ -e s/arm.*/arm/ -e s/sa110/arm/)" + [ "$ARCH" == "sparc" -a "$PROFILE_ARCH" == "sparc64" ] && ARCH=sparc64 + + + # Archs which have their own separate header packages, add a check here + # and redirect the user to them + case "${ARCH}" in + mips|mips64|hppa) + eerror "These headers are not appropriate for your architecture." + eerror "Please use sys-kernel/${ARCH/64/}-headers instead." + die + ;; + esac +} + +src_unpack() { + + unpack ${A} + cd ${S} + + # Do Stuff + kernel_universal_unpack + + # User-space patches for various things + epatch ${FILESDIR}/${PN}-2.6.0-appCompat.patch + epatch ${FILESDIR}/${PN}-2.6.0-strict-ansi-fix.patch + epatch ${FILESDIR}/${PN}-2.6.0-sysctl_h-compat.patch + epatch ${FILESDIR}/${PN}-2.6.0-fb.patch + +} + +src_compile() { + + # Compile the default configuration + MY_ARCH=${ARCH} + unset ${ARCH} + make defconfig + ARCH=${MY_ARCH} + + # If this is sparc, then generate asm_offsets.h + if use sparc; then + make ARCH=${ARCH} dep || die "Failed to run 'make dep'" + fi + +} + +src_install() { + + # XXX Bug in Kernel.eclass requires this fix for now. + # XXX Remove when kernel.eclass is fixed. + # XXX 2.4 kernels symlink 'asm' to 'asm-${ARCH}' in include/ + # XXX 2.6 kernels don't, however. So we fix this here so kernel.eclass can find the include/asm folder + if [ "`KV_to_int ${OKV}`" -ge "`KV_to_int 2.6.0`" ]; then + ln -sf ${S}/include/asm-${ARCH} ${S}/include/asm + fi + + + # Do normal src_install stuff + kernel_src_install + + # If this is sparc, then we need to place asm_offsets.h in the proper location(s) + if use sparc; then + + # We don't need /usr/include/asm, generate-asm-sparc will take care of this + rm -Rf ${D}/usr/include/asm + + # We do need empty directories, though... + dodir /usr/include/asm + dodir /usr/include/asm-sparc + + # Copy asm-sparc + cp -ax ${S}/include/asm-sparc/* ${D}/usr/include/asm-sparc + + # If this is sparc64, then we need asm-sparc64 stuff too + if [ "${PROFILE_ARCH}" = "sparc64" ]; then + dodir /usr/include/asm-sparc64 + cp -ax ${S}/include/asm-sparc64/* ${D}/usr/include/asm-sparc64 + fi + + # Check if generate-asm-sparc exists + if [ -a "${FILESDIR}/generate-asm-sparc" ]; then + + # Copy generate-asm-sparc into the sandox + cp ${FILESDIR}/generate-asm-sparc ${WORKDIR}/generate-asm-sparc + + # Just in case generate-asm-sparc isn't executable, make it so + if [ ! -x "${WORKDIR}/generate-asm-sparc" ]; then + chmod +x ${WORKDIR}/generate-asm-sparc + fi + + # Generate /usr/include/asm for sparc systems + ${WORKDIR}/generate-asm-sparc ${D}/usr/include + else + eerror "${FILESDIR}/generate-asm-sparc doesn't exist!" + die + fi + fi + + # If this is 2.5 or 2.6 headers, then we need asm-generic too + if [ "`KV_to_int ${OKV}`" -ge "`KV_to_int 2.6.0`" ]; then + dodir /usr/include/asm-generic + cp -ax ${S}/include/asm-generic/* ${D}/usr/include/asm-generic + fi +} + +pkg_preinst() { + kernel_pkg_preinst +} + +pkg_postinst() { + kernel_pkg_postinst + + einfo "Kernel headers are usually only used when recompiling glibc, as such, following the installation" + einfo "of newer headers, it is advised that you re-merge glibc as follows:" + einfo "emerge glibc" + einfo "Failure to do so will cause glibc to not make use of newer features present in the updated kernel" + einfo "headers." +} diff --git a/sys-kernel/linux26-headers/linux26-headers-2.6.3-r1.ebuild b/sys-kernel/linux26-headers/linux26-headers-2.6.3-r1.ebuild new file mode 100644 index 000000000000..1d9adc477888 --- /dev/null +++ b/sys-kernel/linux26-headers/linux26-headers-2.6.3-r1.ebuild @@ -0,0 +1,145 @@ +# Copyright 1999-2004 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/sys-kernel/linux26-headers/linux26-headers-2.6.3-r1.ebuild,v 1.1 2004/07/09 22:44:48 lv Exp $ + +ETYPE="headers" +inherit kernel eutils + +OKV="${PV/_/-}" +KV="${OKV}" +S=${WORKDIR}/linux-${OKV} +EXTRAVERSION="" + +# What's in this kernel? + +# INCLUDED: +# 1) linux sources from kernel.org + +DESCRIPTION="Linux ${OKV} headers from kernel.org" +SRC_URI="mirror://kernel/linux/kernel/v2.6/linux-${OKV}.tar.bz2" +HOMEPAGE="http://www.kernel.org/ http://www.gentoo.org/" +LICENSE="GPL-2" +SLOT="0" +PROVIDE="virtual/kernel virtual/os-headers" +KEYWORDS="-*" + +DEPEND="!virtual/os-headers" + + +pkg_setup() { + # Figure out what architecture we are, and set ARCH appropriately + ARCH="$(uname -m)" + ARCH="$(echo ${ARCH} | sed -e s/i.86/i386/ -e s/sun4u/sparc64/ -e s/arm.*/arm/ -e s/sa110/arm/)" + [ "$ARCH" == "sparc" -a "$PROFILE_ARCH" == "sparc64" ] && ARCH=sparc64 + + + # Archs which have their own separate header packages, add a check here + # and redirect the user to them + case "${ARCH}" in + mips|mips64|hppa) + eerror "These headers are not appropriate for your architecture." + eerror "Please use sys-kernel/${ARCH/64/}-headers instead." + die + ;; + esac +} + +src_unpack() { + + unpack ${A} + cd ${S} + + # Do Stuff + kernel_universal_unpack + + # User-space patches for various things + epatch ${FILESDIR}/${P}-appCompat.patch + epatch ${FILESDIR}/${P}-strict-ansi-fix.patch + epatch ${FILESDIR}/${PN}-2.6.0-sysctl_h-compat.patch + epatch ${FILESDIR}/${PN}-2.6.0-fb.patch + +} + +src_compile() { + + # Compile the default configuration + MY_ARCH=${ARCH} + unset ${ARCH} + make defconfig + ARCH=${MY_ARCH} + + # If this is sparc, then generate asm_offsets.h + if use sparc; then + make ARCH=${ARCH} dep || die "Failed to run 'make dep'" + fi + +} + +src_install() { + + # XXX Bug in Kernel.eclass requires this fix for now. + # XXX Remove when kernel.eclass is fixed. + # XXX 2.4 kernels symlink 'asm' to 'asm-${ARCH}' in include/ + # XXX 2.6 kernels don't, however. So we fix this here so kernel.eclass can find the include/asm folder + if [ "`KV_to_int ${OKV}`" -ge "`KV_to_int 2.6.0`" ]; then + ln -sf ${S}/include/asm-${ARCH} ${S}/include/asm + fi + + + # Do normal src_install stuff + kernel_src_install + + # If this is sparc, then we need to place asm_offsets.h in the proper location(s) + if [ "${PROFILE_ARCH}" = "sparc64" ]; then + + # We don't need /usr/include/asm, generate-asm-sparc will take care of this + rm -Rf ${D}/usr/include/asm + + # We do need empty directories, though... + dodir /usr/include/asm + dodir /usr/include/asm-sparc + dodir /usr/include/asm-sparc64 + + # Copy asm-sparc and asm-sparc64 + cp -ax ${S}/include/asm-sparc/* ${D}/usr/include/asm-sparc + cp -ax ${S}/include/asm-sparc64/* ${D}/usr/include/asm-sparc64 + + # Check if generate-asm-sparc exists + if [ -a "${FILESDIR}/generate-asm-sparc" ]; then + + # Copy generate-asm-sparc into the sandox + cp ${FILESDIR}/generate-asm-sparc ${WORKDIR}/generate-asm-sparc + + # Just in case generate-asm-sparc isn't executable, make it so + if [ ! -x "${WORKDIR}/generate-asm-sparc" ]; then + chmod +x ${WORKDIR}/generate-asm-sparc + fi + + # Generate /usr/include/asm for sparc systems + ${WORKDIR}/generate-asm-sparc ${D}/usr/include + else + eerror "${FILESDIR}/generate-asm-sparc doesn't exist!" + die + fi + fi + + # If this is 2.5 or 2.6 headers, then we need asm-generic too + if [ "`KV_to_int ${OKV}`" -ge "`KV_to_int 2.6.0`" ]; then + dodir /usr/include/asm-generic + cp -ax ${S}/include/asm-generic/* ${D}/usr/include/asm-generic + fi +} + +pkg_preinst() { + kernel_pkg_preinst +} + +pkg_postinst() { + kernel_pkg_postinst + + einfo "Kernel headers are usually only used when recompiling glibc, as such, following the installation" + einfo "of newer headers, it is advised that you re-merge glibc as follows:" + einfo "emerge glibc" + einfo "Failure to do so will cause glibc to not make use of newer features present in the updated kernel" + einfo "headers." +} diff --git a/sys-kernel/linux26-headers/linux26-headers-2.6.4.ebuild b/sys-kernel/linux26-headers/linux26-headers-2.6.4.ebuild new file mode 100644 index 000000000000..2dd12aff96f6 --- /dev/null +++ b/sys-kernel/linux26-headers/linux26-headers-2.6.4.ebuild @@ -0,0 +1,150 @@ +# Copyright 1999-2004 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/sys-kernel/linux26-headers/linux26-headers-2.6.4.ebuild,v 1.1 2004/07/09 22:44:48 lv Exp $ + +ETYPE="headers" +inherit kernel eutils + +OKV="${PV/_/-}" +KV="${OKV}" +S=${WORKDIR}/linux-${OKV} +EXTRAVERSION="" + +# What's in this kernel? + +# INCLUDED: +# 1) linux sources from kernel.org + +DESCRIPTION="Linux ${OKV} headers from kernel.org" +SRC_URI="mirror://kernel/linux/kernel/v2.6/linux-${OKV}.tar.bz2" +HOMEPAGE="http://www.kernel.org/ http://www.gentoo.org/" +LICENSE="GPL-2" +SLOT="0" +PROVIDE="virtual/kernel virtual/os-headers" +KEYWORDS="-*" + +DEPEND="!virtual/os-headers" + + +pkg_setup() { + # Figure out what architecture we are, and set ARCH appropriately + ARCH="$(uname -m)" + ARCH="$(echo ${ARCH} | sed -e s/i.86/i386/ -e s/sun4u/sparc64/ -e s/arm.*/arm/ -e s/sa110/arm/)" + [ "$ARCH" == "sparc" -a "$PROFILE_ARCH" == "sparc64" ] && ARCH=sparc64 + + + # Archs which have their own separate header packages, add a check here + # and redirect the user to them + case "${ARCH}" in + mips|mips64|hppa) + eerror "These headers are not appropriate for your architecture." + eerror "Please use sys-kernel/${ARCH/64/}-headers instead." + die + ;; + esac +} + +src_unpack() { + + unpack ${A} + cd ${S} + + # Do Stuff + kernel_universal_unpack + + # User-space patches for various things + epatch ${FILESDIR}/${P}-appCompat.patch + epatch ${FILESDIR}/${PN}-2.6.3-strict-ansi-fix.patch + epatch ${FILESDIR}/${PN}-2.6.0-sysctl_h-compat.patch + epatch ${FILESDIR}/${PN}-2.6.0-fb.patch + + # Needed to compile NPTL on amd64 + if use amd64; then + cd ${S}/include/asm-x86_64/ + epatch ${FILESDIR}/${PN}-2.6.4-unistd-nptl-fix.patch + fi +} + +src_compile() { + + # Compile the default configuration + MY_ARCH=${ARCH} + unset ${ARCH} + make defconfig + ARCH=${MY_ARCH} + + # If this is sparc, then generate asm_offsets.h + if use sparc; then + make ARCH=${ARCH} dep || die "Failed to run 'make dep'" + fi + +} + +src_install() { + + # XXX Bug in Kernel.eclass requires this fix for now. + # XXX Remove when kernel.eclass is fixed. + # XXX 2.4 kernels symlink 'asm' to 'asm-${ARCH}' in include/ + # XXX 2.6 kernels don't, however. So we fix this here so kernel.eclass can find the include/asm folder + if [ "`KV_to_int ${OKV}`" -ge "`KV_to_int 2.6.0`" ]; then + ln -sf ${S}/include/asm-${ARCH} ${S}/include/asm + fi + + + # Do normal src_install stuff + kernel_src_install + + # If this is sparc, then we need to place asm_offsets.h in the proper location(s) + if [ "${PROFILE_ARCH}" = "sparc64" ]; then + + # We don't need /usr/include/asm, generate-asm-sparc will take care of this + rm -Rf ${D}/usr/include/asm + + # We do need empty directories, though... + dodir /usr/include/asm + dodir /usr/include/asm-sparc + dodir /usr/include/asm-sparc64 + + # Copy asm-sparc and asm-sparc64 + cp -ax ${S}/include/asm-sparc/* ${D}/usr/include/asm-sparc + cp -ax ${S}/include/asm-sparc64/* ${D}/usr/include/asm-sparc64 + + # Check if generate-asm-sparc exists + if [ -a "${FILESDIR}/generate-asm-sparc" ]; then + + # Copy generate-asm-sparc into the sandox + cp ${FILESDIR}/generate-asm-sparc ${WORKDIR}/generate-asm-sparc + + # Just in case generate-asm-sparc isn't executable, make it so + if [ ! -x "${WORKDIR}/generate-asm-sparc" ]; then + chmod +x ${WORKDIR}/generate-asm-sparc + fi + + # Generate /usr/include/asm for sparc systems + ${WORKDIR}/generate-asm-sparc ${D}/usr/include + else + eerror "${FILESDIR}/generate-asm-sparc doesn't exist!" + die + fi + fi + + # If this is 2.5 or 2.6 headers, then we need asm-generic too + if [ "`KV_to_int ${OKV}`" -ge "`KV_to_int 2.6.0`" ]; then + dodir /usr/include/asm-generic + cp -ax ${S}/include/asm-generic/* ${D}/usr/include/asm-generic + fi +} + +pkg_preinst() { + kernel_pkg_preinst +} + +pkg_postinst() { + kernel_pkg_postinst + + einfo "Kernel headers are usually only used when recompiling glibc, as such, following the installation" + einfo "of newer headers, it is advised that you re-merge glibc as follows:" + einfo "emerge glibc" + einfo "Failure to do so will cause glibc to not make use of newer features present in the updated kernel" + einfo "headers." +} diff --git a/sys-kernel/linux26-headers/linux26-headers-2.6.5.ebuild b/sys-kernel/linux26-headers/linux26-headers-2.6.5.ebuild new file mode 100644 index 000000000000..47ee4fe004c5 --- /dev/null +++ b/sys-kernel/linux26-headers/linux26-headers-2.6.5.ebuild @@ -0,0 +1,150 @@ +# Copyright 1999-2004 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/sys-kernel/linux26-headers/linux26-headers-2.6.5.ebuild,v 1.1 2004/07/09 22:44:48 lv Exp $ + +ETYPE="headers" +inherit kernel eutils + +OKV="${PV/_/-}" +KV="${OKV}" +S=${WORKDIR}/linux-${OKV} +EXTRAVERSION="" + +# What's in this kernel? + +# INCLUDED: +# 1) linux sources from kernel.org + +DESCRIPTION="Linux ${OKV} headers from kernel.org" +SRC_URI="mirror://kernel/linux/kernel/v2.6/linux-${OKV}.tar.bz2" +HOMEPAGE="http://www.kernel.org/ http://www.gentoo.org/" +LICENSE="GPL-2" +SLOT="0" +PROVIDE="virtual/kernel virtual/os-headers" +KEYWORDS="-* arm" + +DEPEND="!virtual/os-headers" + + +pkg_setup() { + # Figure out what architecture we are, and set ARCH appropriately + ARCH="$(uname -m)" + ARCH="$(echo ${ARCH} | sed -e s/i.86/i386/ -e s/sun4u/sparc64/ -e s/arm.*/arm/ -e s/sa110/arm/)" + [ "$ARCH" == "sparc" -a "$PROFILE_ARCH" == "sparc64" ] && ARCH=sparc64 + + + # Archs which have their own separate header packages, add a check here + # and redirect the user to them + case "${ARCH}" in + mips|mips64|hppa) + eerror "These headers are not appropriate for your architecture." + eerror "Please use sys-kernel/${ARCH/64/}-headers instead." + die + ;; + esac +} + +src_unpack() { + + unpack ${A} + cd ${S} + + # Do Stuff + kernel_universal_unpack + + # User-space patches for various things + epatch ${FILESDIR}/${PN}-2.6.4-appCompat.patch + epatch ${FILESDIR}/${PN}-2.6.3-strict-ansi-fix.patch + epatch ${FILESDIR}/${PN}-2.6.0-sysctl_h-compat.patch + epatch ${FILESDIR}/${PN}-2.6.0-fb.patch + + # Needed to compile NPTL on amd64 + if use amd64; then + cd ${S}/include/asm-x86_64/ + epatch ${FILESDIR}/${PN}-2.6.4-unistd-nptl-fix.patch + fi +} + +src_compile() { + + # Compile the default configuration + MY_ARCH=${ARCH} + unset ${ARCH} + make defconfig + ARCH=${MY_ARCH} + + # If this is sparc, then generate asm_offsets.h + if use sparc; then + make ARCH=${ARCH} dep || die "Failed to run 'make dep'" + fi + +} + +src_install() { + + # XXX Bug in Kernel.eclass requires this fix for now. + # XXX Remove when kernel.eclass is fixed. + # XXX 2.4 kernels symlink 'asm' to 'asm-${ARCH}' in include/ + # XXX 2.6 kernels don't, however. So we fix this here so kernel.eclass can find the include/asm folder + if [ "`KV_to_int ${OKV}`" -ge "`KV_to_int 2.6.0`" ]; then + ln -sf ${S}/include/asm-${ARCH} ${S}/include/asm + fi + + + # Do normal src_install stuff + kernel_src_install + + # If this is sparc, then we need to place asm_offsets.h in the proper location(s) + if [ "${PROFILE_ARCH}" = "sparc64" ]; then + + # We don't need /usr/include/asm, generate-asm-sparc will take care of this + rm -Rf ${D}/usr/include/asm + + # We do need empty directories, though... + dodir /usr/include/asm + dodir /usr/include/asm-sparc + dodir /usr/include/asm-sparc64 + + # Copy asm-sparc and asm-sparc64 + cp -ax ${S}/include/asm-sparc/* ${D}/usr/include/asm-sparc + cp -ax ${S}/include/asm-sparc64/* ${D}/usr/include/asm-sparc64 + + # Check if generate-asm-sparc exists + if [ -a "${FILESDIR}/generate-asm-sparc" ]; then + + # Copy generate-asm-sparc into the sandox + cp ${FILESDIR}/generate-asm-sparc ${WORKDIR}/generate-asm-sparc + + # Just in case generate-asm-sparc isn't executable, make it so + if [ ! -x "${WORKDIR}/generate-asm-sparc" ]; then + chmod +x ${WORKDIR}/generate-asm-sparc + fi + + # Generate /usr/include/asm for sparc systems + ${WORKDIR}/generate-asm-sparc ${D}/usr/include + else + eerror "${FILESDIR}/generate-asm-sparc doesn't exist!" + die + fi + fi + + # If this is 2.5 or 2.6 headers, then we need asm-generic too + if [ "`KV_to_int ${OKV}`" -ge "`KV_to_int 2.6.0`" ]; then + dodir /usr/include/asm-generic + cp -ax ${S}/include/asm-generic/* ${D}/usr/include/asm-generic + fi +} + +pkg_preinst() { + kernel_pkg_preinst +} + +pkg_postinst() { + kernel_pkg_postinst + + einfo "Kernel headers are usually only used when recompiling glibc, as such, following the installation" + einfo "of newer headers, it is advised that you re-merge glibc as follows:" + einfo "emerge glibc" + einfo "Failure to do so will cause glibc to not make use of newer features present in the updated kernel" + einfo "headers." +} diff --git a/sys-kernel/linux26-headers/linux26-headers-2.6.6-r1.ebuild b/sys-kernel/linux26-headers/linux26-headers-2.6.6-r1.ebuild new file mode 100644 index 000000000000..2f228f11ccaf --- /dev/null +++ b/sys-kernel/linux26-headers/linux26-headers-2.6.6-r1.ebuild @@ -0,0 +1,152 @@ +# Copyright 1999-2004 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/sys-kernel/linux26-headers/linux26-headers-2.6.6-r1.ebuild,v 1.1 2004/07/09 22:44:48 lv Exp $ + +ETYPE="headers" +inherit kernel eutils + +OKV="${PV/_/-}" +KV="${OKV}" +S=${WORKDIR}/linux-${OKV} +EXTRAVERSION="" + +# What's in this kernel? + +# INCLUDED: +# 1) linux sources from kernel.org + +DESCRIPTION="Linux ${OKV} headers from kernel.org" +SRC_URI="mirror://kernel/linux/kernel/v2.6/linux-${OKV}.tar.bz2" +HOMEPAGE="http://www.kernel.org/ http://www.gentoo.org/" +LICENSE="GPL-2" +SLOT="0" +PROVIDE="virtual/kernel virtual/os-headers" +KEYWORDS="-* arm amd64" + +DEPEND="!virtual/os-headers" + +pkg_setup() { + # Figure out what architecture we are, and set ARCH appropriately + ARCH="$(uname -m)" + ARCH="$(echo ${ARCH} | sed -e s/i.86/i386/ -e s/sun4u/sparc64/ -e s/arm.*/arm/ -e s/sa110/arm/)" + [ "$ARCH" == "sparc" -a "$PROFILE_ARCH" == "sparc64" ] && ARCH=sparc64 + + # Archs which have their own separate header packages, add a check here + # and redirect the user to them + case "${ARCH}" in + mips|mips64) + eerror "These headers are not appropriate for your architecture." + eerror "Please use sys-kernel/${ARCH/64/}-headers instead." + die + ;; + esac +} + +src_unpack() { + + unpack ${A} + cd ${S} + + # Do Stuff + kernel_universal_unpack + + # User-space patches for various things + epatch ${FILESDIR}/${PN}-2.6.6-appCompat.patch + epatch ${FILESDIR}/${PN}-2.6.3-strict-ansi-fix.patch + epatch ${FILESDIR}/${PN}-2.6.0-sysctl_h-compat.patch + epatch ${FILESDIR}/${PN}-2.6.0-fb.patch + + # Needed to compile NPTL on amd64 + if use amd64; then + cd ${S}/include/asm-x86_64/ + epatch ${FILESDIR}/${PN}-2.6.4-unistd-nptl-fix.patch + cd ${S} + fi + + # 2.6.7 structure change backport to get iproute2 to compile on + # 2.6.6 headers + + epatch ${FILESDIR}/${P}-tcp_info-DRS-backport.patch +} + +src_compile() { + + # Compile the default configuration + MY_ARCH=${ARCH} + unset ${ARCH} + make defconfig + ARCH=${MY_ARCH} + + # If this is sparc, then generate asm_offsets.h + if use sparc; then + make ARCH=${ARCH} dep || die "Failed to run 'make dep'" + fi + +} + +src_install() { + # XXX Bug in Kernel.eclass requires this fix for now. + # XXX Remove when kernel.eclass is fixed. + # XXX 2.4 kernels symlink 'asm' to 'asm-${ARCH}' in include/ + # XXX 2.6 kernels don't, however. So we fix this here so kernel.eclass can find the include/asm folder + if [ "`KV_to_int ${OKV}`" -ge "`KV_to_int 2.6.0`" ]; then + ln -sf ${S}/include/asm-${ARCH} ${S}/include/asm + fi + + # Do normal src_install stuff + kernel_src_install + + # If this is sparc, then we need to place asm_offsets.h in the proper location(s) + if [ "${PROFILE_ARCH}" = "sparc64" ]; then + + # We don't need /usr/include/asm, generate-asm-sparc will take care of this + rm -Rf ${D}/usr/include/asm + + # We do need empty directories, though... + dodir /usr/include/asm + dodir /usr/include/asm-sparc + dodir /usr/include/asm-sparc64 + + # Copy asm-sparc and asm-sparc64 + cp -ax ${S}/include/asm-sparc/* ${D}/usr/include/asm-sparc + cp -ax ${S}/include/asm-sparc64/* ${D}/usr/include/asm-sparc64 + + # Check if generate-asm-sparc exists + if [ -a "${FILESDIR}/generate-asm-sparc" ]; then + + # Copy generate-asm-sparc into the sandox + cp ${FILESDIR}/generate-asm-sparc ${WORKDIR}/generate-asm-sparc + + # Just in case generate-asm-sparc isn't executable, make it so + if [ ! -x "${WORKDIR}/generate-asm-sparc" ]; then + chmod +x ${WORKDIR}/generate-asm-sparc + fi + + # Generate /usr/include/asm for sparc systems + ${WORKDIR}/generate-asm-sparc ${D}/usr/include + else + eerror "${FILESDIR}/generate-asm-sparc doesn't exist!" + die + fi + fi + + # If this is 2.5 or 2.6 headers, then we need asm-generic too + if [ "`KV_to_int ${OKV}`" -ge "`KV_to_int 2.6.0`" ]; then + dodir /usr/include/asm-generic + cp -ax ${S}/include/asm-generic/* ${D}/usr/include/asm-generic + fi +} + +pkg_preinst() { + kernel_pkg_preinst +} + +pkg_postinst() { + kernel_pkg_postinst + + einfo "Kernel headers are usually only used when recompiling glibc, as such, following the installation" + einfo "of newer headers, it is advised that you re-merge glibc as follows:" + einfo "emerge glibc" + einfo "Failure to do so will cause glibc to not make use of newer features present in the updated kernel" + einfo "headers." +} diff --git a/sys-kernel/linux26-headers/linux26-headers-2.6.6.ebuild b/sys-kernel/linux26-headers/linux26-headers-2.6.6.ebuild new file mode 100644 index 000000000000..c44785253a67 --- /dev/null +++ b/sys-kernel/linux26-headers/linux26-headers-2.6.6.ebuild @@ -0,0 +1,146 @@ +# Copyright 1999-2004 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/sys-kernel/linux26-headers/linux26-headers-2.6.6.ebuild,v 1.1 2004/07/09 22:44:48 lv Exp $ + +ETYPE="headers" +inherit kernel eutils + +OKV="${PV/_/-}" +KV="${OKV}" +S=${WORKDIR}/linux-${OKV} +EXTRAVERSION="" + +# What's in this kernel? + +# INCLUDED: +# 1) linux sources from kernel.org + +DESCRIPTION="Linux ${OKV} headers from kernel.org" +SRC_URI="mirror://kernel/linux/kernel/v2.6/linux-${OKV}.tar.bz2" +HOMEPAGE="http://www.kernel.org/ http://www.gentoo.org/" +LICENSE="GPL-2" +SLOT="0" +PROVIDE="virtual/kernel virtual/os-headers" +KEYWORDS="-* arm amd64" + +DEPEND="!virtual/os-headers" + +pkg_setup() { + # Figure out what architecture we are, and set ARCH appropriately + ARCH="$(uname -m)" + ARCH="$(echo ${ARCH} | sed -e s/i.86/i386/ -e s/sun4u/sparc64/ -e s/arm.*/arm/ -e s/sa110/arm/)" + [ "$ARCH" == "sparc" -a "$PROFILE_ARCH" == "sparc64" ] && ARCH=sparc64 + + # Archs which have their own separate header packages, add a check here + # and redirect the user to them + case "${ARCH}" in + mips|mips64) + eerror "These headers are not appropriate for your architecture." + eerror "Please use sys-kernel/${ARCH/64/}-headers instead." + die + ;; + esac +} + +src_unpack() { + + unpack ${A} + cd ${S} + + # Do Stuff + kernel_universal_unpack + + # User-space patches for various things + epatch ${FILESDIR}/${PN}-2.6.6-appCompat.patch + epatch ${FILESDIR}/${PN}-2.6.3-strict-ansi-fix.patch + epatch ${FILESDIR}/${PN}-2.6.0-sysctl_h-compat.patch + epatch ${FILESDIR}/${PN}-2.6.0-fb.patch + + # Needed to compile NPTL on amd64 + if use amd64; then + cd ${S}/include/asm-x86_64/ + epatch ${FILESDIR}/${PN}-2.6.4-unistd-nptl-fix.patch + fi +} + +src_compile() { + + # Compile the default configuration + MY_ARCH=${ARCH} + unset ${ARCH} + make defconfig + ARCH=${MY_ARCH} + + # If this is sparc, then generate asm_offsets.h + if use sparc; then + make ARCH=${ARCH} dep || die "Failed to run 'make dep'" + fi + +} + +src_install() { + # XXX Bug in Kernel.eclass requires this fix for now. + # XXX Remove when kernel.eclass is fixed. + # XXX 2.4 kernels symlink 'asm' to 'asm-${ARCH}' in include/ + # XXX 2.6 kernels don't, however. So we fix this here so kernel.eclass can find the include/asm folder + if [ "`KV_to_int ${OKV}`" -ge "`KV_to_int 2.6.0`" ]; then + ln -sf ${S}/include/asm-${ARCH} ${S}/include/asm + fi + + # Do normal src_install stuff + kernel_src_install + + # If this is sparc, then we need to place asm_offsets.h in the proper location(s) + if [ "${PROFILE_ARCH}" = "sparc64" ]; then + + # We don't need /usr/include/asm, generate-asm-sparc will take care of this + rm -Rf ${D}/usr/include/asm + + # We do need empty directories, though... + dodir /usr/include/asm + dodir /usr/include/asm-sparc + dodir /usr/include/asm-sparc64 + + # Copy asm-sparc and asm-sparc64 + cp -ax ${S}/include/asm-sparc/* ${D}/usr/include/asm-sparc + cp -ax ${S}/include/asm-sparc64/* ${D}/usr/include/asm-sparc64 + + # Check if generate-asm-sparc exists + if [ -a "${FILESDIR}/generate-asm-sparc" ]; then + + # Copy generate-asm-sparc into the sandox + cp ${FILESDIR}/generate-asm-sparc ${WORKDIR}/generate-asm-sparc + + # Just in case generate-asm-sparc isn't executable, make it so + if [ ! -x "${WORKDIR}/generate-asm-sparc" ]; then + chmod +x ${WORKDIR}/generate-asm-sparc + fi + + # Generate /usr/include/asm for sparc systems + ${WORKDIR}/generate-asm-sparc ${D}/usr/include + else + eerror "${FILESDIR}/generate-asm-sparc doesn't exist!" + die + fi + fi + + # If this is 2.5 or 2.6 headers, then we need asm-generic too + if [ "`KV_to_int ${OKV}`" -ge "`KV_to_int 2.6.0`" ]; then + dodir /usr/include/asm-generic + cp -ax ${S}/include/asm-generic/* ${D}/usr/include/asm-generic + fi +} + +pkg_preinst() { + kernel_pkg_preinst +} + +pkg_postinst() { + kernel_pkg_postinst + + einfo "Kernel headers are usually only used when recompiling glibc, as such, following the installation" + einfo "of newer headers, it is advised that you re-merge glibc as follows:" + einfo "emerge glibc" + einfo "Failure to do so will cause glibc to not make use of newer features present in the updated kernel" + einfo "headers." +} diff --git a/sys-kernel/linux26-headers/linux26-headers-2.6.7-r1.ebuild b/sys-kernel/linux26-headers/linux26-headers-2.6.7-r1.ebuild new file mode 100644 index 000000000000..ef913448c358 --- /dev/null +++ b/sys-kernel/linux26-headers/linux26-headers-2.6.7-r1.ebuild @@ -0,0 +1,140 @@ +# Copyright 1999-2004 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/sys-kernel/linux26-headers/linux26-headers-2.6.7-r1.ebuild,v 1.1 2004/07/09 22:44:48 lv Exp $ + +ETYPE="headers" +inherit kernel eutils + +OKV="${PV/_/-}" +KV="${OKV}" +S=${WORKDIR}/linux-${OKV} +EXTRAVERSION="" + +# What's in this kernel? + +# INCLUDED: +# 1) linux sources from kernel.org + +DESCRIPTION="Linux ${OKV} headers from kernel.org" +SRC_URI="mirror://kernel/linux/kernel/v2.6/linux-${OKV}.tar.bz2" +HOMEPAGE="http://www.kernel.org/ http://www.gentoo.org/" +LICENSE="GPL-2" +SLOT="0" +PROVIDE="virtual/kernel virtual/os-headers" +KEYWORDS="-* ~arm" + +DEPEND="!virtual/os-headers" + +pkg_setup() { + # Figure out what architecture we are, and set ARCH appropriately + ARCH="$(uname -m)" + ARCH="$(echo ${ARCH} | sed -e s/i.86/i386/ -e s/sun4u/sparc64/ -e s/arm.*/arm/ -e s/sa110/arm/)" + [ "$ARCH" == "sparc" -a "$PROFILE_ARCH" == "sparc64" ] && ARCH=sparc64 + + # Archs which have their own separate header packages, add a check here + # and redirect the user to them + case "${ARCH}" in + mips|mips64) + eerror "These headers are not appropriate for your architecture." + eerror "Please use sys-kernel/${ARCH/64/}-headers instead." + die + ;; + esac +} + +src_unpack() { + + unpack ${A} + cd ${S} + + # Do Stuff + kernel_universal_unpack + + # User-space patches for various things + epatch ${FILESDIR}/${PN}-2.6.7-appCompat.patch + epatch ${FILESDIR}/${PN}-2.6.3-strict-ansi-fix.patch + epatch ${FILESDIR}/${PN}-2.6.0-sysctl_h-compat.patch + epatch ${FILESDIR}/${PN}-2.6.0-fb.patch +} + +src_compile() { + + # Compile the default configuration + MY_ARCH=${ARCH} + unset ${ARCH} + make defconfig + ARCH=${MY_ARCH} + + # If this is sparc, then generate asm_offsets.h + if use sparc; then + make ARCH=${ARCH} dep || die "Failed to run 'make dep'" + fi + +} + +src_install() { + # XXX Bug in Kernel.eclass requires this fix for now. + # XXX Remove when kernel.eclass is fixed. + # XXX 2.4 kernels symlink 'asm' to 'asm-${ARCH}' in include/ + # XXX 2.6 kernels don't, however. So we fix this here so kernel.eclass can find the include/asm folder + if [ "`KV_to_int ${OKV}`" -ge "`KV_to_int 2.6.0`" ]; then + ln -sf ${S}/include/asm-${ARCH} ${S}/include/asm + fi + + # Do normal src_install stuff + kernel_src_install + + # If this is sparc, then we need to place asm_offsets.h in the proper location(s) + if [ "${PROFILE_ARCH}" = "sparc64" ]; then + + # We don't need /usr/include/asm, generate-asm-sparc will take care of this + rm -Rf ${D}/usr/include/asm + + # We do need empty directories, though... + dodir /usr/include/asm + dodir /usr/include/asm-sparc + dodir /usr/include/asm-sparc64 + + # Copy asm-sparc and asm-sparc64 + cp -ax ${S}/include/asm-sparc/* ${D}/usr/include/asm-sparc + cp -ax ${S}/include/asm-sparc64/* ${D}/usr/include/asm-sparc64 + + # Check if generate-asm-sparc exists + if [ -a "${FILESDIR}/generate-asm-sparc" ]; then + + # Copy generate-asm-sparc into the sandox + cp ${FILESDIR}/generate-asm-sparc ${WORKDIR}/generate-asm-sparc + + # Just in case generate-asm-sparc isn't executable, make it so + if [ ! -x "${WORKDIR}/generate-asm-sparc" ]; then + chmod +x ${WORKDIR}/generate-asm-sparc + fi + + # Generate /usr/include/asm for sparc systems + ${WORKDIR}/generate-asm-sparc ${D}/usr/include + else + eerror "${FILESDIR}/generate-asm-sparc doesn't exist!" + die + fi + fi + + # If this is 2.5 or 2.6 headers, then we need asm-generic too + if [ "`KV_to_int ${OKV}`" -ge "`KV_to_int 2.6.0`" ]; then + dodir /usr/include/asm-generic + cp -ax ${S}/include/asm-generic/* ${D}/usr/include/asm-generic + fi +} + +pkg_preinst() { + kernel_pkg_preinst +} + +pkg_postinst() { + kernel_pkg_postinst + + einfo "Kernel headers are usually only used when recompiling glibc, as such, following the installation" + einfo "of newer headers, it is advised that you re-merge glibc as follows:" + einfo "emerge glibc" + einfo "Failure to do so will cause glibc to not make use of newer features present in the updated kernel" + einfo "headers." +} diff --git a/sys-kernel/linux26-headers/metadata.xml b/sys-kernel/linux26-headers/metadata.xml new file mode 100644 index 000000000000..0a79a3da756e --- /dev/null +++ b/sys-kernel/linux26-headers/metadata.xml @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> +<herd>kernel</herd> +<maintainer> + <email>plasmaroo@gentoo.org</email> +</maintainer> +<maintainer> + <email>x86-kernel@gentoo.org</email> +</maintainer> +</pkgmetadata> |