From 832d6ba314617debfb838569e97c78d9f0a5a41e Mon Sep 17 00:00:00 2001 From: "Yann E. MORIN\"" Date: Sun, 25 May 2008 22:10:32 +0000 Subject: 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 --git a/patches/gcc/4.2.3/930-eabi_fixes.patch b/patches/gcc/4.2.3/930-eabi_fixes.patch new file mode 100644 index 0000000..7dce608 --- /dev/null +++ b/patches/gcc/4.2.3/930-eabi_fixes.patch @@ -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 --git a/scripts/build/cc_gcc.sh b/scripts/build/cc_gcc.sh index fa74b14..5a6b148 100644 --- a/scripts/build/cc_gcc.sh +++ b/scripts/build/cc_gcc.sh @@ -224,12 +224,12 @@ do_cc() { 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 @@ do_cc() { # 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} \ -- cgit v0.10.2-6-g49f6