Remove the now really obsolete Linux kernel headers copy and sanitised.

Remove orphanned Linux kernel patchsets.
Initiate a kernel build scripts directory. Move the Linux kernel build script there.

 /trunk/scripts/build/kernel/linux.sh |  146    11   135     0 +++---------------------------------------
 /trunk/scripts/crosstool.sh          |    2     1     1     0
 /trunk/steps.mk                      |    1     0     1     0 -
 /trunk/config/kernel/linux.in        |   49     0    49     0 --------------
 /trunk/config/kernel.in              |    4     4     0     0 +
 5 files changed, 16 insertions(+), 186 deletions(-)
This commit is contained in:
Yann E. MORIN" 2008-09-10 21:40:23 +00:00
parent a3c9e9bacf
commit 7a0e770be1
38 changed files with 89 additions and 3945 deletions

View File

@ -2,6 +2,10 @@
menu "Kernel"
config KERNEL
string
default "linux" if KERNEL_LINUX
choice
bool
prompt "Target OS"

View File

@ -11,27 +11,6 @@ config KERNEL_LINUX_HEADERS_INSTALL
This will make use of the new headers_install rule in recent kernels.
This is most probably what you want to use.
config KERNEL_LINUX_HEADERS_SANITISED
bool
prompt "Mazur's sanitized headers (OBSOLETE)"
depends on OBSOLETE
select KERNEL_LINUX_NEEDS_CONFIG
help
M. Mazur used to maintain a tree of sanitised headers, but it is now
obsoleted by the headers_install rule (above), and has not seen any
update since 2.6.12
config KERNEL_LINUX_HEADERS_COPY
bool
prompt "pure kernel headers (REALLY OBSOLETE)"
depends on OBSOLETE
select KERNEL_LINUX_NEEDS_CONFIG
help
This will simply copy the kernel headers to the toolchain.
You do NOT want this. It's badly broken because it leaks kernel internals
to userspace.
config KERNEL_LINUX_HEADERS_USE_CUSTOM_DIR
bool
prompt "Use custom directory"
@ -41,11 +20,6 @@ config KERNEL_LINUX_HEADERS_USE_CUSTOM_DIR
endchoice
config KERNEL
string
default "linux" if ! KERNEL_LINUX_HEADERS_SANITISED
default "linux-libc-headers" if KERNEL_LINUX_HEADERS_SANITISED
config KERNEL_VERSION_SEE_EXTRAVERSION
bool
prompt "See extra versions"
@ -64,14 +38,6 @@ if KERNEL_LINUX_HEADERS_INSTALL
source config/kernel/linux_headers_install.in
endif
if KERNEL_LINUX_HEADERS_COPY
source config/kernel/linux_headers_copy.in
endif
if KERNEL_LINUX_HEADERS_SANITISED
source config/kernel/linux_headers_sanitised.in
endif
config KERNEL_LINUX_HEADERS_CUSTOM_DIR
string
prompt "Where are those custom headers?"
@ -116,19 +82,4 @@ config KERNEL_LINUX_VERBOSE_LEVEL
default 1 if KERNEL_LINUX_VERBOSITY_1
default 2 if KERNEL_LINUX_VERBOSITY_2
config KERNEL_LINUX_NEEDS_CONFIG
bool
default n
config KERNEL_LINUX_CONFIG_FILE
string
prompt "Configuration file"
depends on KERNEL_LINUX_NEEDS_CONFIG
default ""
help
Path to a kernel configuration file.
If you don't provide one, then the default configuration for
your target will be used.
endif

View File

@ -1,42 +0,0 @@
choice
bool
prompt "Linux kernel version"
config KERNEL_COPY_V_2_4_26
bool
prompt "2.4.26"
config KERNEL_COPY_V_2_6_5
bool
prompt "2.6.5"
config KERNEL_COPY_V_2_6_6
bool
prompt "2.6.6"
config KERNEL_COPY_V_2_6_7
bool
prompt "2.6.7"
config KERNEL_COPY_V_2_6_8
bool
prompt "2.6.8"
config KERNEL_COPY_V_2_6_11_3
bool
prompt "2.6.11.3"
depends on KERNEL_VERSION_SEE_EXTRAVERSION
# CT_INSERT_VERSION_ABOVE
# Don't remove above line!
endchoice
config KERNEL_VERSION
string
default "2.6.5" if KERNEL_COPY_V_2_6_5
default "2.6.6" if KERNEL_COPY_V_2_6_6
default "2.6.7" if KERNEL_COPY_V_2_6_7
default "2.6.8" if KERNEL_COPY_V_2_6_8
default "2.6.11.3" if KERNEL_COPY_V_2_6_11_3
# CT_INSERT_VERSION_STRING_ABOVE
# Don't remove above line!

View File

@ -1,62 +0,0 @@
choice
bool
prompt "Linux headers version"
config KERNEL_SANITISED_V_2_6_7_0
bool
prompt "2.6.7.0"
config KERNEL_SANITISED_V_2_6_8_0
bool
prompt "2.6.8.0"
config KERNEL_SANITISED_V_2_6_8_1
bool
prompt "2.6.8.1"
config KERNEL_SANITISED_V_2_6_9_0
bool
prompt "2.6.9.0"
config KERNEL_SANITISED_V_2_6_9_1
bool
prompt "2.6.9.1"
config KERNEL_SANITISED_V_2_6_10_0
bool
prompt "2.6.10.0"
config KERNEL_SANITISED_V_2_6_11_0
bool
prompt "2.6.11.0"
config KERNEL_SANITISED_V_2_6_11_1
bool
prompt "2.6.11.1"
config KERNEL_SANITISED_V_2_6_11_2
bool
prompt "2.6.11.2"
config KERNEL_SANITISED_V_2_6_12_0
bool
prompt "2.6.12.0"
# CT_INSERT_VERSION_ABOVE
# Don't remove above line!
endchoice
config KERNEL_VERSION
string
default "2.6.7.0" if KERNEL_SANITISED_V_2_6_7_0
default "2.6.8.0" if KERNEL_SANITISED_V_2_6_8_0
default "2.6.8.1" if KERNEL_SANITISED_V_2_6_8_1
default "2.6.9.0" if KERNEL_SANITISED_V_2_6_9_0
default "2.6.9.1" if KERNEL_SANITISED_V_2_6_9_1
default "2.6.10.0" if KERNEL_SANITISED_V_2_6_10_0
default "2.6.11.0" if KERNEL_SANITISED_V_2_6_11_0
default "2.6.11.1" if KERNEL_SANITISED_V_2_6_11_1
default "2.6.11.2" if KERNEL_SANITISED_V_2_6_11_2
default "2.6.12.0" if KERNEL_SANITISED_V_2_6_12_0
# CT_INSERT_VERSION_STRING_ABOVE
# Don't remove above line!

View File

