patches/gcc/4.4.3/360-arm-bigendian.patch
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Mon Mar 28 01:05:18 2011 +0200 (2011-03-28)
changeset 2362 0888065f8c4d
parent 1693 5cf9544bcea1
permissions -rw-r--r--
cc/gcc: cleanup the _or_later logic

So far, we've had a version always select appropriate _or_later option,
which in turn would select all previous _or_later options.

Because the dependencies on companion libs were cumulative, that was
working OK. But the upcoming 4.6 will no longer depend on libelf, so
we can't keep the cumulative scheme we've been using so far.

Have each release family select the corresponding dependencies, instead
of relying on selecting previous _or_later.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
     1 By Lennert Buytenhek <buytenh@wantstofly.org>
     2 Adds support for arm*b-linux* big-endian ARM targets
     3 
     4 See http://gcc.gnu.org/PR16350
     5 
     6 --- gcc-4.4.2.orig/gcc/config/arm/linux-elf.h	2009-02-20 16:20:38.000000000 +0100
     7 +++ gcc-4.4.2/gcc/config/arm/linux-elf.h	2009-12-31 14:19:20.000000000 +0100
     8 @@ -51,7 +51,7 @@
     9  
    10  #undef  MULTILIB_DEFAULTS
    11  #define MULTILIB_DEFAULTS \
    12 -	{ "marm", "mlittle-endian", "mhard-float", "mno-thumb-interwork" }
    13 +	{ "marm", TARGET_ENDIAN_OPTION, "mhard-float", "mno-thumb-interwork" }
    14  
    15  /* Now we define the strings used to build the spec file.  */
    16  #undef  LIB_SPEC
    17 diff -ru gcc-4.4.2.orig/gcc/config.gcc gcc-4.4.2/gcc/config.gcc
    18 --- gcc-4.4.2.orig/gcc/config.gcc	2009-12-31 14:43:17.000000000 +0100
    19 +++ gcc-4.4.2/gcc/config.gcc	2010-01-05 09:27:42.000000000 +0100
    20 @@ -733,6 +733,11 @@
    21  	tm_file="dbxelf.h elfos.h arm/unknown-elf.h arm/elf.h arm/linux-gas.h arm/uclinux-elf.h"
    22  	tmake_file="arm/t-arm arm/t-arm-elf"
    23  	case ${target} in
    24 +	arm*b-*)
    25 +		tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=1"
    26 +		;;
    27 +	esac
    28 +	case ${target} in
    29  	arm*-*-uclinux*eabi)
    30  	    tm_file="$tm_file arm/bpabi.h arm/uclinux-eabi.h"
    31  	    tmake_file="$tmake_file arm/t-bpabi"
    32