summaryrefslogtreecommitdiff
path: root/packages/gcc/gcc-4.2.3/intermask-bigendian.patch
diff options
context:
space:
mode:
Diffstat (limited to 'packages/gcc/gcc-4.2.3/intermask-bigendian.patch')
-rw-r--r--packages/gcc/gcc-4.2.3/intermask-bigendian.patch24
1 files changed, 24 insertions, 0 deletions
diff --git a/packages/gcc/gcc-4.2.3/intermask-bigendian.patch b/packages/gcc/gcc-4.2.3/intermask-bigendian.patch
new file mode 100644
index 0000000000..fdff3d3d86
--- /dev/null
+++ b/packages/gcc/gcc-4.2.3/intermask-bigendian.patch
@@ -0,0 +1,24 @@
+--- gcc-4.2.0/gcc/config/arm/bpabi.h
++++ gcc-4.2.0/gcc/config/arm/bpabi.h
+@@ -33,9 +33,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. */
+