patches/gcc/4.3.4/330-unwind-for-uClibc.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
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: ../4.3.2/330-unwind-for-uClibc.patch
     2 
     3 -= BEGIN original header =-
     4 -= END original header =-
     5 
     6 diff -durN gcc-4.3.3.orig/gcc/config/t-linux-uclibc gcc-4.3.3/gcc/config/t-linux-uclibc
     7 --- gcc-4.3.3.orig/gcc/config/t-linux-uclibc	1970-01-01 01:00:00.000000000 +0100
     8 +++ gcc-4.3.3/gcc/config/t-linux-uclibc	2009-01-27 22:28:53.000000000 +0100
     9 @@ -0,0 +1,5 @@
    10 +# Remove glibc specific files added in t-linux
    11 +SHLIB_MAPFILES := $(filter-out $(srcdir)/config/libgcc-glibc.ver, $(SHLIB_MAPFILES))
    12 +
    13 +# Use unwind-dw2-fde instead of unwind-dw2-fde-glibc
    14 +LIB2ADDEH := $(subst unwind-dw2-fde-glibc.c,unwind-dw2-fde.c,$(LIB2ADDEH))
    15 diff -durN gcc-4.3.3.orig/gcc/config.gcc gcc-4.3.3/gcc/config.gcc
    16 --- gcc-4.3.3.orig/gcc/config.gcc	2009-01-27 22:25:37.000000000 +0100
    17 +++ gcc-4.3.3/gcc/config.gcc	2009-01-27 22:28:53.000000000 +0100
    18 @@ -2648,6 +2648,12 @@
    19  	;;
    20  esac
    21  
    22 +# Rather than hook into each target, just do it after all the linux
    23 +# targets have been processed
    24 +case ${target} in
    25 +  *-linux-uclibc*) tm_defines="${tm_defines} USE_UCLIBC" ; tmake_file="${tmake_file} t-linux-uclibc";;
    26 +esac
    27 +
    28  case ${target} in
    29  i[34567]86-*-linux*aout* | i[34567]86-*-linux*libc1)
    30  	tmake_file="${tmake_file} i386/t-gmm_malloc"