patches/linux/2.4.26/linux-2.4.26-arm-nonofpu.patch
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Tue May 01 16:49:15 2007 +0000 (2007-05-01)
changeset 56 07a6a48962b7
permissions -rw-r--r--
Merge patches sent by Robert P. J. Day <rpjday@mindspring.com>.
Warning: the buildroot folks purposedly removed the skip-comment patch but didn't really said why. Keeping it for the sake of having it in svn just in case (removing it will be easier thant not having it at all).
yann@1
     1
Backport of linux-2.6.8-arm-nonofpu.patch.
yann@1
     2
Fixes error when building linux-2.4.26 kernel with gcc-3.4 on arm.
yann@1
     3
yann@1
     4
/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
yann@1
     5
cc1: error: invalid option `short-load-bytes'
yann@1
     6
make[2]: *** [constants.h] Error 1
yann@1
     7
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'
yann@1
     8
make[1]: *** [dep] Error 2
yann@1
     9
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'
yann@1
    10
make: *** [archdep] Error 2
yann@1
    11
yann@1
    12
yann@1
    13
--- linux-2.4.26/Makefile.old	Thu Sep 30 23:21:14 2004
yann@1
    14
+++ linux-2.4.26/Makefile	Thu Sep 30 23:24:12 2004
yann@1
    15
@@ -21,6 +21,10 @@
yann@1
    16
 
yann@1
    17
 CROSS_COMPILE 	=
yann@1
    18
 
yann@1
    19
+# From linux-2.6
yann@1
    20
+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 ;)
yann@1
    21
+export check_gcc
yann@1
    22
+
yann@1
    23
 #
yann@1
    24
 # Include the make variables (CC, etc...)
yann@1
    25
 #
yann@1
    26
--- linux-2.4.26/arch/arm/Makefile.old	Thu Sep 30 23:16:49 2004
yann@1
    27
+++ linux-2.4.26/arch/arm/Makefile	Thu Sep 30 23:25:27 2004
yann@1
    28
@@ -50,9 +50,9 @@
yann@1
    29
 tune-$(CONFIG_CPU_SA110)	:=-mtune=strongarm110
yann@1
    30
 tune-$(CONFIG_CPU_SA1100)	:=-mtune=strongarm1100
yann@1
    31
 
yann@1
    32
-CFLAGS_BOOT	:=$(apcs-y) $(arch-y) $(tune-y) -mshort-load-bytes -msoft-float -Uarm
yann@1
    33
-CFLAGS		+=$(apcs-y) $(arch-y) $(tune-y) -mshort-load-bytes -msoft-float -Uarm
yann@1
    34
-AFLAGS		+=$(apcs-y) $(arch-y) -mno-fpu -msoft-float
yann@1
    35
+CFLAGS_BOOT	:=$(apcs-y) $(arch-y) $(tune-y) $(call check_gcc,-malignment-traps,-mshort-load-bytes) -msoft-float -Uarm
yann@1
    36
+CFLAGS		+=$(apcs-y) $(arch-y) $(tune-y) $(call check_gcc,-malignment-traps,-mshort-load-bytes) -msoft-float -Uarm
yann@1
    37
+AFLAGS		+=$(apcs-y) $(arch-y) -msoft-float
yann@1
    38
 
yann@1
    39
 ifeq ($(CONFIG_CPU_26),y)
yann@1
    40
 PROCESSOR	:= armo