Fix building ARM Big Endian toolchain:
author"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Tue Jan 06 21:05:33 2009 +0000 (2009-01-06)
changeset 11288024ad97841b
parent 1127 1fd2e11ccdd9
child 1129 cf598d70f6ea
Fix building ARM Big Endian toolchain:
- add a patch by Gilles CHANTEPERDRIX.

/trunk/patches/gcc/4.2.4/241-arm-bigendian2.patch | 33 33 0 0 +++++++++++++++++++++++++++++
1 file changed, 33 insertions(+)
patches/gcc/4.2.4/241-arm-bigendian2.patch
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/patches/gcc/4.2.4/241-arm-bigendian2.patch	Tue Jan 06 21:05:33 2009 +0000
     1.3 @@ -0,0 +1,33 @@
     1.4 +Gilles Chanteperdrix <gilles.chanteperdrix@xenomai.org> wrote:
     1.5 +
     1.6 +I tried to use crosstool-ng to generate a toolchain for Linux on big
     1.7 +endian arm with recent versions of gcc, glibc, etc... but had a few
     1.8 +problems.
     1.9 +
    1.10 +It appears that the gcc patch (for gcc 4.2.x)
    1.11 +for big-endian arm (240-arm-bigendian.patch) lacks the change attached
    1.12 +to this mail as 240-arm-bigendian2.patch.
    1.13 +
    1.14 +--- gcc-4.2.4/gcc/config/arm/bpabi.h~	2007-09-01 17:28:30.000000000 +0200
    1.15 ++++ gcc-4.2.4/gcc/config/arm/bpabi.h	2009-01-05 19:19:10.000000000 +0100
    1.16 +@@ -32,9 +32,19 @@
    1.17 + #undef FPUTYPE_DEFAULT
    1.18 + #define FPUTYPE_DEFAULT FPUTYPE_VFP
    1.19 + 
    1.20 ++/*
    1.21 ++ * 'config.gcc' defines TARGET_BIG_ENDIAN_DEFAULT as 1 for arm*b-*
    1.22 ++ * (big endian) configurations.
    1.23 ++ */
    1.24 ++#if TARGET_BIG_ENDIAN_DEFAULT
    1.25 ++#define TARGET_ENDIAN_DEFAULT MASK_BIG_END
    1.26 ++#else
    1.27 ++#define TARGET_ENDIAN_DEFAULT 0
    1.28 ++#endif
    1.29 ++
    1.30 + /* EABI targets should enable interworking by default.  */
    1.31 + #undef TARGET_DEFAULT
    1.32 +-#define TARGET_DEFAULT MASK_INTERWORK
    1.33 ++#define TARGET_DEFAULT (MASK_INTERWORK | TARGET_ENDIAN_DEFAULT)
    1.34 + 
    1.35 + /* The ARM BPABI functions return a boolean; they use no special
    1.36 +    calling convention.  */