From 01cfae1252f4f67b15e292ffbb9c4d160d9b271a Mon Sep 17 00:00:00 2001 From: Imre Kaloz Date: Wed, 2 Feb 2011 19:34:36 +0000 Subject: [toolchain/gcc/linaro]: add armv4 fixup patches git-svn-id: svn://svn.openwrt.org/openwrt/trunk@25322 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- .../gcc/patches/4.5.1+l/830-arm_unbreak_armv4t.patch | 14 ++++++++++++++ .../4.5.1+l/840-armv4_pass_fix-v4bx_to_ld.patch | 18 ++++++++++++++++++ 2 files changed, 32 insertions(+) create mode 100644 toolchain/gcc/patches/4.5.1+l/830-arm_unbreak_armv4t.patch create mode 100644 toolchain/gcc/patches/4.5.1+l/840-armv4_pass_fix-v4bx_to_ld.patch (limited to 'toolchain') diff --git a/toolchain/gcc/patches/4.5.1+l/830-arm_unbreak_armv4t.patch b/toolchain/gcc/patches/4.5.1+l/830-arm_unbreak_armv4t.patch new file mode 100644 index 0000000000..8651afcd86 --- /dev/null +++ b/toolchain/gcc/patches/4.5.1+l/830-arm_unbreak_armv4t.patch @@ -0,0 +1,14 @@ +http://sourceware.org/ml/crossgcc/2008-05/msg00009.html + +diff -Nura gcc-4.5.1.orig/gcc/config/arm/linux-eabi.h gcc-4.5.1/gcc/config/arm/linux-eabi.h +--- gcc-4.5.1.orig/gcc/config/arm/linux-eabi.h 2009-10-30 17:03:09.000000000 -0300 ++++ gcc-4.5.1/gcc/config/arm/linux-eabi.h 2010-11-02 15:38:25.792208500 -0300 +@@ -44,7 +44,7 @@ + The ARM10TDMI core is the default for armv5t, so set + SUBTARGET_CPU_DEFAULT to achieve this. */ + #undef SUBTARGET_CPU_DEFAULT +-#define SUBTARGET_CPU_DEFAULT TARGET_CPU_arm10tdmi ++#define SUBTARGET_CPU_DEFAULT TARGET_CPU_arm9tdmi + + /* TARGET_BIG_ENDIAN_DEFAULT is set in + config.gcc for big endian configurations. */ diff --git a/toolchain/gcc/patches/4.5.1+l/840-armv4_pass_fix-v4bx_to_ld.patch b/toolchain/gcc/patches/4.5.1+l/840-armv4_pass_fix-v4bx_to_ld.patch new file mode 100644 index 0000000000..403354fd80 --- /dev/null +++ b/toolchain/gcc/patches/4.5.1+l/840-armv4_pass_fix-v4bx_to_ld.patch @@ -0,0 +1,18 @@ +--- a/gcc/config/arm/linux-eabi.h ++++ b/gcc/config/arm/linux-eabi.h +@@ -63,10 +63,14 @@ + #undef GLIBC_DYNAMIC_LINKER + #define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.3" + ++/* For armv4 we pass --fix-v4bx to linker to support EABI */ ++#undef TARGET_FIX_V4BX_SPEC ++#define TARGET_FIX_V4BX_SPEC " %{mcpu=arm8|mcpu=arm810|mcpu=strongarm*|march=armv4:--fix-v4bx}" ++ + /* At this point, bpabi.h will have clobbered LINK_SPEC. We want to + use the GNU/Linux version, not the generic BPABI version. */ + #undef LINK_SPEC +-#define LINK_SPEC LINUX_TARGET_LINK_SPEC BE8_LINK_SPEC ++#define LINK_SPEC LINUX_TARGET_LINK_SPEC BE8_LINK_SPEC TARGET_FIX_V4BX_SPEC + + /* Use the default LIBGCC_SPEC, not the version in linux-elf.h, as we + do not use -lfloat. */ -- cgit v1.2.3