patches/gcc/4.4.4/360-arm-bigendian.patch
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Fri Oct 08 23:37:12 2010 +0200 (2010-10-08)
branch1.8
changeset 2150 f97a8ad2b172
permissions -rw-r--r--
cc/gcc: fix C++ headers location

In case we build the C++ compiler, we have to tell gcc where to put the C++
headers, or else it will try to # put it in prefix/tuple/include, which we
make a symlink to sysroot/usr/include during the build, and that we delete
(the symlink!) after the build, but gcc will not look in sysroot/usr/inlcude
for C++ headers by default.

Implements a fix suggested by: Bryan Hundven <bryanhundven@gmail.com>

Reported-by: Anthony Foiani <anthony.foiani@gmail.com>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
(transplanted from a0924619112015bdaa81a0a2313d21ef38607bc2)
     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 diff -durN gcc-4.4.4.orig/gcc/config/arm/linux-elf.h gcc-4.4.4/gcc/config/arm/linux-elf.h
     7 --- gcc-4.4.4.orig/gcc/config/arm/linux-elf.h	2009-02-20 16:20:38.000000000 +0100
     8 +++ gcc-4.4.4/gcc/config/arm/linux-elf.h	2010-05-16 19:38:07.000000000 +0200
     9 @@ -51,7 +51,7 @@
    10  
    11  #undef  MULTILIB_DEFAULTS
    12  #define MULTILIB_DEFAULTS \
    13 -	{ "marm", "mlittle-endian", "mhard-float", "mno-thumb-interwork" }
    14 +	{ "marm", TARGET_ENDIAN_OPTION, "mhard-float", "mno-thumb-interwork" }
    15  
    16  /* Now we define the strings used to build the spec file.  */
    17  #undef  LIB_SPEC
    18 diff -durN gcc-4.4.4.orig/gcc/config.gcc gcc-4.4.4/gcc/config.gcc
    19 --- gcc-4.4.4.orig/gcc/config.gcc	2010-05-16 19:36:15.000000000 +0200
    20 +++ gcc-4.4.4/gcc/config.gcc	2010-05-16 19:38:07.000000000 +0200
    21 @@ -733,6 +733,11 @@
    22  	tm_file="dbxelf.h elfos.h arm/unknown-elf.h arm/elf.h arm/linux-gas.h arm/uclinux-elf.h"
    23  	tmake_file="arm/t-arm arm/t-arm-elf"
    24  	case ${target} in
    25 +	arm*b-*)
    26 +		tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=1"
    27 +		;;
    28 +	esac
    29 +	case ${target} in
    30  	arm*-*-uclinux*eabi)
    31  	    tm_file="$tm_file arm/bpabi.h arm/uclinux-eabi.h"
    32  	    tmake_file="$tmake_file arm/t-bpabi"