summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarc Kleine-Budde <mkl@pengutronix.de>2006-11-29 09:45:11 +0000
committerMarc Kleine-Budde <mkl@pengutronix.de>2006-11-29 09:45:11 +0000
commitaaad7d6d68be24cdfef5d9f9a529e53d3d10e5d1 (patch)
tree08f2ecedfbf6d9947de6dfe378e08d531675902a
parent3ff0e10b967faed9bedcb2e9fed23c08eff1ec71 (diff)
downloadOSELAS.Toolchain-aaad7d6d68be24cdfef5d9f9a529e53d3d10e5d1.tar.gz
OSELAS.Toolchain-aaad7d6d68be24cdfef5d9f9a529e53d3d10e5d1.tar.xz
* patches/gcc-4.1.1/generic/gcc-4.1.0-arm-bigendian.patch:
fixed bigendian eabi toolchains git-svn-id: https://svn.pengutronix.de/svn/oselas/toolchain/trunks/OSELAS.Toolchain-trunk@1380 f8d472c7-5700-0410-ac5a-87979cec3adf
-rw-r--r--patches/gcc-4.1.1/generic/gcc-4.1.0-arm-bigendian.patch43
1 files changed, 34 insertions, 9 deletions
diff --git a/patches/gcc-4.1.1/generic/gcc-4.1.0-arm-bigendian.patch b/patches/gcc-4.1.1/generic/gcc-4.1.0-arm-bigendian.patch
index 7579656..0a94174 100644
--- a/patches/gcc-4.1.1/generic/gcc-4.1.0-arm-bigendian.patch
+++ b/patches/gcc-4.1.1/generic/gcc-4.1.0-arm-bigendian.patch
@@ -3,10 +3,10 @@ Adds support for arm*b-linux* big-endian ARM targets
See http://gcc.gnu.org/PR16350
-Index: gcc/config/arm/linux-elf.h
+Index: gcc-4.1.1/gcc/config/arm/linux-elf.h
===================================================================
---- a/gcc/config/arm/linux-elf.h.orig
-+++ b/gcc/config/arm/linux-elf.h
+--- gcc-4.1.1.orig/gcc/config/arm/linux-elf.h
++++ gcc-4.1.1/gcc/config/arm/linux-elf.h
@@ -28,19 +28,33 @@
#undef TARGET_VERSION
#define TARGET_VERSION fputs (" (ARM GNU/Linux with ELF)", stderr);
@@ -53,10 +53,10 @@ Index: gcc/config/arm/linux-elf.h
SUBTARGET_EXTRA_LINK_SPEC
#undef LINK_SPEC
-Index: gcc/config.gcc
+Index: gcc-4.1.1/gcc/config.gcc
===================================================================
---- a/gcc/config.gcc.orig
-+++ b/gcc/config.gcc
+--- gcc-4.1.1.orig/gcc/config.gcc
++++ gcc-4.1.1/gcc/config.gcc
@@ -672,6 +672,11 @@ arm*-*-netbsd*)
;;
arm*-*-linux*) # ARM GNU/Linux with ELF
@@ -69,10 +69,10 @@ Index: gcc/config.gcc
tmake_file="${tmake_file} t-linux arm/t-arm"
case ${target} in
arm*-*-linux-gnueabi)
-Index: gcc/config/arm/linux-eabi.h
+Index: gcc-4.1.1/gcc/config/arm/linux-eabi.h
===================================================================
---- a/gcc/config/arm/linux-eabi.h.orig
-+++ b/gcc/config/arm/linux-eabi.h
+--- gcc-4.1.1.orig/gcc/config/arm/linux-eabi.h
++++ gcc-4.1.1/gcc/config/arm/linux-eabi.h
@@ -20,6 +20,17 @@
the Free Software Foundation, 51 Franklin Street, Fifth Floor,
Boston, MA 02110-1301, USA. */
@@ -100,3 +100,28 @@ Index: gcc/config/arm/linux-eabi.h
/* Use ld-linux.so.3 so that it will be possible to run "classic"
GNU/Linux binaries on an EABI system. */
+Index: gcc-4.1.1/gcc/config/arm/bpabi.h
+===================================================================
+--- gcc-4.1.1.orig/gcc/config/arm/bpabi.h
++++ gcc-4.1.1/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. */