diff options
Diffstat (limited to 'recipes/gcc/gcc-4.4.2/gcc-armv4-pass-fix-v4bx-to-ld.patch')
-rw-r--r-- | recipes/gcc/gcc-4.4.2/gcc-armv4-pass-fix-v4bx-to-ld.patch | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/recipes/gcc/gcc-4.4.2/gcc-armv4-pass-fix-v4bx-to-ld.patch b/recipes/gcc/gcc-4.4.2/gcc-armv4-pass-fix-v4bx-to-ld.patch new file mode 100644 index 0000000000..37670375e8 --- /dev/null +++ b/recipes/gcc/gcc-4.4.2/gcc-armv4-pass-fix-v4bx-to-ld.patch @@ -0,0 +1,28 @@ +The LINK_SPEC for linux gets overwritten by linux-eabi.h which +means the value of TARGET_FIX_V4BX_SPEC gets lost and as a result +the option is not passed to linker when chosing march=armv4 +This patch redefines this in linux-eabi.h and reinserts it +for eabi defaulting toolchains. + +We might want to send it upstream + +-Khem +Index: gcc-4.4.1/gcc/config/arm/linux-eabi.h +=================================================================== +--- gcc-4.4.1.orig/gcc/config/arm/linux-eabi.h 2009-10-09 12:25:06.142471730 -0700 ++++ gcc-4.4.1/gcc/config/arm/linux-eabi.h 2009-10-09 12:28:57.564946305 -0700 +@@ -63,10 +63,13 @@ + #undef GLIBC_DYNAMIC_LINKER + #define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.3" + ++#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 ++#define LINK_SPEC LINUX_TARGET_LINK_SPEC TARGET_FIX_V4BX_SPEC + + /* Use the default LIBGCC_SPEC, not the version in linux-elf.h, as we + do not use -lfloat. */ |