gcc: add patch to fix EABI for armv4t
author"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Wed Sep 09 00:02:01 2009 +0200 (2009-09-09)
changeset 15254647e6fb994a
parent 1524 1031ea5af395
child 1527 24dac8b8a9b4
gcc: add patch to fix EABI for armv4t

As pointed out by Martin GUY, gcc incorrectly generates armv5t
instrcutions for EABI, even for cores that are an armv4t.
The new patch (for the 4.3 series) fixes the problem by downgrading
the default CPU for EABI to being an armv4t core.
patches/gcc/4.3.0/380-unbreak-armv4t.patch
patches/gcc/4.3.1/360-unbreak-armv4t.patch
patches/gcc/4.3.2/390-unbreak-armv4t.patch
patches/gcc/4.3.3/390-unbreak-armv4t.patch
patches/gcc/4.3.4/390-unbreak-armv4t.patch
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/patches/gcc/4.3.0/380-unbreak-armv4t.patch	Wed Sep 09 00:02:01 2009 +0200
     1.3 @@ -0,0 +1,11 @@
     1.4 +--- gcc-4.3.2.orig/gcc/config/arm/linux-eabi.h	2009-09-08 23:46:44.000000000 +0200
     1.5 ++++ gcc-4.3.2/gcc/config/arm/linux-eabi.h	2009-09-08 23:46:51.000000000 +0200
     1.6 +@@ -44,7 +44,7 @@
     1.7 +    The ARM10TDMI core is the default for armv5t, so set
     1.8 +    SUBTARGET_CPU_DEFAULT to achieve this.  */
     1.9 + #undef  SUBTARGET_CPU_DEFAULT
    1.10 +-#define SUBTARGET_CPU_DEFAULT TARGET_CPU_arm10tdmi
    1.11 ++#define SUBTARGET_CPU_DEFAULT TARGET_CPU_arm9tdmi
    1.12 + 
    1.13 + /* TARGET_BIG_ENDIAN_DEFAULT is set in
    1.14 +    config.gcc for big endian configurations.  */
     2.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     2.2 +++ b/patches/gcc/4.3.1/360-unbreak-armv4t.patch	Wed Sep 09 00:02:01 2009 +0200
     2.3 @@ -0,0 +1,11 @@
     2.4 +--- gcc-4.3.2.orig/gcc/config/arm/linux-eabi.h	2009-09-08 23:46:44.000000000 +0200
     2.5 ++++ gcc-4.3.2/gcc/config/arm/linux-eabi.h	2009-09-08 23:46:51.000000000 +0200
     2.6 +@@ -44,7 +44,7 @@
     2.7 +    The ARM10TDMI core is the default for armv5t, so set
     2.8 +    SUBTARGET_CPU_DEFAULT to achieve this.  */
     2.9 + #undef  SUBTARGET_CPU_DEFAULT
    2.10 +-#define SUBTARGET_CPU_DEFAULT TARGET_CPU_arm10tdmi
    2.11 ++#define SUBTARGET_CPU_DEFAULT TARGET_CPU_arm9tdmi
    2.12 + 
    2.13 + /* TARGET_BIG_ENDIAN_DEFAULT is set in
    2.14 +    config.gcc for big endian configurations.  */
     3.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     3.2 +++ b/patches/gcc/4.3.2/390-unbreak-armv4t.patch	Wed Sep 09 00:02:01 2009 +0200
     3.3 @@ -0,0 +1,11 @@
     3.4 +--- gcc-4.3.2.orig/gcc/config/arm/linux-eabi.h	2009-09-08 23:46:44.000000000 +0200
     3.5 ++++ gcc-4.3.2/gcc/config/arm/linux-eabi.h	2009-09-08 23:46:51.000000000 +0200
     3.6 +@@ -44,7 +44,7 @@
     3.7 +    The ARM10TDMI core is the default for armv5t, so set
     3.8 +    SUBTARGET_CPU_DEFAULT to achieve this.  */
     3.9 + #undef  SUBTARGET_CPU_DEFAULT
    3.10 +-#define SUBTARGET_CPU_DEFAULT TARGET_CPU_arm10tdmi
    3.11 ++#define SUBTARGET_CPU_DEFAULT TARGET_CPU_arm9tdmi
    3.12 + 
    3.13 + /* TARGET_BIG_ENDIAN_DEFAULT is set in
    3.14 +    config.gcc for big endian configurations.  */
     4.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     4.2 +++ b/patches/gcc/4.3.3/390-unbreak-armv4t.patch	Wed Sep 09 00:02:01 2009 +0200
     4.3 @@ -0,0 +1,11 @@
     4.4 +--- gcc-4.3.2.orig/gcc/config/arm/linux-eabi.h	2009-09-08 23:46:44.000000000 +0200
     4.5 ++++ gcc-4.3.2/gcc/config/arm/linux-eabi.h	2009-09-08 23:46:51.000000000 +0200
     4.6 +@@ -44,7 +44,7 @@
     4.7 +    The ARM10TDMI core is the default for armv5t, so set
     4.8 +    SUBTARGET_CPU_DEFAULT to achieve this.  */
     4.9 + #undef  SUBTARGET_CPU_DEFAULT
    4.10 +-#define SUBTARGET_CPU_DEFAULT TARGET_CPU_arm10tdmi
    4.11 ++#define SUBTARGET_CPU_DEFAULT TARGET_CPU_arm9tdmi
    4.12 + 
    4.13 + /* TARGET_BIG_ENDIAN_DEFAULT is set in
    4.14 +    config.gcc for big endian configurations.  */
     5.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     5.2 +++ b/patches/gcc/4.3.4/390-unbreak-armv4t.patch	Wed Sep 09 00:02:01 2009 +0200
     5.3 @@ -0,0 +1,11 @@
     5.4 +--- gcc-4.3.2.orig/gcc/config/arm/linux-eabi.h	2009-09-08 23:46:44.000000000 +0200
     5.5 ++++ gcc-4.3.2/gcc/config/arm/linux-eabi.h	2009-09-08 23:46:51.000000000 +0200
     5.6 +@@ -44,7 +44,7 @@
     5.7 +    The ARM10TDMI core is the default for armv5t, so set
     5.8 +    SUBTARGET_CPU_DEFAULT to achieve this.  */
     5.9 + #undef  SUBTARGET_CPU_DEFAULT
    5.10 +-#define SUBTARGET_CPU_DEFAULT TARGET_CPU_arm10tdmi
    5.11 ++#define SUBTARGET_CPU_DEFAULT TARGET_CPU_arm9tdmi
    5.12 + 
    5.13 + /* TARGET_BIG_ENDIAN_DEFAULT is set in
    5.14 +    config.gcc for big endian configurations.  */