# HG changeset patch # User "Yann E. MORIN" # Date 1211753432 0 # Node ID 81a582c81c13ab5f42a1e203c85577ec9d396c71 # Parent 0faef1ae3f09cabaf321f4f9ce096fedd414ede5 Fix building big-endian ARM EABI toolchains (build-tested only). Patch highly inspired by the one from OpenWRT (http://openwrt.org/) /trunk/patches/gcc/4.2.3/930-eabi_fixes.patch | 13 13 0 0 +++++++++++++ /trunk/scripts/build/cc_gcc.sh | 6 4 2 0 ++++-- 2 files changed, 17 insertions(+), 2 deletions(-) diff -r 0faef1ae3f09 -r 81a582c81c13 patches/gcc/4.2.3/930-eabi_fixes.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/gcc/4.2.3/930-eabi_fixes.patch Sun May 25 22:10:32 2008 +0000 @@ -0,0 +1,13 @@ +diff -durN gcc-4.2.3.orig/gcc/config/arm/linux-eabi.h gcc-4.2.3/gcc/config/arm/linux-eabi.h +--- gcc-4.2.3.orig/gcc/config/arm/linux-eabi.h 2007-09-01 17:28:30.000000000 +0200 ++++ gcc-4.2.3/gcc/config/arm/linux-eabi.h 2008-05-25 23:47:36.000000000 +0200 +@@ -47,7 +47,8 @@ + #define SUBTARGET_CPU_DEFAULT TARGET_CPU_arm10tdmi + + #undef SUBTARGET_EXTRA_LINK_SPEC +-#define SUBTARGET_EXTRA_LINK_SPEC " -m armelf_linux_eabi" ++#define SUBTARGET_EXTRA_LINK_SPEC \ ++ " %{mlittle-endian:-m armelf_linux_eabi} %{mbig-endian:-m armelfb_linux_eabi}" + + /* Use ld-linux.so.3 so that it will be possible to run "classic" + GNU/Linux binaries on an EABI system. */ diff -r 0faef1ae3f09 -r 81a582c81c13 scripts/build/cc_gcc.sh --- a/scripts/build/cc_gcc.sh Sat May 24 22:49:54 2008 +0000 +++ b/scripts/build/cc_gcc.sh Sun May 25 22:10:32 2008 +0000 @@ -224,12 +224,12 @@ extra_config="${extra_config} --disable-multilib" extra_config="${extra_config} ${CT_ARCH_WITH_ARCH} ${CT_ARCH_WITH_ABI} ${CT_ARCH_WITH_CPU} ${CT_ARCH_WITH_TUNE} ${CT_ARCH_WITH_FPU} ${CT_ARCH_WITH_FLOAT}" [ "${CT_SHARED_LIBS}" = "y" ] || extra_config="${extra_config} --disable-shared" + [ "${CT_CC_GCC_GMP_MPFR}" = "y" ] && extra_config="${extra_config} --with-gmp=${CT_PREFIX_DIR} --with-mpfr=${CT_PREFIX_DIR}" if [ "${CT_CC_CXA_ATEXIT}" = "y" ]; then extra_config="${extra_config} --enable-__cxa_atexit" else extra_config="${extra_config} --disable-__cxa_atexit" fi - [ "${CT_CC_GCC_GMP_MPFR}" = "y" ] && extra_config="${extra_config} --with-gmp=${CT_PREFIX_DIR} --with-mpfr=${CT_PREFIX_DIR}" CT_DoLog DEBUG "Extra config passed: '${extra_config}'" @@ -239,7 +239,9 @@ # embedded systems don't really need message catalogs... CC_FOR_BUILD="${CT_CC_NATIVE}" \ CFLAGS="${CT_CFLAGS_FOR_HOST}" \ - TARGET_CFLAGS="${CT_TARGET_CFLAGS}" \ + CFLAGS_FOR_TARGET="${CT_TARGET_CFLAGS}" \ + CXXFLAGS_FOR_TARGET="${CT_TARGET_CFLAGS}" \ + LDFLAGS_FOR_TARGET="${CT_TARGET_LDFLAGS}" \ "${CT_SRC_DIR}/${CT_CC_FILE}/configure" \ ${CT_CANADIAN_OPT} \ --target=${CT_TARGET} --host=${CT_HOST} \