patches/gcc/4.4.5/360-arm-bigendian.patch
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Mon Feb 21 23:39:46 2011 +0100 (2011-02-21)
changeset 2312 8b9938edd3d8
permissions -rw-r--r--
libc/glibc: add fortify option

By default, recent versions of glibc and eglibc will build some
functions that take format strings (eg. printf, syslog...) with
run-time checks against some format string attacks. This is
called a fortified build.

Unfortunately, this fails somehow while building the instrumented
version of syslog, with some kind of circular dependency...

Disable fortified builds by default, and hide the enabling option
behind EXPERIMENTAL for daring users...

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 diff -durN gcc-4.4.5.orig/gcc/config/arm/linux-elf.h gcc-4.4.5/gcc/config/arm/linux-elf.h
     7 --- gcc-4.4.5.orig/gcc/config/arm/linux-elf.h	2009-02-20 16:20:38.000000000 +0100
     8 +++ gcc-4.4.5/gcc/config/arm/linux-elf.h	2010-10-09 23:13:21.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.5.orig/gcc/config.gcc gcc-4.4.5/gcc/config.gcc
    19 --- gcc-4.4.5.orig/gcc/config.gcc	2010-10-09 23:09:53.000000000 +0200
    20 +++ gcc-4.4.5/gcc/config.gcc	2010-10-09 23:13:21.000000000 +0200
    21 @@ -739,6 +739,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"