summaryrefslogtreecommitdiff
path: root/patches/linux/2.6.8
diff options
context:
space:
mode:
Diffstat (limited to 'patches/linux/2.6.8')
-rw-r--r--patches/linux/2.6.8/kaz-types.patch60
-rw-r--r--patches/linux/2.6.8/linux-2.6.8-allow-gcc-4.0-asm-i386.patch138
-rw-r--r--patches/linux/2.6.8/linux-2.6.8-arm-nonofpu.patch50
-rw-r--r--patches/linux/2.6.8/linux-2.6.8-build_on_case_insensitive_fs.patch725
-rw-r--r--patches/linux/2.6.8/linux-2.6.8-m68k-kludge.patch285
-rw-r--r--patches/linux/2.6.8/linux-2.6.8-noshared-kconfig.patch28
6 files changed, 1286 insertions, 0 deletions
diff --git a/patches/linux/2.6.8/kaz-types.patch b/patches/linux/2.6.8/kaz-types.patch
new file mode 100644
index 0000000..ec5de36
--- /dev/null
+++ b/patches/linux/2.6.8/kaz-types.patch
@@ -0,0 +1,60 @@
+The following fixes an error that occurs when building glibc-2.3.2 (but not glibc-2.2.5) for sh4:
+
+In file included from sys/ustat.h:30,
+ from ../sysdeps/unix/sysv/linux/ustat.c:21:
+../sysdeps/generic/bits/ustat.h:26: error: redefinition of `struct ustat'
+make[2]: *** [/home3/dank/crosstool-0.7/build/sh4-unknown-linux-gnu/gcc-3.3-glibc-2.3.2/build-glibc/misc/ustat.o] Error 1
+make[2]: Leaving directory `/home3/dank/crosstool-0.7/build/sh4-unknown-linux-gnu/gcc-3.3-glibc-2.3.2/glibc-2.3.2/misc'
+make[1]: *** [misc/subdir_lib] Error 2
+make[1]: Leaving directory `/home3/dank/crosstool-0.7/build/sh4-unknown-linux-gnu/gcc-3.3-glibc-2.3.2/glibc-2.3.2'
+make: *** [all] Error 2
+
+----------- snip ---------------
+
+Date: Fri, 06 Jun 2003 08:00:00 +0900
+From: kaz Kojima <kkojima@rr.iij4u.or.jp>
+Subject: [linux-sh:02770] Re: Compiling glibc-2.3.2 for sh4 fails with "include/asm/user.h:32:
+ error: redefinition of `struct user_fpu_struct'"
+To: linux-sh@m17n.org
+Message-Id: <200306052250.h55Moeb08707@r-rr.iij4u.or.jp>
+
+Hi,
+
+Dan Kegel <dank@kegel.com> wrote:
+> When I try to build glibc-2.3.2 for sh4, it fails with the error
+[snip]
+> /home3/dank/crosstool-0.3/result/sh4-linux/gcc-3.3-glibc-2.3.2/sh4-linux/include/asm/user.h:32: error: redefinition of `struct user_fpu_struct'
+> /home3/dank/crosstool-0.3/result/sh4-linux/gcc-3.3-glibc-2.3.2/sh4-linux/include/asm/user.h:39: error: redefinition of `struct user'
+[snip]
+> The error reminds me of the kind of thing fixed by
+> http://www.kegel.com/crossgcc/crosstool-0.4/glibc-2.3.2-patches/sh-user.patch
+
+It seems that the definitions in asm/user.h and the above patch collide.
+I'm not sure why you need this patch, but is it needed for the problem
+about struct ustat that you pointed out in this list, isn't it?
+I found why I don't hit ustat problem - my local kernel tree includes
+the following patch, though I can't recall about it.
+
+Regards,
+ kaz
+--
+diff -u linux-2.5.69-sf-orig/include/linux/types.h /usr/local/sh4-unknown-linux-gnu/include/linux/types.h
+--- linux-2.5.69-sf-orig/include/linux/types.h Wed Mar 5 12:29:34 2003
++++ sh4-unknown-linux-gnu/include/linux/types.h Sat Apr 19 10:05:52 2003
+@@ -141,6 +141,7 @@
+
+ #endif /* __KERNEL_STRICT_NAMES */
+
++#ifdef __KERNEL__
+ /*
+ * Below are truly Linux-specific types that should never collide with
+ * any application/library that wants linux/types.h.
+@@ -152,5 +153,6 @@
+ char f_fname[6];
+ char f_fpack[6];
+ };
++#endif
+
+ #endif /* _LINUX_TYPES_H */
+
+
diff --git a/patches/linux/2.6.8/linux-2.6.8-allow-gcc-4.0-asm-i386.patch b/patches/linux/2.6.8/linux-2.6.8-allow-gcc-4.0-asm-i386.patch
new file mode 100644
index 0000000..71d4e23
--- /dev/null
+++ b/patches/linux/2.6.8/linux-2.6.8-allow-gcc-4.0-asm-i386.patch
@@ -0,0 +1,138 @@
+Fixes
+
+In file included from include/asm/thread_info.h:16,
+ from include/linux/thread_info.h:21,
+ from include/linux/spinlock.h:12,
+ from include/linux/capability.h:45,
+ from include/linux/sched.h:7,
+ from arch/i386/kernel/asm-offsets.c:7:
+include/asm/processor.h:87: error: array type has incomplete element type
+make[1]: *** [arch/i386/kernel/asm-offsets.asm] Error 1
+
+--- linux-2.6.8/include/asm-i386/processor.h.old Tue Mar 15 00:14:42 2005
++++ linux-2.6.8/include/asm-i386/processor.h Tue Mar 15 00:18:45 2005
+@@ -79,6 +79,58 @@
+ #define X86_VENDOR_UNKNOWN 0xff
+
+ /*
++ * Size of io_bitmap.
++ */
++#define IO_BITMAP_BITS 65536
++#define IO_BITMAP_BYTES (IO_BITMAP_BITS/8)
++#define IO_BITMAP_LONGS (IO_BITMAP_BYTES/sizeof(long))
++#define IO_BITMAP_OFFSET offsetof(struct tss_struct,io_bitmap)
++#define INVALID_IO_BITMAP_OFFSET 0x8000
++
++struct tss_struct {
++ unsigned short back_link,__blh;
++ unsigned long esp0;
++ unsigned short ss0,__ss0h;
++ unsigned long esp1;
++ unsigned short ss1,__ss1h; /* ss1 is used to cache MSR_IA32_SYSENTER_CS */
++ unsigned long esp2;
++ unsigned short ss2,__ss2h;
++ unsigned long __cr3;
++ unsigned long eip;
++ unsigned long eflags;
++ unsigned long eax,ecx,edx,ebx;
++ unsigned long esp;
++ unsigned long ebp;
++ unsigned long esi;
++ unsigned long edi;
++ unsigned short es, __esh;
++ unsigned short cs, __csh;
++ unsigned short ss, __ssh;
++ unsigned short ds, __dsh;
++ unsigned short fs, __fsh;
++ unsigned short gs, __gsh;
++ unsigned short ldt, __ldth;
++ unsigned short trace, io_bitmap_base;
++ /*
++ * The extra 1 is there because the CPU will access an
++ * additional byte beyond the end of the IO permission
++ * bitmap. The extra byte must be all 1 bits, and must
++ * be within the limit.
++ */
++ unsigned long io_bitmap[IO_BITMAP_LONGS + 1];
++ /*
++ * pads the TSS to be cacheline-aligned (size is 0x100)
++ */
++ unsigned long __cacheline_filler[37];
++ /*
++ * .. and then another 0x100 bytes for emergency kernel stack
++ */
++ unsigned long stack[64];
++} __attribute__((packed));
++
++#define ARCH_MIN_TASKALIGN 16
++
++/*
+ * capabilities of CPUs
+ */
+
+@@ -296,15 +348,6 @@
+ */
+ #define TASK_UNMAPPED_BASE (PAGE_ALIGN(TASK_SIZE / 3))
+
+-/*
+- * Size of io_bitmap.
+- */
+-#define IO_BITMAP_BITS 65536
+-#define IO_BITMAP_BYTES (IO_BITMAP_BITS/8)
+-#define IO_BITMAP_LONGS (IO_BITMAP_BYTES/sizeof(long))
+-#define IO_BITMAP_OFFSET offsetof(struct tss_struct,io_bitmap)
+-#define INVALID_IO_BITMAP_OFFSET 0x8000
+-
+ struct i387_fsave_struct {
+ long cwd;
+ long swd;
+@@ -356,49 +399,6 @@
+ typedef struct {
+ unsigned long seg;
+ } mm_segment_t;
+-
+-struct tss_struct {
+- unsigned short back_link,__blh;
+- unsigned long esp0;
+- unsigned short ss0,__ss0h;
+- unsigned long esp1;
+- unsigned short ss1,__ss1h; /* ss1 is used to cache MSR_IA32_SYSENTER_CS */
+- unsigned long esp2;
+- unsigned short ss2,__ss2h;
+- unsigned long __cr3;
+- unsigned long eip;
+- unsigned long eflags;
+- unsigned long eax,ecx,edx,ebx;
+- unsigned long esp;
+- unsigned long ebp;
+- unsigned long esi;
+- unsigned long edi;
+- unsigned short es, __esh;
+- unsigned short cs, __csh;
+- unsigned short ss, __ssh;
+- unsigned short ds, __dsh;
+- unsigned short fs, __fsh;
+- unsigned short gs, __gsh;
+- unsigned short ldt, __ldth;
+- unsigned short trace, io_bitmap_base;
+- /*
+- * The extra 1 is there because the CPU will access an
+- * additional byte beyond the end of the IO permission
+- * bitmap. The extra byte must be all 1 bits, and must
+- * be within the limit.
+- */
+- unsigned long io_bitmap[IO_BITMAP_LONGS + 1];
+- /*
+- * pads the TSS to be cacheline-aligned (size is 0x100)
+- */
+- unsigned long __cacheline_filler[37];
+- /*
+- * .. and then another 0x100 bytes for emergency kernel stack
+- */
+- unsigned long stack[64];
+-} __attribute__((packed));
+-
+-#define ARCH_MIN_TASKALIGN 16
+
+ struct thread_struct {
+ /* cached TLS descriptors. */
diff --git a/patches/linux/2.6.8/linux-2.6.8-arm-nonofpu.patch b/patches/linux/2.6.8/linux-2.6.8-arm-nonofpu.patch
new file mode 100644
index 0000000..f638a00
--- /dev/null
+++ b/patches/linux/2.6.8/linux-2.6.8-arm-nonofpu.patch
@@ -0,0 +1,50 @@
+http://www.spinics.net/lists/arm/msg08012.html
+
+To: Dimitry Andric <dimitry@xxxxxxxxxx>
+Subject: Re: Kernel Compile Error: use of old and new-style options to set FPU type
+From: Marc Britten <maillists@xxxxxxxxxxxxxxxxx>
+Date: Wed, 16 Jun 2004 03:03:15 -0400
+Cc: linux-arm@xxxxxxxxxxxxxxxxxxxxxx
+In-reply-to: <1525495613.20040615202902@andric.com>
+
+Dimitry Andric wrote:
+
+>>Assembler messages:
+>>Error: use of old and new-style options to set FPU type
+> Try removing -Wa,-mno-fpu from CFLAGS (and possibly AFLAGS, but I'm
+> not sure, depends on what your compiler generates by default) in
+> arch/arm/Makefile.
+
+Just to let people know, this was successful.
+
+Thanks,
+
+Marc Britten
+
+--------
+
+Fixes error
+
+...
+make -f scripts/Makefile.build obj=scripts/mod
+ /opt/crosstool/arm-unknown-linux-gnu/gcc-3.4.1-glibc-2.3.3/bin/arm-unknown-linux-gnu-gcc -Wp,-MD,scripts/mod/.empty.o.d -nostdinc -iwithprefix include -D__KERNEL__ -Iinclude -Wall -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -fno-omit-frame-pointer -mapcs -mno-sched-prolog -mlittle-endian -mapcs-32 -malignment-traps -msoft-float -Wa,-mno-fpu -Uarm -Os -Wdeclaration-after-statement -DKBUILD_BASENAME=empty -DKBUILD_MODNAME=empty -c -o scripts/mod/empty.o scripts/mod/empty.c
+Assembler messages:
+Error: use of old and new-style options to set FPU type
+make[2]: *** [scripts/mod/empty.o] Error 1
+make[1]: *** [scripts/mod] Error 2
+make: *** [scripts] Error 2
+
+
+--- linux-2.6.8/arch/arm/Makefile.old 2004-09-01 21:27:07.000000000 -0700
++++ linux-2.6.8/arch/arm/Makefile 2004-09-01 21:27:31.000000000 -0700
+@@ -55,8 +55,8 @@
+ tune-$(CONFIG_CPU_V6) :=-mtune=strongarm
+
+ # Need -Uarm for gcc < 3.x
+-CFLAGS +=-mapcs-32 $(arch-y) $(tune-y) $(call check_gcc,-malignment-traps,-mshort-load-bytes) -msoft-float -Wa,-mno-fpu -Uarm
+-AFLAGS +=-mapcs-32 $(arch-y) $(tune-y) -msoft-float -Wa,-mno-fpu
++CFLAGS +=-mapcs-32 $(arch-y) $(tune-y) $(call check_gcc,-malignment-traps,-mshort-load-bytes) -msoft-float -Uarm
++AFLAGS +=-mapcs-32 $(arch-y) $(tune-y) -msoft-float
+
+ CHECK := $(CHECK) -D__arm__=1
+
diff --git a/patches/linux/2.6.8/linux-2.6.8-build_on_case_insensitive_fs.patch b/patches/linux/2.6.8/linux-2.6.8-build_on_case_insensitive_fs.patch
new file mode 100644
index 0000000..6472c17
--- /dev/null
+++ b/patches/linux/2.6.8/linux-2.6.8-build_on_case_insensitive_fs.patch
@@ -0,0 +1,725 @@
+Submitted By: Martin Schaffner <schaffner@gmx.li>
+Date: 2004-06-19
+Initial Package Version: 2.6.7
+Upstream Status: Not submitted
+Origin: Martin Schaffner
+Description: Enables build on case-insensitive file systems
+URL: xxxhttp://mirror.vtx.ch/lfs/patches/downloads/linux/linux-2.6.7-build_on_case_insensitive_fs-1.patch
+--- Rediffed against 2.6.8 by dank@kegel.com
+--- plus a few missing hunks added to fix sparc32 build
+
+--- linux-2.6.8/Makefile.orig 2004-08-13 22:37:25.000000000 -0700
++++ linux-2.6.8/Makefile 2004-09-01 21:39:39.000000000 -0700
+@@ -540,7 +540,7 @@
+
+ do_system_map = $(NM) $(1) | grep -v '\(compiled\)\|\(\.o$$\)\|\( [aUw] \)\|\(\.\.ng$$\)\|\(LASH[RL]DI\)' | sort > $(2)
+
+-LDFLAGS_vmlinux += -T arch/$(ARCH)/kernel/vmlinux.lds.s
++LDFLAGS_vmlinux += -T arch/$(ARCH)/kernel/vmlinux.lds.asm
+
+ # Generate section listing all symbols and add it into vmlinux
+ # It's a three stage process:
+@@ -584,13 +584,13 @@
+ .tmp_kallsyms%.S: .tmp_vmlinux%
+ $(call cmd,kallsyms)
+
+-.tmp_vmlinux1: $(vmlinux-objs) arch/$(ARCH)/kernel/vmlinux.lds.s FORCE
++.tmp_vmlinux1: $(vmlinux-objs) arch/$(ARCH)/kernel/vmlinux.lds.asm FORCE
+ $(call if_changed_rule,vmlinux__)
+
+-.tmp_vmlinux2: $(vmlinux-objs) .tmp_kallsyms1.o arch/$(ARCH)/kernel/vmlinux.lds.s FORCE
++.tmp_vmlinux2: $(vmlinux-objs) .tmp_kallsyms1.o arch/$(ARCH)/kernel/vmlinux.lds.asm FORCE
+ $(call if_changed_rule,vmlinux__)
+
+-.tmp_vmlinux3: $(vmlinux-objs) .tmp_kallsyms2.o arch/$(ARCH)/kernel/vmlinux.lds.s FORCE
++.tmp_vmlinux3: $(vmlinux-objs) .tmp_kallsyms2.o arch/$(ARCH)/kernel/vmlinux.lds.asm FORCE
+ $(call if_changed_rule,vmlinux__)
+
+ endif
+@@ -603,13 +603,13 @@
+ $(rule_verify_kallsyms)
+ endef
+
+-vmlinux: $(vmlinux-objs) $(kallsyms.o) arch/$(ARCH)/kernel/vmlinux.lds.s FORCE
++vmlinux: $(vmlinux-objs) $(kallsyms.o) arch/$(ARCH)/kernel/vmlinux.lds.asm FORCE
+ $(call if_changed_rule,vmlinux)
+
+ # The actual objects are generated when descending,
+ # make sure no implicit rule kicks in
+
+-$(sort $(vmlinux-objs)) arch/$(ARCH)/kernel/vmlinux.lds.s: $(vmlinux-dirs) ;
++$(sort $(vmlinux-objs)) arch/$(ARCH)/kernel/vmlinux.lds.asm: $(vmlinux-dirs) ;
+
+ # Handle descending into subdirectories listed in $(vmlinux-dirs)
+ # Preset locale variables to speed up the build process. Limit locale
+@@ -672,7 +672,7 @@
+ # Single targets
+ # ---------------------------------------------------------------------------
+
+-%.s: %.c scripts FORCE
++%.asm: %.c scripts FORCE
+ $(Q)$(MAKE) $(build)=$(@D) $@
+ %.i: %.c scripts FORCE
+ $(Q)$(MAKE) $(build)=$(@D) $@
+@@ -682,7 +682,7 @@
+ $(Q)$(MAKE) KBUILD_MODULES=$(if $(CONFIG_MODULES),1) $(build)=$(@D)
+ %.lst: %.c scripts FORCE
+ $(Q)$(MAKE) $(build)=$(@D) $@
+-%.s: %.S scripts FORCE
++%.asm: %.S scripts FORCE
+ $(Q)$(MAKE) $(build)=$(@D) $@
+ %.o: %.S scripts FORCE
+ $(Q)$(MAKE) $(build)=$(@D) $@
+diff -ur linux-2.6.7/arch/alpha/Makefile linux-2.6.7-mod/arch/alpha/Makefile
+--- linux-2.6.7/arch/alpha/Makefile Fri Jun 18 22:51:03 2004
++++ linux-2.6.7-mod/arch/alpha/Makefile Sat Jun 19 12:46:32 2004
+@@ -114,10 +114,10 @@
+
+ prepare: include/asm-$(ARCH)/asm_offsets.h
+
+-arch/$(ARCH)/kernel/asm-offsets.s: include/asm include/linux/version.h \
++arch/$(ARCH)/kernel/asm-offsets.asm: include/asm include/linux/version.h \
+ include/config/MARKER
+
+-include/asm-$(ARCH)/asm_offsets.h: arch/$(ARCH)/kernel/asm-offsets.s
++include/asm-$(ARCH)/asm_offsets.h: arch/$(ARCH)/kernel/asm-offsets.asm
+ $(call filechk,gen-asm-offsets)
+
+ archclean:
+diff -ur linux-2.6.7/arch/alpha/kernel/Makefile linux-2.6.7-mod/arch/alpha/kernel/Makefile
+--- linux-2.6.7/arch/alpha/kernel/Makefile Mon May 10 04:32:29 2004
++++ linux-2.6.7-mod/arch/alpha/kernel/Makefile Sat Jun 19 12:46:48 2004
+@@ -2,7 +2,7 @@
+ # Makefile for the linux kernel.
+ #
+
+-extra-y := head.o vmlinux.lds.s
++extra-y := head.o vmlinux.lds.asm
+ EXTRA_AFLAGS := $(CFLAGS)
+ EXTRA_CFLAGS := -Werror -Wno-sign-compare
+
+--- linux-2.6.8/arch/arm/Makefile.orig 2004-08-13 22:36:56.000000000 -0700
++++ linux-2.6.8/arch/arm/Makefile 2004-09-01 21:40:21.000000000 -0700
+@@ -176,10 +176,10 @@
+ bp:; $(Q)$(MAKE) $(build)=$(boot) $(boot)/bootpImage
+ i zi:; $(Q)$(MAKE) $(build)=$(boot) $@
+
+-arch/$(ARCH)/kernel/asm-offsets.s: include/asm include/linux/version.h \
++arch/$(ARCH)/kernel/asm-offsets.asm: include/asm include/linux/version.h \
+ include/asm-arm/.arch
+
+-include/asm-$(ARCH)/constants.h: arch/$(ARCH)/kernel/asm-offsets.s
++include/asm-$(ARCH)/constants.h: arch/$(ARCH)/kernel/asm-offsets.asm
+ $(call filechk,gen-asm-offsets)
+
+ define archhelp
+diff -ur linux-2.6.7/arch/arm/kernel/Makefile linux-2.6.7-mod/arch/arm/kernel/Makefile
+--- linux-2.6.7/arch/arm/kernel/Makefile Mon May 10 04:33:19 2004
++++ linux-2.6.7-mod/arch/arm/kernel/Makefile Sat Jun 19 12:47:25 2004
+@@ -27,7 +27,7 @@
+ head-y := head.o
+ obj-$(CONFIG_DEBUG_LL) += debug.o
+
+-extra-y := $(head-y) init_task.o vmlinux.lds.s
++extra-y := $(head-y) init_task.o vmlinux.lds.asm
+
+ # Spell out some dependencies that aren't automatically figured out
+ $(obj)/entry-armv.o: $(obj)/entry-header.S include/asm-arm/constants.h
+diff -ur linux-2.6.7/arch/arm26/Makefile linux-2.6.7-mod/arch/arm26/Makefile
+--- linux-2.6.7/arch/arm26/Makefile Mon May 10 04:32:28 2004
++++ linux-2.6.7-mod/arch/arm26/Makefile Sat Jun 19 12:48:24 2004
+@@ -101,10 +101,10 @@
+ fi; \
+ )
+
+-arch/$(ARCH)/kernel/asm-offsets.s: include/asm include/linux/version.h \
++arch/$(ARCH)/kernel/asm-offsets.asm: include/asm include/linux/version.h \
+ include/config/MARKER
+
+-include/asm-$(ARCH)/asm_offsets.h: arch/$(ARCH)/kernel/asm-offsets.s
++include/asm-$(ARCH)/asm_offsets.h: arch/$(ARCH)/kernel/asm-offsets.asm
+ $(call filechk,gen-asm-offsets)
+
+ define archhelp
+diff -ur linux-2.6.7/arch/arm26/kernel/Makefile linux-2.6.7-mod/arch/arm26/kernel/Makefile
+--- linux-2.6.7/arch/arm26/kernel/Makefile Mon May 10 04:32:29 2004
++++ linux-2.6.7-mod/arch/arm26/kernel/Makefile Sat Jun 19 12:48:30 2004
+@@ -14,5 +14,5 @@
+ obj-$(CONFIG_FIQ) += fiq.o
+ obj-$(CONFIG_MODULES) += armksyms.o
+
+-extra-y := init_task.o vmlinux.lds.s
++extra-y := init_task.o vmlinux.lds.asm
+
+diff -ur linux-2.6.7/arch/cris/Makefile linux-2.6.7-mod/arch/cris/Makefile
+--- linux-2.6.7/arch/cris/Makefile Fri Jun 18 22:51:07 2004
++++ linux-2.6.7-mod/arch/cris/Makefile Sat Jun 19 12:48:47 2004
+@@ -107,8 +107,8 @@
+ @ln -sf $(SARCH) include/asm-$(ARCH)/arch
+ @touch $@
+
+-arch/$(ARCH)/$(SARCH)/kernel/asm-offsets.s: include/asm include/linux/version.h \
++arch/$(ARCH)/$(SARCH)/kernel/asm-offsets.asm: include/asm include/linux/version.h \
+ include/config/MARKER
+
+-include/asm-$(ARCH)/$(SARCH)/offset.h: arch/$(ARCH)/$(SARCH)/kernel/asm-offsets.s
++include/asm-$(ARCH)/$(SARCH)/offset.h: arch/$(ARCH)/$(SARCH)/kernel/asm-offsets.asm
+ $(call filechk,gen-asm-offsets)
+diff -ur linux-2.6.7/arch/cris/kernel/Makefile linux-2.6.7-mod/arch/cris/kernel/Makefile
+--- linux-2.6.7/arch/cris/kernel/Makefile Fri Jun 18 22:51:09 2004
++++ linux-2.6.7-mod/arch/cris/kernel/Makefile Sat Jun 19 12:48:53 2004
+@@ -3,7 +3,7 @@
+ # Makefile for the linux kernel.
+ #
+
+-extra-y := vmlinux.lds.s
++extra-y := vmlinux.lds.asm
+
+ obj-y := process.o traps.o irq.o ptrace.o setup.o \
+ time.o sys_cris.o semaphore.o
+diff -ur linux-2.6.7/arch/h8300/Makefile linux-2.6.7-mod/arch/h8300/Makefile
+--- linux-2.6.7/arch/h8300/Makefile Fri Jun 18 22:51:09 2004
++++ linux-2.6.7-mod/arch/h8300/Makefile Sat Jun 19 12:49:12 2004
+@@ -64,7 +64,7 @@
+
+ prepare: include/asm-$(ARCH)/asm-offsets.h
+
+-include/asm-$(ARCH)/asm-offsets.h: arch/$(ARCH)/kernel/asm-offsets.s \
++include/asm-$(ARCH)/asm-offsets.h: arch/$(ARCH)/kernel/asm-offsets.asm \
+ include/asm include/linux/version.h
+ $(call filechk,gen-asm-offsets)
+
+diff -ur linux-2.6.7/arch/h8300/kernel/Makefile linux-2.6.7-mod/arch/h8300/kernel/Makefile
+--- linux-2.6.7/arch/h8300/kernel/Makefile Fri Jun 18 22:51:09 2004
++++ linux-2.6.7-mod/arch/h8300/kernel/Makefile Sat Jun 19 12:49:32 2004
+@@ -2,7 +2,7 @@
+ # Makefile for the linux kernel.
+ #
+
+-extra-y := vmlinux.lds.s
++extra-y := vmlinux.lds.asm
+
+ obj-y := process.o traps.o ptrace.o ints.o \
+ sys_h8300.o time.o semaphore.o signal.o \
+diff -ur linux-2.6.7/arch/i386/Makefile linux-2.6.7-mod/arch/i386/Makefile
+--- linux-2.6.7/arch/i386/Makefile Fri Jun 18 22:51:10 2004
++++ linux-2.6.7-mod/arch/i386/Makefile Sat Jun 19 12:49:43 2004
+@@ -141,10 +141,10 @@
+ prepare: include/asm-$(ARCH)/asm_offsets.h
+ CLEAN_FILES += include/asm-$(ARCH)/asm_offsets.h
+
+-arch/$(ARCH)/kernel/asm-offsets.s: include/asm include/linux/version.h \
++arch/$(ARCH)/kernel/asm-offsets.asm: include/asm include/linux/version.h \
+ include/config/MARKER
+
+-include/asm-$(ARCH)/asm_offsets.h: arch/$(ARCH)/kernel/asm-offsets.s
++include/asm-$(ARCH)/asm_offsets.h: arch/$(ARCH)/kernel/asm-offsets.asm
+ $(call filechk,gen-asm-offsets)
+
+ archclean:
+diff -ur linux-2.6.7/arch/i386/kernel/Makefile linux-2.6.7-mod/arch/i386/kernel/Makefile
+--- linux-2.6.7/arch/i386/kernel/Makefile Mon May 10 04:32:02 2004
++++ linux-2.6.7-mod/arch/i386/kernel/Makefile Sat Jun 19 12:49:54 2004
+@@ -2,7 +2,7 @@
+ # Makefile for the linux kernel.
+ #
+
+-extra-y := head.o init_task.o vmlinux.lds.s
++extra-y := head.o init_task.o vmlinux.lds.asm
+
+ obj-y := process.o semaphore.o signal.o entry.o traps.o irq.o vm86.o \
+ ptrace.o i8259.o ioport.o ldt.o setup.o time.o sys_i386.o \
+diff -ur linux-2.6.7/arch/ia64/Makefile linux-2.6.7-mod/arch/ia64/Makefile
+--- linux-2.6.7/arch/ia64/Makefile Mon May 10 04:31:59 2004
++++ linux-2.6.7-mod/arch/ia64/Makefile Sat Jun 19 12:50:12 2004
+@@ -88,12 +88,12 @@
+
+ prepare: include/asm-ia64/offsets.h
+
+-arch/ia64/kernel/asm-offsets.s: include/asm include/linux/version.h include/config/MARKER
++arch/ia64/kernel/asm-offsets.asm: include/asm include/linux/version.h include/config/MARKER
+
+-include/asm-ia64/offsets.h: arch/ia64/kernel/asm-offsets.s
++include/asm-ia64/offsets.h: arch/ia64/kernel/asm-offsets.asm
+ $(call filechk,gen-asm-offsets)
+
+-arch/ia64/kernel/asm-offsets.s: include/asm-ia64/.offsets.h.stamp
++arch/ia64/kernel/asm-offsets.asm: include/asm-ia64/.offsets.h.stamp
+
+ include/asm-ia64/.offsets.h.stamp:
+ mkdir -p include/asm-ia64
+diff -ur linux-2.6.7/arch/ia64/kernel/Makefile linux-2.6.7-mod/arch/ia64/kernel/Makefile
+--- linux-2.6.7/arch/ia64/kernel/Makefile Fri Jun 18 22:51:13 2004
++++ linux-2.6.7-mod/arch/ia64/kernel/Makefile Sat Jun 19 12:52:14 2004
+@@ -2,7 +2,7 @@
+ # Makefile for the linux kernel.
+ #
+
+-extra-y := head.o init_task.o vmlinux.lds.s
++extra-y := head.o init_task.o vmlinux.lds.asm
+
+ obj-y := acpi.o entry.o efi.o efi_stub.o gate-data.o fsys.o ia64_ksyms.o irq.o irq_ia64.o \
+ irq_lsapic.o ivt.o machvec.o pal.o patch.o process.o perfmon.o ptrace.o sal.o \
+@@ -21,7 +21,7 @@
+ # The gate DSO image is built using a special linker script.
+ targets += gate.so gate-syms.o
+
+-extra-y += gate.so gate-syms.o gate.lds.s gate.o
++extra-y += gate.so gate-syms.o gate.lds.asm gate.o
+
+ # fp_emulate() expects f2-f5,f16-f31 to contain the user-level state.
+ CFLAGS_traps.o += -mfixed-range=f2-f5,f16-f31
+@@ -32,14 +32,14 @@
+ cmd_gate = $(CC) -nostdlib $(GATECFLAGS_$(@F)) -Wl,-T,$(filter-out FORCE,$^) -o $@
+
+ GATECFLAGS_gate.so = -shared -s -Wl,-soname=linux-gate.so.1
+-$(obj)/gate.so: $(obj)/gate.lds.s $(obj)/gate.o FORCE
++$(obj)/gate.so: $(obj)/gate.lds.asm $(obj)/gate.o FORCE
+ $(call if_changed,gate)
+
+ $(obj)/built-in.o: $(obj)/gate-syms.o
+ $(obj)/built-in.o: ld_flags += -R $(obj)/gate-syms.o
+
+ GATECFLAGS_gate-syms.o = -r
+-$(obj)/gate-syms.o: $(src)/gate.lds.s $(obj)/gate.o FORCE
++$(obj)/gate-syms.o: $(src)/gate.lds.asm $(obj)/gate.o FORCE
+ $(call if_changed,gate)
+
+ # gate-data.o contains the gate DSO image as data in section .data.gate.
+diff -ur linux-2.6.7/arch/m68k/Makefile linux-2.6.7-mod/arch/m68k/Makefile
+--- linux-2.6.7/arch/m68k/Makefile Fri Jun 18 22:51:14 2004
++++ linux-2.6.7-mod/arch/m68k/Makefile Sat Jun 19 12:52:30 2004
+@@ -114,10 +114,10 @@
+ prepare: include/asm-$(ARCH)/offsets.h
+ CLEAN_FILES += include/asm-$(ARCH)/offsets.h
+
+-arch/$(ARCH)/kernel/asm-offsets.s: include/asm include/linux/version.h \
++arch/$(ARCH)/kernel/asm-offsets.asm: include/asm include/linux/version.h \
+ include/config/MARKER
+
+-include/asm-$(ARCH)/offsets.h: arch/$(ARCH)/kernel/asm-offsets.s
++include/asm-$(ARCH)/offsets.h: arch/$(ARCH)/kernel/asm-offsets.asm
+ $(call filechk,gen-asm-offsets)
+
+ archclean:
+diff -ur linux-2.6.7/arch/m68k/kernel/Makefile linux-2.6.7-mod/arch/m68k/kernel/Makefile
+--- linux-2.6.7/arch/m68k/kernel/Makefile Mon May 10 04:33:10 2004
++++ linux-2.6.7-mod/arch/m68k/kernel/Makefile Sat Jun 19 12:52:35 2004
+@@ -7,7 +7,7 @@
+ else
+ extra-y := sun3-head.o
+ endif
+-extra-y += vmlinux.lds.s
++extra-y += vmlinux.lds.asm
+
+ obj-y := entry.o process.o traps.o ints.o signal.o ptrace.o \
+ sys_m68k.o time.o semaphore.o setup.o m68k_ksyms.o
+diff -ur linux-2.6.7/arch/m68knommu/Makefile linux-2.6.7-mod/arch/m68knommu/Makefile
+--- linux-2.6.7/arch/m68knommu/Makefile Mon May 10 04:32:54 2004
++++ linux-2.6.7-mod/arch/m68knommu/Makefile Sat Jun 19 12:52:57 2004
+@@ -89,7 +89,7 @@
+ head-y := arch/m68knommu/platform/$(platform-y)/$(board-y)/crt0_$(model-y).o
+
+ CLEAN_FILES := include/asm-$(ARCH)/asm-offsets.h \
+- arch/$(ARCH)/kernel/asm-offsets.s
++ arch/$(ARCH)/kernel/asm-offsets.asm
+
+ core-y += arch/m68knommu/kernel/ \
+ arch/m68knommu/mm/ \
+@@ -102,7 +102,7 @@
+ archclean:
+ $(call descend arch/$(ARCH)/boot, subdirclean)
+
+-include/asm-$(ARCH)/asm-offsets.h: arch/$(ARCH)/kernel/asm-offsets.s \
++include/asm-$(ARCH)/asm-offsets.h: arch/$(ARCH)/kernel/asm-offsets.asm \
+ include/asm include/linux/version.h \
+ include/config/MARKER
+ $(call filechk,gen-asm-offsets)
+diff -ur linux-2.6.7/arch/m68knommu/kernel/Makefile linux-2.6.7-mod/arch/m68knommu/kernel/Makefile
+--- linux-2.6.7/arch/m68knommu/kernel/Makefile Mon May 10 04:32:26 2004
++++ linux-2.6.7-mod/arch/m68knommu/kernel/Makefile Sat Jun 19 12:53:20 2004
+@@ -2,7 +2,7 @@
+ # Makefile for arch/m68knommu/kernel.
+ #
+
+-extra-y := vmlinux.lds.s
++extra-y := vmlinux.lds.asm
+
+ obj-y += dma.o entry.o init_task.o m68k_ksyms.o process.o ptrace.o semaphore.o \
+ setup.o signal.o syscalltable.o sys_m68k.o time.o traps.o
+diff -ur linux-2.6.7/arch/mips/Makefile linux-2.6.7-mod/arch/mips/Makefile
+--- linux-2.6.7/arch/mips/Makefile Fri Jun 18 22:51:19 2004
++++ linux-2.6.7-mod/arch/mips/Makefile Sat Jun 19 12:53:35 2004
+@@ -752,12 +752,12 @@
+ prepare: include/asm-$(ARCH)/offset.h \
+ include/asm-$(ARCH)/reg.h
+
+-arch/$(ARCH)/kernel/offset.s: include/asm include/linux/version.h \
++arch/$(ARCH)/kernel/offset.asm: include/asm include/linux/version.h \
+ include/config/MARKER
+
+-include/asm-$(ARCH)/offset.h: arch/$(ARCH)/kernel/offset.s
++include/asm-$(ARCH)/offset.h: arch/$(ARCH)/kernel/offset.asm
+ $(call filechk,gen-asm-offset.h)
+-include/asm-$(ARCH)/reg.h: arch/$(ARCH)/kernel/reg.s
++include/asm-$(ARCH)/reg.h: arch/$(ARCH)/kernel/reg.asm
+ $(call filechk,gen-asm-reg.h)
+
+ CLEAN_FILES += include/asm-$(ARCH)/offset.h.tmp \
+diff -ur linux-2.6.7/arch/mips/kernel/Makefile linux-2.6.7-mod/arch/mips/kernel/Makefile
+--- linux-2.6.7/arch/mips/kernel/Makefile Mon May 10 04:32:28 2004
++++ linux-2.6.7-mod/arch/mips/kernel/Makefile Sat Jun 19 12:53:41 2004
+@@ -2,7 +2,7 @@
+ # Makefile for the Linux/MIPS kernel.
+ #
+
+-extra-y := head.o init_task.o vmlinux.lds.s
++extra-y := head.o init_task.o vmlinux.lds.asm
+
+ obj-y += cpu-probe.o branch.o entry.o genex.o irq.o process.o \
+ ptrace.o reset.o semaphore.o setup.o signal.o syscall.o \
+diff -ur linux-2.6.7/arch/parisc/Makefile linux-2.6.7-mod/arch/parisc/Makefile
+--- linux-2.6.7/arch/parisc/Makefile Fri Jun 18 22:51:21 2004
++++ linux-2.6.7-mod/arch/parisc/Makefile Sat Jun 19 12:53:47 2004
+@@ -88,10 +88,10 @@
+
+ prepare: include/asm-parisc/offsets.h
+
+-arch/parisc/kernel/asm-offsets.s: include/asm include/linux/version.h \
++arch/parisc/kernel/asm-offsets.asm: include/asm include/linux/version.h \
+ include/config/MARKER
+
+-include/asm-parisc/offsets.h: arch/parisc/kernel/asm-offsets.s
++include/asm-parisc/offsets.h: arch/parisc/kernel/asm-offsets.asm
+ $(call filechk,gen-asm-offsets)
+
+ CLEAN_FILES += lifimage include/asm-parisc/offsets.h
+diff -ur linux-2.6.7/arch/parisc/kernel/Makefile linux-2.6.7-mod/arch/parisc/kernel/Makefile
+--- linux-2.6.7/arch/parisc/kernel/Makefile Fri Jun 18 22:51:21 2004
++++ linux-2.6.7-mod/arch/parisc/kernel/Makefile Sat Jun 19 12:53:53 2004
+@@ -4,7 +4,7 @@
+
+ head-y := head.o
+ head-$(CONFIG_PARISC64) := head64.o
+-extra-y := init_task.o $(head-y) vmlinux.lds.s
++extra-y := init_task.o $(head-y) vmlinux.lds.asm
+
+ AFLAGS_entry.o := -traditional
+ AFLAGS_pacache.o := -traditional
+diff -ur linux-2.6.7/arch/ppc/Makefile linux-2.6.7-mod/arch/ppc/Makefile
+--- linux-2.6.7/arch/ppc/Makefile Fri Jun 18 22:51:22 2004
++++ linux-2.6.7-mod/arch/ppc/Makefile Sat Jun 19 12:54:09 2004
+@@ -78,10 +78,10 @@
+
+ prepare: include/asm-$(ARCH)/offsets.h checkbin
+
+-arch/$(ARCH)/kernel/asm-offsets.s: include/asm include/linux/version.h \
++arch/$(ARCH)/kernel/asm-offsets.asm: include/asm include/linux/version.h \
+ include/config/MARKER
+
+-include/asm-$(ARCH)/offsets.h: arch/$(ARCH)/kernel/asm-offsets.s
++include/asm-$(ARCH)/offsets.h: arch/$(ARCH)/kernel/asm-offsets.asm
+ $(call filechk,gen-asm-offsets)
+
+ ifdef CONFIG_6xx
+@@ -104,4 +104,4 @@
+ endif
+
+ CLEAN_FILES += include/asm-$(ARCH)/offsets.h \
+- arch/$(ARCH)/kernel/asm-offsets.s
++ arch/$(ARCH)/kernel/asm-offsets.asm
+diff -ur linux-2.6.7/arch/ppc/kernel/Makefile linux-2.6.7-mod/arch/ppc/kernel/Makefile
+--- linux-2.6.7/arch/ppc/kernel/Makefile Fri Jun 18 22:51:24 2004
++++ linux-2.6.7-mod/arch/ppc/kernel/Makefile Sat Jun 19 12:43:10 2004
+@@ -15,7 +15,7 @@
+ extra-$(CONFIG_8xx) := head_8xx.o
+ extra-$(CONFIG_6xx) += idle_6xx.o
+ extra-$(CONFIG_POWER4) += idle_power4.o
+-extra-y += vmlinux.lds.s
++extra-y += vmlinux.lds.asm
+
+ obj-y := entry.o traps.o irq.o idle.o time.o misc.o \
+ process.o signal.o ptrace.o align.o \
+diff -ur linux-2.6.7/arch/ppc64/Makefile linux-2.6.7-mod/arch/ppc64/Makefile
+--- linux-2.6.7/arch/ppc64/Makefile Fri Jun 18 22:51:26 2004
++++ linux-2.6.7-mod/arch/ppc64/Makefile Sat Jun 19 12:54:32 2004
+@@ -67,10 +67,10 @@
+
+ prepare: include/asm-ppc64/offsets.h
+
+-arch/ppc64/kernel/asm-offsets.s: include/asm include/linux/version.h \
++arch/ppc64/kernel/asm-offsets.asm: include/asm include/linux/version.h \
+ include/config/MARKER
+
+-include/asm-ppc64/offsets.h: arch/ppc64/kernel/asm-offsets.s
++include/asm-ppc64/offsets.h: arch/ppc64/kernel/asm-offsets.asm
+ $(call filechk,gen-asm-offsets)
+
+ define archhelp
+diff -ur linux-2.6.7/arch/ppc64/kernel/Makefile linux-2.6.7-mod/arch/ppc64/kernel/Makefile
+--- linux-2.6.7/arch/ppc64/kernel/Makefile Mon May 10 04:33:20 2004
++++ linux-2.6.7-mod/arch/ppc64/kernel/Makefile Sat Jun 19 12:54:39 2004
+@@ -3,7 +3,7 @@
+ #
+
+ EXTRA_CFLAGS += -mno-minimal-toc
+-extra-y := head.o vmlinux.lds.s
++extra-y := head.o vmlinux.lds.asm
+
+ obj-y := setup.o entry.o traps.o irq.o idle.o dma.o \
+ time.o process.o signal.o syscalls.o misc.o ptrace.o \
+diff -ur linux-2.6.7/arch/s390/Makefile linux-2.6.7-mod/arch/s390/Makefile
+--- linux-2.6.7/arch/s390/Makefile Mon May 10 04:32:02 2004
++++ linux-2.6.7-mod/arch/s390/Makefile Sat Jun 19 12:54:46 2004
+@@ -68,10 +68,10 @@
+
+ prepare: include/asm-$(ARCH)/offsets.h
+
+-arch/$(ARCH)/kernel/asm-offsets.s: include/asm include/linux/version.h \
++arch/$(ARCH)/kernel/asm-offsets.asm: include/asm include/linux/version.h \
+ include/config/MARKER
+
+-include/asm-$(ARCH)/offsets.h: arch/$(ARCH)/kernel/asm-offsets.s
++include/asm-$(ARCH)/offsets.h: arch/$(ARCH)/kernel/asm-offsets.asm
+ $(call filechk,gen-asm-offsets)
+
+ CLEAN_FILES += include/asm-$(ARCH)/offsets.h
+diff -ur linux-2.6.7/arch/s390/kernel/Makefile linux-2.6.7-mod/arch/s390/kernel/Makefile
+--- linux-2.6.7/arch/s390/kernel/Makefile Mon May 10 04:33:20 2004
++++ linux-2.6.7-mod/arch/s390/kernel/Makefile Sat Jun 19 12:54:52 2004
+@@ -10,7 +10,7 @@
+
+ extra-$(CONFIG_ARCH_S390_31) += head.o
+ extra-$(CONFIG_ARCH_S390X) += head64.o
+-extra-y += init_task.o vmlinux.lds.s
++extra-y += init_task.o vmlinux.lds.asm
+
+ obj-$(CONFIG_MODULES) += s390_ksyms.o module.o
+ obj-$(CONFIG_SMP) += smp.o
+diff -ur linux-2.6.7/arch/sh/kernel/Makefile linux-2.6.7-mod/arch/sh/kernel/Makefile
+--- linux-2.6.7/arch/sh/kernel/Makefile Mon May 10 04:32:39 2004
++++ linux-2.6.7-mod/arch/sh/kernel/Makefile Sat Jun 19 12:55:33 2004
+@@ -2,7 +2,7 @@
+ # Makefile for the Linux/SuperH kernel.
+ #
+
+-extra-y := head.o init_task.o vmlinux.lds.s
++extra-y := head.o init_task.o vmlinux.lds.asm
+
+ obj-y := process.o signal.o entry.o traps.o irq.o \
+ ptrace.o setup.o time.o sys_sh.o semaphore.o \
+diff -ur linux-2.6.7/arch/sparc/Makefile linux-2.6.7-mod/arch/sparc/Makefile
+--- linux-2.6.7/arch/sparc/Makefile Fri Jun 18 22:51:29 2004
++++ linux-2.6.7-mod/arch/sparc/Makefile Sat Jun 19 12:55:48 2004
+@@ -61,14 +61,14 @@
+
+ prepare: include/asm-$(ARCH)/asm_offsets.h
+
+-arch/$(ARCH)/kernel/asm-offsets.s: include/asm include/linux/version.h \
++arch/$(ARCH)/kernel/asm-offsets.asm: include/asm include/linux/version.h \
+ include/config/MARKER
+
+-include/asm-$(ARCH)/asm_offsets.h: arch/$(ARCH)/kernel/asm-offsets.s
++include/asm-$(ARCH)/asm_offsets.h: arch/$(ARCH)/kernel/asm-offsets.asm
+ $(call filechk,gen-asm-offsets)
+
+ CLEAN_FILES += include/asm-$(ARCH)/asm_offsets.h \
+- arch/$(ARCH)/kernel/asm-offsets.s \
++ arch/$(ARCH)/kernel/asm-offsets.asm \
+ arch/$(ARCH)/boot/System.map
+
+ # Don't use tabs in echo arguments.
+diff -ur linux-2.6.7/arch/sparc/kernel/Makefile linux-2.6.7-mod/arch/sparc/kernel/Makefile
+--- linux-2.6.7/arch/sparc/kernel/Makefile Mon May 10 04:33:13 2004
++++ linux-2.6.7-mod/arch/sparc/kernel/Makefile Sat Jun 19 12:55:52 2004
+@@ -2,7 +2,7 @@
+ # Makefile for the linux kernel.
+ #
+
+-extra-y := head.o init_task.o vmlinux.lds.s
++extra-y := head.o init_task.o vmlinux.lds.asm
+
+ EXTRA_AFLAGS := -ansi
+
+diff -ur linux-2.6.7/arch/sparc64/kernel/Makefile linux-2.6.7-mod/arch/sparc64/kernel/Makefile
+--- linux-2.6.7/arch/sparc64/kernel/Makefile Mon May 10 04:32:02 2004
++++ linux-2.6.7-mod/arch/sparc64/kernel/Makefile Sat Jun 19 12:56:24 2004
+@@ -5,7 +5,7 @@
+ EXTRA_AFLAGS := -ansi
+ EXTRA_CFLAGS := -Werror
+
+-extra-y := head.o init_task.o vmlinux.lds.s
++extra-y := head.o init_task.o vmlinux.lds.asm
+
+ obj-y := process.o setup.o cpu.o idprom.o \
+ traps.o devices.o auxio.o \
+diff -ur linux-2.6.7/arch/um/Makefile linux-2.6.7-mod/arch/um/Makefile
+--- linux-2.6.7/arch/um/Makefile Mon May 10 04:32:52 2004
++++ linux-2.6.7-mod/arch/um/Makefile Sat Jun 19 12:57:07 2004
+@@ -77,7 +77,7 @@
+ # CONFIG_MODE_SKAS + CONFIG_STATIC_LINK case.
+
+ LINK_TT = -static
+-LD_SCRIPT_TT := uml.lds.s
++LD_SCRIPT_TT := uml.lds.asm
+
+ ifeq ($(CONFIG_STATIC_LINK),y)
+ LINK-y += $(LINK_TT)
+@@ -103,11 +103,11 @@
+ -DELF_FORMAT=\"$(ELF_FORMAT)\" $(CPP_MODE_TT) \
+ -DKERNEL_STACK_SIZE=$(STACK_SIZE)
+
+-AFLAGS_$(LD_SCRIPT-y:.s=).o = $(AFLAGS_vmlinux.lds.o) -P -C -Uum
++AFLAGS_$(LD_SCRIPT-y:.asm=).o = $(AFLAGS_vmlinux.lds.o) -P -C -Uum
+
+ LD_SCRIPT-y := $(ARCH_DIR)/$(LD_SCRIPT-y)
+
+-$(LD_SCRIPT-y) : $(LD_SCRIPT-y:.s=.S) scripts FORCE
++$(LD_SCRIPT-y) : $(LD_SCRIPT-y:.asm=.S) scripts FORCE
+ $(call if_changed_dep,as_s_S)
+
+ linux: vmlinux $(LD_SCRIPT-y)
+@@ -122,8 +122,8 @@
+ # To get a definition of F_SETSIG
+ USER_CFLAGS += -D_GNU_SOURCE
+
+-CLEAN_FILES += linux x.i gmon.out $(ARCH_DIR)/uml.lds.s \
+- $(ARCH_DIR)/dyn_link.ld.s $(GEN_HEADERS)
++CLEAN_FILES += linux x.i gmon.out $(ARCH_DIR)/uml.lds.asm \
++ $(ARCH_DIR)/dyn_link.ld.asm $(GEN_HEADERS)
+
+ $(ARCH_DIR)/main.o: $(ARCH_DIR)/main.c
+ $(CC) $(USER_CFLAGS) $(EXTRA_CFLAGS) -c -o $@ $<
+diff -ur linux-2.6.7/arch/um/kernel/Makefile linux-2.6.7-mod/arch/um/kernel/Makefile
+--- linux-2.6.7/arch/um/kernel/Makefile Mon May 10 04:32:53 2004
++++ linux-2.6.7-mod/arch/um/kernel/Makefile Sat Jun 19 12:57:15 2004
+@@ -3,7 +3,7 @@
+ # Licensed under the GPL
+ #
+
+-extra-y := vmlinux.lds.s
++extra-y := vmlinux.lds.asm
+
+ obj-y = checksum.o config.o exec_kern.o exitcode.o frame_kern.o frame.o \
+ helper.o init_task.o irq.o irq_user.o ksyms.o mem.o mem_user.o \
+diff -ur linux-2.6.7/arch/v850/Makefile linux-2.6.7-mod/arch/v850/Makefile
+--- linux-2.6.7/arch/v850/Makefile Mon May 10 04:33:21 2004
++++ linux-2.6.7-mod/arch/v850/Makefile Sat Jun 19 12:57:59 2004
+@@ -52,12 +52,12 @@
+ prepare: include/asm-$(ARCH)/asm-consts.h
+
+ # Generate constants from C code for use by asm files
+-arch/$(ARCH)/kernel/asm-consts.s: include/asm include/linux/version.h \
++arch/$(ARCH)/kernel/asm-consts.asm: include/asm include/linux/version.h \
+ include/config/MARKER
+
+-include/asm-$(ARCH)/asm-consts.h: arch/$(ARCH)/kernel/asm-consts.s
++include/asm-$(ARCH)/asm-consts.h: arch/$(ARCH)/kernel/asm-consts.asm
+ $(call filechk,gen-asm-offsets)
+
+ CLEAN_FILES += include/asm-$(ARCH)/asm-consts.h \
+- arch/$(ARCH)/kernel/asm-consts.s \
++ arch/$(ARCH)/kernel/asm-consts.asm \
+ root_fs_image.o
+diff -ur linux-2.6.7/arch/v850/kernel/Makefile linux-2.6.7-mod/arch/v850/kernel/Makefile
+--- linux-2.6.7/arch/v850/kernel/Makefile Mon May 10 04:33:21 2004
++++ linux-2.6.7-mod/arch/v850/kernel/Makefile Sat Jun 19 12:58:04 2004
+@@ -9,7 +9,7 @@
+ # for more details.
+ #
+
+-extra-y := head.o init_task.o vmlinux.lds.s
++extra-y := head.o init_task.o vmlinux.lds.asm
+
+ obj-y += intv.o entry.o process.o syscalls.o time.o semaphore.o setup.o \
+ signal.o irq.o mach.o ptrace.o bug.o
+diff -ur linux-2.6.7/arch/x86_64/Makefile linux-2.6.7-mod/arch/x86_64/Makefile
+--- linux-2.6.7/arch/x86_64/Makefile Mon May 10 04:33:19 2004
++++ linux-2.6.7-mod/arch/x86_64/Makefile Sat Jun 19 12:58:10 2004
+@@ -93,10 +93,10 @@
+
+ prepare: include/asm-$(ARCH)/offset.h
+
+-arch/$(ARCH)/kernel/asm-offsets.s: include/asm include/linux/version.h \
++arch/$(ARCH)/kernel/asm-offsets.asm: include/asm include/linux/version.h \
+ include/config/MARKER
+
+-include/asm-$(ARCH)/offset.h: arch/$(ARCH)/kernel/asm-offsets.s
++include/asm-$(ARCH)/offset.h: arch/$(ARCH)/kernel/asm-offsets.asm
+ $(call filechk,gen-asm-offsets)
+
+ CLEAN_FILES += include/asm-$(ARCH)/offset.h
+diff -ur linux-2.6.7/arch/x86_64/kernel/Makefile linux-2.6.7-mod/arch/x86_64/kernel/Makefile
+--- linux-2.6.7/arch/x86_64/kernel/Makefile Fri Jun 18 22:51:32 2004
++++ linux-2.6.7-mod/arch/x86_64/kernel/Makefile Sat Jun 19 12:58:17 2004
+@@ -2,7 +2,7 @@
+ # Makefile for the linux kernel.
+ #
+
+-extra-y := head.o head64.o init_task.o vmlinux.lds.s
++extra-y := head.o head64.o init_task.o vmlinux.lds.asm
+ EXTRA_AFLAGS := -traditional
+ obj-y := process.o semaphore.o signal.o entry.o traps.o irq.o \
+ ptrace.o i8259.o ioport.o ldt.o setup.o time.o sys_x86_64.o \
+diff -ur linux-2.6.7/scripts/Makefile.build linux-2.6.7-mod/scripts/Makefile.build
+--- linux-2.6.7/scripts/Makefile.build Mon May 10 04:33:13 2004
++++ linux-2.6.7-mod/scripts/Makefile.build Sat Jun 19 12:43:10 2004
+@@ -110,7 +110,7 @@
+ quiet_cmd_cc_s_c = CC $(quiet_modtag) $@
+ cmd_cc_s_c = $(CC) $(c_flags) -S -o $@ $<
+
+-%.s: %.c FORCE
++%.asm: %.c FORCE
+ $(call if_changed_dep,cc_s_c)
+
+ quiet_cmd_cc_i_c = CPP $(quiet_modtag) $@
+@@ -197,7 +197,7 @@
+ quiet_cmd_as_s_S = CPP $(quiet_modtag) $@
+ cmd_as_s_S = $(CPP) $(a_flags) -o $@ $<
+
+-%.s: %.S FORCE
++%.asm: %.S FORCE
+ $(call if_changed_dep,as_s_S)
+
+ quiet_cmd_as_o_S = AS $(quiet_modtag) $@
+--- linux-2.6.8/arch/sparc/boot/Makefile.old 2004-09-21 21:46:18.000000000 -0700
++++ linux-2.6.8/arch/sparc/boot/Makefile 2004-09-21 21:52:35.000000000 -0700
+@@ -19,7 +19,7 @@
+
+ BTOBJS := $(HEAD_Y) $(INIT_Y)
+ BTLIBS := $(CORE_Y) $(LIBS_Y) $(DRIVERS_Y) $(NET_Y)
+-LDFLAGS_image := -T arch/sparc/kernel/vmlinux.lds.s $(BTOBJS) --start-group $(BTLIBS) --end-group $(kallsyms.o)
++LDFLAGS_image := -T arch/sparc/kernel/vmlinux.lds.asm $(BTOBJS) --start-group $(BTLIBS) --end-group $(kallsyms.o)
+
+ # Actual linking
+ $(obj)/image: $(obj)/btfix.o FORCE
+--- linux-2.6.8/arch/sh64/Makefile.old 2004-09-21 21:46:18.000000000 -0700
++++ linux-2.6.8/arch/sh64/Makefile 2004-09-21 21:54:31.000000000 -0700
+@@ -71,7 +71,7 @@
+
+ prepare: include/asm-$(ARCH)/asm-offsets.h arch/$(ARCH)/lib/syscalltab.h
+
+-include/asm-$(ARCH)/asm-offsets.h: arch/$(ARCH)/kernel/asm-offsets.s \
++include/asm-$(ARCH)/asm-offsets.h: arch/$(ARCH)/kernel/asm-offsets.asm \
+ include/asm include/linux/version.h
+ $(call filechk,gen-asm-offsets)
+
+--- linux-2.6.8/arch/sh64/boot/compressed/Makefile.old 2004-09-21 21:46:18.000000000 -0700
++++ linux-2.6.8/arch/sh64/boot/compressed/Makefile 2004-09-21 21:54:41.000000000 -0700
+@@ -25,7 +25,7 @@
+ ZIMAGE_OFFSET = $(shell printf "0x%8x" $$[$(CONFIG_MEMORY_START)+0x400000+0x10000])
+
+ LDFLAGS_vmlinux := -Ttext $(ZIMAGE_OFFSET) -e startup \
+- -T $(obj)/../../kernel/vmlinux.lds.s \
++ -T $(obj)/../../kernel/vmlinux.lds.asm \
+ --no-warn-mismatch
+
+ $(obj)/vmlinux: $(OBJECTS) $(obj)/piggy.o FORCE
+@@ -41,6 +41,6 @@
+ LDFLAGS_piggy.o := -r --format binary --oformat elf32-sh64-linux -T
+ OBJCOPYFLAGS += -R .empty_zero_page
+
+-$(obj)/piggy.o: $(obj)/vmlinux.lds.s $(obj)/vmlinux.bin.gz FORCE
++$(obj)/piggy.o: $(obj)/vmlinux.lds.asm $(obj)/vmlinux.bin.gz FORCE
+ $(call if_changed,ld)
+
diff --git a/patches/linux/2.6.8/linux-2.6.8-m68k-kludge.patch b/patches/linux/2.6.8/linux-2.6.8-m68k-kludge.patch
new file mode 100644
index 0000000..9cef549
--- /dev/null
+++ b/patches/linux/2.6.8/linux-2.6.8-m68k-kludge.patch
@@ -0,0 +1,285 @@
+[ This patch not accepted into kernel for now - it touches the core too much -
+ but it's ok for crosstool since we just want to check whether toolchain is ok,
+ I think. I had to rediff the sched.h changes with -U5 to get them to
+ apply properly -- patch got confused with just three lines of context?! -dank ]
+
+Date: Sun, 5 Sep 2004 12:41:08 +0200 (CEST)
+From: Geert Uytterhoeven <geert@linux-m68k.org>
+Sender: geert@linux-m68k.org
+To: Dan Kegel <dank@kegel.com>
+cc: Roman Zippel <zippel@linux-m68k.org>,
+ Matthias Urlichs <smurf@smurf.noris.de>,
+ Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
+ Linux/m68k <linux-m68k@lists.linux-m68k.org>
+Subject: Re: Getting kernel.org kernel to build for m68k?
+In-Reply-To: <Pine.GSO.4.58.0409011029390.15681@waterleaf.sonytel.be>
+Message-ID: <Pine.LNX.4.58.0409051224020.30282@anakin>
+
+On Wed, 1 Sep 2004, Geert Uytterhoeven wrote:
+> On Tue, 31 Aug 2004, Dan Kegel wrote:
+> > I noticed today that Linus's m68k kernel can't be built (at least with gcc-3.4.1).
+> >
+> > The first problem I ran into,
+> > CC arch/m68k/kernel/asm-offsets.s
+> > In file included from include/linux/spinlock.h:12,
+> > from include/linux/capability.h:45,
+> > from include/linux/sched.h:7,
+> > from arch/m68k/kernel/asm-offsets.c:12:
+> > include/linux/thread_info.h:30: error: parse error before '{' token
+> > is solved already in the m68k tree.
+> > (In particular,
+> > the #ifndef __HAVE_THREAD_FUNCTIONS ... #endif in
+> > http://linux-m68k-cvs.apia.dhs.org/c/cvsweb/linux/include/linux/thread_info.h?rev=1.5;content-type=text%2Fplain
+> > probably solves it.)
+> > There are other problems after that.
+>
+> Roman Zippel changed the threading stuff on m68k. Since it would affect other
+> architectures, I never submitted it on my own.
+>
+> In short, we never really compile this code, since the m68k tree doesn't use it
+> anymore. And yes, it even fails with older compiler versions, like 2.95.2.
+
+The second part doesn't seem to be true: the code is used. And it does compile
+after applying the fixes below, even with gcc 3.4.1.
+
+> > Any chance you could spend a bit of time sending Linus enough
+> > patches for his kernel to build for m68k, if not run?
+>
+> I'll make sure a plain kernel.org kernel can build an m68k kernel.
+
+The patch below makes the plain kernel.org 2.6.8.1 compile for m68k,
+using gcc 2.95.2 or 3.3.3 (3.4.1 needs a few more changes in random
+places). The resulting kernel (I booted the gcc 2.95.2 case) works fine on my
+Amiga.
+
+It's more or less the patch created by Matthias Urlichs last year, so
+the credits are his:
+
+| This change implements a reasonable compromise between the task_info->flags
+| variable in other ports, which is too much work in the syscall path on m68k,
+| and moving the whole structure to thread_struct, which is way too intrusive
+| on other ports.
+
+The patch does affect generic code a bit, but the collateral damage is
+kept to a minimum.
+
+We can still keep Roman's thread info abstractions[*] in Linux/m68k CVS, but
+I'd really like the plain kernel.org kernel to be in a working state as well.
+That way more people may do cross-compile tests for m68k.
+
+Hence if no one objects, I'll submit the patch to Andrew and Linus.
+
+All comments are welcome!
+
+--- linux-2.6.8.1/arch/m68k/kernel/asm-offsets.c 2004-04-28 15:48:59.000000000 +0200
++++ linux-m68k-2.6.8.1/arch/m68k/kernel/asm-offsets.c 2004-09-05 12:04:00.000000000 +0200
+@@ -31,6 +31,7 @@ int main(void)
+ DEFINE(TASK_SIGPENDING, offsetof(struct task_struct, thread.work.sigpending));
+ DEFINE(TASK_NOTIFY_RESUME, offsetof(struct task_struct, thread.work.notify_resume));
+ DEFINE(TASK_THREAD, offsetof(struct task_struct, thread));
++ DEFINE(TASK_TINFO, offsetof(struct task_struct, thread_info));
+ DEFINE(TASK_MM, offsetof(struct task_struct, mm));
+ DEFINE(TASK_ACTIVE_MM, offsetof(struct task_struct, active_mm));
+
+@@ -45,6 +46,9 @@ int main(void)
+ DEFINE(THREAD_FPCNTL, offsetof(struct thread_struct, fpcntl));
+ DEFINE(THREAD_FPSTATE, offsetof(struct thread_struct, fpstate));
+
++ /* offsets into the thread_info struct */
++ DEFINE(TINFO_PREEMPT, offsetof(struct thread_info, preempt_count));
++
+ /* offsets into the pt_regs */
+ DEFINE(PT_D0, offsetof(struct pt_regs, d0));
+ DEFINE(PT_ORIG_D0, offsetof(struct pt_regs, orig_d0));
+--- linux-2.6.8.1/arch/m68k/kernel/entry.S 2004-05-24 11:13:22.000000000 +0200
++++ linux-m68k-2.6.8.1/arch/m68k/kernel/entry.S 2004-09-02 20:13:12.000000000 +0200
+@@ -134,13 +134,13 @@ ENTRY(system_call)
+
+ syscall_exit_work:
+ btst #5,%sp@(PT_SR) | check if returning to kernel
+- bnes 1b | if so, skip resched, signals
++ bnes 1b | if so, skip everything
+ tstw %d0
+- jeq do_signal_return
++ jeq do_signal_return | jump if only sig_pending or notify_resume
+ tstb %d0
+- jne do_delayed_trace
++ jne do_delayed_trace | jump if delayed_trace
+
+- pea resume_userspace
++ pea resume_userspace | need_resched is set
+ jmp schedule
+
+ ret_from_exception:
+@@ -223,10 +223,14 @@ ENTRY(nmi_handler)
+ */
+ inthandler:
+ SAVE_ALL_INT
+- GET_CURRENT(%d0)
+- addqb #1,%curptr@(TASK_INFO+TINFO_PREEMPT+2)
+- | put exception # in d0
+- bfextu %sp@(PT_VECTOR){#4,#10},%d0
++ /* GET_CURRENT(%d0) */
++ movel %sp,%d0
++ andw #-THREAD_SIZE,%d0
++ movel %d0,%a1
++ addqb #1,%a1@(TINFO_PREEMPT+2)
++ movel %a1@,%curptr
++
++ bfextu %sp@(PT_VECTOR){#4,#10},%d0 | put exception # in d0
+
+ movel %sp,%sp@-
+ movel %d0,%sp@- | put vector # on stack
+@@ -243,7 +247,8 @@ inthandler:
+ 3: addql #8,%sp | pop parameters off stack
+
+ ret_from_interrupt:
+- subqb #1,%curptr@(TASK_INFO+TINFO_PREEMPT+2)
++ movel %curptr@(TASK_TINFO),%a1
++ subqb #1,%a1@(TINFO_PREEMPT+2)
+ jeq 1f
+ 2:
+ RESTORE_ALL
+--- linux-2.6.8.1/include/asm-m68k/processor.h 2004-04-28 15:49:03.000000000 +0200
++++ linux-m68k-2.6.8.1/include/asm-m68k/processor.h 2004-09-02 20:29:32.000000000 +0200
+@@ -84,7 +84,6 @@ struct thread_struct {
+ ksp: sizeof(init_stack) + (unsigned long) init_stack, \
+ sr: PS_S, \
+ fs: __KERNEL_DS, \
+- info: INIT_THREAD_INFO(init_task) \
+ }
+
+ /*
+--- linux-2.6.8.1/include/asm-m68k/thread_info.h 2004-05-24 11:13:53.000000000 +0200
++++ linux-m68k-2.6.8.1/include/asm-m68k/thread_info.h 2004-09-05 12:19:47.000000000 +0200
+@@ -6,7 +6,7 @@
+ #include <asm/page.h>
+
+ struct thread_info {
+- struct task_struct *task; /* main task structure */
++ struct task_struct *task; /* main task structure, must be first! */
+ struct exec_domain *exec_domain; /* execution domain */
+ __s32 preempt_count; /* 0 => preemptable, <0 => BUG */
+ __u32 cpu; /* should always be 0 on m68k */
+@@ -21,7 +21,8 @@ struct thread_info {
+ { \
+ .task = &tsk, \
+ .exec_domain = &default_exec_domain, \
+- .restart_block = { \
++ .preempt_count = 1, \
++ .restart_block = { \
+ .fn = do_no_restart_syscall, \
+ }, \
+ }
+@@ -35,10 +36,11 @@ struct thread_info {
+ #define free_thread_info(ti) free_pages((unsigned long)(ti),1)
+ #endif /* PAGE_SHIFT == 13 */
+
+-//#define init_thread_info (init_task.thread.info)
++#define init_thread_info (init_thread_union.thread_info)
+ #define init_stack (init_thread_union.stack)
+
+-#define current_thread_info() (current->thread_info)
++register __u32 current_thread_info_reg asm("sp");
++#define current_thread_info() ((struct thread_info *)(current_thread_info_reg & ~0x1fff))
+
+
+ #define __HAVE_THREAD_FUNCTIONS
+@@ -91,8 +93,12 @@ extern int thread_flag_fixme(void);
+ })
+
+ #define __get_set_tsk_thread_flag(tsk, flag, val) ({ \
+- int __res = __get_tsk_thread_flag(tsk, flag); \
++ int __res; \
++ unsigned long __flags; \
++ local_irq_save(__flags); \
++ __res = __get_tsk_thread_flag(tsk, flag); \
+ __set_tsk_thread_flag(tsk, flag, val); \
++ local_irq_restore(__flags); \
+ __res; \
+ })
+
+@@ -105,7 +111,4 @@ extern int thread_flag_fixme(void);
+ #define clear_thread_flag(flag) clear_tsk_thread_flag(current, flag)
+ #define test_thread_flag(flag) test_tsk_thread_flag(current, flag)
+
+-#define set_need_resched() set_thread_flag(TIF_NEED_RESCHED)
+-#define clear_need_resched() clear_thread_flag(TIF_NEED_RESCHED)
+-
+ #endif /* _ASM_M68K_THREAD_INFO_H */
+--- linux-2.6.8/include/linux/sched.h.old 2004-09-13 21:48:58.000000000 -0700
++++ linux-2.6.8/include/linux/sched.h 2004-09-13 21:50:26.000000000 -0700
+@@ -975,10 +975,11 @@
+ task_unlock(task);
+
+ return mm;
+ }
+
++#ifndef __HAVE_THREAD_FUNCTIONS
+
+ /* set thread flags in other task's structures
+ * - see asm/thread_info.h for TIF_xxxx flags available
+ */
+ static inline void set_tsk_thread_flag(struct task_struct *tsk, int flag)
+@@ -1004,10 +1005,12 @@
+ static inline int test_tsk_thread_flag(struct task_struct *tsk, int flag)
+ {
+ return test_ti_thread_flag(tsk->thread_info,flag);
+ }
+
++#endif /* __HAVE_THREAD_FUNCTIONS */
++
+ static inline void set_tsk_need_resched(struct task_struct *tsk)
+ {
+ set_tsk_thread_flag(tsk,TIF_NEED_RESCHED);
+ }
+
+--- linux-2.6.8.1/include/linux/thread_info.h 2004-04-27 20:42:22.000000000 +0200
++++ linux-m68k-2.6.8.1/include/linux/thread_info.h 2004-09-04 21:24:36.000000000 +0200
+@@ -21,6 +21,7 @@ extern long do_no_restart_syscall(struct
+ #include <asm/thread_info.h>
+
+ #ifdef __KERNEL__
++#ifndef __HAVE_THREAD_FUNCTIONS
+
+ /*
+ * flag set/clear/test wrappers
+@@ -77,16 +78,11 @@ static inline int test_ti_thread_flag(st
+ return test_bit(flag,&ti->flags);
+ }
+
+-static inline void set_need_resched(void)
+-{
+- set_thread_flag(TIF_NEED_RESCHED);
+-}
++#endif /* __HAVE_THREAD_FUNCTIONS */
+
+-static inline void clear_need_resched(void)
+-{
+- clear_thread_flag(TIF_NEED_RESCHED);
+-}
++#define set_need_resched() set_thread_flag(TIF_NEED_RESCHED)
++#define clear_need_resched(void) clear_thread_flag(TIF_NEED_RESCHED)
+
+-#endif
++#endif /* __KERNEL__ */
+
+ #endif /* _LINUX_THREAD_INFO_H */
+
+Gr{oetje,eeting}s,
+
+ Geert
+
+[*] For reference:
+
+ http://linux-m68k-cvs.ubb.ca/~geert/linux-m68k-2.6.x-merging/POSTPONED/156-thread_info.diff
+
+--
+Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org
+
+In personal conversations with technical people, I call myself a hacker. But
+when I'm talking to journalists I just say "programmer" or something like that.
+ -- Linus Torvalds
+
+
+
diff --git a/patches/linux/2.6.8/linux-2.6.8-noshared-kconfig.patch b/patches/linux/2.6.8/linux-2.6.8-noshared-kconfig.patch
new file mode 100644
index 0000000..326cdcd
--- /dev/null
+++ b/patches/linux/2.6.8/linux-2.6.8-noshared-kconfig.patch
@@ -0,0 +1,28 @@
+Lets you run 'make oldconfig' and 'make menuconfig' on systems
+where shared libraries aren't easy. (There's no harm in using the
+static version of libkconfig.)
+Idea mentioned by Bertrand Marquis, but this patch is a bit simpler than his.
+
+
+--- linux-2.6.8.1/scripts/kconfig/Makefile.old 2004-09-09 20:30:25.000000000 -0700
++++ linux-2.6.8.1/scripts/kconfig/Makefile 2004-09-09 20:47:51.000000000 -0700
+@@ -68,8 +68,8 @@
+ libkconfig-objs := zconf.tab.o
+
+ host-progs := conf mconf qconf gconf
+-conf-objs := conf.o libkconfig.so
+-mconf-objs := mconf.o libkconfig.so
++conf-objs := conf.o $(libkconfig-objs)
++mconf-objs := mconf.o $(libkconfig-objs)
+
+ ifeq ($(MAKECMDGOALS),xconfig)
+ qconf-target := 1
+@@ -88,7 +88,7 @@
+ gconf-objs := gconf.o kconfig_load.o
+ endif
+
+-clean-files := libkconfig.so lkc_defs.h qconf.moc .tmp_qtcheck \
++clean-files := $(libkconfig-objs) lkc_defs.h qconf.moc .tmp_qtcheck \
+ .tmp_gtkcheck zconf.tab.c zconf.tab.h lex.zconf.c
+
+ # generated files seem to need this to find local include files