diff options
author | Tim Yamin <plasmaroo@gentoo.org> | 2005-02-08 22:34:29 +0000 |
---|---|---|
committer | Tim Yamin <plasmaroo@gentoo.org> | 2005-02-08 22:34:29 +0000 |
commit | 425978e7fa64a0132633e30a7558e3663d49ddaa (patch) | |
tree | 3a3dfe8c8f34deb6432c193f0ff0643f9cb5e733 /sys-kernel | |
parent | Changed 3dgamers mirrors to use mirror://3dgamers instead. (diff) | |
download | gentoo-2-425978e7fa64a0132633e30a7558e3663d49ddaa.tar.gz gentoo-2-425978e7fa64a0132633e30a7558e3663d49ddaa.tar.bz2 gentoo-2-425978e7fa64a0132633e30a7558e3663d49ddaa.zip |
Version bump; also fixes #79252, #79939 and #80552.
(Portage version: 2.0.51.16)
Diffstat (limited to 'sys-kernel')
5 files changed, 2281 insertions, 1 deletions
diff --git a/sys-kernel/linux-headers/ChangeLog b/sys-kernel/linux-headers/ChangeLog index 0057238bab25..69e14114500e 100644 --- a/sys-kernel/linux-headers/ChangeLog +++ b/sys-kernel/linux-headers/ChangeLog @@ -1,6 +1,13 @@ # ChangeLog for sys-kernel/linux-headers # Copyright 2002-2005 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/sys-kernel/linux-headers/ChangeLog,v 1.96 2005/02/03 19:37:49 plasmaroo Exp $ +# $Header: /var/cvsroot/gentoo-x86/sys-kernel/linux-headers/ChangeLog,v 1.97 2005/02/08 22:34:29 plasmaroo Exp $ + +*linux-headers-2.6.10 (08 Feb 2005) + + 08 Feb 2005; <plasmaroo@gentoo.org> +linux-headers-2.6.10.ebuild, + +files/linux-headers-2.6.10-appCompat.patch, + +files/linux-headers-2.6.10-generic-arm-prepare.patch: + Version bump; also fixes #79252, #79939 and #80552. 03 Feb 2005; <plasmaroo@gentoo.org> linux-headers-2.6.8.1-r2.ebuild, linux-headers-2.6.8.1-r4.ebuild, diff --git a/sys-kernel/linux-headers/files/digest-linux-headers-2.6.10 b/sys-kernel/linux-headers/files/digest-linux-headers-2.6.10 new file mode 100644 index 000000000000..4121e4fff530 --- /dev/null +++ b/sys-kernel/linux-headers/files/digest-linux-headers-2.6.10 @@ -0,0 +1 @@ +MD5 cffcd2919d9c8ef793ce1ac07a440eda linux-2.6.10.tar.bz2 36533484 diff --git a/sys-kernel/linux-headers/files/linux-headers-2.6.10-appCompat.patch b/sys-kernel/linux-headers/files/linux-headers-2.6.10-appCompat.patch new file mode 100644 index 000000000000..e463d0ea6f27 --- /dev/null +++ b/sys-kernel/linux-headers/files/linux-headers-2.6.10-appCompat.patch @@ -0,0 +1,2202 @@ +Authors: Tim Yamin <plasmaroo@gentoo.org> + Mike Frysinger <vapier@gentoo.org> + Martin Schlemmer <azarah@gentoo.org> + Jeremy Huddleston <eradicator@gentoo.org> + +This patch neatens up the 2.6 headers for user-space usage and allows backward +compatibility on a variety of applications which are designed for 2.4 headers. + +diff -ur linux-2.6.0/include/linux/bitmap.h linux-2.6.0/include/linux.gentoo/bitmap.h +--- linux-2.6.0/include/linux/bitmap.h 2003-12-27 19:22:38.000000000 +0000 ++++ linux-2.6.0/include/linux.gentoo/bitmap.h 2003-12-27 19:19:31.000000000 +0000 +@@ -1,6 +1,7 @@ + #ifndef __LINUX_BITMAP_H + #define __LINUX_BITMAP_H + ++#ifdef __KERNEL__ + #ifndef __ASSEMBLY__ + + #include <linux/config.h> +@@ -155,5 +156,5 @@ + #endif + + #endif /* __ASSEMBLY__ */ +- ++#endif /* __KERNEL__ */ + #endif /* __LINUX_BITMAP_H */ +diff -ur linux-2.6.0/include/linux/buffer_head.h linux-2.6.0/include/linux.gentoo/buffer_head.h +--- linux-2.6.0/include/linux/buffer_head.h 2003-12-27 19:22:38.000000000 +0000 ++++ linux-2.6.0/include/linux.gentoo/buffer_head.h 2003-12-27 19:19:31.000000000 +0000 +@@ -34,6 +34,8 @@ + + #define MAX_BUF_PER_PAGE (PAGE_CACHE_SIZE / 512) + ++#ifdef __KERNEL__ ++ + struct page; + struct buffer_head; + struct address_space; +@@ -283,6 +285,8 @@ + __wait_on_buffer(bh); + } + ++#endif /* __KERNEL__ */ ++ + static inline void lock_buffer(struct buffer_head *bh) + { + while (test_set_buffer_locked(bh)) +diff -ur linux-2.6.0/include/linux/compiler-gcc2.h linux-2.6.0/include/linux.gentoo/compiler-gcc2.h +--- linux-2.6.0/include/linux/compiler-gcc2.h 2003-12-27 19:22:38.000000000 +0000 ++++ linux-2.6.0/include/linux.gentoo/compiler-gcc2.h 2003-12-27 19:19:31.000000000 +0000 +@@ -12,7 +12,9 @@ + # define __builtin_expect(x, expected_value) (x) + #endif + ++#ifndef __attribute_used__ + #define __attribute_used__ __attribute__((__unused__)) ++#endif + + /* + * The attribute `pure' is not implemented in GCC versions earlier +diff -ur linux-2.6.1/include/linux/cpumask.h linux-2.6.1/include/linux.gentoo/cpumask.h +--- linux-2.6.1/include/linux/cpumask.h 2003-12-27 19:22:38.000000000 +0000 ++++ linux-2.6.1/include/linux.gentoo/cpumask.h 2003-12-27 19:19:31.000000000 +0000 +@@ -1,6 +1,8 @@ + #ifndef __LINUX_CPUMASK_H + #define __LINUX_CPUMASK_H + ++#ifdef __KERNEL__ ++ + /* + * Cpumasks provide a bitmap suitable for representing the + * set of CPU's in a system, one bit position per CPU number. +@@ -68,4 +70,5 @@ + cpu < NR_CPUS; \ + cpu = next_online_cpu(cpu,map)) + ++#endif /* __KERNEL__ */ + #endif /* __LINUX_CPUMASK_H */ +diff -ur linux-2.6.0/include/linux/ext2_fs_sb.h linux-2.6.0/include/linux.gentoo/ext2_fs_sb.h +--- linux-2.6.0/include/linux/ext2_fs_sb.h 2003-12-27 19:22:38.000000000 +0000 ++++ linux-2.6.0/include/linux.gentoo/ext2_fs_sb.h 2003-12-27 19:19:31.000000000 +0000 +@@ -46,9 +46,9 @@ + int s_inode_size; + int s_first_ino; + spinlock_t s_next_gen_lock; +- u32 s_next_generation; ++ __u32 s_next_generation; + unsigned long s_dir_count; +- u8 *s_debts; ++ __u8 *s_debts; + struct percpu_counter s_freeblocks_counter; + struct percpu_counter s_freeinodes_counter; + struct percpu_counter s_dirs_counter; +diff -ur linux-2.6.7/include/linux/mod_devicetable.h linux-2.6.7/include/linux.gentoo/mod_devicetable.h +--- linux-2.6.7/include/linux/mod_devicetable.h.orig 2004-06-16 01:20:19.000000000 -0400 ++++ linux-2.6.7/include/linux/mod_devicetable.h 2004-07-22 14:12:34.707621864 -0400 +@@ -8,6 +8,7 @@ + #define LINUX_MOD_DEVICETABLE_H + + #ifdef __KERNEL__ ++#ifndef __KERNEL_ULONG_T__ + #include <linux/types.h> + typedef unsigned long kernel_ulong_t; + #endif +@@ -164,5 +165,5 @@ + } devs[PNP_MAX_DEVICES]; + }; + +- ++#endif /* __KERNEL__ */ + #endif /* LINUX_MOD_DEVICETABLE_H */ +diff -ur linux-2.6.6/include/linux/radix-tree.h linux-2.6.6/include/linux.gentoo/radix-tree.h +--- linux-2.6.6/include/linux/radix-tree.h 2003-12-27 19:22:38.000000000 +0000 ++++ linux-2.6.6/include/linux.gentoo/radix-tree.h 2003-12-27 19:19:31.000000000 +0000 +@@ -44,6 +44,8 @@ + (root)->rnode = NULL; \ + } while (0) + ++#ifdef __KERNEL__ ++ + int radix_tree_insert(struct radix_tree_root *, unsigned long, void *); + void *radix_tree_lookup(struct radix_tree_root *, unsigned long); + void *radix_tree_delete(struct radix_tree_root *, unsigned long); +@@ -68,4 +70,5 @@ + preempt_enable(); + } + ++#endif /* __KERNEL__ */ + #endif /* _LINUX_RADIX_TREE_H */ +diff -ur linux-2.6.0/include/linux/smp.h linux-2.6.0/include/linux.gentoo/smp.h +--- linux-2.6.0/include/linux/smp.h 2003-12-27 19:22:38.000000000 +0000 ++++ linux-2.6.0/include/linux.gentoo/smp.h 2003-12-27 19:19:31.000000000 +0000 +@@ -6,6 +6,8 @@ + * Alan Cox. <alan@redhat.com> + */ + ++ ++#ifdef __KERNEL__ + #include <linux/config.h> + + #ifdef CONFIG_SMP +@@ -112,4 +114,5 @@ + #define put_cpu() preempt_enable() + #define put_cpu_no_resched() preempt_enable_no_resched() + ++#endif /* __KERNEL__ */ + #endif /* __LINUX_SMP_H */ +diff -ur linux-2.6.0/include/linux/spinlock.h linux-2.6.0/include/linux.gentoo/spinlock.h +--- linux-2.6.0/include/linux/spinlock.h 2003-12-27 19:22:38.000000000 +0000 ++++ linux-2.6.0/include/linux.gentoo/spinlock.h 2003-12-27 19:19:31.000000000 +0000 +@@ -183,6 +183,7 @@ + #define _raw_write_trylock(lock) ({ (void)(lock); (1); }) + + #endif /* !SMP */ ++#ifdef __KERNEL__ + + /* + * Define the various spin_lock and rw_lock methods. Note we define these +@@ -465,4 +466,5 @@ + #endif + } + ++#endif /* __KERNEL__ */ + #endif /* __LINUX_SPINLOCK_H */ +diff -ur linux-2.6.0/include/linux/time.h linux-2.6.0/include/linux.gentoo/time.h +--- linux-2.6.0/include/linux/time.h 2003-12-27 19:22:38.000000000 +0000 ++++ linux-2.6.0/include/linux.gentoo/time.h 2003-12-27 19:19:31.000000000 +0000 +@@ -4,24 +4,31 @@ + #include <asm/param.h> + #include <linux/types.h> + ++#ifndef _SYS_TIME_H + #ifndef _STRUCT_TIMESPEC ++#ifndef __timespec_defined + #define _STRUCT_TIMESPEC + struct timespec { + time_t tv_sec; /* seconds */ + long tv_nsec; /* nanoseconds */ + }; ++#endif /* __timespec_defined */ + #endif /* _STRUCT_TIMESPEC */ + ++#ifndef _STRUCT_TIMEVAL + struct timeval { + time_t tv_sec; /* seconds */ + suseconds_t tv_usec; /* microseconds */ + }; ++#endif /* _STRUCT_TIMEVAL */ + + struct timezone { + int tz_minuteswest; /* minutes west of Greenwich */ + int tz_dsttime; /* type of dst correction */ + }; + ++#endif /* _SYS_TIME_H */ ++ + #ifdef __KERNEL__ + + #include <linux/spinlock.h> +@@ -281,6 +281,8 @@ + * machines were long is 32-bit! (However, as time_t is signed, we + * will already get problems at other places on 2038-01-19 03:14:08) + */ ++ ++#ifndef _TIME_H + static inline unsigned long + mktime (unsigned int year, unsigned int mon, + unsigned int day, unsigned int hour, +@@ -298,6 +300,7 @@ + )*60 + min /* now have minutes */ + )*60 + sec; /* finally seconds */ + } ++#endif + + extern struct timespec xtime; + extern struct timespec wall_to_monotonic; +@@ -351,15 +358,19 @@ + #define ITIMER_VIRTUAL 1 + #define ITIMER_PROF 2 + ++#ifndef _TIME_H + struct itimerspec { + struct timespec it_interval; /* timer period */ + struct timespec it_value; /* timer expiration */ + }; ++#endif /* _TIME_H */ + ++#ifndef _SYS_TIME_H + struct itimerval { + struct timeval it_interval; /* timer interval */ + struct timeval it_value; /* current value */ + }; ++#endif /* _SYS_TIME_H */ + + + /* +diff -ur linux-2.6.0/include/linux/workqueue.h linux-2.6.0/include/linux.gentoo/workqueue.h +--- linux-2.6.0/include/linux/workqueue.h 2003-12-27 19:22:38.000000000 +0000 ++++ linux-2.6.0/include/linux.gentoo/workqueue.h 2003-12-27 19:19:31.000000000 +0000 +@@ -5,6 +5,8 @@ + #ifndef _LINUX_WORKQUEUE_H + #define _LINUX_WORKQUEUE_H + ++#ifdef __KERNEL__ ++ + #include <linux/timer.h> + #include <linux/linkage.h> + +@@ -73,5 +75,7 @@ + return del_timer_sync(&work->timer); + } + ++#endif /* __KERNEL__ */ ++ + #endif + +diff -ur linux-2.6.0/include/asm-i386/mpspec.h linux-2.6.0/include/asm-i386/mpspec.h +--- linux-2.6.0/include/asm-i386/mpspec.h 2004-01-19 20:18:36.000000000 +0000 ++++ linux-2.6.0/include/asm-i386/mpspec.h 2004-01-19 20:01:11.000000000 +0000 +@@ -3,7 +3,7 @@ + + #include <linux/cpumask.h> + #include <asm/mpspec_def.h> +-#include <mach_mpspec.h> ++#include <asm/mach-generic/mach_mpspec.h> + + extern int mp_bus_id_to_type [MAX_MP_BUSSES]; + extern int mp_bus_id_to_node [MAX_MP_BUSSES]; +diff -ur linux-2.6.0/include/asm-i386/processor.h linux-2.6.0/include/asm-i386/processor.h +--- linux-2.6.0/include/asm-i386/processor.h 2004-01-19 20:18:36.000000000 +0000 ++++ linux-2.6.0/include/asm-i386/processor.h 2004-01-19 20:01:11.000000000 +0000 +@@ -8,7 +8,9 @@ + #define __ASM_I386_PROCESSOR_H + + #include <asm/vm86.h> ++#ifdef __KERNEL__ + #include <asm/math_emu.h> ++#endif + #include <asm/segment.h> + #include <asm/page.h> + #include <asm/types.h> +diff -ur linux-2.6.0/include/asm-i386/semaphore.h linux-2.6.0/include/asm-i386/semaphore.h +--- linux-2.6.0/include/asm-i386/semaphore.h 2004-01-19 20:18:36.000000000 +0000 ++++ linux-2.6.0/include/asm-i386/semaphore.h 2004-01-19 20:01:11.000000000 +0000 +@@ -3,8 +3,6 @@ + + #include <linux/linkage.h> + +-#ifdef __KERNEL__ +- + /* + * SMP- and interrupt-safe semaphores.. + * +@@ -214,4 +212,3 @@ + } + + #endif +-#endif +diff -ur linux-2.6.8.1/include/asm-i386/signal.h linux-2.6.8.1/include/asm-i386/signal.h +--- linux-2.6.8.1/include/asm-i386/signal.h 2004-01-19 20:18:36.000000000 +0000 ++++ linux-2.6.8.1/include/asm-i386/signal.h 2004-01-19 20:01:11.000000000 +0000 +@@ -26,7 +26,9 @@ + /* Here we must cater to libcs that poke about in kernel headers. */ + + #define NSIG 32 ++#ifndef __sigset_t_defined + typedef unsigned long sigset_t; ++#endif + + #endif /* __KERNEL__ */ + +@@ -155,6 +157,7 @@ + #else + /* Here we must cater to libcs that poke about in kernel headers. */ + ++#ifndef _SIGNAL_H + struct sigaction { + union { + __sighandler_t _sa_handler; +@@ -164,17 +167,20 @@ + unsigned long sa_flags; + void (*sa_restorer)(void); + }; ++#endif + + #define sa_handler _u._sa_handler + #define sa_sigaction _u._sa_sigaction + + #endif /* __KERNEL__ */ + ++#ifndef _SIGNAL_H + typedef struct sigaltstack { + void __user *ss_sp; + int ss_flags; + size_t ss_size; + } stack_t; ++#endif + + #ifdef __KERNEL__ + #include <asm/sigcontext.h> +diff -ur linux-2.6.0/include/asm-i386/smp.h linux-2.6.0/include/asm-i386/smp.h +--- linux-2.6.0/include/asm-i386/smp.h 2004-01-19 20:18:36.000000000 +0000 ++++ linux-2.6.0/include/asm-i386/smp.h 2004-01-19 20:01:11.000000000 +0000 +@@ -70,7 +70,7 @@ + #ifdef APIC_DEFINITION + extern int hard_smp_processor_id(void); + #else +-#include <mach_apicdef.h> ++#include <asm/mach-generic/mach_apicdef.h> + static inline int hard_smp_processor_id(void) + { + /* we don't want to mark this access volatile - bad code generation */ +diff -ur linux-2.6.0/include/linux/types.h linux-2.6.0/include/linux.gentoo/types.h +--- linux-2.6.0/include/linux/types.h 2004-01-19 20:18:36.000000000 +0000 ++++ linux-2.6.0/include/linux.gentoo/types.h 2004-01-19 20:01:11.000000000 +0000 +@@ -19,12 +19,24 @@ + + typedef __u32 __kernel_dev_t; + ++#ifndef _SYS_SELECT_H + typedef __kernel_fd_set fd_set; ++#endif ++#ifndef __dev_t_defined + typedef __kernel_dev_t dev_t; ++#endif ++#ifndef __ino_t_defined + typedef __kernel_ino_t ino_t; ++#endif ++#ifndef __mode_t_defined + typedef __kernel_mode_t mode_t; ++#endif ++#ifndef __nlink_t_defined + typedef __kernel_nlink_t nlink_t; ++#endif ++#ifndef __off_t_defined + typedef __kernel_off_t off_t; ++#endif + typedef __kernel_pid_t pid_t; + typedef __kernel_daddr_t daddr_t; + typedef __kernel_key_t key_t; +@@ -34,7 +46,9 @@ + + #ifdef __KERNEL__ + typedef __kernel_uid32_t uid_t; ++#define __uid_t_defined + typedef __kernel_gid32_t gid_t; ++#define __gid_t_defined + typedef __kernel_uid16_t uid16_t; + typedef __kernel_gid16_t gid16_t; + +@@ -49,7 +63,9 @@ + */ + #else + typedef __kernel_uid_t uid_t; ++#define __uid_t_defined + typedef __kernel_gid_t gid_t; ++#define __gid_t_defined + #endif /* __KERNEL__ */ + + #if defined(__GNUC__) && !defined(__STRICT_ANSI__) +diff -ur linux-2.6.8.1/include/asm-generic/siginfo.h linux-2.6.8.1-gentoo/include/asm-generic/siginfo.h +--- linux-2.6.8.1/include/asm-generic/siginfo.h 2004-01-19 20:18:36.000000000 +0000 ++++ linux-2.6.8.1-gentoo/include/asm-generic/siginfo.h 2004-01-19 20:01:11.000000000 +0000 +@@ -4,10 +4,12 @@ + #include <linux/compiler.h> + #include <linux/types.h> + ++#ifndef _SIGNAL_H + typedef union sigval { + int sival_int; + void __user *sival_ptr; + } sigval_t; ++#endif + + /* + * This is the size (including padding) of the part of the +@@ -31,7 +33,7 @@ + #endif + + #ifndef HAVE_ARCH_SIGINFO_T +- ++#ifndef _SIGNAL_H + typedef struct siginfo { + int si_signo; + int si_errno; +@@ -86,7 +88,7 @@ + } _sigpoll; + } _sifields; + } siginfo_t; +- ++#endif + #endif + + /* +@@ -238,7 +240,7 @@ + #endif + + #ifndef HAVE_ARCH_SIGEVENT_T +- ++#ifndef _SIGNAL_H + typedef struct sigevent { + sigval_t sigev_value; + int sigev_signo; +@@ -253,7 +255,7 @@ + } _sigev_thread; + } _sigev_un; + } sigevent_t; +- ++#endif + #endif + + #define sigev_notify_function _sigev_un._sigev_thread._function +diff -ur linux-2.6.0/include/linux/jiffies.h linux-2.6.0/include/linux.gentoo/jiffies.h +--- linux-2.6.0/include/linux/jiffies.h 2004-01-19 20:18:36.000000000 +0000 ++++ linux-2.6.0/include/linux.gentoo/jiffies.h 2004-01-19 20:01:11.000000000 +0000 +@@ -13,15 +13,15 @@ + * without holding read_lock_irq(&xtime_lock). + * get_jiffies_64() will do this for you as appropriate. + */ +-extern u64 jiffies_64; ++extern __u64 jiffies_64; + extern unsigned long volatile jiffies; + + #if (BITS_PER_LONG < 64) +-u64 get_jiffies_64(void); ++__u64 get_jiffies_64(void); + #else +-static inline u64 get_jiffies_64(void) ++static inline __u64 get_jiffies_64(void) + { +- return (u64)jiffies; ++ return (__u64)jiffies; + } + #endif + +diff -ur linux-2.6.7/include/linux/i2c.h linux-2.6.7-gentoo/include/linux/i2c.h +--- linux-2.6.7/include/linux/i2c.h 2004-02-07 13:29:15.099504640 -0500 ++++ linux-2.6.7-gentoo/include/linux/i2c.h 2004-02-07 13:35:53.956869104 -0500 +@@ -28,10 +28,18 @@ + #ifndef _LINUX_I2C_H + #define _LINUX_I2C_H + +-#include <linux/module.h> +-#include <linux/types.h> ++#ifdef __KERNEL__ ++# include <linux/module.h> ++# include <linux/types.h> ++#else ++# define __KERNEL__ ++# include <linux/types.h> ++# undef __KERNEL__ ++#endif + #include <linux/i2c-id.h> ++#ifdef __KERNEL__ + #include <linux/device.h> /* for struct device */ + #include <asm/semaphore.h> ++#endif + + /* --- General options ------------------------------------------------ */ +@@ -109,6 +117,7 @@ + * events. + */ + ++#ifdef __KERNEL__ + struct i2c_driver { + struct module *owner; + char name[32]; +@@ -268,6 +277,7 @@ + { + dev_set_drvdata (&dev->dev, data); + } ++#endif + + /*flags for the driver struct: */ + #define I2C_DF_NOTIFY 0x01 /* notify on bus (de/a)ttaches */ +diff -ur linux-2.6.3/include/linux/usbdevice_fs.h linux-2.6.3/include/linux/usbdevice_fs.h +--- linux-2.6.3/include/linux/usbdevice_fs.h 2004-02-22 16:52:07.000000000 +0000 ++++ linux-2.6.3/include/linux/usbdevice_fs.h 2004-02-22 22:10:45.000000000 +0000 +@@ -31,6 +31,7 @@ + #ifndef _LINUX_USBDEVICE_FS_H + #define _LINUX_USBDEVICE_FS_H + ++#include <linux/compiler.h> + #include <linux/types.h> + + /* --------------------------------------------------------------------- */ + +diff -ur linux-2.6.4/include/asm-i386/ipc.h linux-2.6.4-gentoo/include/asm-i386/ipc.h +--- linux-2.6.4/include/asm-i386/ipc.h 2004-03-13 13:05:04.000026816 +0000 ++++ linux-2.6.4-gentoo/include/asm-i386/ipc.h 2004-03-13 13:11:56.486319368 +0000 +@@ -6,6 +6,8 @@ + * + * See arch/i386/kernel/sys_i386.c for ugly details.. + */ ++ ++#include <linux/compiler.h> + struct ipc_kludge { + struct msgbuf __user *msgp; + long msgtyp; +diff -ur linux-2.6.4/include/linux/mroute.h linux-2.6.4-gentoo/include/linux/mroute.h +--- linux-2.6.4/include/linux/mroute.h 2004-03-13 13:04:54.084534200 +0000 ++++ linux-2.6.4-gentoo/include/linux/mroute.h 2004-03-13 13:14:04.356880088 +0000 +@@ -1,6 +1,7 @@ + #ifndef __LINUX_MROUTE_H + #define __LINUX_MROUTE_H + ++#include <linux/types.h> + #include <linux/sockios.h> + #include <linux/in.h> + +diff -ur linux-2.6.6/include/asm-ppc/signal.h linux-2.6.6-gentoo/include/asm-ppc/signal.h +--- linux-2.6.6/include/asm-ppc/signal.h 2004-06-02 18:30:17.329072696 +0100 ++++ linux-2.6.6-gentoo/include/asm-ppc/signal.h 2004-06-02 18:35:04.093477880 +0100 +@@ -17,9 +17,11 @@ + + typedef unsigned long old_sigset_t; /* at least 32 bits */ + ++#ifndef __sigset_t_defined + typedef struct { + unsigned long sig[_NSIG_WORDS]; + } sigset_t; ++#endif + + #define SIGHUP 1 + #define SIGINT 2 +@@ -125,28 +127,51 @@ + #define SIG_ERR ((__sighandler_t)-1) /* error return from signal */ + + struct old_sigaction { ++#ifdef __USE_POSIX199309 ++# ifdef sa_handler ++# undef sa_handler ++# endif ++# ifdef sa_sigaction ++# undef sa_sigaction ++# endif ++ union ++ { ++ /* Used if SA_SIGINFO is not set. */ ++ __sighandler_t sa_handler; ++ /* Used if SA_SIGINFO is set. */ ++ void (*sa_sigaction) (int, siginfo_t *, void *); ++ } ++ __sigaction_handler; ++# define sa_handler __sigaction_handler.sa_handler ++# define sa_sigaction __sigaction_handler.sa_sigaction ++#else + __sighandler_t sa_handler; ++#endif + old_sigset_t sa_mask; + unsigned long sa_flags; + __sigrestore_t sa_restorer; + }; + ++#ifndef _SIGNAL_H + struct sigaction { + __sighandler_t sa_handler; + unsigned long sa_flags; + __sigrestore_t sa_restorer; + sigset_t sa_mask; /* mask last for extensibility */ + }; ++#endif + + struct k_sigaction { + struct sigaction sa; + }; + ++#ifndef _SIGNAL_H + typedef struct sigaltstack { + void __user *ss_sp; + int ss_flags; + size_t ss_size; + } stack_t; ++#endif + + #ifdef __KERNEL__ + #include <asm/sigcontext.h> +diff -ur linux-2.6.6/include/asm-x86_64/processor.h linux-2.6.6-gentoo/include/asm-x86_64/processor.h +--- linux-2.6.6/include/asm-x86_64/processor.h 2004-06-02 19:25:24.000000000 +0100 ++++ linux-2.6.6-gentoo/include/asm-x86_64/processor.h 2004-06-02 19:24:31.000000000 +0100 +@@ -189,17 +189,17 @@ + #define INVALID_IO_BITMAP_OFFSET 0x8000 + + struct i387_fxsave_struct { +- u16 cwd; +- u16 swd; +- u16 twd; +- u16 fop; +- u64 rip; +- u64 rdp; +- u32 mxcsr; +- u32 mxcsr_mask; +- u32 st_space[32]; /* 8*16 bytes for each FP-reg = 128 bytes */ +- u32 xmm_space[64]; /* 16*16 bytes for each XMM-reg = 128 bytes */ +- u32 padding[24]; ++ __u16 cwd; ++ __u16 swd; ++ __u16 twd; ++ __u16 fop; ++ __u64 rip; ++ __u64 rdp; ++ __u32 mxcsr; ++ __u32 mxcsr_mask; ++ __u32 st_space[32]; /* 8*16 bytes for each FP-reg = 128 bytes */ ++ __u32 xmm_space[64]; /* 16*16 bytes for each XMM-reg = 128 bytes */ ++ __u32 padding[24]; + } __attribute__ ((aligned (16))); + + union i387_union { +@@ -207,16 +207,16 @@ + }; + + struct tss_struct { +- u32 reserved1; +- u64 rsp0; +- u64 rsp1; +- u64 rsp2; +- u64 reserved2; +- u64 ist[7]; +- u32 reserved3; +- u32 reserved4; +- u16 reserved5; +- u16 io_bitmap_base; ++ __u32 reserved1; ++ __u64 rsp0; ++ __u64 rsp1; ++ __u64 rsp2; ++ __u64 reserved2; ++ __u64 ist[7]; ++ __u32 reserved3; ++ __u32 reserved4; ++ __u16 reserved5; ++ __u16 io_bitmap_base; + /* + * The extra 1 is there because the CPU will access an + * additional byte beyond the end of the IO permission +@@ -252,7 +252,7 @@ + int ioperm; + unsigned long *io_bitmap_ptr; + /* cached TLS descriptors. */ +- u64 tls_array[GDT_ENTRY_TLS_ENTRIES]; ++ __u64 tls_array[GDT_ENTRY_TLS_ENTRIES]; + } __attribute__((aligned(16))); + + #define INIT_THREAD {} +diff -ur linux-2.6.10/include/asm-x86_64/system.h linux-2.6.10-gentoo/include/asm-x86_64/system.h +--- linux-2.6.10/include/asm-x86_64/system.h 2004-06-02 19:25:27.000000000 +0100 ++++ linux-2.6.10-gentoo/include/asm-x86_64/system.h 2004-06-02 19:25:17.000000000 +0100 +@@ -4,6 +4,32 @@ + #include <linux/config.h> + #include <linux/kernel.h> + #include <asm/segment.h> ++#include <linux/bitops.h> /* for LOCK_PREFIX... */ ++ ++/* ++ * Alternative inline assembly with input. ++ * ++ * Pecularities: ++ * No memory clobber here. ++ * Argument numbers start with 1. ++ * Best is to use constraints that are fixed size (like (%1) ... "r") ++ * If you use variable sized constraints like "m" or "g" in the ++ * replacement maake sure to pad to the worst case length. ++ */ ++ ++#define alternative_input(oldinstr, newinstr, feature, input...) \ ++ asm volatile ("661:\n\t" oldinstr "\n662:\n" \ ++ ".section .altinstructions,\"a\"\n" \ ++ " .align 8\n" \ ++ " .quad 661b\n" /* label */ \ ++ " .quad 663f\n" /* new instruction */ \ ++ " .byte %c0\n" /* feature bit */ \ ++ " .byte 662b-661b\n" /* sourcelen */ \ ++ " .byte 664f-663f\n" /* replacementlen */ \ ++ ".previous\n" \ ++ ".section .altinstr_replacement,\"ax\"\n" \ ++ "663:\n\t" newinstr "\n664:\n" /* replacement */ \ ++ ".previous" :: "i" (feature), ##input) + + #ifdef __KERNEL__ + +@@ -114,30 +140,6 @@ + ".previous" :: "i" (feature) : "memory") + + /* +- * Alternative inline assembly with input. +- * +- * Pecularities: +- * No memory clobber here. +- * Argument numbers start with 1. +- * Best is to use constraints that are fixed size (like (%1) ... "r") +- * If you use variable sized constraints like "m" or "g" in the +- * replacement maake sure to pad to the worst case length. +- */ +-#define alternative_input(oldinstr, newinstr, feature, input...) \ +- asm volatile ("661:\n\t" oldinstr "\n662:\n" \ +- ".section .altinstructions,\"a\"\n" \ +- " .align 8\n" \ +- " .quad 661b\n" /* label */ \ +- " .quad 663f\n" /* new instruction */ \ +- " .byte %c0\n" /* feature bit */ \ +- " .byte 662b-661b\n" /* sourcelen */ \ +- " .byte 664f-663f\n" /* replacementlen */ \ +- ".previous\n" \ +- ".section .altinstr_replacement,\"ax\"\n" \ +- "663:\n\t" newinstr "\n664:\n" /* replacement */ \ +- ".previous" :: "i" (feature), ##input) +- +-/* + * Clear and set 'TS' bit respectively + */ + #define clts() __asm__ __volatile__ ("clts") +@@ -240,32 +240,32 @@ + #define __HAVE_ARCH_CMPXCHG 1 + + static inline unsigned long __cmpxchg(volatile void *ptr, unsigned long old, +- unsigned long new, int size) ++ unsigned long __new, int size) + { + unsigned long prev; + switch (size) { + case 1: + __asm__ __volatile__(LOCK_PREFIX "cmpxchgb %b1,%2" + : "=a"(prev) +- : "q"(new), "m"(*__xg(ptr)), "0"(old) ++ : "q"(__new), "m"(*__xg(ptr)), "0"(old) + : "memory"); + return prev; + case 2: + __asm__ __volatile__(LOCK_PREFIX "cmpxchgw %w1,%2" + : "=a"(prev) +- : "q"(new), "m"(*__xg(ptr)), "0"(old) ++ : "q"(__new), "m"(*__xg(ptr)), "0"(old) + : "memory"); + return prev; + case 4: + __asm__ __volatile__(LOCK_PREFIX "cmpxchgl %k1,%2" + : "=a"(prev) +- : "q"(new), "m"(*__xg(ptr)), "0"(old) ++ : "q"(__new), "m"(*__xg(ptr)), "0"(old) + : "memory"); + return prev; + case 8: + __asm__ __volatile__(LOCK_PREFIX "cmpxchgq %1,%2" + : "=a"(prev) +- : "q"(new), "m"(*__xg(ptr)), "0"(old) ++ : "q"(__new), "m"(*__xg(ptr)), "0"(old) + : "memory"); + return prev; + } +diff -ur linux-2.6.6/include/linux/socket.h linux-2.6.6-gentoo/include/linux/socket.h +--- linux-2.6.6/include/linux/socket.h 2004-05-25 17:47:07.000000000 +0100 ++++ linux-2.6.6-gentoo/include/linux/socket.h 2004-06-02 21:19:49.000000000 +0100 +@@ -16,6 +16,10 @@ + /* _SS_MAXSIZE value minus size of ss_family */ + } __attribute__ ((aligned(_K_SS_ALIGNSIZE))); /* force desired alignment */ + ++#ifndef _SYS_SOCKET_H ++typedef unsigned short sa_family_t; ++#endif ++ + #if defined(__KERNEL__) || !defined(__GLIBC__) || (__GLIBC__ < 2) + + #include <linux/config.h> /* for CONFIG_COMPAT */ +@@ -26,8 +30,6 @@ + #include <linux/types.h> /* pid_t */ + #include <linux/compiler.h> /* __user */ + +-typedef unsigned short sa_family_t; +- + /* + * 1003.1g requires sa_family_t and that sa_data is char. + */ +diff -ur linux-2.6.6/include/linux/audit.h linux-2.6.6-gentoo/include/linux/audit.h +--- linux-2.6.6/include/linux/audit.h 2004-05-25 17:47:07.000000000 +0100 ++++ linux-2.6.6-gentoo/include/linux/audit.h 2004-06-02 21:19:21.000000000 +0100 +@@ -97,6 +97,7 @@ + #define AUDIT_FAIL_PANIC 2 + + #ifndef __KERNEL__ ++#include <linux/netlink.h> + struct audit_message { + struct nlmsghdr nlh; + char data[1200]; +diff -ur linux-2.6.7/include/asm-x86_64/sigcontext.h linux-2.6.7-gentoo/include/asm-x86_64/sigcontext.h +--- linux-2.6.7/include/asm-x86_64/sigcontext.h 2004-05-25 17:47:07.000000000 +0100 ++++ linux-2.6.7-gentoo/include/asm-x86_64/sigcontext.h 2004-06-02 22:04:52.000000000 +0100 +@@ -7,6 +7,12 @@ + /* FXSAVE frame */ + /* Note: reserved1/2 may someday contain valuable data. Always save/restore + them when you change signal frames. */ ++ ++#ifndef __KERNEL__ ++#include <signal.h> /* Pulls in <bits/sigcontext.h> which contains both /* ++ /* of these structures... */ ++#else ++#ifndef _SIGNAL_H + struct _fpstate { + __u16 cwd; + __u16 swd; +@@ -53,3 +59,5 @@ + }; + + #endif ++#endif ++#endif +diff -ur linux-2.6.6/include/linux/gfp.h linux-2.6.6-gentoo/include/linux/gfp.h +--- linux-2.6.6/include/linux/gfp.h 2004-04-04 04:36:52.000000000 +0100 ++++ linux-2.6.6-gentoo/include/linux/gfp.h 2004-05-11 19:51:06.412779200 +0100 +@@ -48,6 +48,7 @@ + + #define GFP_DMA __GFP_DMA + ++#ifdef __KERNEL__ + + /* + * There is only one page-allocator function, and two main namespaces to +@@ -96,4 +97,5 @@ + + void page_alloc_init(void); + ++#endif /* __KERNEL__ */ + #endif /* __LINUX_GFP_H */ +diff -ur linux-2.6.6/include/linux/percpu.h linux-2.6.6-gentoo/include/linux/percpu.h +--- linux-2.6.6/include/linux/percpu.h 2004-04-04 04:38:14.000000000 +0100 ++++ linux-2.6.6-gentoo/include/linux/percpu.h 2004-05-11 19:33:00.987788880 +0100 +@@ -1,5 +1,6 @@ + #ifndef __LINUX_PERCPU_H + #define __LINUX_PERCPU_H ++#include <linux/gfp.h> + #include <linux/spinlock.h> /* For preempt_disable() */ + #include <linux/slab.h> /* For kmalloc() */ + #include <linux/smp.h> +diff -ur linux-2.6.6/include/linux/percpu_counter.h linux-2.6.6-gentoo/include/linux/percpu_counter.h +--- linux-2.6.6/include/linux/percpu_counter.h 2004-04-04 04:37:23.000000000 +0100 ++++ linux-2.6.6-gentoo/include/linux/percpu_counter.h 2004-05-11 19:46:31.423583912 +0100 +@@ -4,6 +4,7 @@ + * WARNING: these things are HUGE. 4 kbytes per counter on 32-way P4. + */ + ++#include <linux/preempt.h> + #include <linux/config.h> + #include <linux/spinlock.h> + #include <linux/smp.h> + +diff -ur linux-2.6.7/include/linux/pid.h linux-2.6.7-gentoo/include/linux/pid.h +--- linux-2.6.7/include/linux/pid.h 2004-06-16 06:19:02.000000000 +0100 ++++ linux-2.6.7-gentoo/pid.h 2004-06-18 18:38:37.252859416 +0100 +@@ -1,6 +1,10 @@ + #ifndef _LINUX_PID_H + #define _LINUX_PID_H + ++#include <linux/wait.h> ++#include <linux/types.h> ++#include <asm/atomic.h> ++ + enum pid_type + { + PIDTYPE_PID, +@@ -29,6 +31,8 @@ + #define pid_task(elem, type) \ + list_entry(elem, struct task_struct, pids[type].pid_chain) + ++#ifdef __KERNEL__ ++ + /* + * attach_pid() and link_pid() must be called with the tasklist_lock + * write-held. +@@ -61,4 +64,5 @@ + elem = elem->next, prefetch(elem->next), \ + task = pid_task(elem, type)) + ++#endif /* __KERNEL__ */ + #endif /* _LINUX_PID_H */ +diff -ur linux-2.6.8.1/include/linux/wait.h linux-2.6.8.1-gentoo/include/linux/wait.h +--- linux-2.6.8.1/include/linux/wait.h 2004-06-16 06:19:31.000000000 +0100 ++++ linux-2.6.8.1-gentoo/wait.h 2004-06-18 18:35:03.760315216 +0100 +@@ -8,8 +8,6 @@ + #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/stddef.h> +@@ -53,6 +52,7 @@ struct __wait_queue_head { + }; + typedef struct __wait_queue_head wait_queue_head_t; + ++#include <linux/pid.h> + + /* + * Macros for declaration and initialisaton of the datatypes +@@ -84,6 +83,8 @@ + extern void FASTCALL(add_wait_queue_exclusive(wait_queue_head_t *q, wait_queue_t * wait)); + extern void FASTCALL(remove_wait_queue(wait_queue_head_t *q, wait_queue_t * wait)); + ++#ifdef __KERNEL__ ++ + static inline void __add_wait_queue(wait_queue_head_t *head, wait_queue_t *new) + { + list_add(&new->task_list, &head->task_list); +@@ -104,6 +105,8 @@ + list_del(&old->task_list); + } + ++#endif /* __KERNEL__ */ ++ + void FASTCALL(__wake_up(wait_queue_head_t *q, unsigned int mode, int nr, void *key)); + extern void FASTCALL(__wake_up_locked(wait_queue_head_t *q, unsigned int mode)); + extern void FASTCALL(__wake_up_sync(wait_queue_head_t *q, unsigned int mode, int nr)); +@@ -219,6 +222,8 @@ + __ret; \ + }) + ++#ifdef __KERNEL__ ++ + /* + * Must be called with the spinlock in the wait_queue_head_t held. + */ +@@ -220,6 +225,8 @@ + __remove_wait_queue(q, wait); + } + ++#endif /* __KERNEL__ */ ++ + /* + * These are the old interfaces to sleep waiting for an event. + * They are racy. DO NOT use them, use the wait_event* interfaces above. +@@ -258,6 +265,4 @@ + INIT_LIST_HEAD(&wait->task_list); \ + } while (0) + +-#endif /* __KERNEL__ */ +- + #endif +diff -ur linux-2.6.8.1/include/linux/compiler.h linux-2.6.8.1-gentoo/include/linux/compiler.h +--- linux-2.6.8.1/include/linux/compiler.h 2004-06-12 12:11:54.000000000 +0100 ++++ linux-2.6.8.1-gentoo/include/linux/compiler.h 2004-06-24 09:48:32.478502752 +0100 +@@ -15,8 +15,19 @@ + # define __chk_user_ptr(x) (void)0 + #endif + +-#ifdef __KERNEL__ ++#if (__GNUC__ > 3) || (__GNUC__ == 3 && __GNUC_MINOR__ >= 1) ++#define inline __inline__ ++#define __inline__ __inline__ ++#define __inline __inline__ ++#ifndef asm ++# define asm __asm__ ++#endif ++#ifndef volatile ++# define volatile __volatile__ ++#endif ++#endif + ++#ifdef __KERNEL__ + #if __GNUC__ > 3 + # include <linux/compiler-gcc+.h> /* catch-all for GCC 4, 5, etc. */ + #elif __GNUC__ == 3 +@@ -28,6 +39,7 @@ + # error Sorry, your compiler is too old/not recognized. + #endif + #endif ++#endif + + /* Intel compiler defines __GNUC__. So we will overwrite implementations + * coming from above header files here +@@ -47,7 +59,11 @@ + + /* Optimization barrier */ + #ifndef barrier +-# define barrier() __memory_barrier() ++# ifdef mb ++# define barrier() mb() ++# else ++# define barrier() __asm__ __volatile__ ("" : : : "memory") ++# endif + #endif + + #ifndef RELOC_HIDE +@@ -57,8 +74,6 @@ + (typeof(ptr)) (__ptr + (off)); }) + #endif + +-#endif /* __KERNEL__ */ +- + /* + * Allow us to mark functions as 'deprecated' and have gcc emit a nice + * warning for each use, in hopes of speeding the functions removal. +@@ -124,4 +139,10 @@ + #define noinline + #endif + ++#ifdef __cplusplus ++#define __cast__(_to) (_to) ++#else ++#define __cast__(_to) ++#endif ++ + #endif /* __LINUX_COMPILER_H */ +diff -ur linux-2.6.6/include/linux/hiddev.h linux-2.6.6-gentoo/include/linux/hiddev.h +--- linux-2.6.6/include/linux/hiddev.h 2004-06-12 12:11:54.000000000 +0100 ++++ linux-2.6.6-gentoo/include/linux/hiddev.h 2004-07-10 00:13:36.584448824 +0100 +@@ -33,6 +33,8 @@ + * The event structure itself + */ + ++#define HID_MAX_USAGES 1024 /* From: drivers/usb/input/hid.h */ ++ + struct hiddev_event { + unsigned hid; + signed int value; +diff -ur linux-2.6.7/include/asm-i386/cache.h linux-2.6.7-gentoo/include/asm-i386/cache.h +--- linux-2.6.7/include/asm-i386/cache.h 2004-07-13 16:33:15.000000000 +0200 ++++ linux-2.6.7-gentoo/include/asm-i386/cache.h 2004-07-13 16:50:38.384364344 +0200 +@@ -7,7 +7,11 @@ + #include <linux/config.h> + + /* L1 cache line size */ ++#ifndef CONFIG_X86_L1_CACHE_SHIFT ++#define L1_CACHE_SHIFT 7 /* 7 is given with X86_GENERIC kernel config */ ++#else + #define L1_CACHE_SHIFT (CONFIG_X86_L1_CACHE_SHIFT) ++#endif + #define L1_CACHE_BYTES (1 << L1_CACHE_SHIFT) + + #define L1_CACHE_SHIFT_MAX 7 /* largest L1 which this arch supports */ +diff -ur linux-2.6.7/include/asm-i386/system.h linux-2.6.7-gentoo/include/asm-i386/system.h +--- linux-2.6.7/include/asm-i386/system.h 2004-06-16 07:18:38.000000000 +0200 ++++ linux-2.6.7-gentoo/include/asm-i386/system.h 2004-07-13 16:34:50.632444536 +0200 +@@ -244,26 +244,26 @@ + #endif + + static inline unsigned long __cmpxchg(volatile void *ptr, unsigned long old, +- unsigned long new, int size) ++ unsigned long _new, int size) + { + unsigned long prev; + switch (size) { + case 1: + __asm__ __volatile__(LOCK_PREFIX "cmpxchgb %b1,%2" + : "=a"(prev) +- : "q"(new), "m"(*__xg(ptr)), "0"(old) ++ : "q"(_new), "m"(*__xg(ptr)), "0"(old) + : "memory"); + return prev; + case 2: + __asm__ __volatile__(LOCK_PREFIX "cmpxchgw %w1,%2" + : "=a"(prev) +- : "q"(new), "m"(*__xg(ptr)), "0"(old) ++ : "q"(_new), "m"(*__xg(ptr)), "0"(old) + : "memory"); + return prev; + case 4: + __asm__ __volatile__(LOCK_PREFIX "cmpxchgl %1,%2" + : "=a"(prev) +- : "q"(new), "m"(*__xg(ptr)), "0"(old) ++ : "q"(_new), "m"(*__xg(ptr)), "0"(old) + : "memory"); + return prev; + } +diff -ur linux-2.6.7/include/asm-i386/processor.h linux-2.6.7-gentoo/include/asm-i386/processor.h +--- linux-2.6.7/include/asm-i386/processor.h 2004-07-18 13:09:36.191824280 +0100 ++++ linux-2.6.7-gentoo/include/asm-i386/processor.h 2004-07-18 13:14:01.627471928 +0100 +@@ -403,8 +403,10 @@ + /* + * .. and then another 0x100 bytes for emergency kernel stack + */ +- unsigned long stack[64]; +-} __attribute__((packed)); ++ #ifndef stack /* LVM2-Userspace defines this as a function... */ ++ unsigned long stack[64]; ++ #endif ++} __attribute__((packed)); + + #define ARCH_MIN_TASKALIGN 16 + +@@ -491,7 +493,9 @@ + extern int kernel_thread(int (*fn)(void *), void * arg, unsigned long flags); + + extern unsigned long thread_saved_pc(struct task_struct *tsk); ++#ifdef __KERNEL__ + void show_trace(struct task_struct *task, unsigned long *stack); ++#endif + + unsigned long get_wchan(struct task_struct *p); + +diff -ur linux-2.6.8.1/scripts/mod/file2alias.c linux-2.6.8.1-gentoo/scripts/mod/file2alias.c +--- linux-2.6.8.1/scripts/mod/file2alias.c.orig 2004-07-22 14:10:33.644026328 -0400 ++++ linux-2.6.8.1/scripts/mod/file2alias.c 2004-07-22 14:10:53.613990432 -0400 +@@ -10,6 +10,8 @@ + * of the GNU General Public License, incorporated herein by reference. + */ + ++#define __KERNEL__ ++#define __KERNEL_ULONG_T__ + #include "modpost.h" + + /* We use the ELF typedefs, since we can't rely on stdint.h being present. */ +diff -ur linux-2.6.7/include/asm-x86_64/pda.h linux-2.6.7-gentoo/include/asm-x86_64/pda.h +--- linux-2.6.7/include/asm-x86_64/pda.h 2004-07-24 21:30:43.213205064 +0100 ++++ linux-2.6.7-gentoo/include/asm-x86_64/pda.h 2004-07-24 21:31:24.238968200 +0100 +@@ -36,7 +36,7 @@ + * have to mention %fs/%gs. So it needs to be done this Torvaldian way. + */ + #define sizeof_field(type,field) (sizeof(((type *)0)->field)) +-#define typeof_field(type,field) typeof(((type *)0)->field) ++#define typeof_field(type,field) __typeof__(((type *)0)->field) + + extern void __bad_pda_field(void); + +diff -ur linux-2.6.10/include/linux/compiler-gcc3.h linux-2.6.10-gentoo/include/linux/compiler-gcc3.h +--- linux-2.6.10/include/linux/compiler-gcc3.h 2004-07-10 01:47:34.000000000 +0100 ++++ linux-2.6.10-gentoo/include/linux/compiler-gcc3.h 2004-07-27 13:09:20.420468272 +0100 +@@ -3,12 +3,6 @@ + /* These definitions are for GCC v3.x. */ + #include <linux/compiler-gcc.h> + +-#if __GNUC_MINOR__ >= 1 +-# define inline inline __attribute__((always_inline)) +-# define __inline__ __inline__ __attribute__((always_inline)) +-# define __inline __inline __attribute__((always_inline)) +-#endif +- + #if __GNUC_MINOR__ > 0 + # define __deprecated __attribute__((deprecated)) + #endif +diff -ur linux-2.6.7/include/linux/sem.h linux-2.6.7-gentoo/include/linux/sem.h +--- linux-2.6.7/include/linux/sem.h 2004-07-10 01:47:34.000000000 +0100 ++++ linux-2.6.7-gentoo/include/linux/sem.h 2004-07-27 11:48:07.440273000 +0100 +@@ -1,6 +1,7 @@ + #ifndef _LINUX_SEM_H + #define _LINUX_SEM_H + ++#include <linux/compiler.h> + #include <linux/ipc.h> + #include <asm/atomic.h> + +diff -ur linux-2.6.7/include/asm-x86_64/bitops.h linux-2.6.7-gentoo/include/asm-x86_64/bitops.h +--- linux-2.6.7/include/asm-x86_64/bitops.h 2004-07-10 01:47:34.000000000 +0100 ++++ linux-2.6.7-gentoo/include/asm-x86_64/bitops.h 2004-07-28 16:08:37.650740208 +0100 +@@ -475,8 +475,6 @@ + + #endif /* __KERNEL__ */ + +-#ifdef __KERNEL__ +- + #define ext2_set_bit(nr,addr) \ + __test_and_set_bit((nr),(unsigned long*)addr) + #define ext2_set_bit_atomic(lock,nr,addr) \ +@@ -504,6 +502,4 @@ + + #define ARCH_HAS_ATOMIC_UNSIGNED 1 + +-#endif /* __KERNEL__ */ +- + #endif /* _X86_64_BITOPS_H */ +diff -ur linux-2.6.7/include/asm-ia64/unistd.h linux-2.6.7-gentoo/include/asm-ia64/unistd.h +--- linux-2.6.7/include/asm-ia64/unistd.h 2004-07-10 01:47:34.000000000 +0100 ++++ linux-2.6.7-gentoo/include/asm-ia64/unistd.h 2004-07-28 08:28:20.000000000 +0100 +@@ -121,7 +121,7 @@ + #define __NR_setdomainname 1129 + #define __NR_uname 1130 + #define __NR_adjtimex 1131 +-/* 1132 was __NR_create_module */ ++#define __NR_create_module 1132 + #define __NR_init_module 1133 + #define __NR_delete_module 1134 + /* 1135 was __NR_get_kernel_syms */ +diff -urp linux-2.6.7/include/asm-parisc/bitops.h linux-2.6.7-gentoo/include/asm-parisc/bitops.h +--- linux-2.6.7/include/asm-parisc/bitops.h 2004-08-24 12:09:23.000000000 -0400 ++++ linux-2.6.7-gentoo/include/asm-parisc/bitops.h 2004-08-24 11:59:41.952667176 -0400 +@@ -203,8 +203,6 @@ static __inline__ int test_bit(int nr, c + return !!(*addr & mask); + } + +-#ifdef __KERNEL__ +- + /** + * __ffs - find first bit in word. returns 0 to "BITS_PER_LONG-1". + * @word: The word to search +@@ -224,6 +222,7 @@ static __inline__ int test_bit(int nr, c + * cycles for each mispredicted branch. + */ + ++#ifndef __ffs_X + static __inline__ unsigned long __ffs(unsigned long x) + { + unsigned long ret; +@@ -254,6 +253,7 @@ static __inline__ unsigned long __ffs(un + : "+r" (x), "=r" (ret) ); + return ret; + } ++#endif + + /* Undefined if no bit is zero. */ + #define ffz(x) __ffs(~x) +@@ -345,8 +345,6 @@ static inline int sched_find_first_bit(c + #endif + } + +-#endif /* __KERNEL__ */ +- + /* + * This implementation of find_{first,next}_zero_bit was stolen from + * Linus' asm-alpha/bitops.h. +@@ -486,7 +484,7 @@ extern __inline__ unsigned long ext2_fin + size -= result; + offset &= 31UL; + if (offset) { +- tmp = cpu_to_le32p(p++); ++ tmp = __cpu_to_le32p(p++); + tmp |= ~0UL >> (32-offset); + if (size < 32) + goto found_first; +@@ -496,14 +494,14 @@ extern __inline__ unsigned long ext2_fin + result += 32; + } + while (size >= 32) { +- if ((tmp = cpu_to_le32p(p++)) != ~0U) ++ if ((tmp = __cpu_to_le32p(p++)) != ~0U) + goto found_middle; + result += 32; + size -= 32; + } + if (!size) + return result; +- tmp = cpu_to_le32p(p); ++ tmp = __cpu_to_le32p(p); + found_first: + tmp |= ~0U << size; + found_middle: +diff -urp linux-2.6.7/include/asm-parisc/hardware.h linux-2.6.7-gentoo/include/asm-parisc/hardware.h +--- linux-2.6.7/include/asm-parisc/hardware.h 2004-08-24 12:09:23.000000000 -0400 ++++ linux-2.6.7-gentoo/include/asm-parisc/hardware.h 2004-08-24 11:59:41.978663224 -0400 +@@ -45,41 +46,41 @@ extern char *cpu_name_version[][2]; /* m + struct parisc_driver; + + struct io_module { +- volatile uint32_t nothing; /* reg 0 */ +- volatile uint32_t io_eim; +- volatile uint32_t io_dc_adata; +- volatile uint32_t io_ii_cdata; +- volatile uint32_t io_dma_link; /* reg 4 */ +- volatile uint32_t io_dma_command; +- volatile uint32_t io_dma_address; +- volatile uint32_t io_dma_count; +- volatile uint32_t io_flex; /* reg 8 */ +- volatile uint32_t io_spa_address; +- volatile uint32_t reserved1[2]; +- volatile uint32_t io_command; /* reg 12 */ +- volatile uint32_t io_status; +- volatile uint32_t io_control; +- volatile uint32_t io_data; +- volatile uint32_t reserved2; /* reg 16 */ +- volatile uint32_t chain_addr; +- volatile uint32_t sub_mask_clr; +- volatile uint32_t reserved3[13]; +- volatile uint32_t undefined[480]; +- volatile uint32_t unpriv[512]; ++ volatile __u32 nothing; /* reg 0 */ ++ volatile __u32 io_eim; ++ volatile __u32 io_dc_adata; ++ volatile __u32 io_ii_cdata; ++ volatile __u32 io_dma_link; /* reg 4 */ ++ volatile __u32 io_dma_command; ++ volatile __u32 io_dma_address; ++ volatile __u32 io_dma_count; ++ volatile __u32 io_flex; /* reg 8 */ ++ volatile __u32 io_spa_address; ++ volatile __u32 reserved1[2]; ++ volatile __u32 io_command; /* reg 12 */ ++ volatile __u32 io_status; ++ volatile __u32 io_control; ++ volatile __u32 io_data; ++ volatile __u32 reserved2; /* reg 16 */ ++ volatile __u32 chain_addr; ++ volatile __u32 sub_mask_clr; ++ volatile __u32 reserved3[13]; ++ volatile __u32 undefined[480]; ++ volatile __u32 unpriv[512]; + }; + + struct bc_module { +- volatile uint32_t unused1[12]; +- volatile uint32_t io_command; +- volatile uint32_t io_status; +- volatile uint32_t io_control; +- volatile uint32_t unused2[1]; +- volatile uint32_t io_err_resp; +- volatile uint32_t io_err_info; +- volatile uint32_t io_err_req; +- volatile uint32_t unused3[11]; +- volatile uint32_t io_io_low; +- volatile uint32_t io_io_high; ++ volatile __u32 unused1[12]; ++ volatile __u32 io_command; ++ volatile __u32 io_status; ++ volatile __u32 io_control; ++ volatile __u32 unused2[1]; ++ volatile __u32 io_err_resp; ++ volatile __u32 io_err_info; ++ volatile __u32 io_err_req; ++ volatile __u32 unused3[11]; ++ volatile __u32 io_io_low; ++ volatile __u32 io_io_high; + }; + + #define HPHW_NPROC 0 +diff -urp linux-2.6.7/include/asm-parisc/processor.h linux-2.6.7-gentoo/include/asm-parisc/processor.h +--- linux-2.6.7/include/asm-parisc/processor.h 2004-08-24 12:09:23.000000000 -0400 ++++ linux-2.6.7-gentoo/include/asm-parisc/processor.h 2004-08-24 11:59:41.950667480 -0400 +@@ -12,11 +12,11 @@ + #include <linux/config.h> + #include <linux/threads.h> + ++#include <asm/types.h> + #include <asm/hardware.h> + #include <asm/page.h> + #include <asm/pdc.h> + #include <asm/ptrace.h> +-#include <asm/types.h> + #include <asm/system.h> + #endif /* __ASSEMBLY__ */ + +diff -up linux-2.6.10/include/linux/list.h linux-2.6.10-gentoo/include/linux/list.h +--- linux-2.6.10/include/linux/list.h 2004-08-20 19:54:37.000000000 +0100 ++++ linux-2.6.10-gentoo/linux/list.h 2004-08-24 17:52:07.416139368 +0100 +@@ -1,8 +1,6 @@ + #ifndef _LINUX_LIST_H + #define _LINUX_LIST_H + +-#ifdef __KERNEL__ +- + #include <linux/stddef.h> + #include <linux/prefetch.h> + #include <asm/system.h> +@@ -38,20 +36,30 @@ struct list_head { + (ptr)->next = (ptr); (ptr)->prev = (ptr); \ + } while (0) + ++struct hlist_head { ++ struct hlist_node *first; ++}; ++ ++struct hlist_node { ++ struct hlist_node *next, **pprev; ++}; ++ ++#if defined(__KERNEL__) || defined(__LINUX_KEYBOARD_H) ++ + /* + * Insert a new entry between two known consecutive entries. + * + * This is only for internal list manipulation where we know + * the prev/next entries already! + */ +-static inline void __list_add(struct list_head *new, ++static inline void __list_add(struct list_head *_new, + struct list_head *prev, + struct list_head *next) + { +- next->prev = new; +- new->next = next; +- new->prev = prev; +- prev->next = new; ++ next->prev = _new; ++ _new->next = next; ++ _new->prev = prev; ++ prev->next = _new; + } + + /** +@@ -62,9 +62,9 @@ static inline void __list_add(struct lis + * Insert a new entry after the specified head. + * This is good for implementing stacks. + */ +-static inline void list_add(struct list_head *new, struct list_head *head) ++static inline void list_add(struct list_head *_new, struct list_head *head) + { +- __list_add(new, head, head->next); ++ __list_add(_new, head, head->next); + } + + /** +@@ -75,9 +75,9 @@ static inline void list_add(struct list_ + * Insert a new entry before the specified head. + * This is useful for implementing queues. + */ +-static inline void list_add_tail(struct list_head *new, struct list_head *head) ++static inline void list_add_tail(struct list_head *_new, struct list_head *head) + { +- __list_add(new, head->prev, head); ++ __list_add(_new, head->prev, head); + } + + /* +@@ -86,14 +86,14 @@ static inline void list_add_tail(struct + * This is only for internal list manipulation where we know + * the prev/next entries already! + */ +-static inline void __list_add_rcu(struct list_head * new, ++static inline void __list_add_rcu(struct list_head * _new, + struct list_head * prev, struct list_head * next) + { +- new->next = next; +- new->prev = prev; ++ _new->next = next; ++ _new->prev = prev; + smp_wmb(); +- next->prev = new; +- prev->next = new; ++ next->prev = _new; ++ prev->next = _new; + } + + /** +@@ -112,9 +112,9 @@ static inline void __list_add_rcu(struct + * the _rcu list-traversal primitives, such as + * list_for_each_entry_rcu(). + */ +-static inline void list_add_rcu(struct list_head *new, struct list_head *head) ++static inline void list_add_rcu(struct list_head *_new, struct list_head *head) + { +- __list_add_rcu(new, head, head->next); ++ __list_add_rcu(_new, head, head->next); + } + + /** +@@ -133,10 +133,10 @@ static inline void list_add_rcu(struct l + * the _rcu list-traversal primitives, such as + * list_for_each_entry_rcu(). + */ +-static inline void list_add_tail_rcu(struct list_head *new, ++static inline void list_add_tail_rcu(struct list_head *_new, + struct list_head *head) + { +- __list_add_rcu(new, head->prev, head); ++ __list_add_rcu(_new, head->prev, head); + } + + /* +@@ -161,8 +161,8 @@ static inline void __list_del(struct lis + static inline void list_del(struct list_head *entry) + { + __list_del(entry->prev, entry->next); +- entry->next = LIST_POISON1; +- entry->prev = LIST_POISON2; ++ entry->next = __cast__(list_head*) LIST_POISON1; ++ entry->prev = __cast__(list_head*) LIST_POISON2; + } + + /** +@@ -192,7 +192,7 @@ static inline void list_del(struct list_ + static inline void list_del_rcu(struct list_head *entry) + { + __list_del(entry->prev, entry->next); +- entry->prev = LIST_POISON2; ++ entry->prev = __cast__(list_head*) LIST_POISON2; + } + + /** +@@ -496,14 +504,6 @@ static inline void list_splice_init(stru + * You lose the ability to access the tail in O(1). + */ + +-struct hlist_head { +- struct hlist_node *first; +-}; +- +-struct hlist_node { +- struct hlist_node *next, **pprev; +-}; +- + #define HLIST_HEAD_INIT { .first = NULL } + #define HLIST_HEAD(name) struct hlist_head name = { .first = NULL } + #define INIT_HLIST_HEAD(ptr) ((ptr)->first = NULL) +@@ -506,8 +506,8 @@ static inline int hlist_empty(const stru + + static inline void __hlist_del(struct hlist_node *n) + { +- struct hlist_node *next = n->next; +- struct hlist_node **pprev = n->pprev; ++ struct hlist_node *next = __cast__(hlist_node*) n->next; ++ struct hlist_node **pprev = __cast__(hlist_node**) n->pprev; + *pprev = next; + if (next) + next->pprev = pprev; +@@ -516,8 +516,8 @@ static inline void __hlist_del(struct hl + static inline void hlist_del(struct hlist_node *n) + { + __hlist_del(n); +- n->next = LIST_POISON1; +- n->pprev = LIST_POISON2; ++ n->next = __cast__(hlist_node*) LIST_POISON1; ++ n->pprev = __cast__(hlist_node**) LIST_POISON2; + } + + /** +@@ -542,7 +542,7 @@ static inline void hlist_del(struct hlis + static inline void hlist_del_rcu(struct hlist_node *n) + { + __hlist_del(n); +- n->pprev = LIST_POISON2; ++ n->pprev = __cast__(hlist_node**) LIST_POISON2; + } + + static inline void hlist_del_init(struct hlist_node *n) +@@ -694,8 +694,5 @@ static inline void hlist_add_after(struc + pos && ({ prefetch(pos->next); 1;}) && \ + ({ tpos = hlist_entry(pos, typeof(*tpos), member); 1;}); \ + pos = rcu_dereference(pos->next)) +- +-#else +-#warning "don't include kernel headers in userspace" +-#endif /* __KERNEL__ */ ++#endif + #endif +diff -ur linux-2.6.8.1/include/linux/prefetch.h linux-2.6.8.1-gentoo/include/linux/prefetch.h +--- linux-2.6.8.1/include/linux/prefetch.h 2004-07-13 19:00:02.450665496 +0100 ++++ linux-2.6.8.1-gentoo/include/linux/prefetch.h 2004-07-13 18:44:43.000000000 +0100 +@@ -10,6 +10,7 @@ + #ifndef _LINUX_PREFETCH_H + #define _LINUX_PREFETCH_H + ++#include <linux/compiler.h> + #include <linux/types.h> + #include <asm/processor.h> + #include <asm/cache.h> +@@ -59,9 +59,9 @@ + { + #ifdef ARCH_HAS_PREFETCH + char *cp; +- char *end = addr + len; ++ char *end = __cast__(char *) addr + len; + +- for (cp = addr; cp < end; cp += PREFETCH_STRIDE) ++ for (cp = __cast__(char *) addr; cp < end; cp += PREFETCH_STRIDE) + prefetch(cp); + #endif + } +diff -ur linux-2.6.8.1/include/linux/videodev2.h linux-2.6.8.1-gentoo/include/linux/videodev2.h +--- linux-2.6.8.1/include/linux/videodev2.h 2004-08-20 19:54:37.000000000 +0100 ++++ linux-2.6.8.1-gentoo/include/linux/videodev2.h 2004-08-24 21:20:48.468650056 +0100 +@@ -13,6 +13,8 @@ + * Justin Schoeman + * et al. + */ ++ ++#include <linux/compiler.h> + #ifdef __KERNEL__ + #include <linux/time.h> /* need struct timeval */ + #endif +diff -ur linux-2.6.8.1/include/linux/crc-ccitt.h linux-2.6.8.1-gentoo/include/linux/crc-ccitt.h +--- linux-2.6.8.1/include/linux/crc-ccitt.h 2004-08-20 19:54:37.000000000 +0100 ++++ linux-2.6.8.1-gentoo/include/linux/crc-ccitt.h 2004-08-25 18:49:57.048297800 +0100 +@@ -3,11 +3,11 @@ + + #include <linux/types.h> + +-extern u16 const crc_ccitt_table[256]; ++extern __u16 const crc_ccitt_table[256]; + +-extern u16 crc_ccitt(u16 crc, const u8 *buffer, size_t len); ++extern __u16 crc_ccitt(__u16 crc, const __u8 *buffer, size_t len); + +-static inline u16 crc_ccitt_byte(u16 crc, const u8 c) ++static inline __u16 crc_ccitt_byte(__u16 crc, const __u8 c) + { + return (crc >> 8) ^ crc_ccitt_table[(crc ^ c) & 0xff]; + } +diff -ur linux-2.6.8.1/include/linux/capi.h linux-2.6.8.1-gentoo/include/linux/capi.h +--- linux-2.6.8.1/include/linux/capi.h 2004-08-20 19:54:37.000000000 +0100 ++++ linux-2.6.8.1-gentoo/include/linux/capi.h 2004-08-25 18:49:57.048297800 +0100 +@@ -17,6 +17,7 @@ + #ifndef __KERNEL__ + #include <linux/kernelcapi.h> + #endif ++#include <linux/compiler.h> + + /* + * CAPI_REGISTER +diff -ur linux-2.6.8.1/include/asm-parisc/types.h linux-2.6.8.1-gentoo/include/asm-parisc/types.h +--- linux-2.6.8.1/include/asm-parisc/types.h 2004-08-20 19:54:37.000000000 +0100 ++++ linux-2.6.8.1-gentoo/include/asm-parisc/types.h 2004-08-25 18:49:57.048297800 +0100 +@@ -19,7 +19,7 @@ + typedef __signed__ int __s32; + typedef unsigned int __u32; + +-#if defined(__GNUC__) && !defined(__STRICT_ANSI__) ++#if defined(__GNUC__) + typedef __signed__ long long __s64; + typedef unsigned long long __u64; + #endif +diff -ur linux-2.6.8.1/include/asm-ppc/unaligned.h linux-2.6.8.1-gentoo/include/asm-ppc/unaligned.h +--- linux-2.6.8.1/include/asm-ppc/unaligned.h 2004-07-10 01:47:34.000000000 +0100 ++++ linux-2.6.8.1-gentoo/include/asm-ppc/unaligned.h 2004-09-25 19:07:46.956434136 +0100 +@@ -1,4 +1,3 @@ +-#ifdef __KERNEL__ + #ifndef __PPC_UNALIGNED_H + #define __PPC_UNALIGNED_H + +@@ -15,4 +14,3 @@ + #define put_unaligned(val, ptr) ((void)( *(ptr) = (val) )) + + #endif +-#endif /* __KERNEL__ */ +diff -ur linux-2.6.8.1/include/asm-ppc64/processor.h linux-2.6.8.1-gentoo/include/asm-ppc64/processor.h +--- linux-2.6.8.1/include/asm-ppc64/processor.h 2004-09-28 16:56:15.966475184 +0100 ++++ linux-2.6.8.1-gentoo/include/asm-ppc64/processor.h 2004-09-28 16:54:55.359729000 +0100 +@@ -547,9 +547,9 @@ + unsigned long saved_softe; /* Ditto for Soft Enable/Disable */ + #ifdef CONFIG_ALTIVEC + /* Complete AltiVec register set */ +- vector128 vr[32] __attribute((aligned(16))); ++ __vector128 vr[32] __attribute((aligned(16))); + /* AltiVec status */ +- vector128 vscr __attribute((aligned(16))); ++ __vector128 vscr __attribute((aligned(16))); + unsigned long vrsave; + int used_vr; /* set if process has used altivec */ + #endif /* CONFIG_ALTIVEC */ +diff -ur linux-2.6.8.1/include/asm-ppc64/spinlock.h linux-2.6.8.1-gentoo/include/asm-ppc64/spinlock.h +--- linux-2.6.8.1/include/asm-ppc64/spinlock.h 2004-09-28 16:56:15.948477920 +0100 ++++ linux-2.6.8.1-gentoo/include/asm-ppc64/spinlock.h 2004-09-28 16:55:30.463392000 +0100 +@@ -20,9 +20,10 @@ + volatile unsigned int lock; + } spinlock_t; + +-#ifdef __KERNEL__ + #define SPIN_LOCK_UNLOCKED (spinlock_t) { 0 } + ++#ifdef __KERNEL__ ++ + #define spin_is_locked(x) ((x)->lock != 0) + #define spin_lock_init(x) do { *(x) = SPIN_LOCK_UNLOCKED; } while(0) + +diff -ur linux-2.6.8.1/include/asm-ppc64/page.h linux-2.6.8.1-gentoo/include/asm-ppc64/page.h +--- linux-2.6.8.1/include/asm-ppc64/page.h 2004-07-10 01:47:34.000000000 +0100 ++++ linux-2.6.8.1-gentoo/include/asm-ppc64/page.h 2004-10-03 14:09:31.434460808 +0100 +@@ -91,6 +91,12 @@ + /* to align the pointer to the (next) page boundary */ + #define PAGE_ALIGN(addr) _ALIGN(addr, PAGE_SIZE) + ++#ifdef STRICT_MM_TYPECHECKS ++typedef struct { unsigned long pte; } pte_t; ++#else ++typedef unsigned long pte_t; ++#endif ++ + #ifdef __KERNEL__ + #ifndef __ASSEMBLY__ + #include <asm/naca.h> +@@ -129,7 +135,6 @@ + * These are used to make use of C type-checking. + * Entries in the pte table are 64b, while entries in the pgd & pmd are 32b. + */ +-typedef struct { unsigned long pte; } pte_t; + typedef struct { unsigned int pmd; } pmd_t; + typedef struct { unsigned int pgd; } pgd_t; + typedef struct { unsigned long pgprot; } pgprot_t; +@@ -148,7 +153,6 @@ + /* + * .. while these make it easier on the compiler + */ +-typedef unsigned long pte_t; + typedef unsigned int pmd_t; + typedef unsigned int pgd_t; + typedef unsigned long pgprot_t; +diff -ur linux-2.6.8.1/include/asm-sparc64/signal.h linux-2.6.8.1-gentoo/include/asm-sparc64/signal.h +--- linux-2.6.8.1/include/asm-sparc64/signal.h 2004-07-10 01:47:34.000000000 +0100 ++++ linux-2.6.8.1-gentoo/include/asm-sparc64/signal.h 2004-10-03 14:09:31.434460808 +0100 +@@ -110,7 +110,9 @@ + + #ifndef __ASSEMBLY__ + ++#ifndef __sigset_t_defined + typedef unsigned long __old_sigset_t; /* at least 32 bits */ ++#endif + + typedef struct { + unsigned long sig[_NSIG_WORDS]; +diff -ur linux-2.6.8.1/include/asm-sparc/signal.h linux-2.6.8.1-gentoo/include/asm-sparc/signal.h +--- linux-2.6.8.1/include/asm-sparc/signal.h 2004-07-10 01:47:34.000000000 +0100 ++++ linux-2.6.8.1-gentoo/include/asm-sparc/signal.h 2004-10-03 14:09:31.434460808 +0100 +@@ -105,7 +105,9 @@ + + #ifndef __ASSEMBLY__ + ++#ifndef __sigset_t_defined + typedef unsigned long __old_sigset_t; ++#endif + + typedef struct { + unsigned long sig[_NSIG_WORDS]; +diff -ur linux-2.6.8.1/include/asm-ia64/fpu.h linux-2.6.8.1-gentoo/include/asm-ia64/fpu.h +--- linux-2.6.8.1/include/asm-ia64/fpu.h 2004-10-31 14:20:01.000000000 -0700 ++++ linux-2.6.8.1-gentoo/include/asm-ia64/fpu.h 2004-11-01 12:04:54.202369190 -0700 +@@ -53,13 +53,24 @@ + | FPSR_S3 (FPSF_DEFAULT | FPSF_TD)) + + # ifndef __ASSEMBLY__ ++# ifndef __KERNEL__ ++# include <bits/posix1_lim.h> ++ /* Versioning, newer glibc's declare ia64_fpreg without telling us ++ -- plasmaroo */ ++# endif + ++# ifdef _FCNTL_H /* Userspace */ ++# include <signal.h> ++# else ++# if !defined(_POSIX_HOST_NAME_MAX) || !defined(_BITS_SIGCONTEXT_H) || defined(__KERNEL__) + struct ia64_fpreg { + union { + unsigned long bits[2]; + long double __dummy; /* force 16-byte alignment */ + } u; + }; ++# endif ++# endif + + # endif /* __ASSEMBLY__ */ + +diff -ur linux-2.6.8.1/include/asm-ppc/bitops.h linux-2.6.8.1-gentoo/include/asm-ppc/bitops.h +--- linux-2.6.8.1/include/asm-ppc/bitops.h 2004-08-14 11:55:32.000000000 +0100 ++++ linux-2.6.8.1-gentoo/include/asm-ppc/bitops.h 2004-12-26 19:58:15.881705760 +0000 +@@ -2,9 +2,9 @@ + * bitops.h: Bit string operations on the ppc + */ + +-#ifdef __KERNEL__ + #ifndef _PPC_BITOPS_H + #define _PPC_BITOPS_H ++#ifdef __KERNEL__ + + #include <linux/config.h> + #include <linux/compiler.h> +@@ -251,6 +251,8 @@ + return __ilog2(x & -x) + 1; + } + ++#endif /* __KERNEL__ */ ++ + /* + * fls: find last (most-significant) bit set. + * Note fls(0) = 0, fls(1) = 1, fls(0x80000000) = 32. +@@ -263,6 +265,8 @@ + return 32 - lz; + } + ++#ifdef __KERNEL__ ++ + /* + * hweightN: returns the hamming weight (i.e. the number + * of bits set) of a N-bit word +@@ -456,5 +460,6 @@ + #define minix_test_bit(nr,addr) ext2_test_bit(nr,addr) + #define minix_find_first_zero_bit(addr,size) ext2_find_first_zero_bit(addr,size) + +-#endif /* _PPC_BITOPS_H */ + #endif /* __KERNEL__ */ ++#endif /* _PPC_BITOPS_H */ ++ +diff -ur linux-2.6.8.1/include/asm-alpha/signal.h linux-2.6.8.1-gentoo/include/asm-alpha/signal.h +--- linux-2.6.8.1/include/asm-alpha/signal.h 2004-08-14 11:55:32.000000000 +0100 ++++ linux-2.6.8.1-gentoo/include/asm-alpha/signal.h 2004-12-26 19:58:15.881705760 +0000 +@@ -24,7 +24,9 @@ + /* Here we must cater to libcs that poke about in kernel headers. */ + + #define NSIG 32 ++#ifndef __sigset_t_defined + typedef unsigned long sigset_t; ++#endif + + #endif /* __KERNEL__ */ + +@@ -158,6 +160,7 @@ + #else + /* Here we must cater to libcs that poke about in kernel headers. */ + ++#ifndef _SIGNAL_H + struct sigaction { + union { + __sighandler_t _sa_handler; +@@ -166,26 +169,31 @@ + sigset_t sa_mask; + int sa_flags; + }; ++#endif + + #define sa_handler _u._sa_handler + #define sa_sigaction _u._sa_sigaction + + #endif /* __KERNEL__ */ + ++#ifndef _SIGNAL_H + typedef struct sigaltstack { + void __user *ss_sp; + int ss_flags; + size_t ss_size; + } stack_t; ++#endif + + /* sigstack(2) is deprecated, and will be withdrawn in a future version + of the X/Open CAE Specification. Use sigaltstack instead. It is only + implemented here for OSF/1 compatibility. */ + ++#ifndef _SIGNAL_H + struct sigstack { + void __user *ss_sp; + int ss_onstack; + }; ++#endif + + #ifdef __KERNEL__ + #include <asm/sigcontext.h> +diff -ur linux-2.6.8.1/include/linux/preempt.h linux-2.6.8.1-gentoo/include/linux/preempt.h +--- linux-2.6.8.1/include/linux/preempt.h 2004-08-14 11:55:32.000000000 +0100 ++++ linux-2.6.8.1-gentoo/include/linux/preempt.h 2004-12-26 19:58:15.881705760 +0000 +@@ -8,6 +8,7 @@ + + #include <linux/config.h> + #include <linux/linkage.h> ++#include <asm/system.h> /* barrier() <--> mb() */ + + #define preempt_count() (current_thread_info()->preempt_count) + +diff -ur linux-2.6.8.1/include/linux/blkpg.h linux-2.6.8.1-gentoo/include/linux/blkpg.h +--- linux-2.6.8.1/include/linux/blkpg.h.orig 2005-01-12 23:15:25.000000000 -0800 ++++ linux-2.6.8.1-gentoo/include/linux/blkpg.h 2005-01-12 23:16:05.000000000 -0800 +@@ -25,6 +25,7 @@ + * For today, only the partition stuff - aeb, 990515 + */ + #include <linux/ioctl.h> ++#include <linux/compiler.h> + + #define BLKPG _IO(0x12,105) + +diff -urp linux-2.6.10/include/asm-i386/param.h linux-2.6.10-gentoo/include/asm-i386/param.h +--- linux-2.6.10/include/asm-i386/param.h 2005-02-08 21:01:47.000000000 +0000 ++++ linux-2.6.10-gentoo/include/asm-i386/param.h 2005-02-08 20:28:36.000000000 +0000 +@@ -11,6 +11,10 @@ + #define HZ 100 + #endif + ++#ifndef USER_HZ ++#define USER_HZ 100 ++#endif ++ + #define EXEC_PAGESIZE 4096 + + #ifndef NOGROUP +diff -urp linux-2.6.10/include/asm-i386/semaphore.h linux-2.6.10-gentoo/include/asm-i386/semaphore.h +--- linux-2.6.10/include/asm-i386/semaphore.h 2005-02-08 21:01:47.000000000 +0000 ++++ linux-2.6.10-gentoo/include/asm-i386/semaphore.h 2005-02-08 20:46:02.000000000 +0000 +@@ -1,6 +1,7 @@ + #ifndef _I386_SEMAPHORE_H + #define _I386_SEMAPHORE_H + ++#include <linux/wait.h> + #include <linux/linkage.h> + + /* +diff -urp linux-2.6.10/include/linux/mmzone.h linux-2.6.10-gentoo/include/linux/mmzone.h +--- linux-2.6.10/include/linux/mmzone.h 2005-02-08 21:01:47.000000000 +0000 ++++ linux-2.6.10-gentoo/include/linux/mmzone.h 2005-02-08 20:45:13.000000000 +0000 +@@ -1,6 +1,8 @@ + #ifndef _LINUX_MMZONE_H + #define _LINUX_MMZONE_H + ++extern int numnodes; ++ + #ifdef __KERNEL__ + #ifndef __ASSEMBLY__ + +@@ -270,7 +272,6 @@ typedef struct pglist_data { + #define node_present_pages(nid) (NODE_DATA(nid)->node_present_pages) + #define node_spanned_pages(nid) (NODE_DATA(nid)->node_spanned_pages) + +-extern int numnodes; + extern struct pglist_data *pgdat_list; + + void __get_zone_counts(unsigned long *active, unsigned long *inactive, +diff -urp linux-2.6.10/include/linux/prio_tree.h linux-2.6.10-gentoo/include/linux/prio_tree.h +--- linux-2.6.10/include/linux/prio_tree.h 2005-02-08 21:01:47.000000000 +0000 ++++ linux-2.6.10-gentoo/include/linux/prio_tree.h 2005-02-08 20:15:28.000000000 +0000 +@@ -1,6 +1,8 @@ + #ifndef _LINUX_PRIO_TREE_H + #define _LINUX_PRIO_TREE_H + ++#include <linux/types.h> ++ + struct prio_tree_node { + struct prio_tree_node *left; + struct prio_tree_node *right; +diff -urp linux-2.6.10/include/linux/time.h linux-2.6.10-gentoo/include/linux/time.h +--- linux-2.6.10/include/linux/time.h 2005-02-08 21:01:47.000000000 +0000 ++++ linux-2.6.10-gentoo/include/linux/time.h 2005-02-08 20:26:11.000000000 +0000 +@@ -32,8 +32,6 @@ struct timezone { + + #endif /* _SYS_TIME_H */ + +-#ifdef __KERNEL__ +- + /* Parameters used to convert the timespec values */ + #ifndef USEC_PER_SEC + #define USEC_PER_SEC (1000000L) +@@ -47,6 +45,8 @@ struct timezone { + #define NSEC_PER_USEC (1000L) + #endif + ++#ifdef __KERNEL__ ++ + static __inline__ int timespec_equal(struct timespec *a, struct timespec *b) + { + return (a->tv_sec == b->tv_sec) && (a->tv_nsec == b->tv_nsec); +diff -urp linux-2.6.10/include/topology.h linux-2.6.10-gentoo/include/linux/topology.h +--- linux-2.6.10/include/linux/topology.h 2005-02-08 21:01:47.000000000 +0000 ++++ linux-2.6.10-gentoo/include/linux/topology.h 2005-02-08 20:48:27.000000000 +0000 +@@ -27,6 +27,8 @@ + #ifndef _LINUX_TOPOLOGY_H + #define _LINUX_TOPOLOGY_H + ++#ifdef __KERNEL__ ++ + #include <linux/cpumask.h> + #include <linux/bitops.h> + #include <linux/mmzone.h> +@@ -133,4 +135,5 @@ static inline int __next_node_with_cpus( + #endif + #endif /* CONFIG_NUMA */ + ++#endif /* __KERNEL__ */ + #endif /* _LINUX_TOPOLOGY_H */ +diff -urp linux-2.6.10/include/linux/types.h linux-2.6.10-gentoo/include/linux/types.h +--- linux-2.6.10/include/linux/types.h 2005-02-08 21:01:47.000000000 +0000 ++++ linux-2.6.10-gentoo/include/linux/types.h 2005-02-08 20:40:22.000000000 +0000 +@@ -11,6 +11,7 @@ + #endif + + #include <linux/posix_types.h> ++#include <asm/posix_types.h> + #include <asm/types.h> + + #ifndef __KERNEL_STRICT_NAMES +@@ -148,6 +149,10 @@ typedef __s64 int64_t; + typedef unsigned long sector_t; + #endif + ++#else /* Userspace ... */ ++#include <time.h> ++#endif /* __KERNEL_STRICT_NAMES */ ++ + /* + * The type of an index into the pagecache. Use a #define so asm/types.h + * can override it. +@@ -156,8 +161,6 @@ typedef unsigned long sector_t; + #define pgoff_t unsigned long + #endif + +-#endif /* __KERNEL_STRICT_NAMES */ +- + /* + * Below are truly Linux-specific types that should never collide with + * any application/library that wants linux/types.h. +diff -urp linux-2.6.10/include/asm-i386/thread_info.h linux-2.6.10-gentoo/include/asm-i386/thread_info.h +--- linux-2.6.10/include/asm-i386/thread_info.h 2005-02-08 21:30:49.000000000 +0000 ++++ linux-2.6.10-gentoo/asm-i386/thread_info.h 2005-02-08 21:27:03.000000000 +0000 +@@ -7,8 +7,6 @@ + #ifndef _ASM_THREAD_INFO_H + #define _ASM_THREAD_INFO_H + +-#ifdef __KERNEL__ +- + #include <linux/config.h> + #include <linux/compiler.h> + #include <asm/page.h> +@@ -165,6 +163,4 @@ register unsigned long current_stack_poi + */ + #define TS_USEDFPU 0x0001 /* FPU was used by this task this quantum (SMP) */ + +-#endif /* __KERNEL__ */ +- + #endif /* _ASM_THREAD_INFO_H */ +diff -urp linux-2.6.10/include/linux/telephony.h linux-2.6.10-gentoo/include/linux/telephony.h +--- linux-2.6.10/include/linux/telephony.h 2004-11-20 16:54:35.000000000 +0000 ++++ linux-2.6.10-gentoo/include/linux/telephony.h 2005-02-08 22:03:49.468357464 +0000 +@@ -37,6 +37,8 @@ + #ifndef TELEPHONY_H + #define TELEPHONY_H + ++#include <linux/compiler.h> ++ + #define TELEPHONY_VERSION 3013 + + #define PHONE_VENDOR_IXJ 1 +diff -urp linux-2.6.10/include/asm-i386/unistd.h linux-2.6.10-gentoo/include/asm-i386/unistd.h +--- linux-2.6.10/include/asm-i386/unistd.h 2005-02-08 21:30:49.000000000 +0000 ++++ linux-2.6.10-gentoo/asm-i386/unistd.h 2005-02-08 21:27:03.000000000 +0000 +@@ -314,6 +314,21 @@ + __syscall_return(type,__res); \ + } + ++#ifdef __PIC__ ++#define _syscall1(type,name,type1,arg1) \ ++type name(type1 arg1) \ ++{ \ ++long __res; \ ++__asm__ volatile (\ ++ "pushl %%ebx\n\t" \ ++ "movl %2,%%ebx\n\t" \ ++ "int $0x80\n\t" \ ++ "popl %%ebx\n\t" \ ++ : "=a" (__res) \ ++ : "0" (__NR_##name),"r" ((long)(arg1))); \ ++__syscall_return(type,__res); \ ++} ++#else + #define _syscall1(type,name,type1,arg1) \ + type name(type1 arg1) \ + { \ +@@ -323,7 +338,23 @@ + : "0" (__NR_##name),"b" ((long)(arg1))); \ + __syscall_return(type,__res); \ + } ++#endif + ++#ifdef __PIC__ ++#define _syscall2(type,name,type1,arg1,type2,arg2) \ ++type name(type1 arg1,type2 arg2) \ ++{ \ ++long __res; \ ++__asm__ volatile (\ ++ "pushl %%ebx\n\t" \ ++ "movl %2,%%ebx\n\t" \ ++ "int $0x80\n\t" \ ++ "popl %%ebx\n\t" \ ++ : "=a" (__res) \ ++ : "0" (__NR_##name),"r" ((long)(arg1)),"c" ((long)(arg2))); \ ++__syscall_return(type,__res); \ ++} ++#else + #define _syscall2(type,name,type1,arg1,type2,arg2) \ + type name(type1 arg1,type2 arg2) \ + { \ +@@ -333,7 +364,24 @@ + : "0" (__NR_##name),"b" ((long)(arg1)),"c" ((long)(arg2))); \ + __syscall_return(type,__res); \ + } ++#endif + ++#ifdef __PIC__ ++#define _syscall3(type,name,type1,arg1,type2,arg2,type3,arg3) \ ++type name(type1 arg1,type2 arg2,type3 arg3) \ ++{ \ ++long __res; \ ++__asm__ volatile (\ ++ "pushl %%ebx\n\t" \ ++ "movl %2,%%ebx\n\t" \ ++ "int $0x80\n\t" \ ++ "popl %%ebx\n\t" \ ++ : "=a" (__res) \ ++ : "0" (__NR_##name),"r" ((long)(arg1)),"c" ((long)(arg2)), \ ++ "d" ((long)(arg3))); \ ++__syscall_return(type,__res); \ ++} ++#else + #define _syscall3(type,name,type1,arg1,type2,arg2,type3,arg3) \ + type name(type1 arg1,type2 arg2,type3 arg3) \ + { \ +@@ -344,7 +392,24 @@ + "d" ((long)(arg3))); \ + __syscall_return(type,__res); \ + } ++#endif + ++#ifdef __PIC__ ++#define _syscall4(type,name,type1,arg1,type2,arg2,type3,arg3,type4,arg4) \ ++type name (type1 arg1, type2 arg2, type3 arg3, type4 arg4) \ ++{ \ ++long __res; \ ++__asm__ volatile (\ ++ "pushl %%ebx\n\t" \ ++ "movl %2,%%ebx\n\t" \ ++ "int $0x80\n\t" \ ++ "popl %%ebx\n\t" \ ++ : "=a" (__res) \ ++ : "0" (__NR_##name),"r" ((long)(arg1)),"c" ((long)(arg2)), \ ++ "d" ((long)(arg3)),"S" ((long)(arg4))); \ ++__syscall_return(type,__res); \ ++} ++#else + #define _syscall4(type,name,type1,arg1,type2,arg2,type3,arg3,type4,arg4) \ + type name (type1 arg1, type2 arg2, type3 arg3, type4 arg4) \ + { \ +@@ -355,7 +420,25 @@ + "d" ((long)(arg3)),"S" ((long)(arg4))); \ + __syscall_return(type,__res); \ + } ++#endif + ++#ifdef __PIC__ ++#define _syscall5(type,name,type1,arg1,type2,arg2,type3,arg3,type4,arg4, \ ++ type5,arg5) \ ++type name (type1 arg1,type2 arg2,type3 arg3,type4 arg4,type5 arg5) \ ++{ \ ++long __res; \ ++__asm__ volatile (\ ++ "pushl %%ebx\n\t" \ ++ "movl %2,%%ebx\n\t" \ ++ "int $0x80\n\t" \ ++ "popl %%ebx\n\t" \ ++ : "=a" (__res) \ ++ : "0" (__NR_##name),"m" ((long)(arg1)),"c" ((long)(arg2)), \ ++ "d" ((long)(arg3)),"S" ((long)(arg4)),"D" ((long)(arg5))); \ ++__syscall_return(type,__res); \ ++} ++#else + #define _syscall5(type,name,type1,arg1,type2,arg2,type3,arg3,type4,arg4, \ + type5,arg5) \ + type name (type1 arg1,type2 arg2,type3 arg3,type4 arg4,type5 arg5) \ +@@ -367,7 +450,30 @@ + "d" ((long)(arg3)),"S" ((long)(arg4)),"D" ((long)(arg5))); \ + __syscall_return(type,__res); \ + } ++#endif + ++#ifdef __PIC__ ++#define _syscall6(type,name,type1,arg1,type2,arg2,type3,arg3,type4,arg4, \ ++ type5,arg5,type6,arg6) \ ++type name (type1 arg1,type2 arg2,type3 arg3,type4 arg4,type5 arg5,type6 arg6) \ ++{ \ ++long __res; \ ++__asm__ volatile (\ ++ "pushl %%ebp\n\t" \ ++ "movl %%eax,%%ebp\n\t" \ ++ "movl %1,%%eax\n\t" \ ++ "pushl %%ebx\n\t" \ ++ "movl %2,%%ebx\n\t" \ ++ "int $0x80\n\t" \ ++ "popl %%ebx\n\t" \ ++ "popl %%ebp\n\t" \ ++ : "=a" (__res) \ ++ : "i" (__NR_##name),"m" ((long)(arg1)),"c" ((long)(arg2)), \ ++ "d" ((long)(arg3)),"S" ((long)(arg4)),"D" ((long)(arg5)), \ ++ "0" ((long)(arg6))); \ ++__syscall_return(type,__res); \ ++} ++#else + #define _syscall6(type,name,type1,arg1,type2,arg2,type3,arg3,type4,arg4, \ + type5,arg5,type6,arg6) \ + type name (type1 arg1,type2 arg2,type3 arg3,type4 arg4,type5 arg5,type6 arg6) \ +@@ -380,6 +486,7 @@ + "0" ((long)(arg6))); \ + __syscall_return(type,__res); \ + } ++#endif + + #ifdef __KERNEL__ + #define __ARCH_WANT_IPC_PARSE_VERSION diff --git a/sys-kernel/linux-headers/files/linux-headers-2.6.10-generic-arm-prepare.patch b/sys-kernel/linux-headers/files/linux-headers-2.6.10-generic-arm-prepare.patch new file mode 100644 index 000000000000..d6dc1dc39724 --- /dev/null +++ b/sys-kernel/linux-headers/files/linux-headers-2.6.10-generic-arm-prepare.patch @@ -0,0 +1,35 @@ +--- linux-2.6.7/include/asm-arm/glue.h 2004-07-19 01:35:04.000000000 -0400 ++++ linux-2.6.7/include/asm-arm/glue.h 2004-07-20 10:24:37.812214000 -0400 +@@ -107,8 +107,5 @@ + # endif + #endif + +-#ifndef CPU_ABORT_HANDLER +-#error Unknown data abort handler type +-#endif + + #endif +--- linux-2.6.7/include/asm-arm/cacheflush.h 2004-07-19 01:35:04.000000000 -0400 ++++ linux-2.6.7/include/asm-arm/cacheflush.h 2004-07-20 10:29:49.292214000 -0400 +@@ -77,9 +77,6 @@ + //# endif + #endif + +-#if !defined(_CACHE) && !defined(MULTI_CACHE) +-#error Unknown cache maintainence model +-#endif + + /* + * This flag is used to indicate that the page pointed to by a pte +--- linux-2.6.7/include/asm-arm/page.h 2004-07-19 01:35:04.000000000 -0400 ++++ linux-2.6.7/include/asm-arm/page.h 2004-07-20 10:28:36.542214000 -0400 +@@ -92,9 +92,6 @@ + # define MULTI_USER 1 + #endif + +-#if !defined(_USER) && !defined(MULTI_USER) +-#error Unknown user operations model +-#endif + + struct cpu_user_fns { + void (*cpu_clear_user_page)(void *p, unsigned long user); diff --git a/sys-kernel/linux-headers/linux-headers-2.6.10.ebuild b/sys-kernel/linux-headers/linux-headers-2.6.10.ebuild new file mode 100644 index 000000000000..f85f99431cfa --- /dev/null +++ b/sys-kernel/linux-headers/linux-headers-2.6.10.ebuild @@ -0,0 +1,35 @@ +# Copyright 1999-2005 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/sys-kernel/linux-headers/linux-headers-2.6.10.ebuild,v 1.1 2005/02/08 22:34:29 plasmaroo Exp $ + +ETYPE="headers" +H_SUPPORTEDARCH="alpha amd64 arm hppa ia64 ppc ppc64 s390 sparc x86" +inherit kernel-2 +detect_version + +SRC_URI="${KERNEL_URI}" +KEYWORDS="-*" # Untested, by using this you are agreeing to file bugs to plasmaroo, aren't you? :-) + +UNIPATCH_LIST=" + ${FILESDIR}/${PN}-2.6.0-sysctl_h-compat.patch + ${FILESDIR}/${PN}-2.6.0-fb.patch + ${FILESDIR}/${PN}-2.6.8.1-strict-ansi-fix.patch + ${FILESDIR}/${P}-appCompat.patch + ${FILESDIR}/${P}-generic-arm-prepare.patch + ${FILESDIR}/${PN}-soundcard-ppc64.patch + ${FILESDIR}/${PN}-2.6.8.1-parisc-syscall.patch" + +src_unpack() { + kernel-2_src_unpack + + # Fixes ... all the mv magic is to keep sed from dumping + # ugly warnings about how it can't work on a directory. + cd "${S}"/include + mv asm-ia64/sn asm-ppc64/iSeries . + headers___fix asm-ia64/* + mv sn asm-ia64/ + headers___fix asm-ppc64/* + mv iSeries asm-ppc64/ + headers___fix asm-ppc64/iSeries/* + headers___fix linux/{ethtool,jiffies}.h +} |