patches/gcc/4.4.5/360-arm-bigendian.patch
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Fri Nov 04 19:22:29 2011 +0100 (2011-11-04)
changeset 2735 f09ed6dd71a3
permissions -rw-r--r--
kernel/linux: fix packed attribute in exported headers

UBI headers (and maybe others as well) are broken because the 'packed'
attribute is not sanitised when the headers are exported to userspace.

Apply the fix from upstream:
https://git.kernel.org/?p=linux/kernel/git/torvalds/linux.git;a=commitdiff;h=f210735fe2f17a6225432ee3d1239bcf23a8659c

(Also, buildroot does the same, BTW)

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"