@ -1,306 +0,0 @@
From http://www.uwsg.iu.edu/hypermail/linux/kernel/0307.2/att-1234/01-kmap-types-cleanup.patch
See http://www.uwsg.iu.edu/hypermail/linux/kernel/0307.2/1234.html
From: Marc-Christian Petersen (m.c.p@wolk-project.de)
> > on alpha:
> > internal.h:19:28: asm/kmap_types.h: No such file or directory
> Same on s390 and some other platforms.We should just get rid of
> this problem by providing a generic kmap_types header.
I agree on this but your patch is bogus. Please use the attached one instead.
Marcello, please apply this one instead. Against 2.4.22-BK (2.4.21-bk14)
[ I commented out the hunk
#+++ b/include/asm-mips/kmap_types.h 1970-01-01 01:00:00.000000000 +0100
to get this to apply to linux-2.4.26.
- dank]
diff -Naurp a/crypto/internal.h b/crypto/internal.h
--- a/crypto/internal.h 2003-07-19 14:09:06.000000000 +0200
+++ b/crypto/internal.h 2003-07-19 14:18:58.000000000 +0200
@@ -14,9 +14,9 @@
#include <linux/mm.h>
#include <linux/highmem.h>
#include <linux/init.h>
+#include <linux/kmap_types.h>
#include <asm/hardirq.h>
#include <asm/softirq.h>
-#include <asm/kmap_types.h>
extern enum km_type crypto_km_types[];
diff -Naurp a/include/asm-i386/fixmap.h b/include/asm-i386/fixmap.h
--- a/include/asm-i386/fixmap.h 2003-07-19 14:09:31.000000000 +0200
+++ b/include/asm-i386/fixmap.h 2003-07-19 14:18:58.000000000 +0200
@@ -20,7 +20,7 @@
#include <asm/page.h>
#ifdef CONFIG_HIGHMEM
#include <linux/threads.h>
-#include <asm/kmap_types.h>
+#include <linux/kmap_types.h>
#endif
/*
diff -Naurp a/include/asm-i386/highmem.h b/include/asm-i386/highmem.h
--- a/include/asm-i386/highmem.h 2003-07-15 10:28:54.000000000 +0200
+++ b/include/asm-i386/highmem.h 2003-07-19 14:18:58.000000000 +0200
@@ -23,7 +23,6 @@
#include <linux/config.h>
#include <linux/init.h>
#include <linux/interrupt.h>
-#include <asm/kmap_types.h>
#include <asm/pgtable.h>
#ifdef CONFIG_DEBUG_HIGHMEM
diff -Naurp a/include/asm-i386/kmap_types.h b/include/asm-i386/kmap_types.h
--- a/include/asm-i386/kmap_types.h 2003-07-19 14:09:31.000000000 +0200
+++ b/include/asm-i386/kmap_types.h 1970-01-01 01:00:00.000000000 +0100
@@ -1,16 +0,0 @@
-#ifndef _ASM_KMAP_TYPES_H
-#define _ASM_KMAP_TYPES_H
-
-enum km_type {
- KM_BOUNCE_READ,
- KM_SKB_SUNRPC_DATA,
- KM_SKB_DATA_SOFTIRQ,
- KM_USER0,
- KM_USER1,
- KM_BH_IRQ,
- KM_SOFTIRQ0,
- KM_SOFTIRQ1,
- KM_TYPE_NR
-};
-
-#endif
diff -Naurp a/include/asm-m68k/kmap_types.h b/include/asm-m68k/kmap_types.h
--- a/include/asm-m68k/kmap_types.h 2003-07-19 14:09:33.000000000 +0200
+++ b/include/asm-m68k/kmap_types.h 1970-01-01 01:00:00.000000000 +0100
@@ -1,18 +0,0 @@
-#ifdef __KERNEL__
-#ifndef _ASM_KMAP_TYPES_H
-#define _ASM_KMAP_TYPES_H
-
-enum km_type {
- KM_BOUNCE_READ,
- KM_SKB_SUNRPC_DATA,
- KM_SKB_DATA_SOFTIRQ,
- KM_USER0,
- KM_USER1,
- KM_BH_IRQ,
- KM_SOFTIRQ0,
- KM_SOFTIRQ1,
- KM_TYPE_NR
-};
-
-#endif
-#endif /* __KERNEL__ */
diff -Naurp a/include/asm-mips/fixmap.h b/include/asm-mips/fixmap.h
--- a/include/asm-mips/fixmap.h 2002-09-27 23:26:03.000000000 +0200
+++ b/include/asm-mips/fixmap.h 2003-07-19 14:18:58.000000000 +0200
@@ -18,7 +18,7 @@
#include <asm/page.h>
#ifdef CONFIG_HIGHMEM
#include <linux/threads.h>
-#include <asm/kmap_types.h>
+#include <linux/kmap_types.h>
#endif
/*
diff -Naurp a/include/asm-mips/highmem.h b/include/asm-mips/highmem.h
--- a/include/asm-mips/highmem.h 2002-12-18 01:03:59.000000000 +0100
+++ b/include/asm-mips/highmem.h 2003-07-19 14:18:58.000000000 +0200
@@ -22,7 +22,6 @@
#include <linux/init.h>
#include <linux/interrupt.h>
-#include <asm/kmap_types.h>
#include <asm/pgtable.h>
/* undef for production */
#diff -Naurp a/include/asm-mips/kmap_types.h b/include/asm-mips/kmap_types.h
#--- a/include/asm-mips/kmap_types.h 2002-12-18 01:03:59.000000000 +0100
#+++ b/include/asm-mips/kmap_types.h 1970-01-01 01:00:00.000000000 +0100
#@@ -1,14 +0,0 @@
#-#ifndef _ASM_KMAP_TYPES_H
#-#define _ASM_KMAP_TYPES_H
#-
#-enum km_type {
#- KM_BOUNCE_READ,
#- KM_SKB_SUNRPC_DATA,
#- KM_SKB_DATA_SOFTIRQ,
#- KM_USER0,
#- KM_USER1,
#- KM_BIO_IRQ,
#- KM_TYPE_NR
#-};
#-
#-#endif
diff -Naurp a/include/asm-ppc/highmem.h b/include/asm-ppc/highmem.h
--- a/include/asm-ppc/highmem.h 2003-07-19 14:09:33.000000000 +0200
+++ b/include/asm-ppc/highmem.h 2003-07-19 14:18:58.000000000 +0200
@@ -24,7 +24,7 @@
#include <linux/init.h>
#include <linux/interrupt.h>
-#include <asm/kmap_types.h>
+#include <linux/kmap_types.h>
#include <asm/pgtable.h>
/* undef for production */
diff -Naurp a/include/asm-ppc/kmap_types.h b/include/asm-ppc/kmap_types.h
--- a/include/asm-ppc/kmap_types.h 2003-07-19 14:09:33.000000000 +0200
+++ b/include/asm-ppc/kmap_types.h 1970-01-01 01:00:00.000000000 +0100
@@ -1,18 +0,0 @@
-#ifdef __KERNEL__
-#ifndef _ASM_KMAP_TYPES_H
-#define _ASM_KMAP_TYPES_H
-
-enum km_type {
- KM_BOUNCE_READ,
- KM_SKB_SUNRPC_DATA,
- KM_SKB_DATA_SOFTIRQ,
- KM_USER0,
- KM_USER1,
- KM_BH_IRQ,
- KM_SOFTIRQ0,
- KM_SOFTIRQ1,
- KM_TYPE_NR
-};
-
-#endif
-#endif /* __KERNEL__ */
diff -Naurp a/include/asm-ppc64/kmap_types.h b/include/asm-ppc64/kmap_types.h
--- a/include/asm-ppc64/kmap_types.h 2003-07-19 14:09:35.000000000 +0200
+++ b/include/asm-ppc64/kmap_types.h 1970-01-01 01:00:00.000000000 +0100
@@ -1,23 +0,0 @@
-#ifdef __KERNEL__
-#ifndef _ASM_KMAP_TYPES_H
-#define _ASM_KMAP_TYPES_H
-
-enum km_type {
- KM_BOUNCE_READ,
- KM_SKB_SUNRPC_DATA,
- KM_SKB_DATA_SOFTIRQ,
- KM_USER0,
- KM_USER1,
- KM_BIO_SRC_IRQ,
- KM_BIO_DST_IRQ,
- KM_PTE0,
- KM_PTE1,
- KM_IRQ0,
- KM_IRQ1,
- KM_SOFTIRQ0,
- KM_SOFTIRQ1,
- KM_TYPE_NR
-};
-
-#endif
-#endif /* __KERNEL__ */
diff -Naurp a/include/asm-sparc/highmem.h b/include/asm-sparc/highmem.h
--- a/include/asm-sparc/highmem.h 2003-07-15 10:28:56.000000000 +0200
+++ b/include/asm-sparc/highmem.h 2003-07-19 14:18:58.000000000 +0200
@@ -21,7 +21,7 @@
#ifdef __KERNEL__
#include <linux/interrupt.h>
-#include <asm/kmap_types.h>
+#include <linux/kmap_types.h>
/* undef for production */
#define HIGHMEM_DEBUG 1
diff -Naurp a/include/asm-sparc/kmap_types.h b/include/asm-sparc/kmap_types.h
--- a/include/asm-sparc/kmap_types.h 2003-07-19 14:09:37.000000000 +0200
+++ b/include/asm-sparc/kmap_types.h 1970-01-01 01:00:00.000000000 +0100
@@ -1,16 +0,0 @@
-#ifndef _ASM_KMAP_TYPES_H
-#define _ASM_KMAP_TYPES_H
-
-enum km_type {
- KM_BOUNCE_READ,
- KM_SKB_SUNRPC_DATA,
- KM_SKB_DATA_SOFTIRQ,
- KM_USER0,
- KM_USER1,
- KM_BH_IRQ,
- KM_SOFTIRQ0,
- KM_SOFTIRQ1,
- KM_TYPE_NR
-};
-
-#endif
diff -Naurp a/include/asm-sparc64/kmap_types.h b/include/asm-sparc64/kmap_types.h
--- a/include/asm-sparc64/kmap_types.h 2003-07-19 14:09:37.000000000 +0200
+++ b/include/asm-sparc64/kmap_types.h 1970-01-01 01:00:00.000000000 +0100
@@ -1,20 +0,0 @@
-#ifndef _ASM_KMAP_TYPES_H
-#define _ASM_KMAP_TYPES_H
-
-/* Dummy header just to define km_type. None of this
- * is actually used on sparc64. -DaveM
- */
-
-enum km_type {
- KM_BOUNCE_READ,
- KM_SKB_SUNRPC_DATA,
- KM_SKB_DATA_SOFTIRQ,
- KM_USER0,
- KM_USER1,
- KM_BH_IRQ,
- KM_SOFTIRQ0,
- KM_SOFTIRQ1,
- KM_TYPE_NR
-};
-
-#endif
diff -Naurp a/include/asm-x86_64/kmap_types.h b/include/asm-x86_64/kmap_types.h
--- a/include/asm-x86_64/kmap_types.h 2003-07-19 14:09:37.000000000 +0200
+++ b/include/asm-x86_64/kmap_types.h 1970-01-01 01:00:00.000000000 +0100
@@ -1,15 +0,0 @@
-#ifndef _ASM_KMAP_TYPES_H
-#define _ASM_KMAP_TYPES_H
-
-enum km_type {
- KM_BOUNCE_READ,
- KM_SKB_DATA,
- KM_SKB_DATA_SOFTIRQ,
- KM_USER0,
- KM_USER1,
- KM_SOFTIRQ0,
- KM_SOFTIRQ1,
- KM_TYPE_NR
-};
-
-#endif
diff -Naurp a/include/linux/highmem.h b/include/linux/highmem.h
--- a/include/linux/highmem.h 2003-07-19 14:09:37.000000000 +0200
+++ b/include/linux/highmem.h 2003-07-19 14:18:58.000000000 +0200
@@ -2,6 +2,7 @@
#define _LINUX_HIGHMEM_H
#include <linux/config.h>
+#include <linux/kmap_types.h>
#include <asm/pgalloc.h>
#ifdef CONFIG_HIGHMEM
diff -Naurp a/include/linux/kmap_types.h b/include/linux/kmap_types.h
--- a/include/linux/kmap_types.h 1970-01-01 01:00:00.000000000 +0100
+++ b/include/linux/kmap_types.h 2003-07-19 14:18:58.000000000 +0200
@@ -0,0 +1,16 @@
+#ifndef _LINUX_KMAP_TYPES_H
+#define _LINUX_KMAP_TYPES_H
+
+enum km_type {
+ KM_BOUNCE_READ,
+ KM_SKB_SUNRPC_DATA,
+ KM_SKB_DATA_SOFTIRQ,
+ KM_USER0,
+ KM_USER1,
+ KM_BH_IRQ,
+ KM_SOFTIRQ0,
+ KM_SOFTIRQ1,
+ KM_TYPE_NR
+};
+
+#endif

View File

@ -1,60 +0,0 @@
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 */

View File

