# HG changeset patch # User "Yann E. MORIN" # Date 1231275933 0 # Node ID 8024ad97841b4d2c945b29ff5d4137d6671a11b9 # Parent 1fd2e11ccdd9f87efc7b346a7aa117344331cbd8 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(+) diff -r 1fd2e11ccdd9 -r 8024ad97841b patches/gcc/4.2.4/241-arm-bigendian2.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/gcc/4.2.4/241-arm-bigendian2.patch Tue Jan 06 21:05:33 2009 +0000 @@ -0,0 +1,33 @@ +Gilles Chanteperdrix wrote: + +I tried to use crosstool-ng to generate a toolchain for Linux on big +endian arm with recent versions of gcc, glibc, etc... but had a few +problems. + +It appears that the gcc patch (for gcc 4.2.x) +for big-endian arm (240-arm-bigendian.patch) lacks the change attached +to this mail as 240-arm-bigendian2.patch. + +--- gcc-4.2.4/gcc/config/arm/bpabi.h~ 2007-09-01 17:28:30.000000000 +0200 ++++ gcc-4.2.4/gcc/config/arm/bpabi.h 2009-01-05 19:19:10.000000000 +0100 +@@ -32,9 +32,19 @@ + #undef FPUTYPE_DEFAULT + #define FPUTYPE_DEFAULT FPUTYPE_VFP + ++/* ++ * 'config.gcc' defines TARGET_BIG_ENDIAN_DEFAULT as 1 for arm*b-* ++ * (big endian) configurations. ++ */ ++#if TARGET_BIG_ENDIAN_DEFAULT ++#define TARGET_ENDIAN_DEFAULT MASK_BIG_END ++#else ++#define TARGET_ENDIAN_DEFAULT 0 ++#endif ++ + /* EABI targets should enable interworking by default. */ + #undef TARGET_DEFAULT +-#define TARGET_DEFAULT MASK_INTERWORK ++#define TARGET_DEFAULT (MASK_INTERWORK | TARGET_ENDIAN_DEFAULT) + + /* The ARM BPABI functions return a boolean; they use no special + calling convention. */