patches/linux/2.4.26/linux-2.4.26-arm-nonofpu.patch
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Fri Sep 14 21:41:00 2007 +0000 (2007-09-14)
changeset 386 d5c5ed1b75ef
permissions -rw-r--r--
Update docs/CREDITS: ARM EABI support.
Update README: point at docs/CREDITS.
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