@ -1,203 +0,0 @@
Reconstructed from http://lists.arm.linux.org.uk/pipermail/linux-arm-kernel/2003-December/018647.html
See also http://www.arm.linux.org.uk/developer/patches/viewpatch.php?id=1540
Message-ID: <DDA001.8070502@de.bosch.com>
Subject: Help cross compiling the kernel for arm.
From: dirk.behme at de.bosch.com
Aitor Garcia wrote:
> Hello everybody,
>
> I am having problems cross compiling the kernel for arm.
>
> This is the error message I get:
>
> blkpg.c: In function `blk_ioctl':
> blkpg.c:252: error: asm-specifier for variable `__r1' conflicts with asm clobber list
> blkpg.c:252: confused by earlier errors, bailing out make[3]: *** [blkpg.o] Error 1
> make[3]: Leaving directory `/root/toolchain/kernel-arm/linux-2.4.21/drivers/block'
> make[2]: *** [first_rule] Error 2
> make[2]: Leaving directory `/root/toolchain/kernel-arm/linux-2.4.21/drivers/block'
> make[1]: *** [_subdir_block] Error 2
> make[1]: Leaving directory `/root/toolchain/kernel-arm/linux-2.4.21/drivers'
> make: *** [_dir_drivers] Error 2
>
> These are the toolchain versions I am using:
> host=i686-pc-linux-gnu
> binutils_version=2.14
> gcc_version=3.3.2
> glibc_version=2.3.2
> kernel_version=2.4.21
> and applied the kernel patch for arm. 2.4.21-rmk1.
> ...
> I have also seen references to this bug in ARM linux
> Developer. Patch Number = 1540. But this patch is
> classified as discarded.
You need something like 1540 to compile 2.4.21 with gcc 3.3.2. 1540 was
discarded because of AFLAGS change.
Try the attachment.
Dirk
-------------- next part --------------
--- linux/arch/arm/lib/getuser.S.orig Mon Nov 17 07:41:51 2003
+++ linux/arch/arm/lib/getuser.S Mon Nov 17 07:43:16 2003
@@ -17,7 +17,7 @@
*
* Inputs: r0 contains the address
* Outputs: r0 is the error code
- * r1, r2 contains the zero-extended value
+ * r1, ip contains the zero-extended value
* lr corrupted
*
* No other registers must be altered. (see include/asm-arm/uaccess.h
@@ -42,14 +42,14 @@ __get_user_1:
.global __get_user_2
__get_user_2:
- bic r2, sp, #0x1f00
- bic r2, r2, #0x00ff
- ldr r2, [r2, #TSK_ADDR_LIMIT]
- sub r2, r2, #2
- cmp r0, r2
+ bic ip, sp, #0x1f00
+ bic ip, ip, #0x00ff
+ ldr ip, [ip, #TSK_ADDR_LIMIT]
+ sub ip, ip, #2
+ cmp r0, ip
2: ldrlsbt r1, [r0], #1
-3: ldrlsbt r2, [r0]
- orrls r1, r1, r2, lsl #8
+3: ldrlsbt ip, [r0]
+ orrls r1, r1, ip, lsl #8
movls r0, #0
movls pc, lr
b __get_user_bad
@@ -68,20 +68,20 @@ __get_user_4:
.global __get_user_8
__get_user_8:
- bic r2, sp, #0x1f00
- bic r2, r2, #0x00ff
- ldr r2, [r2, #TSK_ADDR_LIMIT]
- sub r2, r2, #8
- cmp r0, r2
+ bic ip, sp, #0x1f00
+ bic ip, ip, #0x00ff
+ ldr ip, [ip, #TSK_ADDR_LIMIT]
+ sub ip, ip, #8
+ cmp r0, ip
5: ldrlst r1, [r0], #4
-6: ldrlst r2, [r0]
+6: ldrlst ip, [r0]
movls r0, #0
movls pc, lr
/* fall through */
__get_user_bad_8:
- mov r2, #0
+ mov ip, #0
__get_user_bad:
mov r1, #0
mov r0, #-14
--- linux/arch/arm/lib/putuser.S.orig Mon Nov 17 07:41:57 2003
+++ linux/arch/arm/lib/putuser.S Mon Nov 17 07:42:26 2003
@@ -16,7 +16,7 @@
* __put_user_X
*
* Inputs: r0 contains the address
- * r1, r2 contains the value
+ * r1, ip contains the value
* Outputs: r0 is the error code
* lr corrupted
*
@@ -30,11 +30,11 @@
.global __put_user_1
__put_user_1:
- bic r2, sp, #0x1f00
- bic r2, r2, #0x00ff
- ldr r2, [r2, #TSK_ADDR_LIMIT]
- sub r2, r2, #1
- cmp r0, r2
+ bic ip, sp, #0x1f00
+ bic ip, ip, #0x00ff
+ ldr ip, [ip, #TSK_ADDR_LIMIT]
+ sub ip, ip, #1
+ cmp r0, ip
1: strlsbt r1, [r0]
movls r0, #0
movls pc, lr
@@ -42,11 +42,11 @@ __put_user_1:
.global __put_user_2
__put_user_2:
- bic r2, sp, #0x1f00
- bic r2, r2, #0x00ff
- ldr r2, [r2, #TSK_ADDR_LIMIT]
- sub r2, r2, #2
- cmp r0, r2
+ bic ip, sp, #0x1f00
+ bic ip, ip, #0x00ff
+ ldr ip, [ip, #TSK_ADDR_LIMIT]
+ sub ip, ip, #2
+ cmp r0, ip
2: strlsbt r1, [r0], #1
movls r1, r1, lsr #8
3: strlsbt r1, [r0]
@@ -56,11 +56,11 @@ __put_user_2:
.global __put_user_4
__put_user_4:
- bic r2, sp, #0x1f00
- bic r2, r2, #0x00ff
- ldr r2, [r2, #TSK_ADDR_LIMIT]
- sub r2, r2, #4
- cmp r0, r2
+ bic ip, sp, #0x1f00
+ bic ip, ip, #0x00ff
+ ldr ip, [ip, #TSK_ADDR_LIMIT]
+ sub ip, ip, #4
+ cmp r0, ip
4: strlst r1, [r0]
movls r0, #0
movls pc, lr
@@ -74,7 +74,7 @@ __put_user_8:
sub ip, ip, #8
cmp r0, ip
5: strlst r1, [r0], #4
-6: strlst r2, [r0]
+6: strlst ip, [r0]
movls r0, #0
movls pc, lr
--- linux/include/asm-arm/uaccess.h.orig Mon Nov 17 07:41:04 2003
+++ linux/include/asm-arm/uaccess.h Mon Nov 17 07:41:37 2003
@@ -86,7 +86,7 @@ extern int __get_user_bad(void);
__get_user_x(__r1, __p, __e, 1, "lr"); \
break; \
case 2: \
- __get_user_x(__r1, __p, __e, 2, "r2", "lr"); \
+ __get_user_x(__r1, __p, __e, 2, "ip", "lr"); \
break; \
case 4: \
__get_user_x(__r1, __p, __e, 4, "lr"); \
@@ -122,13 +122,13 @@ extern int __put_user_bad(void);
register int __e asm("r0"); \
switch (sizeof(*(p))) { \
case 1: \
- __put_user_x(__r1, __p, __e, 1, "r2", "lr"); \
+ __put_user_x(__r1, __p, __e, 1, "ip", "lr"); \
break; \
case 2: \
- __put_user_x(__r1, __p, __e, 2, "r2", "lr"); \
+ __put_user_x(__r1, __p, __e, 2, "ip", "lr"); \
break; \
case 4: \
- __put_user_x(__r1, __p, __e, 4, "r2", "lr"); \
+ __put_user_x(__r1, __p, __e, 4, "ip", "lr"); \
break; \
case 8: \
__put_user_x(__r1, __p, __e, 8, "ip", "lr"); \

View File

@ -1,23 +0,0 @@
Fixes
semaphore.c:180:5: missing terminating " character
semaphore.c:213:9: missing terminating " character
make[1]: *** [semaphore.o] Error 1
make[1]: Leaving directory `/home/dank/queue/jobdir.fast/crosstool-dev/build/arm-unknown-linux-gnu/gcc-3.3.4-glibc-2.2.5/linux-2.4.26/arch/arm/kernel'
make: *** [_dir_arch/arm/kernel] Error 2
when building kernel.org 2.4.26 for arm with gcc-3.3.x
(Note: one probably wants to apply ftp://ftp.arm.linux.org.uk/pub/armlinux/source/kernel-patches/v2.4/patch-2.4.26-vrs1.bz2
instead of my patches when really building 2.4.26 for arm;
my patches only include the bare minimum to get the vanilla kernel to compile.)
--- linux-2.4.26/arch/arm/kernel/semaphore.c.old Mon Mar 21 06:50:38 2005
+++ linux-2.4.26/arch/arm/kernel/semaphore.c Mon Mar 21 06:50:55 2005
@@ -193,7 +193,7 @@
bl __down_interruptible \n\
mov ip, r0 \n\
ldmfd sp!, {r0 - r3, pc}^ \n\
-
+ \n\
.align 5 \n\
.globl __down_trylock_failed \n\
__down_trylock_failed: \n\

View File

