From 05621d33d4a93e9f0fdfe52d8a1ec619ac61a2af Mon Sep 17 00:00:00 2001 From: Joachim Nilsson Date: Wed, 6 Jan 2010 15:04:38 +0100 Subject: cc/gcc: add patch to fix armeb in gcc-4.4 On x86, gcc-4.4.x breaks when building for target armeb. It is still required to configure with: --disable-shared Note: if building on an x86_64, there is no need to pass --disable-shared diff --git a/patches/gcc/4.4.0/360-arm-bigendian.patch b/patches/gcc/4.4.0/360-arm-bigendian.patch new file mode 100644 index 0000000..f0f10aa --- /dev/null +++ b/patches/gcc/4.4.0/360-arm-bigendian.patch @@ -0,0 +1,32 @@ +By Lennert Buytenhek +Adds support for arm*b-linux* big-endian ARM targets + +See http://gcc.gnu.org/PR16350 + +--- gcc-4.4.2.orig/gcc/config/arm/linux-elf.h 2009-02-20 16:20:38.000000000 +0100 ++++ gcc-4.4.2/gcc/config/arm/linux-elf.h 2009-12-31 14:19:20.000000000 +0100 +@@ -51,7 +51,7 @@ + + #undef MULTILIB_DEFAULTS + #define MULTILIB_DEFAULTS \ +- { "marm", "mlittle-endian", "mhard-float", "mno-thumb-interwork" } ++ { "marm", TARGET_ENDIAN_OPTION, "mhard-float", "mno-thumb-interwork" } + + /* Now we define the strings used to build the spec file. */ + #undef LIB_SPEC +diff -ru gcc-4.4.2.orig/gcc/config.gcc gcc-4.4.2/gcc/config.gcc +--- gcc-4.4.2.orig/gcc/config.gcc 2009-12-31 14:43:17.000000000 +0100 ++++ gcc-4.4.2/gcc/config.gcc 2010-01-05 09:27:42.000000000 +0100 +@@ -733,6 +733,11 @@ + tm_file="dbxelf.h elfos.h arm/unknown-elf.h arm/elf.h arm/linux-gas.h arm/uclinux-elf.h" + tmake_file="arm/t-arm arm/t-arm-elf" + case ${target} in ++ arm*b-*) ++ tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=1" ++ ;; ++ esac ++ case ${target} in + arm*-*-uclinux*eabi) + tm_file="$tm_file arm/bpabi.h arm/uclinux-eabi.h" + tmake_file="$tmake_file arm/t-bpabi" + diff --git a/patches/gcc/4.4.1/360-arm-bigendian.patch b/patches/gcc/4.4.1/360-arm-bigendian.patch new file mode 100644 index 0000000..f0f10aa --- /dev/null +++ b/patches/gcc/4.4.1/360-arm-bigendian.patch @@ -0,0 +1,32 @@ +By Lennert Buytenhek +Adds support for arm*b-linux* big-endian ARM targets + +See http://gcc.gnu.org/PR16350 + +--- gcc-4.4.2.orig/gcc/config/arm/linux-elf.h 2009-02-20 16:20:38.000000000 +0100 ++++ gcc-4.4.2/gcc/config/arm/linux-elf.h 2009-12-31 14:19:20.000000000 +0100 +@@ -51,7 +51,7 @@ + + #undef MULTILIB_DEFAULTS + #define MULTILIB_DEFAULTS \ +- { "marm", "mlittle-endian", "mhard-float", "mno-thumb-interwork" } ++ { "marm", TARGET_ENDIAN_OPTION, "mhard-float", "mno-thumb-interwork" } + + /* Now we define the strings used to build the spec file. */ + #undef LIB_SPEC +diff -ru gcc-4.4.2.orig/gcc/config.gcc gcc-4.4.2/gcc/config.gcc +--- gcc-4.4.2.orig/gcc/config.gcc 2009-12-31 14:43:17.000000000 +0100 ++++ gcc-4.4.2/gcc/config.gcc 2010-01-05 09:27:42.000000000 +0100 +@@ -733,6 +733,11 @@ + tm_file="dbxelf.h elfos.h arm/unknown-elf.h arm/elf.h arm/linux-gas.h arm/uclinux-elf.h" + tmake_file="arm/t-arm arm/t-arm-elf" + case ${target} in ++ arm*b-*) ++ tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=1" ++ ;; ++ esac ++ case ${target} in + arm*-*-uclinux*eabi) + tm_file="$tm_file arm/bpabi.h arm/uclinux-eabi.h" + tmake_file="$tmake_file arm/t-bpabi" + diff --git a/patches/gcc/4.4.2/360-arm-bigendian.patch b/patches/gcc/4.4.2/360-arm-bigendian.patch new file mode 100644 index 0000000..f0f10aa --- /dev/null +++ b/patches/gcc/4.4.2/360-arm-bigendian.patch @@ -0,0 +1,32 @@ +By Lennert Buytenhek +Adds support for arm*b-linux* big-endian ARM targets + +See http://gcc.gnu.org/PR16350 + +--- gcc-4.4.2.orig/gcc/config/arm/linux-elf.h 2009-02-20 16:20:38.000000000 +0100 ++++ gcc-4.4.2/gcc/config/arm/linux-elf.h 2009-12-31 14:19:20.000000000 +0100 +@@ -51,7 +51,7 @@ + + #undef MULTILIB_DEFAULTS + #define MULTILIB_DEFAULTS \ +- { "marm", "mlittle-endian", "mhard-float", "mno-thumb-interwork" } ++ { "marm", TARGET_ENDIAN_OPTION, "mhard-float", "mno-thumb-interwork" } + + /* Now we define the strings used to build the spec file. */ + #undef LIB_SPEC +diff -ru gcc-4.4.2.orig/gcc/config.gcc gcc-4.4.2/gcc/config.gcc +--- gcc-4.4.2.orig/gcc/config.gcc 2009-12-31 14:43:17.000000000 +0100 ++++ gcc-4.4.2/gcc/config.gcc 2010-01-05 09:27:42.000000000 +0100 +@@ -733,6 +733,11 @@ + tm_file="dbxelf.h elfos.h arm/unknown-elf.h arm/elf.h arm/linux-gas.h arm/uclinux-elf.h" + tmake_file="arm/t-arm arm/t-arm-elf" + case ${target} in ++ arm*b-*) ++ tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=1" ++ ;; ++ esac ++ case ${target} in + arm*-*-uclinux*eabi) + tm_file="$tm_file arm/bpabi.h arm/uclinux-eabi.h" + tmake_file="$tmake_file arm/t-bpabi" + -- cgit v0.10.2-6-g49f6