patches/linux/2.4.26/140-linux-2.4.26-arm-nonofpu.patch
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Sun Feb 17 22:08:06 2008 +0000 (2008-02-17)
changeset 431 8bde4c6ea47a
permissions -rw-r--r--
Robert P. J. DAY says:

apparently, the patchset for gcc 4.2.1 applies properly to the
source for gcc 4.2.2 and gcc 4.2.3. so, if you want, you can simply
add support for those last two just by augmenting menuconfig and
adding a couple symlinks for those two directories. seems like a
cheap way to add a couple new versions.
     1 Backport of linux-2.6.8-arm-nonofpu.patch.
     2 Fixes error when building linux-2.4.26 kernel with gcc-3.4 on arm.
     3 
     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
     5 cc1: error: invalid option `short-load-bytes'
     6 make[2]: *** [constants.h] Error 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'
     8 make[1]: *** [dep] Error 2
     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'
    10 make: *** [archdep] Error 2
    11 
    12 
    13 --- linux-2.4.26/Makefile.old	Thu Sep 30 23:21:14 2004
    14 +++ linux-2.4.26/Makefile	Thu Sep 30 23:24:12 2004
    15 @@ -21,6 +21,10 @@
    16  
    17  CROSS_COMPILE 	=
    18  
    19 +# From linux-2.6
    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 ;)
    21 +export check_gcc
    22 +
    23  #
    24  # Include the make variables (CC, etc...)
    25  #
    26 --- linux-2.4.26/arch/arm/Makefile.old	Thu Sep 30 23:16:49 2004
    27 +++ linux-2.4.26/arch/arm/Makefile	Thu Sep 30 23:25:27 2004
    28 @@ -50,9 +50,9 @@
    29  tune-$(CONFIG_CPU_SA110)	:=-mtune=strongarm110
    30  tune-$(CONFIG_CPU_SA1100)	:=-mtune=strongarm1100
    31  
    32 -CFLAGS_BOOT	:=$(apcs-y) $(arch-y) $(tune-y) -mshort-load-bytes -msoft-float -Uarm
    33 -CFLAGS		+=$(apcs-y) $(arch-y) $(tune-y) -mshort-load-bytes -msoft-float -Uarm
    34 -AFLAGS		+=$(apcs-y) $(arch-y) -mno-fpu -msoft-float
    35 +CFLAGS_BOOT	:=$(apcs-y) $(arch-y) $(tune-y) $(call check_gcc,-malignment-traps,-mshort-load-bytes) -msoft-float -Uarm
    36 +CFLAGS		+=$(apcs-y) $(arch-y) $(tune-y) $(call check_gcc,-malignment-traps,-mshort-load-bytes) -msoft-float -Uarm
    37 +AFLAGS		+=$(apcs-y) $(arch-y) -msoft-float
    38  
    39  ifeq ($(CONFIG_CPU_26),y)
    40  PROCESSOR	:= armo