@ -1,40 +0,0 @@
Backport of linux-2.6.8-arm-nonofpu.patch.
Fixes error when building linux-2.4.26 kernel with gcc-3.4 on arm.
/opt/crosstool/arm-unknown-linux-gnu/gcc-3.4.2-glibc-2.2.5/bin/arm-unknown-linux-gnu-gcc -D__KERNEL__ -I/home/dank/wk/crosstool-0.28-rc37/build/arm-unknown-linux-gnu/gcc-3.4.2-glibc-2.2.5/linux-2.4.26/include -Wall -Wstrict-prototypes -Wno-trigraphs -Os -fno-strict-aliasing -fno-common -Uarm -fno-common -pipe -mapcs-32 -D__LINUX_ARM_ARCH__=4 -march=armv4 -mtune=strongarm110 -mshort-load-bytes -msoft-float -Uarm -S -o constants.h.tmp.1 getconstants.c
cc1: error: invalid option `short-load-bytes'
make[2]: *** [constants.h] Error 1
make[2]: Leaving directory `/home/dank/wk/crosstool-0.28-rc37/build/arm-unknown-linux-gnu/gcc-3.4.2-glibc-2.2.5/linux-2.4.26/arch/arm/tools'
make[1]: *** [dep] Error 2
make[1]: Leaving directory `/home/dank/wk/crosstool-0.28-rc37/build/arm-unknown-linux-gnu/gcc-3.4.2-glibc-2.2.5/linux-2.4.26/arch/arm/tools'
make: *** [archdep] Error 2
--- linux-2.4.26/Makefile.old Thu Sep 30 23:21:14 2004
+++ linux-2.4.26/Makefile Thu Sep 30 23:24:12 2004
@@ -21,6 +21,10 @@
CROSS_COMPILE =
+# From linux-2.6
+check_gcc = $(shell if $(CC) $(CFLAGS) $(1) -S -o /dev/null -xc /dev/null > /dev/null 2>&1; then echo "$(1)"; else echo "$(2)"; fi ;)
+export check_gcc
+
#
# Include the make variables (CC, etc...)
#
--- linux-2.4.26/arch/arm/Makefile.old Thu Sep 30 23:16:49 2004
+++ linux-2.4.26/arch/arm/Makefile Thu Sep 30 23:25:27 2004
@@ -50,9 +50,9 @@
tune-$(CONFIG_CPU_SA110) :=-mtune=strongarm110
tune-$(CONFIG_CPU_SA1100) :=-mtune=strongarm1100
-CFLAGS_BOOT :=$(apcs-y) $(arch-y) $(tune-y) -mshort-load-bytes -msoft-float -Uarm
-CFLAGS +=$(apcs-y) $(arch-y) $(tune-y) -mshort-load-bytes -msoft-float -Uarm
-AFLAGS +=$(apcs-y) $(arch-y) -mno-fpu -msoft-float
+CFLAGS_BOOT :=$(apcs-y) $(arch-y) $(tune-y) $(call check_gcc,-malignment-traps,-mshort-load-bytes) -msoft-float -Uarm
+CFLAGS +=$(apcs-y) $(arch-y) $(tune-y) $(call check_gcc,-malignment-traps,-mshort-load-bytes) -msoft-float -Uarm
+AFLAGS +=$(apcs-y) $(arch-y) -msoft-float
ifeq ($(CONFIG_CPU_26),y)
PROCESSOR := armo

View File

@ -1,28 +0,0 @@
About ten times, various people have noticed that 'make dep' uses
really, really long commandlines. This breaks sh even on linux sometimes.
For 2.4, see e.g.
http://marc.theaimsgroup.com/?l=linux-kernel&m=96589814004919&w=2
http://marc.theaimsgroup.com/?l=linux-kernel&m=96589814004919&q=p3
http://www.xraylith.wisc.edu/~khan/software/gnu-win32/cygwin-to-linux-cross-howto.txt
http://www.uclinux.org/pub/uClinux/archive/1728.html
Fixes error when building linux kernel for some default arm configurations:
scripts/mkdep -- `find /home/dank/wk/crosstool-0.28-rc36/build/arm-unknown-linux-gnu/gcc-3.3.4-glibc-2.3.2/linux-2.4.26/include/asm /home/dank/wk/crosstool-0.28-rc36/build/arm-unknown-linux-gnu/gcc-3.3.4-glibc-2.3.2/linux-2.4.26/include/linux /home/dank/wk/crosstool-0.28-rc36/build/arm-unknown-linux-gnu/gcc-3.3.4-glibc-2.3.2/linux-2.4.26/include/scsi /home/dank/wk/crosstool-0.28-rc36/build/arm-unknown-linux-gnu/gcc-3.3.4-glibc-2.3.2/linux-2.4.26/include/net /home/dank/wk/crosstool-0.28-rc36/build/arm-unknown-linux-gnu/gcc-3.3.4-glibc-2.3.2/linux-2.4.26/include/math-emu \( -name SCCS -o -name .svn \) -prune -o -follow -name \*.h ! -name modversions.h -print` > .hdepend
/bin/sh: line 1: scripts/mkdep: Argument list too long
make: *** [dep-files] Error 126
[ For linux-2.4.26 ]
--- linux-2.4.26/Makefile.old 2004-04-14 06:05:41.000000000 -0700
+++ linux-2.4.26/Makefile 2004-09-13 21:27:39.000000000 -0700
@@ -500,7 +500,7 @@
ifdef CONFIG_MODVERSIONS
$(MAKE) update-modverfile
endif
- scripts/mkdep -- `find $(FINDHPATH) \( -name SCCS -o -name .svn \) -prune -o -follow -name \*.h ! -name modversions.h -print` > .hdepend
+ find $(FINDHPATH) \( -name SCCS -o -name .svn \) -prune -o -follow -name \*.h ! -name modversions.h -print | xargs scripts/mkdep | cat > .hdepend
scripts/mkdep -- init/*.c > .depend
ifdef CONFIG_MODVERSIONS

View File

@ -1,17 +0,0 @@
Fixes drivers/char/char.o(.text+0x178a4): In function `$a':
: undefined reference to `get_user'
Part of ftp://ftp.arm.linux.org.uk/pub/armlinux/source/kernel-patches/v2.4/patch-2.4.26-vrs1.bz2
diff -urN linux-2.4.26/drivers/char/wdt977.c linux-2.4.26-vrs1/drivers/char/wdt977.c
--- linux-2.4.26/drivers/char/wdt977.c 2002-11-28 23:53:12.000000000 +0000
+++ linux-2.4.26-vrs1/drivers/char/wdt977.c 2004-01-14 21:32:25.000000000 +0000
@@ -27,6 +27,7 @@
#include <asm/io.h>
#include <asm/system.h>
#include <asm/mach-types.h>
+#include <asm/uaccess.h>
#define WATCHDOG_MINOR 130

View File

@ -1,25 +0,0 @@
# http://in3www.epfl.ch/~schaffne/linux-2.4-bsd-expr.patch
The following makes it possible to compile linux 2.4.19 to 2.4.25 on Mac OS X,
where "expr" doesn't understand the "length" construct
(which it doesn't have to, according to SuSv3
(see http://www.opengroup.org/onlinepubs/007904975/utilities/expr.html)
See also http://sources.redhat.com/ml/crossgcc/2004-02/msg00131.html
Fixes error
expr: syntax error
KERNELRELEASE "2.4.21" exceeds 64 characters
make: *** [include/linux/version.h] Error 1
diff -ur linux-2.4.23-old/Makefile linux-2.4.23/Makefile
--- linux-2.4.23-old/Makefile 2003-12-09 14:27:56.000000000 +0100
+++ linux-2.4.23/Makefile 2003-12-09 14:28:37.000000000 +0100
@@ -353,7 +353,7 @@
@rm -f .ver1
include/linux/version.h: ./Makefile
- @expr length "$(KERNELRELEASE)" \<= $(uts_len) > /dev/null || \
+ @expr "$(KERNELRELEASE)" : '.*' \<= $(uts_len) > /dev/null || \
(echo KERNELRELEASE \"$(KERNELRELEASE)\" exceeds $(uts_len) characters >&2; false)
@echo \#define UTS_RELEASE \"$(KERNELRELEASE)\" > .ver
@echo \#define LINUX_VERSION_CODE `expr $(VERSION) \\* 65536 + $(PATCHLEVEL) \\* 256 + $(SUBLEVEL)` >> .ver

View File

@ -1,134 +0,0 @@
Date: Sun, 20 Mar 2005 20:26:02 -0800
From: Richard Henderson <rth@twiddle.net>
To: Andrew Morton <akpm@osdl.org>
Cc: Dan Kegel <dank@kegel.com>, jbglaw@lug-owl.de,
linux-kernel@vger.kernel.org, torvalds@osdl.org
Subject: Re: 2.6.11.3 build problem in arch/alpha/kernel/srcons.c with gcc-4.0
Message-ID: <20050321042602.GA3795@twiddle.net>
Mail-Followup-To: Andrew Morton <akpm@osdl.org>, Dan Kegel <dank@kegel.com>,
jbglaw@lug-owl.de, linux-kernel@vger.kernel.org, torvalds@osdl.org
References: <423E238F.3030805@kegel.com> <20050320190352.65cc1396.akpm@osdl.org>
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20050320190352.65cc1396.akpm@osdl.org>
User-Agent: Mutt/1.4.1i
On Sun, Mar 20, 2005 at 07:03:52PM -0800, Andrew Morton wrote:
> Dan Kegel <dank@kegel.com> wrote:
> >
> > Anyone with an alpha care to suggest a fix for this?
> >
> > arch/alpha/kernel/srmcons.c: In function 'srmcons_open':
> > arch/alpha/kernel/srmcons.c:196: warning: 'srmconsp' may be used uninitialized in this function
> > make[1]: *** [arch/alpha/kernel/srmcons.o] Error 1
> > make: *** [arch/alpha/kernel] Error 2
> >
> > I get this when building the 2.6.11.3 kernel with a recent gcc-4.0 snapshot.
> >
>
> It's beyond gcc's ability to figure out that the code is OK. Options would
> be to disable -Werror, or to artificially initialise that variable.
Fixed thus.
Note that even with a _raw_read_trylock implementation, smp still
doesn't work. Everything that init spawns dies immediately. I
havn't had a chance to find out why yet...
[ Note: deleted changes to smp.c, since they didn't apply cleanly
to 2.6.11.3 (the function had moved, I guess), and they seemed unrelated.]
r~
You can import this changeset into BK by piping this whole message to:
'| bk receive [path to repository]' or apply the patch as usual.
===================================================================
ChangeSet@1.2289, 2005-03-20 12:29:41-08:00, rth@kanga.twiddle.home
[ALPHA] Elimitate two warnings from gcc4.
smp.c | 43 -------------------------------------------
srmcons.c | 27 ++++++++++-----------------
2 files changed, 10 insertions(+), 60 deletions(-)
diff -Nru a/arch/alpha/kernel/srmcons.c b/arch/alpha/kernel/srmcons.c
--- a/arch/alpha/kernel/srmcons.c 2005-03-20 20:23:28 -08:00
+++ b/arch/alpha/kernel/srmcons.c 2005-03-20 20:23:28 -08:00
@@ -164,29 +164,22 @@
unsigned long flags;
int retval = 0;
- spin_lock_irqsave(&srmconsp_lock, flags);
-
- do {
- if (srmconsp != NULL) {
- *ps = srmconsp;
- break;
- }
+ if (srmconsp == NULL) {
+ spin_lock_irqsave(&srmconsp_lock, flags);
srmconsp = kmalloc(sizeof(*srmconsp), GFP_KERNEL);
- if (srmconsp == NULL) {
+ if (srmconsp == NULL)
retval = -ENOMEM;
- break;
+ else {
+ srmconsp->tty = NULL;
+ spin_lock_init(&srmconsp->lock);
+ init_timer(&srmconsp->timer);
}
- srmconsp->tty = NULL;
- spin_lock_init(&srmconsp->lock);
- init_timer(&srmconsp->timer);
-
- *ps = srmconsp;
- } while(0);
-
- spin_unlock_irqrestore(&srmconsp_lock, flags);
+ spin_unlock_irqrestore(&srmconsp_lock, flags);
+ }
+ *ps = srmconsp;
return retval;
}
===================================================================
This BitKeeper patch contains the following changesets:
1.2289
## Wrapped with gzip_uu ##
M'XL( $!,/D( [56[V_;-A#]+/X5!Q38FFV628KZY<!!TJ98BP9;D"&?BL)@
M),H6+%$:2=DQIOWO)>4XSH8D1KK%-F#@>'J\]^[>V6_@6@LU\919H#?PL=%F
MXG$E?+,N\[P2OA3&QJ^:QL;'BZ868YLY?O=YS&_;$?4C9$\ON<D6L!)*3SSB
M!_<1LVG%Q+OZ\.OUQ=D50M,IO%]P.1=_" /3*3*-6O$JUZ?<+*I&^D9QJ6MA
MN)\U=7^?VE.,J7V') YP&/4DPBSN,Y(3PAD1.:8LB=@>3:P:O]%YY3=J_D^4
M$ <DH4&0!LRBL"A YT!\2I,4<#C&P9AB('1"TPDC(YQ,, 9+]G1I(?B]($X#
M^)G""*-W\/]2>(\R^')V<?GQ["M\J,JZ--P(,.L&UES)4LXU%*JI89YES$>?
M@82,8'2Y5Q6-7OA""'.,3AZA:?O><Y4MQKQJ%WR\%$J*:JQ5G352^YEC%&!"
ML664!%%/+:^PCW-:I 7)XUSDE*;Q$_(= K9]<FK1E(0]HPPS6^'S2C\"6+=;
ML#O=&::T#^*8QGU*;D@>)3BWJA?I3?Z"*G>@#RND49R&PW0_0\O-^RN)C,R\
MNCVM2MD9U<CRUL_%EYU:7P]+32@A$644]RQ,*!TL0>B_#4'" X8@&$8D?A5+
M7(FU*JT1[@J?S869M:I<67/,M%%=9D!W;MTLN(&?6@VE!EZM^4:#>] (Z<RR
M':3?8:36P\<._^5S'?L.+YV3*(88?;*4@"*O+.#M'5QK^P^_75]<',%?R/-T
M6\I9U63+6:G^U'PEWOZP2QS"OT!1\;D^.K:0<03$0;HO[W%,EY5LLQ)@-DM4
M6@P7>;O<T8DQ&]CF'P\'^Q)D:?;WCTY<\&C(<2<S4]9"/3P? D-I"8'$7IHD
MCNT6L9,[6DIH.PI/,_/^=H^FCI7KV737WO;X*2\Y\QW^W?A/JP#==')YJDVG
M+=HA'SU8!H1AS!@-^X"F=LJ<AT+R8@]9"['@52QT+BKA'%2W,]-):YML(?+.
M[HSY,90&\D9H^:,!GIF.5]4&6J&*1M7 Y08Z+8JNLB!%)S-3-M)%:]M:YZKM
I\COL*J?5=SG*3;1=2J%3<?]?PY:?+7573PFE(L5)@+X!A'U=W,@(

View File

@ -1,60 +0,0 @@
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 */

View File

@ -1,150 +0,0 @@
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.11.3/include/asm-i386/processor.h.old Tue Mar 15 06:45:26 2005
+++ linux-2.6.11.3/include/asm-i386/processor.h Tue Mar 15 06:46:45 2005
@@ -81,6 +81,64 @@
#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 INVALID_IO_BITMAP_OFFSET 0x8000
+#define INVALID_IO_BITMAP_OFFSET_LAZY 0x9000
+
+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];
+ /*
+ * Cache the current maximum and the last task that used the bitmap:
+ */
+ unsigned long io_bitmap_max;
+ struct thread_struct *io_bitmap_owner;
+ /*
+ * pads the TSS to be cacheline-aligned (size is 0x100)
+ */
+ unsigned long __cacheline_filler[35];
+ /*
+ * .. and then another 0x100 bytes for emergency kernel stack
+ */
+ unsigned long stack[64];
+} __attribute__((packed));
+
+#define IO_BITMAP_OFFSET offsetof(struct tss_struct,io_bitmap)
+#define ARCH_MIN_TASKALIGN 16
+
+/*
* capabilities of CPUs
*/
@@ -308,16 +366,6 @@
#define HAVE_ARCH_PICK_MMAP_LAYOUT
-/*
- * 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
-#define INVALID_IO_BITMAP_OFFSET_LAZY 0x9000
-
struct i387_fsave_struct {
long cwd;
long swd;
@@ -371,54 +419,6 @@
} mm_segment_t;
struct thread_struct;
-
-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];
- /*
- * Cache the current maximum and the last task that used the bitmap:
- */
- unsigned long io_bitmap_max;
- struct thread_struct *io_bitmap_owner;
- /*
- * pads the TSS to be cacheline-aligned (size is 0x100)
- */
- unsigned long __cacheline_filler[35];
- /*
- * .. 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. */

View File

@ -1,32 +0,0 @@
Fixes
In file included from include/asm/setup.h:8,
from include/asm/machdep.h:8,
from include/asm/irq.h:6,
from include/asm/hardirq.h:8,
from include/linux/hardirq.h:6,
from include/asm-generic/local.h:6,
from include/asm/local.h:4,
from include/linux/module.h:21,
from init/main.c:16:
include/asm-m68k/setup.h:365: error: array type has incomplete element type
when compiling with gcc-4.0. (Affects ppc, too, for some reason.)
--- linux-2.6.11.3/include/asm-m68k/setup.h.old Fri Mar 18 13:48:03 2005
+++ linux-2.6.11.3/include/asm-m68k/setup.h Fri Mar 18 13:48:14 2005
@@ -362,12 +362,13 @@
#ifndef __ASSEMBLY__
extern int m68k_num_memory; /* # of memory blocks found (and used) */
extern int m68k_realnum_memory; /* real # of memory blocks found */
-extern struct mem_info m68k_memory[NUM_MEMINFO];/* memory description */
struct mem_info {
unsigned long addr; /* physical address of memory chunk */
unsigned long size; /* length of memory chunk (in bytes) */
};
+
+extern struct mem_info m68k_memory[NUM_MEMINFO];/* memory description */
#endif
#endif /* __KERNEL__ */

View File

@ -1,30 +0,0 @@
Fixes
In file included from include/asm/current.h:4,
from include/linux/wait.h:27,
from include/asm/semaphore.h:15,
from include/linux/sched.h:19,
from arch/ppc64/kernel/asm-offsets.c:18:
include/asm/paca.h:25: error: array type has incomplete element type
make[1]: *** [arch/ppc64/kernel/asm-offsets.s] Error 1
when building with gcc-4.0
--- linux-2.6.11.3/include/asm-ppc64/paca.h.old Fri Mar 18 13:23:40 2005
+++ linux-2.6.11.3/include/asm-ppc64/paca.h Fri Mar 18 13:24:04 2005
@@ -22,7 +22,6 @@
#include <asm/iSeries/ItLpRegSave.h>
#include <asm/mmu.h>
-extern struct paca_struct paca[];
register struct paca_struct *local_paca asm("r13");
#define get_paca() local_paca
@@ -114,5 +113,7 @@
struct ItLpRegSave reg_save;
#endif
};
+
+extern struct paca_struct paca[];
#endif /* _PPC64_PACA_H */

View File

@ -1,28 +0,0 @@
Fixes:
In file included from include/linux/spinlock.h:16,
from include/linux/capability.h:45,
from include/linux/sched.h:7,
from arch/x86_64/kernel/asm-offsets.c:7:
include/asm/processor.h:79: error: array type has incomplete element type
make[1]: *** [arch/x86_64/kernel/asm-offsets.asm] Error 1
--- linux-2.6.11.3/include/asm-x86_64/processor.h.old Tue Mar 15 07:05:07 2005
+++ linux-2.6.11.3/include/asm-x86_64/processor.h Tue Mar 15 07:09:53 2005
@@ -179,7 +179,6 @@
#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_fxsave_struct {
@@ -222,6 +221,8 @@
*/
unsigned long io_bitmap[IO_BITMAP_LONGS + 1];
} __attribute__((packed)) ____cacheline_aligned;
+
+#define IO_BITMAP_OFFSET offsetof(struct tss_struct,io_bitmap)
extern struct cpuinfo_x86 boot_cpu_data;
DECLARE_PER_CPU(struct tss_struct,init_tss);

View File

@ -1,58 +0,0 @@
Fixes
In file included from fs/compat_ioctl.c:69,
from arch/ppc64/kernel/ioctl32.c:24:
include/linux/i2c.h:58: error: array type has incomplete element type
include/linux/i2c.h:197: error: array type has incomplete element type
when compiling with gcc-4.0.
--- linux-2.6.11.3/include/linux/i2c.h.old 2005-03-19 10:59:09.000000000 -0800
+++ linux-2.6.11.3/include/linux/i2c.h 2005-03-19 11:01:37.000000000 -0800
@@ -36,7 +36,22 @@
/* --- General options ------------------------------------------------ */
-struct i2c_msg;
+/*
+ * I2C Message - used for pure i2c transaction, also from /dev interface
+ */
+struct i2c_msg {
+ __u16 addr; /* slave address */
+ __u16 flags;
+#define I2C_M_TEN 0x10 /* we have a ten bit chip address */
+#define I2C_M_RD 0x01
+#define I2C_M_NOSTART 0x4000
+#define I2C_M_REV_DIR_ADDR 0x2000
+#define I2C_M_IGNORE_NAK 0x1000
+#define I2C_M_NO_RD_ACK 0x0800
+ __u16 len; /* msg length */
+ __u8 *buf; /* pointer to msg data */
+};
+
struct i2c_algorithm;
struct i2c_adapter;
struct i2c_client;
@@ -379,22 +394,6 @@
/* Return 1 if adapter supports everything we need, 0 if not. */
extern int i2c_check_functionality (struct i2c_adapter *adap, u32 func);
-/*
- * I2C Message - used for pure i2c transaction, also from /dev interface
- */
-struct i2c_msg {
- __u16 addr; /* slave address */
- __u16 flags;
-#define I2C_M_TEN 0x10 /* we have a ten bit chip address */
-#define I2C_M_RD 0x01
-#define I2C_M_NOSTART 0x4000
-#define I2C_M_REV_DIR_ADDR 0x2000
-#define I2C_M_IGNORE_NAK 0x1000
-#define I2C_M_NO_RD_ACK 0x0800
- __u16 len; /* msg length */
- __u8 *buf; /* pointer to msg data */
-};
-
/* To determine what functionality is present */
#define I2C_FUNC_I2C 0x00000001

View File

@ -1,86 +0,0 @@
Fixes
In file included from arch/ppc/kernel/time.c:68:
arch/ppc/kernel/time.c:92: error: static declaration of 'time_offset' follows non-static declaration
include/linux/timex.h:236: error: previous declaration of 'time_offset' was here
make[1]: *** [arch/ppc/kernel/time.o] Error 1
when compiling with gcc-4.0
Taken from
http://user.it.uu.se/~mikpe/linux/patches/2.6/patch-gcc4-fixes-v2-2.6.11
Also removes some obsolete externs that caused problems for Mike
Mike's patch has a bit more stuff in it, but this was enough for me
diff -rupN linux-2.6.11/arch/ppc/kernel/time.c linux-2.6.11.gcc4-fixes-v2/arch/ppc/kernel/time.c
--- linux-2.6.11/arch/ppc/kernel/time.c 2005-03-02 19:24:14.000000000 +0100
+++ linux-2.6.11.gcc4-fixes-v2/arch/ppc/kernel/time.c 2005-03-02 19:36:26.000000000 +0100
@@ -89,7 +89,7 @@ unsigned long tb_to_ns_scale;
extern unsigned long wall_jiffies;
-static long time_offset;
+static long ppc_time_offset;
DEFINE_SPINLOCK(rtc_lock);
@@ -172,7 +172,7 @@ void timer_interrupt(struct pt_regs * re
xtime.tv_sec - last_rtc_update >= 659 &&
abs((xtime.tv_nsec / 1000) - (1000000-1000000/HZ)) < 500000/HZ &&
jiffies - wall_jiffies == 1) {
- if (ppc_md.set_rtc_time(xtime.tv_sec+1 + time_offset) == 0)
+ if (ppc_md.set_rtc_time(xtime.tv_sec+1 + ppc_time_offset) == 0)
last_rtc_update = xtime.tv_sec+1;
else
/* Try again one minute later */
@@ -289,7 +289,7 @@ void __init time_init(void)
unsigned old_stamp, stamp, elapsed;
if (ppc_md.time_init != NULL)
- time_offset = ppc_md.time_init();
+ ppc_time_offset = ppc_md.time_init();
if (__USE_RTC()) {
/* 601 processor: dec counts down by 128 every 128ns */
@@ -334,10 +334,10 @@ void __init time_init(void)
set_dec(tb_ticks_per_jiffy);
/* If platform provided a timezone (pmac), we correct the time */
- if (time_offset) {
- sys_tz.tz_minuteswest = -time_offset / 60;
+ if (ppc_time_offset) {
+ sys_tz.tz_minuteswest = -ppc_time_offset / 60;
sys_tz.tz_dsttime = 0;
- xtime.tv_sec -= time_offset;
+ xtime.tv_sec -= ppc_time_offset;
}
set_normalized_timespec(&wall_to_monotonic,
-xtime.tv_sec, -xtime.tv_nsec);
diff -rupN linux-2.6.11/arch/ppc/syslib/open_pic_defs.h linux-2.6.11.gcc4-fixes-v2/arch/ppc/syslib/open_pic_defs.h
--- linux-2.6.11/arch/ppc/syslib/open_pic_defs.h 2005-03-02 19:24:14.000000000 +0100
+++ linux-2.6.11.gcc4-fixes-v2/arch/ppc/syslib/open_pic_defs.h 2005-03-02 19:36:26.000000000 +0100
@@ -172,9 +172,6 @@ struct OpenPIC {
OpenPIC_Processor Processor[OPENPIC_MAX_PROCESSORS];
};
-extern volatile struct OpenPIC __iomem *OpenPIC;
-
-
/*
* Current Task Priority Register
*/
diff -rupN linux-2.6.11/include/asm-ppc/prom.h linux-2.6.11.gcc4-fixes-v2/include/asm-ppc/prom.h
--- linux-2.6.11/include/asm-ppc/prom.h 2003-09-28 12:19:57.000000000 +0200
+++ linux-2.6.11.gcc4-fixes-v2/include/asm-ppc/prom.h 2005-03-02 19:36:26.000000000 +0100
@@ -13,9 +13,6 @@
typedef void *phandle;
typedef void *ihandle;
-extern char *prom_display_paths[];
-extern unsigned int prom_num_displays;
-
struct address_range {
unsigned int space;
unsigned int address;

View File

@ -1,80 +0,0 @@
Retrieved with wget http://www.x86-64.org/lists/discuss/msg04963.html
then tabs fixed up by rediffing
Message-Id: EFF62C7EE88E71429E38641A1172F4C2077104@net.teracruz.com
To: discuss@xxxxxxxxxx
Subject: Compile error with glibc 2.3.2 + Linux 2.6.5 ARCH=x86_64
From: "David Lee" david.lee@xxxxxxxxxxxx
Date: Wed, 21 Apr 2004 15:26:04 -0500</li>
I am getting compiler errors when trying to compile glibc 2.3.2 using
the kernel headers from linux 2.6.5. The headers from linux 2.6.3 work
fine.
I've traced the cause of the problem to a change made in
./include/asm-x86_64/unistd.h in the 2.6.4 release.
+#ifndef __ASSEMBLY__
+
+#include <linux/linkage.h>
+#include <linux/compiler.h>
+#include <linux/types.h>
+#include <asm/ptrace.h>
+
+asmlinkage long sys_ptrace(long request, long pid,
+ unsigned long addr, long data);
+asmlinkage long sys_iopl(unsigned int level, struct pt_regs regs);
+asmlinkage long sys_ioperm(unsigned long from, unsigned long num, int
turn_on);
+struct sigaction;
+asmlinkage long sys_rt_sigaction(int sig,
+ const struct sigaction __user *act,
+ struct sigaction __user *oact,
+ size_t sigsetsize);
+
+#endif /* __ASSEMBLY__ */
Within glibc, ./sysdeps/unix/sysv/linux/x86_64/syscall.S ends up
including this file, which chokes the assembler with the struct
declarations in the above #include's.
/home/dlee/vcs/Products/Breeze/Dev/Prj/LinuxRH8/tscale2/tools/x86_64/x86
_64-linux/glibcinclude/linux/posix_types.h: Assembler messages:
/home/dlee/vcs/Products/Breeze/Dev/Prj/LinuxRH8/tscale2/tools/x86_64/x86
_64-linux/glibcinclude/linux/posix_types.h:36: Error: no such
instruction: `typedef struct{'
There are also errors about conflicting re-declarations further along in
the glibc build.
../posix/sys/types.h:62: error: conflicting types for `dev_t'
/home/dlee/vcs/Products/Breeze/Dev/Prj/LinuxRH8/tscale2/tools/x86_64/x86
_64-linux/glibcinclude/linux/types.h:23: error: previous declaration of
`dev_t'
Changing the '#ifndef __ASSEMBLY__' to '#if ((!defined __ASSEMBLY__) &&
(defined __KERNEL__))' clears up the problem. My patch is below.
dave
--- linux-2.6.5/include/asm-x86_64/unistd.h.old 2004-04-03 19:37:36.000000000 -0800
+++ linux-2.6.5/include/asm-x86_64/unistd.h 2004-05-05 11:07:11.000000000 -0700
@@ -713,7 +713,7 @@
#endif /* __KERNEL_SYSCALLS__ */
-#ifndef __ASSEMBLY__
+#if ((!defined __ASSEMBLY__) && (defined __KERNEL__))
#include <linux/linkage.h>
#include <linux/compiler.h>
@@ -730,7 +730,7 @@
struct sigaction __user *oact,
size_t sigsetsize);
-#endif /* __ASSEMBLY__ */
+#endif /* ((!defined __ASSEMBLY__) && (defined __KERNEL__) */
#endif /* __NO_STUBS */

