patches/gcc/4.3.1/130-cross-compile.patch
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Wed Sep 09 00:02:01 2009 +0200 (2009-09-09)
changeset 1525 4647e6fb994a
parent 746 b150d6f590fc
permissions -rw-r--r--
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.
     1 Original patch from gentoo: gentoo/src/patchsets/gcc/4.3.1/gentoo/08_all_gcc-4.1-cross-compile.patch
     2 Some notes on the 'bootstrap with or without libc headers' debate:
     3 http://linuxfromscratch.org/pipermail/lfs-dev/2005-July/052409.html
     4 http://gcc.gnu.org/ml/gcc/2005-07/msg01195.html
     5 
     6 diff -durN gcc-4.3.1.orig/gcc/configure gcc-4.3.1/gcc/configure
     7 --- gcc-4.3.1.orig/gcc/configure	2008-05-21 10:54:15.000000000 +0200
     8 +++ gcc-4.3.1/gcc/configure	2008-06-10 14:57:42.000000000 +0200
     9 @@ -13283,7 +13283,7 @@
    10  	    | powerpc*-*-*,powerpc64*-*-*)
    11  		CROSS="$CROSS -DNATIVE_CROSS" ;;
    12  	esac
    13 -elif test "x$TARGET_SYSTEM_ROOT" != x; then
    14 +elif test "x$TARGET_SYSTEM_ROOT" != x -o $build != $host; then
    15          SYSTEM_HEADER_DIR=$build_system_header_dir
    16  fi
    17  
    18 diff -durN gcc-4.3.1.orig/gcc/configure.ac gcc-4.3.1/gcc/configure.ac
    19 --- gcc-4.3.1.orig/gcc/configure.ac	2008-05-21 10:54:15.000000000 +0200
    20 +++ gcc-4.3.1/gcc/configure.ac	2008-06-10 14:57:42.000000000 +0200
    21 @@ -1749,7 +1749,7 @@
    22  	    | powerpc*-*-*,powerpc64*-*-*)
    23  		CROSS="$CROSS -DNATIVE_CROSS" ;;
    24  	esac
    25 -elif test "x$TARGET_SYSTEM_ROOT" != x; then
    26 +elif test "x$TARGET_SYSTEM_ROOT" != x -o $build != $host; then
    27          SYSTEM_HEADER_DIR=$build_system_header_dir 
    28  fi
    29  
    30 diff -durN gcc-4.3.1.orig/gcc/unwind-dw2.c gcc-4.3.1/gcc/unwind-dw2.c
    31 --- gcc-4.3.1.orig/gcc/unwind-dw2.c	2007-07-25 20:14:57.000000000 +0200
    32 +++ gcc-4.3.1/gcc/unwind-dw2.c	2008-06-10 14:57:42.000000000 +0200
    33 @@ -334,9 +334,11 @@
    34  }
    35  #endif
    36  
    37 +#ifndef inhibit_libc
    38  #ifdef MD_UNWIND_SUPPORT
    39  #include MD_UNWIND_SUPPORT
    40  #endif
    41 +#endif
    42  
    43  /* Extract any interesting information from the CIE for the translation
    44     unit F belongs to.  Return a pointer to the byte after the augmentation,