summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--patches/gcc/4.2.3/930-eabi_fixes.patch13
-rw-r--r--scripts/build/cc_gcc.sh6
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} \