View File

@ -1,60 +0,0 @@
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 */

View File

@ -1,80 +0,0 @@
Retrieved with wget http://www.x86-64.org/lists/discuss/msg04963.html
then tabs fixed up by rediffing
Message-Id: EFF62C7EE88E71429E38641A1172F4C2077104@net.teracruz.com
To: discuss@xxxxxxxxxx
Subject: Compile error with glibc 2.3.2 + Linux 2.6.5 ARCH=x86_64
From: "David Lee" david.lee@xxxxxxxxxxxx
Date: Wed, 21 Apr 2004 15:26:04 -0500</li>
I am getting compiler errors when trying to compile glibc 2.3.2 using
the kernel headers from linux 2.6.5. The headers from linux 2.6.3 work
fine.
I've traced the cause of the problem to a change made in
./include/asm-x86_64/unistd.h in the 2.6.4 release.
+#ifndef __ASSEMBLY__
+
+#include <linux/linkage.h>
+#include <linux/compiler.h>
+#include <linux/types.h>
+#include <asm/ptrace.h>
+
+asmlinkage long sys_ptrace(long request, long pid,
+ unsigned long addr, long data);
+asmlinkage long sys_iopl(unsigned int level, struct pt_regs regs);
+asmlinkage long sys_ioperm(unsigned long from, unsigned long num, int
turn_on);
+struct sigaction;
+asmlinkage long sys_rt_sigaction(int sig,
+ const struct sigaction __user *act,
+ struct sigaction __user *oact,
+ size_t sigsetsize);
+
+#endif /* __ASSEMBLY__ */
Within glibc, ./sysdeps/unix/sysv/linux/x86_64/syscall.S ends up
including this file, which chokes the assembler with the struct
declarations in the above #include's.
/home/dlee/vcs/Products/Breeze/Dev/Prj/LinuxRH8/tscale2/tools/x86_64/x86
_64-linux/glibcinclude/linux/posix_types.h: Assembler messages:
/home/dlee/vcs/Products/Breeze/Dev/Prj/LinuxRH8/tscale2/tools/x86_64/x86
_64-linux/glibcinclude/linux/posix_types.h:36: Error: no such
instruction: `typedef struct{'
There are also errors about conflicting re-declarations further along in
the glibc build.
../posix/sys/types.h:62: error: conflicting types for `dev_t'
/home/dlee/vcs/Products/Breeze/Dev/Prj/LinuxRH8/tscale2/tools/x86_64/x86
_64-linux/glibcinclude/linux/types.h:23: error: previous declaration of
`dev_t'
Changing the '#ifndef __ASSEMBLY__' to '#if ((!defined __ASSEMBLY__) &&
(defined __KERNEL__))' clears up the problem. My patch is below.
dave
--- linux-2.6.5/include/asm-x86_64/unistd.h.old 2004-04-03 19:37:36.000000000 -0800
+++ linux-2.6.5/include/asm-x86_64/unistd.h 2004-05-05 11:07:11.000000000 -0700
@@ -713,7 +713,7 @@
#endif /* __KERNEL_SYSCALLS__ */
-#ifndef __ASSEMBLY__
+#if ((!defined __ASSEMBLY__) && (defined __KERNEL__))
#include <linux/linkage.h>
#include <linux/compiler.h>
@@ -730,7 +730,7 @@
struct sigaction __user *oact,
size_t sigsetsize);
-#endif /* __ASSEMBLY__ */
+#endif /* ((!defined __ASSEMBLY__) && (defined __KERNEL__) */
#endif /* __NO_STUBS */

View File

@ -1,28 +0,0 @@
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

View File

@ -1,60 +0,0 @@
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 */

View File

@ -1,679 +0,0 @@
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: http://mirror.vtx.ch/lfs/patches/downloads/linux/linux-2.6.7-build_on_case_insensitive_fs-1.patch
diff -ur linux-2.6.7/Makefile linux-2.6.7-mod/Makefile
--- linux-2.6.7/Makefile Fri Jun 18 22:51:03 2004
+++ linux-2.6.7-mod/Makefile Sat Jun 19 12:43:10 2004
@@ -549,7 +549,7 @@
$(NM) $@ | grep -v '\(compiled\)\|\(\.o$$\)\|\( [aUw] \)\|\(\.\.ng$$\)\|\(LASH[RL]DI\)' | sort > System.map
endef
-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:
@@ -575,23 +575,23 @@
.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__)
endif
# Finally the vmlinux rule
-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)
@@ -640,7 +640,7 @@
# Single targets
# ---------------------------------------------------------------------------
-%.s: %.c scripts FORCE
+%.asm: %.c scripts FORCE
$(Q)$(MAKE) $(build)=$(@D) $@
%.i: %.c scripts FORCE
$(Q)$(MAKE) $(build)=$(@D) $@
@@ -650,7 +650,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
diff -ur linux-2.6.7/arch/arm/Makefile linux-2.6.7-mod/arch/arm/Makefile
--- linux-2.6.7/arch/arm/Makefile Fri Jun 18 22:51:04 2004
+++ linux-2.6.7-mod/arch/arm/Makefile Sat Jun 19 12:47:07 2004
@@ -175,10 +175,10 @@
i:; $(Q)$(MAKE) $(build)=$(boot) install
zi:; $(Q)$(MAKE) $(build)=$(boot) zinstall
-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) $@

View File

@ -1,28 +0,0 @@
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

View File

@ -1,60 +0,0 @@
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 */

View File

@ -1,138 +0,0 @@
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. */

View File

@ -1,50 +0,0 @@
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

View File

@ -1,725 +0,0 @@
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)

View File

@ -1,285 +0,0 @@
[ 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

View File

@ -1,28 +0,0 @@
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

View File

@ -0,0 +1,84 @@
# This file declares functions to install the kernel headers for linux
# Copyright 2007 Yann E. MORIN
# Licensed under the GPL v2. See COPYING in the root of this package
do_print_filename() {
[ "${CT_KERNEL}" = "linux" ] || return 0
echo "linux-${CT_KERNEL_VERSION}"
}
# Download the kernel
do_kernel_get() {
if [ "${CT_KERNEL_LINUX_HEADERS_USE_CUSTOM_DIR}" != "y" ]; then
CT_GetFile "${CT_KERNEL_FILE}" {ftp,http}://ftp.kernel.org/pub/linux/kernel/v2.{6{,/testing},4,2}
fi
return 0
}
# Extract kernel
do_kernel_extract() {
if [ "${CT_KERNEL_LINUX_HEADERS_USE_CUSTOM_DIR}" != "y" ]; then
CT_ExtractAndPatch "${CT_KERNEL_FILE}"
fi
return 0
}
# Wrapper to the actual headers install method
do_kernel_headers() {
CT_DoStep INFO "Installing kernel headers"
if [ "${CT_KERNEL_LINUX_HEADERS_USE_CUSTOM_DIR}" = "y" ]; then
do_kernel_preinstalled
else
do_kernel_install
fi
CT_EndStep
}
# Install kernel headers using headers_install from kernel sources.
do_kernel_install() {
CT_DoLog DEBUG "Using kernel's headers_install"
mkdir -p "${CT_BUILD_DIR}/build-kernel-headers"
cd "${CT_BUILD_DIR}/build-kernel-headers"
# Only starting with 2.6.18 does headers_install is usable. We only
# have 2.6 version available, so only test for sublevel.
k_sublevel=$(awk '/^SUBLEVEL =/ { print $3 }' "${CT_SRC_DIR}/${CT_KERNEL_FILE}/Makefile")
[ ${k_sublevel} -ge 18 ] || CT_Abort "Kernel version >= 2.6.18 is needed to install kernel headers."
V_OPT="V=${CT_KERNEL_LINUX_VERBOSE_LEVEL}"
CT_DoLog EXTRA "Installing kernel headers"
CT_DoExecLog ALL \
make -C "${CT_SRC_DIR}/${CT_KERNEL_FILE}" \
O=$(pwd) \
ARCH=${CT_KERNEL_ARCH} \
INSTALL_HDR_PATH="${CT_SYSROOT_DIR}/usr" \
${V_OPT} \
headers_install
if [ "${CT_KERNEL_LINUX_HEADERS_INSTALL_CHECK}" = "y" ]; then
CT_DoLog EXTRA "Checking installed headers"
CT_DoExecLog ALL \
make -C "${CT_SRC_DIR}/${CT_KERNEL_FILE}" \
O=$(pwd) \
ARCH=${CT_KERNEL_ARCH} \
INSTALL_HDR_PATH="${CT_SYSROOT_DIR}/usr" \
${V_OPT} \
headers_check
find "${CT_SYSROOT_DIR}" -type f -name '.check*' -exec rm {} \;
fi
}
# Use preinstalled headers (most probably by using make headers_install in a
# modified (read: customised) kernel tree, or using pre-2.6.18 headers, such
# as 2.4). In this case, simply copy the headers in place
do_kernel_preinstalled() {
CT_DoLog EXTRA "Copying preinstalled kernel headers"
mkdir -p "${CT_SYSROOT_DIR}/usr"
cd "${CT_KERNEL_LINUX_HEADERS_CUSTOM_DIR}"
cp -rv include "${CT_SYSROOT_DIR}/usr" 2>&1 |CT_DoLog ALL
}

View File

@ -1 +0,0 @@
kernel_linux.sh

View File

@ -1,208 +0,0 @@
# This file declares functions to install the kernel headers for linux
# Copyright 2007 Yann E. MORIN
# Licensed under the GPL v2. See COPYING in the root of this package
do_print_filename() {
[ "${CT_KERNEL}" = "linux" ] || return 0
case "${CT_KERNEL_LINUX_HEADERS_SANITISED}" in
y) echo "linux-libc-headers-${CT_KERNEL_VERSION}";;
*) echo "linux-${CT_KERNEL_VERSION}";;
esac
}
# Download the kernel
do_kernel_get() {
if [ "${CT_KERNEL_LINUX_HEADERS_USE_CUSTOM_DIR}" != "y" ]; then
CT_GetFile "${CT_KERNEL_FILE}" \
{ftp,http}://ftp.kernel.org/pub/linux/kernel/v2.{6{,/testing},4,2} \
http://ep09.pld-linux.org/~mmazur/linux-libc-headers
fi
return 0
}
# Extract kernel
do_kernel_extract() {
if [ "${CT_KERNEL_LINUX_HEADERS_USE_CUSTOM_DIR}" != "y" ]; then
CT_ExtractAndPatch "${CT_KERNEL_FILE}"
fi
return 0
}
# Check kernel configuration
do_kernel_check_config() {
# Only the copied or sanitised headers need a config file.
# Pre-existing headers as well as headers_install don't.
if [ "${CT_KERNEL_LINUX_NEEDS_CONFIG}" = "y" \
-a \( -z "${CT_KERNEL_LINUX_CONFIG_FILE}" \
-o ! -r "${CT_KERNEL_LINUX_CONFIG_FILE}" \
\) \
]; then
CT_DoLog WARN "You did not provide a kernel configuration file!"
CT_DoLog WARN "I will try to generate one for you, but beware!"
CT_DoStep INFO "Building a default configuration file for linux kernel"
mkdir -p "${CT_BUILD_DIR}/build-kernel-defconfig"
cd "${CT_BUILD_DIR}/build-kernel-defconfig"
make -C "${CT_SRC_DIR}/${CT_KERNEL_FILE}" O=$(pwd) \
ARCH=${CT_KERNEL_ARCH} defconfig 2>&1 |CT_DoLog ALL
CT_KERNEL_LINUX_CONFIG_FILE="$(pwd)/.config"
CT_EndStep
fi
}
# Wrapper to the actual headers install method
do_kernel_headers() {
CT_DoStep INFO "Installing kernel headers"
# Special case when using pre-installed headers
if [ "${CT_KERNEL_LINUX_HEADERS_USE_CUSTOM_DIR}" = "y" ]; then
do_kernel_preinstalled
else
# We need to enter this directory to find the kernel version strings
cd "${CT_SRC_DIR}/${CT_KERNEL_FILE}"
if [ "${CT_KERNEL_LINUX_HEADERS_SANITISED}" != "y" ]; then
k_version=$(awk '/^VERSION =/ { print $3 }' Makefile)
k_patchlevel=$(awk '/^PATCHLEVEL =/ { print $3 }' Makefile)
k_sublevel=$(awk '/^SUBLEVEL =/ { print $3 }' Makefile)
k_extraversion=$(awk '/^EXTRAVERSION =/ { print $3 }' Makefile)
else
k_version=$(echo "${CT_KERNEL_VERSION}." |cut -d . -f 1)
k_patchlevel=$(echo "${CT_KERNEL_VERSION}." |cut -d . -f 2)
k_sublevel=$(echo "${CT_KERNEL_VERSION}." |cut -d . -f 3)
k_extraversion=$(echo "${CT_KERNEL_VERSION}." |cut -d . -f 4)
fi
case "${k_version}.${k_patchlevel}" in
2.2|2.4|2.6) ;;
*) CT_Abort "Unsupported kernel version 'linux-${k_version}.${k_patchlevel}'.";;
esac
# Kernel version that support verbosity will use this, others will ignore it:
V_OPT="V=${CT_KERNEL_LINUX_VERBOSE_LEVEL}"
if [ "${CT_KERNEL_LINUX_HEADERS_INSTALL}" = "y" ]; then
do_kernel_install
elif [ "${CT_KERNEL_LINUX_HEADERS_SANITISED}" = "y" ]; then
do_kernel_sanitised
else [ "${CT_KERNEL_LINUX_HEADERS_COPY}" = "y" ];
do_kernel_copy
fi
fi
CT_EndStep
}
# Install kernel headers using headers_install from kernel sources.
do_kernel_install() {
CT_DoLog DEBUG "Using kernel's headers_install"
mkdir -p "${CT_BUILD_DIR}/build-kernel-headers"
cd "${CT_BUILD_DIR}/build-kernel-headers"
case "${k_version}.${k_patchlevel}" in
2.6) [ ${k_sublevel} -ge 18 ] || CT_Abort "Kernel version >= 2.6.18 is needed to install kernel headers.";;
*) CT_Abort "Kernel version >= 2.6.18 is needed to install kernel headers.";;
esac
CT_DoLog EXTRA "Installing kernel headers"
CT_DoExecLog ALL \
make -C "${CT_SRC_DIR}/${CT_KERNEL_FILE}" \
O=$(pwd) \
ARCH=${CT_KERNEL_ARCH} \
INSTALL_HDR_PATH="${CT_SYSROOT_DIR}/usr" \
${V_OPT} \
headers_install
if [ "${CT_KERNEL_LINUX_HEADERS_INSTALL_CHECK}" = "y" ]; then
CT_DoLog EXTRA "Checking installed headers"
CT_DoExecLog ALL \
make -C "${CT_SRC_DIR}/${CT_KERNEL_FILE}" \
O=$(pwd) \
ARCH=${CT_KERNEL_ARCH} \
INSTALL_HDR_PATH="${CT_SYSROOT_DIR}/usr" \
${V_OPT} \
headers_check
find "${CT_SYSROOT_DIR}" -type f -name '.check*' -exec rm {} \;
fi
}
# Install kernel headers from oldish Mazur's sanitised headers.
do_kernel_sanitised() {
CT_DoLog EXTRA "Copying sanitised headers"
cd "${CT_SRC_DIR}/${CT_KERNEL_FILE}"
cp -rv include/linux "${CT_HEADERS_DIR}" 2>&1 |CT_DoLog ALL
cp -rv "include/asm-${CT_KERNEL_ARCH}" "${CT_HEADERS_DIR}/asm" 2>&1 |CT_DoLog ALL
}
# Install kernel headers by plain copy.
do_kernel_copy() {
CT_DoLog DEBUG "Copying plain kernel headers"
CT_DoLog WARN "You are using plain kernel headers. You really shouldn't do that."
CT_DoLog WARN "You'd be better off by using installed headers (or sanitised headers)."
# 2.2 and 2.4 don't support building out-of-tree. 2.6 does.
CT_DoLog EXTRA "Preparing kernel headers"
case "${k_version}.${k_patchlevel}" in
2.2|2.4) cd "${CT_SRC_DIR}/${CT_KERNEL_FILE}"
cp "${CT_KERNEL_LINUX_CONFIG_FILE}" .config
CT_DoYes "" |make ARCH=${CT_KERNEL_ARCH} oldconfig
# 2.4 doesn't follow V=# for verbosity... :-(
make ARCH=${CT_KERNEL_ARCH} symlinks include/linux/version.h
;;
2.6) mkdir -p "${CT_BUILD_DIR}/build-kernel-headers"
cd "${CT_BUILD_DIR}/build-kernel-headers"
cp "${CT_KERNEL_LINUX_CONFIG_FILE}" .config
CT_DoYes "" |make -C "${CT_SRC_DIR}/${CT_KERNEL_FILE}" \
O=$(pwd) ${V_OPT} ARCH=${CT_KERNEL_ARCH} \
oldconfig
case "${CT_KERNEL_ARCH}" in
sh*) # sh does secret stuff in 'make prepare' that can't be
# triggered separately, but happily, it doesn't use
# target gcc, so we can use it.
# Update: this fails on 2.6.11, as it installs
# elfconfig.h, which requires target compiler :-(
make ${PARALLELMFLAGS} \
ARCH=${CT_KERNEL_ARCH} ${V_OPT} \
prepare include/linux/version.h
;;
arm*|cris*) make ${PARALLELMFLAGS} \
ARCH=${CT_KERNEL_ARCH} ${V_OPT} \
include/asm include/linux/version.h \
include/asm-${CT_KERNEL_ARCH}/.arch
;;
mips*) # for linux-2.6, 'make prepare' for mips doesn't
# actually create any symlinks. Hope generic is ok.
# Note that glibc ignores all -I flags passed in CFLAGS,
# so you have to use -isystem.
make ${PARALLELMFLAGS} \
ARCH=${CT_KERNEL_ARCH} ${V_OPT} \
include/asm include/linux/version.h
TARGET_CFLAGS="${TARGET_CFLAGS} -isystem ${LINUX_HEADER_DIR}/include/asm-mips/mach-generic"
;;
*) make ${PARALLELMFLAGS} \
ARCH=${CT_KERNEL_ARCH} ${V_OPT} \
include/asm include/linux/version.h
;;
esac
;;
esac 2>&1 |CT_DoLog ALL
CT_DoLog EXTRA "Copying kernel headers"
cp -rv include/asm-generic "${CT_HEADERS_DIR}/asm-generic" 2>&1 |CT_DoLog ALL
cp -rv include/linux "${CT_HEADERS_DIR}" 2>&1 |CT_DoLog ALL
cp -rv include/asm-${CT_KERNEL_ARCH} "${CT_HEADERS_DIR}/asm" 2>&1 |CT_DoLog ALL
}
# Use preinstalled headers (most probably by using make headers_install in a
# modified (read: customised) kernel tree). In this case, simply copy
# the headers in place
do_kernel_preinstalled() {
CT_DoLog EXTRA "Copying preinstalled kernel headers"
mkdir -p "${CT_SYSROOT_DIR}/usr"
cd "${CT_KERNEL_LINUX_HEADERS_CUSTOM_DIR}"
cp -rv include "${CT_SYSROOT_DIR}/usr" 2>&1 |CT_DoLog ALL
}

View File

@ -352,7 +352,7 @@ fi
# Include sub-scripts instead of calling them: that way, we do not have to
# export any variable, nor re-parse the configuration and functions files.
. "${CT_LIB_DIR}/scripts/build/kernel_${CT_KERNEL}.sh"
. "${CT_LIB_DIR}/scripts/build/kernel/${CT_KERNEL}.sh"
. "${CT_LIB_DIR}/scripts/build/gmp.sh"
. "${CT_LIB_DIR}/scripts/build/mpfr.sh"
. "${CT_LIB_DIR}/scripts/build/binutils.sh"

View File

@ -2,7 +2,6 @@
# Copyright 2006 Yann E. MORIN <yann.morin.1998@anciens.enib.fr>
CT_STEPS := libc_check_config \
kernel_check_config \
kernel_headers \
gmp \
mpfr \