From aaad7d6d68be24cdfef5d9f9a529e53d3d10e5d1 Mon Sep 17 00:00:00 2001 From: Marc Kleine-Budde Date: Wed, 29 Nov 2006 09:45:11 +0000 Subject: * 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 --- .../generic/gcc-4.1.0-arm-bigendian.patch | 43 +++++++++++++++++----- 1 file 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. */ -- cgit v1.2.3